Merge remote-tracking branch 'origin/develop'

This commit is contained in:
nobody 2022-10-29 07:33:53 +02:00
commit 814aeedcd0
No known key found for this signature in database
GPG Key ID: 8F6DE3D614FCFD7A
78 changed files with 804 additions and 119 deletions

View File

@ -133,7 +133,7 @@ https://cdnjs.cloudflare.com/ajax/libs/ajax-bootstrap-select/1.4.5/js/ajax-boots
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/alpinejs/2.8.2/alpine.js
https://cdnjs.cloudflare.com/ajax/libs/alpinejs/3.10.4/cdn.min.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
https://cdnjs.cloudflare.com/ajax/libs/angular-bootstrap-colorpicker/3.0.32/css/colorpicker.min.css
https://cdnjs.cloudflare.com/ajax/libs/angular-bootstrap-colorpicker/3.0.32/js/bootstrap-colorpicker-module.min.js
@ -295,8 +295,8 @@ https://cdnjs.cloudflare.com/ajax/libs/bootstrap-toggle/2.2.2/css/bootstrap2-tog
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
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-toggle/2.2.2/js/bootstrap-toggle.min.js
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-vue/2.22.0/bootstrap-vue.min.css
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-vue/2.22.0/bootstrap-vue.min.js
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-vue/2.23.1/bootstrap-vue.min.css
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
@ -320,11 +320,11 @@ 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.6.1/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.5/dayjs.min.js
https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.11.6/dayjs.min.js
https://cdnjs.cloudflare.com/ajax/libs/dexie/3.2.2/dexie.min.js
https://cdnjs.cloudflare.com/ajax/libs/docsearch.js/2.6.3/docsearch.min.css
https://cdnjs.cloudflare.com/ajax/libs/docsearch.js/2.6.3/docsearch.min.js
https://cdnjs.cloudflare.com/ajax/libs/docsify/4.12.2/docsify.min.js
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
@ -1154,7 +1154,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.4/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.48.0/instantsearch.production.min.js
https://cdnjs.cloudflare.com/ajax/libs/instantsearch.js/4.49.0/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
@ -1176,6 +1176,7 @@ 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-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
https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js
https://cdnjs.cloudflare.com/ajax/libs/jquery-csv/1.0.21/jquery.csv.min.js
https://cdnjs.cloudflare.com/ajax/libs/jquery.cycle2/2.1.6/core/jquery.cycle2.autoheight.min.js
@ -1378,8 +1379,8 @@ https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/assets/owl.theme.green
https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/owl.carousel.min.js
https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/owl.carousel.min.js
https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.10.2/p5.min.js
https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.2/addons/p5.sound.min.js
https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.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.1.5/pagination.css
https://cdnjs.cloudflare.com/ajax/libs/paginationjs/2.1.5/pagination.min.js
@ -1426,25 +1427,44 @@ https://cdnjs.cloudflare.com/ajax/libs/pure/1.0.1/menus-skin-min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/1.0.1/pure-min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/1.0.1/pure-nr-min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/1.0.1/tables-min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.1.0/base-context.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.1.0/base.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.1.0/buttons-core.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.1.0/buttons.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.1.0/forms.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.1.0/forms-nr.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.1.0/grids-core.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.1.0/grids.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.1.0/grids-responsive.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.1.0/grids-units.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.1.0/menus-core.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.1.0/menus-dropdown.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.1.0/menus-horizontal.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.1.0/menus.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.1.0/menus-scrollable.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.1.0/menus-skin.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.1.0/pure.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.1.0/pure-nr.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.1.0/tables.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.2.0/base-context.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.2.0/base.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.2.0/buttons-core.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.2.0/buttons.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.2.0/forms.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.2.0/forms-nr.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.2.0/grids-core.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.2.0/grids.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.2.0/grids-responsive.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.2.0/grids-units.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.2.0/menus-core.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.2.0/menus-dropdown.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.2.0/menus-horizontal.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.2.0/menus.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.2.0/menus-scrollable.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.2.0/menus-skin.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.2.0/pure.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.2.0/pure-nr.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/2.2.0/tables.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/3.0.0/base-context.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/3.0.0/base.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/3.0.0/buttons-core.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/3.0.0/buttons.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/3.0.0/forms.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/3.0.0/forms-nr.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/3.0.0/grids-core.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/3.0.0/grids.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/3.0.0/grids-responsive.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/3.0.0/grids-units.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/3.0.0/menus-core.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/3.0.0/menus-dropdown.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/3.0.0/menus-horizontal.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/3.0.0/menus.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/3.0.0/menus-scrollable.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/3.0.0/menus-skin.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/3.0.0/pure.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/3.0.0/pure-nr.min.css
https://cdnjs.cloudflare.com/ajax/libs/pure/3.0.0/tables.min.css
https://cdnjs.cloudflare.com/ajax/libs/rangeslider.js/2.3.3/rangeslider.min.css
https://cdnjs.cloudflare.com/ajax/libs/rangeslider.js/2.3.3/rangeslider.min.js
https://cdnjs.cloudflare.com/ajax/libs/react/16.14.0/umd/react.production.min.js
@ -1787,7 +1807,7 @@ https://cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/shortcuts/inview.min.js
https://cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/shortcuts/sticky.min.js
https://cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/waypoints.debug.js
https://cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/zepto.waypoints.min.js
https://cdnjs.cloudflare.com/ajax/libs/webcomponentsjs/2.6.0/webcomponents-loader.min.js
https://cdnjs.cloudflare.com/ajax/libs/webcomponentsjs/2.7.0/webcomponents-loader.min.js
https://cdnjs.cloudflare.com/ajax/libs/webfont/1.6.28/webfontloader.js
https://cdnjs.cloudflare.com/ajax/libs/webrtc-adapter/6.4.8/adapter.min.js
https://cdnjs.cloudflare.com/ajax/libs/webrtc-adapter/7.7.1/adapter.min.js
@ -1826,15 +1846,15 @@ 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.62/dist/autocomplete.js
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.62/dist/bundle.js
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.62/dist/initializer.js
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.62/dist/polyfill.js
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.62/dist/raw.css
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.62/dist/recommendation.js
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.62/dist/search.js
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.62/dist/sentry.js
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.62/dist/styles.css
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.63/dist/autocomplete.js
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.63/dist/bundle.js
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.63/dist/initializer.js
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.63/dist/polyfill.js
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.63/dist/raw.css
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.63/dist/recommendation.js
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.63/dist/search.js
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.63/dist/sentry.js
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.63/dist/styles.css
https://cdn.jsdelivr.net/npm/instantsearch.css@7.4.5/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
@ -1864,8 +1884,8 @@ https://cdn.jsdelivr.net/npm/videojs-seek-buttons@1.6.0/dist/videojs-seek-button
https://cdn.jsdelivr.net/npm/videojs-seek-buttons@1.6.0/dist/videojs-seek-buttons.min.js
https://cdn.jsdelivr.net/npm/videojs-seek-buttons@2.2.1/dist/videojs-seek-buttons.css
https://cdn.jsdelivr.net/npm/videojs-seek-buttons@2.2.1/dist/videojs-seek-buttons.min.js
https://cdn.jsdelivr.net/npm/videojs-seek-buttons@3.0.0/dist/videojs-seek-buttons.css
https://cdn.jsdelivr.net/npm/videojs-seek-buttons@3.0.0/dist/videojs-seek-buttons.min.js
https://cdn.jsdelivr.net/npm/videojs-seek-buttons@3.0.1/dist/videojs-seek-buttons.css
https://cdn.jsdelivr.net/npm/videojs-seek-buttons@3.0.1/dist/videojs-seek-buttons.min.js
https://cdn.jsdelivr.net/npm/vue@1.0.28/dist/vue.min.js
https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.min.js
https://cdn.jsdelivr.net/npm/vue-match-media@1.0.3/dist/index.min.js

View File

