Merge remote-tracking branch 'origin/develop'

This commit is contained in:
nobody 2023-01-05 18:56:59 +01:00
commit 1ab265f08f
No known key found for this signature in database
GPG Key ID: 8F6DE3D614FCFD7A
116 changed files with 896 additions and 12479 deletions

View File

@ -136,7 +136,7 @@ https://cdn.embed.ly/player-0.1.0.min.js
https://cdnjs.cloudflare.com/ajax/libs/1000hz-bootstrap-validator/0.11.9/validator.min.js
https://cdnjs.cloudflare.com/ajax/libs/ajax-bootstrap-select/1.4.5/js/ajax-bootstrap-select.min.js
https://cdnjs.cloudflare.com/ajax/libs/algoliasearch/3.35.1/algoliasearch.min.js
https://cdnjs.cloudflare.com/ajax/libs/algoliasearch/4.14.2/algoliasearch.umd.min.js
https://cdnjs.cloudflare.com/ajax/libs/algoliasearch/4.14.3/algoliasearch.umd.min.js
https://cdnjs.cloudflare.com/ajax/libs/alpinejs/2.8.2/alpine.js
https://cdnjs.cloudflare.com/ajax/libs/alpinejs/3.10.5/cdn.min.js
https://cdnjs.cloudflare.com/ajax/libs/angucomplete-alt/3.0.0/angucomplete-alt.min.js
@ -184,7 +184,7 @@ https://cdnjs.cloudflare.com/ajax/libs/asciinema-player/2.6.1/asciinema-player.m
https://cdnjs.cloudflare.com/ajax/libs/asciinema-player/2.6.1/asciinema-player.min.js
https://cdnjs.cloudflare.com/ajax/libs/autocomplete.js/0.38.1/autocomplete.min.js
https://cdnjs.cloudflare.com/ajax/libs/axios/0.27.2/axios.min.js
https://cdnjs.cloudflare.com/ajax/libs/axios/1.2.1/axios.min.js
https://cdnjs.cloudflare.com/ajax/libs/axios/1.2.2/axios.min.js
https://cdnjs.cloudflare.com/ajax/libs/backbone.js/0.9.10/backbone-min.js
https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.4.1/backbone-min.js
https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.11.1/baguetteBox.min.css
@ -192,7 +192,7 @@ https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.11.1/baguetteBox.min.js
https://cdnjs.cloudflare.com/ajax/libs/blazy/1.8.2/blazy.min.js
https://cdnjs.cloudflare.com/ajax/libs/bluebird/3.7.2/bluebird.min.js
https://cdnjs.cloudflare.com/ajax/libs/bodymovin/4.13.0/bodymovin.min.js
https://cdnjs.cloudflare.com/ajax/libs/bodymovin/5.10.0/lottie.min.js
https://cdnjs.cloudflare.com/ajax/libs/bodymovin/5.10.1/lottie.min.js
https://cdnjs.cloudflare.com/ajax/libs/bootbox.js/4.4.0/bootbox.min.js
https://cdnjs.cloudflare.com/ajax/libs/bootbox.js/5.5.3/bootbox.min.js
https://cdnjs.cloudflare.com/ajax/libs/bootbox.js/6.0.0/bootbox.min.js
@ -285,8 +285,8 @@ https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/locales/bootst
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/locales/bootstrap-datepicker.zh-TW.min.js
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-daterangepicker/2.1.27/daterangepicker.min.js
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-daterangepicker/3.1/daterangepicker.min.js
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-icons/1.10.2/font/bootstrap-icons.min.css
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-icons/1.10.2/font/fonts/bootstrap-icons.woff
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-icons/1.10.3/font/bootstrap-icons.min.css
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-icons/1.10.3/font/fonts/bootstrap-icons.woff
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.16/js/bootstrap-multiselect.min.js
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/1.1.2/js/bootstrap-multiselect.min.js
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.13.18/css/bootstrap-select.min.css
@ -295,8 +295,8 @@ https://cdnjs.cloudflare.com/ajax/libs/bootstrap-slider/10.6.2/bootstrap-slider.
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-slider/10.6.2/css/bootstrap-slider.min.css
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-slider/11.0.2/bootstrap-slider.min.js
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-slider/11.0.2/css/bootstrap-slider.min.css
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.21.1/bootstrap-table.min.css
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.21.1/bootstrap-table.min.js
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.21.2/bootstrap-table.min.css
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.21.2/bootstrap-table.min.js
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-toggle/2.2.2/css/bootstrap2-toggle.min.css
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-toggle/2.2.2/css/bootstrap-toggle.min.css
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-toggle/2.2.2/js/bootstrap2-toggle.min.js
@ -305,7 +305,7 @@ https://cdnjs.cloudflare.com/ajax/libs/bootstrap-vue/2.23.1/bootstrap-vue.min.cs
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-vue/2.23.1/bootstrap-vue.min.js
https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.4.0/flatly/bootstrap.min.css
https://cdnjs.cloudflare.com/ajax/libs/bootswatch/4.6.1/flatly/bootstrap.min.css
https://cdnjs.cloudflare.com/ajax/libs/bootswatch/5.2.2/flatly/bootstrap.min.css
https://cdnjs.cloudflare.com/ajax/libs/bootswatch/5.2.3/flatly/bootstrap.min.css
https://cdnjs.cloudflare.com/ajax/libs/bowser/1.9.4/bowser.min.js
https://cdnjs.cloudflare.com/ajax/libs/bowser/2.11.0/bundled.min.js
https://cdnjs.cloudflare.com/ajax/libs/bulma/0.9.4/css/bulma.min.css
@ -314,7 +314,7 @@ https://cdnjs.cloudflare.com/ajax/libs/bxslider/4.2.15/jquery.bxslider.min.js
https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.4/Chart.bundle.min.js
https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.4/Chart.min.css
https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.9.1/chart.min.js
https://cdnjs.cloudflare.com/ajax/libs/Chart.js/4.0.1/chart.min.js
https://cdnjs.cloudflare.com/ajax/libs/Chart.js/4.1.1/chart.min.js
https://cdnjs.cloudflare.com/ajax/libs/chosen/1.8.7/chosen.jquery.min.js
https://cdnjs.cloudflare.com/ajax/libs/clappr/0.4.7/clappr.min.js
https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js
@ -326,7 +326,7 @@ https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.min.js
https://cdnjs.cloudflare.com/ajax/libs/d3/4.13.0/d3.min.js
https://cdnjs.cloudflare.com/ajax/libs/d3/5.16.0/d3.min.js
https://cdnjs.cloudflare.com/ajax/libs/d3/6.7.0/d3.min.js
https://cdnjs.cloudflare.com/ajax/libs/d3/7.7.0/d3.min.js
https://cdnjs.cloudflare.com/ajax/libs/d3/7.8.0/d3.min.js
https://cdnjs.cloudflare.com/ajax/libs/d3-legend/2.25.6/d3-legend.min.js
https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.11.7/dayjs.min.js
https://cdnjs.cloudflare.com/ajax/libs/dexie/3.2.2/dexie.min.js
@ -336,7 +336,7 @@ https://cdnjs.cloudflare.com/ajax/libs/docsify/4.13.0/docsify.min.js
https://cdnjs.cloudflare.com/ajax/libs/drawer/3.2.2/css/drawer.min.css
https://cdnjs.cloudflare.com/ajax/libs/drawer/3.2.2/js/drawer.min.js
https://cdnjs.cloudflare.com/ajax/libs/dygraph/1.1.1/dygraph-combined.js
https://cdnjs.cloudflare.com/ajax/libs/dygraph/2.1.0/dygraph.min.js
https://cdnjs.cloudflare.com/ajax/libs/dygraph/2.1.2/dygraph.min.js
https://cdnjs.cloudflare.com/ajax/libs/element-ui/2.15.12/index.min.js
https://cdnjs.cloudflare.com/ajax/libs/element-ui/2.15.12/locale/af-ZA.min.js
https://cdnjs.cloudflare.com/ajax/libs/element-ui/2.15.12/locale/ar.min.js
@ -470,16 +470,16 @@ https://cdnjs.cloudflare.com/ajax/libs/gsap/2.1.3/TimelineMax.min.js
https://cdnjs.cloudflare.com/ajax/libs/gsap/2.1.3/TweenLite.min.js
https://cdnjs.cloudflare.com/ajax/libs/gsap/2.1.3/TweenMax.min.js
https://cdnjs.cloudflare.com/ajax/libs/gsap/2.1.3/utils/Draggable.min.js
https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.3/CSSRulePlugin.min.js
https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.3/Draggable.min.js
https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.3/EaselPlugin.min.js
https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.3/EasePack.min.js
https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.3/gsap.min.js
https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.3/MotionPathPlugin.min.js
https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.3/PixiPlugin.min.js
https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.3/ScrollToPlugin.min.js
https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.3/ScrollTrigger.min.js
https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.3/TextPlugin.min.js
https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.4/CSSRulePlugin.min.js
https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.4/Draggable.min.js
https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.4/EaselPlugin.min.js
https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.4/EasePack.min.js
https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.4/gsap.min.js
https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.4/MotionPathPlugin.min.js
https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.4/PixiPlugin.min.js
https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.4/ScrollToPlugin.min.js
https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.4/ScrollTrigger.min.js
https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.4/TextPlugin.min.js
https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.7.3/highlight.min.js
https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.7.3/languages/1c.min.js
https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.7.3/languages/abnf.min.js
@ -1162,7 +1162,7 @@ https://cdnjs.cloudflare.com/ajax/libs/hls.js/0.14.17/hls.min.js
https://cdnjs.cloudflare.com/ajax/libs/hls.js/1.2.9/hls.min.js
https://cdnjs.cloudflare.com/ajax/libs/hogan.js/3.0.2/hogan.min.js
https://cdnjs.cloudflare.com/ajax/libs/instantsearch.js/3.7.0/instantsearch.production.min.js
https://cdnjs.cloudflare.com/ajax/libs/instantsearch.js/4.49.1/instantsearch.production.min.js
https://cdnjs.cloudflare.com/ajax/libs/instantsearch.js/4.49.3/instantsearch.production.min.js
https://cdnjs.cloudflare.com/ajax/libs/iScroll/5.2.0/iscroll.min.js
https://cdnjs.cloudflare.com/ajax/libs/izimodal/1.6.1/js/iziModal.min.js
https://cdnjs.cloudflare.com/ajax/libs/jasny-bootstrap/3.1.3/css/jasny-bootstrap.min.css
@ -1181,7 +1181,7 @@ https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js
https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js
https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js
https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js
https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js
https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.3/jquery.min.js
https://cdnjs.cloudflare.com/ajax/libs/jquery-ajax-unobtrusive/3.2.6/jquery.unobtrusive-ajax.min.js
https://cdnjs.cloudflare.com/ajax/libs/jquery.blockUI/2.70/jquery.blockUI.min.js
https://cdnjs.cloudflare.com/ajax/libs/jquery.colorbox/1.6.4/jquery.colorbox-min.js
@ -1368,8 +1368,8 @@ https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/4.4.0/mdb.min.css
https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/4.4.0/mdb.min.js
https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/5.0.0/mdb.min.css
https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/5.0.0/mdb.min.js
https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/6.0.1/mdb.min.css
https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/6.0.1/mdb.min.js
https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/6.1.0/mdb.min.css
https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/6.1.0/mdb.min.js
https://cdnjs.cloudflare.com/ajax/libs/Modaal/0.4.4/css/modaal.min.css
https://cdnjs.cloudflare.com/ajax/libs/Modaal/0.4.4/js/modaal.min.js
https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.8.3/modernizr.min.js
@ -1379,6 +1379,8 @@ https://cdnjs.cloudflare.com/ajax/libs/mootools/1.4.5/mootools-core-full-compat-
https://cdnjs.cloudflare.com/ajax/libs/mootools/1.6.0/mootools-core.min.js
https://cdnjs.cloudflare.com/ajax/libs/noUiSlider/14.7.0/nouislider.min.js
https://cdnjs.cloudflare.com/ajax/libs/noUiSlider/15.6.1/nouislider.min.js
https://cdnjs.cloudflare.com/ajax/libs/nprogress/0.2.0/nprogress.min.css
https://cdnjs.cloudflare.com/ajax/libs/nprogress/0.2.0/nprogress.min.js
https://cdnjs.cloudflare.com/ajax/libs/nvd3/1.8.6/nv.d3.min.css
https://cdnjs.cloudflare.com/ajax/libs/nvd3/1.8.6/nv.d3.min.js
https://cdnjs.cloudflare.com/ajax/libs/oclazyload/1.1.0/ocLazyLoad.min.js
@ -1395,8 +1397,8 @@ https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.10.2/p5.min.js
https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/addons/p5.sound.min.js
https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.min.js
https://cdnjs.cloudflare.com/ajax/libs/page.js/1.11.6/page.js
https://cdnjs.cloudflare.com/ajax/libs/paginationjs/2.4.1/pagination.css
https://cdnjs.cloudflare.com/ajax/libs/paginationjs/2.4.1/pagination.min.js
https://cdnjs.cloudflare.com/ajax/libs/paginationjs/2.5.0/pagination.css
https://cdnjs.cloudflare.com/ajax/libs/paginationjs/2.5.0/pagination.min.js
https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.1/umd/popper.min.js
https://cdnjs.cloudflare.com/ajax/libs/popper.js/2.11.6/umd/popper.min.js
https://cdnjs.cloudflare.com/ajax/libs/prop-types/15.8.1/prop-types.min.js
@ -1489,12 +1491,16 @@ https://cdnjs.cloudflare.com/ajax/libs/react-dom/18.2.0/umd/react-dom.production
https://cdnjs.cloudflare.com/ajax/libs/react-redux/7.2.8/react-redux.min.js
https://cdnjs.cloudflare.com/ajax/libs/react-redux/8.0.5/react-redux.min.js
https://cdnjs.cloudflare.com/ajax/libs/react-router/5.3.3/react-router.min.js
https://cdnjs.cloudflare.com/ajax/libs/react-router/6.4.5/react-router.production.min.js
https://cdnjs.cloudflare.com/ajax/libs/react-router/6.6.1/react-router.production.min.js
https://cdnjs.cloudflare.com/ajax/libs/redux/4.2.0/redux.min.js
https://cdnjs.cloudflare.com/ajax/libs/rickshaw/1.7.1/rickshaw.min.css
https://cdnjs.cloudflare.com/ajax/libs/rickshaw/1.7.1/rickshaw.min.js
https://cdnjs.cloudflare.com/ajax/libs/scriptaculous/1.9.0/scriptaculous.js
https://cdnjs.cloudflare.com/ajax/libs/script.js/2.5.9/script.min.js
https://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.8/plugins/animation.gsap.min.js
https://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.8/plugins/animation.velocity.min.js
https://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.8/plugins/jquery.ScrollMagic.min.js
https://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.8/ScrollMagic.min.js
https://cdnjs.cloudflare.com/ajax/libs/select2/3.5.4/select2-bootstrap.min.css
https://cdnjs.cloudflare.com/ajax/libs/select2/3.5.4/select2_locale_ar.min.js
https://cdnjs.cloudflare.com/ajax/libs/select2/3.5.4/select2_locale_az.min.js
@ -1696,7 +1702,7 @@ https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick.min.js
https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick-theme.min.css
https://cdnjs.cloudflare.com/ajax/libs/slick-lightbox/0.2.12/slick-lightbox.css
https://cdnjs.cloudflare.com/ajax/libs/slick-lightbox/0.2.12/slick-lightbox.min.js
https://cdnjs.cloudflare.com/ajax/libs/slider-pro/1.6.0/js/jquery.sliderPro.min.js
https://cdnjs.cloudflare.com/ajax/libs/slider-pro/1.6.1/js/jquery.sliderPro.min.js
https://cdnjs.cloudflare.com/ajax/libs/snowplow/2.18.2/sp.min.js
https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.4.0/socket.io.min.js
https://cdnjs.cloudflare.com/ajax/libs/socket.io/3.1.3/socket.io.min.js
@ -1717,6 +1723,7 @@ https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.5.1/css/swiper.min.css
https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.5.1/js/swiper.min.js
https://cdnjs.cloudflare.com/ajax/libs/Swiper/5.4.5/css/swiper.min.css
https://cdnjs.cloudflare.com/ajax/libs/Swiper/5.4.5/js/swiper.min.js
https://cdnjs.cloudflare.com/ajax/libs/tensorflow/4.2.0/tf.min.js
https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.7/js/tether.min.js
https://cdnjs.cloudflare.com/ajax/libs/tinymce/5.10.5/icons/default/icons.min.js
https://cdnjs.cloudflare.com/ajax/libs/tinymce/5.10.5/jquery.tinymce.min.js
@ -1776,6 +1783,8 @@ https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.
https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css
https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/fonts/glyphicons-halflings-regular.woff2
https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js
https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/css/bootstrap.min.css
https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/js/bootstrap.bundle.min.js
https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.1/css/bootstrap.min.css
https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.1/js/bootstrap.bundle.min.js
https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.2.3/css/bootstrap.min.css
@ -1783,6 +1792,7 @@ https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.2.3/js/bootstrap.bund
https://cdnjs.cloudflare.com/ajax/libs/twix.js/0.3.0/twix.min.js
https://cdnjs.cloudflare.com/ajax/libs/twix.js/1.3.0/twix.min.js
https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.13.6/underscore-min.js
https://cdnjs.cloudflare.com/ajax/libs/URI.js/1.19.11/URI.min.js
https://cdnjs.cloudflare.com/ajax/libs/urlive/1.1.1/jquery.urlive.min.js
https://cdnjs.cloudflare.com/ajax/libs/vex-js/3.1.1/css/vex.min.css
https://cdnjs.cloudflare.com/ajax/libs/vex-js/3.1.1/css/vex-theme-bottom-right-corner.min.css
@ -1815,6 +1825,8 @@ https://cdnjs.cloudflare.com/ajax/libs/video.js/8.0.2/video.min.js
https://cdnjs.cloudflare.com/ajax/libs/vue/3.2.45/vue.global.prod.js
https://cdnjs.cloudflare.com/ajax/libs/vue-i18n/8.27.2/vue-i18n.min.js
https://cdnjs.cloudflare.com/ajax/libs/vue-i18n/9.2.2/vue-i18n.cjs.min.js
https://cdnjs.cloudflare.com/ajax/libs/vue-router/3.6.5/vue-router.min.js
https://cdnjs.cloudflare.com/ajax/libs/vue-router/4.1.6/vue-router.global.min.js
https://cdnjs.cloudflare.com/ajax/libs/vuex/3.6.2/vuex.min.js
https://cdnjs.cloudflare.com/ajax/libs/vuex/4.1.0/vuex.cjs.min.js
https://cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/jquery.waypoints.min.js
@ -1842,43 +1854,12 @@ https://cdn.jsdelivr.net/npm/docsify-themeable@0.9.0/dist/css/theme-defaults.css
https://cdn.jsdelivr.net/npm/docsify-themeable@0.9.0/dist/css/theme-simple.css
https://cdn.jsdelivr.net/npm/docsify-themeable@0.9.0/dist/css/theme-simple-dark.css
https://cdn.jsdelivr.net/npm/ethjs@0.4.0/dist/ethjs.min.js
https://cdn.jsdelivr.net/npm/@findify/bundle@6.17.0/dist/autocomplete.js
https://cdn.jsdelivr.net/npm/@findify/bundle@6.17.0/dist/bundle.js
https://cdn.jsdelivr.net/npm/@findify/bundle@6.17.0/dist/initializer.js
https://cdn.jsdelivr.net/npm/@findify/bundle@6.17.0/dist/polyfill.js
https://cdn.jsdelivr.net/npm/@findify/bundle@6.17.0/dist/raw.css
https://cdn.jsdelivr.net/npm/@findify/bundle@6.17.0/dist/recommendation.js
https://cdn.jsdelivr.net/npm/@findify/bundle@6.17.0/dist/search.js
https://cdn.jsdelivr.net/npm/@findify/bundle@6.17.0/dist/sentry.js
https://cdn.jsdelivr.net/npm/@findify/bundle@6.17.0/dist/styles.css
https://cdn.jsdelivr.net/npm/@findify/bundle@6.17.0/dist/vendors.js
https://cdn.jsdelivr.net/npm/@findify/bundle@6.9.15/dist/bundle.js
https://cdn.jsdelivr.net/npm/@findify/bundle@6.9.15/dist/components.js
https://cdn.jsdelivr.net/npm/@findify/bundle@6.9.15/dist/config.js
https://cdn.jsdelivr.net/npm/@findify/bundle@6.9.15/dist/initializer.js
https://cdn.jsdelivr.net/npm/@findify/bundle@6.9.15/dist/polyfill.js
https://cdn.jsdelivr.net/npm/@findify/bundle@6.9.15/dist/raw.css
https://cdn.jsdelivr.net/npm/@findify/bundle@6.9.15/dist/styles.css
https://cdn.jsdelivr.net/npm/@findify/bundle@6.9.15/dist/vendors~components~initializer.js
https://cdn.jsdelivr.net/npm/@findify/bundle@6.9.15/dist/vendors~initializer.js
https://cdn.jsdelivr.net/npm/@findify/bundle@6.9.15/dist/vendors~sentry.js
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.77/dist/autocomplete.js
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.77/dist/bundle.js
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.77/dist/initializer.js
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.77/dist/polyfill.js
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.77/dist/raw.css
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.77/dist/recommendation.js
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.77/dist/search.js
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.77/dist/sentry.js
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.77/dist/styles.css
https://cdn.jsdelivr.net/npm/instantsearch.css@7.4.5/themes/algolia-min.css
https://cdn.jsdelivr.net/npm/instantsearch.css@8.0.0/themes/algolia-min.css
https://cdn.jsdelivr.net/npm/in-view@0.6.1/dist/in-view.min.js
https://cdn.jsdelivr.net/npm/leaflet.featuregroup.subgroup@1.0.2/dist/leaflet.featuregroup.subgroup.js
https://cdn.jsdelivr.net/npm/ngx-bootstrap@10.0.0/datepicker/bs-datepicker.css
https://cdn.jsdelivr.net/npm/ngx-bootstrap@10.2.0/datepicker/bs-datepicker.css
https://cdn.jsdelivr.net/npm/ngx-bootstrap@6.2.0/datepicker/bs-datepicker.css
https://cdn.jsdelivr.net/npm/ngx-bootstrap@7.1.2/datepicker/bs-datepicker.css
https://cdn.jsdelivr.net/npm/ngx-bootstrap@8.0.0/datepicker/bs-datepicker.css
https://cdn.jsdelivr.net/npm/ngx-bootstrap@9.0.0/datepicker/bs-datepicker.css
https://cdn.jsdelivr.net/npm/object-assign@4.1.1/index.js
https://cdn.jsdelivr.net/npm/p2p-media-loader-core@0.6.2/build/p2p-media-loader-core.min.js
https://cdn.jsdelivr.net/npm/p2p-media-loader-hlsjs@0.6.2/build/p2p-media-loader-hlsjs.min.js

View File