@ -300,7 +300,7 @@
"description": "Browser compatibility"
},
"helpIntroductionDescription": {
"message": "",
"message": "LocalCDN е разширение, което емулира мрежи за доставка на съдържание, за да подобри поверителността ви в мрежата. То прихваща трафика, намира местно наличните софтуерни рамки/библиотеки и ги предоставя за използване от страницата. Чувствайте се свободни да използвате следния инструмент за изпробване, за да разберете дали сте защитени. За повече информация прочетете ръководството или документацията.",
"description": "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."
},
"helpLinkTestUtility": {
@ -316,7 +316,7 @@
"description": "Wiki pages"
},
"helpHtmlFilterDescription": {
"message": "",
"message": "В повечето случаи LocalCDN може лесно да замени използваните софтуерни рамки и да подобри поверителността. В някои случаи страницатс може да се опита да предотврати това чрез задаване на определени атрибути в изходния код на HTML. LocalCDN чете изходния код на HTML преди да бъде показан и премахва тази атрибути (в червено).",
"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": {
@ -344,7 +344,7 @@
"description": "Unfortunately, it sometimes happens that special characters are then displayed incorrectly. In this case you can deactivate the setting again, to display the umlauts correctly."
},
"helpRuleGeneratorDescription": {
"message": "",
"message": "Ако искате заявките към поддържаните мрежи за доставка на съдържание (МДС) автоматично да бъдат пренасочвани към LocalCDN, можете да добавите тези правила към приложението за спиране на реклами, за да разрешите тези пренасочвания. Ако не искате да добавяте тези правила, трябва да разрешавате всяка заява МДС поотделно за всяка страница.",
"description": "If you want to automatically redirect all supported CDN connections to LocalCDN, you can add these rules to your adblocker to allow these redirections. If you do not want to add these rules, you must allow each CDN connection individually for each website."
},
"helpRuleGeneratorUblockTitle": {
@ -352,7 +352,7 @@
"description": "Only uBlock Origin:"
},
"helpRuleGeneratorUblockDescription": {
"message": "",
"message": "Тези правила са приложими само в режимите „Междинен“ и „Тежък“, тъй като спират всички ресурси на трети страни. Не са необходими в режимите „Стандартен“ и „Лек“. За повече информация посетете документацията на uBlock Origin.",
"description": "These rules are only relevant in »medium« or »hard« mode, because it blocks all 3rd-party resources. They are not necessary in »default«, »easy« or »very-easy« mode. For more information, please visit the uBlock Origin Wiki."
},
"helpRuleGeneratorUblockTableIcon": {
@ -380,7 +380,7 @@
"description": "Hard"
},
"helpWebsiteIssuesDescription": {
"message": "Има две възможни причини: Или има заявка за софтуерна рамка / библиотека, която LocalCDN (все още) не предоставя, или SOP. SOP (Same origin policy - политика за същия произход) е механизъм за сигурност, който определя какви данни е позволено да се зареждат от мрежовия четец. Този механизъм помага да се изолират злонамерени документи и по този начин да се намалят възможните вектори за атака. Тази политика не позволява да бъдат зареждани софтуерните рамки / библиотеките от LocalCDN. За съжаление за момента няма решение за този проблем.",
"message": "Има две възможни причини: Или има заявка за софтуерна рамка / библиотека, която LocalCDN (все още) не предоставя, или SOP (Same origin policy - политика за същия произход). Това е механизъм за сигурност, който определя какви данни е позволено да се зареждат от мрежовия четец. Този механизъм помага да се изолират злонамерени документи и по този начин да се намалят възможните вектори за атака. Тази политика не позволява да бъдат зареждани софтуерните рамки / библиотеките от LocalCDN. За съжаление за момента няма решение за този проблем.",
"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": {
@ -388,11 +388,11 @@
"description": "LocalCDN can replace »Google Material Icons«. To catch the connection your adblocker (e.g. uBlock Origin, uMatrix or AdGuard) must allow the request. LocalCDN listens on these requests and if the query contains »Google Material Icons«, the resource will be replaced. If you uncheck the »Block requests for missing content« option, non-existent resources will be allowed to pass and »Google Fonts« will be loaded, because »Google Material Icons« and »Google Fonts« use the same domain. If you dont want this, you can block »Google Fonts« on LocalCDN."
},
"helpStatisticsDescription": {
"message": "",
"message": "Не се паникьосвайте, нищо не се изпраща никъде. Това би било против всички мои принципи. Статистиката (под формата на JSON) съдържа следната информация: дата, брояч на мрежа за доставка на съдържание и брояч на софтуерна рамка. Това е всичко. Ето пример:",
"description": "Dont 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. Thats all. Ive an example here:"
},
"helpStatisticsContent": {
"message": "",
"message": "Статистиката не съдържа информация за мрежовия четец, операционната система, страницата, от която идва заявката, IP адреси или друга информация. Само дата, брояч на мрежа за доставка на съдържание (МДС) и брояч на софтуерни рамки. Статистиката показва кои софтуени рамки са заменени от LocalCDN колко често и кои МДС са били поискани.",
"description": "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."
},
"helpStatisticsTruthTitle": {
@ -408,11 +408,11 @@
"description": "What will be synchronized when I select »sync« as storage type?"
},
"helpSyncDescription": {
"message": "",
"message": "Синхронизацията ще работи само ако сте влезли във Firefox Account на устройството и сте разрешили синхронизирането на добавките в настройките. Отделен сървър за синхронизиране под ваш контрол също ще работи. По такъв начин ще бъдат синхронизирани повечето от настройките на LocalCDN на всички устройства.",
"description": "Sync will only work if you are logged in with a Firefox account on the device and have allowed add-ons to sync in the settings. A separate sync server under your control will also work. This will synchronize most of the settings of LocalCDN across all devices."
},
"helpSyncAccount": {
"message": "",
"message": "Ако нямате профил в Sync, нищо няма да бъде синхронизирано. В този случай няма значение какъв вид хранилище ще изберете.",
"description": "If you dont have a sync account, nothing will be synchronized. In that case it makes no difference what type of storage you have selected."
},
"helpSyncContentNever": {

486
_locales/tk/messages.json Normal file
View File

@ -0,0 +1,486 @@
{
"extensionDescription": {
"message": "",
"description": "Protects you against tracking through CDNs (Content Delivery Networks) by redirecting to local resources."
},
"amountInjectedDescription": {
"message": "",
"description": "Amount injected description."
},
"optionsTitle": {
"message": "",
"description": "Options title"
},
"showIconBadgeTitle": {
"message": "",
"description": "Show icon badge title"
},
"showIconBadgeDescription": {
"message": "",
"description": "Show icon badge description."
},
"blockMissingTitle": {
"message": "",
"description": "Block requests for missing resources title"
},
"blockMissingDescription": {
"message": "",
"description": "Block requests for missing resources description."
},
"disablePrefetchTitle": {
"message": "",
"description": "Disable prefetch title"
},
"disablePrefetchDescription": {
"message": "",
"description": "Disable prefetch description."
},
"stripMetadataTitle": {
"message": "",
"description": "Strip metadata title"
},
"stripMetadataDescription": {
"message": "",
"description": "Strip metadata description."
},
"allowlistedDomainsTitle": {
"message": "",
"description": "Deactivate LocalCDN for these domains:"
},
"allowlistedDomainsDescription": {
"message": "",
"description": "Enter domains to disable LocalCDN there. One entry per line."
},
"advancedLabel": {
"message": "",
"description": "Advanced label"
},
"generateRuleSetTitle": {
"message": "",
"description": "Generate rule sets for your adblocker"
},
"generateRuleSetDescription": {
"message": "",
"description": "In case you are using an adblocker you can generate the rules here. You have to add these rules manually in your adblocker."
},
"lastUpdate": {
"message": "",
"description": "Last update:"
},
"copyRuleSet": {
"message": "",
"description": "Text of button to copy ruleset"
},
"loggingTitle": {
"message": "",
"description": "Enable logging"
},
"loggingDescription": {
"message": "",
"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": "",
"description": "This feature breaks websites. Do not leave it enabled, unless you are prepared to manually add affected domains to the allow list."
},
"featureBreaksWebsitesButton": {
"message": "",
"description": "Disable"
},
"labelManipulateDOM": {
"message": "",
"description": "Filter HTML source code"
},
"labelDonate": {
"message": "",
"description": "Donate"
},
"negateHtmlFilterListTitle": {
"message": "",
"description": "Invert HTML filter"
},
"negateHtmlFilterListDescription": {
"message": "",
"description": "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."
},
"negateHtmlFilterListWarning": {
"message": "",
"description": "This function can break websites. Please note the information on the Wiki page."
},
"htmlFilterDomainsTitleExclude": {
"message": "",
"description": "Do not apply HTML filter to these domains:"
},
"htmlFilterDomainsDescription": {
"message": "",
"description": "Enter the domains to be handled or ignored by the HTML filter. One entry per line."
},
"htmlFilterDomainsTitleInclude": {
"message": "",
"description": "Apply HTML filter for these domains:"
},
"blockGoogleFontsTitle": {
"message": "",
"description": "Block Google Fonts"
},
"blockGoogleFontsDescription": {
"message": "",
"description": "If requests for missing resources are allowed, connections to \"fonts.googleapis.com\" are not blocked. Enable this option to block these requests."
},
"chooseIconStyle": {
"message": "",
"description": "Choose an icon for this extension"
},
"internalStatisticsTitle": {
"message": "",
"description": "Internal statistics"
},
"internalStatisticsDescription": {
"message": "",
"description": "No data transmission. Its all local on your device."
},
"headerStatistics": {
"message": "",
"description": "Statistics. The header of a statistics page."
},
"labelToday": {
"message": "",
"description": "Statistics view for today."
},
"labelPastWeek": {
"message": "",
"description": "Statistics view for past week."
},
"labelPastMonth": {
"message": "",
"description": "Statistics view for past month."
},
"labelPastYear": {
"message": "",
"description": "Statistics view for past year."
},
"labelDelete": {
"message": "",
"description": "Button to delete all statistics data."
},
"labelAvg": {
"message": "",
"description": "Followed by a number of average injections per day within a specific period."
},
"labelInjectedFrameworks": {
"message": "",
"description": "Followed by a number of injections within a specific period."
},
"dialogConfirmDeleteStatistics": {
"message": "",
"description": "Are you sure you want to delete all the statistics?"
},
"labelDomainsAllowlistGoogleFonts": {
"message": "",
"description": "These domains are allowed to load Google Fonts. One entry per line."
},
"btnGeneral": {
"message": "",
"description": "Basic"
},
"btnAdvanced": {
"message": "",
"description": "Advanced"
},
"btnOther": {
"message": "",
"description": "Other"
},
"btnInfo": {
"message": "",
"description": "Info"
},
"headerStorageType": {
"message": "",
"description": "Storage type"
},
"labelStorageTypeLocal": {
"message": "",
"description": "Local"
},
"labelStorageTypeSync": {
"message": "",
"description": "Sync"
},
"headerImportExport": {
"message": "",
"description": "Import/Export"
},
"labelExportData": {
"message": "",
"description": "Back up to file"
},
"labelImportData": {
"message": "",
"description": "Restore from file"
},
"dialogImportSuccessful": {
"message": "",
"description": "Import successful"
},
"dialogImportFailed": {
"message": "",
"description": "Import failed"
},
"updateNotificationTitle": {
"message": "",
"description": "Notification after an update"
},
"updateNotificationNever": {
"message": "",
"description": "Never (Silent Updates)"
},
"updateNotificationOnlyRules": {
"message": "",
"description": "Only if new CDNs and rules"
},
"updateNotificationAlways": {
"message": "",
"description": "Always"
},
"websiteBroken": {
"message": "",
"description": "Website broken?"
},
"hideDonationButton": {
"message": "",
"description": "Hide donation button"
},
"betaLabel": {
"message": "",
"description": "beta"
},
"changeBadgeColorMissingResourcesTitle": {
"message": "",
"description": "Indicate missing resources on the icon"
},
"changeBadgeColorMissingResourcesDescription": {
"message": "",
"description": "Change the badge color if resources are missing."
},
"titleHelp": {
"message": "",
"description": "Help"
},
"helpIntroductionTitle": {
"message": "",
"description": "Introduction"
},
"helpHtmlFilterTitle": {
"message": "",
"description": "What is »HTML filter«?"
},
"helpRuleGeneratorTitle": {
"message": "",
"description": "Rule generator"
},
"helpWebsiteIssuesTitle": {
"message": "",
"description": "Some websites look strange or are not easy to use"
},
"helpBlockGoogleFontsTitle": {
"message": "",
"description": "Why is there a »Block Google Fonts« option?"
},
"helpStatisticsTitle": {
"message": "",
"description": "What about the statistics? Is anything transferred to any servers?"
},
"helpWhatWillBeSynchronizedTitle": {
"message": "",
"description": "What will be synchronized when I select »sync« as storage type?"
},
"helpBrowserCompatibilityTitle": {
"message": "",
"description": "Browser compatibility"
},
"helpIntroductionDescription": {
"message": "",
"description": "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."
},
"helpLinkTestUtility": {
"message": "",
"description": "Testing utility"
},
"helpLinkTutorial": {
"message": "",
"description": "Tutorial"
},
"helpLinkWikiPages": {
"message": "",
"description": "Wiki pages"
},
"helpHtmlFilterDescription": {
"message": "",
"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": "",
"description": "The HTML filter removes the red characters from this example:"
},
"helpHtmlFilterAfter": {
"message": "",
"description": "The result then looks like this:"
},
"helpHtmlFilterWhyTitle": {
"message": "",
"description": "Why is it necessary to remove crossorigin and integrity attributes?"
},
"helpHtmlFilterCrossorigin": {
"message": "",
"description": "The crossorigin attribute prevents the replacement because the destination does not match the requested one."
},
"helpHtmlFilterIntegrity": {
"message": "",
"description": "To save disk space and to deliver more frameworks LocalCDN upgrades a framework. An integrity tag is the hash value of a file. If the check fails, the browser wont include a framework. The integrity check will fail because the hash values for e.g. jQuery 1.10.1 and jQuery 1.12.4 are different."
},
"helpHtmlFilterErrors": {
"message": "",
"description": "Unfortunately, it sometimes happens that special characters are then displayed incorrectly. In this case you can deactivate the setting again, to display the umlauts correctly."
},
"helpRuleGeneratorDescription": {
"message": "",
"description": "If you want to automatically redirect all supported CDN connections to LocalCDN, you can add these rules to your adblocker to allow these redirections. If you do not want to add these rules, you must allow each CDN connection individually for each website."
},
"helpRuleGeneratorUblockTitle": {
"message": "",
"description": "Only uBlock Origin:"
},
"helpRuleGeneratorUblockDescription": {
"message": "",
"description": "These rules are only relevant in »medium« or »hard« mode, because it blocks all 3rd-party resources. They are not necessary in »default«, »easy« or »very-easy« mode. For more information, please visit the uBlock Origin Wiki."
},
"helpRuleGeneratorUblockTableIcon": {
"message": "",
"description": "Icon"
},
"helpRuleGeneratorUblockTableMode": {
"message": "",
"description": "Mode"
},
"helpRuleGeneratorUblockTableUseful": {
"message": "",
"description": "Rules useful"
},
"helpRuleGeneratorUblockTableDefaultEasy": {
"message": "",
"description": "Default/Easy"
},
"helpRuleGeneratorUblockTableMedium": {
"message": "",
"description": "Medium"
},
"helpRuleGeneratorUblockTableHard": {
"message": "",
"description": "Hard"
},
"helpWebsiteIssuesDescription": {
"message": "",
"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": {
"message": "",
"description": "LocalCDN can replace »Google Material Icons«. To catch the connection your adblocker (e.g. uBlock Origin, uMatrix or AdGuard) must allow the request. LocalCDN listens on these requests and if the query contains »Google Material Icons«, the resource will be replaced. If you uncheck the »Block requests for missing content« option, non-existent resources will be allowed to pass and »Google Fonts« will be loaded, because »Google Material Icons« and »Google Fonts« use the same domain. If you dont want this, you can block »Google Fonts« on LocalCDN."
},
"helpStatisticsDescription": {
"message": "",
"description": "Dont 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. Thats all. Ive an example here:"
},
"helpStatisticsContent": {
"message": "",
"description": "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."
},
"helpStatisticsTruthTitle": {
"message": "",
"description": "How do I know thats true?"
},
"helpStatisticsTruthDescription": {
"message": "",
"description": "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."
},
"helpSyncTitle": {
"message": "",
"description": "What will be synchronized when I select »sync« as storage type?"
},
"helpSyncDescription": {
"message": "",
"description": "Sync will only work if you are logged in with a Firefox account on the device and have allowed add-ons to sync in the settings. A separate sync server under your control will also work. This will synchronize most of the settings of LocalCDN across all devices."
},
"helpSyncAccount": {
"message": "",
"description": "If you dont have a sync account, nothing will be synchronized. In that case it makes no difference what type of storage you have selected."
},
"helpSyncContentNever": {
"message": "",
"description": "Things that are never synchronized:"
},
"helpNumberOfInjections": {
"message": "",
"description": "Numbers of injections"
},
"helpYes": {
"message": "",
"description": "Yes"
},
"helpNo": {
"message": "",
"description": "No"
},
"helpData": {
"message": "",
"description": "Data"
},
"helpSyncContentEver": {
"message": "",
"description": "Settings that will be synchronized:"
},
"helpIcons": {
"message": "",
"description": "Default, Light, Blue/Grey"
},
"helpSyncContentLinks": {
"message": "",
"description": "More information about Firefox Sync:"
},
"helpBrowserCompatibility": {
"message": "",
"description": "Browser compatibility"
},
"helpReplace": {
"message": "",
"description": "Replace"
},
"helpReplaceOther": {
"message": "",
"description": "Replace other resources"
},
"helpUpgradeAllResources": {
"message": "",
"description": "Upgrade all resources"
},
"helpExplanationChrome": {
"message": "",
"description": "All Chromium based Browser"
},
"helpLimitation": {
"message": "",
"description": "This is not a limitation of LocalCDN, but missing API support of Chromium based browsers."
},
"titleBadgeDefault": {
"message": "",
"description": "Default badge"
},
"titleBadgeHTMLFilter": {
"message": "",
"description": "HTML filter badge"
},
"titleBadgeMissingResource": {
"message": "",
"description": "Missing resource badge"
}
}

View File

@ -600,8 +600,6 @@ function create_url() {
else
url="$NETDNA_BOOTSTRAPCDN/$folder/$version/js/bootstrap.min.js"
fi
elif [ "$folder" = "webcomponentsjs" ]; then
url="$CLOUDFLARE/$folder/2.6.0/webcomponents-loader.min.js"
elif [ "$folder" = "vue-i18n" ] && [[ "$version" != 8* ]]; then
url="$CLOUDFLARE/$folder/$version/vue-i18n.cjs.min.js"
elif [ "$path" = "../resources/twitter-bootstrap/fonts/glyphicons-halflings-regular.woff2" ]; then

View File

@ -338,6 +338,7 @@ mappings.cdn = {
'jquery-ajax-unobtrusive/{version}/jquery.unobtrusive-ajax.': resources.jqueryAjaxUnobtrusive,
'jquery.devbridge-autocomplete/{version}/jquery.autocomplete.min.js': resources.jQueryAjaxAutoComplete,
'jquery.blockUI/{version}/jquery.blockUI.min.js': resources.jQueryBlockUI,
'jquery.colorbox/{version}/jquery.colorbox': resources.jqueryColorbox,
'jquery-csv/{version}/jquery.csv.min.js': resources.jQueryCSV,
'jquery.cycle2/{version}/': resources.jqueryCycle2,
'jquery-easing/{version}/jquery.easing.': resources.jQueryEasing,
@ -482,6 +483,10 @@ mappings.cdn = {
'swfobject/{version}/swfobject.': resources.swfobject,
'Swiper/{version}/css/swiper.': resources.swiperCSS,
'Swiper/{version}/js/swiper.': resources.swiperJS,
'Swiper/{version}/swiper-bundle.min.js': resources.swiperJS,
'Swiper/{version}/swiper-bundle.js': resources.swiperJS,
'Swiper/{version}/swiper-bundle.min.css': resources.swiperCSS,
'Swiper/{version}/swiper-bundle.css': resources.swiperCSS,
'tether/{version}/js/tether.': resources.tetherJS,
'tinymce/{version}/': resources.tinymce,
'tooltipster/{version}/js/jquery.tooltipster.': resources.jQueryTooltipster,
@ -515,6 +520,7 @@ mappings.cdn = {
'waypoints/{version}/shortcuts/infinite.': resources.jQueryWaypoints,
'waypoints/{version}/shortcuts/inview.': resources.jQueryWaypoints,
'waypoints/{version}/shortcuts/sticky.': resources.jQueryWaypoints,
'webcomponentsjs/{version}/webcomponents-loader.': resources.webcomponentsJS,
'webfont/{version}/webfont.js': resources.webfontloader,
'webfont/{version}/webfontloader.js': resources.webfontloader,
'webrtc-adapter/{version}/adapter.min.js': resources.webRTCadapter,

View File

@ -197,6 +197,9 @@ requestAnalyzer._findLocalTarget = function (resourceMappings, basePath, channel
bundle = targets.determineBundle(targetPath);
if (bundle !== '') {
targetPath = requestAnalyzer._getPathOfBundle(initiator, channelHost, channelPath, targetPath, bundle);
if (bundle === 'vex (Bundle)' && !targetPath.endsWith('.min.css') && targetPath.endsWith('.css')) {
targetPath = targetPath.replace('.css', '.min.css');
}
}
if (targetPath['result'] === false) {
break;

View File

@ -553,6 +553,10 @@ var resources = {
'jqueryCycle2': {
'path': 'resources/jquery.cycle2/{version}/'
},
// Colorbox
'jqueryColorbox': {
'path': 'resources/jquery.colorbox/{version}/jquery.colorbox-min.jsm'
},
// jquery.cookie [Deprecated]
'jqueryCookie': {
'path': 'resources/jquery-cookie/{version}/jquery.cookie.min.jsm'

View File

@ -264,6 +264,15 @@ shorthands.specialFiles = function (channelHost, channelPath, searchString) {
'path': 'resources/google-material-design-icons/google-material-design-icons.css',
'bundle': ''
};
} else if (CompleteURL.startsWith('cdn.jsdelivr.net/npm/@webcomponents/webcomponentsjs/webcomponents-loader.')) {
lastVersion = targets.setLastVersion('/webcomponentsjs/');
return {
'source': channelHost,
'versionDelivered': lastVersion,
'versionRequested': 'latest',
'path': `resources/webcomponentsjs/${lastVersion}/webcomponents-loader.min.jsm`,
'bundle': ''
};
}
return {
'result': false,

View File

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

View File

@ -82,7 +82,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/algoliasearch/3.')) return '3.35.1';
if (type.startsWith('/algoliasearch/4.')) return '4.14.2';
if (type.startsWith('/alpinejs/2.')) return '2.8.2';
if (type.startsWith('/alpinejs/3.')) return '3.10.4';
if (type.startsWith('/alpinejs/3.')) return '3.10.5';
if (type.startsWith('/anchor-js/3.')) return '3.2.2';
if (type.startsWith('/anchor-js/4.')) return '4.3.1';
if (type.startsWith('/angular.js/1.')) {
@ -155,7 +155,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/bootstrap-select/1.')) return '1.13.18';
if (type.startsWith('/bootstrap-table/1.')) return '1.21.1';
if (type.startsWith('/bootstrap-toggle/2.')) return '2.2.2';
if (type.startsWith('/bootstrap-vue/2.')) return '2.22.0';
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';
@ -182,10 +182,10 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/d3/7.')) return '7.6.1';
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.5';
if (type.startsWith('/dayjs/1.')) return '1.11.6';
if (type.startsWith('/dexie/3.') || type.startsWith('/dexie/latest')) return '3.2.2';
if (type.startsWith('/docsearch.js/2.')) return '2.6.3';
if (type.startsWith('/docsify/4.') || type.startsWith('/docsify/')) return '4.12.2';
if (type.startsWith('/docsify/4.') || type.startsWith('/docsify/')) return '4.13.0';
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';
@ -199,7 +199,7 @@ targets.setLastVersion = function (type, version) {
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.62';
return '7.1.63';
}
if (type.startsWith('/fancybox/2.')) return '2.1.7';
if (type.startsWith('/fancybox/3.')) return '3.5.7';
@ -240,7 +240,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/hogan.js/')) return '3.0.2';
if (type.startsWith('/instantsearch.css/7.')) return '7.4.5';
if (type.startsWith('/instantsearch.js/3.')) return '3.7.0';
if (type.startsWith('/instantsearch.js/4.')) return '4.48.0';
if (type.startsWith('/instantsearch.js/4.')) return '4.49.0';
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';
@ -267,6 +267,7 @@ targets.setLastVersion = function (type, version) {
}
if (type.startsWith('/jquery-ajax-unobtrusive/3.')) return '3.2.6';
if (type.startsWith('/jquery.blockUI/2.')) return '2.70';
if (type.startsWith('/jquery.colorbox/1.')) return '1.6.4';
if (type.startsWith('/jquery-cookie/1.')) return '1.4.1';
if (type.startsWith('/jquery-csv/1.')) return '1.0.21';
if (type.startsWith('/jquery-easing/1.')) return '1.4.1';
@ -363,7 +364,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/owl-carousel/2.')) return '2.3.4';
if (type.startsWith('/p2p-media-loader-core') || type.startsWith('/p2p-media-loader-hlsjs')) return '0.6.2';
if (type.startsWith('/p5.js/0.')) return '0.10.2';
if (type.startsWith('/p5.js/1.')) return '1.4.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.1.5';
if (type.startsWith('/plyr/3.')) return '3.7.2';
@ -374,7 +375,8 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/prototype/1.')) return '1.7.3';
if (type.startsWith('/pure/0.')) return '0.6.2';
if (type.startsWith('/pure/1.')) return '1.0.1';
if (type.startsWith('/pure/2.')) return '2.1.0';
if (type.startsWith('/pure/2.')) return '2.2.0';
if (type.startsWith('/pure/3.')) return '3.0.0';
if (type.startsWith('/rangeslider.js/2.')) return '2.3.3';
if (type.startsWith('/raven.js/3.')) return '3.27.2';
if (type.startsWith('/react/16.')) return '16.14.0';
@ -454,7 +456,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/vex-js/4.')) return '4.1.0';
if (type.startsWith('/videojs-seek-buttons/1.')) return '1.6.0';
if (type.startsWith('/videojs-seek-buttons/2.')) return '2.2.1';
if (type.startsWith('/videojs-seek-buttons/3.')) return '3.0.0';
if (type.startsWith('/videojs-seek-buttons/3.')) return '3.0.1';
if (type.startsWith('/video.js/')) {
if (helpers.compareVersion('5.20.5', version)) return '5.20.5'; // <= 5.20.5
if (helpers.compareVersion('6.13.0', version)) return '6.13.0'; // > 5.20.5 to <= 6.13.0
@ -470,6 +472,7 @@ targets.setLastVersion = function (type, version) {
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';
if (type.startsWith('/webcomponentsjs/')) return '2.7.0';
if (type.startsWith('/webfont')) return '1.6.28';
if (type.startsWith('/webrtc-adapter/6.')) return '6.4.8';
if (type.startsWith('/webrtc-adapter/7.')) return '7.7.1';
@ -485,6 +488,7 @@ targets.determineResourceName = function (filename) {
};
const ListOfFiles = {
'jquery.colorbox-min.jsm': 'Colorbox',
'rangeslider.min.css': 'rangeslider.js (CSS)',
'rangeslider.min.jsm': 'rangeslider.js (JS)',
'in-view.min.jsm': 'in-view',

View File

@ -27,14 +27,26 @@
<div class="release-notes-area">
<p>Updated</p>
<ul>
<li>axios v1.1.2 -> v1.1.3 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1172">#1172</a>)</li>
<li>socket.io v4.5.2 -> v4.5.3 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1173">#1173</a>)</li>
<li>react-intl v6.2.0 -> v6.2.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1174">#1174</a>)</li>
<li>webrtc-adapter v8.1.2 -> v8.2.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1175">#1175</a>)</li>
<li>videojs-seek-buttons v3.0.0 -> v3.0.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1177">#1177</a>)</li>
<li>p5.js v1.4.2 -> v1.5.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1178">#1178</a>)</li>
<li>instantsearch.js v4.48.0 -> v4.49.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1179">#1179</a>)</li>
<li>pure v2.1.0 -> v2.2.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1180">#1180</a>)</li>
<li>webcomponentsjs v2.6.0 -> v2.7.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1184">#1184</a>)</li>
<li>dayjs v1.11.5 -> v1.11.6 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1185">#1185</a>)</li>
<li>alpinejs v3.10.4 -> v3.10.5 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1186">#1186</a>)</li>
<li>docsify v4.12.2 -> v4.13.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1187">#1187</a>)</li>
<li>bootstrap-vue v2.22.0 -> v2.23.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1188">#1188</a>)</li>
<li>pure v3.0.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1189">#1189</a>)</li>
<li>findify-bundle v7.1.62 -> v7.1.63 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1190">#1190</a>)</li>
</ul>
<p>Fixed</p>
<p>Mapping</p>
<ul>
<li>twitter-bootstrap v5.2.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1176">#1176</a>)</li>
<li>cdnjs.cloudflare.com -> swiper-bundle CSS & JS (<a href="https://codeberg.org/nobody/LocalCDN/issues/1181">#1181</a>)</li>
<li>vex-js: vex-theme-wireframe.css -> vex-theme-wireframe.min.css (<a href="https://codeberg.org/nobody/LocalCDN/issues/1183">#1183</a>)</li>
</ul>
<p>Added</p>
<ul>
<li>Colorbox v1.6.4 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1181">#1181</a>)</li>
</ul>
</div>
<div id="generator-section">
@ -73,6 +85,18 @@
</div>
<div id="history"><span id="history-indicator">+</span> Previous Versions</div>
<div id="history-release-notes">
<p class='release-date'>2022-10-18 (v2.6.38)</p>
<p>Updated</p>
<ul>
<li>axios v1.1.2 -> v1.1.3 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1172">#1172</a>)</li>
<li>socket.io v4.5.2 -> v4.5.3 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1173">#1173</a>)</li>
<li>react-intl v6.2.0 -> v6.2.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1174">#1174</a>)</li>
<li>webrtc-adapter v8.1.2 -> v8.2.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1175">#1175</a>)</li>
</ul>
<p>Fixed</p>
<ul>
<li>twitter-bootstrap v5.2.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1176">#1176</a>)</li>
</ul>
<p class='release-date'>2022-10-15 (v2.6.37)</p>
<p>Updated</p>
<ul>

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

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,9 +1,9 @@
/*!
Pure v2.1.0
Pure v2.2.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE
*//*!
normalize.css v | MIT License | git.io/normalize
normalize.css v | MIT License | https://necolas.github.io/normalize.css/
Copyright (c) Nicolas Gallagher and Jonathan Neal
*//*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */.pure{line-height:1.15;-webkit-text-size-adjust:100%}.pure{margin:0}.pure main{display:block}.pure h1{font-size:2em;margin:.67em 0}.pure hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}.pure pre{font-family:monospace,monospace;font-size:1em}.pure a{background-color:transparent}.pure abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.pure b,.pure strong{font-weight:bolder}.pure code,.pure kbd,.pure samp{font-family:monospace,monospace;font-size:1em}.pure small{font-size:80%}.pure sub,.pure sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.pure sub{bottom:-.25em}.pure sup{top:-.5em}.pure img{border-style:none}.pure button,.pure input,.pure optgroup,.pure select,.pure textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}.pure button,.pure input{overflow:visible}.pure button,.pure select{text-transform:none}.pure [type=button],.pure [type=reset],.pure [type=submit],.pure button{-webkit-appearance:button}.pure [type=button]::-moz-focus-inner,.pure [type=reset]::-moz-focus-inner,.pure [type=submit]::-moz-focus-inner,.pure button::-moz-focus-inner{border-style:none;padding:0}.pure [type=button]:-moz-focusring,.pure [type=reset]:-moz-focusring,.pure [type=submit]:-moz-focusring,.pure button:-moz-focusring{outline:1px dotted ButtonText}.pure fieldset{padding:.35em .75em .625em}.pure legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}.pure progress{vertical-align:baseline}.pure textarea{overflow:auto}.pure [type=checkbox],.pure [type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}.pure [type=number]::-webkit-inner-spin-button,.pure [type=number]::-webkit-outer-spin-button{height:auto}.pure [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.pure [type=search]::-webkit-search-decoration{-webkit-appearance:none}.pure ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.pure details{display:block}.pure summary{display:list-item}.pure template{display:none}.pure [hidden]{display:none}.pure{font-family:sans-serif}.pure .hidden,.pure [hidden]{display:none!important}.pure .pure-img{max-width:100%;height:auto;display:block}

View File

@ -1,9 +1,9 @@
/*!
Pure v2.1.0
Pure v2.2.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE
*//*!
normalize.css v | MIT License | git.io/normalize
normalize.css v | MIT License | https://necolas.github.io/normalize.css/
Copyright (c) Nicolas Gallagher and Jonathan Neal
*//*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html{font-family:sans-serif}.hidden,[hidden]{display:none!important}.pure-img{max-width:100%;height:auto;display:block}

View File

@ -1,5 +1,5 @@
/*!
Pure v2.1.0
Pure v2.2.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE

View File

@ -1,5 +1,5 @@
/*!
Pure v2.1.0
Pure v2.2.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE

View File

@ -1,5 +1,5 @@
/*!
Pure v2.1.0
Pure v2.2.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE

View File

@ -1,5 +1,5 @@
/*!
Pure v2.1.0
Pure v2.2.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE

View File

@ -1,5 +1,5 @@
/*!
Pure v2.1.0
Pure v2.2.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*!
Pure v2.1.0
Pure v2.2.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE

View File

@ -1,5 +1,5 @@
/*!
Pure v2.1.0
Pure v2.2.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE

View File

@ -1,5 +1,5 @@
/*!
Pure v2.1.0
Pure v2.2.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE

View File

@ -1,5 +1,5 @@
/*!
Pure v2.1.0
Pure v2.2.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE

View File

@ -1,5 +1,5 @@
/*!
Pure v2.1.0
Pure v2.2.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE

View File

@ -1,5 +1,5 @@
/*!
Pure v2.1.0
Pure v2.2.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE

View File

@ -1,5 +1,5 @@
/*!
Pure v2.1.0
Pure v2.2.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE

View File

@ -1,5 +1,5 @@
/*!
Pure v2.1.0
Pure v2.2.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE

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 @@
/*!
Pure v2.1.0
Pure v2.2.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE

View File

@ -0,0 +1,9 @@
/*!
Pure v3.0.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE
*//*!
normalize.css v | MIT License | https://necolas.github.io/normalize.css/
Copyright (c) Nicolas Gallagher and Jonathan Neal
*//*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */.pure{line-height:1.15;-webkit-text-size-adjust:100%}.pure{margin:0}.pure main{display:block}.pure h1{font-size:2em;margin:.67em 0}.pure hr{box-sizing:content-box;height:0;overflow:visible}.pure pre{font-family:monospace,monospace;font-size:1em}.pure a{background-color:transparent}.pure abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.pure b,.pure strong{font-weight:bolder}.pure code,.pure kbd,.pure samp{font-family:monospace,monospace;font-size:1em}.pure small{font-size:80%}.pure sub,.pure sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.pure sub{bottom:-.25em}.pure sup{top:-.5em}.pure img{border-style:none}.pure button,.pure input,.pure optgroup,.pure select,.pure textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}.pure button,.pure input{overflow:visible}.pure button,.pure select{text-transform:none}.pure [type=button],.pure [type=reset],.pure [type=submit],.pure button{-webkit-appearance:button}.pure [type=button]::-moz-focus-inner,.pure [type=reset]::-moz-focus-inner,.pure [type=submit]::-moz-focus-inner,.pure button::-moz-focus-inner{border-style:none;padding:0}.pure [type=button]:-moz-focusring,.pure [type=reset]:-moz-focusring,.pure [type=submit]:-moz-focusring,.pure button:-moz-focusring{outline:1px dotted ButtonText}.pure fieldset{padding:.35em .75em .625em}.pure legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}.pure progress{vertical-align:baseline}.pure textarea{overflow:auto}.pure [type=checkbox],.pure [type=radio]{box-sizing:border-box;padding:0}.pure [type=number]::-webkit-inner-spin-button,.pure [type=number]::-webkit-outer-spin-button{height:auto}.pure [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.pure [type=search]::-webkit-search-decoration{-webkit-appearance:none}.pure ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.pure details{display:block}.pure summary{display:list-item}.pure template{display:none}.pure [hidden]{display:none}.pure{font-family:sans-serif}.pure .hidden,.pure [hidden]{display:none!important}.pure .pure-img{max-width:100%;height:auto;display:block}

9
resources/pure/3.0.0/base.min.css vendored Normal file
View File

@ -0,0 +1,9 @@
/*!
Pure v3.0.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE
*//*!
normalize.css v | MIT License | https://necolas.github.io/normalize.css/
Copyright (c) Nicolas Gallagher and Jonathan Neal
*//*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html{font-family:sans-serif}.hidden,[hidden]{display:none!important}.pure-img{max-width:100%;height:auto;display:block}

View File

@ -0,0 +1,6 @@
/*!
Pure v3.0.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE
*/.pure-button{display:inline-block;line-height:normal;white-space:nowrap;vertical-align:middle;text-align:center;cursor:pointer;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;box-sizing:border-box}.pure-button::-moz-focus-inner{padding:0;border:0}.pure-button-group{letter-spacing:-.31em;text-rendering:optimizespeed}.opera-only :-o-prefocus,.pure-button-group{word-spacing:-.43em}.pure-button-group .pure-button{letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}

6
resources/pure/3.0.0/buttons.min.css vendored Normal file
View File

@ -0,0 +1,6 @@
/*!
Pure v3.0.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE
*/.pure-button{display:inline-block;line-height:normal;white-space:nowrap;vertical-align:middle;text-align:center;cursor:pointer;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;box-sizing:border-box}.pure-button::-moz-focus-inner{padding:0;border:0}.pure-button-group{letter-spacing:-.31em;text-rendering:optimizespeed}.opera-only :-o-prefocus,.pure-button-group{word-spacing:-.43em}.pure-button-group .pure-button{letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-button{font-family:inherit;font-size:100%;padding:.5em 1em;color:rgba(0,0,0,.8);border:none transparent;background-color:#e6e6e6;text-decoration:none;border-radius:2px}.pure-button-hover,.pure-button:focus,.pure-button:hover{background-image:linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1))}.pure-button:focus{outline:0}.pure-button-active,.pure-button:active{box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 0 6px rgba(0,0,0,.2) inset;border-color:#000}.pure-button-disabled,.pure-button-disabled:active,.pure-button-disabled:focus,.pure-button-disabled:hover,.pure-button[disabled]{border:none;background-image:none;opacity:.4;cursor:not-allowed;box-shadow:none;pointer-events:none}.pure-button-hidden{display:none}.pure-button-primary,.pure-button-selected,a.pure-button-primary,a.pure-button-selected{background-color:#0078e7;color:#fff}.pure-button-group .pure-button{margin:0;border-radius:0;border-right:1px solid rgba(0,0,0,.2)}.pure-button-group .pure-button:first-child{border-top-left-radius:2px;border-bottom-left-radius:2px}.pure-button-group .pure-button:last-child{border-top-right-radius:2px;border-bottom-right-radius:2px;border-right:none}

6
resources/pure/3.0.0/forms-nr.min.css vendored Normal file

File diff suppressed because one or more lines are too long

6
resources/pure/3.0.0/forms.min.css vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,6 @@
/*!
Pure v3.0.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE
*/.pure-g{display:flex;flex-flow:row wrap;align-content:flex-start}.pure-u{display:inline-block;vertical-align:top}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,6 @@
/*!
Pure v3.0.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE
*/.pure-u-1,.pure-u-1-1,.pure-u-1-12,.pure-u-1-2,.pure-u-1-24,.pure-u-1-3,.pure-u-1-4,.pure-u-1-5,.pure-u-1-6,.pure-u-1-8,.pure-u-10-24,.pure-u-11-12,.pure-u-11-24,.pure-u-12-24,.pure-u-13-24,.pure-u-14-24,.pure-u-15-24,.pure-u-16-24,.pure-u-17-24,.pure-u-18-24,.pure-u-19-24,.pure-u-2-24,.pure-u-2-3,.pure-u-2-5,.pure-u-20-24,.pure-u-21-24,.pure-u-22-24,.pure-u-23-24,.pure-u-24-24,.pure-u-3-24,.pure-u-3-4,.pure-u-3-5,.pure-u-3-8,.pure-u-4-24,.pure-u-4-5,.pure-u-5-12,.pure-u-5-24,.pure-u-5-5,.pure-u-5-6,.pure-u-5-8,.pure-u-6-24,.pure-u-7-12,.pure-u-7-24,.pure-u-7-8,.pure-u-8-24,.pure-u-9-24{display:inline-block;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-1-24{width:4.1667%}.pure-u-1-12,.pure-u-2-24{width:8.3333%}.pure-u-1-8,.pure-u-3-24{width:12.5%}.pure-u-1-6,.pure-u-4-24{width:16.6667%}.pure-u-1-5{width:20%}.pure-u-5-24{width:20.8333%}.pure-u-1-4,.pure-u-6-24{width:25%}.pure-u-7-24{width:29.1667%}.pure-u-1-3,.pure-u-8-24{width:33.3333%}.pure-u-3-8,.pure-u-9-24{width:37.5%}.pure-u-2-5{width:40%}.pure-u-10-24,.pure-u-5-12{width:41.6667%}.pure-u-11-24{width:45.8333%}.pure-u-1-2,.pure-u-12-24{width:50%}.pure-u-13-24{width:54.1667%}.pure-u-14-24,.pure-u-7-12{width:58.3333%}.pure-u-3-5{width:60%}.pure-u-15-24,.pure-u-5-8{width:62.5%}.pure-u-16-24,.pure-u-2-3{width:66.6667%}.pure-u-17-24{width:70.8333%}.pure-u-18-24,.pure-u-3-4{width:75%}.pure-u-19-24{width:79.1667%}.pure-u-4-5{width:80%}.pure-u-20-24,.pure-u-5-6{width:83.3333%}.pure-u-21-24,.pure-u-7-8{width:87.5%}.pure-u-11-12,.pure-u-22-24{width:91.6667%}.pure-u-23-24{width:95.8333%}.pure-u-1,.pure-u-1-1,.pure-u-24-24,.pure-u-5-5{width:100%}

6
resources/pure/3.0.0/grids.min.css vendored Normal file
View File

@ -0,0 +1,6 @@
/*!
Pure v3.0.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE
*/.pure-g{display:flex;flex-flow:row wrap;align-content:flex-start}.pure-u{display:inline-block;vertical-align:top}.pure-u-1,.pure-u-1-1,.pure-u-1-12,.pure-u-1-2,.pure-u-1-24,.pure-u-1-3,.pure-u-1-4,.pure-u-1-5,.pure-u-1-6,.pure-u-1-8,.pure-u-10-24,.pure-u-11-12,.pure-u-11-24,.pure-u-12-24,.pure-u-13-24,.pure-u-14-24,.pure-u-15-24,.pure-u-16-24,.pure-u-17-24,.pure-u-18-24,.pure-u-19-24,.pure-u-2-24,.pure-u-2-3,.pure-u-2-5,.pure-u-20-24,.pure-u-21-24,.pure-u-22-24,.pure-u-23-24,.pure-u-24-24,.pure-u-3-24,.pure-u-3-4,.pure-u-3-5,.pure-u-3-8,.pure-u-4-24,.pure-u-4-5,.pure-u-5-12,.pure-u-5-24,.pure-u-5-5,.pure-u-5-6,.pure-u-5-8,.pure-u-6-24,.pure-u-7-12,.pure-u-7-24,.pure-u-7-8,.pure-u-8-24,.pure-u-9-24{display:inline-block;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-1-24{width:4.1667%}.pure-u-1-12,.pure-u-2-24{width:8.3333%}.pure-u-1-8,.pure-u-3-24{width:12.5%}.pure-u-1-6,.pure-u-4-24{width:16.6667%}.pure-u-1-5{width:20%}.pure-u-5-24{width:20.8333%}.pure-u-1-4,.pure-u-6-24{width:25%}.pure-u-7-24{width:29.1667%}.pure-u-1-3,.pure-u-8-24{width:33.3333%}.pure-u-3-8,.pure-u-9-24{width:37.5%}.pure-u-2-5{width:40%}.pure-u-10-24,.pure-u-5-12{width:41.6667%}.pure-u-11-24{width:45.8333%}.pure-u-1-2,.pure-u-12-24{width:50%}.pure-u-13-24{width:54.1667%}.pure-u-14-24,.pure-u-7-12{width:58.3333%}.pure-u-3-5{width:60%}.pure-u-15-24,.pure-u-5-8{width:62.5%}.pure-u-16-24,.pure-u-2-3{width:66.6667%}.pure-u-17-24{width:70.8333%}.pure-u-18-24,.pure-u-3-4{width:75%}.pure-u-19-24{width:79.1667%}.pure-u-4-5{width:80%}.pure-u-20-24,.pure-u-5-6{width:83.3333%}.pure-u-21-24,.pure-u-7-8{width:87.5%}.pure-u-11-12,.pure-u-22-24{width:91.6667%}.pure-u-23-24{width:95.8333%}.pure-u-1,.pure-u-1-1,.pure-u-24-24,.pure-u-5-5{width:100%}

View File

@ -0,0 +1,6 @@
/*!
Pure v3.0.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE
*/.pure-menu{box-sizing:border-box}.pure-menu-fixed{position:fixed;left:0;top:0;z-index:3}.pure-menu-item,.pure-menu-list{position:relative}.pure-menu-list{list-style:none;margin:0;padding:0}.pure-menu-item{padding:0;margin:0;height:100%}.pure-menu-heading,.pure-menu-link{display:block;text-decoration:none;white-space:nowrap}

View File

@ -0,0 +1,6 @@
/*!
Pure v3.0.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE
*/.pure-menu-item .pure-menu-item{display:block}.pure-menu-children{display:none;position:absolute;left:100%;top:0;margin:0;padding:0;z-index:3}.pure-menu-horizontal .pure-menu-children{left:0;top:auto;width:inherit}.pure-menu-active>.pure-menu-children,.pure-menu-allow-hover:hover>.pure-menu-children{display:block;position:absolute}.pure-menu-has-children>.pure-menu-link:after{padding-left:.5em;content:"\25B8";font-size:small}.pure-menu-horizontal .pure-menu-has-children>.pure-menu-link:after{content:"\25BE"}

View File

@ -0,0 +1,6 @@
/*!
Pure v3.0.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE
*/.pure-menu-horizontal{width:100%;white-space:nowrap}.pure-menu-horizontal .pure-menu-list{display:inline-block}.pure-menu-horizontal .pure-menu-heading,.pure-menu-horizontal .pure-menu-item,.pure-menu-horizontal .pure-menu-separator{display:inline-block;vertical-align:middle}

View File

@ -0,0 +1,6 @@
/*!
Pure v3.0.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE
*/.pure-menu-scrollable{overflow-y:scroll;overflow-x:hidden}.pure-menu-scrollable .pure-menu-list{display:block}.pure-menu-horizontal.pure-menu-scrollable .pure-menu-list{display:inline-block}.pure-menu-horizontal.pure-menu-scrollable{white-space:nowrap;overflow-y:hidden;overflow-x:auto;padding:.5em 0}

View File

@ -0,0 +1,6 @@
/*!
Pure v3.0.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE
*/.pure-menu-horizontal .pure-menu-children .pure-menu-separator,.pure-menu-separator{background-color:#ccc;height:1px;margin:.3em 0}.pure-menu-horizontal .pure-menu-separator{width:1px;height:1.3em;margin:0 .3em}.pure-menu-horizontal .pure-menu-children .pure-menu-separator{display:block;width:auto}.pure-menu-heading{text-transform:uppercase;color:#565d64}.pure-menu-link{color:#777}.pure-menu-children{background-color:#fff}.pure-menu-heading,.pure-menu-link{padding:.5em 1em}.pure-menu-disabled{opacity:.5}.pure-menu-disabled .pure-menu-link:hover{background-color:transparent;cursor:default}.pure-menu-active>.pure-menu-link,.pure-menu-link:focus,.pure-menu-link:hover{background-color:#eee}.pure-menu-selected>.pure-menu-link,.pure-menu-selected>.pure-menu-link:visited{color:#000}

6
resources/pure/3.0.0/menus.min.css vendored Normal file
View File

@ -0,0 +1,6 @@
/*!
Pure v3.0.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE
*/.pure-menu{box-sizing:border-box}.pure-menu-fixed{position:fixed;left:0;top:0;z-index:3}.pure-menu-item,.pure-menu-list{position:relative}.pure-menu-list{list-style:none;margin:0;padding:0}.pure-menu-item{padding:0;margin:0;height:100%}.pure-menu-heading,.pure-menu-link{display:block;text-decoration:none;white-space:nowrap}.pure-menu-horizontal{width:100%;white-space:nowrap}.pure-menu-horizontal .pure-menu-list{display:inline-block}.pure-menu-horizontal .pure-menu-heading,.pure-menu-horizontal .pure-menu-item,.pure-menu-horizontal .pure-menu-separator{display:inline-block;vertical-align:middle}.pure-menu-item .pure-menu-item{display:block}.pure-menu-children{display:none;position:absolute;left:100%;top:0;margin:0;padding:0;z-index:3}.pure-menu-horizontal .pure-menu-children{left:0;top:auto;width:inherit}.pure-menu-active>.pure-menu-children,.pure-menu-allow-hover:hover>.pure-menu-children{display:block;position:absolute}.pure-menu-has-children>.pure-menu-link:after{padding-left:.5em;content:"\25B8";font-size:small}.pure-menu-horizontal .pure-menu-has-children>.pure-menu-link:after{content:"\25BE"}.pure-menu-scrollable{overflow-y:scroll;overflow-x:hidden}.pure-menu-scrollable .pure-menu-list{display:block}.pure-menu-horizontal.pure-menu-scrollable .pure-menu-list{display:inline-block}.pure-menu-horizontal.pure-menu-scrollable{white-space:nowrap;overflow-y:hidden;overflow-x:auto;padding:.5em 0}.pure-menu-horizontal .pure-menu-children .pure-menu-separator,.pure-menu-separator{background-color:#ccc;height:1px;margin:.3em 0}.pure-menu-horizontal .pure-menu-separator{width:1px;height:1.3em;margin:0 .3em}.pure-menu-horizontal .pure-menu-children .pure-menu-separator{display:block;width:auto}.pure-menu-heading{text-transform:uppercase;color:#565d64}.pure-menu-link{color:#777}.pure-menu-children{background-color:#fff}.pure-menu-heading,.pure-menu-link{padding:.5em 1em}.pure-menu-disabled{opacity:.5}.pure-menu-disabled .pure-menu-link:hover{background-color:transparent;cursor:default}.pure-menu-active>.pure-menu-link,.pure-menu-link:focus,.pure-menu-link:hover{background-color:#eee}.pure-menu-selected>.pure-menu-link,.pure-menu-selected>.pure-menu-link:visited{color:#000}

9
resources/pure/3.0.0/pure-nr.min.css vendored Normal file

File diff suppressed because one or more lines are too long

9
resources/pure/3.0.0/pure.min.css vendored Normal file

File diff suppressed because one or more lines are too long

6
resources/pure/3.0.0/tables.min.css vendored Normal file
View File

@ -0,0 +1,6 @@
/*!
Pure v3.0.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE
*/.pure-table{border-collapse:collapse;border-spacing:0;empty-cells:show;border:1px solid #cbcbcb}.pure-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.pure-table td,.pure-table th{border-left:1px solid #cbcbcb;border-width:0 0 0 1px;font-size:inherit;margin:0;overflow:visible;padding:.5em 1em}.pure-table thead{background-color:#e0e0e0;color:#000;text-align:left;vertical-align:bottom}.pure-table td{background-color:transparent}.pure-table-odd td{background-color:#f2f2f2}.pure-table-striped tr:nth-child(2n-1) td{background-color:#f2f2f2}.pure-table-bordered td{border-bottom:1px solid #cbcbcb}.pure-table-bordered tbody>tr:last-child>td{border-bottom-width:0}.pure-table-horizontal td,.pure-table-horizontal th{border-width:0 0 1px 0;border-bottom:1px solid #cbcbcb}.pure-table-horizontal tbody>tr:last-child>td{border-bottom-width:0}

View File

@ -1,2 +1,2 @@
/*! @name videojs-seek-buttons @version 3.0.0 @license Apache-2.0 */
/*! @name videojs-seek-buttons @version 3.0.1 @license Apache-2.0 */
.video-js .vjs-seek-button{font-family:'VideoJS';cursor:pointer;font-weight:400;font-style:normal}.video-js .vjs-seek-button.skip-back::before,.video-js.vjs-v6 .vjs-seek-button.skip-back .vjs-icon-placeholder::before,.video-js.vjs-v7 .vjs-seek-button.skip-back .vjs-icon-placeholder::before{transform:rotate(-45deg);-ms-transform:rotate(-45deg);-webkit-transform:rotate(-45deg);content:'\f116'}.video-js .vjs-seek-button.skip-forward::before{transform:rotateY(180deg) rotate(-45deg);-ms-transform:rotateY(180deg) rotate(-45deg);-webkit-transform:rotateY(180deg) rotate(-45deg);content:'\f116'}.video-js.vjs-v6 .vjs-seek-button.skip-back::before,.video-js.vjs-v6 .vjs-seek-button.skip-forward::before,.video-js.vjs-v7 .vjs-seek-button.skip-back::before,.video-js.vjs-v7 .vjs-seek-button.skip-forward::before{content:none}.video-js.vjs-v6 .vjs-seek-button.skip-forward .vjs-icon-placeholder::before,.video-js.vjs-v7 .vjs-seek-button.skip-forward .vjs-icon-placeholder::before{transform:scale(-1,1) rotate(-45deg);-ms-transform:scale(-1,1) rotate(-45deg);-webkit-transform:scale(-1,1) rotate(-45deg);content:'\f116'}

View File

@ -1,2 +1,2 @@
/*! @name videojs-seek-buttons @version 3.0.0 @license Apache-2.0 */
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("video.js")):"function"==typeof define&&define.amd?define(["video.js"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).videojsSeekButtons=t(e.videojs)}(this,(function(e){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=t(e);function n(e,t){return n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},n(e,t)}var r=o.default.getComponent("Button"),i={forwardIndex:1,backIndex:1},s=function(e){var t=this;this.ready((function(){!function(e,t){e.addClass("vjs-seek-buttons"),t.forward&&t.forward>0&&(e.controlBar.seekForward=e.controlBar.addChild("seekButton",{direction:"forward",seconds:t.forward},t.forwardIndex)),t.back&&t.back>0&&(e.controlBar.seekBack=e.controlBar.addChild("seekButton",{direction:"back",seconds:t.back},t.backIndex))}(t,o.default.mergeOptions(i,e))}))};s.VERSION="3.0.0";var a=function(e){var t,o;function r(t,o){var n;return"forward"===(n=e.call(this,t,o)||this).options_.direction?n.controlText(n.localize("Seek forward {{seconds}} seconds").replace("{{seconds}}",n.options_.seconds)):"back"===n.options_.direction&&n.controlText(n.localize("Seek back {{seconds}} seconds").replace("{{seconds}}",n.options_.seconds)),n}o=e,(t=r).prototype=Object.create(o.prototype),t.prototype.constructor=t,n(t,o);var i=r.prototype;return i.buildCSSClass=function(){return"vjs-seek-button skip-"+this.options_.direction+" skip-"+this.options_.seconds+" "+e.prototype.buildCSSClass.call(this)},i.handleClick=function(){var e=this.player_.currentTime();if("forward"===this.options_.direction){var t=this.player_.duration();this.player_.liveTracker&&this.player_.liveTracker.isLive()&&(t=this.player_.liveTracker.seekableEnd()),this.player_.currentTime(Math.min(e+this.options_.seconds,t))}else"back"===this.options_.direction&&this.player_.currentTime(Math.max(0,e-this.options_.seconds))},r}(r);return o.default.registerComponent("SeekButton",a),o.default.registerPlugin("seekButtons",s),s}));
/*! @name videojs-seek-buttons @version 3.0.1 @license Apache-2.0 */
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("video.js")):"function"==typeof define&&define.amd?define(["video.js"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).videojsSeekButtons=t(e.videojs)}(this,(function(e){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=t(e);function n(e,t){return n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},n(e,t)}var r=o.default.getComponent("Button"),i={forwardIndex:1,backIndex:1},s=function(e){var t=this;this.ready((function(){!function(e,t){e.addClass("vjs-seek-buttons"),t.forward&&t.forward>0&&(e.controlBar.seekForward=e.controlBar.addChild("seekButton",{direction:"forward",seconds:t.forward},t.forwardIndex)),t.back&&t.back>0&&(e.controlBar.seekBack=e.controlBar.addChild("seekButton",{direction:"back",seconds:t.back},t.backIndex))}(t,o.default.mergeOptions(i,e))}))};s.VERSION="3.0.1";var a=function(e){var t,o;function r(t,o){var n;return"forward"===(n=e.call(this,t,o)||this).options_.direction?n.controlText(n.localize("Seek forward {{seconds}} seconds").replace("{{seconds}}",n.options_.seconds)):"back"===n.options_.direction&&n.controlText(n.localize("Seek back {{seconds}} seconds").replace("{{seconds}}",n.options_.seconds)),n}o=e,(t=r).prototype=Object.create(o.prototype),t.prototype.constructor=t,n(t,o);var i=r.prototype;return i.buildCSSClass=function(){return"vjs-seek-button skip-"+this.options_.direction+" skip-"+this.options_.seconds+" "+e.prototype.buildCSSClass.call(this)},i.handleClick=function(){var e=this.player_.currentTime();if("forward"===this.options_.direction){var t=this.player_.duration();this.player_.liveTracker&&this.player_.liveTracker.isLive()&&(t=this.player_.liveTracker.seekableEnd()),this.player_.currentTime(Math.min(e+this.options_.seconds,t))}else"back"===this.options_.direction&&this.player_.currentTime(Math.max(0,e-this.options_.seconds))},r}(r);return o.default.registerComponent("SeekButton",a),o.default.registerPlugin("seekButtons",s),s}));

View File

@ -0,0 +1 @@
!function(){"use strict";var t,n=!1,o=[],d=!1;function e(){window.WebComponents.ready=!0,document.dispatchEvent(new CustomEvent("WebComponentsReady",{bubbles:!0}))}function r(){window.customElements&&customElements.polyfillWrapFlushCallback&&customElements.polyfillWrapFlushCallback(function(e){t=e,d&&t()})}function c(){window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(window.document),n=!0,i().then(e)}function i(){d=!1;var e=o.map(function(e){return e instanceof Function?e():e});return o=[],Promise.all(e).then(function(){d=!0,t&&t()}).catch(function(e){console.error(e)})}window.WebComponents=window.WebComponents||{},window.WebComponents.ready=window.WebComponents.ready||!1,window.WebComponents.waitFor=window.WebComponents.waitFor||function(e){e&&(o.push(e),n&&i())},window.WebComponents._batchCustomElements=r;var s,a,l="webcomponents-loader.js",w=[],m=("attachShadow"in Element.prototype&&"getRootNode"in Element.prototype&&(!window.ShadyDOM||!window.ShadyDOM.force)||w.push("sd"),window.customElements&&!window.customElements.forcePolyfill||w.push("ce"),function(){var e=document.createElement("template");if(!("content"in e))return!0;if(!(e.content.cloneNode()instanceof DocumentFragment))return!0;var t=document.createElement("template"),t=(t.content.appendChild(document.createElement("div")),e.content.appendChild(t),e.cloneNode(!0));return 0===t.content.childNodes.length||0===t.content.firstChild.content.childNodes.length}());function u(e){return e}(w=window.Promise&&Array.from&&window.URL&&window.Symbol&&!m?w:["sd-ce-pf"]).length?(m={createHTML:u,createScript:u,createScriptURL:u},m=window.trustedTypes&&window.trustedTypes.createPolicy("webcomponents-loader",m)||m,w="bundles/webcomponents-"+w.join("-")+".js",window.WebComponents.root?(s=window.WebComponents.root+w,window.trustedTypes&&window.trustedTypes.isScriptURL(window.WebComponents.root)&&(s=m.createScriptURL(s))):(a=document.querySelector('script[src*="'+l+'"]'),s=m.createScriptURL(a.src.replace(l,w))),(a=document.createElement("script")).src=s,"loading"===document.readyState?(a.setAttribute("onload",m.createScript("window.WebComponents._batchCustomElements()")),document.write(m.createHTML(a.outerHTML)),document.addEventListener("DOMContentLoaded",c)):(a.addEventListener("load",function(){r(),c()}),a.addEventListener("error",function(){throw new Error("Could not load polyfill bundle"+s)}),document.head.appendChild(a))):"complete"===document.readyState?(n=!0,e()):(window.addEventListener("load",c),window.addEventListener("DOMContentLoaded",function(){window.removeEventListener("load",c),c()}))}();

View File

@ -1 +0,0 @@
!function(){"use strict";var n,t=!1,o=[],d=!1;function e(){window.WebComponents.ready=!0,document.dispatchEvent(new CustomEvent("WebComponentsReady",{bubbles:!0}))}function i(){window.customElements&&customElements.polyfillWrapFlushCallback&&customElements.polyfillWrapFlushCallback(function(e){n=e,d&&n()})}function c(){window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(window.document),t=!0,r().then(e)}function r(){d=!1;var e=o.map(function(e){return e instanceof Function?e():e});return o=[],Promise.all(e).then(function(){d=!0,n&&n()}).catch(function(e){console.error(e)})}window.WebComponents=window.WebComponents||{},window.WebComponents.ready=window.WebComponents.ready||!1,window.WebComponents.waitFor=window.WebComponents.waitFor||function(e){e&&(o.push(e),t&&r())},window.WebComponents._batchCustomElements=i;var l="webcomponents-loader.js",a=[];"attachShadow"in Element.prototype&&"getRootNode"in Element.prototype&&(!window.ShadyDOM||!window.ShadyDOM.force)||a.push("sd"),window.customElements&&!window.customElements.forcePolyfill||a.push("ce");var s,m=function(){var e=document.createElement("template");if(!("content"in e))return!0;if(!(e.content.cloneNode()instanceof DocumentFragment))return!0;var n=document.createElement("template");n.content.appendChild(document.createElement("div")),e.content.appendChild(n);e=e.cloneNode(!0);return 0===e.content.childNodes.length||0===e.content.firstChild.content.childNodes.length}();(a=!(window.Promise&&Array.from&&window.URL&&window.Symbol)||m?["sd-ce-pf"]:a).length?(a="bundles/webcomponents-"+a.join("-")+".js",s=window.WebComponents.root?window.WebComponents.root+a:document.querySelector('script[src*="'+l+'"]').src.replace(l,a),(a=document.createElement("script")).src=s,"loading"===document.readyState?(a.setAttribute("onload","window.WebComponents._batchCustomElements()"),document.write(a.outerHTML),document.addEventListener("DOMContentLoaded",c)):(a.addEventListener("load",function(){i(),c()}),a.addEventListener("error",function(){throw new Error("Could not load polyfill bundle"+s)}),document.head.appendChild(a))):"complete"===document.readyState?(t=!0,e()):(window.addEventListener("load",c),window.addEventListener("DOMContentLoaded",function(){window.removeEventListener("load",c),c()}))}();