@ -284,7 +284,7 @@
"description": "Some websites look strange or are not easy to use"
},
"helpBlockGoogleFontsTitle": {
"message": "",
"message": "Miért van »Google Betűtipusok blokkolása « opció?",
"description": "Why is there a »Block Google Fonts« option?"
},
"helpStatisticsTitle": {
@ -292,7 +292,7 @@
"description": "What about the statistics? Is anything transferred to any servers?"
},
"helpWhatWillBeSynchronizedTitle": {
"message": "",
"message": "Mi fog szinkronizálódni amikor be kapcsolom a »szinkronizál« opciót mint lokális tárhely?",
"description": "What will be synchronized when I select »sync« as storage type?"
},
"helpBrowserCompatibilityTitle": {
@ -308,11 +308,11 @@
"description": "Testing utility"
},
"helpLinkTutorial": {
"message": "",
"message": "Bemutató",
"description": "Tutorial"
},
"helpLinkWikiPages": {
"message": "",
"message": "Wiki oldalak",
"description": "Wiki pages"
},
"helpHtmlFilterDescription": {
@ -320,11 +320,11 @@
"description": "In most cases LocalCDN can easily replace embedded frameworks and improves privacy. In some cases the website may try to prevent this by setting certain options in the HTML source code. LocalCDN reads the HTML source code before it is displayed in the browser and removes these part (red)."
},
"helpHtmlFilterBefore": {
"message": "",
"message": "A HTML filter ami letörli a pirosbkaraktereket mint ebben a bemutatóban:",
"description": "The HTML filter removes the red characters from this example:"
},
"helpHtmlFilterAfter": {
"message": "",
"message": "Így fog ki nézni:",
"description": "The result then looks like this:"
},
"helpHtmlFilterWhyTitle": {

View File

@ -80,7 +80,7 @@
"description": "You can open the log with the icon in the menu. The log will be deleted when you close the browser or disable logging."
},
"featureBreaksWebsitesDescription": {
"message": "Tính năng này có thể làm hỏng các trang web. Không nên bật, trừ khi bạn sẵn sàng thêm các tên miền bị ảnh hưởng vào danh sách cho phép.",
"message": "Tính năng này có thể làm hỏng các trang web. Không nên bật trừ khi bạn sẵn sàng thêm các tên miền bị ảnh hưởng vào danh sách cho phép.",
"description": "This feature breaks websites. Do not leave it enabled, unless you are prepared to manually add affected domains to the allow list."
},
"featureBreaksWebsitesButton": {
@ -380,7 +380,7 @@
"description": "Hard"
},
"helpWebsiteIssuesDescription": {
"message": "Có hai nguyên nhân có thể xảy ra: Do framework/thư viện được yêu cầu nhưng LocalCDN chưa phân phối hoặc do SOP. SOP (Viết tắt của từ tiếng Anh \"Same origin policy\" tạm dịch là \"Điều khoản cùng nguồn gốc\") là một cơ chế bảo mật quyết định dữ liệu nào mà trình duyệt được phép tải. Nó giúp cách ly các tài liệu độc hại, từ đó làm giảm thiểu các nguy cơ tấn công có thể xảy ra. Điều khoản này ngăn chặn các trình duyệt tải các framework bên ngoài của LocalCDN. Không may, hiện nay chưa có giải pháp cho vấn đề này.",
"message": "Có hai nguyên nhân có thể xảy ra: Do framework/thư viện được yêu cầu nhưng LocalCDN chưa phân phối hoặc do SOP. SOP (Viết tắt của từ tiếng Anh \"Same-origin policy\" tạm dịch là \"Điều khoản cùng nguồn gốc\") là một cơ chế bảo mật quyết định dữ liệu nào mà trình duyệt được phép tải. Nó giúp cách ly các tài liệu độc hại, từ đó làm giảm thiểu các nguy cơ tấn công có thể xảy ra. Điều khoản này ngăn chặn các trình duyệt tải các framework bên ngoài của LocalCDN. Không may, hiện nay chưa có giải pháp cho vấn đề này.",
"description": "There are two possible reasons: Either a framework/library is required that LocalCDN doesnt (yet) deliver or an SOP. A SOP (Same origin policy) is a security mechanism that determines what data the browser is allowed to load. It helps to isolate malicious documents and thus reduce possible attack vectors. This policy prevents the browser from loading the external frameworks of LocalCDN. Unfortunately there is no solution for this at the moment."
},
"helpBlockGoogleFontsDescription": {

View File

@ -436,8 +436,6 @@ function create_url() {
url="$JSDELIVR/npm/angular-stripe-checkout@$version/angular-stripe-checkout.min.js"
elif [ "$folder" = "ethjs" ]; then
url="$JSDELIVR/npm/ethjs@$version/dist/ethjs.min.js"
elif [ "$folder" = "findify-bundle" ]; then
url="$JSDELIVR/npm/@findify/bundle@$version/dist/$subfile"
elif [ "$folder" = "react-lifecycles-compat" ]; then
url="$JSDELIVR/npm/react-lifecycles-compat@$version/react-lifecycles-compat.min.js"
elif [ "$folder" = "react-side-effect" ]; then
@ -739,6 +737,10 @@ function create_url() {
url="$JSDELIVR/npm/in-view@$version/dist/in-view.min.js"
elif [ "$folder" = "knockout" ] && [ "$version" = "3.5.1" ];then
url="$CLOUDFLARE/$folder/$version/knockout-latest.min.js"
elif [ "$folder" = "vue-router" ] && [ "$version" = "3.6.5" ];then
url="$CLOUDFLARE/$folder/$version/vue-router.min.js"
elif [ "$folder" = "ScrollMagic" ] && [ "$jfile" != "ScrollMagic.min.js" ];then
url="$CLOUDFLARE/$folder/$version/plugins/$jfile"
# --------------------------------------------------------------------------
else
if [ "$subfile" = "$jfile" ]; then

View File

@ -148,7 +148,7 @@ const SettingDefaults = {
[Setting.INTERNAL_STATISTICS_DATA]: {},
[Setting.DEFAULT_RANGE_STATISTIC]: 'week',
[Setting.LAST_MAPPING_UPDATE]: '2020-01-01',
[Setting.NEGATE_HTML_FILTER_LIST]: false,
[Setting.NEGATE_HTML_FILTER_LIST]: true,
[Setting.SELECTED_ICON]: 'Default',
[Setting.SHOW_ICON_BADGE]: true,
[Setting.STORAGE_TYPE]: 'local',
@ -271,7 +271,8 @@ const Regex = {
'FONT_AWESOME_WITH_CODE': /use\.fontawesome\.com\/[a-z0-9]{10}\.(js|css)/,
'FONT_AWESOME_FONTS_ONLY': /\/font-?awesome\/(?:\d{1,2}\.){1,3}\d{1,2}\/fonts\//,
'BOOTSTRAP_FONTS_ONLY': /\/bootstrap\/(?:\d{1,2}\.){1,3}\d{1,2}\/fonts\//,
'ROCKET_LOADER': /ajax\.cloudflare\.com\/cdn-cgi\/scripts\/[a-zA-Z0-9]{8}\/cloudflare-static\/rocket-loader\.min\.js/
'ROCKET_LOADER': /ajax\.cloudflare\.com\/cdn-cgi\/scripts\/[a-zA-Z0-9]{8}\/cloudflare-static\/rocket-loader\.min\.js/,
'TWITTER_BOOTSTRAP_ALPHA_BETA': /-(alpha|beta).?\d?/,
};
const MaterialIcons = {

View File

@ -416,6 +416,10 @@ mappings.cdn = {
'moment.js/{version}/moment.min.': resources.moment,
'moment.js/{version}/moment-with-locales.': resources.moment,
'mootools/{version}/mootools-core': resources.mootools,
'nprogress/{version}/nprogress.min.js': resources.nprogressJS,
'nprogress/{version}/nprogress.js': resources.nprogressJS,
'nprogress/{version}/nprogress.min.css': resources.nprogressCSS,
'nprogress/{version}/nprogress.css': resources.nprogressCSS,
'noUiSlider/{version}/nouislider.js': resources.noUiSlider,
'noUiSlider/{version}/nouislider.min.js': resources.noUiSlider,
'nvd3/{version}/nv.d3.min.js': resources.nvd3JS,
@ -459,6 +463,7 @@ mappings.cdn = {
'rickshaw/{version}/rickshaw.min.js': resources.rickshawJS,
'script.js/{version}/script.': resources.scriptJS,
'scriptaculous/{version}/scriptaculous.': resources.scriptaculous,
'ScrollMagic/{version}/': resources.scrollMagic,
'select2/{version}/': resources.select2,
'semantic-ui/{version}/': resources.semanticUi,
'showdown/{version}/showdown.': resources.showdown,
@ -500,6 +505,8 @@ mappings.cdn = {
'Swiper/{version}/swiper-bundle.js': resources.swiperJS,
'Swiper/{version}/swiper-bundle.min.css': resources.swiperCSS,
'Swiper/{version}/swiper-bundle.css': resources.swiperCSS,
'tensorflow/{version}/tf.min.js': resources.tensorflow,
'tensorflow/{version}/tf.js': resources.tensorflow,
'tether/{version}/js/tether.': resources.tetherJS,
'tinymce/{version}/': resources.tinymce,
'tooltipster/{version}/js/jquery.tooltipster.': resources.jQueryTooltipster,
@ -519,12 +526,15 @@ mappings.cdn = {
'twix.js/{version}/twix.': resources.twixJS,
'underscore.js/{version}/underscore.': resources.underscore,
'underscore.js/{version}/underscore-min.': resources.underscore,
'URI.js/{version}/URI.min.js': resources.uriJS,
'URI.js/{version}/URI.js': resources.uriJS,
'urlive/{version}/jquery.urlive.': resources.jqueryURLive,
'vex-js/{version}/': resources.vexJS,
'video.js/{version}/video.js': resources.videoJS,
'vue/{version}/vue.min.js': resources.vueJs,
'vue-i18n/{version}/vue-i18n.': resources.vueI18N,
'vue-resource/{version}/vue-resource.': resources.vueResource,
'vue-router/{version}/vue-router.': resources.vueRouter,
'vuex/{version}/vuex.min.': resources.vuex,
'waypoints/{version}/noframework.waypoints.': resources.jQueryWaypoints,
'waypoints/{version}/jquery.waypoints.': resources.jQueryWaypoints,
@ -615,14 +625,6 @@ mappings.cdn = {
'docsify-themeable@{version}/dist/css/theme-simple-dark.css': resources.docsifyThemeSimpleDark,
'ethjs@{version}/dist/ethjs.': resources.ethJs,
'exif-js@{version}/exif.': resources.exifJS,
'@findify/bundle@{version}/dist/bundle.js': resources.findifyBundle,
'@findify/bundle@{version}/dist/components.js': resources.findifyBundle,
'@findify/bundle@{version}/dist/config.js': resources.findifyBundle,
'@findify/bundle@{version}/dist/initializer.js': resources.findifyBundle,
'@findify/bundle@{version}/dist/polyfill.js': resources.findifyBundle,
'@findify/bundle@{version}/dist/vendors~components~initializer.js': resources.findifyBundle,
'@findify/bundle@{version}/dist/vendors~initializer.js': resources.findifyBundle,
'@findify/bundle@{version}/dist/vendors~sentry.js': resources.findifyBundle,
'flv.js/dist/flv.min.js': resources.flvJS,
'font-awesome@{version}/css/font-awesome.': resources.fontawesome,
'fork-awesome@{version}/css/fork-awesome.': resources.forkawesome,
@ -676,9 +678,10 @@ mappings.cdn = {
'react-dom@{version}/umd/react-dom.production.min.js': resources.reactDOM,
'react-intl@{version}/react-intl.iife.': resources.reactIntl,
'react@{version}/umd/react.production.min.js': resources.react,
'scrollmagic@{version}/scrollmagic/uncompressed/': resources.scrollMagic,
'scrollmagic@{version}/scrollmagic/minified/': resources.scrollMagic,
'search-insights@{version}/dist/search-insights.': resources.searchInsights,
'select2@{version}/': resources.select2,
'swagger-ui-dist@{version}/swagger-ui.js': resources.swaggerUiJS,
'swagger-ui-dist@{version}/swagger-ui.min.js': resources.swaggerUiJS,
'swagger-ui-dist@{version}/swagger-ui-bundle.js': resources.swaggerUiJS,
@ -691,7 +694,6 @@ mappings.cdn = {
'swagger-ui-dist@{version}/swagger-ui-standalone-preset.min.js': resources.swaggerUiJS,
'swagger-ui-dist@{version}/swagger-ui.css': resources.swaggerUiCSS,
'swagger-ui-dist@{version}/swagger-ui.min.css': resources.swaggerUiCSS,
'swiper@{version}/swiper-bundle.css': resources.swiperCSS,
'swiper@{version}/swiper-bundle.min.css': resources.swiperCSS,
'swiper@{version}/swiper-bundle.js': resources.swiperJS,
@ -707,6 +709,8 @@ mappings.cdn = {
'slick-carousel@{version}/slick/slick.css': resources.slickCarouselCSS,
'slick-carousel@{version}/slick/slick.min.js': resources.slickCarouselJS,
'slick-carousel@{version}/slick/slick.js': resources.slickCarouselJS,
'@tensorflow/tfjs@{version}/dist/tf.min.js': resources.tensorflow,
'@tensorflow/tfjs@{version}/dist/tf.js': resources.tensorflow,
'underscore@{version}/underscore.': resources.underscore,
'underscore@{version}/underscore-min.': resources.underscore,
'urlize.js/urlize.js': resources.urlize,
@ -717,6 +721,7 @@ mappings.cdn = {
'videojs-seek-buttons/dist/videojs-seek-buttons.min.js': resources.videojsSeekButtonsJS,
'vue-match-media@{version}/dist/index.': resources.vueMatchMedia,
'vue-resource@{version}/dist/vue-resource.': resources.vueResource,
'vue-router@{version}/dist/vue-router.': resources.vueRouter,
'vue@{version}/dist/vue.min.js': resources.vueJs,
'vue@{version}/dist/vue.js': resources.vueJs,
'vuex@{version}/dist/vuex.': resources.vuex,

View File

@ -145,6 +145,9 @@ requestAnalyzer._findLocalTarget = function (resourceMappings, basePath, channel
let resourcePath, versionNumber, resourcePattern, shorthandResource;
resourcePath = channelPath.replace(basePath, '');
if (resourcePath.startsWith('bootstrap')) {
resourcePath = resourcePath.replace(Regex.TWITTER_BOOTSTRAP_ALPHA_BETA, '');
}
// Evaluate first in case of version 'latest' and numerals in resource
versionNumber = resourcePath.match(Resource.VERSION_EXPRESSION);
@ -238,7 +241,9 @@ requestAnalyzer._getPathOfBundle = function (initiator, channelHost, channelPath
} else if (bundle === 'TinyMCE (Bundle)' && filename !== 'tinymce.min.js') {
filename = requestAnalyzer._handleTinyMCE(channelPath, channelHost, initiator);
} else if (bundle === 'DataTables (Bundle)') {
filename = requestAnalyzer._handleDataTables(filename);
filename = requestAnalyzer._handleUncompressedFiles(filename);
} else if (bundle === 'ScrollMagic (Bundle)' && !filename.endsWith('.min.js')) {
filename = requestAnalyzer._handleUncompressedFiles(filename);
}
if (filename === false) {
@ -268,7 +273,7 @@ requestAnalyzer._handleMathJax = function (channelPath, channelHost, initiator)
return filename;
};
requestAnalyzer._handleDataTables = function (filename) {
requestAnalyzer._handleUncompressedFiles = function (filename) {
if (!filename.endsWith('.min.js') && filename.endsWith('.js')) {
return filename.replace('.js', '.min.js');
} else if (!filename.endsWith('.min.css') && filename.endsWith('.css')) {

View File

@ -301,7 +301,7 @@ var resources = {
},
// Chart.js
'chartJs': {
'path': 'resources/Chart.js/{version}/Chart.bundle.min.jsm'
'path': 'resources/Chart.js/{version}/chart.min.jsm'
},
'chartJsCSS': {
'path': 'resources/Chart.js/{version}/Chart.min.css'
@ -423,10 +423,6 @@ var resources = {
'feather': {
'path': 'resources/feather-icons/{version}/feather.min.jsm'
},
// Finify bundle
'findifyBundle': {
'path': 'resources/findify-bundle/{version}/'
},
// FitText.js [Deprecated]
'fitTextJs': {
'path': 'resources/FitText.js/{version}/jquery.fittext.min.jsm'
@ -808,6 +804,13 @@ var resources = {
'ngxBootstrapDatepicker': {
'path': 'resources/ngx-bootstrap/{version}/datepicker/bs-datepicker.css'
},
// nprogress
'nprogressCSS': {
'path': 'resources/nprogress/{version}/nprogress.min.css'
},
'nprogressJS': {
'path': 'resources/nprogress/{version}/nprogress.min.jsm'
},
// noUiSlider
'noUiSlider': {
'path': 'resources/noUiSlider/{version}/nouislider.min.jsm'
@ -965,6 +968,10 @@ var resources = {
'scriptaculous': {
'path': 'resources/scriptaculous/{version}/scriptaculous.jsm'
},
// ScrollMagic (Bundle)
'scrollMagic': {
'path': 'resources/ScrollMagic/{version}/'
},
// Search Insights
'searchInsights': {
'path': 'resources/search-insights/{version}/search-insights.min.jsm'
@ -1058,6 +1065,10 @@ var resources = {
'swiperCSS': {
'path': 'resources/Swiper/{version}/css/swiper.min.css'
},
// tensorflow
'tensorflow': {
'path': 'resources/tensorflow/{version}/tf.min.jsm'
},
// Tether JS [Deprecated]
'tetherJS': {
'path': 'resources/tether/{version}/js/tether.min.jsm'
@ -1081,6 +1092,10 @@ var resources = {
'underscore': {
'path': 'resources/underscore.js/{version}/underscore-min.jsm'
},
// URI.js
'uriJS': {
'path': 'resources/URI.js/{version}/URI.min.jsm'
},
// urlize
'urlize': {
'path': 'resources/urlize/{version}/urlize.jsm'
@ -1123,6 +1138,10 @@ var resources = {
'vueResource': {
'path': 'resources/vue-resource/{version}/vue-resource.min.jsm'
},
// vue-router
'vueRouter': {
'path': 'resources/vue-router/{version}/vue-router.global.min.jsm'
},
// vuex
'vuex': {
'path': 'resources/vuex/{version}/vuex.min.jsm'

View File

@ -273,6 +273,21 @@ shorthands.specialFiles = function (channelHost, channelPath, searchString) {
'path': `resources/webcomponentsjs/${lastVersion}/webcomponents-loader.min.jsm`,
'bundle': ''
};
} else if (CompleteURL.startsWith('unpkg.com/aos@next/dist/aos.')) {
let file;
lastVersion = targets.setLastVersion('/aos/latest');
if (channelPath.endsWith('js')) {
file = 'aos.jsm';
} else {
file = 'aos.css';
}
return {
'source': channelHost,
'versionDelivered': lastVersion,
'versionRequested': 'next',
'path': `resources/aos/${lastVersion}/${file}`,
'bundle': ''
};
}
return {
'result': false,

View File

@ -284,7 +284,7 @@ stateManager._setIconDisabled = function (tabIdentifier) {
stateManager.requests = {};
stateManager.tabs = {};
stateManager.getInvertOption = false;
stateManager.getInvertOption = true;
stateManager.validHosts = [];
stateManager.selectedIcon = 'Default';
stateManager.internalStatistics = false;
@ -317,8 +317,12 @@ storageManager.type.get([
if (items.selectedIcon === undefined) {
stateManager.selectedIcon = 'Default';
}
if (items.negateHtmlFilterList === undefined) {
stateManager.getInvertOption = true;
} else {
stateManager.getInvertOption = items.negateHtmlFilterList;
}
stateManager.showIconBadge = items.showIconBadge;
stateManager.getInvertOption = items.negateHtmlFilterList;
stateManager.selectedIcon = items.selectedIcon;
stateManager.internalStatistics = items.internalStatistics;
stateManager.hideDonationButton = items.hideDonationButton;

106
icons/popup_check.svg Normal file
View File

@ -0,0 +1,106 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Capa_1"
x="0px"
y="0px"
viewBox="0 0 236.988 236.988"
style="enable-background:new 0 0 236.988 236.988;"
xml:space="preserve"
sodipodi:docname="popup_check.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"><metadata
id="metadata39"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
id="defs37" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1021"
id="namedview35"
showgrid="false"
inkscape:zoom="3.4938477"
inkscape:cx="118.494"
inkscape:cy="118.494"
inkscape:window-x="0"
inkscape:window-y="31"
inkscape:window-maximized="1"
inkscape:current-layer="Capa_1" />
<polygon
points="198.098,24.326 87.543,134.881 38.891,86.229 0,125.121 87.543,212.662 236.988,63.217 "
id="polygon2"
style="fill:#f0f0f0;fill-opacity:1" />
<g
id="g4"
style="fill:#f0f0f0;fill-opacity:1">
</g>
<g
id="g6"
style="fill:#f0f0f0;fill-opacity:1">
</g>
<g
id="g8"
style="fill:#f0f0f0;fill-opacity:1">
</g>
<g
id="g10"
style="fill:#f0f0f0;fill-opacity:1">
</g>
<g
id="g12"
style="fill:#f0f0f0;fill-opacity:1">
</g>
<g
id="g14"
style="fill:#f0f0f0;fill-opacity:1">
</g>
<g
id="g16"
style="fill:#f0f0f0;fill-opacity:1">
</g>
<g
id="g18"
style="fill:#f0f0f0;fill-opacity:1">
</g>
<g
id="g20"
style="fill:#f0f0f0;fill-opacity:1">
</g>
<g
id="g22"
style="fill:#f0f0f0;fill-opacity:1">
</g>
<g
id="g24"
style="fill:#f0f0f0;fill-opacity:1">
</g>
<g
id="g26"
style="fill:#f0f0f0;fill-opacity:1">
</g>
<g
id="g28"
style="fill:#f0f0f0;fill-opacity:1">
</g>
<g
id="g30"
style="fill:#f0f0f0;fill-opacity:1">
</g>
<g
id="g32"
style="fill:#f0f0f0;fill-opacity:1">
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

107
icons/popup_uncheck.svg Normal file
View File

@ -0,0 +1,107 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Layer_1"
x="0px"
y="0px"
viewBox="0 0 342.947 342.947"
style="enable-background:new 0 0 342.947 342.947;"
xml:space="preserve"
sodipodi:docname="popup_uncheck.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"><metadata
id="metadata39"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs37" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1021"
id="namedview35"
showgrid="false"
inkscape:zoom="2.4143673"
inkscape:cx="171.4735"
inkscape:cy="206.32001"
inkscape:window-x="0"
inkscape:window-y="31"
inkscape:window-maximized="1"
inkscape:current-layer="Layer_1" />
<polygon
points="21.213,342.947 171.473,192.686 321.734,342.947 342.947,321.734 192.686,171.473 342.947,21.213 321.734,0 171.473,150.26 21.213,0 0,21.213 150.26,171.473 0,321.734 "
id="polygon2"
style="fill:#f0f0f0;fill-opacity:1;stroke:#f0f0f0;stroke-width:49.7301;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
transform="matrix(0.82087416,-0.0018069,0.0018043,0.82128778,30.514662,31.320972)" />
<g
id="g4"
style="fill:#f0f0f0;fill-opacity:1">
</g>
<g
id="g6"
style="fill:#f0f0f0;fill-opacity:1">
</g>
<g
id="g8"
style="fill:#f0f0f0;fill-opacity:1">
</g>
<g
id="g10"
style="fill:#f0f0f0;fill-opacity:1">
</g>
<g
id="g12"
style="fill:#f0f0f0;fill-opacity:1">
</g>
<g
id="g14"
style="fill:#f0f0f0;fill-opacity:1">
</g>
<g
id="g16"
style="fill:#f0f0f0;fill-opacity:1">
</g>
<g
id="g18"
style="fill:#f0f0f0;fill-opacity:1">
</g>
<g
id="g20"
style="fill:#f0f0f0;fill-opacity:1">
</g>
<g
id="g22"
style="fill:#f0f0f0;fill-opacity:1">
</g>
<g
id="g24"
style="fill:#f0f0f0;fill-opacity:1">
</g>
<g
id="g26"
style="fill:#f0f0f0;fill-opacity:1">
</g>
<g
id="g28"
style="fill:#f0f0f0;fill-opacity:1">
</g>
<g
id="g30"
style="fill:#f0f0f0;fill-opacity:1">
</g>
<g
id="g32"
style="fill:#f0f0f0;fill-opacity:1">
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -1,7 +1,7 @@
{
"manifest_version": 2,
"name": "LocalCDN",
"version": "2.6.43",
"version": "2.6.44",
"browser_specific_settings": {
"gecko": {
"id": "{b86e4813-687a-43e6-ab65-0bde4ab75758}",

View File

@ -29,9 +29,7 @@ var targets = {};
targets.determineBundle = function (path) {
path = path.replace('resources', '');
let val = '';
if (path.startsWith('/findify')) {
val = 'Findify';
} else if (path.startsWith('/bootstrap-datepicker')) {
if (path.startsWith('/bootstrap-datepicker')) {
val = 'Bootstrap Datepicker';
} else if (path.startsWith('/jquery.lazy/')) {
val = 'jQuery Lazy';
@ -67,6 +65,8 @@ targets.determineBundle = function (path) {
val = 'vex';
} else if (path.startsWith('/tinymce/')) {
val = 'TinyMCE';
} else if (path.startsWith('/ScrollMagic/')) {
val = 'ScrollMagic';
}
return val === '' ? val : `${val} (Bundle)`;
@ -80,7 +80,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/1000hz-bootstrap-validator/0.')) return '0.11.9';
if (type.startsWith('/ajax-bootstrap-select/1.')) return '1.4.5';
if (type.startsWith('/algoliasearch/3.')) return '3.35.1';
if (type.startsWith('/algoliasearch/4.')) return '4.14.2';
if (type.startsWith('/algoliasearch/4.')) return '4.14.3';
if (type.startsWith('/alpinejs/2.')) return '2.8.2';
if (type.startsWith('/alpinejs/3.')) return '3.10.5';
if (type.startsWith('/anchor-js/3.')) return '3.2.2';
@ -131,37 +131,37 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/autocomplete.js/1.')) return '1.5.4';
if (type.startsWith('/angular-material/1.') || type.startsWith('/angular-material/0.')) return '1.2.5';
if (type.startsWith('/angular-translate/2.')) return '2.19.0';
if (type.startsWith('/aos/2.')) return '2.3.4';
if (type.startsWith('/aos/2.') || type.startsWith('/aos/latest')) return '2.3.4';
if (type.startsWith('/appboy-web-sdk/3.')) return '3.5.1';
if (type.startsWith('/asciinema-player/2.')) return '2.6.1';
if (type.startsWith('/axios/0.')) return '0.27.2';
if (type.startsWith('/axios/1.')) return '1.2.1';
if (type.startsWith('/axios/1.')) return '1.2.2';
if (type.startsWith('/backbone.js/0.')) return '0.9.10';
if (type.startsWith('/backbone.js/1.')) return '1.4.1';
if (type.startsWith('/baguettebox.js/1.')) return '1.11.1';
if (type.startsWith('/blazy/1.')) return '1.8.2';
if (type.startsWith('/bluebird/3.')) return '3.7.2';
if (type.startsWith('/bodymovin/4.')) return '4.13.0';
if (type.startsWith('/bodymovin/5.')) return '5.10.0';
if (type.startsWith('/bodymovin/5.')) return '5.10.1';
if (type.startsWith('/bootbox.js/4.')) return '4.4.0';
if (type.startsWith('/bootbox.js/5.')) return '5.5.3';
if (type.startsWith('/bootbox.js/6.')) return '6.0.0';
if (type.startsWith('/bootstrap-daterangepicker/2.')) return '2.1.27';
if (type.startsWith('/bootstrap-daterangepicker/3.')) return '3.1';
if (type.startsWith('/bootstrap-datepicker/1.')) return '1.9.0';
if (type.startsWith('/bootstrap-icons/1.')) return '1.10.2';
if (type.startsWith('/bootstrap-icons/1.')) return '1.10.3';
if (type.startsWith('/bootstrap-multiselect/0.')) return '0.9.16';
if (type.startsWith('/bootstrap-multiselect/1.')) return '1.1.2';
if (type.startsWith('/bootstrap-slider/10.')) return '10.6.2';
if (type.startsWith('/bootstrap-slider/11.')) return '11.0.2';
if (type.startsWith('/bootstrap-select/1.')) return '1.13.18';
if (type.startsWith('/bootstrap-table/1.')) return '1.21.1';
if (type.startsWith('/bootstrap-table/1.')) return '1.21.2';
if (type.startsWith('/bootstrap-toggle/2.')) return '2.2.2';
if (type.startsWith('/bootstrap-vue/2.')) return '2.23.1';
if (type.startsWith('/bootstrap-3-typeahead/4.')) return '4.0.2';
if (type.startsWith('/bootswatch/3.')) return '3.4.0';
if (type.startsWith('/bootswatch/4.')) return '4.6.1';
if (type.startsWith('/bootswatch/5.')) return '5.2.2';
if (type.startsWith('/bootswatch/5.')) return '5.2.3';
if (type.startsWith('/bowser/')) {
if (version !== 'latest' && helpers.compareVersion('1.9.4', version)) return '1.9.4';
return '2.11.0';
@ -170,7 +170,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/bxslider/4.')) return '4.2.15';
if (type.startsWith('/Chart.js/2.')) return '2.9.4';
if (type.startsWith('/Chart.js/3.')) return '3.9.1';
if (type.startsWith('/Chart.js/4.')) return '4.0.1';
if (type.startsWith('/Chart.js/4.')) return '4.1.1';
if (type.startsWith('/clappr/0.') || type.startsWith('/clappr/latest/')) return '0.4.7';
if (type.startsWith('/chosen/1.')) return '1.8.7';
if (type.startsWith('/clipboard.js/1.')) return '1.7.1';
@ -182,7 +182,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/d3/4.')) return '4.13.0';
if (type.startsWith('/d3/5.')) return '5.16.0';
if (type.startsWith('/d3/6.')) return '6.7.0';
if (type.startsWith('/d3/7.')) return '7.7.0';
if (type.startsWith('/d3/7.')) return '7.8.0';
if (type.startsWith('/d3-legend/2.')) return '2.25.6';
if (type.startsWith('/datatables/1.')) return '1.11.0';
if (type.startsWith('/dayjs/1.')) return '1.11.7';
@ -192,18 +192,13 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/docsify-themeable/0.')) return '0.9.0';
if (type.startsWith('/drawer/3.')) return '3.2.2';
if (type.startsWith('/dygraph/1.')) return '1.1.1';
if (type.startsWith('/dygraph/2.')) return '2.1.0';
if (type.startsWith('/dygraph/2.')) return '2.1.2';
if (type.startsWith('/element-ui/2.')) return '2.15.12';
if (type.startsWith('/embedly-player/0.')) return '0.1.0';
if (type.startsWith('/ethjs')) return '0.4.0';
if (type.startsWith('/exif-js/2.')) return '2.3.0';
if (type.startsWith('/ext-core/3.')) return '3.1.0';
if (type.startsWith('/fastclick/1.')) return '1.0.6';
if (type.startsWith('/findify')) {
if (helpers.compareVersion('6.9.15', version)) return '6.9.15'; // <= 6.9.15
if (helpers.compareVersion('6.17.0', version)) return '6.17.0'; // > 6.9.15 to <= 6.17.0
return '7.1.77';
}
if (type.startsWith('/fancybox/2.')) return '2.1.7';
if (type.startsWith('/fancybox/3.')) return '3.5.7';
if (type.startsWith('/feather-icons/4.')) return '4.29.0';
@ -221,7 +216,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/granim/2.')) return '2.0.0';
if (type.startsWith('/gsap/1.')) return '1.20.5';
if (type.startsWith('/gsap/2.')) return '2.1.3';
if (type.startsWith('/gsap/3.')) return '3.11.3';
if (type.startsWith('/gsap/3.')) return '3.11.4';
// just for testing ----------------------------------------------
if (type.startsWith('/materialicons/')) return 'v139';
@ -242,8 +237,9 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/hls.js/1.')) return '1.2.9';
if (type.startsWith('/hogan.js/')) return '3.0.2';
if (type.startsWith('/instantsearch.css/7.')) return '7.4.5';
if (type.startsWith('/instantsearch.css/8.')) return '8.0.0';
if (type.startsWith('/instantsearch.js/3.')) return '3.7.0';
if (type.startsWith('/instantsearch.js/4.')) return '4.49.1';
if (type.startsWith('/instantsearch.js/4.')) return '4.49.3';
if (type.startsWith('/in-view/0.')) return '0.6.1';
if (type.startsWith('/iScroll/5.')) return '5.2.0';
if (type.startsWith('/izimodal/1.')) return '1.6.1';
@ -260,7 +256,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/jquery/3.') || type.startsWith('/jquery/latest')) {
if (helpers.compareVersion('3.2.1', version)) return '3.2.1'; // <= v3.2.1
if (helpers.compareVersion('3.5.1', version)) return '3.5.1'; // <= v3.5.1
return '3.6.1';
return '3.6.3';
}
if (type.startsWith('/jquery.devbridge-autocomplete/1.')) return '1.4.11';
if (type.startsWith('/jqueryui/1.')) {
@ -346,7 +342,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/mdb-ui-kit/3.')) return '3.11.0';
if (type.startsWith('/mdb-ui-kit/4.')) return '4.4.0';
if (type.startsWith('/mdb-ui-kit/5.')) return '5.0.0';
if (type.startsWith('/mdb-ui-kit/6.')) return '6.0.1';
if (type.startsWith('/mdb-ui-kit/6.')) return '6.1.0';
if (type.startsWith('/mobile/1.')) return '1.4.5';
if (type.startsWith('/Modaal/0.')) return '0.4.4';
if (type.startsWith('/modernizr/2.')) return '2.8.3';
@ -358,13 +354,19 @@ targets.setLastVersion = function (type, version) {
if (helpers.compareVersion('1.4.5', version)) return '1.4.5'; // <= v1.4.5
return '1.6.0';
}
if (type.startsWith('/ngx-bootstrap/6.')) return '6.2.0';
if (type.startsWith('/ngx-bootstrap/')) {
// The only resource used from ngx-bootstrap is the CSS file for the datepicker.
// This CSS is unchanged since version 7. So it's not necessary to host it more than once.
if (helpers.compareVersion('6.2.0', version)) return '6.2.0'; // <= v6.2.0
return '10.2.0';
}
if (type.startsWith('/ngx-bootstrap/7.')) return '7.1.2';
if (type.startsWith('/ngx-bootstrap/8.')) return '8.0.0';
if (type.startsWith('/ngx-bootstrap/9.')) return '9.0.0';
if (type.startsWith('/ngx-bootstrap/10.')) return '10.0.0';
if (type.startsWith('/noUiSlider/14.')) return '14.7.0';
if (type.startsWith('/noUiSlider/15.')) return '15.6.1';
if (type.startsWith('/nprogress/0.')) return '0.2.0';
if (type.startsWith('/nvd3/1.')) return '1.8.6';
if (type.startsWith('/object-assign@4.')) return '4.1.1';
if (type.startsWith('/oclazyload/1.')) return '1.1.0';
@ -375,7 +377,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/p5.js/0.')) return '0.10.2';
if (type.startsWith('/p5.js/1.')) return '1.5.0';
if (type.startsWith('/page.js/1.')) return '1.11.6';
if (type.startsWith('/paginationjs/2.')) return '2.4.1';
if (type.startsWith('/paginationjs/2.')) return '2.5.0';
if (type.startsWith('/plyr/3.')) return '3.7.3';
if (type.startsWith('/popper.js/1.')) return '1.16.1';
if (type.startsWith('/popper.js/2.')) return '2.11.6';
@ -401,13 +403,14 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/react-redux/7.')) return '7.2.8';
if (type.startsWith('/react-redux/8.')) return '8.0.5';
if (type.startsWith('/react-router/5.')) return '5.3.3';
if (type.startsWith('/react-router/6.')) return '6.4.5';
if (type.startsWith('/react-router/6.')) return '6.6.1';
if (type.startsWith('/react-side-effect/')) return '2.1.2';
if (type.startsWith('/react-lifecycles-compat/')) return '3.0.4';
if (type.startsWith('/redux/4.')) return '4.2.0';
if (type.startsWith('/rickshaw/1.')) return '1.7.1';
if (type.startsWith('/script.js/2.')) return '2.5.9';
if (type.startsWith('/scriptaculous/1.')) return '1.9.0';
if (type.startsWith('/ScrollMagic/2.')) return '2.0.8';
if (type.startsWith('/search-insights/1.')) return '1.8.0';
if (type.startsWith('/search-insights/2.')) return '2.2.3';
if (type.startsWith('/select2/3.')) return '3.5.4';
@ -423,7 +426,7 @@ targets.setLastVersion = function (type, version) {
return '1.9.0';
}
if (type.startsWith('/slick-lightbox/0.')) return '0.2.12';
if (type.startsWith('/slider-pro/1.')) return '1.6.0';
if (type.startsWith('/slider-pro/1.')) return '1.6.1';
if (type.startsWith('/snowplow/2.')) return '2.18.2';
if (type.startsWith('/socket.io/2.')) return '2.4.0';
if (type.startsWith('/socket.io/3.')) return '3.1.3';
@ -443,6 +446,9 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/Swiper/6.')) return '6.8.4';
if (type.startsWith('/Swiper/7.')) return '7.4.1';
if (type.startsWith('/Swiper/8.') || type.startsWith('/Swiper/')) return '8.4.5';
if (type.startsWith('/tensorflow/2.')) return '4.2.0';
if (type.startsWith('/tensorflow/3.')) return '4.2.0';
if (type.startsWith('/tensorflow/4.')) return '4.2.0';
if (type.startsWith('/tether/1.')) return '1.4.7';
if (type.startsWith('/tinymce/5.')) return '5.10.5';
if (type.startsWith('/tinymce/6.')) return '6.3.1';
@ -455,11 +461,15 @@ targets.setLastVersion = function (type, version) {
if (helpers.compareVersion('3.3.7', version)) return '3.3.7'; // <= 3.3.7
return '3.4.1';
}
if (type.startsWith('/twitter-bootstrap/4.')) return '4.6.1';
if (type.startsWith('/twitter-bootstrap/4.')) {
if (helpers.compareVersion('4.1.1', version)) return '4.1.1'; // <= 4.1.1
return '4.6.1';
}
if (type.startsWith('/twitter-bootstrap/5.')) return '5.2.3';
if (type.startsWith('/twix.js/0.')) return '0.3.0';
if (type.startsWith('/twix.js/1.')) return '1.3.0';
if (type.startsWith('/underscore.js/1.')) return '1.13.6';
if (type.startsWith('/URI.js/1.')) return '1.19.11';
if (type.startsWith('/urlive/1.')) return '1.1.1';
if (type.startsWith('/vanilla-lazyload')) return '17.8.3';
if (type.startsWith('/vex-js/3.')) return '3.1.1';
@ -481,6 +491,8 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/vue-i18n/9.')) return '9.2.2';
if (type.startsWith('/vue-match-media/1.')) return '1.0.3';
if (type.startsWith('/vue-resource/1.')) return '1.5.3';
if (type.startsWith('/vue-router/3.')) return '3.6.5';
if (type.startsWith('/vue-router/4.')) return '4.1.6';
if (type.startsWith('/vuex/3.')) return '3.6.2';
if (type.startsWith('/vuex/4.')) return '4.1.0';
if (type.startsWith('/waypoints/4.')) return '4.0.1';
@ -500,6 +512,11 @@ targets.determineResourceName = function (filename) {
};
const ListOfFiles = {
'URI.min.jsm': 'URI.js',
'vue-router.global.min.jsm': 'vue-router',
'tf.min.jsm': 'tensorflow',
'nprogress.min.jsm': 'nprogress (JS)',
'nprogress.min.css': 'nprogress (CSS)',
'swagger-ui-bundle.min.jsm': 'Swagger-UI (JS)',
'swagger-ui.min.css': 'Swagger-UI (CSS)',
'knockout.mapping.min.jsm': 'knockout.mapping',
@ -690,6 +707,8 @@ const ListOfFiles = {
'slick.min.css': 'slick (CSS)',
'slick-theme.min.css': 'slick (Theme)',
'google-material-design-icons.css': 'Google Material Icons',
'Chart.bundle.min.jsm': 'Chart.js (JS)', // for statistics page
'Chart.bundle.min.css': 'Chart.js (CSS)', // for statistics page
'chart.min.jsm': 'Chart.js (JS)',
'Chart.min.css': 'Chart.js (CSS)',
'bootbox.min.jsm': 'BootboxJS',

View File

@ -11,18 +11,18 @@
<link rel="stylesheet" type="text/css" href="donate.css">
</head>
<body>
<img src="../images/logo.svg" alt="LocalCDN" class="logo"/>
<img src="../images/logo.svg" alt="" class="logo">
<div class="container">
<h1>Donation Methods</h1>
<div class="notice">
<div class="subtle-hint">
<p>LocalCDN is free and open-source. If you like LocalCDN you can support continued development by making a donation. Any help would be greatly appreciated!</p>
<p><strong>Question:</strong> <em>Why are the donation options only displayed here and no longer on the website?</em><br/><strong>Answer:</strong> I think it is better if your public IP address is rarely listed in any server log files.</p>
<p><strong>Question:</strong> <em>Why are the donation options only displayed here and no longer on the website?</em><br><strong>Answer:</strong> I think it is better if your public IP address is rarely listed in any server log files.</p>
</div>
<div class="subtle-hint div-donations">
<h3>SEPA Bank Transfer</h3>
<p class="mono-block">
<span>IBAN:&nbsp;DE22&nbsp;5003&nbsp;1000&nbsp;1069&nbsp;4660&nbsp;16</span><br/>
<span>IBAN:&nbsp;DE22&nbsp;5003&nbsp;1000&nbsp;1069&nbsp;4660&nbsp;16</span><br>
<span>BIC:&nbsp;&nbsp;TRODDEF1XXX</span>
</p>
</div>
@ -37,8 +37,8 @@
<div class="subtle-hint div-donations">
<h3>Monero</h3>
<p class="mono-block">46j26ggSZNT9rN7VeFYXp2PsKEMyJSSYneBVKXY4xeemdfZfCpNg6tQEXQZpWiTTuGX3SbnDPwuh3167cCoYSrqN72H9jPk</p>
<img src="../images/monero.png" alt="Monero QR code"/>
<br/>
<img src="../images/monero.png" alt="">
<br>
<a href="monero:46j26ggSZNT9rN7VeFYXp2PsKEMyJSSYneBVKXY4xeemdfZfCpNg6tQEXQZpWiTTuGX3SbnDPwuh3167cCoYSrqN72H9jPk?tx_description=LocalCDN">Open in Wallet</a>
</div>
<div class="subtle-hint div-donations">
@ -48,7 +48,7 @@
<a href="https://www.buymeacoffee.com/LocalCDN" target="_blank" rel="nofollow noopener noreferrer">www.buymeacoffee.com/LocalCDN</a>
</p>
<a href="https://www.buymeacoffee.com/LocalCDN" class="no-icon" target="_blank" rel="nofollow noopener noreferrer">
<img src="../images/buymeacoffee.png" alt="Buy Me A Coffee">
<img src="../images/buymeacoffee.png" alt="">
</a>
</div>
<div class="subtle-hint div-donations">
@ -57,17 +57,17 @@
<a href="https://opencollective.com/LocalCDN" target="_blank" rel="nofollow noopener noreferrer">www.opencollective.com/LocalCDN</a>
</p>
<a href="https://www.buymeacoffee.com/LocalCDN" class="no-icon" target="_blank" rel="nofollow noopener noreferrer">
<img src="../images/opencollective.png" alt="Open Collective">
<img src="../images/opencollective.png" alt="">
</a>
</div>
<p>
<div>
<ul>
<li><strong>Why no PayPal?</strong> I hope this question is not serious. 🙂 If it does: PayPal shares the data collected from customers with over 600 other companies.</li>
<li><strong>Why no Patreon?</strong> Have you ever analyzed the website with Webbkoll? The trackers/cookies from Facebook, Twitter and Google integrated there do not harmonise with LocalCDN.</li>
<li><strong>Why no Liberapay?</strong> Liberapay only offers Stripe and PayPal as a payout method. I don't have a PayPal account (and don't want one). The website of Stripe is also full of third party providers.</li>
<li><strong>You know of a donation option that is privacy friendly?</strong> Then send me an e-mail please.</li>
</ul>
</p>
</div>
</div>
</div>
</body>

View File

@ -13,11 +13,11 @@
<script src="help.js"></script>
</head>
<body>
<img src="../images/logo.svg" alt="LocalCDN" class="logo"/>
<img src="../images/logo.svg" alt="" class="logo">
<h1 data-i18n-content="titleHelp">Help</h1>
<section class="notice notice-default hidden" id="notice-locale">
<div class="notice notice-default hidden" id="notice-locale">
<p>Your preferred language is not yet fully supported. Please help out by translating this add-on on <a class="button button-notice button-warning" href="https://hosted.weblate.org/projects/localcdn/localcdn/" target="_blank" rel="noopener noreferrer">Weblate</a>.</p>
</section>
</div>
<div class="notice">
<div class="index">
<ul>
@ -35,18 +35,18 @@
<div id="introduction" class="notice">
<h2 data-i18n-content="helpIntroductionTitle">Introduction</h2>
<p data-i18n-content="helpIntroductionDescription">LocalCDN is a web browser extension that emulates Content Delivery Networks to improve your online privacy. It intercepts traffic, finds supported frameworks/libraries locally, and injects them into the website. Feel free to use the following testing utility to find out if you are properly protected. For more information read the tutorial or our Wiki pages.</p>
<a href="https://www.localcdn.org/test" rel="nofollow noopener noreferrer" data-i18n-content="helpLinkTestUtility">Testing utility</a><br/>
<a href="https://www.localcdn.org/tutorial" rel="nofollow noopener noreferrer" data-i18n-content="helpLinkTutorial">Tutorial</a><br/>
<a href="https://www.localcdn.org/test" rel="nofollow noopener noreferrer" data-i18n-content="helpLinkTestUtility">Testing utility</a><br>
<a href="https://www.localcdn.org/tutorial" rel="nofollow noopener noreferrer" data-i18n-content="helpLinkTutorial">Tutorial</a><br>
<a href="https://codeberg.org/nobody/LocalCDN/wiki" target="_blank" rel="nofollow noopener noreferrer" data-i18n-content="helpLinkWikiPages">Wiki pages</a>
</div>
<div id="html-filter" class="notice">
<h2 data-i18n-content="helpHtmlFilterTitle">What is "HTML filter"? (Firefox only)</h2>
<p data-i18n-content="helpHtmlFilterDescription">In most cases LocalCDN can easily replace embedded frameworks and improves privacy. In some cases the website may try to prevent this by setting certain options in the HTML source code. LocalCDN reads the HTML source code before it is displayed in the browser and removes these part (red).</p>
<p>
<span data-i18n-content="helpHtmlFilterBefore">The HTML filter removes the red characters from this example:</span><br/>
<code><span class="code-blue">&lt;script&nbsp;src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"</span>&nbsp;<span class="code-red">integrity="sha512-894YE6QWD5I59HgZOGReFYm4dnWc1Qt5NtvYSaNcOP+u1T9qYdvdihz0PPSiiqn/+/3e7Jo4EaG7TubfWGUrMQ=="&nbsp;crossorigin="anonymous"</span><span class="code-blue">>&lt;/script></span></code><br/><br/>
<span data-i18n-content="helpHtmlFilterAfter">The result then looks like this:</span><br/>
<code><span class="code-blue">&lt;script&nbsp;src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js">&lt;/script></span></code><br/><br/><br/>
<span data-i18n-content="helpHtmlFilterBefore">The HTML filter removes the red characters from this example:</span><br>
<code><span class="code-blue">&lt;script&nbsp;src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"</span>&nbsp;<span class="code-red">integrity="sha512-894YE6QWD5I59HgZOGReFYm4dnWc1Qt5NtvYSaNcOP+u1T9qYdvdihz0PPSiiqn/+/3e7Jo4EaG7TubfWGUrMQ=="&nbsp;crossorigin="anonymous"</span><span class="code-blue">>&lt;/script></span></code><br><br>
<span data-i18n-content="helpHtmlFilterAfter">The result then looks like this:</span><br>
<code><span class="code-blue">&lt;script&nbsp;src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js">&lt;/script></span></code><br><br><br>
</p>
<p><em><span data-i18n-content="helpHtmlFilterWhyTitle">Why is it necessary to remove crossorigin and integrity attributes?</span></em></p>
<p data-i18n-content="helpHtmlFilterCrossorigin">The crossorigin attribute prevents the replacement because the destination does not match the requested one.</p>
@ -71,19 +71,19 @@
</thead>
<tbody>
<tr>
<td><img src="ublock-easy.png" alt="Default"></a></td>
<td><img src="ublock-easy.png" alt=""></td>
<td data-i18n-content="helpRuleGeneratorUblockTableDefaultEasy">Default/Easy</td>
<td data-i18n-content="helpNo">No</td>
<td><a href="https://github.com/gorhill/uBlock/wiki/Blocking-mode#very-easy-mode-details-" rel="nofollow">Link (github.com)</a></td>
</tr>
<tr>
<td><img src="ublock-medium.png" alt="Medium"></a></td>
<td><img src="ublock-medium.png" alt=""></td>
<td data-i18n-content="helpRuleGeneratorUblockTableMedium">Medium</td>
<td data-i18n-content="helpYes">Yes</td>
<td><a href="https://github.com/gorhill/uBlock/wiki/Blocking-mode:-medium-mode" rel="nofollow">Link (github.com)</a></td>
</tr>
<tr>
<td><img src="ublock-hard.png" alt="Hard"></a></td>
<td><img src="ublock-hard.png" alt=""></td>
<td data-i18n-content="helpRuleGeneratorUblockTableHard">Hard</td>
<td data-i18n-content="helpYes">Yes</td>
<td><a href="https://github.com/gorhill/uBlock/wiki/Blocking-mode:-hard-mode" rel="nofollow">Link (github.com)</a></td>
@ -103,19 +103,19 @@
<h2 data-i18n-content="helpStatisticsTitle">What about the statistics? Is anything transferred to any servers?</h2>
<p data-i18n-content="helpStatisticsDescription">Don't panic, nothing will be transmitted. It would be against all my principles. The statistics (JSON format) contains the following information: Date, CDN+counter and framework+counter. That's all. I've an example here:</p>
<div class="statistic-demo">
<code>"2020-08-10": {</code><br/>
<code> "frameworks": {</code><br/>
<code> "resources/jquery/1.12.4/jquery.min.jsm": 5</code><br/>
<code> },</code><br/>
<code> "cdns": {</code><br/>
<code> "ajax.googleapis.com": 5</code><br/>
<code> }</code><br/>
<code>}</code><br/>
<code>"2020-08-10": {</code><br>
<code> "frameworks": {</code><br>
<code> "resources/jquery/1.12.4/jquery.min.jsm": 5</code><br>
<code> },</code><br>
<code> "cdns": {</code><br>
<code> "ajax.googleapis.com": 5</code><br>
<code> }</code><br>
<code>}</code><br>
</div>
<p data-i18n-content="helpStatisticsContent">The statistics contain no information about the browser, operating system, requesting website, IP addresses or any other information. Just date, CDN+counter and framework+counter. It shows you which frameworks are replaced by LocalCDNs how often and which CDNs were requested.</p>
<h3 span data-i18n-content="helpStatisticsTruthTitle">How do I know that's true?</h3>
<h3 data-i18n-content="helpStatisticsTruthTitle">How do I know that's true?</h3>
<p>
<span data-i18n-content="helpStatisticsTruthDescription">The extension storage can be viewed directly with the Firefox browser. Open the URL "about:debugging", switch to "Storage" and select "Extension Storage". Under the key "internalStatisticsData" you will find the collected data. Just copy it and put it into a JSON PrettyPrinter to make it more readable. Please note that you have to remove the first and last quotation mark and the key to it. You should be able to see this clearly in this video.</span><br/>
<span data-i18n-content="helpStatisticsTruthDescription">The extension storage can be viewed directly with the Firefox browser. Open the URL "about:debugging", switch to "Storage" and select "Extension Storage". Under the key "internalStatisticsData" you will find the collected data. Just copy it and put it into a JSON PrettyPrinter to make it more readable. Please note that you have to remove the first and last quotation mark and the key to it. You should be able to see this clearly in this video.</span><br>
<a href="https://www.localcdn.org/view-extension-storage.mp4">https://www.localcdn.org/view-extension-storage.mp4</a>
</p>
</div>

View File

@ -3,7 +3,7 @@
<head>
<title>Options | LocalCDN</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta charset="utf-8" />
<meta charset="utf-8">
<link rel="shortcut icon" href="../images/favicon.ico" type="image/x-icon">
<link rel="icon" href="../images/favicon.ico" type="image/x-icon">
<link rel="stylesheet" type="text/css" href="../../modules/internal/color-picker/color-picker.css">
@ -29,27 +29,27 @@
<script src="options.js"></script>
<div class="btn-group">
<input type="button" id="btn-general-tab" class="option-buttons option-buttons-active" data-option-tab="general-tab" data-i18n-content="btnGeneral" value="General"/>
<input type="button" id="btn-advanced-tab" class="option-buttons" data-option-tab="advanced-tab" data-i18n-content="btnAdvanced" value="Advanced"/>
<input type="button" id="btn-export-import-tab" class="option-buttons" data-option-tab="export-import-tab" data-i18n-content="btnOther" value="Other"/>
<input type="button" id="btn-info-tab" class="option-buttons" data-option-tab="info-tab" data-i18n-content="btnInfo" value="Info"/>
<input type="button" id="btn-general-tab" class="option-buttons option-buttons-active" data-option-tab="general-tab" data-i18n-content="btnGeneral" value="General">
<input type="button" id="btn-advanced-tab" class="option-buttons" data-option-tab="advanced-tab" data-i18n-content="btnAdvanced" value="Advanced">
<input type="button" id="btn-export-import-tab" class="option-buttons" data-option-tab="export-import-tab" data-i18n-content="btnOther" value="Other">
<input type="button" id="btn-info-tab" class="option-buttons" data-option-tab="info-tab" data-i18n-content="btnInfo" value="Info">
</div>
<div id="chromium-banner" class="chromium-banner">Non-Firefox browsers do not support all features of LocalCDN. <a class="no-icon" href="../help/help.html#browser-compatibility">Read more</a></div>
<div id="general-tab" class="tab-content">
<div class="option-group">
<section class="option">
<div class="option">
<div class="title-option">
<label class="b-contain">
<input data-option="showIconBadge" type="checkbox">
<span data-i18n-content="showIconBadgeTitle">Display injection counts on icon</span>
<div class="b-input"></div>
<span class="b-input"></span>
</label>
</div>
<div class="description-option" data-i18n-content="showIconBadgeDescription">Show the number of injected resources on the extension icon.</div>
</section>
<section class="option">
</div>
<div class="option">
<div class="title-option b-contain">
<span data-i18n-content="updateNotificationTitle">Notification after an update</span>
</div>
@ -60,68 +60,68 @@
<option value="2" data-i18n-content="updateNotificationAlways">Always</option>
</select>
</div>
</section>
<section class="option">
</div>
<div class="option">
<div class="title-option">
<label class="b-contain">
<input data-option="disablePrefetch" type="checkbox">
<span data-i18n-content="disablePrefetchTitle">Disable link prefetching</span>
<div class="b-input"></div>
<span class="b-input"></span>
</label>
</div>
<div class="description-option" data-i18n-content="disablePrefetchDescription">Prevent disallowed requests from leaking out to delivery networks.</div>
</section>
<section class="option">
</div>
<div class="option">
<div class="title-option">
<label class="b-contain">
<input data-option="stripMetadata" type="checkbox">
<span data-i18n-content="stripMetadataTitle">Strip metadata from allowed requests</span>
<div class="b-input"></div>
<span class="b-input"></span>
</label>
</div>
<div class="description-option" data-i18n-content="stripMetadataDescription">Erase sensitive data from allowed CDN requests for improved privacy.</div>
</section>
<section class="option">
</div>
<div class="option">
<div class="title-option">
<label class="b-contain">
<input data-option="internalStatistics" type="checkbox">
<span data-i18n-content="internalStatisticsTitle">Internal statistics</span>
<div class="b-input"></div>
<span class="b-input"></span>
</label>
</div>
<div class="description-option" data-i18n-content="internalStatisticsDescription">No data transmission. It's all local on your device.</div>
</section>
<section class="option">
</div>
<div class="option">
<div class="title-option">
<label class="b-contain">
<input data-option="hideDonationButton" type="checkbox">
<span data-i18n-content="hideDonationButton">Hide donation button</span>
<div class="b-input"></div>
<span class="b-input"></span>
</label>
</div>
</section>
</div>
</div>
<div class="option-group">
<section class="option">
<div class="option">
<div class="title-option without-checkbox" data-i18n-content="allowlistedDomainsTitle">Deactivate LocalCDN for these domains:</div>
<textarea rows="7" id="allowlistedDomains" class="input-text without-checkbox" data-option="allowlistedDomains" type="text"></textarea>
<textarea rows="7" id="allowlistedDomains" class="input-text without-checkbox" data-option="allowlistedDomains"></textarea>
<div class="description-option without-checkbox">
<span data-i18n-content="allowlistedDomainsDescription">Enter domains to disable LocalCDN there. One domain per line.</span><br><br>
<span class="monoblock">
<img class="checked-unchecked" src="../../icons/checked.svg"/> example.com<br>
<img class="checked-unchecked" src="../../icons/checked.svg"/> sub.example.com<br>
<img class="checked-unchecked" src="../../icons/checked.svg"/> *.example.com<br>
<img class="checked-unchecked" src="../../icons/unchecked.svg"/> https://example.com<br>
<img class="checked-unchecked" src="../../icons/unchecked.svg"/> https://*.example.com<br>
<img class="checked-unchecked" src="../../icons/unchecked.svg"/> https://example.com/page/example.html
<img class="checked-unchecked" src="../../icons/checked.svg" alt=""> example.com<br>
<img class="checked-unchecked" src="../../icons/checked.svg" alt=""> sub.example.com<br>
<img class="checked-unchecked" src="../../icons/checked.svg" alt=""> *.example.com<br>
<img class="checked-unchecked" src="../../icons/unchecked.svg" alt=""> https://example.com<br>
<img class="checked-unchecked" src="../../icons/unchecked.svg" alt=""> https://*.example.com<br>
<img class="checked-unchecked" src="../../icons/unchecked.svg" alt=""> https://example.com/page/example.html
</span>
</div>
</section>
</div>
</div>
</div>
<div id="advanced-tab" class="tab-content">
<section class="notice notice-warning hidden" id="notice-block-missing">
<div class="notice notice-warning hidden" id="notice-block-missing">
<div class="notice-head">
<span data-i18n-content="blockMissingTitle">Block requests for missing resources</span>
</div>
@ -133,97 +133,96 @@
Disable
</div>
</div>
</section>
</div>
<div class="option-group">
<section class="option">
<div class="option">
<div class="title-option">
<label class="b-contain">
<input id="blockMissing" data-option="blockMissing" type="checkbox">
<span data-i18n-content="blockMissingTitle">Block requests for missing resources</span>
<div class="b-input"></div>
<span class="b-input"></span>
</label>
<span class="badge badge-warning" data-i18n-content="advancedLabel">Advanced</span>
</div>
<div class="description-option" data-i18n-content="blockMissingDescription">Cancel intercepted request if the required resource is not locally available.</div>
</section>
<section id="block-google-fonts" class="option">
</div>
<div id="block-google-fonts" class="option">
<div class="title-option">
<label class="b-contain">
<input id="blockGoogleFonts" data-option="blockGoogleFonts" type="checkbox">
<span data-i18n-content="blockGoogleFontsTitle">Block Google Fonts</span>
<div class="b-input"></div>
<span class="b-input"></span>
</label>
</div>
<div class="description-option" data-i18n-content="blockGoogleFontsDescription">If you use the rules of the rule generator, requests to "fonts.googleapis.com" are allowed to substitute "Google Material Icons" automatically. If you want to block the other requests, enable this option.</div>
<div id="div-domains-allowlist-google-fonts">
<div class="description-option"><textarea rows="7" id="allowedDomainsGoogleFonts" class="input-text without-checkbox" data-option="allowedDomainsGoogleFonts" type="text"></textarea></div>
<div class="description-option"><textarea rows="7" id="allowedDomainsGoogleFonts" class="input-text without-checkbox" data-option="allowedDomainsGoogleFonts"></textarea></div>
<div class="description-option">
<span data-i18n-content="labelDomainsAllowlistGoogleFonts">These domains are allowed to load Google Fonts. One domain per line.</span><br>
<span class="monoblock">
<img class="checked-unchecked" src="../../icons/checked.svg"/> example.com<br>
<img class="checked-unchecked" src="../../icons/checked.svg"/> sub.example.com<br>
<img class="checked-unchecked" src="../../icons/checked.svg"/> *.example.com<br>
<img class="checked-unchecked" src="../../icons/unchecked.svg"/> https://example.com<br>
<img class="checked-unchecked" src="../../icons/unchecked.svg"/> https://*.example.com<br>
<img class="checked-unchecked" src="../../icons/unchecked.svg"/> https://example.com/page/example.html
<img class="checked-unchecked" src="../../icons/checked.svg" alt=""> example.com<br>
<img class="checked-unchecked" src="../../icons/checked.svg" alt=""> sub.example.com<br>
<img class="checked-unchecked" src="../../icons/checked.svg" alt=""> *.example.com<br>
<img class="checked-unchecked" src="../../icons/unchecked.svg" alt=""> https://example.com<br>
<img class="checked-unchecked" src="../../icons/unchecked.svg" alt=""> https://*.example.com<br>
<img class="checked-unchecked" src="../../icons/unchecked.svg" alt=""> https://example.com/page/example.html
</span>
</div>
</div>
</section>
<section class="option">
</div>
<div class="option">
<div class="title-option">
<label class="b-contain">
<input id="enableLogging" data-option="enableLogging" type="checkbox">
<span data-i18n-content="loggingTitle">Enable logging</span>
<div class="b-input"></div>
<span class="b-input"></span>
</label>
</div>
<div class="description-option" data-i18n-content="loggingDescription">You can open the log with the icon in the menu. The log will be deleted when you close the browser or disable logging.</div>
</section>
<section class="option">
</div>
<div class="option">
<div class="title-option">
<label class="b-contain">
<input id="changeBadgeColorMissingResources" data-option="changeBadgeColorMissingResources" type="checkbox">
<span data-i18n-content="changeBadgeColorMissingResourcesTitle">Indicate missing resources on the icon</span>
<div class="b-input"></div>
<span class="b-input"></span>
</label>
<span class="badge badge-warning" data-i18n-content="betaLabel">Beta</span>
</div>
<div class="description-option" data-i18n-content="changeBadgeColorMissingResourcesDescription">Change the badge color if resources are missing.</div>
</section>
</div>
</div>
<div id="html-filter-div" class="option-group">
<section class="option">
<div class="option">
<div id="html-filter-domains-title-exclude" class="title-option without-checkbox" data-i18n-content="htmlFilterDomainsTitleExclude">Do not apply HTML filter to these domains:</div>
<div id="html-filter-domains-title-include" class="title-option without-checkbox" data-i18n-content="htmlFilterDomainsTitleInclude">Apply HTML filter to these domains:</div>
<textarea rows="7" id="domainsManipulateDOM" class="input-text without-checkbox" data-option="domainsManipulateDOM" type="text"></textarea>
<textarea rows="7" id="domainsManipulateDOM" class="input-text without-checkbox" data-option="domainsManipulateDOM"></textarea>
<div class="description-option without-checkbox">
<span data-i18n-content="htmlFilterDomainsDescription">Enter the domains to be handled or ignored by the HTML filter. One domain per line.</span><br>
<span class="monoblock">
<img class="checked-unchecked" src="../../icons/checked.svg"/> example.com<br>
<img class="checked-unchecked" src="../../icons/checked.svg"/> sub.example.com<br>
<img class="checked-unchecked" src="../../icons/checked.svg"/> *.example.com<br>
<img class="checked-unchecked" src="../../icons/unchecked.svg"/> https://example.com<br>
<img class="checked-unchecked" src="../../icons/unchecked.svg"/> https://*.example.com<br>
<img class="checked-unchecked" src="../../icons/unchecked.svg"/> https://example.com/page/example.html
<img class="checked-unchecked" src="../../icons/checked.svg" alt=""> example.com<br>
<img class="checked-unchecked" src="../../icons/checked.svg" alt=""> sub.example.com<br>
<img class="checked-unchecked" src="../../icons/checked.svg" alt=""> *.example.com<br>
<img class="checked-unchecked" src="../../icons/unchecked.svg" alt=""> https://example.com<br>
<img class="checked-unchecked" src="../../icons/unchecked.svg" alt=""> https://*.example.com<br>
<img class="checked-unchecked" src="../../icons/unchecked.svg" alt=""> https://example.com/page/example.html
</span>
</div>
</section>
<section class="option">
</div>
<div class="option">
<div class="title-option">
<label class="b-contain">
<input id="negateHtmlFilterList" data-option="negateHtmlFilterList" type="checkbox">
<span data-i18n-content="negateHtmlFilterListTitle">Invert HTML filter</span>
<div class="b-input"></div>
<span class="b-input"></span>
</label>
<span class="badge badge-warning" data-i18n-content="advancedLabel">Advanced</span>
</div>
<div class="description-option" data-i18n-content="negateHtmlFilterListDescription">Enable this option to always apply the HTML filter. The domains in the list will be ignored then. If this option is disabled, the HTML filter is only applied to domains in the list.</div>
</section>
</div>
<a id="negate-html-filter-list-warning" data-i18n-content="negateHtmlFilterListWarning">This function can break websites. Please note the information on the Wiki page.</a>
</div>
<div class="option-group">
<section class="option">
<div class="option">
<div class="title-option without-checkbox">
<a class="no-icon" href="../help/help.html#rule-generator">
<span data-i18n-content="generateRuleSetTitle">Generate rule set</span>
@ -238,75 +237,75 @@
</div>
<div class="ruleset-generator">
<label class="b-contain" for="generate-ublock-rules">uBlock
<input id="generate-ublock-rules" name="rule-sets" data-ruleset="uBlock" type="radio" value="uBlock" autocomplete="off">
<div class="b-input"></div>
<input id="generate-ublock-rules" name="rule-sets" data-ruleset="uBlock" type="radio" value="uBlock">
<span class="b-input"></span>
</label>
</div>
<div class="ruleset-generator">
<label class="b-contain" for="generate-umatrix-rules">uMatrix
<input id="generate-umatrix-rules" name="rule-sets" data-ruleset="uMatrix" type="radio" value="uMatrix" autocomplete="off">
<div class="b-input"></div>
<input id="generate-umatrix-rules" name="rule-sets" data-ruleset="uMatrix" type="radio" value="uMatrix">
<span class="b-input"></span>
</label>
</div>
<div class="ruleset-generator">
<label class="b-contain" for="generate-adguard-rules">AdGuard
<input id="generate-adguard-rules" name="rule-sets" data-ruleset="AdGuard" type="radio" value="AdGuard" autocomplete="off">
<div class="b-input"></div>
<input id="generate-adguard-rules" name="rule-sets" data-ruleset="AdGuard" type="radio" value="AdGuard">
<span class="b-input"></span>
</label>
</div>
<div class="ruleset-generator">
<label class="b-contain" for="generate-noscript-rules">NoScript
<input id="generate-noscript-rules" name="rule-sets" data-ruleset="NoScript" type="radio" value="NoScript" autocomplete="off">
<div class="b-input"></div>
<input id="generate-noscript-rules" name="rule-sets" data-ruleset="NoScript" type="radio" value="NoScript">
<span class="b-input"></span>
</label>
</div>
<textarea rows="12" id="generated-rules" readonly></textarea>
<button id="button-copy-rule-set" value="Copy" class="btns"><span data-i18n-content="copyRuleSet">Copy</span><span id="button-copy-rule-set-icon"></span></button>
</section>
</div>
</div>
</div>
<div id="export-import-tab" class="tab-content">
<div id="icon-style-div" class="option-group">
<section id="section-icon-style" class="option">
<div id="section-icon-style" class="option">
<div class="title-option without-checkbox" data-i18n-content="chooseIconStyle">Choose an icon for this extension</div>
<div class="div-icons-badge-colors">
<div class="div-selected-icon">
<label class="b-contain" for="icon-default">
<img src="../../icons/action/default/icon32-default.png" alt="Default" class="icons">
<img src="../../icons/action/default/icon32-disabled.png" alt="Default" class="icons">
<img src="../../icons/action/default/icon32-default.png" alt="" class="icons">
<img src="../../icons/action/default/icon32-disabled.png" alt="" class="icons">
<input id="icon-default" name="selected-icon" type="radio" data-option="selectedIcon" value="Default">
<div class="b-input"></div>
<span class="b-input"></span>
</label>
<label class="b-contain" for="icon-grey">
<img src="../../icons/action/grey/icon32-default.png" alt="Blue/Grey" class="icons">
<img src="../../icons/action/grey/icon32-disabled.png" alt="Blue/Grey" class="icons">
<img src="../../icons/action/grey/icon32-default.png" alt="" class="icons">
<img src="../../icons/action/grey/icon32-disabled.png" alt="" class="icons">
<input id="icon-grey" name="selected-icon" type="radio" data-option="selectedIcon" value="Grey">
<div class="b-input"></div>
<span class="b-input"></span>
</label>
<label class="b-contain" for="icon-light">
<img src="../../icons/action/light/icon32-default.png" alt="Light" class="icons">
<img src="../../icons/action/light/icon32-disabled.png" alt="Light" class="icons">
<img src="../../icons/action/light/icon32-default.png" alt="" class="icons">
<img src="../../icons/action/light/icon32-disabled.png" alt="" class="icons">
<input id="icon-light" name="selected-icon" type="radio" data-option="selectedIcon" value="Light">
<div class="b-input"></div>
<span class="b-input"></span>
</label>
</div>
<div class="div-badge">
<p class="title-option" data-i18n-content="titleBadgeDefault">Default badge</p>
<div id="badge-preview-top">
<div>
<img id="icon-badge-preview" src="../../icons/action/default/icon38-default.png" alt="Default" class="icons">
<img id="icon-badge-preview" src="../../icons/action/default/icon38-default.png" alt="" class="icons">
<div id="counter-preview-badge"><span>17</span></div>
</div>
</div>
<div id="badge-preview-bottom">
<div class="colorpicker">
<div id="pre-badged-background-color"></div>
<input id="badged-background-color" data-option="badgeDefaultBackgroundColor" class="input-text" maxlength="7"><img id="restore-background-color" class="img-restore-color" src="../../icons/restore.svg"><br>
<input id="badged-background-color" data-option="badgeDefaultBackgroundColor" class="input-text" maxlength="7"><img id="restore-background-color" class="img-restore-color" src="../../icons/restore.svg" alt=""><br>
</div>
<div id="div-badged-text-color" class="colorpicker">
<div id="pre-badged-text-color"></div>
<input id="badged-text-color" data-option="badgeDefaultTextColor" class="input-text" maxlength="7"><img id="restore-text-color" class="img-restore-color" src="../../icons/restore.svg">
<input id="badged-text-color" data-option="badgeDefaultTextColor" class="input-text" maxlength="7"><img id="restore-text-color" class="img-restore-color" src="../../icons/restore.svg" alt="">
</div>
</div>
</div>
@ -314,18 +313,18 @@
<p class="title-option" data-i18n-content="titleBadgeHTMLFilter">HTML filter badge</p>
<div id="html-badge-preview-top">
<div>
<img id="html-icon-badge-preview" src="../../icons/action/default/icon38-default.png" alt="Default" class="icons">
<img id="html-icon-badge-preview" src="../../icons/action/default/icon38-default.png" alt="" class="icons">
<div id="html-counter-preview-badge"><span>17</span></div>
</div>
</div>
<div id="html-badge-preview-bottom">
<div class="colorpicker">
<div id="html-pre-badged-background-color"></div>
<input id="html-badged-background-color" data-option="badgeHTMLFilterBackgroundColor" class="input-text" maxlength="7"><img id="html-restore-background-color" class="img-restore-color" src="../../icons/restore.svg"><br>
<input id="html-badged-background-color" data-option="badgeHTMLFilterBackgroundColor" class="input-text" maxlength="7"><img id="html-restore-background-color" class="img-restore-color" src="../../icons/restore.svg" alt=""><br>
</div>
<div id="html-div-badged-text-color" class="colorpicker">
<div id="html-pre-badged-text-color"></div>
<input id="html-badged-text-color" data-option="badgeHTMLfilterTextColor" class="input-text" maxlength="7"><img id="html-restore-text-color" class="img-restore-color" src="../../icons/restore.svg">
<input id="html-badged-text-color" data-option="badgeHTMLfilterTextColor" class="input-text" maxlength="7"><img id="html-restore-text-color" class="img-restore-color" src="../../icons/restore.svg" alt="">
</div>
</div>
</div>
@ -333,82 +332,84 @@
<p class="title-option" data-i18n-content="titleBadgeMissingResource">Missing resource badge</p>
<div id="missing-badge-preview-top">
<div>
<img id="missing-icon-badge-preview" src="../../icons/action/default/icon38-default.png" alt="Default" class="icons">
<img id="missing-icon-badge-preview" src="../../icons/action/default/icon38-default.png" alt="" class="icons">
<div id="missing-counter-preview-badge"><span>17</span></div>
</div>
</div>
<div id="missing-badge-preview-bottom">
<div class="colorpicker">
<div id="missing-pre-badged-background-color"></div>
<input id="missing-badged-background-color" data-option="badgeMissingResourceBackgroundColor" class="input-text" maxlength="7"><img id="missing-restore-background-color" class="img-restore-color" src="../../icons/restore.svg"><br>
<input id="missing-badged-background-color" data-option="badgeMissingResourceBackgroundColor" class="input-text" maxlength="7"><img id="missing-restore-background-color" class="img-restore-color" src="../../icons/restore.svg" alt=""><br>
</div>
<div id="missing-div-badged-text-color" class="colorpicker">
<div id="missing-pre-badged-text-color"></div>
<input id="missing-badged-text-color" data-option="badgeMissingResourceTextColor" class="input-text" maxlength="7"><img id="missing-restore-text-color" class="img-restore-color" src="../../icons/restore.svg">
<input id="missing-badged-text-color" data-option="badgeMissingResourceTextColor" class="input-text" maxlength="7"><img id="missing-restore-text-color" class="img-restore-color" src="../../icons/restore.svg" alt="">
</div>
</div>
</div>
</div>
</section>
</div>
</div>
<div class="option-group">
<section class="option">
<div class="option">
<div class="title-option without-checkbox"><span data-i18n-content="headerStorageType">Storage type</span><span id="sync-help" class="options-help-icon"></span></div>
<label class="b-contain storage-type" for="storage-type-local"><span data-i18n-content="labelStorageTypeLocal">Local (recommended)</span>
<input id="storage-type-local" data-option="storageType" name="storage-type" type="radio" value="local">
<div class="b-input"></div>
<span class="b-input"></span>
</label>
<label class="b-contain storage-type" for="storage-type-sync"><span data-i18n-content="labelStorageTypeSync">Sync</span>
<input id="storage-type-sync" data-option="storageType" name="storage-type" type="radio" value="sync">
<div class="b-input"></div>
<span class="b-input"></span>
</label>
</section>
<section class="option">
</div>
<div class="option">
<div class="title-option without-checkbox" data-i18n-content="headerImportExport">Import/Export</div>
<div class="import-export">
<input type="button" id="import-data" class="btns" value="Import Data" data-i18n-content="labelImportData"/>
<input type="button" id="export-data" class="btns" value="Export Data" data-i18n-content="labelExportData"/>
<input type="button" id="import-data" class="btns" value="Import Data" data-i18n-content="labelImportData">
<input type="button" id="export-data" class="btns" value="Export Data" data-i18n-content="labelExportData">
<div class="hidden">
<input id="import-file-picker" type="file" accept="text/plain">
</div>
</div>
</section>
</div>
</div>
</div>
<div id="info-tab" class="tab-content">
<div class="option-group">
<section class="option info">
<div class="option info">
<div>
<input type="button" id="cdn" class="btns"/>
<input type="button" id="framework" class="btns"/>
<input type="button" id="cdn" class="btns" value="cdn">
<input type="button" id="framework" class="btns" value="framework">
</div>
<ul id="unsupported-frameworks">
<li>Font Awesome are not supported by your browser</li>
<li>Google Material Icons are not supported by your browser</li>
</ul>
<textarea rows="12" cols="15" id="generated-list" readonly></textarea>
</section>
</div>
</div>
<div class="option-group">
<section class="option">
<div class="option">
<ul class="option-links">
<li><a id="link-welcome-page" href="../welcome/welcome.html" class="no-icon">Welcome page (In-App)</a></li>
<li><a id="link-changelog" href="../updates/updates.html" class="no-icon">Changelog (In-App)</a></li>
<li><a id="link-donate" href="../donate/donate.html" class="no-icon">Donate (In-App)</a></li>
<li><a id="link-faq" href="../help/help.html" class="no-icon">FAQ (In-App)</a></li>
<li><a id="link-statistic" href="../statistics/statistics.html" class="no-icon"><span data-i18n-content="internalStatisticsTitle">Statistics</span> <span>(In-App)</span></a></li>
<li><a id="link-logging" href="../logging/logging.html" class="no-icon">Logs (In-App)</span></a></li><br>
<li><a id="link-logging" href="../logging/logging.html" class="no-icon">Logs <span>(In-App)</span></a></li>
</ul>
<ul class="option-links">
<li><a id="link-codeberg" href="https://codeberg.org/nobody/LocalCDN" target="_blank" rel="nofollow noopener noreferrer">Source (www.codeberg.org)</a></li>
<li><a id="link-website" href="https://www.localcdn.org" target="_blank" rel="nofollow noopener noreferrer">Website (www.localcdn.org)</a></li>
<li><a id="link-website-test" href="https://www.localcdn.org/test" target="_blank" rel="nofollow noopener noreferrer">Testing Utility (www.localcdn.org/test)</a></li>
<li><a id="link-translate" href="https://hosted.weblate.org/projects/localcdn/localcdn/" target="_blank" rel="nofollow noopener noreferrer">Translate (www.weblate.org)</a></li>
<li><a id="link-translate" href="https://www.localcdn.org/thanks" target="_blank" rel="nofollow noopener noreferrer">Credits (www.localcdn.org)</a></li>
<li><a id="link-thanks" href="https://www.localcdn.org/thanks" target="_blank" rel="nofollow noopener noreferrer">Credits (www.localcdn.org)</a></li>
</ul>
</section>
</div>
</div>
</div>
<section class="notice notice-default hidden" id="notice-locale">
<div class="notice notice-default hidden" id="notice-locale">
<div class="notice-body" dir="ltr">
<div class="notice-message">
Your preferred language is not yet fully supported. Please help out by translating this add-on on Weblate.
@ -417,7 +418,7 @@
Translate
</a>
</div>
</section>
</div>
<p class="footer">LocalCDN v<span id="label-version"></span></p>
</body>
</html>

View File

@ -3,7 +3,7 @@
<head>
<title>Popup | LocalCDN</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta charset="utf-8" />
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="popup.css">
<link rel="stylesheet" type="text/css" href="toggle.css">
<link rel="stylesheet" type="text/css" href="../base.css">
@ -16,7 +16,7 @@
<script src="popup.js"></script>
<header>
<div class="heading">
<img class="icon-logo" src="../../icons/icon.svg" alt="Extension Icon">
<img class="icon-logo" src="../../icons/icon.svg" alt="">
<span id="name-label"></span> <sup id="version-label" class="label-version"></sup>
</div>
<div id="donate-button">
@ -24,19 +24,15 @@
<div id="donate-button-svg" class="button-svg" data-link="donate"></div>
</div>
</header>
<section class="content">
<div class="content">
<div id="website-context" class="panel hidden">
<div class="subpanel">
<div id="protection-toggle">
<label class='toggle' for='protection-toggle-switch'>
<input type='checkbox' name='protection-toggle-switch' id='protection-toggle-switch' class="toggle__input">
<span class="toggle__display" hidden>
<svg width='18' height='14' viewBox='0 0 18 14' fill='none' xmlns='http://www.w3.org/2000/svg' aria-hidden="true" focusable="false" class="toggle__icon toggle__icon--checkmark">
<path d='M6.08471 10.6237L2.29164 6.83059L1 8.11313L6.08471 13.1978L17 2.28255L15.7175 1L6.08471 10.6237Z' fill='currentcolor' stroke='currentcolor' />
</svg>
<svg width='13' height='13' viewBox='0 0 13 13' fill='none' xmlns='http://www.w3.org/2000/svg' aria-hidden="true" focusable="false" class="toggle__icon toggle__icon--cross">
<path d='M11.167 0L6.5 4.667L1.833 0L0 1.833L4.667 6.5L0 11.167L1.833 13L6.5 8.333L11.167 13L13 11.167L8.333 6.5L13 1.833L11.167 0Z' fill='currentcolor' />
</svg>
<img class="toggle__img" src="../../icons/popup_check.svg" alt="">
<img class="toggle__img" src="../../icons/popup_uncheck.svg" alt="">
</span>
</label>
</div>
@ -49,12 +45,8 @@
<label class='toggle' for='manipulateDOM-toggle-switch'>
<input type='checkbox' name='manipulateDOM-toggle-switch' id='manipulateDOM-toggle-switch' class="toggle__input">
<span class="toggle__display" hidden>
<svg width='18' height='14' viewBox='0 0 18 14' fill='none' xmlns='http://www.w3.org/2000/svg' aria-hidden="true" focusable="false" class="toggle__icon toggle__icon--checkmark">
<path d='M6.08471 10.6237L2.29164 6.83059L1 8.11313L6.08471 13.1978L17 2.28255L15.7175 1L6.08471 10.6237Z' fill='currentcolor' stroke='currentcolor' />
</svg>
<svg width='13' height='13' viewBox='0 0 13 13' fill='none' xmlns='http://www.w3.org/2000/svg' aria-hidden="true" focusable="false" class="toggle__icon toggle__icon--cross">
<path d='M11.167 0L6.5 4.667L1.833 0L0 1.833L4.667 6.5L0 11.167L1.833 13L6.5 8.333L11.167 13L13 11.167L8.333 6.5L13 1.833L11.167 0Z' fill='currentcolor' />
</svg>
<img class="toggle__img" src="../../icons/popup_check.svg" alt="">
<img class="toggle__img" src="../../icons/popup_uncheck.svg" alt="">
</span>
</label>
</div>
@ -67,12 +59,8 @@
<label class='toggle' for='google-fonts-toggle-switch'>
<input type='checkbox' name='google-fonts-toggle-switch' id='google-fonts-toggle-switch' class="toggle__input">
<span class="toggle__display" hidden>
<svg width='18' height='14' viewBox='0 0 18 14' fill='none' xmlns='http://www.w3.org/2000/svg' aria-hidden="true" focusable="false" class="toggle__icon toggle__icon--checkmark">
<path d='M6.08471 10.6237L2.29164 6.83059L1 8.11313L6.08471 13.1978L17 2.28255L15.7175 1L6.08471 10.6237Z' fill='currentcolor' stroke='currentcolor' />
</svg>
<svg width='13' height='13' viewBox='0 0 13 13' fill='none' xmlns='http://www.w3.org/2000/svg' aria-hidden="true" focusable="false" class="toggle__icon toggle__icon--cross">
<path d='M11.167 0L6.5 4.667L1.833 0L0 1.833L4.667 6.5L0 11.167L1.833 13L6.5 8.333L11.167 13L13 11.167L8.333 6.5L13 1.833L11.167 0Z' fill='currentcolor' />
</svg>
<img class="toggle__img" src="../../icons/popup_check.svg" alt="">
<img class="toggle__img" src="../../icons/popup_uncheck.svg" alt="">
</span>
</label>
</div>
@ -85,7 +73,7 @@
<div id="injection-counter" class="counter">0</div>
<div class="description" data-i18n-content="amountInjectedDescription">Amount of local Content Delivery Network resource injections since installation.</div>
</div>
</section>
</div>
<footer>
<div id="testing-utility">
<a id="testing-utility-link" class="link-text" data-i18n-content="websiteBroken" data-link="testing-utility">Website broken?</a>

View File

@ -619,7 +619,7 @@ popup._onLoggingButtonClicked = function (ev) {
* Initializations
*/
popup.negateHtmlFilterList = false;
popup.negateHtmlFilterList = true;
popup._statisticsStatus = false;
popup._loggingStatus = false;
popup._blockGoogleFonts = true;

View File

@ -123,6 +123,10 @@ button.toggle {
color: #f0f0f0;
}
.toggle__img {
width: 12px;
}
*,
::before,
::after {

View File

@ -16,7 +16,7 @@
<script src="updates.js"></script>
</head>
<body>
<img src="../images/logo.svg" alt="LocalCDN" class="logo"/>
<img src="../images/logo.svg" alt="" class="logo">
<div class="container">
<h1>Release notes</h1>
<div class="notice">
@ -27,23 +27,51 @@
<div class="release-notes-area">
<p>Updated</p>
<ul>
<li>axios v1.2.0 -> v1.2.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1238">#1238</a>)</li>
<li>tinymce v6.3.0 -> v6.3.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1239">#1239</a>)</li>
<li>paginationjs v2.3.0 -> v2.4.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1240">#1240</a>)</li>
<li>findify-bundle v7.1.75 -> v7.1.77 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1241">#1241</a>)</li>
<li>react-router v6.4.4 -> v6.4.5 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1242">#1242</a>)</li>
<li>dayjs v1.11.6 -> v1.11.7 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1243">#1243</a>)</li>
<li>hls.js v1.2.8 -> v1.2.9 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1244">#1244</a>)</li>
<li>libphonenumber-js v1.10.14 -> v1.10.15 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1247">#1247</a>)</li>
<li>bootswatch v5.2.2 -> v5.2.3 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1250">#1250</a>)</li>
<li>bootstrap-table v1.21.1 -> v1.21.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1251">#1251</a>)</li>
<li>paginationjs v2.4.1 -> v2.5.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1252">#1252</a>)</li>
<li>findify-bundle v7.1.77 -> v7.1.80 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1253">#1253</a>)</li>
<li>jquery v3.6.1 -> v3.6.3 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1256">#1256</a>)</li>
<li>ngx-bootstrap v10.0.0 -> v10.2.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1257">#1257</a>)</li>
<li>instantsearch.js v4.49.1 -> v4.49.3 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1260">#1260</a>)</li>
<li>dygraph v2.1.0 -> v2.1.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1261">#1261</a>)</li>
<li>slider-pro v1.6.0 -> v1.6.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1262">#1262</a>)</li>
<li>Chart.js v4.0.1 -> v4.1.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1263">#1263</a>)</li>
<li>react-router v6.4.5 -> v6.6.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1266">#1266</a>)</li>
<li>algoliasearch v4.14.2 -> v4.14.3 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1267">#1267</a>)</li>
<li>d3 v7.7.0 -> v7.8.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1268">#1268</a>)</li>
<li>axios v1.2.1 -> v1.2.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1269">#1269</a>)</li>
<li>gsap v3.11.3 -> v3.11.4 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1270">#1270</a>)</li>
<li>bootstrap-icons v1.10.2 -> v1.10.3 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1273">#1273</a>)</li>
<li>bodymovin v5.10.0 -> v5.10.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1276">#1276</a>)</li>
<li>mdb-ui-kit v6.0.1 -> v6.1.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1279">#1279</a>)</li>
</ul>
<p>Added</p>
<ul>
<li>ngx-bootstrap v10.0.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1245">#1245</a>)</li>
<li>swagger-ui v4.15.5 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1246">#1246</a>)</li>
<li>nprogress v0.2.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1254">#1254</a>)</li>
<li>tensorflow v4.2.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1264">#1264</a>)</li>
<li>ScrollMagic (Bundle) v2.0.8 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1277">#1277</a>)</li>
<li>vue-router v3.6.5 & v4.1.6 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1278">#1278</a>)</li>
<li>twitter-bootstrap v4.1.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1280">#1280</a>)</li>
<li>instantsearch.css v8.0.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1281">#1281</a>)</li>
<li>URI.js v1.19.11 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1282">#1282</a>)</li>
</ul>
<p>Improved</p>
<ul>
<li>HTML filter active by default (<a href="https://codeberg.org/nobody/LocalCDN/issues/1249">#1249</a>)</li>
<li>Bootstrap: Redirect alpha and beta versions to the stable version (<a href="https://codeberg.org/nobody/LocalCDN/issues/1265">#1265</a>)</li>
</ul>
<p>Mapping</p>
<ul>
<li>unpkg.com/cdn.jsdelivr.net -> aos@next (<a href="https://codeberg.org/nobody/LocalCDN/issues/1272">#1272</a>)</li>
</ul>
<p>Fixed</p>
<ul>
<li>Sync: settings are not saved locally (<a href="https://codeberg.org/nobody/LocalCDN/issues/1236">#1236</a>)</li>
<li>Filename Chart.js (<a href="https://codeberg.org/nobody/LocalCDN/issues/1275">#1275</a>)</li>
</ul>
<p>Removed</p>
<ul>
<li>findify (<a href="https://codeberg.org/nobody/LocalCDN/issues/1283">#1283</a>)</li>
</ul>
</div>
<div id="generator-section">
@ -52,36 +80,57 @@
</div>
<div class="ruleset-generator">
<label class="b-contain" for="generate-ublock-rules">uBlock
<input id="generate-ublock-rules" name="rule-sets" data-ruleset="uBlock" type="radio" value="uBlock" autocomplete="off">
<div class="b-input"></div>
<input id="generate-ublock-rules" name="rule-sets" data-ruleset="uBlock" type="radio" value="uBlock">
<span class="b-input"></span>
</label>
</div>
<div class="ruleset-generator">
<label class="b-contain" for="generate-umatrix-rules">uMatrix
<input id="generate-umatrix-rules" name="rule-sets" data-ruleset="uMatrix" type="radio" value="uMatrix" autocomplete="off">
<div class="b-input"></div>
<input id="generate-umatrix-rules" name="rule-sets" data-ruleset="uMatrix" type="radio" value="uMatrix">
<span class="b-input"></span>
</label>
</div>
<div class="ruleset-generator">
<label class="b-contain" for="generate-adguard-rules">AdGuard
<input id="generate-adguard-rules" name="rule-sets" data-ruleset="AdGuard" type="radio" value="AdGuard" autocomplete="off">
<div class="b-input"></div>
<input id="generate-adguard-rules" name="rule-sets" data-ruleset="AdGuard" type="radio" value="AdGuard">
<span class="b-input"></span>
</label>
</div>
<div class="ruleset-generator">
<label class="b-contain" for="generate-noscript-rules">NoScript
<input id="generate-noscript-rules" name="rule-sets" data-ruleset="NoScript" type="radio" value="NoScript" autocomplete="off">
<div class="b-input"></div>
<input id="generate-noscript-rules" name="rule-sets" data-ruleset="NoScript" type="radio" value="NoScript">
<span class="b-input"></span>
</label>
</div>
<div>
<textarea rows="12" cols="15" id="generated-rules" readonly></textarea>
<input id="button-copy-rule-set" type="button" value="Copy">
</div>
<hr/>
<hr>
</div>
<div id="history"><span id="history-indicator">+</span> Previous Versions</div>
<div id="history-release-notes">
<p class='release-date'>2022-12-10 (v2.6.43)</p>
<p>Updated</p>
<ul>
<li>axios v1.2.0 -> v1.2.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1238">#1238</a>)</li>
<li>tinymce v6.3.0 -> v6.3.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1239">#1239</a>)</li>
<li>paginationjs v2.3.0 -> v2.4.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1240">#1240</a>)</li>
<li>findify-bundle v7.1.75 -> v7.1.77 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1241">#1241</a>)</li>
<li>react-router v6.4.4 -> v6.4.5 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1242">#1242</a>)</li>
<li>dayjs v1.11.6 -> v1.11.7 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1243">#1243</a>)</li>
<li>hls.js v1.2.8 -> v1.2.9 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1244">#1244</a>)</li>
<li>libphonenumber-js v1.10.14 -> v1.10.15 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1247">#1247</a>)</li>
</ul>
<p>Added</p>
<ul>
<li>ngx-bootstrap v10.0.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1245">#1245</a>)</li>
<li>swagger-ui v4.15.5 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1246">#1246</a>)</li>
</ul>
<p>Fixed</p>
<ul>
<li>Sync: settings are not saved locally (<a href="https://codeberg.org/nobody/LocalCDN/issues/1236">#1236</a>)</li>
</ul>
<p class='release-date'>2022-12-04 (v2.6.42)</p>
<p>Fixed</p>
<ul>
@ -1332,7 +1381,6 @@
<li>Updated: instantsearch.js v4.16.1 -> v4.18.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/330">#330</a>)</li>
<li>Updated: lazysizes v5.3.0 -> v5.3.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/331">#331</a>)</li>
</ul>
</p>
<p class='release-date'>2021-03-15 (v2.6.3)</p>
<ul>
<li>Fixed: Check status code in HTML filter (<a href="https://codeberg.org/nobody/LocalCDN/issues/277">#277</a>)</li>
@ -1381,8 +1429,6 @@
</ul>
</li>
</ul>
</p>
<p class='release-date'>2021-02-20 (v2.6.2)</p>
<ul>
<li>Rejected by Mozilla</li>

View File

@ -13,7 +13,7 @@
<script src="welcome.js"></script>
</head>
<body>
<img src="../images/logo.svg" alt="LocalCDN" class="logo"/>
<img src="../images/logo.svg" alt="" class="logo">
<h1>Hello</h1>
<div class="notice">
<h2>What is LocalCDN?</h2>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
/*! ScrollMagic v2.0.8 | (c) 2020 Jan Paepke (@janpaepke) | license & info: http://scrollmagic.io */
!function(e,n){var r;"function"==typeof define&&define.amd?define(["ScrollMagic","gsap","TweenMax","TimelineMax"],n):"object"==typeof exports?(r=require("gsap/dist/gsap")||require("gsap"),n(require("scrollmagic"),r,TweenMax||r,TimelineMax||r)):n(e.ScrollMagic||e.jQuery&&e.jQuery.ScrollMagic,e.gsap,e.gsap||e.TweenMax||e.TweenLite,e.gsap||e.TimelineMax||e.TimelineLite)}(this,function(e,n,p,u){"use strict";var g=n&&3<=parseFloat(n.version);e.Scene.addOption("tweenChanges",!1,function(e){return!!e}),e.Scene.extend(function(){var o,i=this;i.on("progress.plugin_gsap",function(){s()}),i.on("destroy.plugin_gsap",function(e){i.removeTween(e.reset)});var s=function(){var e,n;o&&(e=i.progress(),n=i.state(),o.repeat&&-1===o.repeat()?"DURING"===n&&o.paused()?o.play():"DURING"===n||o.paused()||o.pause():e!=o.progress()&&(0===i.duration()?0<e?o.play():o.reverse():i.tweenChanges()&&o.tweenTo?o.tweenTo(e*o.duration()):o.progress(e).pause()))};i.setTween=function(e,n,r){var t,a;1<arguments.length&&(a="number"==typeof arguments[1],g?(a||(r=n),r.hasOwnProperty("duration")||(r.duration=a?n:1)):arguments.length<3&&(r=n,n=1),e=g?p.to(e,r):p.to(e,n,r));try{(t=u&&!g?new u({smoothChildTiming:!0}).add(e):e).pause()}catch(e){return i}return o&&i.removeTween(),o=t,e.repeat&&-1===e.repeat()&&(o.repeat(-1),o.yoyo(e.yoyo())),s(),i},i.removeTween=function(e){return o&&(e&&o.progress(0).pause(),o.kill(),o=void 0),i}})});

View File

@ -0,0 +1,2 @@
/*! ScrollMagic v2.0.8 | (c) 2020 Jan Paepke (@janpaepke) | license & info: http://scrollmagic.io */
!function(e,i){"function"==typeof define&&define.amd?define(["ScrollMagic","velocity"],i):"object"==typeof exports?i(require("scrollmagic"),require("velocity")):i(e.ScrollMagic||e.jQuery&&e.jQuery.ScrollMagic,e.Velocity||e.jQuery&&e.jQuery.Velocity)}(this,function(e,y){"use strict";var v=0;e.Scene.extend(function(){var o,r,u,n,c=this,l=e._util,i=0;c.on("progress.plugin_velocity",function(){f()}),c.on("destroy.plugin_velocity",function(e){c.off("*.plugin_velocity"),c.removeVelocity(e.reset)});var s=function(e,i,t){l.type.Array(e)?e.forEach(function(e){s(e,i,t)}):(y.Utilities.data(e,n)||y.Utilities.data(e,n,{reverseProps:l.css(e,Object.keys(r))}),y(e,i,t),void 0!==t.queue&&y.Utilities.dequeue(e,t.queue))},a=function(e,i){var t;l.type.Array(e)?e.forEach(function(e){a(e,i)}):(t=y.Utilities.data(e,n))&&t.reverseProps&&(y(e,t.reverseProps,i),void 0!==i.queue&&y.Utilities.dequeue(e,i.queue))},f=function(){var e;!o||(e=c.progress())!=i&&(0===c.duration()&&(0<e?s(o,r,u):a(o,u)),i=e)};c.setVelocity=function(e,i,t){return o&&c.removeVelocity(),o=l.get.elements(e),r=i||{},n="ScrollMagic.animation.velocity["+v+++"]",void 0!==(u=t||{}).queue&&(u.queue=n+"_queue"),f(),c},c.removeVelocity=function(e){return o&&(void 0!==u.queue&&y(o,"stop",u.queue),e&&a(o,{duration:0}),o.forEach(function(e){y.Utilities.removeData(e,n)}),o=r=u=n=void 0),c}})});

View File

@ -0,0 +1,2 @@
/*! ScrollMagic v2.0.8 | (c) 2020 Jan Paepke (@janpaepke) | license & info: http://scrollmagic.io */
!function(e,i){"function"==typeof define&&define.amd?define(["ScrollMagic","jquery"],i):"object"==typeof exports?i(require("scrollmagic"),require("jquery")):i(e.ScrollMagic,e.jQuery)}(this,function(e,t){"use strict";e._util.get.elements=function(e){return t(e).toArray()},e._util.addClass=function(e,i){t(e).addClass(i)},e._util.removeClass=function(e,i){t(e).removeClass(i)},t.ScrollMagic=e});

View File

@ -0,0 +1,94 @@
/*! URI.js v1.19.11 http://medialize.github.io/URI.js/ */
/* build contains: IPv6.js, punycode.js, SecondLevelDomains.js, URI.js, URITemplate.js */
(function(r,x){"object"===typeof module&&module.exports?module.exports=x():"function"===typeof define&&define.amd?define(x):r.IPv6=x(r)})(this,function(r){var x=r&&r.IPv6;return{best:function(k){k=k.toLowerCase().split(":");var m=k.length,d=8;""===k[0]&&""===k[1]&&""===k[2]?(k.shift(),k.shift()):""===k[0]&&""===k[1]?k.shift():""===k[m-1]&&""===k[m-2]&&k.pop();m=k.length;-1!==k[m-1].indexOf(".")&&(d=7);var q;for(q=0;q<m&&""!==k[q];q++);if(q<d)for(k.splice(q,1,"0000");k.length<d;)k.splice(q,0,"0000");
for(q=0;q<d;q++){m=k[q].split("");for(var E=0;3>E;E++)if("0"===m[0]&&1<m.length)m.splice(0,1);else break;k[q]=m.join("")}m=-1;var A=E=0,h=-1,p=!1;for(q=0;q<d;q++)p?"0"===k[q]?A+=1:(p=!1,A>E&&(m=h,E=A)):"0"===k[q]&&(p=!0,h=q,A=1);A>E&&(m=h,E=A);1<E&&k.splice(m,E,"");m=k.length;d="";""===k[0]&&(d=":");for(q=0;q<m;q++){d+=k[q];if(q===m-1)break;d+=":"}""===k[m-1]&&(d+=":");return d},noConflict:function(){r.IPv6===this&&(r.IPv6=x);return this}}});
(function(r){function x(l){throw new RangeError(H[l]);}function k(l,t){for(var C=l.length,y=[];C--;)y[C]=t(l[C]);return y}function m(l,t){var C=l.split("@"),y="";1<C.length&&(y=C[0]+"@",l=C[1]);l=l.replace(w,".");C=l.split(".");C=k(C,t).join(".");return y+C}function d(l){for(var t=[],C=0,y=l.length,J,M;C<y;)J=l.charCodeAt(C++),55296<=J&&56319>=J&&C<y?(M=l.charCodeAt(C++),56320==(M&64512)?t.push(((J&1023)<<10)+(M&1023)+65536):(t.push(J),C--)):t.push(J);return t}function q(l){return k(l,function(t){var C=
"";65535<t&&(t-=65536,C+=g(t>>>10&1023|55296),t=56320|t&1023);return C+=g(t)}).join("")}function E(l,t,C){var y=0;l=C?v(l/700):l>>1;for(l+=v(l/t);455<l;y+=36)l=v(l/35);return v(y+36*l/(l+38))}function A(l){var t=[],C=l.length,y=0,J=128,M=72,a,b;var c=l.lastIndexOf("-");0>c&&(c=0);for(a=0;a<c;++a)128<=l.charCodeAt(a)&&x("not-basic"),t.push(l.charCodeAt(a));for(c=0<c?c+1:0;c<C;){a=y;var e=1;for(b=36;;b+=36){c>=C&&x("invalid-input");var f=l.charCodeAt(c++);f=10>f-48?f-22:26>f-65?f-65:26>f-97?f-97:36;
(36<=f||f>v((2147483647-y)/e))&&x("overflow");y+=f*e;var n=b<=M?1:b>=M+26?26:b-M;if(f<n)break;f=36-n;e>v(2147483647/f)&&x("overflow");e*=f}e=t.length+1;M=E(y-a,e,0==a);v(y/e)>2147483647-J&&x("overflow");J+=v(y/e);y%=e;t.splice(y++,0,J)}return q(t)}function h(l){var t,C,y,J=[];l=d(l);var M=l.length;var a=128;var b=0;var c=72;for(y=0;y<M;++y){var e=l[y];128>e&&J.push(g(e))}for((t=C=J.length)&&J.push("-");t<M;){var f=2147483647;for(y=0;y<M;++y)e=l[y],e>=a&&e<f&&(f=e);var n=t+1;f-a>v((2147483647-b)/n)&&
x("overflow");b+=(f-a)*n;a=f;for(y=0;y<M;++y)if(e=l[y],e<a&&2147483647<++b&&x("overflow"),e==a){var z=b;for(f=36;;f+=36){e=f<=c?1:f>=c+26?26:f-c;if(z<e)break;var I=z-e;z=36-e;var L=J;e+=I%z;L.push.call(L,g(e+22+75*(26>e)-0));z=v(I/z)}J.push(g(z+22+75*(26>z)-0));c=E(b,n,t==C);b=0;++t}++b;++a}return J.join("")}var p="object"==typeof exports&&exports&&!exports.nodeType&&exports,D="object"==typeof module&&module&&!module.nodeType&&module,u="object"==typeof global&&global;if(u.global===u||u.window===u||
u.self===u)r=u;var K=/^xn--/,F=/[^\x20-\x7E]/,w=/[\x2E\u3002\uFF0E\uFF61]/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},v=Math.floor,g=String.fromCharCode,B;var G={version:"1.3.2",ucs2:{decode:d,encode:q},decode:A,encode:h,toASCII:function(l){return m(l,function(t){return F.test(t)?"xn--"+h(t):t})},toUnicode:function(l){return m(l,function(t){return K.test(t)?A(t.slice(4).toLowerCase()):
t})}};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return G});else if(p&&D)if(module.exports==p)D.exports=G;else for(B in G)G.hasOwnProperty(B)&&(p[B]=G[B]);else r.punycode=G})(this);
(function(r,x){"object"===typeof module&&module.exports?module.exports=x():"function"===typeof define&&define.amd?define(x):r.SecondLevelDomains=x(r)})(this,function(r){var x=r&&r.SecondLevelDomains,k={list:{ac:" com gov mil net org ",ae:" ac co gov mil name net org pro sch ",af:" com edu gov net org ",al:" com edu gov mil net org ",ao:" co ed gv it og pb ",ar:" com edu gob gov int mil net org tur ",at:" ac co gv or ",au:" asn com csiro edu gov id net org ",ba:" co com edu gov mil net org rs unbi unmo unsa untz unze ",
bb:" biz co com edu gov info net org store tv ",bh:" biz cc com edu gov info net org ",bn:" com edu gov net org ",bo:" com edu gob gov int mil net org tv ",br:" adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ",bs:" com edu gov net org ",bz:" du et om ov rg ",ca:" ab bc mb nb nf nl ns nt nu on pe qc sk yk ",
ck:" biz co edu gen gov info net org ",cn:" ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ",co:" com edu gov mil net nom org ",cr:" ac c co ed fi go or sa ",cy:" ac biz com ekloges gov ltd name net org parliament press pro tm ","do":" art com edu gob gov mil net org sld web ",dz:" art asso com edu gov net org pol ",ec:" com edu fin gov info med mil net org pro ",eg:" com edu eun gov mil name net org sci ",er:" com edu gov ind mil net org rochest w ",
es:" com edu gob nom org ",et:" biz com edu gov info name net org ",fj:" ac biz com info mil name net org pro ",fk:" ac co gov net nom org ",fr:" asso com f gouv nom prd presse tm ",gg:" co net org ",gh:" com edu gov mil org ",gn:" ac com gov net org ",gr:" com edu gov mil net org ",gt:" com edu gob ind mil net org ",gu:" com edu gov net org ",hk:" com edu gov idv net org ",hu:" 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ",
id:" ac co go mil net or sch web ",il:" ac co gov idf k12 muni net org ","in":" ac co edu ernet firm gen gov i ind mil net nic org res ",iq:" com edu gov i mil net org ",ir:" ac co dnssec gov i id net org sch ",it:" edu gov ",je:" co net org ",jo:" com edu gov mil name net org sch ",jp:" ac ad co ed go gr lg ne or ",ke:" ac co go info me mobi ne or sc ",kh:" com edu gov mil net org per ",ki:" biz com de edu gov info mob net org tel ",km:" asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ",
kn:" edu gov net org ",kr:" ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ",kw:" com edu gov net org ",ky:" com edu gov net org ",kz:" com edu gov mil net org ",lb:" com edu gov net org ",lk:" assn com edu gov grp hotel int ltd net ngo org sch soc web ",lr:" com edu gov net org ",lv:" asn com conf edu gov id mil net org ",ly:" com edu gov id med net org plc sch ",ma:" ac co gov m net org press ",
mc:" asso tm ",me:" ac co edu gov its net org priv ",mg:" com edu gov mil nom org prd tm ",mk:" com edu gov inf name net org pro ",ml:" com edu gov net org presse ",mn:" edu gov org ",mo:" com edu gov net org ",mt:" com edu gov net org ",mv:" aero biz com coop edu gov info int mil museum name net org pro ",mw:" ac co com coop edu gov int museum net org ",mx:" com edu gob net org ",my:" com edu gov mil name net org sch ",nf:" arts com firm info net other per rec store web ",ng:" biz com edu gov mil mobi name net org sch ",
ni:" ac co com edu gob mil net nom org ",np:" com edu gov mil net org ",nr:" biz com edu gov info net org ",om:" ac biz co com edu gov med mil museum net org pro sch ",pe:" com edu gob mil net nom org sld ",ph:" com edu gov i mil net ngo org ",pk:" biz com edu fam gob gok gon gop gos gov net org web ",pl:" art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ",pr:" ac biz com edu est gov info isla name net org pro prof ",
ps:" com edu gov net org plo sec ",pw:" belau co ed go ne or ",ro:" arts com firm info nom nt org rec store tm www ",rs:" ac co edu gov in org ",sb:" com edu gov net org ",sc:" com edu gov net org ",sh:" co com edu gov net nom org ",sl:" com edu gov net org ",st:" co com consulado edu embaixada gov mil net org principe saotome store ",sv:" com edu gob org red ",sz:" ac co org ",tr:" av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ",tt:" aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ",
tw:" club com ebiz edu game gov idv mil net org ",mu:" ac co com gov net or org ",mz:" ac co edu gov org ",na:" co com ",nz:" ac co cri geek gen govt health iwi maori mil net org parliament school ",pa:" abo ac com edu gob ing med net nom org sld ",pt:" com edu gov int net nome org publ ",py:" com edu gov mil net org ",qa:" com edu gov mil net org ",re:" asso com nom ",ru:" ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ",
rw:" ac co com edu gouv gov int mil net ",sa:" com edu gov med net org pub sch ",sd:" com edu gov info med net org tv ",se:" a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ",sg:" com edu gov idn net org per ",sn:" art com edu gouv org perso univ ",sy:" com edu gov mil net news org ",th:" ac co go in mi net or ",tj:" ac biz co com edu go gov info int mil name net nic org test web ",tn:" agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ",
tz:" ac co go ne or ",ua:" biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ",ug:" ac co go ne or org sc ",uk:" ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ",
us:" dni fed isa kids nsn ",uy:" com edu gub mil net org ",ve:" co com edu gob info mil net org web ",vi:" co com k12 net org ",vn:" ac biz com edu gov health info int name net org pro ",ye:" co com gov ltd me net org plc ",yu:" ac co edu gov org ",za:" ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ",zm:" ac co com edu gov net org sch ",com:"ar br cn de eu gb gr hu jpn kr no qc ru sa se uk us uy za ",net:"gb jp se uk ",
org:"ae",de:"com "},has:function(m){var d=m.lastIndexOf(".");if(0>=d||d>=m.length-1)return!1;var q=m.lastIndexOf(".",d-1);if(0>=q||q>=d-1)return!1;var E=k.list[m.slice(d+1)];return E?0<=E.indexOf(" "+m.slice(q+1,d)+" "):!1},is:function(m){var d=m.lastIndexOf(".");if(0>=d||d>=m.length-1||0<=m.lastIndexOf(".",d-1))return!1;var q=k.list[m.slice(d+1)];return q?0<=q.indexOf(" "+m.slice(0,d)+" "):!1},get:function(m){var d=m.lastIndexOf(".");if(0>=d||d>=m.length-1)return null;var q=m.lastIndexOf(".",d-1);
if(0>=q||q>=d-1)return null;var E=k.list[m.slice(d+1)];return!E||0>E.indexOf(" "+m.slice(q+1,d)+" ")?null:m.slice(q+1)},noConflict:function(){r.SecondLevelDomains===this&&(r.SecondLevelDomains=x);return this}};return k});
(function(r,x){"object"===typeof module&&module.exports?module.exports=x(require("./punycode"),require("./IPv6"),require("./SecondLevelDomains")):"function"===typeof define&&define.amd?define(["./punycode","./IPv6","./SecondLevelDomains"],x):r.URI=x(r.punycode,r.IPv6,r.SecondLevelDomains,r)})(this,function(r,x,k,m){function d(a,b){var c=1<=arguments.length,e=2<=arguments.length;if(!(this instanceof d))return c?e?new d(a,b):new d(a):new d;if(void 0===a){if(c)throw new TypeError("undefined is not a valid argument for URI");
a="undefined"!==typeof location?location.href+"":""}if(null===a&&c)throw new TypeError("null is not a valid argument for URI");this.href(a);return void 0!==b?this.absoluteTo(b):this}function q(a){return a.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function E(a){return void 0===a?"Undefined":String(Object.prototype.toString.call(a)).slice(8,-1)}function A(a){return"Array"===E(a)}function h(a,b){var c={},e;if("RegExp"===E(b))c=null;else if(A(b)){var f=0;for(e=b.length;f<e;f++)c[b[f]]=!0}else c[b]=
!0;f=0;for(e=a.length;f<e;f++)if(c&&void 0!==c[a[f]]||!c&&b.test(a[f]))a.splice(f,1),e--,f--;return a}function p(a,b){var c;if(A(b)){var e=0;for(c=b.length;e<c;e++)if(!p(a,b[e]))return!1;return!0}var f=E(b);e=0;for(c=a.length;e<c;e++)if("RegExp"===f){if("string"===typeof a[e]&&a[e].match(b))return!0}else if(a[e]===b)return!0;return!1}function D(a,b){if(!A(a)||!A(b)||a.length!==b.length)return!1;a.sort();b.sort();for(var c=0,e=a.length;c<e;c++)if(a[c]!==b[c])return!1;return!0}function u(a){return a.replace(/^\/+|\/+$/g,
"")}function K(a){return escape(a)}function F(a){return encodeURIComponent(a).replace(/[!'()*]/g,K).replace(/\*/g,"%2A")}function w(a){return function(b,c){if(void 0===b)return this._parts[a]||"";this._parts[a]=b||null;this.build(!c);return this}}function H(a,b){return function(c,e){if(void 0===c)return this._parts[a]||"";null!==c&&(c+="",c.charAt(0)===b&&(c=c.substring(1)));this._parts[a]=c;this.build(!e);return this}}var v=m&&m.URI;d.version="1.19.11";var g=d.prototype,B=Object.prototype.hasOwnProperty;
d._parts=function(){return{protocol:null,username:null,password:null,hostname:null,urn:null,port:null,path:null,query:null,fragment:null,preventInvalidHostname:d.preventInvalidHostname,duplicateQueryParameters:d.duplicateQueryParameters,escapeQuerySpace:d.escapeQuerySpace}};d.preventInvalidHostname=!1;d.duplicateQueryParameters=!1;d.escapeQuerySpace=!0;d.protocol_expression=/^[a-z][a-z0-9.+-]*$/i;d.idn_expression=/[^a-z0-9\._-]/i;d.punycode_expression=/(xn--)/i;d.ip4_expression=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/;
d.ip6_expression=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/;
d.find_uri_expression=/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?\u00ab\u00bb\u201c\u201d\u2018\u2019]))/ig;d.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?\u00ab\u00bb\u201c\u201d\u201e\u2018\u2019]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g};d.leading_whitespace_expression=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/;
d.ascii_tab_whitespace=/[\u0009\u000A\u000D]+/g;d.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"};d.hostProtocols=["http","https"];d.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/;d.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"};d.getDomAttribute=function(a){if(a&&a.nodeName){var b=a.nodeName.toLowerCase();if("input"!==
b||"image"===a.type)return d.domAttributes[b]}};d.encode=F;d.decode=decodeURIComponent;d.iso8859=function(){d.encode=escape;d.decode=unescape};d.unicode=function(){d.encode=F;d.decode=decodeURIComponent};d.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/ig,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/ig,
map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}},urnpath:{encode:{expression:/%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/ig,map:{"%21":"!","%24":"$","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"=","%40":"@"}},decode:{expression:/[\/\?#:]/g,map:{"/":"%2F","?":"%3F","#":"%23",":":"%3A"}}}};d.encodeQuery=function(a,b){var c=d.encode(a+"");
void 0===b&&(b=d.escapeQuerySpace);return b?c.replace(/%20/g,"+"):c};d.decodeQuery=function(a,b){a+="";void 0===b&&(b=d.escapeQuerySpace);try{return d.decode(b?a.replace(/\+/g,"%20"):a)}catch(c){return a}};var G={encode:"encode",decode:"decode"},l,t=function(a,b){return function(c){try{return d[b](c+"").replace(d.characters[a][b].expression,function(e){return d.characters[a][b].map[e]})}catch(e){return c}}};for(l in G)d[l+"PathSegment"]=t("pathname",G[l]),d[l+"UrnPathSegment"]=t("urnpath",G[l]);G=
function(a,b,c){return function(e){var f=c?function(I){return d[b](d[c](I))}:d[b];e=(e+"").split(a);for(var n=0,z=e.length;n<z;n++)e[n]=f(e[n]);return e.join(a)}};d.decodePath=G("/","decodePathSegment");d.decodeUrnPath=G(":","decodeUrnPathSegment");d.recodePath=G("/","encodePathSegment","decode");d.recodeUrnPath=G(":","encodeUrnPathSegment","decode");d.encodeReserved=t("reserved","encode");d.parse=function(a,b){b||(b={preventInvalidHostname:d.preventInvalidHostname});a=a.replace(d.leading_whitespace_expression,
"");a=a.replace(d.ascii_tab_whitespace,"");var c=a.indexOf("#");-1<c&&(b.fragment=a.substring(c+1)||null,a=a.substring(0,c));c=a.indexOf("?");-1<c&&(b.query=a.substring(c+1)||null,a=a.substring(0,c));a=a.replace(/^(https?|ftp|wss?)?:+[/\\]*/i,"$1://");a=a.replace(/^[/\\]{2,}/i,"//");"//"===a.substring(0,2)?(b.protocol=null,a=a.substring(2),a=d.parseAuthority(a,b)):(c=a.indexOf(":"),-1<c&&(b.protocol=a.substring(0,c)||null,b.protocol&&!b.protocol.match(d.protocol_expression)?b.protocol=void 0:"//"===
a.substring(c+1,c+3).replace(/\\/g,"/")?(a=a.substring(c+3),a=d.parseAuthority(a,b)):(a=a.substring(c+1),b.urn=!0)));b.path=a;return b};d.parseHost=function(a,b){a||(a="");a=a.replace(/\\/g,"/");var c=a.indexOf("/");-1===c&&(c=a.length);if("["===a.charAt(0)){var e=a.indexOf("]");b.hostname=a.substring(1,e)||null;b.port=a.substring(e+2,c)||null;"/"===b.port&&(b.port=null)}else{var f=a.indexOf(":");e=a.indexOf("/");f=a.indexOf(":",f+1);-1!==f&&(-1===e||f<e)?(b.hostname=a.substring(0,c)||null,b.port=
null):(e=a.substring(0,c).split(":"),b.hostname=e[0]||null,b.port=e[1]||null)}b.hostname&&"/"!==a.substring(c).charAt(0)&&(c++,a="/"+a);b.preventInvalidHostname&&d.ensureValidHostname(b.hostname,b.protocol);b.port&&d.ensureValidPort(b.port);return a.substring(c)||"/"};d.parseAuthority=function(a,b){a=d.parseUserinfo(a,b);return d.parseHost(a,b)};d.parseUserinfo=function(a,b){var c=a;-1!==a.indexOf("\\")&&(a=a.replace(/\\/g,"/"));var e=a.indexOf("/"),f=a.lastIndexOf("@",-1<e?e:a.length-1);-1<f&&(-1===
e||f<e)?(e=a.substring(0,f).split(":"),b.username=e[0]?d.decode(e[0]):null,e.shift(),b.password=e[0]?d.decode(e.join(":")):null,a=c.substring(f+1)):(b.username=null,b.password=null);return a};d.parseQuery=function(a,b){if(!a)return{};a=a.replace(/&+/g,"&").replace(/^\?*&*|&+$/g,"");if(!a)return{};for(var c={},e=a.split("&"),f=e.length,n,z,I=0;I<f;I++)if(n=e[I].split("="),z=d.decodeQuery(n.shift(),b),n=n.length?d.decodeQuery(n.join("="),b):null,"__proto__"!==z)if(B.call(c,z)){if("string"===typeof c[z]||
null===c[z])c[z]=[c[z]];c[z].push(n)}else c[z]=n;return c};d.build=function(a){var b="",c=!1;a.protocol&&(b+=a.protocol+":");a.urn||!b&&!a.hostname||(b+="//",c=!0);b+=d.buildAuthority(a)||"";"string"===typeof a.path&&("/"!==a.path.charAt(0)&&c&&(b+="/"),b+=a.path);"string"===typeof a.query&&a.query&&(b+="?"+a.query);"string"===typeof a.fragment&&a.fragment&&(b+="#"+a.fragment);return b};d.buildHost=function(a){var b="";if(a.hostname)b=d.ip6_expression.test(a.hostname)?b+("["+a.hostname+"]"):b+a.hostname;
else return"";a.port&&(b+=":"+a.port);return b};d.buildAuthority=function(a){return d.buildUserinfo(a)+d.buildHost(a)};d.buildUserinfo=function(a){var b="";a.username&&(b+=d.encode(a.username));a.password&&(b+=":"+d.encode(a.password));b&&(b+="@");return b};d.buildQuery=function(a,b,c){var e="",f,n;for(f in a)if("__proto__"!==f&&B.call(a,f))if(A(a[f])){var z={};var I=0;for(n=a[f].length;I<n;I++)void 0!==a[f][I]&&void 0===z[a[f][I]+""]&&(e+="&"+d.buildQueryParameter(f,a[f][I],c),!0!==b&&(z[a[f][I]+
""]=!0))}else void 0!==a[f]&&(e+="&"+d.buildQueryParameter(f,a[f],c));return e.substring(1)};d.buildQueryParameter=function(a,b,c){return d.encodeQuery(a,c)+(null!==b?"="+d.encodeQuery(b,c):"")};d.addQuery=function(a,b,c){if("object"===typeof b)for(var e in b)B.call(b,e)&&d.addQuery(a,e,b[e]);else if("string"===typeof b)void 0===a[b]?a[b]=c:("string"===typeof a[b]&&(a[b]=[a[b]]),A(c)||(c=[c]),a[b]=(a[b]||[]).concat(c));else throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");
};d.setQuery=function(a,b,c){if("object"===typeof b)for(var e in b)B.call(b,e)&&d.setQuery(a,e,b[e]);else if("string"===typeof b)a[b]=void 0===c?null:c;else throw new TypeError("URI.setQuery() accepts an object, string as the name parameter");};d.removeQuery=function(a,b,c){var e;if(A(b))for(c=0,e=b.length;c<e;c++)a[b[c]]=void 0;else if("RegExp"===E(b))for(e in a)b.test(e)&&(a[e]=void 0);else if("object"===typeof b)for(e in b)B.call(b,e)&&d.removeQuery(a,e,b[e]);else if("string"===typeof b)void 0!==
c?"RegExp"===E(c)?!A(a[b])&&c.test(a[b])?a[b]=void 0:a[b]=h(a[b],c):a[b]!==String(c)||A(c)&&1!==c.length?A(a[b])&&(a[b]=h(a[b],c)):a[b]=void 0:a[b]=void 0;else throw new TypeError("URI.removeQuery() accepts an object, string, RegExp as the first parameter");};d.hasQuery=function(a,b,c,e){switch(E(b)){case "String":break;case "RegExp":for(var f in a)if(B.call(a,f)&&b.test(f)&&(void 0===c||d.hasQuery(a,f,c)))return!0;return!1;case "Object":for(var n in b)if(B.call(b,n)&&!d.hasQuery(a,n,b[n]))return!1;
return!0;default:throw new TypeError("URI.hasQuery() accepts a string, regular expression or object as the name parameter");}switch(E(c)){case "Undefined":return b in a;case "Boolean":return a=!(A(a[b])?!a[b].length:!a[b]),c===a;case "Function":return!!c(a[b],b,a);case "Array":return A(a[b])?(e?p:D)(a[b],c):!1;case "RegExp":return A(a[b])?e?p(a[b],c):!1:!(!a[b]||!a[b].match(c));case "Number":c=String(c);case "String":return A(a[b])?e?p(a[b],c):!1:a[b]===c;default:throw new TypeError("URI.hasQuery() accepts undefined, boolean, string, number, RegExp, Function as the value parameter");
}};d.joinPaths=function(){for(var a=[],b=[],c=0,e=0;e<arguments.length;e++){var f=new d(arguments[e]);a.push(f);f=f.segment();for(var n=0;n<f.length;n++)"string"===typeof f[n]&&b.push(f[n]),f[n]&&c++}if(!b.length||!c)return new d("");b=(new d("")).segment(b);""!==a[0].path()&&"/"!==a[0].path().slice(0,1)||b.path("/"+b.path());return b.normalize()};d.commonPath=function(a,b){var c=Math.min(a.length,b.length),e;for(e=0;e<c;e++)if(a.charAt(e)!==b.charAt(e)){e--;break}if(1>e)return a.charAt(0)===b.charAt(0)&&
"/"===a.charAt(0)?"/":"";if("/"!==a.charAt(e)||"/"!==b.charAt(e))e=a.substring(0,e).lastIndexOf("/");return a.substring(0,e+1)};d.withinString=function(a,b,c){c||(c={});var e=c.start||d.findUri.start,f=c.end||d.findUri.end,n=c.trim||d.findUri.trim,z=c.parens||d.findUri.parens,I=/[a-z0-9-]=["']?$/i;for(e.lastIndex=0;;){var L=e.exec(a);if(!L)break;var P=L.index;if(c.ignoreHtml){var N=a.slice(Math.max(P-3,0),P);if(N&&I.test(N))continue}var O=P+a.slice(P).search(f);N=a.slice(P,O);for(O=-1;;){var Q=z.exec(N);
if(!Q)break;O=Math.max(O,Q.index+Q[0].length)}N=-1<O?N.slice(0,O)+N.slice(O).replace(n,""):N.replace(n,"");N.length<=L[0].length||c.ignore&&c.ignore.test(N)||(O=P+N.length,L=b(N,P,O,a),void 0===L?e.lastIndex=O:(L=String(L),a=a.slice(0,P)+L+a.slice(O),e.lastIndex=P+L.length))}e.lastIndex=0;return a};d.ensureValidHostname=function(a,b){var c=!!a,e=!1;b&&(e=p(d.hostProtocols,b));if(e&&!c)throw new TypeError("Hostname cannot be empty, if protocol is "+b);if(a&&a.match(d.invalid_hostname_characters)){if(!r)throw new TypeError('Hostname "'+
a+'" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');if(r.toASCII(a).match(d.invalid_hostname_characters))throw new TypeError('Hostname "'+a+'" contains characters other than [A-Z0-9.-:_]');}};d.ensureValidPort=function(a){if(a){var b=Number(a);if(!(/^[0-9]+$/.test(b)&&0<b&&65536>b))throw new TypeError('Port "'+a+'" is not a valid port');}};d.noConflict=function(a){if(a)return a={URI:this.noConflict()},m.URITemplate&&"function"===typeof m.URITemplate.noConflict&&(a.URITemplate=
m.URITemplate.noConflict()),m.IPv6&&"function"===typeof m.IPv6.noConflict&&(a.IPv6=m.IPv6.noConflict()),m.SecondLevelDomains&&"function"===typeof m.SecondLevelDomains.noConflict&&(a.SecondLevelDomains=m.SecondLevelDomains.noConflict()),a;m.URI===this&&(m.URI=v);return this};g.build=function(a){if(!0===a)this._deferred_build=!0;else if(void 0===a||this._deferred_build)this._string=d.build(this._parts),this._deferred_build=!1;return this};g.clone=function(){return new d(this)};g.valueOf=g.toString=
function(){return this.build(!1)._string};g.protocol=w("protocol");g.username=w("username");g.password=w("password");g.hostname=w("hostname");g.port=w("port");g.query=H("query","?");g.fragment=H("fragment","#");g.search=function(a,b){var c=this.query(a,b);return"string"===typeof c&&c.length?"?"+c:c};g.hash=function(a,b){var c=this.fragment(a,b);return"string"===typeof c&&c.length?"#"+c:c};g.pathname=function(a,b){if(void 0===a||!0===a){var c=this._parts.path||(this._parts.hostname?"/":"");return a?
(this._parts.urn?d.decodeUrnPath:d.decodePath)(c):c}this._parts.path=this._parts.urn?a?d.recodeUrnPath(a):"":a?d.recodePath(a):"/";this.build(!b);return this};g.path=g.pathname;g.href=function(a,b){var c;if(void 0===a)return this.toString();this._string="";this._parts=d._parts();var e=a instanceof d,f="object"===typeof a&&(a.hostname||a.path||a.pathname);a.nodeName&&(f=d.getDomAttribute(a),a=a[f]||"",f=!1);!e&&f&&void 0!==a.pathname&&(a=a.toString());if("string"===typeof a||a instanceof String)this._parts=
d.parse(String(a),this._parts);else if(e||f){e=e?a._parts:a;for(c in e)"query"!==c&&B.call(this._parts,c)&&(this._parts[c]=e[c]);e.query&&this.query(e.query,!1)}else throw new TypeError("invalid input");this.build(!b);return this};g.is=function(a){var b=!1,c=!1,e=!1,f=!1,n=!1,z=!1,I=!1,L=!this._parts.urn;this._parts.hostname&&(L=!1,c=d.ip4_expression.test(this._parts.hostname),e=d.ip6_expression.test(this._parts.hostname),b=c||e,n=(f=!b)&&k&&k.has(this._parts.hostname),z=f&&d.idn_expression.test(this._parts.hostname),
I=f&&d.punycode_expression.test(this._parts.hostname));switch(a.toLowerCase()){case "relative":return L;case "absolute":return!L;case "domain":case "name":return f;case "sld":return n;case "ip":return b;case "ip4":case "ipv4":case "inet4":return c;case "ip6":case "ipv6":case "inet6":return e;case "idn":return z;case "url":return!this._parts.urn;case "urn":return!!this._parts.urn;case "punycode":return I}return null};var C=g.protocol,y=g.port,J=g.hostname;g.protocol=function(a,b){if(a&&(a=a.replace(/:(\/\/)?$/,
""),!a.match(d.protocol_expression)))throw new TypeError('Protocol "'+a+"\" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]");return C.call(this,a,b)};g.scheme=g.protocol;g.port=function(a,b){if(this._parts.urn)return void 0===a?"":this;void 0!==a&&(0===a&&(a=null),a&&(a+="",":"===a.charAt(0)&&(a=a.substring(1)),d.ensureValidPort(a)));return y.call(this,a,b)};g.hostname=function(a,b){if(this._parts.urn)return void 0===a?"":this;if(void 0!==a){var c={preventInvalidHostname:this._parts.preventInvalidHostname};
if("/"!==d.parseHost(a,c))throw new TypeError('Hostname "'+a+'" contains characters other than [A-Z0-9.-]');a=c.hostname;this._parts.preventInvalidHostname&&d.ensureValidHostname(a,this._parts.protocol)}return J.call(this,a,b)};g.origin=function(a,b){if(this._parts.urn)return void 0===a?"":this;if(void 0===a){var c=this.protocol();return this.authority()?(c?c+"://":"")+this.authority():""}c=d(a);this.protocol(c.protocol()).authority(c.authority()).build(!b);return this};g.host=function(a,b){if(this._parts.urn)return void 0===
a?"":this;if(void 0===a)return this._parts.hostname?d.buildHost(this._parts):"";if("/"!==d.parseHost(a,this._parts))throw new TypeError('Hostname "'+a+'" contains characters other than [A-Z0-9.-]');this.build(!b);return this};g.authority=function(a,b){if(this._parts.urn)return void 0===a?"":this;if(void 0===a)return this._parts.hostname?d.buildAuthority(this._parts):"";if("/"!==d.parseAuthority(a,this._parts))throw new TypeError('Hostname "'+a+'" contains characters other than [A-Z0-9.-]');this.build(!b);
return this};g.userinfo=function(a,b){if(this._parts.urn)return void 0===a?"":this;if(void 0===a){var c=d.buildUserinfo(this._parts);return c?c.substring(0,c.length-1):c}"@"!==a[a.length-1]&&(a+="@");d.parseUserinfo(a,this._parts);this.build(!b);return this};g.resource=function(a,b){if(void 0===a)return this.path()+this.search()+this.hash();var c=d.parse(a);this._parts.path=c.path;this._parts.query=c.query;this._parts.fragment=c.fragment;this.build(!b);return this};g.subdomain=function(a,b){if(this._parts.urn)return void 0===
a?"":this;if(void 0===a){if(!this._parts.hostname||this.is("IP"))return"";var c=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,c)||""}c=this._parts.hostname.length-this.domain().length;c=this._parts.hostname.substring(0,c);c=new RegExp("^"+q(c));a&&"."!==a.charAt(a.length-1)&&(a+=".");if(-1!==a.indexOf(":"))throw new TypeError("Domains cannot contain colons");a&&d.ensureValidHostname(a,this._parts.protocol);this._parts.hostname=this._parts.hostname.replace(c,
a);this.build(!b);return this};g.domain=function(a,b){if(this._parts.urn)return void 0===a?"":this;"boolean"===typeof a&&(b=a,a=void 0);if(void 0===a){if(!this._parts.hostname||this.is("IP"))return"";var c=this._parts.hostname.match(/\./g);if(c&&2>c.length)return this._parts.hostname;c=this._parts.hostname.length-this.tld(b).length-1;c=this._parts.hostname.lastIndexOf(".",c-1)+1;return this._parts.hostname.substring(c)||""}if(!a)throw new TypeError("cannot set domain empty");if(-1!==a.indexOf(":"))throw new TypeError("Domains cannot contain colons");
d.ensureValidHostname(a,this._parts.protocol);!this._parts.hostname||this.is("IP")?this._parts.hostname=a:(c=new RegExp(q(this.domain())+"$"),this._parts.hostname=this._parts.hostname.replace(c,a));this.build(!b);return this};g.tld=function(a,b){if(this._parts.urn)return void 0===a?"":this;"boolean"===typeof a&&(b=a,a=void 0);if(void 0===a){if(!this._parts.hostname||this.is("IP"))return"";var c=this._parts.hostname.lastIndexOf(".");c=this._parts.hostname.substring(c+1);return!0!==b&&k&&k.list[c.toLowerCase()]?
k.get(this._parts.hostname)||c:c}if(a)if(a.match(/[^a-zA-Z0-9-]/))if(k&&k.is(a))c=new RegExp(q(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(c,a);else throw new TypeError('TLD "'+a+'" contains characters other than [A-Z0-9]');else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");c=new RegExp(q(this.tld())+"$");this._parts.hostname=this._parts.hostname.replace(c,a)}else throw new TypeError("cannot set TLD empty");this.build(!b);
return this};g.directory=function(a,b){if(this._parts.urn)return void 0===a?"":this;if(void 0===a||!0===a){if(!this._parts.path&&!this._parts.hostname)return"";if("/"===this._parts.path)return"/";var c=this._parts.path.length-this.filename().length-1;c=this._parts.path.substring(0,c)||(this._parts.hostname?"/":"");return a?d.decodePath(c):c}c=this._parts.path.length-this.filename().length;c=this._parts.path.substring(0,c);c=new RegExp("^"+q(c));this.is("relative")||(a||(a="/"),"/"!==a.charAt(0)&&
(a="/"+a));a&&"/"!==a.charAt(a.length-1)&&(a+="/");a=d.recodePath(a);this._parts.path=this._parts.path.replace(c,a);this.build(!b);return this};g.filename=function(a,b){if(this._parts.urn)return void 0===a?"":this;if("string"!==typeof a){if(!this._parts.path||"/"===this._parts.path)return"";var c=this._parts.path.lastIndexOf("/");c=this._parts.path.substring(c+1);return a?d.decodePathSegment(c):c}c=!1;"/"===a.charAt(0)&&(a=a.substring(1));a.match(/\.?\//)&&(c=!0);var e=new RegExp(q(this.filename())+
"$");a=d.recodePath(a);this._parts.path=this._parts.path.replace(e,a);c?this.normalizePath(b):this.build(!b);return this};g.suffix=function(a,b){if(this._parts.urn)return void 0===a?"":this;if(void 0===a||!0===a){if(!this._parts.path||"/"===this._parts.path)return"";var c=this.filename(),e=c.lastIndexOf(".");if(-1===e)return"";c=c.substring(e+1);c=/^[a-z0-9%]+$/i.test(c)?c:"";return a?d.decodePathSegment(c):c}"."===a.charAt(0)&&(a=a.substring(1));if(c=this.suffix())e=a?new RegExp(q(c)+"$"):new RegExp(q("."+
c)+"$");else{if(!a)return this;this._parts.path+="."+d.recodePath(a)}e&&(a=d.recodePath(a),this._parts.path=this._parts.path.replace(e,a));this.build(!b);return this};g.segment=function(a,b,c){var e=this._parts.urn?":":"/",f=this.path(),n="/"===f.substring(0,1);f=f.split(e);void 0!==a&&"number"!==typeof a&&(c=b,b=a,a=void 0);if(void 0!==a&&"number"!==typeof a)throw Error('Bad segment "'+a+'", must be 0-based integer');n&&f.shift();0>a&&(a=Math.max(f.length+a,0));if(void 0===b)return void 0===a?f:
f[a];if(null===a||void 0===f[a])if(A(b)){f=[];a=0;for(var z=b.length;a<z;a++)if(b[a].length||f.length&&f[f.length-1].length)f.length&&!f[f.length-1].length&&f.pop(),f.push(u(b[a]))}else{if(b||"string"===typeof b)b=u(b),""===f[f.length-1]?f[f.length-1]=b:f.push(b)}else b?f[a]=u(b):f.splice(a,1);n&&f.unshift("");return this.path(f.join(e),c)};g.segmentCoded=function(a,b,c){var e;"number"!==typeof a&&(c=b,b=a,a=void 0);if(void 0===b){a=this.segment(a,b,c);if(A(a)){var f=0;for(e=a.length;f<e;f++)a[f]=
d.decode(a[f])}else a=void 0!==a?d.decode(a):void 0;return a}if(A(b))for(f=0,e=b.length;f<e;f++)b[f]=d.encode(b[f]);else b="string"===typeof b||b instanceof String?d.encode(b):b;return this.segment(a,b,c)};var M=g.query;g.query=function(a,b){if(!0===a)return d.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if("function"===typeof a){var c=d.parseQuery(this._parts.query,this._parts.escapeQuerySpace),e=a.call(this,c);this._parts.query=d.buildQuery(e||c,this._parts.duplicateQueryParameters,
this._parts.escapeQuerySpace);this.build(!b);return this}return void 0!==a&&"string"!==typeof a?(this._parts.query=d.buildQuery(a,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!b),this):M.call(this,a,b)};g.setQuery=function(a,b,c){var e=d.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if("string"===typeof a||a instanceof String)e[a]=void 0!==b?b:null;else if("object"===typeof a)for(var f in a)B.call(a,f)&&(e[f]=a[f]);else throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");
this._parts.query=d.buildQuery(e,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace);"string"!==typeof a&&(c=b);this.build(!c);return this};g.addQuery=function(a,b,c){var e=d.parseQuery(this._parts.query,this._parts.escapeQuerySpace);d.addQuery(e,a,void 0===b?null:b);this._parts.query=d.buildQuery(e,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace);"string"!==typeof a&&(c=b);this.build(!c);return this};g.removeQuery=function(a,b,c){var e=d.parseQuery(this._parts.query,
this._parts.escapeQuerySpace);d.removeQuery(e,a,b);this._parts.query=d.buildQuery(e,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace);"string"!==typeof a&&(c=b);this.build(!c);return this};g.hasQuery=function(a,b,c){var e=d.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return d.hasQuery(e,a,b,c)};g.setSearch=g.setQuery;g.addSearch=g.addQuery;g.removeSearch=g.removeQuery;g.hasSearch=g.hasQuery;g.normalize=function(){return this._parts.urn?this.normalizeProtocol(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build():
this.normalizeProtocol(!1).normalizeHostname(!1).normalizePort(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build()};g.normalizeProtocol=function(a){"string"===typeof this._parts.protocol&&(this._parts.protocol=this._parts.protocol.toLowerCase(),this.build(!a));return this};g.normalizeHostname=function(a){this._parts.hostname&&(this.is("IDN")&&r?this._parts.hostname=r.toASCII(this._parts.hostname):this.is("IPv6")&&x&&(this._parts.hostname=x.best(this._parts.hostname)),this._parts.hostname=
this._parts.hostname.toLowerCase(),this.build(!a));return this};g.normalizePort=function(a){"string"===typeof this._parts.protocol&&this._parts.port===d.defaultPorts[this._parts.protocol]&&(this._parts.port=null,this.build(!a));return this};g.normalizePath=function(a){var b=this._parts.path;if(!b)return this;if(this._parts.urn)return this._parts.path=d.recodeUrnPath(this._parts.path),this.build(!a),this;if("/"===this._parts.path)return this;b=d.recodePath(b);var c="";if("/"!==b.charAt(0)){var e=!0;
b="/"+b}if("/.."===b.slice(-3)||"/."===b.slice(-2))b+="/";b=b.replace(/(\/(\.\/)+)|(\/\.$)/g,"/").replace(/\/{2,}/g,"/");e&&(c=b.substring(1).match(/^(\.\.\/)+/)||"")&&(c=c[0]);for(;;){var f=b.search(/\/\.\.(\/|$)/);if(-1===f)break;else if(0===f){b=b.substring(3);continue}var n=b.substring(0,f).lastIndexOf("/");-1===n&&(n=f);b=b.substring(0,n)+b.substring(f+3)}e&&this.is("relative")&&(b=c+b.substring(1));this._parts.path=b;this.build(!a);return this};g.normalizePathname=g.normalizePath;g.normalizeQuery=
function(a){"string"===typeof this._parts.query&&(this._parts.query.length?this.query(d.parseQuery(this._parts.query,this._parts.escapeQuerySpace)):this._parts.query=null,this.build(!a));return this};g.normalizeFragment=function(a){this._parts.fragment||(this._parts.fragment=null,this.build(!a));return this};g.normalizeSearch=g.normalizeQuery;g.normalizeHash=g.normalizeFragment;g.iso8859=function(){var a=d.encode,b=d.decode;d.encode=escape;d.decode=decodeURIComponent;try{this.normalize()}finally{d.encode=
a,d.decode=b}return this};g.unicode=function(){var a=d.encode,b=d.decode;d.encode=F;d.decode=unescape;try{this.normalize()}finally{d.encode=a,d.decode=b}return this};g.readable=function(){var a=this.clone();a.username("").password("").normalize();var b="";a._parts.protocol&&(b+=a._parts.protocol+"://");a._parts.hostname&&(a.is("punycode")&&r?(b+=r.toUnicode(a._parts.hostname),a._parts.port&&(b+=":"+a._parts.port)):b+=a.host());a._parts.hostname&&a._parts.path&&"/"!==a._parts.path.charAt(0)&&(b+="/");
b+=a.path(!0);if(a._parts.query){for(var c="",e=0,f=a._parts.query.split("&"),n=f.length;e<n;e++){var z=(f[e]||"").split("=");c+="&"+d.decodeQuery(z[0],this._parts.escapeQuerySpace).replace(/&/g,"%26");void 0!==z[1]&&(c+="="+d.decodeQuery(z[1],this._parts.escapeQuerySpace).replace(/&/g,"%26"))}b+="?"+c.substring(1)}return b+=d.decodeQuery(a.hash(),!0)};g.absoluteTo=function(a){var b=this.clone(),c=["protocol","username","password","hostname","port"],e,f;if(this._parts.urn)throw Error("URNs do not have any generally defined hierarchical components");
a instanceof d||(a=new d(a));if(b._parts.protocol)return b;b._parts.protocol=a._parts.protocol;if(this._parts.hostname)return b;for(e=0;f=c[e];e++)b._parts[f]=a._parts[f];b._parts.path?(".."===b._parts.path.substring(-2)&&(b._parts.path+="/"),"/"!==b.path().charAt(0)&&(c=(c=a.directory())?c:0===a.path().indexOf("/")?"/":"",b._parts.path=(c?c+"/":"")+b._parts.path,b.normalizePath())):(b._parts.path=a._parts.path,b._parts.query||(b._parts.query=a._parts.query));b.build();return b};g.relativeTo=function(a){var b=
this.clone().normalize();if(b._parts.urn)throw Error("URNs do not have any generally defined hierarchical components");a=(new d(a)).normalize();var c=b._parts;var e=a._parts;var f=b.path();a=a.path();if("/"!==f.charAt(0))throw Error("URI is already relative");if("/"!==a.charAt(0))throw Error("Cannot calculate a URI relative to another relative URI");c.protocol===e.protocol&&(c.protocol=null);if(c.username===e.username&&c.password===e.password&&null===c.protocol&&null===c.username&&null===c.password&&
c.hostname===e.hostname&&c.port===e.port)c.hostname=null,c.port=null;else return b.build();if(f===a)return c.path="",b.build();f=d.commonPath(f,a);if(!f)return b.build();e=e.path.substring(f.length).replace(/[^\/]*$/,"").replace(/.*?\//g,"../");c.path=e+c.path.substring(f.length)||"./";return b.build()};g.equals=function(a){var b=this.clone(),c=new d(a);a={};var e;b.normalize();c.normalize();if(b.toString()===c.toString())return!0;var f=b.query();var n=c.query();b.query("");c.query("");if(b.toString()!==
c.toString()||f.length!==n.length)return!1;b=d.parseQuery(f,this._parts.escapeQuerySpace);n=d.parseQuery(n,this._parts.escapeQuerySpace);for(e in b)if(B.call(b,e)){if(!A(b[e])){if(b[e]!==n[e])return!1}else if(!D(b[e],n[e]))return!1;a[e]=!0}for(e in n)if(B.call(n,e)&&!a[e])return!1;return!0};g.preventInvalidHostname=function(a){this._parts.preventInvalidHostname=!!a;return this};g.duplicateQueryParameters=function(a){this._parts.duplicateQueryParameters=!!a;return this};g.escapeQuerySpace=function(a){this._parts.escapeQuerySpace=
!!a;return this};return d});
(function(r,x){"object"===typeof module&&module.exports?module.exports=x(require("./URI")):"function"===typeof define&&define.amd?define(["./URI"],x):r.URITemplate=x(r.URI,r)})(this,function(r,x){function k(h){if(k._cache[h])return k._cache[h];if(!(this instanceof k))return new k(h);this.expression=h;k._cache[h]=this;return this}function m(h){this.data=h;this.cache={}}var d=x&&x.URITemplate,q=Object.prototype.hasOwnProperty,E=k.prototype,A={"":{prefix:"",separator:",",named:!1,empty_name_separator:!1,
encode:"encode"},"+":{prefix:"",separator:",",named:!1,empty_name_separator:!1,encode:"encodeReserved"},"#":{prefix:"#",separator:",",named:!1,empty_name_separator:!1,encode:"encodeReserved"},".":{prefix:".",separator:".",named:!1,empty_name_separator:!1,encode:"encode"},"/":{prefix:"/",separator:"/",named:!1,empty_name_separator:!1,encode:"encode"},";":{prefix:";",separator:";",named:!0,empty_name_separator:!1,encode:"encode"},"?":{prefix:"?",separator:"&",named:!0,empty_name_separator:!0,encode:"encode"},
"&":{prefix:"&",separator:"&",named:!0,empty_name_separator:!0,encode:"encode"}};k._cache={};k.EXPRESSION_PATTERN=/\{([^a-zA-Z0-9%_]?)([^\}]+)(\}|$)/g;k.VARIABLE_PATTERN=/^([^*:.](?:\.?[^*:.])*)((\*)|:(\d+))?$/;k.VARIABLE_NAME_PATTERN=/[^a-zA-Z0-9%_.]/;k.LITERAL_PATTERN=/[<>{}"`^| \\]/;k.expand=function(h,p,D){var u=A[h.operator],K=u.named?"Named":"Unnamed";h=h.variables;var F=[],w,H;for(H=0;w=h[H];H++){var v=p.get(w.name);if(0===v.type&&D&&D.strict)throw Error('Missing expansion value for variable "'+
w.name+'"');if(v.val.length){if(1<v.type&&w.maxlength)throw Error('Invalid expression: Prefix modifier not applicable to variable "'+w.name+'"');F.push(k["expand"+K](v,u,w.explode,w.explode&&u.separator||",",w.maxlength,w.name))}else v.type&&F.push("")}return F.length?u.prefix+F.join(u.separator):""};k.expandNamed=function(h,p,D,u,K,F){var w="",H=p.encode;p=p.empty_name_separator;var v=!h[H].length,g=2===h.type?"":r[H](F),B;var G=0;for(B=h.val.length;G<B;G++){if(K){var l=r[H](h.val[G][1].substring(0,
K));2===h.type&&(g=r[H](h.val[G][0].substring(0,K)))}else v?(l=r[H](h.val[G][1]),2===h.type?(g=r[H](h.val[G][0]),h[H].push([g,l])):h[H].push([void 0,l])):(l=h[H][G][1],2===h.type&&(g=h[H][G][0]));w&&(w+=u);D?w+=g+(p||l?"=":"")+l:(G||(w+=r[H](F)+(p||l?"=":"")),2===h.type&&(w+=g+","),w+=l)}return w};k.expandUnnamed=function(h,p,D,u,K){var F="",w=p.encode;p=p.empty_name_separator;var H=!h[w].length,v;var g=0;for(v=h.val.length;g<v;g++){if(K)var B=r[w](h.val[g][1].substring(0,K));else H?(B=r[w](h.val[g][1]),
h[w].push([2===h.type?r[w](h.val[g][0]):void 0,B])):B=h[w][g][1];F&&(F+=u);if(2===h.type){var G=K?r[w](h.val[g][0].substring(0,K)):h[w][g][0];F+=G;F=D?F+(p||B?"=":""):F+","}F+=B}return F};k.noConflict=function(){x.URITemplate===k&&(x.URITemplate=d);return k};E.expand=function(h,p){var D="";this.parts&&this.parts.length||this.parse();h instanceof m||(h=new m(h));for(var u=0,K=this.parts.length;u<K;u++)D+="string"===typeof this.parts[u]?this.parts[u]:k.expand(this.parts[u],h,p);return D};E.parse=function(){var h=
this.expression,p=k.EXPRESSION_PATTERN,D=k.VARIABLE_PATTERN,u=k.VARIABLE_NAME_PATTERN,K=k.LITERAL_PATTERN,F=[],w=0,H=function(t){if(t.match(K))throw Error('Invalid Literal "'+t+'"');return t};for(p.lastIndex=0;;){var v=p.exec(h);if(null===v){F.push(H(h.substring(w)));break}else F.push(H(h.substring(w,v.index))),w=v.index+v[0].length;if(!A[v[1]])throw Error('Unknown Operator "'+v[1]+'" in "'+v[0]+'"');if(!v[3])throw Error('Unclosed Expression "'+v[0]+'"');var g=v[2].split(",");for(var B=0,G=g.length;B<
G;B++){var l=g[B].match(D);if(null===l)throw Error('Invalid Variable "'+g[B]+'" in "'+v[0]+'"');if(l[1].match(u))throw Error('Invalid Variable Name "'+l[1]+'" in "'+v[0]+'"');g[B]={name:l[1],explode:!!l[3],maxlength:l[4]&&parseInt(l[4],10)}}if(!g.length)throw Error('Expression Missing Variable(s) "'+v[0]+'"');F.push({expression:v[0],operator:v[1],variables:g})}F.length||F.push(H(h));this.parts=F;return this};m.prototype.get=function(h){var p=this.data,D={type:0,val:[],encode:[],encodeReserved:[]};
if(void 0!==this.cache[h])return this.cache[h];this.cache[h]=D;p="[object Function]"===String(Object.prototype.toString.call(p))?p(h):"[object Function]"===String(Object.prototype.toString.call(p[h]))?p[h](h):p[h];if(void 0!==p&&null!==p)if("[object Array]"===String(Object.prototype.toString.call(p))){var u=0;for(h=p.length;u<h;u++)void 0!==p[u]&&null!==p[u]&&D.val.push([void 0,String(p[u])]);D.val.length&&(D.type=3)}else if("[object Object]"===String(Object.prototype.toString.call(p))){for(u in p)q.call(p,
u)&&void 0!==p[u]&&null!==p[u]&&D.val.push([u,String(p[u])]);D.val.length&&(D.type=2)}else D.type=1,D.val.push([void 0,String(p)]);return D};r.expand=function(h,p){var D=(new k(h)).expand(p);return new r(D)};return k});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,11 +1,11 @@
@charset "UTF-8";/*!
* Bootswatch v5.2.2 (https://bootswatch.com)
* Bootswatch v5.2.3 (https://bootswatch.com)
* Theme: flatly
* Copyright 2012-2022 Thomas Park
* Licensed under MIT
* Based on Bootstrap
*//*!
* Bootstrap v5.2.2 (https://getbootstrap.com/)
* Bootstrap v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors
* Copyright 2011-2022 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,2 +0,0 @@
(window.findifyJsonp=window.findifyJsonp||[]).push([[4],{"T/88":function(e,n,_){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0,"development"!==process.env.NODE_ENV&&__CONFIG__,n.default=__CONFIG__}}]);
//# sourceMappingURL=config.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,11 +0,0 @@
/*!
* ScrollToPlugin 3.11.3
* https://greensock.com
*
* @license Copyright 2022, GreenSock. All rights reserved.
* Subject to the terms at https://greensock.com/standard-license or for Club GreenSock members, the agreement issued with that membership.
* @author: Jack Doyle, jack@greensock.com
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).window=e.window||{})}(this,function(e){"use strict";function k(){return"undefined"!=typeof window}function l(){return u||k()&&(u=window.gsap)&&u.registerPlugin&&u}function m(e){return"string"==typeof e}function n(e){return"function"==typeof e}function o(e,t){var o="x"===t?"Width":"Height",n="scroll"+o,r="client"+o;return e===T||e===i||e===c?Math.max(i[n],c[n])-(T["inner"+o]||i[r]||c[r]):e[n]-e["offset"+o]}function p(e,t){var o="scroll"+("x"===t?"Left":"Top");return e===T&&(null!=e.pageXOffset?o="page"+t.toUpperCase()+"Offset":e=null!=i[o]?i:c),function(){return e[o]}}function r(e,t){if(!(e=f(e)[0])||!e.getBoundingClientRect)return console.warn("scrollTo target doesn't exist. Using 0")||{x:0,y:0};var o=e.getBoundingClientRect(),n=!t||t===T||t===c,r=n?{top:i.clientTop-(T.pageYOffset||i.scrollTop||c.scrollTop||0),left:i.clientLeft-(T.pageXOffset||i.scrollLeft||c.scrollLeft||0)}:t.getBoundingClientRect(),l={x:o.left-r.left,y:o.top-r.top};return!n&&t&&(l.x+=p(t,"x")(),l.y+=p(t,"y")()),l}function s(e,t,n,l,s){return isNaN(e)||"object"==typeof e?m(e)&&"="===e.charAt(1)?parseFloat(e.substr(2))*("-"===e.charAt(0)?-1:1)+l-s:"max"===e?o(t,n)-s:Math.min(o(t,n),r(e,t)[n]-s):parseFloat(e)-s}function t(){u=l(),k()&&u&&document.body&&(T=window,c=document.body,i=document.documentElement,f=u.utils.toArray,u.config({autoKillThreshold:7}),v=u.config(),a=1)}var u,a,T,i,c,f,v,y={version:"3.11.3",name:"scrollTo",rawVars:1,register:function register(e){u=e,t()},init:function init(e,o,r,l,i){a||t();var c=this,f=u.getProperty(e,"scrollSnapType");c.isWin=e===T,c.target=e,c.tween=r,o=function _clean(e,t,o,r){if(n(e)&&(e=e(t,o,r)),"object"!=typeof e)return m(e)&&"max"!==e&&"="!==e.charAt(1)?{x:e,y:e}:{y:e};if(e.nodeType)return{y:e,x:e};var l,s={};for(l in e)s[l]="onAutoKill"!==l&&n(e[l])?e[l](t,o,r):e[l];return s}(o,l,e,i),c.vars=o,c.autoKill=!!o.autoKill,c.getX=p(e,"x"),c.getY=p(e,"y"),c.x=c.xPrev=c.getX(),c.y=c.yPrev=c.getY(),"smooth"===u.getProperty(e,"scrollBehavior")&&u.set(e,{scrollBehavior:"auto"}),f&&"none"!==f&&(c.snap=1,c.snapInline=e.style.scrollSnapType,e.style.scrollSnapType="none"),null!=o.x?(c.add(c,"x",c.x,s(o.x,e,"x",c.x,o.offsetX||0),l,i),c._props.push("scrollTo_x")):c.skipX=1,null!=o.y?(c.add(c,"y",c.y,s(o.y,e,"y",c.y,o.offsetY||0),l,i),c._props.push("scrollTo_y")):c.skipY=1},render:function render(e,t){for(var n,r,l,s,i,p=t._pt,c=t.target,f=t.tween,u=t.autoKill,a=t.xPrev,y=t.yPrev,d=t.isWin,x=t.snap,g=t.snapInline;p;)p.r(e,p.d),p=p._next;n=d||!t.skipX?t.getX():a,l=(r=d||!t.skipY?t.getY():y)-y,s=n-a,i=v.autoKillThreshold,t.x<0&&(t.x=0),t.y<0&&(t.y=0),u&&(!t.skipX&&(i<s||s<-i)&&n<o(c,"x")&&(t.skipX=1),!t.skipY&&(i<l||l<-i)&&r<o(c,"y")&&(t.skipY=1),t.skipX&&t.skipY&&(f.kill(),t.vars.onAutoKill&&t.vars.onAutoKill.apply(f,t.vars.onAutoKillParams||[]))),d?T.scrollTo(t.skipX?n:t.x,t.skipY?r:t.y):(t.skipY||(c.scrollTop=t.y),t.skipX||(c.scrollLeft=t.x)),!x||1!==e&&0!==e||(r=c.scrollTop,n=c.scrollLeft,g?c.style.scrollSnapType=g:c.style.removeProperty("scroll-snap-type"),c.scrollTop=r+1,c.scrollLeft=n+1,c.scrollTop=r,c.scrollLeft=n),t.xPrev=t.x,t.yPrev=t.y},kill:function kill(e){var t="scrollTo"===e;!t&&"scrollTo_x"!==e||(this.skipX=1),!t&&"scrollTo_y"!==e||(this.skipY=1)}};y.max=o,y.getOffset=r,y.buildGetter=p,l()&&u.registerPlugin(y),e.ScrollToPlugin=y,e.default=y;if (typeof(window)==="undefined"||window!==e){Object.defineProperty(e,"__esModule",{value:!0})} else {delete e.default}});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*!
* CSSRulePlugin 3.11.3
* CSSRulePlugin 3.11.4
* https://greensock.com
*
* @license Copyright 2022, GreenSock. All rights reserved.
@ -7,5 +7,5 @@
* @author: Jack Doyle, jack@greensock.com
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).window=e.window||{})}(this,function(e){"use strict";function h(){return"undefined"!=typeof window}function i(){return t||h()&&(t=window.gsap)&&t.registerPlugin&&t}function j(){return n||(s(),o||console.warn("Please gsap.registerPlugin(CSSPlugin, CSSRulePlugin)")),n}var t,n,c,o,s=function _initCore(e){t=e||i(),h()&&(c=document),t&&(o=t.plugins.css)&&(n=1)},r={version:"3.11.3",name:"cssRule",init:function init(e,t,n,i,s){if(!j()||void 0===e.cssText)return!1;var r=e._gsProxy=e._gsProxy||c.createElement("div");this.ss=e,this.style=r.style,r.style.cssText=e.cssText,o.prototype.init.call(this,r,t,n,i,s)},render:function render(e,t){for(var n,i=t._pt,s=t.style,r=t.ss;i;)i.r(e,i.d),i=i._next;for(n=s.length;-1<--n;)r[s[n]]=s[s[n]]},getRule:function getRule(e){j();var t,n,i,s,r=c.all?"rules":"cssRules",o=c.styleSheets,l=o.length,u=":"===e.charAt(0);for(e=(u?"":",")+e.split("::").join(":").toLowerCase()+",",u&&(s=[]);l--;){try{if(!(n=o[l][r]))continue;t=n.length}catch(e){console.warn(e);continue}for(;-1<--t;)if((i=n[t]).selectorText&&-1!==(","+i.selectorText.split("::").join(":").toLowerCase()+",").indexOf(e)){if(!u)return i.style;s.push(i.style)}}return s},register:s};i()&&t.registerPlugin(r),e.CSSRulePlugin=r,e.default=r;if (typeof(window)==="undefined"||window!==e){Object.defineProperty(e,"__esModule",{value:!0})} else {delete e.default}});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).window=e.window||{})}(this,function(e){"use strict";function h(){return"undefined"!=typeof window}function i(){return t||h()&&(t=window.gsap)&&t.registerPlugin&&t}function j(){return n||(s(),o||console.warn("Please gsap.registerPlugin(CSSPlugin, CSSRulePlugin)")),n}var t,n,c,o,s=function _initCore(e){t=e||i(),h()&&(c=document),t&&(o=t.plugins.css)&&(n=1)},r={version:"3.11.4",name:"cssRule",init:function init(e,t,n,i,s){if(!j()||void 0===e.cssText)return!1;var r=e._gsProxy=e._gsProxy||c.createElement("div");this.ss=e,this.style=r.style,r.style.cssText=e.cssText,o.prototype.init.call(this,r,t,n,i,s)},render:function render(e,t){for(var n,i=t._pt,s=t.style,r=t.ss;i;)i.r(e,i.d),i=i._next;for(n=s.length;-1<--n;)r[s[n]]=s[s[n]]},getRule:function getRule(e){j();var t,n,i,s,r=c.all?"rules":"cssRules",o=c.styleSheets,l=o.length,u=":"===e.charAt(0);for(e=(u?"":",")+e.split("::").join(":").toLowerCase()+",",u&&(s=[]);l--;){try{if(!(n=o[l][r]))continue;t=n.length}catch(e){console.warn(e);continue}for(;-1<--t;)if((i=n[t]).selectorText&&-1!==(","+i.selectorText.split("::").join(":").toLowerCase()+",").indexOf(e)){if(!u)return i.style;s.push(i.style)}}return s},register:s};i()&&t.registerPlugin(r),e.CSSRulePlugin=r,e.default=r;if (typeof(window)==="undefined"||window!==e){Object.defineProperty(e,"__esModule",{value:!0})} else {delete e.default}});

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*!
* EasePack 3.11.3
* EasePack 3.11.4
* https://greensock.com
*
* @license Copyright 2022, GreenSock. All rights reserved.
@ -7,5 +7,5 @@
* @author: Jack Doyle, jack@greensock.com
*/
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e=e||self).window=e.window||{})}(this,function(e){"use strict";function f(){return w||"undefined"!=typeof window&&(w=window.gsap)&&w.registerPlugin&&w}function g(e,n){return!!(void 0===e?n:e&&!~(e+"").indexOf("false"))}function h(e){if(w=e||f()){r=w.registerEase;var n,t=w.parseEase(),o=function createConfig(t){return function(e){var n=.5+e/2;t.config=function(e){return t(2*(1-e)*e*n+e*e)}}};for(n in t)t[n].config||o(t[n]);for(n in r("slow",a),r("expoScale",s),r("rough",u),c)"version"!==n&&w.core.globals(n,c[n])}}function i(e,n,t){var o=(e=Math.min(1,e||.7))<1?n||0===n?n:.7:0,r=(1-e)/2,i=r+e,a=g(t);return function(e){var n=e+(.5-e)*o;return e<r?a?1-(e=1-e/r)*e:n-(e=1-e/r)*e*e*e*n:i<e?a?1===e?0:1-(e=(e-i)/r)*e:n+(e-n)*(e=(e-i)/r)*e*e*e:a?1:n}}function j(n,e,t){var o=Math.log(e/n),r=e-n;return t=t&&w.parseEase(t),function(e){return(n*Math.exp(o*(t?t(e):e))-n)/r}}function k(e,n,t){this.t=e,this.v=n,t&&(((this.next=t).prev=this).c=t.v-n,this.gap=t.t-e)}function l(e){"object"!=typeof e&&(e={points:+e||20});for(var n,t,o,r,i,a,f,s=e.taper||"none",u=[],c=0,p=0|(+e.points||20),l=p,v=g(e.randomize,!0),d=g(e.clamp),h=w?w.parseEase(e.template):0,x=.4*(+e.strength||1);-1<--l;)n=v?Math.random():1/p*l,t=h?h(n):n,o="none"===s?x:"out"===s?(r=1-n)*r*x:"in"===s?n*n*x:n<.5?(r=2*n)*r*.5*x:(r=2*(1-n))*r*.5*x,v?t+=Math.random()*o-.5*o:l%2?t+=.5*o:t-=.5*o,d&&(1<t?t=1:t<0&&(t=0)),u[c++]={x:n,y:t};for(u.sort(function(e,n){return e.x-n.x}),a=new k(1,1,null),l=p;l--;)i=u[l],a=new k(i.x,i.y,a);return f=new k(0,0,a.t?a:a.next),function(e){var n=f;if(e>n.t){for(;n.next&&e>=n.t;)n=n.next;n=n.prev}else for(;n.prev&&e<=n.t;)n=n.prev;return(f=n).v+(e-n.t)/n.gap*n.c}}var w,r,a=i(.7);(a.ease=a).config=i;var s=j(1,2);s.config=j;var u=l();(u.ease=u).config=l;var c={SlowMo:a,RoughEase:u,ExpoScaleEase:s};for(var n in c)c[n].register=h,c[n].version="3.11.3";f()&&w.registerPlugin(a),e.EasePack=c,e.ExpoScaleEase=s,e.RoughEase=u,e.SlowMo=a,e.default=c;if (typeof(window)==="undefined"||window!==e){Object.defineProperty(e,"__esModule",{value:!0})} else {delete e.default}});
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e=e||self).window=e.window||{})}(this,function(e){"use strict";function f(){return w||"undefined"!=typeof window&&(w=window.gsap)&&w.registerPlugin&&w}function g(e,n){return!!(void 0===e?n:e&&!~(e+"").indexOf("false"))}function h(e){if(w=e||f()){r=w.registerEase;var n,t=w.parseEase(),o=function createConfig(t){return function(e){var n=.5+e/2;t.config=function(e){return t(2*(1-e)*e*n+e*e)}}};for(n in t)t[n].config||o(t[n]);for(n in r("slow",a),r("expoScale",s),r("rough",u),c)"version"!==n&&w.core.globals(n,c[n])}}function i(e,n,t){var o=(e=Math.min(1,e||.7))<1?n||0===n?n:.7:0,r=(1-e)/2,i=r+e,a=g(t);return function(e){var n=e+(.5-e)*o;return e<r?a?1-(e=1-e/r)*e:n-(e=1-e/r)*e*e*e*n:i<e?a?1===e?0:1-(e=(e-i)/r)*e:n+(e-n)*(e=(e-i)/r)*e*e*e:a?1:n}}function j(n,e,t){var o=Math.log(e/n),r=e-n;return t=t&&w.parseEase(t),function(e){return(n*Math.exp(o*(t?t(e):e))-n)/r}}function k(e,n,t){this.t=e,this.v=n,t&&(((this.next=t).prev=this).c=t.v-n,this.gap=t.t-e)}function l(e){"object"!=typeof e&&(e={points:+e||20});for(var n,t,o,r,i,a,f,s=e.taper||"none",u=[],c=0,p=0|(+e.points||20),l=p,v=g(e.randomize,!0),d=g(e.clamp),h=w?w.parseEase(e.template):0,x=.4*(+e.strength||1);-1<--l;)n=v?Math.random():1/p*l,t=h?h(n):n,o="none"===s?x:"out"===s?(r=1-n)*r*x:"in"===s?n*n*x:n<.5?(r=2*n)*r*.5*x:(r=2*(1-n))*r*.5*x,v?t+=Math.random()*o-.5*o:l%2?t+=.5*o:t-=.5*o,d&&(1<t?t=1:t<0&&(t=0)),u[c++]={x:n,y:t};for(u.sort(function(e,n){return e.x-n.x}),a=new k(1,1,null),l=p;l--;)i=u[l],a=new k(i.x,i.y,a);return f=new k(0,0,a.t?a:a.next),function(e){var n=f;if(e>n.t){for(;n.next&&e>=n.t;)n=n.next;n=n.prev}else for(;n.prev&&e<=n.t;)n=n.prev;return(f=n).v+(e-n.t)/n.gap*n.c}}var w,r,a=i(.7);(a.ease=a).config=i;var s=j(1,2);s.config=j;var u=l();(u.ease=u).config=l;var c={SlowMo:a,RoughEase:u,ExpoScaleEase:s};for(var n in c)c[n].register=h,c[n].version="3.11.4";f()&&w.registerPlugin(a),e.EasePack=c,e.ExpoScaleEase=s,e.RoughEase=u,e.SlowMo=a,e.default=c;if (typeof(window)==="undefined"||window!==e){Object.defineProperty(e,"__esModule",{value:!0})} else {delete e.default}});

View File

@ -1,5 +1,5 @@
/*!
* EaselPlugin 3.11.3
* EaselPlugin 3.11.4
* https://greensock.com
*
* @license Copyright 2022, GreenSock. All rights reserved.
@ -7,5 +7,5 @@
* @author: Jack Doyle, jack@greensock.com
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).window=e.window||{})}(this,function(e){"use strict";function k(){return"undefined"!=typeof window}function l(){return h||k()&&(h=window.gsap)&&h.registerPlugin&&h}function m(){return r||t&&t.createjs||t||{}}function n(e){return console.warn(e)}function o(e){var t=e.getBounds&&e.getBounds();t||(t=e.nominalBounds||{x:0,y:0,width:100,height:100},e.setBounds&&e.setBounds(t.x,t.y,t.width,t.height)),e.cache&&e.cache(t.x,t.y,t.width,t.height),n("EaselPlugin: for filters to display in EaselJS, you must call the object's cache() method first. GSAP attempted to use the target's getBounds() for the cache but that may not be completely accurate. "+e)}function p(e,t,r){(b=b||m().ColorFilter)||n("EaselPlugin error: The EaselJS ColorFilter JavaScript file wasn't loaded.");for(var i,l,s,u,a,f,c=e.filters||[],d=c.length;d--;)if(c[d]instanceof b){l=c[d];break}if(l||(l=new b,c.push(l),e.filters=c),s=l.clone(),null!=t.tint)i=h.utils.splitColor(t.tint),u=null!=t.tintAmount?+t.tintAmount:1,s.redOffset=i[0]*u,s.greenOffset=i[1]*u,s.blueOffset=i[2]*u,s.redMultiplier=s.greenMultiplier=s.blueMultiplier=1-u;else for(a in t)"exposure"!==a&&"brightness"!==a&&(s[a]=+t[a]);for(null!=t.exposure?(s.redOffset=s.greenOffset=s.blueOffset=255*(t.exposure-1),s.redMultiplier=s.greenMultiplier=s.blueMultiplier=1):null!=t.brightness&&(u=t.brightness-1,s.redOffset=s.greenOffset=s.blueOffset=0<u?255*u:0,s.redMultiplier=s.greenMultiplier=s.blueMultiplier=1-Math.abs(u)),d=8;d--;)l[a=M[d]]!==s[a]&&(f=r.add(l,a,l[a],s[a],0,0,0,0,0,1))&&(f.op="easel_colorFilter");r._props.push("easel_colorFilter"),e.cacheID||o(e)}function u(e,t){if(!(e instanceof Array&&t instanceof Array))return t;var r,i,n=[],l=0,o=0;for(r=0;r<4;r++){for(i=0;i<5;i++)o=4===i?e[l+4]:0,n[l+i]=e[l]*t[i]+e[l+1]*t[i+5]+e[l+2]*t[i+10]+e[l+3]*t[i+15]+o;l+=5}return n}function z(e,t,r){(d=d||m().ColorMatrixFilter)||n("EaselPlugin: The EaselJS ColorMatrixFilter JavaScript file wasn't loaded.");for(var i,l,s,a,f=e.filters||[],c=f.length;-1<--c;)if(f[c]instanceof d){s=f[c];break}for(s||(s=new d(w.slice()),f.push(s),e.filters=f),l=s.matrix,i=w.slice(),null!=t.colorize&&(i=function _colorize(e,t,r){isNaN(r)&&(r=1);var i=h.utils.splitColor(t),n=i[0]/255,l=i[1]/255,o=i[2]/255,s=1-r;return u([s+r*n*x,r*n*y,r*n*_,0,0,r*l*x,s+r*l*y,r*l*_,0,0,r*o*x,r*o*y,s+r*o*_,0,0,0,0,0,1,0],e)}(i,t.colorize,Number(t.colorizeAmount))),null!=t.contrast&&(i=function _setContrast(e,t){return isNaN(t)?e:u([t+=.01,0,0,0,128*(1-t),0,t,0,0,128*(1-t),0,0,t,0,128*(1-t),0,0,0,1,0],e)}(i,Number(t.contrast))),null!=t.hue&&(i=function _setHue(e,t){if(isNaN(t))return e;t*=Math.PI/180;var r=Math.cos(t),i=Math.sin(t);return u([x+r*(1-x)+i*-x,y+r*-y+i*-y,_+r*-_+i*(1-_),0,0,x+r*-x+.143*i,y+r*(1-y)+.14*i,_+r*-_+-.283*i,0,0,x+r*-x+i*-(1-x),y+r*-y+i*y,_+r*(1-_)+i*_,0,0,0,0,0,1,0,0,0,0,0,1],e)}(i,Number(t.hue))),null!=t.saturation&&(i=function _setSaturation(e,t){if(isNaN(t))return e;var r=1-t,i=r*x,n=r*y,l=r*_;return u([i+t,n,l,0,0,i,n+t,l,0,0,i,n,l+t,0,0,0,0,0,1,0],e)}(i,Number(t.saturation))),c=i.length;-1<--c;)i[c]!==l[c]&&(a=r.add(l,c,l[c],i[c],0,0,0,0,0,1))&&(a.op="easel_colorMatrixFilter");r._props.push("easel_colorMatrixFilter"),e.cacheID||o(),r._matrix=l}function A(e){h=e||l(),k()&&(t=window),h&&(g=1)}var h,g,t,r,b,d,M="redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier,redOffset,greenOffset,blueOffset,alphaOffset".split(","),w=[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0],x=.212671,y=.71516,_=.072169,i={version:"3.11.3",name:"easel",init:function init(e,t,r,i,l){var o,s,u,a,f,c,d;for(o in g||(A(),h||n("Please gsap.registerPlugin(EaselPlugin)")),this.target=e,t)if(f=t[o],"colorFilter"===o||"tint"===o||"tintAmount"===o||"exposure"===o||"brightness"===o)u||(p(e,t.colorFilter||t,this),u=!0);else if("saturation"===o||"contrast"===o||"hue"===o||"colorize"===o||"colorizeAmount"===o)a||(z(e,t.colorMatrixFilter||t,this),a=!0);else if("frame"===o){if("string"==typeof f&&"="!==f.charAt(1)&&(c=e.labels))for(d=0;d<c.length;d++)c[d].label===f&&(f=c[d].position);(s=this.add(e,"gotoAndStop",e.currentFrame,f,i,l,Math.round,0,0,1))&&(s.op=o)}else null!=e[o]&&this.add(e,o,"get",f)},render:function render(e,t){for(var r=t._pt;r;)r.r(e,r.d),r=r._next;t.target.cacheID&&t.target.updateCache()},register:A,registerCreateJS:function(e){r=e}};l()&&h.registerPlugin(i),e.EaselPlugin=i,e.default=i;if (typeof(window)==="undefined"||window!==e){Object.defineProperty(e,"__esModule",{value:!0})} else {delete e.default}});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).window=e.window||{})}(this,function(e){"use strict";function k(){return"undefined"!=typeof window}function l(){return h||k()&&(h=window.gsap)&&h.registerPlugin&&h}function m(){return r||t&&t.createjs||t||{}}function n(e){return console.warn(e)}function o(e){var t=e.getBounds&&e.getBounds();t||(t=e.nominalBounds||{x:0,y:0,width:100,height:100},e.setBounds&&e.setBounds(t.x,t.y,t.width,t.height)),e.cache&&e.cache(t.x,t.y,t.width,t.height),n("EaselPlugin: for filters to display in EaselJS, you must call the object's cache() method first. GSAP attempted to use the target's getBounds() for the cache but that may not be completely accurate. "+e)}function p(e,t,r){(b=b||m().ColorFilter)||n("EaselPlugin error: The EaselJS ColorFilter JavaScript file wasn't loaded.");for(var i,l,s,u,a,f,c=e.filters||[],d=c.length;d--;)if(c[d]instanceof b){l=c[d];break}if(l||(l=new b,c.push(l),e.filters=c),s=l.clone(),null!=t.tint)i=h.utils.splitColor(t.tint),u=null!=t.tintAmount?+t.tintAmount:1,s.redOffset=i[0]*u,s.greenOffset=i[1]*u,s.blueOffset=i[2]*u,s.redMultiplier=s.greenMultiplier=s.blueMultiplier=1-u;else for(a in t)"exposure"!==a&&"brightness"!==a&&(s[a]=+t[a]);for(null!=t.exposure?(s.redOffset=s.greenOffset=s.blueOffset=255*(t.exposure-1),s.redMultiplier=s.greenMultiplier=s.blueMultiplier=1):null!=t.brightness&&(u=t.brightness-1,s.redOffset=s.greenOffset=s.blueOffset=0<u?255*u:0,s.redMultiplier=s.greenMultiplier=s.blueMultiplier=1-Math.abs(u)),d=8;d--;)l[a=M[d]]!==s[a]&&(f=r.add(l,a,l[a],s[a],0,0,0,0,0,1))&&(f.op="easel_colorFilter");r._props.push("easel_colorFilter"),e.cacheID||o(e)}function u(e,t){if(!(e instanceof Array&&t instanceof Array))return t;var r,i,n=[],l=0,o=0;for(r=0;r<4;r++){for(i=0;i<5;i++)o=4===i?e[l+4]:0,n[l+i]=e[l]*t[i]+e[l+1]*t[i+5]+e[l+2]*t[i+10]+e[l+3]*t[i+15]+o;l+=5}return n}function z(e,t,r){(d=d||m().ColorMatrixFilter)||n("EaselPlugin: The EaselJS ColorMatrixFilter JavaScript file wasn't loaded.");for(var i,l,s,a,f=e.filters||[],c=f.length;-1<--c;)if(f[c]instanceof d){s=f[c];break}for(s||(s=new d(w.slice()),f.push(s),e.filters=f),l=s.matrix,i=w.slice(),null!=t.colorize&&(i=function _colorize(e,t,r){isNaN(r)&&(r=1);var i=h.utils.splitColor(t),n=i[0]/255,l=i[1]/255,o=i[2]/255,s=1-r;return u([s+r*n*x,r*n*y,r*n*_,0,0,r*l*x,s+r*l*y,r*l*_,0,0,r*o*x,r*o*y,s+r*o*_,0,0,0,0,0,1,0],e)}(i,t.colorize,Number(t.colorizeAmount))),null!=t.contrast&&(i=function _setContrast(e,t){return isNaN(t)?e:u([t+=.01,0,0,0,128*(1-t),0,t,0,0,128*(1-t),0,0,t,0,128*(1-t),0,0,0,1,0],e)}(i,Number(t.contrast))),null!=t.hue&&(i=function _setHue(e,t){if(isNaN(t))return e;t*=Math.PI/180;var r=Math.cos(t),i=Math.sin(t);return u([x+r*(1-x)+i*-x,y+r*-y+i*-y,_+r*-_+i*(1-_),0,0,x+r*-x+.143*i,y+r*(1-y)+.14*i,_+r*-_+-.283*i,0,0,x+r*-x+i*-(1-x),y+r*-y+i*y,_+r*(1-_)+i*_,0,0,0,0,0,1,0,0,0,0,0,1],e)}(i,Number(t.hue))),null!=t.saturation&&(i=function _setSaturation(e,t){if(isNaN(t))return e;var r=1-t,i=r*x,n=r*y,l=r*_;return u([i+t,n,l,0,0,i,n+t,l,0,0,i,n,l+t,0,0,0,0,0,1,0],e)}(i,Number(t.saturation))),c=i.length;-1<--c;)i[c]!==l[c]&&(a=r.add(l,c,l[c],i[c],0,0,0,0,0,1))&&(a.op="easel_colorMatrixFilter");r._props.push("easel_colorMatrixFilter"),e.cacheID||o(),r._matrix=l}function A(e){h=e||l(),k()&&(t=window),h&&(g=1)}var h,g,t,r,b,d,M="redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier,redOffset,greenOffset,blueOffset,alphaOffset".split(","),w=[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0],x=.212671,y=.71516,_=.072169,i={version:"3.11.4",name:"easel",init:function init(e,t,r,i,l){var o,s,u,a,f,c,d;for(o in g||(A(),h||n("Please gsap.registerPlugin(EaselPlugin)")),this.target=e,t)if(f=t[o],"colorFilter"===o||"tint"===o||"tintAmount"===o||"exposure"===o||"brightness"===o)u||(p(e,t.colorFilter||t,this),u=!0);else if("saturation"===o||"contrast"===o||"hue"===o||"colorize"===o||"colorizeAmount"===o)a||(z(e,t.colorMatrixFilter||t,this),a=!0);else if("frame"===o){if("string"==typeof f&&"="!==f.charAt(1)&&(c=e.labels))for(d=0;d<c.length;d++)c[d].label===f&&(f=c[d].position);(s=this.add(e,"gotoAndStop",e.currentFrame,f,i,l,Math.round,0,0,1))&&(s.op=o)}else null!=e[o]&&this.add(e,o,"get",f)},render:function render(e,t){for(var r=t._pt;r;)r.r(e,r.d),r=r._next;t.target.cacheID&&t.target.updateCache()},register:A,registerCreateJS:function(e){r=e}};l()&&h.registerPlugin(i),e.EaselPlugin=i,e.default=i;if (typeof(window)==="undefined"||window!==e){Object.defineProperty(e,"__esModule",{value:!0})} else {delete e.default}});

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,11 @@
/*!
* ScrollToPlugin 3.11.4
* https://greensock.com
*
* @license Copyright 2022, GreenSock. All rights reserved.
* Subject to the terms at https://greensock.com/standard-license or for Club GreenSock members, the agreement issued with that membership.
* @author: Jack Doyle, jack@greensock.com
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).window=e.window||{})}(this,function(e){"use strict";function l(){return"undefined"!=typeof window}function m(){return f||l()&&(f=window.gsap)&&f.registerPlugin&&f}function n(e){return"string"==typeof e}function o(e){return"function"==typeof e}function p(e,t){var o="x"===t?"Width":"Height",n="scroll"+o,l="client"+o;return e===T||e===i||e===c?Math.max(i[n],c[n])-(T["inner"+o]||i[l]||c[l]):e[n]-e["offset"+o]}function q(e,t){var o="scroll"+("x"===t?"Left":"Top");return e===T&&(null!=e.pageXOffset?o="page"+t.toUpperCase()+"Offset":e=null!=i[o]?i:c),function(){return e[o]}}function s(e,t){if(!(e=y(e)[0])||!e.getBoundingClientRect)return console.warn("scrollTo target doesn't exist. Using 0")||{x:0,y:0};var o=e.getBoundingClientRect(),n=!t||t===T||t===c,l=n?{top:i.clientTop-(T.pageYOffset||i.scrollTop||c.scrollTop||0),left:i.clientLeft-(T.pageXOffset||i.scrollLeft||c.scrollLeft||0)}:t.getBoundingClientRect(),r={x:o.left-l.left,y:o.top-l.top};return!n&&t&&(r.x+=q(t,"x")(),r.y+=q(t,"y")()),r}function t(e,t,o,l,r){return isNaN(e)||"object"==typeof e?n(e)&&"="===e.charAt(1)?parseFloat(e.substr(2))*("-"===e.charAt(0)?-1:1)+l-r:"max"===e?p(t,o)-r:Math.min(p(t,o),s(e,t)[o]-r):parseFloat(e)-r}function u(){f=m(),l()&&f&&"undefined"!=typeof document&&document.body&&(T=window,c=document.body,i=document.documentElement,y=f.utils.toArray,f.config({autoKillThreshold:7}),v=f.config(),a=1)}var f,a,T,i,c,y,v,h,r={version:"3.11.4",name:"scrollTo",rawVars:1,register:function register(e){f=e,u()},init:function init(e,l,r,s,i){a||u();var p=this,c=f.getProperty(e,"scrollSnapType");p.isWin=e===T,p.target=e,p.tween=r,l=function _clean(e,t,l,r){if(o(e)&&(e=e(t,l,r)),"object"!=typeof e)return n(e)&&"max"!==e&&"="!==e.charAt(1)?{x:e,y:e}:{y:e};if(e.nodeType)return{y:e,x:e};var s,i={};for(s in e)i[s]="onAutoKill"!==s&&o(e[s])?e[s](t,l,r):e[s];return i}(l,s,e,i),p.vars=l,p.autoKill=!!l.autoKill,p.getX=q(e,"x"),p.getY=q(e,"y"),p.x=p.xPrev=p.getX(),p.y=p.yPrev=p.getY(),h=h||f.core.globals().ScrollTrigger,"smooth"===f.getProperty(e,"scrollBehavior")&&f.set(e,{scrollBehavior:"auto"}),c&&"none"!==c&&(p.snap=1,p.snapInline=e.style.scrollSnapType,e.style.scrollSnapType="none"),null!=l.x?(p.add(p,"x",p.x,t(l.x,e,"x",p.x,l.offsetX||0),s,i),p._props.push("scrollTo_x")):p.skipX=1,null!=l.y?(p.add(p,"y",p.y,t(l.y,e,"y",p.y,l.offsetY||0),s,i),p._props.push("scrollTo_y")):p.skipY=1},render:function render(e,t){for(var o,n,l,r,s,i=t._pt,c=t.target,u=t.tween,f=t.autoKill,a=t.xPrev,y=t.yPrev,d=t.isWin,g=t.snap,x=t.snapInline;i;)i.r(e,i.d),i=i._next;o=d||!t.skipX?t.getX():a,l=(n=d||!t.skipY?t.getY():y)-y,r=o-a,s=v.autoKillThreshold,t.x<0&&(t.x=0),t.y<0&&(t.y=0),f&&(!t.skipX&&(s<r||r<-s)&&o<p(c,"x")&&(t.skipX=1),!t.skipY&&(s<l||l<-s)&&n<p(c,"y")&&(t.skipY=1),t.skipX&&t.skipY&&(u.kill(),t.vars.onAutoKill&&t.vars.onAutoKill.apply(u,t.vars.onAutoKillParams||[]))),d?T.scrollTo(t.skipX?o:t.x,t.skipY?n:t.y):(t.skipY||(c.scrollTop=t.y),t.skipX||(c.scrollLeft=t.x)),!g||1!==e&&0!==e||(n=c.scrollTop,o=c.scrollLeft,x?c.style.scrollSnapType=x:c.style.removeProperty("scroll-snap-type"),c.scrollTop=n+1,c.scrollLeft=o+1,c.scrollTop=n,c.scrollLeft=o),t.xPrev=t.x,t.yPrev=t.y,h&&h.update()},kill:function kill(e){var t="scrollTo"===e;!t&&"scrollTo_x"!==e||(this.skipX=1),!t&&"scrollTo_y"!==e||(this.skipY=1)}};r.max=p,r.getOffset=s,r.buildGetter=q,m()&&f.registerPlugin(r),e.ScrollToPlugin=r,e.default=r;if (typeof(window)==="undefined"||window!==e){Object.defineProperty(e,"__esModule",{value:!0})} else {delete e.default}});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,680 +0,0 @@
/* .bs-datepicker */
.bs-datepicker {
display: flex;
align-items: stretch;
flex-flow: row wrap;
background: #fff;
box-shadow: 0 0 10px 0 #aaa;
position: relative;
z-index: 1;
/* button */
/* .bs-datepicker-head */
/* .bs-datepicker-body */
/* .current-timedate */
/* .bs-datepicker-multiple */
/* .bs-datepicker-btns */
/*.bs-datepicker-custom-range */
/* .bs-datepicker-predefined-btns */
/* .bs-datepicker-buttons */
}
.bs-datepicker:after {
clear: both;
content: "";
display: block;
}
.bs-datepicker bs-day-picker {
float: left;
}
.bs-datepicker button:hover,
.bs-datepicker button:focus,
.bs-datepicker button:active,
.bs-datepicker input:hover,
.bs-datepicker input:focus,
.bs-datepicker input:active, .bs-datepicker-btns button:hover, .bs-datepicker-btns button:focus, .bs-datepicker-btns button:active, .bs-datepicker-predefined-btns button:active, .bs-datepicker-predefined-btns button:focus {
outline: none;
}
.bs-datepicker-head {
min-width: 270px;
height: 50px;
padding: 10px;
border-radius: 3px 3px 0 0;
text-align: justify;
/* .bs-datepicker-head button */
}
.bs-datepicker-head:after {
content: "";
display: inline-block;
vertical-align: top;
width: 100%;
}
.bs-datepicker-head button {
display: inline-block;
vertical-align: top;
padding: 0;
height: 30px;
line-height: 30px;
border: 0;
background: transparent;
text-align: center;
cursor: pointer;
color: #fff;
transition: 0.3s;
}
.bs-datepicker-head button[disabled], .bs-datepicker-head button[disabled]:hover, .bs-datepicker-head button[disabled]:active {
background: rgba(221, 221, 221, 0.3);
color: #f5f5f5;
cursor: not-allowed;
}
.bs-datepicker-head button.previous span {
transform: translate(-1px, -1px);
}
.bs-datepicker-head button.next span {
transform: translate(1px, -1px);
}
.bs-datepicker-head button.next, .bs-datepicker-head button.previous {
border-radius: 50%;
width: 30px;
height: 30px;
}
.bs-datepicker-head button.next span, .bs-datepicker-head button.previous span {
font-size: 28px;
line-height: 1;
display: inline-block;
position: relative;
height: 100%;
width: 100%;
border-radius: 50%;
}
.bs-datepicker-head button.current {
border-radius: 15px;
max-width: 155px;
padding: 0 13px;
}
.bs-datepicker-head button:hover {
background-color: rgba(0, 0, 0, 0.1);
}
.bs-datepicker-head button:active {
background-color: rgba(0, 0, 0, 0.2);
}
.bs-datepicker-body {
padding: 10px;
border-radius: 0 0 3px 3px;
min-height: 232px;
min-width: 278px;
border: 1px solid #e9edf0;
/* .bs-datepicker-body table */
}
.bs-datepicker-body .days.weeks {
position: relative;
z-index: 1;
}
.bs-datepicker-body table {
width: 100%;
border-collapse: separate;
border-spacing: 0;
/* .bs-datepicker-body table.days */
/* .bs-datepicker-body table.weeks */
}
.bs-datepicker-body table th {
font-size: 13px;
color: #9aaec1;
font-weight: 400;
text-align: center;
}
.bs-datepicker-body table td {
color: #54708b;
text-align: center;
position: relative;
padding: 0;
/* todo: check first :not(.disabled) usage */
}
.bs-datepicker-body table td span {
display: block;
margin: 0 auto;
font-size: 13px;
border-radius: 50%;
/*z-index: 1;*/
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
}
.bs-datepicker-body table td:not(.disabled):not(.week) span:not(.disabled):not(.is-other-month) {
cursor: pointer;
}
.bs-datepicker-body table td.is-highlighted:not(.disabled):not(.selected) span,
.bs-datepicker-body table td span.is-highlighted:not(.disabled):not(.selected) {
background-color: #e9edf0;
transition: 0s;
}
.bs-datepicker-body table td.is-active-other-month:not(.disabled):not(.selected) span,
.bs-datepicker-body table td span.is-active-other-month:not(.disabled):not(.selected) {
background-color: #e9edf0;
transition: 0s;
cursor: pointer;
}
.bs-datepicker-body table td span.disabled, .bs-datepicker-body table td.disabled span {
color: #9aaec1;
}
.bs-datepicker-body table td span.selected, .bs-datepicker-body table td.selected span {
color: #fff;
}
.bs-datepicker-body table td span.is-other-month, .bs-datepicker-body table td.is-other-month span {
color: rgba(0, 0, 0, 0.25);
}
.bs-datepicker-body table td.active {
position: relative;
}
.bs-datepicker-body table td.active.select-start:before {
left: 35%;
}
.bs-datepicker-body table td.active.select-end:before {
left: -85%;
}
.bs-datepicker-body table td span.active.select-start:after,
.bs-datepicker-body table td span.active.select-end:after, .bs-datepicker-body table td.active.select-start span:after, .bs-datepicker-body table td.active.select-end span:after {
content: "";
display: block;
position: absolute;
z-index: -1;
width: 100%;
height: 100%;
transition: 0.3s;
top: 0;
border-radius: 50%;
}
.bs-datepicker-body table td:before,
.bs-datepicker-body table td span:before {
content: "";
display: block;
position: absolute;
z-index: -1;
top: 6px;
bottom: 6px;
left: -3px;
right: -2px;
box-sizing: content-box;
background: transparent;
}
.bs-datepicker-body table td.active.select-start + td.active:before {
left: -20%;
}
.bs-datepicker-body table td:last-child.active:before {
border-radius: 0 3px 3px 0;
width: 125%;
left: -25%;
}
.bs-datepicker-body table td span[class*=select-], .bs-datepicker-body table td[class*=select-] span {
border-radius: 50%;
color: #fff;
}
.bs-datepicker-body table.days td.active:not(.select-start):before, .bs-datepicker-body table.days td.in-range:not(.select-start):before,
.bs-datepicker-body table.days span.active:not(.select-start):before,
.bs-datepicker-body table.days span.in-range:not(.select-start):before {
background: #e9edf0;
}
.bs-datepicker-body table.days span {
width: 32px;
height: 32px;
line-height: 32px;
}
.bs-datepicker-body table.days span.select-start {
z-index: 2;
}
.bs-datepicker-body table.days span.is-highlighted.in-range:before {
right: 3px;
left: 0;
}
.bs-datepicker-body table.days span.in-range.select-end:before {
right: 4px;
left: 0;
}
.bs-datepicker-body table.days td.select-start + td.select-end:before, .bs-datepicker-body table.days td.select-start + td.is-highlighted:before, .bs-datepicker-body table.days td.active + td.is-highlighted:before, .bs-datepicker-body table.days td.active + td.select-end:before, .bs-datepicker-body table.days td.in-range + td.is-highlighted:before, .bs-datepicker-body table.days td.in-range + td.select-end:before {
background: #e9edf0;
width: 100%;
}
.bs-datepicker-body table.weeks tr td:nth-child(2).active:before {
border-radius: 3px 0 0 3px;
left: 0;
width: 100%;
}
.bs-datepicker-body table:not(.weeks) tr td:first-child:before {
border-radius: 3px 0 0 3px;
}
.bs-datepicker-body table.years td span {
width: 46px;
height: 46px;
line-height: 45px;
margin: 0 auto;
}
.bs-datepicker-body table.years tr:not(:last-child) td span {
margin-bottom: 8px;
}
.bs-datepicker-body table.months td {
height: 52px;
}
.bs-datepicker-body table.months td span {
padding: 6px;
border-radius: 15px;
}
.bs-datepicker .current-timedate {
color: #54708b;
font-size: 15px;
text-align: center;
height: 30px;
line-height: 30px;
border-radius: 20px;
border: 1px solid #e9edf0;
margin-bottom: 10px;
cursor: pointer;
text-transform: uppercase;
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
}
.bs-datepicker .current-timedate span:not(:empty):before {
content: "";
width: 15px;
height: 16px;
display: inline-block;
margin-right: 4px;
vertical-align: text-bottom;
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAABMklEQVQoU9VTwW3CQBCcOUgBtEBKSAukAnBKME+wFCAlYIhk8sQlxFABtJAScAsuAPBEewYcxCP8ouxrPDsza61uiVN1o6RNHD4htSCmq49RfO71BvMJqBBkITRf1kmUW49nQRC9h1I5AZlBClaL8aP1fKgOOxCx8aSLs+Q19eZuNO8QmPqJRtDFguy7OAcDbJPs+/BKVPDIPrvD2ZJgWAmVe7O0rI0Vqs1seyWUXpuJoppYCa5L+U++NpNPkr5OE2oMdARsb3gykJT5ydZcL8Z9Ww60nxg2LhjON9li9OwXZzo+xLbp3nC2s9CL2RrueGyVrgwNm8HpsCzZ9EEW6kqXlo1GQe03FzP/7W8Hl0dBtu7Bf7zt6mIwvX1RvzDCm7+q3mAW0Dl/GPdUCeXrZLT9BrDrGkm4qlPvAAAAAElFTkSuQmCC);
}
.bs-datepicker-multiple {
border-radius: 4px 0 0 4px;
}
.bs-datepicker-multiple + .bs-datepicker-multiple {
margin-left: 10px;
}
.bs-datepicker-multiple .bs-datepicker {
box-shadow: none;
position: relative;
}
.bs-datepicker-multiple .bs-datepicker:not(:last-child) {
padding-right: 10px;
}
.bs-datepicker-multiple .bs-datepicker + .bs-datepicker:after {
content: "";
display: block;
width: 14px;
height: 10px;
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAKCAYAAABrGwT5AAAA1ElEQVQoU42RsQrCUAxF77VuDu7O4oMWW//BURBBpZvgKk4uIrjoqKOTf+DopIO4uYggtFTfw3+pkQqCW1/G5J7kJiFy4m5MxUlxAzgIPHX+lzMPzupRYlYgxiR7vqsOP8YKzsTx0yxFMCUZ+q7aZzlr+OvgoWcAFyAHgat2jLWu48252DdqAihDJGSSJNUUxYmQjs3+hPQBlAh2rG2LCOPnaw3IiGDX99TRCs7ASJsNhUOA7d/LcuHvRG22FIZvsNXw1MX6VZExCilOQKEfeLXr/10+aC9Ho7arh7oAAAAASUVORK5CYII=);
position: absolute;
top: 25px;
left: -8px;
}
.bs-datepicker-multiple .bs-datepicker .left {
float: left;
}
.bs-datepicker-multiple .bs-datepicker .right {
float: right;
}
.bs-datepicker-container {
padding: 15px;
}
.bs-datepicker .bs-media-container {
display: flex;
}
@media (max-width: 768px) {
.bs-datepicker .bs-media-container {
flex-direction: column;
}
}
.bs-datepicker .bs-timepicker-in-datepicker-container {
display: flex;
justify-content: space-around;
}
.bs-datepicker-custom-range {
padding: 15px;
background: #eee;
}
.bs-datepicker-predefined-btns button {
width: 100%;
display: block;
height: 30px;
background-color: #9aaec1;
border-radius: 4px;
color: #fff;
border: 0;
margin-bottom: 10px;
padding: 0 18px;
text-align: left;
transition: 0.3s;
}
.bs-datepicker-predefined-btns button:hover {
background-color: #54708b;
}
.bs-datepicker-buttons {
display: flex;
flex-flow: row wrap;
justify-content: flex-end;
padding-top: 10px;
border-top: 1px solid #e9edf0;
}
.bs-datepicker-buttons .btn-default {
margin-left: 10px;
}
.bs-datepicker-buttons .btn-today-wrapper {
display: flex;
flex-flow: row wrap;
}
.bs-datepicker-buttons .clear-right,
.bs-datepicker-buttons .today-right {
flex-grow: 0;
}
.bs-datepicker-buttons .clear-left,
.bs-datepicker-buttons .today-left {
flex-grow: 1;
}
.bs-datepicker-buttons .clear-center,
.bs-datepicker-buttons .today-center {
flex-grow: 0.5;
}
/* .bs-timepicker */
.bs-timepicker-container {
padding: 10px 0;
}
.bs-timepicker-label {
color: #54708b;
margin-bottom: 10px;
}
.bs-timepicker-controls {
display: inline-block;
vertical-align: top;
margin-right: 10px;
}
.bs-timepicker-controls button {
width: 20px;
height: 20px;
border-radius: 50%;
border: 0;
background-color: #e9edf0;
color: #54708b;
font-size: 16px;
font-weight: 700;
vertical-align: middle;
line-height: 0;
padding: 0;
transition: 0.3s;
}
.bs-timepicker-controls button:hover {
background-color: #d5dadd;
}
.bs-timepicker-controls input {
width: 35px;
height: 25px;
border-radius: 13px;
text-align: center;
border: 1px solid #e9edf0;
}
.bs-timepicker .switch-time-format {
text-transform: uppercase;
min-width: 54px;
height: 25px;
border-radius: 20px;
border: 1px solid #e9edf0;
background: #fff;
color: #54708b;
font-size: 13px;
}
.bs-timepicker .switch-time-format img {
vertical-align: initial;
margin-left: 4px;
}
bs-datepicker-container,
bs-daterangepicker-container {
z-index: 1080;
}
/* screen size < 1024px */
@media (max-width: 768px) {
.bs-datepicker {
width: min-content;
justify-content: center;
}
.bs-datepicker-multiple {
display: flex;
}
.bs-datepicker-multiple + .bs-datepicker-multiple {
margin-top: 10px;
margin-left: 0;
}
}
/* theming */
.theme-default .bs-datepicker-head {
background-color: #777;
}
.theme-default .btn-today-wrapper .btn-success, .theme-default .btn-clear-wrapper .btn-success {
background-color: #777;
border-color: #777;
}
.theme-default .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active:focus, .theme-default .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active:focus {
box-shadow: none;
}
.theme-default .btn-today-wrapper .btn-success:focus, .theme-default .btn-clear-wrapper .btn-success:focus {
box-shadow: none;
}
.theme-default .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active, .theme-default .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active {
background-color: #616161;
border-color: #616161;
}
.theme-default .btn-today-wrapper .btn-success:hover, .theme-default .btn-clear-wrapper .btn-success:hover {
background-color: #6F6E6E;
border-color: #6F6E6E;
}
.theme-default .bs-datepicker-predefined-btns button.selected {
background-color: #777;
}
.theme-default .bs-datepicker-body table td span.selected, .theme-default .bs-datepicker-body table td.selected span,
.theme-default .bs-datepicker-body table td span[class*=select-]:after, .theme-default .bs-datepicker-body table td[class*=select-] span:after {
background-color: #777;
}
.theme-default .bs-datepicker-body table td.week span {
color: #777;
}
.theme-default .bs-datepicker-body table td.active-week span:hover {
cursor: pointer;
background-color: #777;
color: #fff;
opacity: 0.5;
transition: 0s;
}
.theme-green .bs-datepicker-head {
background-color: #5cb85c;
}
.theme-green .btn-today-wrapper .btn-success, .theme-green .btn-clear-wrapper .btn-success {
background-color: #5cb85c;
border-color: #5cb85c;
}
.theme-green .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active:focus, .theme-green .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active:focus {
box-shadow: none;
}
.theme-green .btn-today-wrapper .btn-success:focus, .theme-green .btn-clear-wrapper .btn-success:focus {
box-shadow: none;
}
.theme-green .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active, .theme-green .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active {
background-color: #1e7e34;
border-color: #1e7e34;
}
.theme-green .btn-today-wrapper .btn-success:hover, .theme-green .btn-clear-wrapper .btn-success:hover {
background-color: #218838;
border-color: #218838;
}
.theme-green .bs-datepicker-predefined-btns button.selected {
background-color: #5cb85c;
}
.theme-green .bs-datepicker-body table td span.selected, .theme-green .bs-datepicker-body table td.selected span,
.theme-green .bs-datepicker-body table td span[class*=select-]:after, .theme-green .bs-datepicker-body table td[class*=select-] span:after {
background-color: #5cb85c;
}
.theme-green .bs-datepicker-body table td.week span {
color: #5cb85c;
}
.theme-green .bs-datepicker-body table td.active-week span:hover {
cursor: pointer;
background-color: #5cb85c;
color: #fff;
opacity: 0.5;
transition: 0s;
}
.theme-blue .bs-datepicker-head {
background-color: #5bc0de;
}
.theme-blue .btn-today-wrapper .btn-success, .theme-blue .btn-clear-wrapper .btn-success {
background-color: #5bc0de;
border-color: #5bc0de;
}
.theme-blue .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active:focus, .theme-blue .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active:focus {
box-shadow: none;
}
.theme-blue .btn-today-wrapper .btn-success:focus, .theme-blue .btn-clear-wrapper .btn-success:focus {
box-shadow: none;
}
.theme-blue .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active, .theme-blue .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active {
background-color: #2AA8CD;
border-color: #2AA8CD;
}
.theme-blue .btn-today-wrapper .btn-success:hover, .theme-blue .btn-clear-wrapper .btn-success:hover {
background-color: #3AB3D7;
border-color: #3AB3D7;
}
.theme-blue .bs-datepicker-predefined-btns button.selected {
background-color: #5bc0de;
}
.theme-blue .bs-datepicker-body table td span.selected, .theme-blue .bs-datepicker-body table td.selected span,
.theme-blue .bs-datepicker-body table td span[class*=select-]:after, .theme-blue .bs-datepicker-body table td[class*=select-] span:after {
background-color: #5bc0de;
}
.theme-blue .bs-datepicker-body table td.week span {
color: #5bc0de;
}
.theme-blue .bs-datepicker-body table td.active-week span:hover {
cursor: pointer;
background-color: #5bc0de;
color: #fff;
opacity: 0.5;
transition: 0s;
}
.theme-dark-blue .bs-datepicker-head {
background-color: #337ab7;
}
.theme-dark-blue .btn-today-wrapper .btn-success, .theme-dark-blue .btn-clear-wrapper .btn-success {
background-color: #337ab7;
border-color: #337ab7;
}
.theme-dark-blue .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active:focus, .theme-dark-blue .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active:focus {
box-shadow: none;
}
.theme-dark-blue .btn-today-wrapper .btn-success:focus, .theme-dark-blue .btn-clear-wrapper .btn-success:focus {
box-shadow: none;
}
.theme-dark-blue .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active, .theme-dark-blue .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active {
background-color: #266498;
border-color: #266498;
}
.theme-dark-blue .btn-today-wrapper .btn-success:hover, .theme-dark-blue .btn-clear-wrapper .btn-success:hover {
background-color: #2C6FA9;
border-color: #2C6FA9;
}
.theme-dark-blue .bs-datepicker-predefined-btns button.selected {
background-color: #337ab7;
}
.theme-dark-blue .bs-datepicker-body table td span.selected, .theme-dark-blue .bs-datepicker-body table td.selected span,
.theme-dark-blue .bs-datepicker-body table td span[class*=select-]:after, .theme-dark-blue .bs-datepicker-body table td[class*=select-] span:after {
background-color: #337ab7;
}
.theme-dark-blue .bs-datepicker-body table td.week span {
color: #337ab7;
}
.theme-dark-blue .bs-datepicker-body table td.active-week span:hover {
cursor: pointer;
background-color: #337ab7;
color: #fff;
opacity: 0.5;
transition: 0s;
}
.theme-red .bs-datepicker-head {
background-color: #d9534f;
}
.theme-red .btn-today-wrapper .btn-success, .theme-red .btn-clear-wrapper .btn-success {
background-color: #d9534f;
border-color: #d9534f;
}
.theme-red .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active:focus, .theme-red .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active:focus {
box-shadow: none;
}
.theme-red .btn-today-wrapper .btn-success:focus, .theme-red .btn-clear-wrapper .btn-success:focus {
box-shadow: none;
}
.theme-red .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active, .theme-red .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active {
background-color: #D23531;
border-color: #D23531;
}
.theme-red .btn-today-wrapper .btn-success:hover, .theme-red .btn-clear-wrapper .btn-success:hover {
background-color: #E33732;
border-color: #E33732;
}
.theme-red .bs-datepicker-predefined-btns button.selected {
background-color: #d9534f;
}
.theme-red .bs-datepicker-body table td span.selected, .theme-red .bs-datepicker-body table td.selected span,
.theme-red .bs-datepicker-body table td span[class*=select-]:after, .theme-red .bs-datepicker-body table td[class*=select-] span:after {
background-color: #d9534f;
}
.theme-red .bs-datepicker-body table td.week span {
color: #d9534f;
}
.theme-red .bs-datepicker-body table td.active-week span:hover {
cursor: pointer;
background-color: #d9534f;
color: #fff;
opacity: 0.5;
transition: 0s;
}
.theme-orange .bs-datepicker-head {
background-color: #f0ad4e;
}
.theme-orange .btn-today-wrapper .btn-success, .theme-orange .btn-clear-wrapper .btn-success {
background-color: #f0ad4e;
border-color: #f0ad4e;
}
.theme-orange .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active:focus, .theme-orange .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active:focus {
box-shadow: none;
}
.theme-orange .btn-today-wrapper .btn-success:focus, .theme-orange .btn-clear-wrapper .btn-success:focus {
box-shadow: none;
}
.theme-orange .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active, .theme-orange .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active {
background-color: #ED9C29;
border-color: #ED9C29;
}
.theme-orange .btn-today-wrapper .btn-success:hover, .theme-orange .btn-clear-wrapper .btn-success:hover {
background-color: #FFAC35;
border-color: #FFAC35;
}
.theme-orange .bs-datepicker-predefined-btns button.selected {
background-color: #f0ad4e;
}
.theme-orange .bs-datepicker-body table td span.selected, .theme-orange .bs-datepicker-body table td.selected span,
.theme-orange .bs-datepicker-body table td span[class*=select-]:after, .theme-orange .bs-datepicker-body table td[class*=select-] span:after {
background-color: #f0ad4e;
}
.theme-orange .bs-datepicker-body table td.week span {
color: #f0ad4e;
}
.theme-orange .bs-datepicker-body table td.active-week span:hover {
cursor: pointer;
background-color: #f0ad4e;
color: #fff;
opacity: 0.5;
transition: 0s;
}
/*# sourceMappingURL=bs-datepicker.css.map */

View File

@ -1,680 +0,0 @@
/* .bs-datepicker */
.bs-datepicker {
display: flex;
align-items: stretch;
flex-flow: row wrap;
background: #fff;
box-shadow: 0 0 10px 0 #aaa;
position: relative;
z-index: 1;
/* button */
/* .bs-datepicker-head */
/* .bs-datepicker-body */
/* .current-timedate */
/* .bs-datepicker-multiple */
/* .bs-datepicker-btns */
/*.bs-datepicker-custom-range */
/* .bs-datepicker-predefined-btns */
/* .bs-datepicker-buttons */
}
.bs-datepicker:after {
clear: both;
content: "";
display: block;
}
.bs-datepicker bs-day-picker {
float: left;
}
.bs-datepicker button:hover,
.bs-datepicker button:focus,
.bs-datepicker button:active,
.bs-datepicker input:hover,
.bs-datepicker input:focus,
.bs-datepicker input:active, .bs-datepicker-btns button:hover, .bs-datepicker-btns button:focus, .bs-datepicker-btns button:active, .bs-datepicker-predefined-btns button:active, .bs-datepicker-predefined-btns button:focus {
outline: none;
}
.bs-datepicker-head {
min-width: 270px;
height: 50px;
padding: 10px;
border-radius: 3px 3px 0 0;
text-align: justify;
/* .bs-datepicker-head button */
}
.bs-datepicker-head:after {
content: "";
display: inline-block;
vertical-align: top;
width: 100%;
}
.bs-datepicker-head button {
display: inline-block;
vertical-align: top;
padding: 0;
height: 30px;
line-height: 30px;
border: 0;
background: transparent;
text-align: center;
cursor: pointer;
color: #fff;
transition: 0.3s;
}
.bs-datepicker-head button[disabled], .bs-datepicker-head button[disabled]:hover, .bs-datepicker-head button[disabled]:active {
background: rgba(221, 221, 221, 0.3);
color: #f5f5f5;
cursor: not-allowed;
}
.bs-datepicker-head button.previous span {
transform: translate(-1px, -1px);
}
.bs-datepicker-head button.next span {
transform: translate(1px, -1px);
}
.bs-datepicker-head button.next, .bs-datepicker-head button.previous {
border-radius: 50%;
width: 30px;
height: 30px;
}
.bs-datepicker-head button.next span, .bs-datepicker-head button.previous span {
font-size: 28px;
line-height: 1;
display: inline-block;
position: relative;
height: 100%;
width: 100%;
border-radius: 50%;
}
.bs-datepicker-head button.current {
border-radius: 15px;
max-width: 155px;
padding: 0 13px;
}
.bs-datepicker-head button:hover {
background-color: rgba(0, 0, 0, 0.1);
}
.bs-datepicker-head button:active {
background-color: rgba(0, 0, 0, 0.2);
}
.bs-datepicker-body {
padding: 10px;
border-radius: 0 0 3px 3px;
min-height: 232px;
min-width: 278px;
border: 1px solid #e9edf0;
/* .bs-datepicker-body table */
}
.bs-datepicker-body .days.weeks {
position: relative;
z-index: 1;
}
.bs-datepicker-body table {
width: 100%;
border-collapse: separate;
border-spacing: 0;
/* .bs-datepicker-body table.days */
/* .bs-datepicker-body table.weeks */
}
.bs-datepicker-body table th {
font-size: 13px;
color: #9aaec1;
font-weight: 400;
text-align: center;
}
.bs-datepicker-body table td {
color: #54708b;
text-align: center;
position: relative;
padding: 0;
/* todo: check first :not(.disabled) usage */
}
.bs-datepicker-body table td span {
display: block;
margin: 0 auto;
font-size: 13px;
border-radius: 50%;
/*z-index: 1;*/
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
}
.bs-datepicker-body table td:not(.disabled):not(.week) span:not(.disabled):not(.is-other-month) {
cursor: pointer;
}
.bs-datepicker-body table td.is-highlighted:not(.disabled):not(.selected) span,
.bs-datepicker-body table td span.is-highlighted:not(.disabled):not(.selected) {
background-color: #e9edf0;
transition: 0s;
}
.bs-datepicker-body table td.is-active-other-month:not(.disabled):not(.selected) span,
.bs-datepicker-body table td span.is-active-other-month:not(.disabled):not(.selected) {
background-color: #e9edf0;
transition: 0s;
cursor: pointer;
}
.bs-datepicker-body table td span.disabled, .bs-datepicker-body table td.disabled span {
color: #9aaec1;
}
.bs-datepicker-body table td span.selected, .bs-datepicker-body table td.selected span {
color: #fff;
}
.bs-datepicker-body table td span.is-other-month, .bs-datepicker-body table td.is-other-month span {
color: rgba(0, 0, 0, 0.25);
}
.bs-datepicker-body table td.active {
position: relative;
}
.bs-datepicker-body table td.active.select-start:before {
left: 35%;
}
.bs-datepicker-body table td.active.select-end:before {
left: -85%;
}
.bs-datepicker-body table td span.active.select-start:after,
.bs-datepicker-body table td span.active.select-end:after, .bs-datepicker-body table td.active.select-start span:after, .bs-datepicker-body table td.active.select-end span:after {
content: "";
display: block;
position: absolute;
z-index: -1;
width: 100%;
height: 100%;
transition: 0.3s;
top: 0;
border-radius: 50%;
}
.bs-datepicker-body table td:before,
.bs-datepicker-body table td span:before {
content: "";
display: block;
position: absolute;
z-index: -1;
top: 6px;
bottom: 6px;
left: -3px;
right: -2px;
box-sizing: content-box;
background: transparent;
}
.bs-datepicker-body table td.active.select-start + td.active:before {
left: -20%;
}
.bs-datepicker-body table td:last-child.active:before {
border-radius: 0 3px 3px 0;
width: 125%;
left: -25%;
}
.bs-datepicker-body table td span[class*=select-], .bs-datepicker-body table td[class*=select-] span {
border-radius: 50%;
color: #fff;
}
.bs-datepicker-body table.days td.active:not(.select-start):before, .bs-datepicker-body table.days td.in-range:not(.select-start):before,
.bs-datepicker-body table.days span.active:not(.select-start):before,
.bs-datepicker-body table.days span.in-range:not(.select-start):before {
background: #e9edf0;
}
.bs-datepicker-body table.days span {
width: 32px;
height: 32px;
line-height: 32px;
}
.bs-datepicker-body table.days span.select-start {
z-index: 2;
}
.bs-datepicker-body table.days span.is-highlighted.in-range:before {
right: 3px;
left: 0;
}
.bs-datepicker-body table.days span.in-range.select-end:before {
right: 4px;
left: 0;
}
.bs-datepicker-body table.days td.select-start + td.select-end:before, .bs-datepicker-body table.days td.select-start + td.is-highlighted:before, .bs-datepicker-body table.days td.active + td.is-highlighted:before, .bs-datepicker-body table.days td.active + td.select-end:before, .bs-datepicker-body table.days td.in-range + td.is-highlighted:before, .bs-datepicker-body table.days td.in-range + td.select-end:before {
background: #e9edf0;
width: 100%;
}
.bs-datepicker-body table.weeks tr td:nth-child(2).active:before {
border-radius: 3px 0 0 3px;
left: 0;
width: 100%;
}
.bs-datepicker-body table:not(.weeks) tr td:first-child:before {
border-radius: 3px 0 0 3px;
}
.bs-datepicker-body table.years td span {
width: 46px;
height: 46px;
line-height: 45px;
margin: 0 auto;
}
.bs-datepicker-body table.years tr:not(:last-child) td span {
margin-bottom: 8px;
}
.bs-datepicker-body table.months td {
height: 52px;
}
.bs-datepicker-body table.months td span {
padding: 6px;
border-radius: 15px;
}
.bs-datepicker .current-timedate {
color: #54708b;
font-size: 15px;
text-align: center;
height: 30px;
line-height: 30px;
border-radius: 20px;
border: 1px solid #e9edf0;
margin-bottom: 10px;
cursor: pointer;
text-transform: uppercase;
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
}
.bs-datepicker .current-timedate span:not(:empty):before {
content: "";
width: 15px;
height: 16px;
display: inline-block;
margin-right: 4px;
vertical-align: text-bottom;
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAABMklEQVQoU9VTwW3CQBCcOUgBtEBKSAukAnBKME+wFCAlYIhk8sQlxFABtJAScAsuAPBEewYcxCP8ouxrPDsza61uiVN1o6RNHD4htSCmq49RfO71BvMJqBBkITRf1kmUW49nQRC9h1I5AZlBClaL8aP1fKgOOxCx8aSLs+Q19eZuNO8QmPqJRtDFguy7OAcDbJPs+/BKVPDIPrvD2ZJgWAmVe7O0rI0Vqs1seyWUXpuJoppYCa5L+U++NpNPkr5OE2oMdARsb3gykJT5ydZcL8Z9Ww60nxg2LhjON9li9OwXZzo+xLbp3nC2s9CL2RrueGyVrgwNm8HpsCzZ9EEW6kqXlo1GQe03FzP/7W8Hl0dBtu7Bf7zt6mIwvX1RvzDCm7+q3mAW0Dl/GPdUCeXrZLT9BrDrGkm4qlPvAAAAAElFTkSuQmCC);
}
.bs-datepicker-multiple {
border-radius: 4px 0 0 4px;
}
.bs-datepicker-multiple + .bs-datepicker-multiple {
margin-left: 10px;
}
.bs-datepicker-multiple .bs-datepicker {
box-shadow: none;
position: relative;
}
.bs-datepicker-multiple .bs-datepicker:not(:last-child) {
padding-right: 10px;
}
.bs-datepicker-multiple .bs-datepicker + .bs-datepicker:after {
content: "";
display: block;
width: 14px;
height: 10px;
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAKCAYAAABrGwT5AAAA1ElEQVQoU42RsQrCUAxF77VuDu7O4oMWW//BURBBpZvgKk4uIrjoqKOTf+DopIO4uYggtFTfw3+pkQqCW1/G5J7kJiFy4m5MxUlxAzgIPHX+lzMPzupRYlYgxiR7vqsOP8YKzsTx0yxFMCUZ+q7aZzlr+OvgoWcAFyAHgat2jLWu48252DdqAihDJGSSJNUUxYmQjs3+hPQBlAh2rG2LCOPnaw3IiGDX99TRCs7ASJsNhUOA7d/LcuHvRG22FIZvsNXw1MX6VZExCilOQKEfeLXr/10+aC9Ho7arh7oAAAAASUVORK5CYII=);
position: absolute;
top: 25px;
left: -8px;
}
.bs-datepicker-multiple .bs-datepicker .left {
float: left;
}
.bs-datepicker-multiple .bs-datepicker .right {
float: right;
}
.bs-datepicker-container {
padding: 15px;
}
.bs-datepicker .bs-media-container {
display: flex;
}
@media (max-width: 768px) {
.bs-datepicker .bs-media-container {
flex-direction: column;
}
}
.bs-datepicker .bs-timepicker-in-datepicker-container {
display: flex;
justify-content: space-around;
}
.bs-datepicker-custom-range {
padding: 15px;
background: #eee;
}
.bs-datepicker-predefined-btns button {
width: 100%;
display: block;
height: 30px;
background-color: #9aaec1;
border-radius: 4px;
color: #fff;
border: 0;
margin-bottom: 10px;
padding: 0 18px;
text-align: left;
transition: 0.3s;
}
.bs-datepicker-predefined-btns button:hover {
background-color: #54708b;
}
.bs-datepicker-buttons {
display: flex;
flex-flow: row wrap;
justify-content: flex-end;
padding-top: 10px;
border-top: 1px solid #e9edf0;
}
.bs-datepicker-buttons .btn-default {
margin-left: 10px;
}
.bs-datepicker-buttons .btn-today-wrapper {
display: flex;
flex-flow: row wrap;
}
.bs-datepicker-buttons .clear-right,
.bs-datepicker-buttons .today-right {
flex-grow: 0;
}
.bs-datepicker-buttons .clear-left,
.bs-datepicker-buttons .today-left {
flex-grow: 1;
}
.bs-datepicker-buttons .clear-center,
.bs-datepicker-buttons .today-center {
flex-grow: 0.5;
}
/* .bs-timepicker */
.bs-timepicker-container {
padding: 10px 0;
}
.bs-timepicker-label {
color: #54708b;
margin-bottom: 10px;
}
.bs-timepicker-controls {
display: inline-block;
vertical-align: top;
margin-right: 10px;
}
.bs-timepicker-controls button {
width: 20px;
height: 20px;
border-radius: 50%;
border: 0;
background-color: #e9edf0;
color: #54708b;
font-size: 16px;
font-weight: 700;
vertical-align: middle;
line-height: 0;
padding: 0;
transition: 0.3s;
}
.bs-timepicker-controls button:hover {
background-color: #d5dadd;
}
.bs-timepicker-controls input {
width: 35px;
height: 25px;
border-radius: 13px;
text-align: center;
border: 1px solid #e9edf0;
}
.bs-timepicker .switch-time-format {
text-transform: uppercase;
min-width: 54px;
height: 25px;
border-radius: 20px;
border: 1px solid #e9edf0;
background: #fff;
color: #54708b;
font-size: 13px;
}
.bs-timepicker .switch-time-format img {
vertical-align: initial;
margin-left: 4px;
}
bs-datepicker-container,
bs-daterangepicker-container {
z-index: 1080;
}
/* screen size < 1024px */
@media (max-width: 768px) {
.bs-datepicker {
width: min-content;
justify-content: center;
}
.bs-datepicker-multiple {
display: flex;
}
.bs-datepicker-multiple + .bs-datepicker-multiple {
margin-top: 10px;
margin-left: 0;
}
}
/* theming */
.theme-default .bs-datepicker-head {
background-color: #777;
}
.theme-default .btn-today-wrapper .btn-success, .theme-default .btn-clear-wrapper .btn-success {
background-color: #777;
border-color: #777;
}
.theme-default .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active:focus, .theme-default .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active:focus {
box-shadow: none;
}
.theme-default .btn-today-wrapper .btn-success:focus, .theme-default .btn-clear-wrapper .btn-success:focus {
box-shadow: none;
}
.theme-default .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active, .theme-default .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active {
background-color: #616161;
border-color: #616161;
}
.theme-default .btn-today-wrapper .btn-success:hover, .theme-default .btn-clear-wrapper .btn-success:hover {
background-color: #6F6E6E;
border-color: #6F6E6E;
}
.theme-default .bs-datepicker-predefined-btns button.selected {
background-color: #777;
}
.theme-default .bs-datepicker-body table td span.selected, .theme-default .bs-datepicker-body table td.selected span,
.theme-default .bs-datepicker-body table td span[class*=select-]:after, .theme-default .bs-datepicker-body table td[class*=select-] span:after {
background-color: #777;
}
.theme-default .bs-datepicker-body table td.week span {
color: #777;
}
.theme-default .bs-datepicker-body table td.active-week span:hover {
cursor: pointer;
background-color: #777;
color: #fff;
opacity: 0.5;
transition: 0s;
}
.theme-green .bs-datepicker-head {
background-color: #5cb85c;
}
.theme-green .btn-today-wrapper .btn-success, .theme-green .btn-clear-wrapper .btn-success {
background-color: #5cb85c;
border-color: #5cb85c;
}
.theme-green .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active:focus, .theme-green .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active:focus {
box-shadow: none;
}
.theme-green .btn-today-wrapper .btn-success:focus, .theme-green .btn-clear-wrapper .btn-success:focus {
box-shadow: none;
}
.theme-green .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active, .theme-green .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active {
background-color: #1e7e34;
border-color: #1e7e34;
}
.theme-green .btn-today-wrapper .btn-success:hover, .theme-green .btn-clear-wrapper .btn-success:hover {
background-color: #218838;
border-color: #218838;
}
.theme-green .bs-datepicker-predefined-btns button.selected {
background-color: #5cb85c;
}
.theme-green .bs-datepicker-body table td span.selected, .theme-green .bs-datepicker-body table td.selected span,
.theme-green .bs-datepicker-body table td span[class*=select-]:after, .theme-green .bs-datepicker-body table td[class*=select-] span:after {
background-color: #5cb85c;
}
.theme-green .bs-datepicker-body table td.week span {
color: #5cb85c;
}
.theme-green .bs-datepicker-body table td.active-week span:hover {
cursor: pointer;
background-color: #5cb85c;
color: #fff;
opacity: 0.5;
transition: 0s;
}
.theme-blue .bs-datepicker-head {
background-color: #5bc0de;
}
.theme-blue .btn-today-wrapper .btn-success, .theme-blue .btn-clear-wrapper .btn-success {
background-color: #5bc0de;
border-color: #5bc0de;
}
.theme-blue .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active:focus, .theme-blue .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active:focus {
box-shadow: none;
}
.theme-blue .btn-today-wrapper .btn-success:focus, .theme-blue .btn-clear-wrapper .btn-success:focus {
box-shadow: none;
}
.theme-blue .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active, .theme-blue .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active {
background-color: #2AA8CD;
border-color: #2AA8CD;
}
.theme-blue .btn-today-wrapper .btn-success:hover, .theme-blue .btn-clear-wrapper .btn-success:hover {
background-color: #3AB3D7;
border-color: #3AB3D7;
}
.theme-blue .bs-datepicker-predefined-btns button.selected {
background-color: #5bc0de;
}
.theme-blue .bs-datepicker-body table td span.selected, .theme-blue .bs-datepicker-body table td.selected span,
.theme-blue .bs-datepicker-body table td span[class*=select-]:after, .theme-blue .bs-datepicker-body table td[class*=select-] span:after {
background-color: #5bc0de;
}
.theme-blue .bs-datepicker-body table td.week span {
color: #5bc0de;
}
.theme-blue .bs-datepicker-body table td.active-week span:hover {
cursor: pointer;
background-color: #5bc0de;
color: #fff;
opacity: 0.5;
transition: 0s;
}
.theme-dark-blue .bs-datepicker-head {
background-color: #337ab7;
}
.theme-dark-blue .btn-today-wrapper .btn-success, .theme-dark-blue .btn-clear-wrapper .btn-success {
background-color: #337ab7;
border-color: #337ab7;
}
.theme-dark-blue .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active:focus, .theme-dark-blue .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active:focus {
box-shadow: none;
}
.theme-dark-blue .btn-today-wrapper .btn-success:focus, .theme-dark-blue .btn-clear-wrapper .btn-success:focus {
box-shadow: none;
}
.theme-dark-blue .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active, .theme-dark-blue .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active {
background-color: #266498;
border-color: #266498;
}
.theme-dark-blue .btn-today-wrapper .btn-success:hover, .theme-dark-blue .btn-clear-wrapper .btn-success:hover {
background-color: #2C6FA9;
border-color: #2C6FA9;
}
.theme-dark-blue .bs-datepicker-predefined-btns button.selected {
background-color: #337ab7;
}
.theme-dark-blue .bs-datepicker-body table td span.selected, .theme-dark-blue .bs-datepicker-body table td.selected span,
.theme-dark-blue .bs-datepicker-body table td span[class*=select-]:after, .theme-dark-blue .bs-datepicker-body table td[class*=select-] span:after {
background-color: #337ab7;
}
.theme-dark-blue .bs-datepicker-body table td.week span {
color: #337ab7;
}
.theme-dark-blue .bs-datepicker-body table td.active-week span:hover {
cursor: pointer;
background-color: #337ab7;
color: #fff;
opacity: 0.5;
transition: 0s;
}
.theme-red .bs-datepicker-head {
background-color: #d9534f;
}
.theme-red .btn-today-wrapper .btn-success, .theme-red .btn-clear-wrapper .btn-success {
background-color: #d9534f;
border-color: #d9534f;
}
.theme-red .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active:focus, .theme-red .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active:focus {
box-shadow: none;
}
.theme-red .btn-today-wrapper .btn-success:focus, .theme-red .btn-clear-wrapper .btn-success:focus {
box-shadow: none;
}
.theme-red .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active, .theme-red .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active {
background-color: #D23531;
border-color: #D23531;
}
.theme-red .btn-today-wrapper .btn-success:hover, .theme-red .btn-clear-wrapper .btn-success:hover {
background-color: #E33732;
border-color: #E33732;
}
.theme-red .bs-datepicker-predefined-btns button.selected {
background-color: #d9534f;
}
.theme-red .bs-datepicker-body table td span.selected, .theme-red .bs-datepicker-body table td.selected span,
.theme-red .bs-datepicker-body table td span[class*=select-]:after, .theme-red .bs-datepicker-body table td[class*=select-] span:after {
background-color: #d9534f;
}
.theme-red .bs-datepicker-body table td.week span {
color: #d9534f;
}
.theme-red .bs-datepicker-body table td.active-week span:hover {
cursor: pointer;
background-color: #d9534f;
color: #fff;
opacity: 0.5;
transition: 0s;
}
.theme-orange .bs-datepicker-head {
background-color: #f0ad4e;
}
.theme-orange .btn-today-wrapper .btn-success, .theme-orange .btn-clear-wrapper .btn-success {
background-color: #f0ad4e;
border-color: #f0ad4e;
}
.theme-orange .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active:focus, .theme-orange .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active:focus {
box-shadow: none;
}
.theme-orange .btn-today-wrapper .btn-success:focus, .theme-orange .btn-clear-wrapper .btn-success:focus {
box-shadow: none;
}
.theme-orange .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active, .theme-orange .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active {
background-color: #ED9C29;
border-color: #ED9C29;
}
.theme-orange .btn-today-wrapper .btn-success:hover, .theme-orange .btn-clear-wrapper .btn-success:hover {
background-color: #FFAC35;
border-color: #FFAC35;
}
.theme-orange .bs-datepicker-predefined-btns button.selected {
background-color: #f0ad4e;
}
.theme-orange .bs-datepicker-body table td span.selected, .theme-orange .bs-datepicker-body table td.selected span,
.theme-orange .bs-datepicker-body table td span[class*=select-]:after, .theme-orange .bs-datepicker-body table td[class*=select-] span:after {
background-color: #f0ad4e;
}
.theme-orange .bs-datepicker-body table td.week span {
color: #f0ad4e;
}
.theme-orange .bs-datepicker-body table td.active-week span:hover {
cursor: pointer;
background-color: #f0ad4e;
color: #fff;
opacity: 0.5;
transition: 0s;
}
/*# sourceMappingURL=bs-datepicker.css.map */

Some files were not shown because too many files have changed in this diff Show More