").html(data).evalScripts(),data}})}).call(window)},128(){(function(){!function(e){e.timeago=function(t){return t instanceof Date?i(t):i("string"==typeof t?e.timeago.parse(t):"number"==typeof t?new Date(t):e.timeago.datetime(t))};var t=e.timeago;function n(){var n=function(n){if(!(n=e(n)).data("timeago")){n.data("timeago",{datetime:t.datetime(n)});var i=e.trim(n.text());!(i.length>0)||t.isTime(n)&&n.attr("title")||n.attr("title",i)}return n.data("timeago")}(this);return isNaN(n.datetime)||e(this).text(i(n.datetime)),this}function i(e){return t.inWords(function(e){return(new Date).getTime()-e.getTime()}(e))}e.extend(e.timeago,{settings:{refreshMillis:6e4,allowFuture:!1,strings:{formatAgo:"%s ago",formatFromNow:"%s from now",seconds:"less than a minute",minute:"about a minute",minutes:"%d minutes",hour:"about an hour",hours:"about %d hours",day:"a day",days:"%d days",month:"about a month",months:"%d months",year:"about a year",years:"%d years",numbers:[]}},inWords:function(t){var n=this.settings.strings,i=n.formatAgo;this.settings.allowFuture&&t<0&&(i=n.formatFromNow);var o=Math.abs(t)/1e3,r=o/60,s=r/60,a=s/24,d=a/365;function l(i,o){var r=e.isFunction(i)?i(o,t):i,s=n.numbers&&n.numbers[o]||o;return r.replace(/%d/i,s)}var c=o<45&&l(n.seconds,Math.round(o))||o<90&&l(n.minute,1)||r<45&&l(n.minutes,Math.round(r))||r<90&&l(n.hour,1)||s<24&&l(n.hours,Math.round(s))||s<42&&l(n.day,1)||a<30&&l(n.days,Math.round(a))||a<45&&l(n.month,1)||a<365&&l(n.months,Math.round(a/30))||d<1.5&&l(n.year,1)||l(n.years,Math.round(d));return e.trim(i.replace(/%s/i,c))},parse:function(t){var n=e.trim(t);return n=(n=(n=(n=n.replace(/\.\d+/,"")).replace(/-/,"/").replace(/-/,"/")).replace(/T/," ").replace(/Z/," UTC")).replace(/([\+\-]\d\d)\:?(\d\d)/," $1$2"),new Date(n)},datetime:function(n){var i=t.isTime(n)?e(n).attr("datetime"):e(n).attr("title");return t.parse(i)},isTime:function(t){return"time"===e(t).get(0).tagName.toLowerCase()}}),e.fn.timeago=function(){var e=this;e.each(n);var i=t.settings;return i.refreshMillis>0&&setInterval(function(){e.each(n)},i.refreshMillis),e},document.createElement("abbr"),document.createElement("time")}(jQuery)}).call(window)},186(){(function(){jQuery.timeago.settings.strings={formatAgo:gettext("%s ago"),formatFromNow:gettext("%s from now"),seconds:gettext("less than a minute"),minute:gettext("about a minute"),minutes:function(e){return ngettext("%d minute","%d minutes",e)},hour:gettext("about an hour"),hours:function(e){return ngettext("about %d hour","about %d hours",e)},day:gettext("a day"),days:function(e){return ngettext("%d day","%d days",e)},month:gettext("about a month"),months:function(e){return ngettext("%d month","%d months",e)},year:gettext("about a year"),years:function(e){return ngettext("%d year","%d years",e)},numbers:[]}}).call(window)},582(){(function(){!function(e){var t=/(\s*\S+|\s)$/;e.truncate=function(t,n){return e("
").append(t).truncate(n).html()},e.fn.truncate=function(n){e.isNumeric(n)&&(n={length:n});var i=e.extend({},e.truncate.defaults,n);return this.each(function(){var n=e(this);i.noBreaks&&n.find("br").replaceWith(" ");var o=n.text(),r=o.length-i.length;i.stripTags&&n.text(o),i.words&&r>0&&(r=o.length-o.slice(0,i.length).replace(t,"").length-1),r<0||!r&&!i.truncated||e.each(n.contents().get().reverse(),function(t,n){var o=e(n),s=o.text().length;return s<=r?(i.truncated=!0,r-=s,void o.remove()):3===n.nodeType?(e(n.splitText(s-r-1)).replaceWith(i.ellipsis),!1):(o.truncate(e.extend(i,{length:s-r})),!1)})})},e.truncate.defaults={stripTags:!1,words:!1,noBreaks:!1,length:1/0,ellipsis:"…"}}(jQuery)}).call(window)}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](n,n.exports,__webpack_require__),n.exports}__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var __webpack_exports__={};(()=>{"use strict";__webpack_require__(290),__webpack_require__(786),__webpack_require__(204),__webpack_require__(237),__webpack_require__(128),__webpack_require__(186),__webpack_require__(582),__webpack_require__(398),__webpack_require__(817),__webpack_require__(588),__webpack_require__(970),__webpack_require__(376),__webpack_require__(840),__webpack_require__(514),__webpack_require__(779),__webpack_require__(189),__webpack_require__(88),__webpack_require__(760),__webpack_require__(368),__webpack_require__(156),__webpack_require__(556),__webpack_require__(669),__webpack_require__(935),__webpack_require__(411),__webpack_require__(606),__webpack_require__(197),__webpack_require__(534),__webpack_require__(61),__webpack_require__(733),__webpack_require__(907),__webpack_require__(808),__webpack_require__(410)})()})();
\ No newline at end of file
diff --git a/xblocks_contrib/discussion/public/js/discussion_bundle.js.LICENSE.txt b/xblocks_contrib/discussion/public/js/discussion_bundle.js.LICENSE.txt
new file mode 100644
index 00000000..dba0e89b
--- /dev/null
+++ b/xblocks_contrib/discussion/public/js/discussion_bundle.js.LICENSE.txt
@@ -0,0 +1,6 @@
+/*!
+ * Cross-Browser Split 1.1.1
+ * Copyright 2007-2012 Steven Levithan
+ * Available under the MIT License
+ * ECMAScript compliant, uniform cross-browser split method
+ */
From 81c34c1538b2b8e5135b46b6602368341032c10c Mon Sep 17 00:00:00 2001
From: salman2013
Date: Wed, 18 Feb 2026 11:53:36 +0500
Subject: [PATCH 2/6] fix: load css with runtime
---
.../public/css/inline-discussion-rtl.css | 4572 +++++++++++++++++
.../public/css/inline-discussion.css | 4572 +++++++++++++++++
2 files changed, 9144 insertions(+)
create mode 100644 xblocks_contrib/discussion/public/css/inline-discussion-rtl.css
create mode 100644 xblocks_contrib/discussion/public/css/inline-discussion.css
diff --git a/xblocks_contrib/discussion/public/css/inline-discussion-rtl.css b/xblocks_contrib/discussion/public/css/inline-discussion-rtl.css
new file mode 100644
index 00000000..713be612
--- /dev/null
+++ b/xblocks_contrib/discussion/public/css/inline-discussion-rtl.css
@@ -0,0 +1,4572 @@
+@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,400i,600,700");
+@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,400i,600,700");
+@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,400i,600,700");
+@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,400i,600,700");
+@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,400i,600,700");
+.align-baseline {
+ vertical-align: baseline !important; }
+
+.align-top {
+ vertical-align: top !important; }
+
+.align-middle {
+ vertical-align: middle !important; }
+
+.align-bottom {
+ vertical-align: bottom !important; }
+
+.align-text-bottom {
+ vertical-align: text-bottom !important; }
+
+.align-text-top {
+ vertical-align: text-top !important; }
+
+.bg-primary {
+ background-color: #0075b4 !important; }
+
+a.bg-primary:hover, a.bg-primary:focus,
+button.bg-primary:hover,
+button.bg-primary:focus {
+ background-color: #005481 !important; }
+
+.bg-secondary {
+ background-color: #313131 !important; }
+
+a.bg-secondary:hover, a.bg-secondary:focus,
+button.bg-secondary:hover,
+button.bg-secondary:focus {
+ background-color: #181818 !important; }
+
+.bg-success {
+ background-color: #008100 !important; }
+
+a.bg-success:hover, a.bg-success:focus,
+button.bg-success:hover,
+button.bg-success:focus {
+ background-color: #004e00 !important; }
+
+.bg-info {
+ background-color: #17a2b8 !important; }
+
+a.bg-info:hover, a.bg-info:focus,
+button.bg-info:hover,
+button.bg-info:focus {
+ background-color: #117a8b !important; }
+
+.bg-warning {
+ background-color: #e2c01f !important; }
+
+a.bg-warning:hover, a.bg-warning:focus,
+button.bg-warning:hover,
+button.bg-warning:focus {
+ background-color: #b69b18 !important; }
+
+.bg-danger {
+ background-color: #b20610 !important; }
+
+a.bg-danger:hover, a.bg-danger:focus,
+button.bg-danger:hover,
+button.bg-danger:focus {
+ background-color: #81040c !important; }
+
+.bg-light {
+ background-color: #e7e7e7 !important; }
+
+a.bg-light:hover, a.bg-light:focus,
+button.bg-light:hover,
+button.bg-light:focus {
+ background-color: #cecece !important; }
+
+.bg-dark {
+ background-color: #313131 !important; }
+
+a.bg-dark:hover, a.bg-dark:focus,
+button.bg-dark:hover,
+button.bg-dark:focus {
+ background-color: #181818 !important; }
+
+.bg-inverse {
+ background-color: #fff !important; }
+
+a.bg-inverse:hover, a.bg-inverse:focus,
+button.bg-inverse:hover,
+button.bg-inverse:focus {
+ background-color: #e6e6e6 !important; }
+
+.bg-disabled {
+ background-color: #767676 !important; }
+
+a.bg-disabled:hover, a.bg-disabled:focus,
+button.bg-disabled:hover,
+button.bg-disabled:focus {
+ background-color: #5d5d5d !important; }
+
+.bg-purchase {
+ background-color: #008100 !important; }
+
+a.bg-purchase:hover, a.bg-purchase:focus,
+button.bg-purchase:hover,
+button.bg-purchase:focus {
+ background-color: #004e00 !important; }
+
+.bg-lightest {
+ background-color: #f5f5f5 !important; }
+
+a.bg-lightest:hover, a.bg-lightest:focus,
+button.bg-lightest:hover,
+button.bg-lightest:focus {
+ background-color: gainsboro !important; }
+
+.bg-darker {
+ background-color: #111 !important; }
+
+a.bg-darker:hover, a.bg-darker:focus,
+button.bg-darker:hover,
+button.bg-darker:focus {
+ background-color: black !important; }
+
+.bg-darkest {
+ background-color: #000 !important; }
+
+a.bg-darkest:hover, a.bg-darkest:focus,
+button.bg-darkest:hover,
+button.bg-darkest:focus {
+ background-color: black !important; }
+
+.bg-white {
+ background-color: #fff !important; }
+
+.bg-transparent {
+ background-color: transparent !important; }
+
+.border {
+ border: 1px solid #e7e7e7 !important; }
+
+.border-top {
+ border-top: 1px solid #e7e7e7 !important; }
+
+.border-right {
+ border-right: 1px solid #e7e7e7 !important; }
+
+.border-bottom {
+ border-bottom: 1px solid #e7e7e7 !important; }
+
+.border-left {
+ border-left: 1px solid #e7e7e7 !important; }
+
+.border-0 {
+ border: 0 !important; }
+
+.border-top-0 {
+ border-top: 0 !important; }
+
+.border-right-0 {
+ border-right: 0 !important; }
+
+.border-bottom-0 {
+ border-bottom: 0 !important; }
+
+.border-left-0 {
+ border-left: 0 !important; }
+
+.border-primary {
+ border-color: #0075b4 !important; }
+
+.border-secondary {
+ border-color: #313131 !important; }
+
+.border-success {
+ border-color: #008100 !important; }
+
+.border-info {
+ border-color: #17a2b8 !important; }
+
+.border-warning {
+ border-color: #e2c01f !important; }
+
+.border-danger {
+ border-color: #b20610 !important; }
+
+.border-light {
+ border-color: #e7e7e7 !important; }
+
+.border-dark {
+ border-color: #313131 !important; }
+
+.border-inverse {
+ border-color: #fff !important; }
+
+.border-disabled {
+ border-color: #767676 !important; }
+
+.border-purchase {
+ border-color: #008100 !important; }
+
+.border-lightest {
+ border-color: #f5f5f5 !important; }
+
+.border-darker {
+ border-color: #111 !important; }
+
+.border-darkest {
+ border-color: #000 !important; }
+
+.border-white {
+ border-color: #fff !important; }
+
+.rounded {
+ border-radius: 0.1875rem !important; }
+
+.rounded-top {
+ border-top-left-radius: 0.1875rem !important;
+ border-top-right-radius: 0.1875rem !important; }
+
+.rounded-right {
+ border-top-right-radius: 0.1875rem !important;
+ border-bottom-right-radius: 0.1875rem !important; }
+
+.rounded-bottom {
+ border-bottom-right-radius: 0.1875rem !important;
+ border-bottom-left-radius: 0.1875rem !important; }
+
+.rounded-left {
+ border-top-left-radius: 0.1875rem !important;
+ border-bottom-left-radius: 0.1875rem !important; }
+
+.rounded-circle {
+ border-radius: 50% !important; }
+
+.rounded-0 {
+ border-radius: 0 !important; }
+
+.clearfix:after {
+ content: "";
+ display: table;
+ clear: both; }
+
+.d-none {
+ display: none !important; }
+
+.d-inline {
+ display: inline !important; }
+
+.d-inline-block {
+ display: inline-block !important; }
+
+.d-block {
+ display: block !important; }
+
+.d-table {
+ display: table !important; }
+
+.d-table-row {
+ display: table-row !important; }
+
+.d-table-cell {
+ display: table-cell !important; }
+
+.d-flex {
+ display: flex !important; }
+
+.d-inline-flex {
+ display: inline-flex !important; }
+
+@media (min-width: 576px) {
+ .d-sm-none {
+ display: none !important; }
+ .d-sm-inline {
+ display: inline !important; }
+ .d-sm-inline-block {
+ display: inline-block !important; }
+ .d-sm-block {
+ display: block !important; }
+ .d-sm-table {
+ display: table !important; }
+ .d-sm-table-row {
+ display: table-row !important; }
+ .d-sm-table-cell {
+ display: table-cell !important; }
+ .d-sm-flex {
+ display: flex !important; }
+ .d-sm-inline-flex {
+ display: inline-flex !important; } }
+
+@media (min-width: 768px) {
+ .d-md-none {
+ display: none !important; }
+ .d-md-inline {
+ display: inline !important; }
+ .d-md-inline-block {
+ display: inline-block !important; }
+ .d-md-block {
+ display: block !important; }
+ .d-md-table {
+ display: table !important; }
+ .d-md-table-row {
+ display: table-row !important; }
+ .d-md-table-cell {
+ display: table-cell !important; }
+ .d-md-flex {
+ display: flex !important; }
+ .d-md-inline-flex {
+ display: inline-flex !important; } }
+
+@media (min-width: 992px) {
+ .d-lg-none {
+ display: none !important; }
+ .d-lg-inline {
+ display: inline !important; }
+ .d-lg-inline-block {
+ display: inline-block !important; }
+ .d-lg-block {
+ display: block !important; }
+ .d-lg-table {
+ display: table !important; }
+ .d-lg-table-row {
+ display: table-row !important; }
+ .d-lg-table-cell {
+ display: table-cell !important; }
+ .d-lg-flex {
+ display: flex !important; }
+ .d-lg-inline-flex {
+ display: inline-flex !important; } }
+
+@media (min-width: 1200px) {
+ .d-xl-none {
+ display: none !important; }
+ .d-xl-inline {
+ display: inline !important; }
+ .d-xl-inline-block {
+ display: inline-block !important; }
+ .d-xl-block {
+ display: block !important; }
+ .d-xl-table {
+ display: table !important; }
+ .d-xl-table-row {
+ display: table-row !important; }
+ .d-xl-table-cell {
+ display: table-cell !important; }
+ .d-xl-flex {
+ display: flex !important; }
+ .d-xl-inline-flex {
+ display: inline-flex !important; } }
+
+@media print {
+ .d-print-none {
+ display: none !important; }
+ .d-print-inline {
+ display: inline !important; }
+ .d-print-inline-block {
+ display: inline-block !important; }
+ .d-print-block {
+ display: block !important; }
+ .d-print-table {
+ display: table !important; }
+ .d-print-table-row {
+ display: table-row !important; }
+ .d-print-table-cell {
+ display: table-cell !important; }
+ .d-print-flex {
+ display: flex !important; }
+ .d-print-inline-flex {
+ display: inline-flex !important; } }
+
+.embed-responsive {
+ position: relative;
+ display: block;
+ width: 100%;
+ padding: 0;
+ overflow: hidden; }
+ .embed-responsive::before {
+ display: block;
+ content: ""; }
+ .embed-responsive .embed-responsive-item,
+ .embed-responsive iframe,
+ .embed-responsive embed,
+ .embed-responsive object,
+ .embed-responsive video {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ border: 0; }
+
+.embed-responsive-21by9::before {
+ padding-top: 42.85714%; }
+
+.embed-responsive-16by9::before {
+ padding-top: 56.25%; }
+
+.embed-responsive-4by3::before {
+ padding-top: 75%; }
+
+.embed-responsive-1by1::before {
+ padding-top: 100%; }
+
+.flex-row {
+ flex-direction: row !important; }
+
+.flex-column {
+ flex-direction: column !important; }
+
+.flex-row-reverse {
+ flex-direction: row-reverse !important; }
+
+.flex-column-reverse {
+ flex-direction: column-reverse !important; }
+
+.flex-wrap {
+ flex-wrap: wrap !important; }
+
+.flex-nowrap {
+ flex-wrap: nowrap !important; }
+
+.flex-wrap-reverse {
+ flex-wrap: wrap-reverse !important; }
+
+.justify-content-start {
+ justify-content: flex-start !important; }
+
+.justify-content-end {
+ justify-content: flex-end !important; }
+
+.justify-content-center {
+ justify-content: center !important; }
+
+.justify-content-between {
+ justify-content: space-between !important; }
+
+.justify-content-around {
+ justify-content: space-around !important; }
+
+.align-items-start {
+ align-items: flex-start !important; }
+
+.align-items-end {
+ align-items: flex-end !important; }
+
+.align-items-center {
+ align-items: center !important; }
+
+.align-items-baseline {
+ align-items: baseline !important; }
+
+.align-items-stretch {
+ align-items: stretch !important; }
+
+.align-content-start {
+ align-content: flex-start !important; }
+
+.align-content-end {
+ align-content: flex-end !important; }
+
+.align-content-center {
+ align-content: center !important; }
+
+.align-content-between {
+ align-content: space-between !important; }
+
+.align-content-around {
+ align-content: space-around !important; }
+
+.align-content-stretch {
+ align-content: stretch !important; }
+
+.align-self-auto {
+ align-self: auto !important; }
+
+.align-self-start {
+ align-self: flex-start !important; }
+
+.align-self-end {
+ align-self: flex-end !important; }
+
+.align-self-center {
+ align-self: center !important; }
+
+.align-self-baseline {
+ align-self: baseline !important; }
+
+.align-self-stretch {
+ align-self: stretch !important; }
+
+@media (min-width: 576px) {
+ .flex-sm-row {
+ flex-direction: row !important; }
+ .flex-sm-column {
+ flex-direction: column !important; }
+ .flex-sm-row-reverse {
+ flex-direction: row-reverse !important; }
+ .flex-sm-column-reverse {
+ flex-direction: column-reverse !important; }
+ .flex-sm-wrap {
+ flex-wrap: wrap !important; }
+ .flex-sm-nowrap {
+ flex-wrap: nowrap !important; }
+ .flex-sm-wrap-reverse {
+ flex-wrap: wrap-reverse !important; }
+ .justify-content-sm-start {
+ justify-content: flex-start !important; }
+ .justify-content-sm-end {
+ justify-content: flex-end !important; }
+ .justify-content-sm-center {
+ justify-content: center !important; }
+ .justify-content-sm-between {
+ justify-content: space-between !important; }
+ .justify-content-sm-around {
+ justify-content: space-around !important; }
+ .align-items-sm-start {
+ align-items: flex-start !important; }
+ .align-items-sm-end {
+ align-items: flex-end !important; }
+ .align-items-sm-center {
+ align-items: center !important; }
+ .align-items-sm-baseline {
+ align-items: baseline !important; }
+ .align-items-sm-stretch {
+ align-items: stretch !important; }
+ .align-content-sm-start {
+ align-content: flex-start !important; }
+ .align-content-sm-end {
+ align-content: flex-end !important; }
+ .align-content-sm-center {
+ align-content: center !important; }
+ .align-content-sm-between {
+ align-content: space-between !important; }
+ .align-content-sm-around {
+ align-content: space-around !important; }
+ .align-content-sm-stretch {
+ align-content: stretch !important; }
+ .align-self-sm-auto {
+ align-self: auto !important; }
+ .align-self-sm-start {
+ align-self: flex-start !important; }
+ .align-self-sm-end {
+ align-self: flex-end !important; }
+ .align-self-sm-center {
+ align-self: center !important; }
+ .align-self-sm-baseline {
+ align-self: baseline !important; }
+ .align-self-sm-stretch {
+ align-self: stretch !important; } }
+
+@media (min-width: 768px) {
+ .flex-md-row {
+ flex-direction: row !important; }
+ .flex-md-column {
+ flex-direction: column !important; }
+ .flex-md-row-reverse {
+ flex-direction: row-reverse !important; }
+ .flex-md-column-reverse {
+ flex-direction: column-reverse !important; }
+ .flex-md-wrap {
+ flex-wrap: wrap !important; }
+ .flex-md-nowrap {
+ flex-wrap: nowrap !important; }
+ .flex-md-wrap-reverse {
+ flex-wrap: wrap-reverse !important; }
+ .justify-content-md-start {
+ justify-content: flex-start !important; }
+ .justify-content-md-end {
+ justify-content: flex-end !important; }
+ .justify-content-md-center {
+ justify-content: center !important; }
+ .justify-content-md-between {
+ justify-content: space-between !important; }
+ .justify-content-md-around {
+ justify-content: space-around !important; }
+ .align-items-md-start {
+ align-items: flex-start !important; }
+ .align-items-md-end {
+ align-items: flex-end !important; }
+ .align-items-md-center {
+ align-items: center !important; }
+ .align-items-md-baseline {
+ align-items: baseline !important; }
+ .align-items-md-stretch {
+ align-items: stretch !important; }
+ .align-content-md-start {
+ align-content: flex-start !important; }
+ .align-content-md-end {
+ align-content: flex-end !important; }
+ .align-content-md-center {
+ align-content: center !important; }
+ .align-content-md-between {
+ align-content: space-between !important; }
+ .align-content-md-around {
+ align-content: space-around !important; }
+ .align-content-md-stretch {
+ align-content: stretch !important; }
+ .align-self-md-auto {
+ align-self: auto !important; }
+ .align-self-md-start {
+ align-self: flex-start !important; }
+ .align-self-md-end {
+ align-self: flex-end !important; }
+ .align-self-md-center {
+ align-self: center !important; }
+ .align-self-md-baseline {
+ align-self: baseline !important; }
+ .align-self-md-stretch {
+ align-self: stretch !important; } }
+
+@media (min-width: 992px) {
+ .flex-lg-row {
+ flex-direction: row !important; }
+ .flex-lg-column {
+ flex-direction: column !important; }
+ .flex-lg-row-reverse {
+ flex-direction: row-reverse !important; }
+ .flex-lg-column-reverse {
+ flex-direction: column-reverse !important; }
+ .flex-lg-wrap {
+ flex-wrap: wrap !important; }
+ .flex-lg-nowrap {
+ flex-wrap: nowrap !important; }
+ .flex-lg-wrap-reverse {
+ flex-wrap: wrap-reverse !important; }
+ .justify-content-lg-start {
+ justify-content: flex-start !important; }
+ .justify-content-lg-end {
+ justify-content: flex-end !important; }
+ .justify-content-lg-center {
+ justify-content: center !important; }
+ .justify-content-lg-between {
+ justify-content: space-between !important; }
+ .justify-content-lg-around {
+ justify-content: space-around !important; }
+ .align-items-lg-start {
+ align-items: flex-start !important; }
+ .align-items-lg-end {
+ align-items: flex-end !important; }
+ .align-items-lg-center {
+ align-items: center !important; }
+ .align-items-lg-baseline {
+ align-items: baseline !important; }
+ .align-items-lg-stretch {
+ align-items: stretch !important; }
+ .align-content-lg-start {
+ align-content: flex-start !important; }
+ .align-content-lg-end {
+ align-content: flex-end !important; }
+ .align-content-lg-center {
+ align-content: center !important; }
+ .align-content-lg-between {
+ align-content: space-between !important; }
+ .align-content-lg-around {
+ align-content: space-around !important; }
+ .align-content-lg-stretch {
+ align-content: stretch !important; }
+ .align-self-lg-auto {
+ align-self: auto !important; }
+ .align-self-lg-start {
+ align-self: flex-start !important; }
+ .align-self-lg-end {
+ align-self: flex-end !important; }
+ .align-self-lg-center {
+ align-self: center !important; }
+ .align-self-lg-baseline {
+ align-self: baseline !important; }
+ .align-self-lg-stretch {
+ align-self: stretch !important; } }
+
+@media (min-width: 1200px) {
+ .flex-xl-row {
+ flex-direction: row !important; }
+ .flex-xl-column {
+ flex-direction: column !important; }
+ .flex-xl-row-reverse {
+ flex-direction: row-reverse !important; }
+ .flex-xl-column-reverse {
+ flex-direction: column-reverse !important; }
+ .flex-xl-wrap {
+ flex-wrap: wrap !important; }
+ .flex-xl-nowrap {
+ flex-wrap: nowrap !important; }
+ .flex-xl-wrap-reverse {
+ flex-wrap: wrap-reverse !important; }
+ .justify-content-xl-start {
+ justify-content: flex-start !important; }
+ .justify-content-xl-end {
+ justify-content: flex-end !important; }
+ .justify-content-xl-center {
+ justify-content: center !important; }
+ .justify-content-xl-between {
+ justify-content: space-between !important; }
+ .justify-content-xl-around {
+ justify-content: space-around !important; }
+ .align-items-xl-start {
+ align-items: flex-start !important; }
+ .align-items-xl-end {
+ align-items: flex-end !important; }
+ .align-items-xl-center {
+ align-items: center !important; }
+ .align-items-xl-baseline {
+ align-items: baseline !important; }
+ .align-items-xl-stretch {
+ align-items: stretch !important; }
+ .align-content-xl-start {
+ align-content: flex-start !important; }
+ .align-content-xl-end {
+ align-content: flex-end !important; }
+ .align-content-xl-center {
+ align-content: center !important; }
+ .align-content-xl-between {
+ align-content: space-between !important; }
+ .align-content-xl-around {
+ align-content: space-around !important; }
+ .align-content-xl-stretch {
+ align-content: stretch !important; }
+ .align-self-xl-auto {
+ align-self: auto !important; }
+ .align-self-xl-start {
+ align-self: flex-start !important; }
+ .align-self-xl-end {
+ align-self: flex-end !important; }
+ .align-self-xl-center {
+ align-self: center !important; }
+ .align-self-xl-baseline {
+ align-self: baseline !important; }
+ .align-self-xl-stretch {
+ align-self: stretch !important; } }
+
+.float-left {
+ float: left !important; }
+
+.float-right {
+ float: right !important; }
+
+.float-none {
+ float: none !important; }
+
+@media (min-width: 576px) {
+ .float-sm-left {
+ float: left !important; }
+ .float-sm-right {
+ float: right !important; }
+ .float-sm-none {
+ float: none !important; } }
+
+@media (min-width: 768px) {
+ .float-md-left {
+ float: left !important; }
+ .float-md-right {
+ float: right !important; }
+ .float-md-none {
+ float: none !important; } }
+
+@media (min-width: 992px) {
+ .float-lg-left {
+ float: left !important; }
+ .float-lg-right {
+ float: right !important; }
+ .float-lg-none {
+ float: none !important; } }
+
+@media (min-width: 1200px) {
+ .float-xl-left {
+ float: left !important; }
+ .float-xl-right {
+ float: right !important; }
+ .float-xl-none {
+ float: none !important; } }
+
+.position-static {
+ position: static !important; }
+
+.position-relative {
+ position: relative !important; }
+
+.position-absolute {
+ position: absolute !important; }
+
+.position-fixed {
+ position: fixed !important; }
+
+.position-sticky {
+ position: sticky !important; }
+
+.fixed-top {
+ position: fixed;
+ top: 0;
+ right: 0;
+ left: 0;
+ z-index: 1030; }
+
+.fixed-bottom {
+ position: fixed;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1030; }
+
+@supports (position: sticky) {
+ .sticky-top {
+ position: sticky;
+ top: 0;
+ z-index: 1020; } }
+
+.sr-only {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0);
+ white-space: nowrap;
+ clip-path: inset(50%);
+ border: 0; }
+
+.sr-only-focusable:active, .sr-only-focusable:focus {
+ position: static;
+ width: auto;
+ height: auto;
+ overflow: visible;
+ clip: auto;
+ white-space: normal;
+ clip-path: none; }
+
+.w-25 {
+ width: 25% !important; }
+
+.w-50 {
+ width: 50% !important; }
+
+.w-75 {
+ width: 75% !important; }
+
+.w-100 {
+ width: 100% !important; }
+
+.h-25 {
+ height: 25% !important; }
+
+.h-50 {
+ height: 50% !important; }
+
+.h-75 {
+ height: 75% !important; }
+
+.h-100 {
+ height: 100% !important; }
+
+.mw-100 {
+ max-width: 100% !important; }
+
+.mh-100 {
+ max-height: 100% !important; }
+
+.m-0 {
+ margin: 0 !important; }
+
+.mt-0,
+.my-0 {
+ margin-top: 0 !important; }
+
+.mr-0,
+.mx-0 {
+ margin-right: 0 !important; }
+
+.mb-0,
+.my-0 {
+ margin-bottom: 0 !important; }
+
+.ml-0,
+.mx-0 {
+ margin-left: 0 !important; }
+
+.m-1 {
+ margin: 0.25rem !important; }
+
+.mt-1,
+.my-1 {
+ margin-top: 0.25rem !important; }
+
+.mr-1,
+.mx-1 {
+ margin-right: 0.25rem !important; }
+
+.mb-1,
+.my-1 {
+ margin-bottom: 0.25rem !important; }
+
+.ml-1,
+.mx-1 {
+ margin-left: 0.25rem !important; }
+
+.m-2 {
+ margin: 0.5rem !important; }
+
+.mt-2,
+.my-2 {
+ margin-top: 0.5rem !important; }
+
+.mr-2,
+.mx-2 {
+ margin-right: 0.5rem !important; }
+
+.mb-2,
+.my-2 {
+ margin-bottom: 0.5rem !important; }
+
+.ml-2,
+.mx-2 {
+ margin-left: 0.5rem !important; }
+
+.m-3 {
+ margin: 1rem !important; }
+
+.mt-3,
+.my-3 {
+ margin-top: 1rem !important; }
+
+.mr-3,
+.mx-3 {
+ margin-right: 1rem !important; }
+
+.mb-3,
+.my-3 {
+ margin-bottom: 1rem !important; }
+
+.ml-3,
+.mx-3 {
+ margin-left: 1rem !important; }
+
+.m-4 {
+ margin: 1.5rem !important; }
+
+.mt-4,
+.my-4 {
+ margin-top: 1.5rem !important; }
+
+.mr-4,
+.mx-4 {
+ margin-right: 1.5rem !important; }
+
+.mb-4,
+.my-4 {
+ margin-bottom: 1.5rem !important; }
+
+.ml-4,
+.mx-4 {
+ margin-left: 1.5rem !important; }
+
+.m-5 {
+ margin: 3rem !important; }
+
+.mt-5,
+.my-5 {
+ margin-top: 3rem !important; }
+
+.mr-5,
+.mx-5 {
+ margin-right: 3rem !important; }
+
+.mb-5,
+.my-5 {
+ margin-bottom: 3rem !important; }
+
+.ml-5,
+.mx-5 {
+ margin-left: 3rem !important; }
+
+.p-0 {
+ padding: 0 !important; }
+
+.pt-0,
+.py-0 {
+ padding-top: 0 !important; }
+
+.pr-0,
+.px-0 {
+ padding-right: 0 !important; }
+
+.pb-0,
+.py-0 {
+ padding-bottom: 0 !important; }
+
+.pl-0,
+.px-0 {
+ padding-left: 0 !important; }
+
+.p-1 {
+ padding: 0.25rem !important; }
+
+.pt-1,
+.py-1 {
+ padding-top: 0.25rem !important; }
+
+.pr-1,
+.px-1 {
+ padding-right: 0.25rem !important; }
+
+.pb-1,
+.py-1 {
+ padding-bottom: 0.25rem !important; }
+
+.pl-1,
+.px-1 {
+ padding-left: 0.25rem !important; }
+
+.p-2 {
+ padding: 0.5rem !important; }
+
+.pt-2,
+.py-2 {
+ padding-top: 0.5rem !important; }
+
+.pr-2,
+.px-2 {
+ padding-right: 0.5rem !important; }
+
+.pb-2,
+.py-2 {
+ padding-bottom: 0.5rem !important; }
+
+.pl-2,
+.px-2 {
+ padding-left: 0.5rem !important; }
+
+.p-3 {
+ padding: 1rem !important; }
+
+.pt-3,
+.py-3 {
+ padding-top: 1rem !important; }
+
+.pr-3,
+.px-3 {
+ padding-right: 1rem !important; }
+
+.pb-3,
+.py-3 {
+ padding-bottom: 1rem !important; }
+
+.pl-3,
+.px-3 {
+ padding-left: 1rem !important; }
+
+.p-4 {
+ padding: 1.5rem !important; }
+
+.pt-4,
+.py-4 {
+ padding-top: 1.5rem !important; }
+
+.pr-4,
+.px-4 {
+ padding-right: 1.5rem !important; }
+
+.pb-4,
+.py-4 {
+ padding-bottom: 1.5rem !important; }
+
+.pl-4,
+.px-4 {
+ padding-left: 1.5rem !important; }
+
+.p-5 {
+ padding: 3rem !important; }
+
+.pt-5,
+.py-5 {
+ padding-top: 3rem !important; }
+
+.pr-5,
+.px-5 {
+ padding-right: 3rem !important; }
+
+.pb-5,
+.py-5 {
+ padding-bottom: 3rem !important; }
+
+.pl-5,
+.px-5 {
+ padding-left: 3rem !important; }
+
+.m-auto {
+ margin: auto !important; }
+
+.mt-auto,
+.my-auto {
+ margin-top: auto !important; }
+
+.mr-auto,
+.mx-auto {
+ margin-right: auto !important; }
+
+.mb-auto,
+.my-auto {
+ margin-bottom: auto !important; }
+
+.ml-auto,
+.mx-auto {
+ margin-left: auto !important; }
+
+@media (min-width: 576px) {
+ .m-sm-0 {
+ margin: 0 !important; }
+ .mt-sm-0,
+ .my-sm-0 {
+ margin-top: 0 !important; }
+ .mr-sm-0,
+ .mx-sm-0 {
+ margin-right: 0 !important; }
+ .mb-sm-0,
+ .my-sm-0 {
+ margin-bottom: 0 !important; }
+ .ml-sm-0,
+ .mx-sm-0 {
+ margin-left: 0 !important; }
+ .m-sm-1 {
+ margin: 0.25rem !important; }
+ .mt-sm-1,
+ .my-sm-1 {
+ margin-top: 0.25rem !important; }
+ .mr-sm-1,
+ .mx-sm-1 {
+ margin-right: 0.25rem !important; }
+ .mb-sm-1,
+ .my-sm-1 {
+ margin-bottom: 0.25rem !important; }
+ .ml-sm-1,
+ .mx-sm-1 {
+ margin-left: 0.25rem !important; }
+ .m-sm-2 {
+ margin: 0.5rem !important; }
+ .mt-sm-2,
+ .my-sm-2 {
+ margin-top: 0.5rem !important; }
+ .mr-sm-2,
+ .mx-sm-2 {
+ margin-right: 0.5rem !important; }
+ .mb-sm-2,
+ .my-sm-2 {
+ margin-bottom: 0.5rem !important; }
+ .ml-sm-2,
+ .mx-sm-2 {
+ margin-left: 0.5rem !important; }
+ .m-sm-3 {
+ margin: 1rem !important; }
+ .mt-sm-3,
+ .my-sm-3 {
+ margin-top: 1rem !important; }
+ .mr-sm-3,
+ .mx-sm-3 {
+ margin-right: 1rem !important; }
+ .mb-sm-3,
+ .my-sm-3 {
+ margin-bottom: 1rem !important; }
+ .ml-sm-3,
+ .mx-sm-3 {
+ margin-left: 1rem !important; }
+ .m-sm-4 {
+ margin: 1.5rem !important; }
+ .mt-sm-4,
+ .my-sm-4 {
+ margin-top: 1.5rem !important; }
+ .mr-sm-4,
+ .mx-sm-4 {
+ margin-right: 1.5rem !important; }
+ .mb-sm-4,
+ .my-sm-4 {
+ margin-bottom: 1.5rem !important; }
+ .ml-sm-4,
+ .mx-sm-4 {
+ margin-left: 1.5rem !important; }
+ .m-sm-5 {
+ margin: 3rem !important; }
+ .mt-sm-5,
+ .my-sm-5 {
+ margin-top: 3rem !important; }
+ .mr-sm-5,
+ .mx-sm-5 {
+ margin-right: 3rem !important; }
+ .mb-sm-5,
+ .my-sm-5 {
+ margin-bottom: 3rem !important; }
+ .ml-sm-5,
+ .mx-sm-5 {
+ margin-left: 3rem !important; }
+ .p-sm-0 {
+ padding: 0 !important; }
+ .pt-sm-0,
+ .py-sm-0 {
+ padding-top: 0 !important; }
+ .pr-sm-0,
+ .px-sm-0 {
+ padding-right: 0 !important; }
+ .pb-sm-0,
+ .py-sm-0 {
+ padding-bottom: 0 !important; }
+ .pl-sm-0,
+ .px-sm-0 {
+ padding-left: 0 !important; }
+ .p-sm-1 {
+ padding: 0.25rem !important; }
+ .pt-sm-1,
+ .py-sm-1 {
+ padding-top: 0.25rem !important; }
+ .pr-sm-1,
+ .px-sm-1 {
+ padding-right: 0.25rem !important; }
+ .pb-sm-1,
+ .py-sm-1 {
+ padding-bottom: 0.25rem !important; }
+ .pl-sm-1,
+ .px-sm-1 {
+ padding-left: 0.25rem !important; }
+ .p-sm-2 {
+ padding: 0.5rem !important; }
+ .pt-sm-2,
+ .py-sm-2 {
+ padding-top: 0.5rem !important; }
+ .pr-sm-2,
+ .px-sm-2 {
+ padding-right: 0.5rem !important; }
+ .pb-sm-2,
+ .py-sm-2 {
+ padding-bottom: 0.5rem !important; }
+ .pl-sm-2,
+ .px-sm-2 {
+ padding-left: 0.5rem !important; }
+ .p-sm-3 {
+ padding: 1rem !important; }
+ .pt-sm-3,
+ .py-sm-3 {
+ padding-top: 1rem !important; }
+ .pr-sm-3,
+ .px-sm-3 {
+ padding-right: 1rem !important; }
+ .pb-sm-3,
+ .py-sm-3 {
+ padding-bottom: 1rem !important; }
+ .pl-sm-3,
+ .px-sm-3 {
+ padding-left: 1rem !important; }
+ .p-sm-4 {
+ padding: 1.5rem !important; }
+ .pt-sm-4,
+ .py-sm-4 {
+ padding-top: 1.5rem !important; }
+ .pr-sm-4,
+ .px-sm-4 {
+ padding-right: 1.5rem !important; }
+ .pb-sm-4,
+ .py-sm-4 {
+ padding-bottom: 1.5rem !important; }
+ .pl-sm-4,
+ .px-sm-4 {
+ padding-left: 1.5rem !important; }
+ .p-sm-5 {
+ padding: 3rem !important; }
+ .pt-sm-5,
+ .py-sm-5 {
+ padding-top: 3rem !important; }
+ .pr-sm-5,
+ .px-sm-5 {
+ padding-right: 3rem !important; }
+ .pb-sm-5,
+ .py-sm-5 {
+ padding-bottom: 3rem !important; }
+ .pl-sm-5,
+ .px-sm-5 {
+ padding-left: 3rem !important; }
+ .m-sm-auto {
+ margin: auto !important; }
+ .mt-sm-auto,
+ .my-sm-auto {
+ margin-top: auto !important; }
+ .mr-sm-auto,
+ .mx-sm-auto {
+ margin-right: auto !important; }
+ .mb-sm-auto,
+ .my-sm-auto {
+ margin-bottom: auto !important; }
+ .ml-sm-auto,
+ .mx-sm-auto {
+ margin-left: auto !important; } }
+
+@media (min-width: 768px) {
+ .m-md-0 {
+ margin: 0 !important; }
+ .mt-md-0,
+ .my-md-0 {
+ margin-top: 0 !important; }
+ .mr-md-0,
+ .mx-md-0 {
+ margin-right: 0 !important; }
+ .mb-md-0,
+ .my-md-0 {
+ margin-bottom: 0 !important; }
+ .ml-md-0,
+ .mx-md-0 {
+ margin-left: 0 !important; }
+ .m-md-1 {
+ margin: 0.25rem !important; }
+ .mt-md-1,
+ .my-md-1 {
+ margin-top: 0.25rem !important; }
+ .mr-md-1,
+ .mx-md-1 {
+ margin-right: 0.25rem !important; }
+ .mb-md-1,
+ .my-md-1 {
+ margin-bottom: 0.25rem !important; }
+ .ml-md-1,
+ .mx-md-1 {
+ margin-left: 0.25rem !important; }
+ .m-md-2 {
+ margin: 0.5rem !important; }
+ .mt-md-2,
+ .my-md-2 {
+ margin-top: 0.5rem !important; }
+ .mr-md-2,
+ .mx-md-2 {
+ margin-right: 0.5rem !important; }
+ .mb-md-2,
+ .my-md-2 {
+ margin-bottom: 0.5rem !important; }
+ .ml-md-2,
+ .mx-md-2 {
+ margin-left: 0.5rem !important; }
+ .m-md-3 {
+ margin: 1rem !important; }
+ .mt-md-3,
+ .my-md-3 {
+ margin-top: 1rem !important; }
+ .mr-md-3,
+ .mx-md-3 {
+ margin-right: 1rem !important; }
+ .mb-md-3,
+ .my-md-3 {
+ margin-bottom: 1rem !important; }
+ .ml-md-3,
+ .mx-md-3 {
+ margin-left: 1rem !important; }
+ .m-md-4 {
+ margin: 1.5rem !important; }
+ .mt-md-4,
+ .my-md-4 {
+ margin-top: 1.5rem !important; }
+ .mr-md-4,
+ .mx-md-4 {
+ margin-right: 1.5rem !important; }
+ .mb-md-4,
+ .my-md-4 {
+ margin-bottom: 1.5rem !important; }
+ .ml-md-4,
+ .mx-md-4 {
+ margin-left: 1.5rem !important; }
+ .m-md-5 {
+ margin: 3rem !important; }
+ .mt-md-5,
+ .my-md-5 {
+ margin-top: 3rem !important; }
+ .mr-md-5,
+ .mx-md-5 {
+ margin-right: 3rem !important; }
+ .mb-md-5,
+ .my-md-5 {
+ margin-bottom: 3rem !important; }
+ .ml-md-5,
+ .mx-md-5 {
+ margin-left: 3rem !important; }
+ .p-md-0 {
+ padding: 0 !important; }
+ .pt-md-0,
+ .py-md-0 {
+ padding-top: 0 !important; }
+ .pr-md-0,
+ .px-md-0 {
+ padding-right: 0 !important; }
+ .pb-md-0,
+ .py-md-0 {
+ padding-bottom: 0 !important; }
+ .pl-md-0,
+ .px-md-0 {
+ padding-left: 0 !important; }
+ .p-md-1 {
+ padding: 0.25rem !important; }
+ .pt-md-1,
+ .py-md-1 {
+ padding-top: 0.25rem !important; }
+ .pr-md-1,
+ .px-md-1 {
+ padding-right: 0.25rem !important; }
+ .pb-md-1,
+ .py-md-1 {
+ padding-bottom: 0.25rem !important; }
+ .pl-md-1,
+ .px-md-1 {
+ padding-left: 0.25rem !important; }
+ .p-md-2 {
+ padding: 0.5rem !important; }
+ .pt-md-2,
+ .py-md-2 {
+ padding-top: 0.5rem !important; }
+ .pr-md-2,
+ .px-md-2 {
+ padding-right: 0.5rem !important; }
+ .pb-md-2,
+ .py-md-2 {
+ padding-bottom: 0.5rem !important; }
+ .pl-md-2,
+ .px-md-2 {
+ padding-left: 0.5rem !important; }
+ .p-md-3 {
+ padding: 1rem !important; }
+ .pt-md-3,
+ .py-md-3 {
+ padding-top: 1rem !important; }
+ .pr-md-3,
+ .px-md-3 {
+ padding-right: 1rem !important; }
+ .pb-md-3,
+ .py-md-3 {
+ padding-bottom: 1rem !important; }
+ .pl-md-3,
+ .px-md-3 {
+ padding-left: 1rem !important; }
+ .p-md-4 {
+ padding: 1.5rem !important; }
+ .pt-md-4,
+ .py-md-4 {
+ padding-top: 1.5rem !important; }
+ .pr-md-4,
+ .px-md-4 {
+ padding-right: 1.5rem !important; }
+ .pb-md-4,
+ .py-md-4 {
+ padding-bottom: 1.5rem !important; }
+ .pl-md-4,
+ .px-md-4 {
+ padding-left: 1.5rem !important; }
+ .p-md-5 {
+ padding: 3rem !important; }
+ .pt-md-5,
+ .py-md-5 {
+ padding-top: 3rem !important; }
+ .pr-md-5,
+ .px-md-5 {
+ padding-right: 3rem !important; }
+ .pb-md-5,
+ .py-md-5 {
+ padding-bottom: 3rem !important; }
+ .pl-md-5,
+ .px-md-5 {
+ padding-left: 3rem !important; }
+ .m-md-auto {
+ margin: auto !important; }
+ .mt-md-auto,
+ .my-md-auto {
+ margin-top: auto !important; }
+ .mr-md-auto,
+ .mx-md-auto {
+ margin-right: auto !important; }
+ .mb-md-auto,
+ .my-md-auto {
+ margin-bottom: auto !important; }
+ .ml-md-auto,
+ .mx-md-auto {
+ margin-left: auto !important; } }
+
+@media (min-width: 992px) {
+ .m-lg-0 {
+ margin: 0 !important; }
+ .mt-lg-0,
+ .my-lg-0 {
+ margin-top: 0 !important; }
+ .mr-lg-0,
+ .mx-lg-0 {
+ margin-right: 0 !important; }
+ .mb-lg-0,
+ .my-lg-0 {
+ margin-bottom: 0 !important; }
+ .ml-lg-0,
+ .mx-lg-0 {
+ margin-left: 0 !important; }
+ .m-lg-1 {
+ margin: 0.25rem !important; }
+ .mt-lg-1,
+ .my-lg-1 {
+ margin-top: 0.25rem !important; }
+ .mr-lg-1,
+ .mx-lg-1 {
+ margin-right: 0.25rem !important; }
+ .mb-lg-1,
+ .my-lg-1 {
+ margin-bottom: 0.25rem !important; }
+ .ml-lg-1,
+ .mx-lg-1 {
+ margin-left: 0.25rem !important; }
+ .m-lg-2 {
+ margin: 0.5rem !important; }
+ .mt-lg-2,
+ .my-lg-2 {
+ margin-top: 0.5rem !important; }
+ .mr-lg-2,
+ .mx-lg-2 {
+ margin-right: 0.5rem !important; }
+ .mb-lg-2,
+ .my-lg-2 {
+ margin-bottom: 0.5rem !important; }
+ .ml-lg-2,
+ .mx-lg-2 {
+ margin-left: 0.5rem !important; }
+ .m-lg-3 {
+ margin: 1rem !important; }
+ .mt-lg-3,
+ .my-lg-3 {
+ margin-top: 1rem !important; }
+ .mr-lg-3,
+ .mx-lg-3 {
+ margin-right: 1rem !important; }
+ .mb-lg-3,
+ .my-lg-3 {
+ margin-bottom: 1rem !important; }
+ .ml-lg-3,
+ .mx-lg-3 {
+ margin-left: 1rem !important; }
+ .m-lg-4 {
+ margin: 1.5rem !important; }
+ .mt-lg-4,
+ .my-lg-4 {
+ margin-top: 1.5rem !important; }
+ .mr-lg-4,
+ .mx-lg-4 {
+ margin-right: 1.5rem !important; }
+ .mb-lg-4,
+ .my-lg-4 {
+ margin-bottom: 1.5rem !important; }
+ .ml-lg-4,
+ .mx-lg-4 {
+ margin-left: 1.5rem !important; }
+ .m-lg-5 {
+ margin: 3rem !important; }
+ .mt-lg-5,
+ .my-lg-5 {
+ margin-top: 3rem !important; }
+ .mr-lg-5,
+ .mx-lg-5 {
+ margin-right: 3rem !important; }
+ .mb-lg-5,
+ .my-lg-5 {
+ margin-bottom: 3rem !important; }
+ .ml-lg-5,
+ .mx-lg-5 {
+ margin-left: 3rem !important; }
+ .p-lg-0 {
+ padding: 0 !important; }
+ .pt-lg-0,
+ .py-lg-0 {
+ padding-top: 0 !important; }
+ .pr-lg-0,
+ .px-lg-0 {
+ padding-right: 0 !important; }
+ .pb-lg-0,
+ .py-lg-0 {
+ padding-bottom: 0 !important; }
+ .pl-lg-0,
+ .px-lg-0 {
+ padding-left: 0 !important; }
+ .p-lg-1 {
+ padding: 0.25rem !important; }
+ .pt-lg-1,
+ .py-lg-1 {
+ padding-top: 0.25rem !important; }
+ .pr-lg-1,
+ .px-lg-1 {
+ padding-right: 0.25rem !important; }
+ .pb-lg-1,
+ .py-lg-1 {
+ padding-bottom: 0.25rem !important; }
+ .pl-lg-1,
+ .px-lg-1 {
+ padding-left: 0.25rem !important; }
+ .p-lg-2 {
+ padding: 0.5rem !important; }
+ .pt-lg-2,
+ .py-lg-2 {
+ padding-top: 0.5rem !important; }
+ .pr-lg-2,
+ .px-lg-2 {
+ padding-right: 0.5rem !important; }
+ .pb-lg-2,
+ .py-lg-2 {
+ padding-bottom: 0.5rem !important; }
+ .pl-lg-2,
+ .px-lg-2 {
+ padding-left: 0.5rem !important; }
+ .p-lg-3 {
+ padding: 1rem !important; }
+ .pt-lg-3,
+ .py-lg-3 {
+ padding-top: 1rem !important; }
+ .pr-lg-3,
+ .px-lg-3 {
+ padding-right: 1rem !important; }
+ .pb-lg-3,
+ .py-lg-3 {
+ padding-bottom: 1rem !important; }
+ .pl-lg-3,
+ .px-lg-3 {
+ padding-left: 1rem !important; }
+ .p-lg-4 {
+ padding: 1.5rem !important; }
+ .pt-lg-4,
+ .py-lg-4 {
+ padding-top: 1.5rem !important; }
+ .pr-lg-4,
+ .px-lg-4 {
+ padding-right: 1.5rem !important; }
+ .pb-lg-4,
+ .py-lg-4 {
+ padding-bottom: 1.5rem !important; }
+ .pl-lg-4,
+ .px-lg-4 {
+ padding-left: 1.5rem !important; }
+ .p-lg-5 {
+ padding: 3rem !important; }
+ .pt-lg-5,
+ .py-lg-5 {
+ padding-top: 3rem !important; }
+ .pr-lg-5,
+ .px-lg-5 {
+ padding-right: 3rem !important; }
+ .pb-lg-5,
+ .py-lg-5 {
+ padding-bottom: 3rem !important; }
+ .pl-lg-5,
+ .px-lg-5 {
+ padding-left: 3rem !important; }
+ .m-lg-auto {
+ margin: auto !important; }
+ .mt-lg-auto,
+ .my-lg-auto {
+ margin-top: auto !important; }
+ .mr-lg-auto,
+ .mx-lg-auto {
+ margin-right: auto !important; }
+ .mb-lg-auto,
+ .my-lg-auto {
+ margin-bottom: auto !important; }
+ .ml-lg-auto,
+ .mx-lg-auto {
+ margin-left: auto !important; } }
+
+@media (min-width: 1200px) {
+ .m-xl-0 {
+ margin: 0 !important; }
+ .mt-xl-0,
+ .my-xl-0 {
+ margin-top: 0 !important; }
+ .mr-xl-0,
+ .mx-xl-0 {
+ margin-right: 0 !important; }
+ .mb-xl-0,
+ .my-xl-0 {
+ margin-bottom: 0 !important; }
+ .ml-xl-0,
+ .mx-xl-0 {
+ margin-left: 0 !important; }
+ .m-xl-1 {
+ margin: 0.25rem !important; }
+ .mt-xl-1,
+ .my-xl-1 {
+ margin-top: 0.25rem !important; }
+ .mr-xl-1,
+ .mx-xl-1 {
+ margin-right: 0.25rem !important; }
+ .mb-xl-1,
+ .my-xl-1 {
+ margin-bottom: 0.25rem !important; }
+ .ml-xl-1,
+ .mx-xl-1 {
+ margin-left: 0.25rem !important; }
+ .m-xl-2 {
+ margin: 0.5rem !important; }
+ .mt-xl-2,
+ .my-xl-2 {
+ margin-top: 0.5rem !important; }
+ .mr-xl-2,
+ .mx-xl-2 {
+ margin-right: 0.5rem !important; }
+ .mb-xl-2,
+ .my-xl-2 {
+ margin-bottom: 0.5rem !important; }
+ .ml-xl-2,
+ .mx-xl-2 {
+ margin-left: 0.5rem !important; }
+ .m-xl-3 {
+ margin: 1rem !important; }
+ .mt-xl-3,
+ .my-xl-3 {
+ margin-top: 1rem !important; }
+ .mr-xl-3,
+ .mx-xl-3 {
+ margin-right: 1rem !important; }
+ .mb-xl-3,
+ .my-xl-3 {
+ margin-bottom: 1rem !important; }
+ .ml-xl-3,
+ .mx-xl-3 {
+ margin-left: 1rem !important; }
+ .m-xl-4 {
+ margin: 1.5rem !important; }
+ .mt-xl-4,
+ .my-xl-4 {
+ margin-top: 1.5rem !important; }
+ .mr-xl-4,
+ .mx-xl-4 {
+ margin-right: 1.5rem !important; }
+ .mb-xl-4,
+ .my-xl-4 {
+ margin-bottom: 1.5rem !important; }
+ .ml-xl-4,
+ .mx-xl-4 {
+ margin-left: 1.5rem !important; }
+ .m-xl-5 {
+ margin: 3rem !important; }
+ .mt-xl-5,
+ .my-xl-5 {
+ margin-top: 3rem !important; }
+ .mr-xl-5,
+ .mx-xl-5 {
+ margin-right: 3rem !important; }
+ .mb-xl-5,
+ .my-xl-5 {
+ margin-bottom: 3rem !important; }
+ .ml-xl-5,
+ .mx-xl-5 {
+ margin-left: 3rem !important; }
+ .p-xl-0 {
+ padding: 0 !important; }
+ .pt-xl-0,
+ .py-xl-0 {
+ padding-top: 0 !important; }
+ .pr-xl-0,
+ .px-xl-0 {
+ padding-right: 0 !important; }
+ .pb-xl-0,
+ .py-xl-0 {
+ padding-bottom: 0 !important; }
+ .pl-xl-0,
+ .px-xl-0 {
+ padding-left: 0 !important; }
+ .p-xl-1 {
+ padding: 0.25rem !important; }
+ .pt-xl-1,
+ .py-xl-1 {
+ padding-top: 0.25rem !important; }
+ .pr-xl-1,
+ .px-xl-1 {
+ padding-right: 0.25rem !important; }
+ .pb-xl-1,
+ .py-xl-1 {
+ padding-bottom: 0.25rem !important; }
+ .pl-xl-1,
+ .px-xl-1 {
+ padding-left: 0.25rem !important; }
+ .p-xl-2 {
+ padding: 0.5rem !important; }
+ .pt-xl-2,
+ .py-xl-2 {
+ padding-top: 0.5rem !important; }
+ .pr-xl-2,
+ .px-xl-2 {
+ padding-right: 0.5rem !important; }
+ .pb-xl-2,
+ .py-xl-2 {
+ padding-bottom: 0.5rem !important; }
+ .pl-xl-2,
+ .px-xl-2 {
+ padding-left: 0.5rem !important; }
+ .p-xl-3 {
+ padding: 1rem !important; }
+ .pt-xl-3,
+ .py-xl-3 {
+ padding-top: 1rem !important; }
+ .pr-xl-3,
+ .px-xl-3 {
+ padding-right: 1rem !important; }
+ .pb-xl-3,
+ .py-xl-3 {
+ padding-bottom: 1rem !important; }
+ .pl-xl-3,
+ .px-xl-3 {
+ padding-left: 1rem !important; }
+ .p-xl-4 {
+ padding: 1.5rem !important; }
+ .pt-xl-4,
+ .py-xl-4 {
+ padding-top: 1.5rem !important; }
+ .pr-xl-4,
+ .px-xl-4 {
+ padding-right: 1.5rem !important; }
+ .pb-xl-4,
+ .py-xl-4 {
+ padding-bottom: 1.5rem !important; }
+ .pl-xl-4,
+ .px-xl-4 {
+ padding-left: 1.5rem !important; }
+ .p-xl-5 {
+ padding: 3rem !important; }
+ .pt-xl-5,
+ .py-xl-5 {
+ padding-top: 3rem !important; }
+ .pr-xl-5,
+ .px-xl-5 {
+ padding-right: 3rem !important; }
+ .pb-xl-5,
+ .py-xl-5 {
+ padding-bottom: 3rem !important; }
+ .pl-xl-5,
+ .px-xl-5 {
+ padding-left: 3rem !important; }
+ .m-xl-auto {
+ margin: auto !important; }
+ .mt-xl-auto,
+ .my-xl-auto {
+ margin-top: auto !important; }
+ .mr-xl-auto,
+ .mx-xl-auto {
+ margin-right: auto !important; }
+ .mb-xl-auto,
+ .my-xl-auto {
+ margin-bottom: auto !important; }
+ .ml-xl-auto,
+ .mx-xl-auto {
+ margin-left: auto !important; } }
+
+.text-justify {
+ text-align: justify !important; }
+
+.text-nowrap {
+ white-space: nowrap !important; }
+
+.text-truncate {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap; }
+
+.text-left {
+ text-align: left !important; }
+
+.text-right {
+ text-align: right !important; }
+
+.text-center {
+ text-align: center !important; }
+
+@media (min-width: 576px) {
+ .text-sm-left {
+ text-align: left !important; }
+ .text-sm-right {
+ text-align: right !important; }
+ .text-sm-center {
+ text-align: center !important; } }
+
+@media (min-width: 768px) {
+ .text-md-left {
+ text-align: left !important; }
+ .text-md-right {
+ text-align: right !important; }
+ .text-md-center {
+ text-align: center !important; } }
+
+@media (min-width: 992px) {
+ .text-lg-left {
+ text-align: left !important; }
+ .text-lg-right {
+ text-align: right !important; }
+ .text-lg-center {
+ text-align: center !important; } }
+
+@media (min-width: 1200px) {
+ .text-xl-left {
+ text-align: left !important; }
+ .text-xl-right {
+ text-align: right !important; }
+ .text-xl-center {
+ text-align: center !important; } }
+
+.text-lowercase {
+ text-transform: lowercase !important; }
+
+.text-uppercase {
+ text-transform: uppercase !important; }
+
+.text-capitalize {
+ text-transform: capitalize !important; }
+
+.font-weight-light {
+ font-weight: 300 !important; }
+
+.font-weight-normal {
+ font-weight: 400 !important; }
+
+.font-weight-bold {
+ font-weight: 700 !important; }
+
+.font-italic {
+ font-style: italic !important; }
+
+.text-white {
+ color: #fff !important; }
+
+.text-primary {
+ color: #0075b4 !important; }
+
+a.text-primary:hover, a.text-primary:focus {
+ color: #005481 !important; }
+
+.text-secondary {
+ color: #313131 !important; }
+
+a.text-secondary:hover, a.text-secondary:focus {
+ color: #181818 !important; }
+
+.text-success {
+ color: #008100 !important; }
+
+a.text-success:hover, a.text-success:focus {
+ color: #004e00 !important; }
+
+.text-info {
+ color: #17a2b8 !important; }
+
+a.text-info:hover, a.text-info:focus {
+ color: #117a8b !important; }
+
+.text-warning {
+ color: #e2c01f !important; }
+
+a.text-warning:hover, a.text-warning:focus {
+ color: #b69b18 !important; }
+
+.text-danger {
+ color: #b20610 !important; }
+
+a.text-danger:hover, a.text-danger:focus {
+ color: #81040c !important; }
+
+.text-light {
+ color: #e7e7e7 !important; }
+
+a.text-light:hover, a.text-light:focus {
+ color: #cecece !important; }
+
+.text-dark {
+ color: #313131 !important; }
+
+a.text-dark:hover, a.text-dark:focus {
+ color: #181818 !important; }
+
+.text-inverse {
+ color: #fff !important; }
+
+a.text-inverse:hover, a.text-inverse:focus {
+ color: #e6e6e6 !important; }
+
+.text-disabled {
+ color: #767676 !important; }
+
+a.text-disabled:hover, a.text-disabled:focus {
+ color: #5d5d5d !important; }
+
+.text-purchase {
+ color: #008100 !important; }
+
+a.text-purchase:hover, a.text-purchase:focus {
+ color: #004e00 !important; }
+
+.text-lightest {
+ color: #f5f5f5 !important; }
+
+a.text-lightest:hover, a.text-lightest:focus {
+ color: gainsboro !important; }
+
+.text-darker {
+ color: #111 !important; }
+
+a.text-darker:hover, a.text-darker:focus {
+ color: black !important; }
+
+.text-darkest {
+ color: #000 !important; }
+
+a.text-darkest:hover, a.text-darkest:focus {
+ color: black !important; }
+
+.text-muted {
+ color: #767676 !important; }
+
+.text-hide {
+ font: 0/0 a;
+ color: transparent;
+ text-shadow: none;
+ background-color: transparent;
+ border: 0; }
+
+.visible {
+ visibility: visible !important; }
+
+.invisible {
+ visibility: hidden !important; }
+
+.badge {
+ display: inline-block;
+ padding: 0.25em 0.4em;
+ font-size: 75%;
+ font-weight: 700;
+ line-height: 1;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: baseline;
+ -webkit-border-radius: 0.1875rem;
+ -moz-border-radius: 0.1875rem;
+ -ms-border-radius: 0.1875rem;
+ -o-border-radius: 0.1875rem;
+ border-radius: 0.1875rem; }
+ .badge:empty {
+ display: none; }
+
+.btn .badge {
+ position: relative;
+ top: -1px; }
+
+.badge-pill {
+ padding-right: 0.6em;
+ padding-left: 0.6em;
+ -webkit-border-radius: 10rem;
+ -moz-border-radius: 10rem;
+ -ms-border-radius: 10rem;
+ -o-border-radius: 10rem;
+ border-radius: 10rem; }
+
+.badge-primary {
+ color: #fff;
+ background-color: #0075b4; }
+ .badge-primary[href]:hover, .badge-primary[href]:focus {
+ color: #fff;
+ text-decoration: none;
+ background-color: #005481; }
+
+.badge-secondary {
+ color: #fff;
+ background-color: #313131; }
+ .badge-secondary[href]:hover, .badge-secondary[href]:focus {
+ color: #fff;
+ text-decoration: none;
+ background-color: #181818; }
+
+.badge-success {
+ color: #fff;
+ background-color: #008100; }
+ .badge-success[href]:hover, .badge-success[href]:focus {
+ color: #fff;
+ text-decoration: none;
+ background-color: #004e00; }
+
+.badge-info {
+ color: #fff;
+ background-color: #17a2b8; }
+ .badge-info[href]:hover, .badge-info[href]:focus {
+ color: #fff;
+ text-decoration: none;
+ background-color: #117a8b; }
+
+.badge-warning {
+ color: #111;
+ background-color: #e2c01f; }
+ .badge-warning[href]:hover, .badge-warning[href]:focus {
+ color: #111;
+ text-decoration: none;
+ background-color: #b69b18; }
+
+.badge-danger {
+ color: #fff;
+ background-color: #b20610; }
+ .badge-danger[href]:hover, .badge-danger[href]:focus {
+ color: #fff;
+ text-decoration: none;
+ background-color: #81040c; }
+
+.badge-light {
+ color: #111;
+ background-color: #e7e7e7; }
+ .badge-light[href]:hover, .badge-light[href]:focus {
+ color: #111;
+ text-decoration: none;
+ background-color: #cecece; }
+
+.badge-dark {
+ color: #fff;
+ background-color: #313131; }
+ .badge-dark[href]:hover, .badge-dark[href]:focus {
+ color: #fff;
+ text-decoration: none;
+ background-color: #181818; }
+
+.badge-inverse {
+ color: #111;
+ background-color: #fff; }
+ .badge-inverse[href]:hover, .badge-inverse[href]:focus {
+ color: #111;
+ text-decoration: none;
+ background-color: #e6e6e6; }
+
+.badge-disabled {
+ color: #fff;
+ background-color: #767676; }
+ .badge-disabled[href]:hover, .badge-disabled[href]:focus {
+ color: #fff;
+ text-decoration: none;
+ background-color: #5d5d5d; }
+
+.badge-purchase {
+ color: #fff;
+ background-color: #008100; }
+ .badge-purchase[href]:hover, .badge-purchase[href]:focus {
+ color: #fff;
+ text-decoration: none;
+ background-color: #004e00; }
+
+.badge-lightest {
+ color: #111;
+ background-color: #f5f5f5; }
+ .badge-lightest[href]:hover, .badge-lightest[href]:focus {
+ color: #111;
+ text-decoration: none;
+ background-color: gainsboro; }
+
+.badge-darker {
+ color: #fff;
+ background-color: #111; }
+ .badge-darker[href]:hover, .badge-darker[href]:focus {
+ color: #fff;
+ text-decoration: none;
+ background-color: black; }
+
+.badge-darkest {
+ color: #fff;
+ background-color: #000; }
+ .badge-darkest[href]:hover, .badge-darkest[href]:focus {
+ color: #fff;
+ text-decoration: none;
+ background-color: black; }
+
+.popover {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 1060;
+ display: block;
+ max-width: 276px;
+ font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-style: normal;
+ font-weight: 400;
+ line-height: 1.5;
+ text-align: left;
+ text-align: start;
+ text-decoration: none;
+ text-shadow: none;
+ text-transform: none;
+ letter-spacing: normal;
+ word-break: normal;
+ word-spacing: normal;
+ white-space: normal;
+ line-break: auto;
+ font-size: 0.875rem;
+ word-wrap: break-word;
+ background-color: #fff;
+ background-clip: padding-box;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ -webkit-border-radius: 0.1875rem;
+ -moz-border-radius: 0.1875rem;
+ -ms-border-radius: 0.1875rem;
+ -o-border-radius: 0.1875rem;
+ border-radius: 0.1875rem; }
+ .popover .arrow {
+ position: absolute;
+ display: block;
+ width: 1rem;
+ height: 0.5rem;
+ margin: 0 0.1875rem; }
+ .popover .arrow::before, .popover .arrow::after {
+ position: absolute;
+ display: block;
+ content: "";
+ border-color: transparent;
+ border-style: solid; }
+
+.bs-popover-top, .bs-popover-auto[x-placement^="top"] {
+ margin-bottom: 0.5rem; }
+ .bs-popover-top .arrow, .bs-popover-auto[x-placement^="top"] .arrow {
+ bottom: calc((0.5rem + 1px) * -1); }
+ .bs-popover-top .arrow::before, .bs-popover-auto[x-placement^="top"] .arrow::before,
+ .bs-popover-top .arrow::after, .bs-popover-auto[x-placement^="top"] .arrow::after {
+ border-width: 0.5rem 0.5rem 0; }
+ .bs-popover-top .arrow::before, .bs-popover-auto[x-placement^="top"] .arrow::before {
+ bottom: 0;
+ border-top-color: rgba(0, 0, 0, 0.25); }
+ .bs-popover-top .arrow::after, .bs-popover-auto[x-placement^="top"] .arrow::after {
+ bottom: 1px;
+ border-top-color: #fff; }
+
+.bs-popover-right, .bs-popover-auto[x-placement^="right"] {
+ margin-left: 0.5rem; }
+ .bs-popover-right .arrow, .bs-popover-auto[x-placement^="right"] .arrow {
+ left: calc((0.5rem + 1px) * -1);
+ width: 0.5rem;
+ height: 1rem;
+ margin: 0.1875rem 0; }
+ .bs-popover-right .arrow::before, .bs-popover-auto[x-placement^="right"] .arrow::before,
+ .bs-popover-right .arrow::after, .bs-popover-auto[x-placement^="right"] .arrow::after {
+ border-width: 0.5rem 0.5rem 0.5rem 0; }
+ .bs-popover-right .arrow::before, .bs-popover-auto[x-placement^="right"] .arrow::before {
+ left: 0;
+ border-right-color: rgba(0, 0, 0, 0.25); }
+ .bs-popover-right .arrow::after, .bs-popover-auto[x-placement^="right"] .arrow::after {
+ left: 1px;
+ border-right-color: #fff; }
+
+.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] {
+ margin-top: 0.5rem; }
+ .bs-popover-bottom .arrow, .bs-popover-auto[x-placement^="bottom"] .arrow {
+ top: calc((0.5rem + 1px) * -1); }
+ .bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^="bottom"] .arrow::before,
+ .bs-popover-bottom .arrow::after, .bs-popover-auto[x-placement^="bottom"] .arrow::after {
+ border-width: 0 0.5rem 0.5rem 0.5rem; }
+ .bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^="bottom"] .arrow::before {
+ top: 0;
+ border-bottom-color: rgba(0, 0, 0, 0.25); }
+ .bs-popover-bottom .arrow::after, .bs-popover-auto[x-placement^="bottom"] .arrow::after {
+ top: 1px;
+ border-bottom-color: #fff; }
+ .bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before {
+ position: absolute;
+ top: 0;
+ left: 50%;
+ display: block;
+ width: 1rem;
+ margin-left: -0.5rem;
+ content: "";
+ border-bottom: 1px solid #f7f7f7; }
+
+.bs-popover-left, .bs-popover-auto[x-placement^="left"] {
+ margin-right: 0.5rem; }
+ .bs-popover-left .arrow, .bs-popover-auto[x-placement^="left"] .arrow {
+ right: calc((0.5rem + 1px) * -1);
+ width: 0.5rem;
+ height: 1rem;
+ margin: 0.1875rem 0; }
+ .bs-popover-left .arrow::before, .bs-popover-auto[x-placement^="left"] .arrow::before,
+ .bs-popover-left .arrow::after, .bs-popover-auto[x-placement^="left"] .arrow::after {
+ border-width: 0.5rem 0 0.5rem 0.5rem; }
+ .bs-popover-left .arrow::before, .bs-popover-auto[x-placement^="left"] .arrow::before {
+ right: 0;
+ border-left-color: rgba(0, 0, 0, 0.25); }
+ .bs-popover-left .arrow::after, .bs-popover-auto[x-placement^="left"] .arrow::after {
+ right: 1px;
+ border-left-color: #fff; }
+
+.popover-header {
+ padding: 0.5rem 0.75rem;
+ margin-bottom: 0;
+ font-size: 1rem;
+ color: inherit;
+ background-color: #f7f7f7;
+ border-bottom: 1px solid #ebebeb;
+ -webkit-border-top-right-radius: calc(0.1875rem - 1px);
+ -moz-border-topright-radius: calc(0.1875rem - 1px);
+ border-top-right-radius: calc(0.1875rem - 1px);
+ -webkit-border-top-left-radius: calc(0.1875rem - 1px);
+ -moz-border-topleft-radius: calc(0.1875rem - 1px);
+ border-top-left-radius: calc(0.1875rem - 1px); }
+ .popover-header:empty {
+ display: none; }
+
+.popover-body {
+ padding: 0.5rem 0.75rem;
+ color: #313131; }
+
+/*
+ * In pursuit of decoupling the built-in XBlocks from edx-platform's Sass build
+ * and ensuring comprehensive theming support in the extracted XBlocks,
+ * we need to expose Sass variables as CSS variables.
+ *
+ * Ticket/Issue: https://github.com/openedx/edx-platform/issues/35173
+ */
+/* stylelint-disable-line */
+/* stylelint-disable-line */
+.btn-default:disabled, .btn-primary:disabled, .btn-brand:disabled, .btn-upgrade:disabled, .is-disabled.btn-default, .is-disabled.btn-primary, .is-disabled.btn-brand, .is-disabled.btn-upgrade {
+ pointer-events: none;
+ outline: none;
+ cursor: not-allowed; }
+
+.btn-small.btn-default, .btn-small.btn-primary, .btn-small.btn-brand, .btn-small.btn-upgrade {
+ padding: 0.625rem;
+ font-size: 14px; }
+
+:root {
+ --action-primary-active-bg: #0075b4;
+ --actions-dropdown-width: 145px;
+ --actions-dropdown-offset: 100px;
+ --base-font-size: 18px;
+ --base-line-height: 1.5em;
+ --baseline: 20px;
+ --black: #000;
+ --black-t2: rgba(0, 0, 0, 0.5);
+ --blue: #0075b4;
+ --blue-d1: #005e90;
+ --blue-d2: #00466c;
+ --blue-d4: #001724;
+ --blue-s1: #0075b4;
+ --body-color: #313131;
+ --border-color: #e7e7e7;
+ --border-color-4: #fcfcfc;
+ --bp-screen-lg: 1024px;
+ --btn-brand-focus-background: #065683;
+ --correct: #008100;
+ --comment-image-dimension: calc(var(--baseline) * 2);
+ --danger: #b20610;
+ --darkGrey: #8891a1;
+ --error-color: #cb0712;
+ --error-color-dark: #95050d;
+ --error-color-light: #f95861;
+ --font-bold: 700;
+ --font-family-sans-serif: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
+ --forum-color-active-thread: var(--forum-color-primary);
+ --forum-color-hover: #065683;
+ --forum-color-active-text: var(--white);
+ --forum-color-background: #fff;
+ --forum-x-large-font-size: 21px;
+ --forum-color-copy-light: #414141;
+ --forum-large-font-size: 16px;
+ --forum-border-radius: 3px;
+ --forum-base-font-size: 14px;
+ --forum-small-font-size: 12px;
+ --forum-color-border: var(--gray-300);
+ --forum-color-background-light: whitesmoke;
+ --forum-color-editor-preview-label: var(--forum-color-copy-light);
+ --forum-color-following: var(--forum-color-primary);
+ --forum-color-error: #b20610;
+ --forum-color-pinned: #982c62;
+ --forum-color-reported: #982c62;
+ --forum-color-closed: var(--black);
+ --forum-color-staff: var(--forum-color-primary);
+ --forum-color-community-ta: var(--green);
+ --forum-color-response-count: var(--forum-color-copy-light);
+ --forum-color-read-post: var(--forum-color-copy-light);
+ --forum-color-hover-thread: var(--forum-color-background-light);
+ --forum-color-reading-thread: var(--forum-color-background-light);
+ --forum-color-never-read-post: var(--forum-color-primary);
+ --forum-color-navigation-bar: var(--forum-color-background-light);
+ --forum-color-primary: #0075b4;
+ --general-color-accent: #0075b4;
+ --green: #008100;
+ --gray: #767676;
+ --gray-300: #d9d9d9;
+ --gray-d1: #5e5e5e;
+ --gray-l2: #adadad;
+ --gray-l3: #c8c8c8;
+ --gray-l4: #e4e4e4;
+ --gray-l6: #f8f8f8;
+ --icon-correct: url("../images/correct-icon.png");
+ --icon-incorrect: url("../images/incorrect-icon.png");
+ --icon-info: url("../images/info-icon.png");
+ --icon-partially-correct: url("../images/partially-correct-icon.png");
+ --icon-spinner: url("../images/spinner.gif");
+ --icon-unanswered: url("../images/unanswered-icon.png");
+ --incorrect: #b20610;
+ --lightGrey: #edf1f5;
+ --lighter-base-font-color: #646464;
+ --link-color: #1b6d99;
+ --line-height-base: 1.5;
+ --medium-font-size: 0.9em;
+ --pink: #c2387d;
+ --partially-correct: #008100;
+ --primary: #0075b4;
+ --post-image-dimension: calc(var(--baseline) * 3);
+ --response-image-dimension: calc(var(--baseline) * 2.5);
+ --shadow: rgba(0, 0, 0, 0.2);
+ --shadow-l1: rgba(0, 0, 0, 0.1);
+ --sidebar-color: #f6f6f6;
+ --small-font-size: 80%;
+ --submitted: #0075b4;
+ --success: #008100;
+ --serif: Georgia, Cambria, "Times New Roman", Times, serif;
+ --tmg-f2: 0.25s;
+ --tmg-s2: 2s;
+ --transparent: transparent;
+ --uxpl-gray-background: #d9d9d9;
+ --uxpl-gray-base: #414141;
+ --uxpl-gray-dark: #111111;
+ --very-light-text: white;
+ --warning: #e2c01f;
+ --warning-color: #ffc01f;
+ --warning-color-accent: #fffcdd;
+ --white: #fff;
+ --yellow: #e2c01f; }
+
+/* stylelint-disable-line */
+/* stylelint-disable-line */
+/* HTML5 Boilerplate */
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+nav,
+section {
+ display: block; }
+
+audio,
+canvas,
+video {
+ display: inline-block;
+ *display: inline;
+ *zoom: 1; }
+
+audio:not([controls]) {
+ display: none; }
+
+[hidden] {
+ display: none; }
+
+html {
+ font-size: 100%;
+ -webkit-text-size-adjust: 100%;
+ -ms-text-size-adjust: 100%; }
+
+html,
+button,
+input,
+select,
+textarea {
+ font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
+ color: #222; }
+
+body {
+ margin: 0;
+ font-size: 1em;
+ line-height: 1.4; }
+
+a:not(.btn) {
+ color: #1b6d99; }
+
+a:visited:not(.btn) {
+ color: #003655; }
+
+a:hover:not(.btn),
+a:focus:not(.btn) {
+ color: #0079bc; }
+
+abbr[title] {
+ border-bottom: 1px dotted; }
+
+b,
+strong {
+ font-weight: bold; }
+
+blockquote {
+ margin: 1em 40px; }
+
+dfn {
+ font-style: italic; }
+
+hr {
+ display: block;
+ height: 1px;
+ border: 0;
+ border-top: 1px solid #ccc;
+ margin: 1em 0;
+ padding: 0; }
+
+ins {
+ background: #ff9;
+ color: #000;
+ text-decoration: none; }
+
+mark {
+ background: #ff0;
+ color: #000;
+ font-style: italic;
+ font-weight: bold; }
+
+pre,
+code,
+kbd,
+samp {
+ font-family: monospace, serif;
+ _font-family: 'courier new', monospace;
+ font-size: 1em; }
+
+pre {
+ white-space: pre;
+ white-space: pre-wrap;
+ word-wrap: break-word; }
+
+q {
+ quotes: none; }
+
+q::before,
+q::after {
+ content: "";
+ content: none; }
+
+small {
+ font-size: 85%; }
+
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline; }
+
+sup {
+ top: -0.5em; }
+
+sub {
+ bottom: -0.25em; }
+
+ul,
+ol {
+ padding: 0 0 0 40px;
+ margin: 1em 0; }
+
+dd {
+ margin: 0 0 0 40px; }
+
+nav ul,
+nav ol {
+ list-style: none;
+ margin: 0;
+ padding: 0; }
+
+img {
+ border: 0;
+ -ms-interpolation-mode: bicubic;
+ vertical-align: middle; }
+
+svg:not(:root) {
+ overflow: hidden; }
+
+figure {
+ margin: 0; }
+
+form {
+ margin: 0; }
+
+fieldset {
+ border: 0;
+ margin: 0;
+ padding: 0; }
+
+label {
+ cursor: pointer; }
+
+legend {
+ border: 0;
+ *margin-left: -7px;
+ padding: 0;
+ white-space: normal; }
+
+button,
+input,
+select,
+textarea {
+ font-size: 100%;
+ margin: 0;
+ vertical-align: baseline;
+ *vertical-align: middle; }
+
+button,
+input {
+ line-height: normal; }
+
+button,
+input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+ cursor: pointer;
+ -webkit-appearance: button;
+ *overflow: visible; }
+
+button[disabled],
+input[disabled] {
+ cursor: default; }
+
+input[type="checkbox"],
+input[type="radio"] {
+ box-sizing: border-box;
+ padding: 0;
+ *width: 13px;
+ *height: 13px; }
+
+input[type="search"] {
+ -webkit-appearance: textfield;
+ -moz-box-sizing: content-box;
+ -webkit-box-sizing: content-box;
+ box-sizing: content-box; }
+
+input[type="search"]::-webkit-search-decoration,
+input[type="search"]::-webkit-search-cancel-button {
+ -webkit-appearance: none; }
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0; }
+
+button:-moz-focusring {
+ outline: 1px dotted black; }
+
+textarea {
+ overflow: auto;
+ vertical-align: top;
+ resize: vertical; }
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0; }
+
+td {
+ vertical-align: top; }
+
+.chromeframe {
+ margin: 0.2em 0;
+ background: #ccc;
+ color: black;
+ padding: 0.2em 0; }
+
+.ir {
+ display: block;
+ border: 0;
+ text-indent: -999em;
+ overflow: hidden;
+ background-color: transparent;
+ background-repeat: no-repeat;
+ text-align: left;
+ direction: ltr;
+ *line-height: 0; }
+
+.ir br {
+ display: none; }
+
+.hidden {
+ display: none !important;
+ visibility: hidden; }
+
+.visuallyhidden {
+ border: 0;
+ clip: rect(0 0 0 0);
+ height: 1px;
+ margin: -1px;
+ overflow: hidden;
+ padding: 0;
+ position: absolute;
+ width: 1px; }
+
+.visuallyhidden.focusable:active,
+.visuallyhidden.focusable:focus {
+ clip: auto;
+ height: auto;
+ margin: 0;
+ overflow: visible;
+ position: static;
+ width: auto; }
+
+.invisible {
+ visibility: hidden; }
+
+.clearfix::before,
+.clearfix::after {
+ content: "";
+ display: table; }
+
+.clearfix::after {
+ clear: both; }
+
+.clearfix {
+ *zoom: 1; }
+
+@media print {
+ * {
+ background: transparent;
+ color: black !important;
+ box-shadow: none !important;
+ text-shadow: none !important;
+ filter: none !important;
+ -ms-filter: none !important; }
+ html,
+ body {
+ background: transparent !important; }
+ a,
+ a:visited {
+ text-decoration: underline; }
+ abbr[title]::after {
+ content: " (" attr(title) ")"; }
+ .ir a::after {
+ content: ""; }
+ pre,
+ blockquote {
+ border: 1px solid #999;
+ page-break-inside: avoid; }
+ thead {
+ display: table-header-group; }
+ tr,
+ img {
+ page-break-inside: avoid; }
+ img {
+ max-width: 100% !important; }
+ @page {
+ margin: 1cm 1.2cm 2cm; }
+ p,
+ h2,
+ h3 {
+ orphans: 3;
+ widows: 3; }
+ h2,
+ h3 {
+ page-break-after: avoid; } }
+
+/* stylelint-disable-line */
+/* stylelint-disable-line */
+.discussion .actions-dropdown {
+ z-index: 10; }
+
+.discussion-thread .discussion-article .thread-wrapper .discussion-post .inline-comment-count {
+ z-index: 100; }
+
+.discussion .post-actions-list,
+.discussion .response-actions-list,
+.discussion .comment-actions-list, .discussion .actions-dropdown, .discussion .responses, .discussion .comments {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+ text-indent: 0; }
+ .discussion .post-actions-list li,
+ .discussion .response-actions-list li,
+ .discussion .comment-actions-list li, .discussion .actions-dropdown li, .discussion .responses li, .discussion .comments li, .discussion .post-actions-list dt,
+ .discussion .response-actions-list dt,
+ .discussion .comment-actions-list dt, .discussion .actions-dropdown dt, .discussion .responses dt, .discussion .comments dt, .discussion .post-actions-list dd,
+ .discussion .response-actions-list dd,
+ .discussion .comment-actions-list dd, .discussion .actions-dropdown dd, .discussion .responses dd, .discussion .comments dd {
+ margin: 0;
+ padding: 0; }
+
+.btn-default:disabled, .btn-primary:disabled, .btn-brand:disabled, .btn-upgrade:disabled, .is-disabled.btn-default, .is-disabled.btn-primary, .is-disabled.btn-brand, .is-disabled.btn-upgrade {
+ pointer-events: none;
+ outline: none;
+ cursor: not-allowed; }
+
+.btn-small.btn-default, .btn-small.btn-primary, .btn-small.btn-brand, .btn-small.btn-upgrade {
+ padding: 0.625rem;
+ font-size: 14px; }
+
+.breadcrumbs {
+ font-size: 0.875rem;
+ line-height: line-height(small); }
+ .breadcrumbs .nav-item {
+ margin-left: 5px;
+ display: inline-block; }
+ @media (max-width: 1199.98px) {
+ .breadcrumbs .nav-item {
+ max-width: 240px; } }
+ @media (max-width: 767.98px) {
+ .breadcrumbs .nav-item {
+ max-width: 140px;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden; } }
+ @media (max-width: 575.98px) {
+ .breadcrumbs .nav-item:not(:first-child) {
+ max-width: 60px; } }
+ .breadcrumbs .nav-item.nav-item-course {
+ max-width: none; }
+ .breadcrumbs .nav-item a,
+ .breadcrumbs .nav-item a:visited {
+ color: #0075b4; }
+ .breadcrumbs .nav-item a:hover {
+ color: #065683; }
+ .breadcrumbs .fa-angle-right {
+ margin-left: 5px;
+ display: inline-block;
+ color: #313131; }
+ @media (max-width: 767.98px) {
+ .breadcrumbs .fa-angle-right {
+ position: relative;
+ top: -5px; } }
+ .breadcrumbs .fa-angle-right:last-child {
+ display: none; }
+
+.btn-default, .btn-primary, .btn-brand, .btn-upgrade {
+ display: inline-block;
+ background-color: transparent;
+ background-image: none;
+ border-style: solid;
+ border-radius: 0.1875rem;
+ border-width: 1px;
+ box-shadow: none;
+ padding: 0.625rem 1.25rem;
+ font-size: 16px;
+ font-weight: normal;
+ text-shadow: none;
+ text-transform: capitalize; }
+ .block.btn-default, .block.btn-primary, .block.btn-brand, .block.btn-upgrade {
+ display: block;
+ width: 100%; }
+ .btn-default .icon, .btn-primary .icon, .btn-brand .icon, .btn-upgrade .icon {
+ display: inline-block;
+ vertical-align: baseline; }
+ .btn-default .icon:only-child, .btn-primary .icon:only-child, .btn-brand .icon:only-child, .btn-upgrade .icon:only-child,
+ .sr-only + .btn-default .icon,
+ .sr-only + .btn-primary .icon,
+ .sr-only + .btn-brand .icon,
+ .sr-only + .btn-upgrade .icon {
+ margin-right: 0; }
+
+.btn-default {
+ border-color: transparent;
+ background: transparent;
+ color: #0075b4; }
+ .btn-default:hover, .btn-default.is-hovered, .btn-default:focus, .btn-default.is-focused {
+ border-color: #0075b4;
+ background-color: transparent;
+ color: #0075b4; }
+ .btn-default:active, .btn-default.is-pressed, .btn-default.is-active {
+ border-color: #0075b4;
+ color: #0075b4; }
+ .btn-default:disabled, .btn-default.is-disabled {
+ border-color: #d2d0d0;
+ color: #6b6969; }
+
+.btn-primary, .btn-brand {
+ border-color: #0075b4;
+ background: #0075b4;
+ color: #fcfcfc; }
+ .btn-primary:hover, .btn-brand:hover, .btn-primary.is-hovered, .is-hovered.btn-brand, .btn-primary:focus, .btn-brand:focus, .btn-primary.is-focused, .is-focused.btn-brand {
+ border-color: #065683;
+ background-color: #065683;
+ color: #fcfcfc; }
+ .btn-primary:active, .btn-brand:active, .btn-primary.is-pressed, .is-pressed.btn-brand, .btn-primary.is-active, .is-active.btn-brand {
+ border-color: #0075b4;
+ background: #0075b4; }
+ .btn-primary:disabled, .btn-brand:disabled, .btn-primary.is-disabled, .is-disabled.btn-brand {
+ border-color: #d2d0d0;
+ background: #f2f3f3;
+ color: #676666; }
+
+.btn-upgrade {
+ border-color: #008100;
+ background: #008100;
+ color: #fcfcfc; }
+ .btn-upgrade:hover, .btn-upgrade.is-hovered, .btn-upgrade:focus, .btn-upgrade.is-focused {
+ border-color: #009b00;
+ background-color: #009b00;
+ color: #fcfcfc; }
+ .btn-upgrade:disabled, .btn-upgrade.is-disabled {
+ border-color: #d2d0d0;
+ background: #f2f3f3;
+ color: #fcfcfc; }
+
+.edx-cookie-banner-wrapper {
+ background: #f2f8fd;
+ box-sizing: border-box;
+ /** Base Styles - start **/
+ text-align: left;
+ line-height: 1.5;
+ font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 1rem;
+ font-weight: 400;
+ /** Base Styles - end **/ }
+ .edx-cookie-banner-wrapper .alert {
+ position: relative;
+ padding: 8px 20px; }
+ .edx-cookie-banner-wrapper .alert-dismissible .close {
+ position: absolute;
+ top: 0;
+ right: 0;
+ padding: 0.75rem 1.25rem;
+ background: transparent;
+ border: 0;
+ text-shadow: 0 1px 0 #fff;
+ opacity: 0.5;
+ float: right;
+ line-height: 1;
+ font-size: 1.5rem;
+ font-weight: 500; }
+ .edx-cookie-banner-wrapper .alert-dismissible .btn {
+ display: inline-block;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: middle; }
+ .edx-cookie-banner-wrapper .edx-cookie-banner {
+ box-sizing: border-box;
+ display: flex;
+ justify-content: space-between;
+ margin: 0 auto;
+ background: inherit;
+ border: none; }
+ .edx-cookie-banner-wrapper .edx-cookie-banner .policy-link {
+ color: #19291F;
+ text-decoration: underline; }
+ .edx-cookie-banner-wrapper .edx-cookie-banner .policy-link:focus, .edx-cookie-banner-wrapper .edx-cookie-banner .policy-link:hover {
+ color: #075683;
+ border: none; }
+ .edx-cookie-banner-wrapper .edx-cookie-banner .alert-dialog {
+ margin: auto;
+ color: #4e4e4e;
+ text-align: center;
+ max-width: 800px;
+ font-size: 14px; }
+ .edx-cookie-banner-wrapper .edx-cookie-banner .btn.close {
+ padding: 4px;
+ color: #19291F; }
+ .edx-cookie-banner-wrapper .edx-cookie-banner .btn.close:focus, .edx-cookie-banner-wrapper .edx-cookie-banner .btn.close:hover {
+ color: #075683;
+ cursor: pointer; }
+
+.discussion .responses .posted-by {
+ font-weight: 700; }
+
+.discussion-article .posted-details .username {
+ font-weight: 600; }
+
+.discussion .post-label, .discussion-article .posted-details, .discussion-post .post-context {
+ font-weight: 300; }
+
+.discussion-response .response-body, .discussion-post .post-body, .discussion .action-button .action-label, .discussion .actions-dropdown .action-list-item, .view-discussion-home .label, .view-discussion-home .home-description, .view-discussion-home .home-stats .stats-grouping .profile-stat, .discussion-article .posted-details, .discussion-comment .response-body, .discussion-post .post-context, .discussion .post-actions-list,
+.discussion .response-actions-list,
+.discussion .comment-actions-list {
+ font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; }
+
+.discussion-response .response-body, .discussion-post .post-body {
+ font-size: 14px;
+ line-height: 20.72px; }
+
+.discussion .action-button .action-label, .discussion .actions-dropdown .action-list-item, .view-discussion-home .label, .view-discussion-home .home-description, .view-discussion-home .home-stats .stats-grouping .profile-stat, .discussion-article .posted-details, .discussion-comment .response-body, .discussion-post .post-context, .discussion .post-actions-list,
+.discussion .response-actions-list,
+.discussion .comment-actions-list {
+ font-size: 12px;
+ line-height: 17.76px; }
+
+.forum-nav-thread-comments-count {
+ font-weight: 600; }
+
+.discussion-response .response-header-content .username, .forum-nav .search-alert-content .message em, .forum-nav .search-alert-content .link-jump, .forum-nav .search-alert-controls .control {
+ font-weight: 700; }
+
+@-webkit-keyframes fadeIn {
+ 0% {
+ opacity: 0; }
+ 100% {
+ opacity: 1; } }
+
+.discussion-body, .discussion-module {
+ width: 100%;
+ border: none;
+ background: transparent;
+ box-shadow: none; }
+ .discussion-body:after, .discussion-module:after {
+ content: "";
+ display: table;
+ clear: both; }
+ @media (min-width: 768px) {
+ .discussion-body, .discussion-module {
+ display: flex;
+ flex-direction: row-reverse; } }
+ .discussion-body .bottom-post-status, .discussion-module .bottom-post-status {
+ padding: 30px;
+ font-size: var(--forum-x-large-font-size);
+ font-weight: 700;
+ color: var(--forum-color-copy-light);
+ text-align: center; }
+ .discussion-body .discussion-article, .discussion-module .discussion-article {
+ position: relative; }
+ .discussion-body .discussion-article a, .discussion-module .discussion-article a,
+ .discussion-body .discussion-article p, .discussion-module .discussion-article p {
+ word-wrap: break-word; }
+ .discussion-body .main-article.new, .discussion-module .main-article.new {
+ display: none;
+ padding: calc(var(--baseline) * 2.5); }
+ .discussion-body .discussion-reply-new, .discussion-module .discussion-reply-new {
+ transition: opacity 0.2s linear 0s; }
+ .discussion-body .discussion-reply-new:after, .discussion-module .discussion-reply-new:after {
+ content: "";
+ display: table;
+ clear: both; }
+ .discussion-body .discussion-reply-new h4, .discussion-module .discussion-reply-new h4 {
+ font-size: var(--forum-large-font-size);
+ font-weight: 700; }
+ .discussion-body .reply-post-control, .discussion-module .reply-post-control {
+ margin-top: var(--baseline); }
+
+.discussion-module {
+ display: block;
+ position: relative;
+ border-radius: var(--forum-border-radius); }
+ .discussion-module header .anonymous {
+ font-size: var(--forum-base-font-size); }
+ .discussion-module .inline-discussion-topic {
+ width: 100%;
+ font-size: var(--forum-small-font-size); }
+ .discussion-module .inline-discussion-topic .inline-discussion-topic-title {
+ font-weight: bold; }
+ .discussion-module .discussion-module-header {
+ float: left;
+ width: 57.44681%;
+ margin-bottom: calc(var(--baseline) * 0.75); }
+ .discussion-module .add_post_btn_container {
+ text-align: right;
+ width: 100%;
+ height: calc(2 * var(--baseline)); }
+ .discussion-module div.add-response.post-extended-content {
+ margin-top: var(--baseline);
+ margin-bottom: var(--baseline); }
+
+.discussion-show {
+ float: right;
+ position: relative;
+ top: 3px;
+ font-size: var(--forum-base-font-size);
+ text-align: center; }
+ .discussion-show.shown {
+ background-color: #fff;
+ color: #0075b4; }
+
+section.discussion:after {
+ content: "";
+ display: table;
+ clear: both; }
+
+.new-post-article .forum-new-post-form {
+ padding: var(--baseline); }
+
+.new-post-article .inner-wrapper {
+ max-width: 1920px;
+ min-width: 760px;
+ margin: auto; }
+
+.xblock-student_view-discussion {
+ padding-top: 15px !important; }
+
+section.discussion-pagination {
+ margin-top: calc(var(--baseline) * 1.5); }
+ section.discussion-pagination nav.discussion-paginator {
+ float: right; }
+ section.discussion-pagination nav.discussion-paginator ol li {
+ padding-right: calc(var(--baseline) / 2);
+ list-style: none;
+ display: inline-block; }
+ section.discussion-pagination nav.discussion-paginator ol li.current-page span {
+ display: inline-block;
+ height: 35px;
+ padding: 0 calc(var(--baseline) * 0.75);
+ border: 1px solid var(--forum-color-border);
+ border-radius: var(--forum-border-radius);
+ font-size: var(--forum-base-font-size);
+ font-weight: 700;
+ line-height: 32px;
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); }
+
+.discussion-module .btn,
+.wmd-prompt-dialog .btn, .discussion-module .btn-brand,
+.wmd-prompt-dialog .btn-brand {
+ transition: color 0.125s ease-in-out 0s, border-color 0.125s ease-in-out 0s, background 0.125s ease-in-out 0s, box-shadow 0.125s ease-in-out 0s;
+ display: inline-block;
+ border: 1px solid var(--forum-color-active-thread);
+ border-radius: 3px;
+ margin: 0;
+ background-image: none;
+ box-shadow: none;
+ height: 40px;
+ text-shadow: none;
+ font-family: var(--font-family-sans-serif);
+ font-size: 14px;
+ font-weight: 600;
+ word-wrap: break-word;
+ white-space: nowrap; }
+ .discussion-module .block.btn,
+ .wmd-prompt-dialog .block.btn, .discussion-module .block.btn-brand,
+ .wmd-prompt-dialog .block.btn-brand {
+ display: block;
+ width: 100%; }
+ .discussion-module .btn:disabled,
+ .wmd-prompt-dialog .btn:disabled, .discussion-module .btn-brand:disabled,
+ .wmd-prompt-dialog .btn-brand:disabled, .discussion-module .is-disabled.btn,
+ .wmd-prompt-dialog .is-disabled.btn, .discussion-module .is-disabled.btn-brand,
+ .wmd-prompt-dialog .is-disabled.btn-brand {
+ pointer-events: none;
+ outline: none;
+ cursor: not-allowed; }
+ .discussion-module .btn:hover,
+ .wmd-prompt-dialog .btn:hover, .discussion-module .btn-brand:hover,
+ .wmd-prompt-dialog .btn-brand:hover, .discussion-module .btn:active,
+ .wmd-prompt-dialog .btn:active, .discussion-module .btn-brand:active,
+ .wmd-prompt-dialog .btn-brand:active, .discussion-module .btn:focus,
+ .wmd-prompt-dialog .btn:focus, .discussion-module .btn-brand:focus,
+ .wmd-prompt-dialog .btn-brand:focus {
+ border-color: var(--forum-color-hover) !important;
+ background-color: var(--forum-color-hover) !important;
+ background-image: none !important;
+ box-shadow: none !important;
+ color: var(--forum-color-active-text) !important;
+ text-decoration: none !important; }
+
+.discussion-module .btn,
+.wmd-prompt-dialog .btn {
+ background-color: var(--forum-color-background);
+ color: var(--forum-color-active-thread); }
+
+.discussion-module .btn-brand,
+.wmd-prompt-dialog .btn-brand {
+ background-color: var(--forum-color-active-thread);
+ color: var(--forum-color-active-text); }
+
+.discussion-module .discussion {
+ clear: both; }
+
+.discussion .post-actions-list,
+.discussion .response-actions-list,
+.discussion .comment-actions-list {
+ text-align: right; }
+ .discussion .post-actions-list .actions-item,
+ .discussion .response-actions-list .actions-item,
+ .discussion .comment-actions-list .actions-item {
+ box-sizing: border-box;
+ display: block;
+ margin: calc(var(--baseline) / 4) 0; }
+ .discussion .post-actions-list .actions-item.is-hidden,
+ .discussion .response-actions-list .actions-item.is-hidden,
+ .discussion .comment-actions-list .actions-item.is-hidden {
+ display: none; }
+ .discussion .post-actions-list .actions-item.is-disabled a,
+ .discussion .response-actions-list .actions-item.is-disabled a,
+ .discussion .comment-actions-list .actions-item.is-disabled a {
+ pointer-events: none; }
+ .discussion .post-actions-list .actions-item.is-disabled a .action-icon,
+ .discussion .response-actions-list .actions-item.is-disabled a .action-icon,
+ .discussion .comment-actions-list .actions-item.is-disabled a .action-icon {
+ display: none; }
+ .discussion .post-actions-list .actions-item.is-disabled a .action-label,
+ .discussion .response-actions-list .actions-item.is-disabled a .action-label,
+ .discussion .comment-actions-list .actions-item.is-disabled a .action-label {
+ padding-right: 0; }
+ .discussion .post-actions-list .actions-item.is-disabled a:hover,
+ .discussion .response-actions-list .actions-item.is-disabled a:hover,
+ .discussion .comment-actions-list .actions-item.is-disabled a:hover {
+ border-color: transparent; }
+ .discussion .post-actions-list .actions-item.is-disabled a:hover .action-label,
+ .discussion .response-actions-list .actions-item.is-disabled a:hover .action-label,
+ .discussion .comment-actions-list .actions-item.is-disabled a:hover .action-label {
+ color: var(--forum-color-active-text); }
+ .discussion .post-actions-list .more-wrapper,
+ .discussion .response-actions-list .more-wrapper,
+ .discussion .comment-actions-list .more-wrapper {
+ position: relative; }
+
+.discussion .actions-dropdown {
+ right: 0;
+ display: none;
+ position: absolute;
+ top: 100%;
+ pointer-events: none;
+ min-width: var(--actions-dropdown-width); }
+ .discussion .actions-dropdown.is-expanded {
+ display: block;
+ pointer-events: auto; }
+ .discussion .actions-dropdown .actions-dropdown-list {
+ box-sizing: border-box;
+ box-shadow: 0 1px 1px var(--shadow-l1);
+ position: relative;
+ width: 100%;
+ border-radius: var(--forum-border-radius);
+ margin: calc(var(--baseline) / 4) 0 0 0;
+ border: 1px solid var(--forum-color-border);
+ padding: calc(var(--baseline) / 2) calc(var(--baseline) * 0.75);
+ background: var(--forum-color-background); }
+ .discussion .actions-dropdown .actions-dropdown-list::after, .discussion .actions-dropdown .actions-dropdown-list::before {
+ right: 6px;
+ bottom: 100%;
+ border: solid transparent;
+ content: " ";
+ height: 0;
+ width: 0;
+ position: absolute;
+ pointer-events: none; }
+ .discussion .actions-dropdown .actions-dropdown-list::after {
+ margin-right: 1px;
+ border-color: transparent;
+ border-bottom-color: var(--white);
+ border-width: 6px; }
+ .discussion .actions-dropdown .actions-dropdown-list::before {
+ border-color: transparent;
+ border-bottom-color: var(--forum-color-border);
+ border-width: 7px; }
+ .discussion .actions-dropdown .actions-item {
+ display: block;
+ margin: 0; }
+ .discussion .actions-dropdown .actions-item.is-hidden {
+ display: none; }
+
+.discussion .action-button {
+ transition: border 0.5s linear 0s;
+ box-sizing: border-box;
+ display: inline-block;
+ border: 1px solid transparent;
+ border-radius: var(--forum-border-radius);
+ color: #313131; }
+ .discussion .action-button .action-icon {
+ display: inline-block;
+ font-size: var(--forum-small-font-size);
+ height: var(--baseline);
+ width: var(--baseline);
+ border: 1px solid var(--forum-color-border);
+ border-radius: var(--forum-border-radius);
+ text-align: center;
+ color: #313131; }
+ .discussion .action-button .action-icon .icon {
+ margin-right: 0;
+ vertical-align: middle; }
+ .discussion .action-button .action-label {
+ display: none;
+ vertical-align: middle;
+ padding: 2px 8px; }
+ .discussion .action-button:hover .action-label, .discussion .action-button:focus .action-label {
+ display: inline-block; }
+ .discussion .action-button:hover .action-icon, .discussion .action-button:focus .action-icon {
+ -webkit-border-top-left-radius: 0;
+ -moz-border-topleft-radius: 0;
+ border-top-left-radius: 0;
+ -webkit-border-top-right-radius: var(--forum-border-radius);
+ -moz-border-topright-radius: var(--forum-border-radius);
+ border-top-right-radius: var(--forum-border-radius);
+ -webkit-border-bottom-right-radius: var(--forum-border-radius);
+ -moz-border-bottomright-radius: var(--forum-border-radius);
+ border-bottom-right-radius: var(--forum-border-radius);
+ -webkit-border-bottom-left-radius: 0;
+ -moz-border-bottomleft-radius: 0;
+ border-bottom-left-radius: 0; }
+ .discussion .action-button.action-follow .action-label {
+ color: #0075b4; }
+ .discussion .action-button.action-follow.is-checked .action-icon, .discussion .action-button.action-follow:hover .action-icon, .discussion .action-button.action-follow:focus .action-icon {
+ background-color: var(--forum-color-following);
+ border: 1px solid #0075b4;
+ color: var(--white); }
+ .discussion .action-button.action-follow:hover, .discussion .action-button.action-follow:focus {
+ border-color: var(--forum-color-following); }
+ .discussion .action-button.action-vote .action-label {
+ opacity: 1; }
+ .discussion .action-button.action-vote.is-checked .action-icon, .discussion .action-button.action-vote:hover .action-icon, .discussion .action-button.action-vote:focus .action-icon {
+ background-color: var(--green);
+ border: 1px solid var(--green);
+ color: var(--white); }
+ .discussion .action-button.action-vote:hover, .discussion .action-button.action-vote:focus {
+ border-color: var(--green); }
+ .discussion .action-button.action-vote:hover .action-label, .discussion .action-button.action-vote:focus .action-label {
+ color: var(--green); }
+ .discussion .action-button.action-endorse.is-checked .action-icon, .discussion .action-button.action-endorse:hover .action-icon, .discussion .action-button.action-endorse:focus .action-icon {
+ background-color: #0075b4;
+ border: 1px solid #0075b4;
+ color: var(--white); }
+ .discussion .action-button.action-endorse:hover, .discussion .action-button.action-endorse:focus {
+ border-color: #0075b4;
+ background-color: var(--forum-color-background); }
+ .discussion .action-button.action-endorse:hover .action-label, .discussion .action-button.action-endorse:focus .action-label {
+ color: #0075b4; }
+ .discussion .action-button.action-answer.is-checked .action-icon, .discussion .action-button.action-answer:hover .action-icon, .discussion .action-button.action-answer:focus .action-icon {
+ border: 1px solid var(--green);
+ background-color: var(--green);
+ color: var(--white); }
+ .discussion .action-button.action-answer:hover, .discussion .action-button.action-answer:focus {
+ border-color: var(--green);
+ background-color: var(--forum-color-background); }
+ .discussion .action-button.action-answer:hover .action-label, .discussion .action-button.action-answer:focus .action-label {
+ color: var(--green); }
+ .discussion .action-button.action-more {
+ position: relative; }
+ .discussion .action-button.action-more:hover, .discussion .action-button.action-more:focus {
+ border-color: #313131;
+ background-color: var(--forum-color-background); }
+ .discussion .action-button.action-more:hover .action-icon, .discussion .action-button.action-more:focus .action-icon {
+ border: 1px solid #313131;
+ background-color: #313131;
+ color: #fff; }
+ .discussion .action-button.action-more:hover .action-label, .discussion .action-button.action-more:focus .action-label {
+ opacity: 1;
+ color: var(--black); }
+
+.discussion .actions-dropdown .action-list-item {
+ text-align: right;
+ display: block;
+ width: 100%;
+ padding: calc(var(--baseline) / 10) 0;
+ white-space: nowrap;
+ color: #313131; }
+ .discussion .actions-dropdown .action-list-item:hover, .discussion .actions-dropdown .action-list-item:focus {
+ color: var(--link-color); }
+ .discussion .actions-dropdown .action-list-item .action-icon {
+ margin-left: calc(var(--baseline) / 4);
+ display: inline-block;
+ width: calc(var(--baseline) / 2);
+ color: inherit; }
+ .discussion .actions-dropdown .action-list-item .action-label {
+ display: inline-block;
+ color: inherit; }
+ .discussion .actions-dropdown .action-list-item.is-checked.action-pin {
+ color: var(--pink); }
+ .discussion .actions-dropdown .action-list-item.is-checked.action-report {
+ color: var(--pink); }
+ .discussion .actions-dropdown .action-list-item.is-checked:hover, .discussion .actions-dropdown .action-list-item.is-checked:focus {
+ color: var(--link-color); }
+
+.discussion .action-button .action-label,
+.discussion .action-list-item .action-label {
+ float: left; }
+ .discussion .action-button .action-label .label-checked,
+ .discussion .action-list-item .action-label .label-checked {
+ display: none; }
+
+.discussion .action-button.is-checked .label-unchecked,
+.discussion .action-list-item.is-checked .label-unchecked {
+ display: none; }
+
+.discussion .action-button.is-checked .label-checked,
+.discussion .action-list-item.is-checked .label-checked {
+ display: inline; }
+
+.discussion .btn-primary:focus, .discussion .btn-brand:focus,
+.discussion .btn-outline-primary:focus {
+ box-shadow: 0 0 0 2px #0078b4; }
+
+.forum-new-post-form .wmd-input {
+ box-sizing: border-box;
+ position: relative;
+ z-index: 1; }
+
+.wmd-preview-container {
+ -webkit-border-top-left-radius: 0;
+ -moz-border-topleft-radius: 0;
+ border-top-left-radius: 0;
+ -webkit-border-top-right-radius: 0;
+ -moz-border-topright-radius: 0;
+ border-top-right-radius: 0;
+ -webkit-border-bottom-right-radius: var(--forum-border-radius);
+ -moz-border-bottomright-radius: var(--forum-border-radius);
+ border-bottom-right-radius: var(--forum-border-radius);
+ -webkit-border-bottom-left-radius: var(--forum-border-radius);
+ -moz-border-bottomleft-radius: var(--forum-border-radius);
+ border-bottom-left-radius: var(--forum-border-radius);
+ box-sizing: border-box;
+ border: 1px solid var(--forum-color-border);
+ width: 100%;
+ background: var(--forum-color-background-light);
+ border-color: var(--forum-color-border); }
+ .discussion-board .wmd-preview-container,
+ .discussion-user-profile-board .wmd-preview-container {
+ margin-top: calc(-1 * var(--baseline) / 4); }
+
+.wmd-preview-label {
+ padding-left: calc(var(--baseline) / 4);
+ padding-top: 3px;
+ width: 100%;
+ color: var(--forum-color-editor-preview-label);
+ font-size: var(--forum-small-font-size); }
+
+.wmd-preview {
+ padding: calc(var(--baseline) / 2) var(--baseline);
+ width: auto;
+ background-color: var(--forum-color-background-light); }
+ .wmd-preview ol,
+ .wmd-preview ul {
+ padding-left: calc(var(--baseline) * 2);
+ padding-right: 0; }
+ .wmd-preview svg {
+ max-width: 100% !important; }
+
+.wmd-button {
+ background: none; }
+
+.wmd-button-bar {
+ width: 100%; }
+
+.wmd-button-row {
+ transition: all 0.2s ease-out 0s;
+ position: relative;
+ overflow: hidden;
+ margin: calc(var(--baseline) / 2) calc(var(--baseline) / 4) calc(var(--baseline) / 4) calc(var(--baseline) / 4);
+ padding: 0;
+ height: 30px; }
+
+.wmd-spacer {
+ margin-left: 14px;
+ position: absolute;
+ display: inline-block;
+ width: 1px;
+ height: 20px;
+ background-color: Silver;
+ list-style: none; }
+
+.wmd-button {
+ position: absolute;
+ display: inline-block;
+ width: 20px;
+ height: 20px;
+ border: none;
+ background: none;
+ list-style: none;
+ cursor: pointer;
+ padding: 0; }
+
+.wmd-button:hover {
+ background: none;
+ box-shadow: none; }
+
+.wmd-button > span {
+ display: inline-block;
+ width: 20px;
+ height: 20px;
+ background-image: url("var(--static-path)/images/wmd-buttons-transparent.png");
+ background-position: 0 0;
+ background-repeat: no-repeat; }
+
+.wmd-spacer1 {
+ left: 50px; }
+
+.wmd-spacer2 {
+ left: 175px; }
+
+.wmd-spacer3 {
+ left: 300px; }
+
+.wmd-input {
+ -webkit-border-top-left-radius: var(--forum-border-radius);
+ -moz-border-topleft-radius: var(--forum-border-radius);
+ border-top-left-radius: var(--forum-border-radius);
+ -webkit-border-top-right-radius: var(--forum-border-radius);
+ -moz-border-topright-radius: var(--forum-border-radius);
+ border-top-right-radius: var(--forum-border-radius);
+ -webkit-border-bottom-right-radius: 0;
+ -moz-border-bottomright-radius: 0;
+ border-bottom-right-radius: 0;
+ -webkit-border-bottom-left-radius: 0;
+ -moz-border-bottomleft-radius: 0;
+ border-bottom-left-radius: 0;
+ box-sizing: border-box;
+ margin-top: 0;
+ border: 1px solid var(--forum-color-border);
+ padding: calc(var(--baseline) / 2);
+ width: 100%;
+ height: 125px;
+ background: var(--forum-color-background);
+ font-size: var(--forum-base-font-size);
+ font-family: var(--font-family-sans-serif);
+ line-height: 1.6;
+ box-sizing: border-box;
+ width: 100%;
+ background: var(--forum-color-background); }
+
+.wmd-prompt-background {
+ background-color: var(--black); }
+
+.wmd-prompt-dialog {
+ background: var(--forum-color-background);
+ padding: var(--baseline); }
+ .wmd-prompt-dialog > div {
+ font-size: var(--forum-base-font-size);
+ font-family: arial, helvetica, sans-serif; }
+ .wmd-prompt-dialog b {
+ font-size: var(--forum-large-font-size); }
+ .wmd-prompt-dialog > form > input[type="text"] {
+ border-radius: var(--forum-border-radius);
+ color: #333; }
+ .wmd-prompt-dialog > form > input[type="button"] {
+ border: 1px solid #888;
+ font-family: var(--font-family-sans-serif);
+ font-size: var(--forum-x-large-font-size); }
+ .wmd-prompt-dialog > form > input[type="file"] {
+ margin-bottom: 18px; }
+ .wmd-prompt-dialog .field-group .field .field-hint {
+ margin-left: 0;
+ width: 100%; }
+ .wmd-prompt-dialog .field-input-label {
+ font-size: var(--forum-base-font-size); }
+ .wmd-prompt-dialog .input-text {
+ width: calc(100% - 175px);
+ height: 40px; }
+ .wmd-prompt-dialog .input-text.has-error {
+ border-color: var(--forum-color-error); }
+ .wmd-prompt-dialog .field-message.has-error {
+ width: calc(100% - 175px);
+ background-color: var(--forum-color-error);
+ color: var(--white);
+ padding: calc(var(--baseline) / 2);
+ box-sizing: border-box; }
+ .wmd-prompt-dialog .field-label {
+ cursor: pointer; }
+ .wmd-prompt-dialog .input-checkbox {
+ margin-right: calc(var(--baseline) / 5); }
+ .wmd-prompt-dialog #new-url-input {
+ direction: ltr; }
+
+.wmd-button-row {
+ position: relative;
+ height: 25px; }
+
+.discussion .post-label {
+ margin: calc(var(--baseline)/4) calc(var(--baseline)/2) 0 0;
+ font-size: var(--forum-small-font-size);
+ display: inline;
+ white-space: nowrap; }
+ .discussion .post-label .icon {
+ margin-right: calc(var(--baseline) / 5); }
+ .discussion .post-label.is-hidden {
+ display: none; }
+ .discussion .post-label.post-label-pinned {
+ color: var(--forum-color-pinned); }
+ .discussion .post-label.post-label-following {
+ color: var(--forum-color-following); }
+ .discussion .post-label.post-label-reported {
+ color: var(--forum-color-reported); }
+ .discussion .post-label.post-label-closed {
+ color: var(--forum-color-closed); }
+ .discussion .post-label.post-label-by-staff {
+ color: var(--forum-color-staff); }
+ .discussion .post-label.post-label-by-community-ta {
+ color: var(--forum-color-community-ta); }
+
+.discussion .user-label-staff,
+.discussion .user-label-community-ta {
+ color: var(--forum-color-copy-light);
+ font-size: var(--forum-small-font-size);
+ white-space: nowrap; }
+
+.forum-nav-thread-link .forum-nav-thread-labels .post-label .icon {
+ margin-right: 0; }
+
+.discussion-board > .page-header .has-breadcrumbs .breadcrumbs {
+ margin-bottom: calc(var(--baseline) / 2);
+ font-size: 1rem;
+ font-weight: 600;
+ line-height: var(--line-height-base); }
+
+.forum-nav-browse-menu-wrapper {
+ border-bottom: 1px solid var(--forum-color-border);
+ background: #e7e7e7; }
+
+.forum-nav-browse-filter {
+ position: relative;
+ border-bottom: 1px solid var(--forum-color-border);
+ padding: calc(var(--baseline) / 4); }
+
+.forum-nav-browse-filter .icon {
+ right: calc(var(--baseline)/4 + 1px + calc(var(--baseline) / 4));
+ font-size: var(--forum-small-font-size);
+ position: absolute;
+ margin-top: -6px;
+ top: 75%; }
+
+.forum-nav-browse-filter-input {
+ width: 100%; }
+
+.forum-nav-browse-menu-following .icon {
+ float: left;
+ left: calc(var(--baseline) / 2);
+ position: relative;
+ top: 13px; }
+
+.forum-nav-browse-menu-following .forum-nav-browse-title {
+ padding-left: calc(var(--baseline) * 1.5); }
+
+.forum-nav-browse-menu-item {
+ margin-bottom: 0; }
+
+.forum-nav-browse-title {
+ text-align: left;
+ display: block;
+ width: 100%;
+ border: 0;
+ border-radius: 0;
+ border-bottom: 1px solid var(--forum-color-border);
+ padding: calc(var(--baseline) / 2);
+ background: transparent;
+ box-shadow: none;
+ background-image: none;
+ cursor: pointer; }
+ .forum-nav-browse-title:hover, .forum-nav-browse-title:focus, .forum-nav-browse-title.is-focused {
+ background-image: none !important;
+ box-shadow: none !important;
+ background: var(--forum-color-background) !important;
+ /* stylelint-disable-line */ }
+
+.forum-nav-browse-title .icon {
+ margin-right: calc(var(--baseline) / 2); }
+
+.forum-nav-browse-menu {
+ padding-left: 0;
+ margin: 0;
+ font-size: var(--forum-base-font-size);
+ overflow-y: scroll;
+ list-style: none;
+ max-height: 600px; }
+
+.forum-nav-browse-submenu {
+ list-style: none;
+ margin: 0;
+ padding: 0; }
+ .forum-nav-browse-submenu li .forum-nav-browse-title {
+ padding-left: var(--baseline); }
+
+.forum-nav-refine-bar {
+ -webkit-border-top-left-radius: var(--forum-border-radius);
+ -moz-border-topleft-radius: var(--forum-border-radius);
+ border-top-left-radius: var(--forum-border-radius);
+ -webkit-border-top-right-radius: var(--forum-border-radius);
+ -moz-border-topright-radius: var(--forum-border-radius);
+ border-top-right-radius: var(--forum-border-radius);
+ -webkit-border-bottom-right-radius: 0;
+ -moz-border-bottomright-radius: 0;
+ border-bottom-right-radius: 0;
+ -webkit-border-bottom-left-radius: 0;
+ -moz-border-bottomleft-radius: 0;
+ border-bottom-left-radius: 0;
+ font-size: var(--forum-small-font-size);
+ border-bottom: 1px solid var(--forum-color-border);
+ background-color: #e7e7e7;
+ padding: calc(var(--baseline) / 4) calc(var(--baseline) / 2);
+ color: var(--black); }
+ .forum-nav-refine-bar:after {
+ content: "";
+ display: table;
+ clear: both; }
+
+.forum-nav-filter-main {
+ text-align: left;
+ float: left;
+ box-sizing: border-box;
+ width: 50%; }
+
+.forum-nav-filter-cohort,
+.forum-nav-sort {
+ text-align: right;
+ box-sizing: border-box; }
+
+.discussion-board .forum-nav-filter-cohort {
+ float: right;
+ text-align: right;
+ width: 50%; }
+
+.forum-nav-sort {
+ float: right; }
+
+.forum-nav-filter-main-control, .forum-nav-filter-cohort-control, .forum-nav-sort-control {
+ border: none;
+ max-width: 100%;
+ background-color: transparent; }
+
+.forum-nav-filter-cohort-control {
+ max-width: 60%; }
+
+.forum-nav-thread-list {
+ padding-left: 0 !important;
+ min-height: 60px;
+ max-height: 800px;
+ border-bottom: 1px solid #e7e7e7;
+ margin: 0;
+ overflow-y: auto;
+ list-style: none;
+ border-radius: 0 0 3px 3px; }
+ .forum-nav-thread-list .forum-nav-thread-labels {
+ margin: 5px 0 0;
+ padding-left: 0 !important; }
+ .forum-nav-thread-list .thread-preview-body {
+ margin-top: calc(var(--baseline) / 4);
+ color: var(--forum-color-response-count);
+ font-size: var(--forum-small-font-size);
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis; }
+
+.course-wrapper .course-content .forum-nav-thread-list-wrapper .forum-nav-thread-list {
+ padding-left: 0;
+ list-style: none; }
+ .course-wrapper .course-content .forum-nav-thread-list-wrapper .forum-nav-thread-list .forum-nav-thread {
+ margin: 0; }
+
+.forum-nav-thread {
+ border-bottom: 1px solid var(--forum-color-border);
+ background-color: var(--forum-color-background);
+ margin-bottom: 0; }
+ .forum-nav-thread:last-child {
+ border-bottom: 1px solid var(--forum-color-border); }
+ .forum-nav-thread .forum-nav-thread-link {
+ border-left: 3px solid transparent;
+ display: flex;
+ padding: calc(var(--baseline) / 2);
+ transition: none;
+ align-items: center;
+ justify-content: space-between;
+ color: var(--forum-color-read-post); }
+ .forum-nav-thread .forum-nav-thread-link:hover, .forum-nav-thread .forum-nav-thread-link:active, .forum-nav-thread .forum-nav-thread-link:focus {
+ text-decoration: none; }
+ .forum-nav-thread .forum-nav-thread-link:hover {
+ background-color: var(--forum-color-hover-thread); }
+ .forum-nav-thread .forum-nav-thread-link.is-active {
+ background-color: var(--forum-color-reading-thread); }
+ .forum-nav-thread .forum-nav-thread-link .forum-nav-thread-unread-comments-count {
+ display: inline-block;
+ font-size: var(--forum-small-font-size);
+ white-space: nowrap; }
+ .forum-nav-thread.never-read .forum-nav-thread-link {
+ border-left: 3px solid var(--forum-color-never-read-post);
+ color: var(--forum-color-never-read-post); }
+
+.forum-nav-thread-wrapper-0, .forum-nav-thread-wrapper-1, .forum-nav-thread-wrapper-2 {
+ display: inline-block;
+ vertical-align: middle; }
+
+.forum-nav-thread-wrapper-0 {
+ margin-right: calc(var(--baseline) / 5);
+ align-self: flex-start; }
+ .forum-nav-thread-wrapper-0 .icon {
+ font-size: var(--forum-base-font-size);
+ width: 18px;
+ text-align: center; }
+
+.forum-nav-thread-wrapper-1 {
+ margin: 0 calc(var(--baseline) / 4);
+ max-width: calc(100% - 75px);
+ flex-grow: 1; }
+
+.forum-nav-thread-wrapper-2 {
+ text-align: right;
+ min-width: 40px;
+ white-space: nowrap; }
+
+.forum-nav-thread-title {
+ margin-left: 0;
+ font-size: var(--forum-base-font-size);
+ display: block; }
+
+.forum-nav-thread-votes-count, .forum-nav-thread-comments-count {
+ margin-right: calc(var(--baseline) / 4);
+ font-size: var(--forum-small-font-size);
+ display: inline-block;
+ text-align: center;
+ color: var(--black); }
+ .forum-nav-thread-votes-count:last-child, .forum-nav-thread-comments-count:last-child {
+ margin-right: 0; }
+
+.forum-nav-thread-comments-count {
+ position: relative;
+ margin-left: calc(var(--baseline) / 4);
+ margin-bottom: calc(var(--baseline) / 4);
+ border-radius: var(--forum-border-radius);
+ padding: calc(var(--baseline) / 10) calc(var(--baseline) / 5);
+ min-width: 2em;
+ background-color: #e7e7e7; }
+ .forum-nav-thread-comments-count::after {
+ content: '';
+ display: block;
+ position: absolute;
+ bottom: calc(-1 * var(--baseline) / 4);
+ right: calc(var(--baseline) / 4);
+ width: 0;
+ height: 0;
+ border-style: solid;
+ border-width: 0 calc(var(--baseline) / 4) calc(var(--baseline) / 4) 0;
+ border-color: transparent var(--forum-color-border) transparent transparent; }
+
+.forum-nav-load-more {
+ border-bottom: 1px solid var(--forum-color-border);
+ background-color: #e7e7e7; }
+
+.forum-nav-load-more-link, .forum-nav-loading {
+ display: block;
+ padding: var(--baseline) 0;
+ text-align: center; }
+
+.forum-nav-load-more-link {
+ color: var(--link-color);
+ width: 100%; }
+ .forum-nav-load-more-link:hover, .forum-nav-load-more-link:focus {
+ color: var(--forum-color-active-text);
+ background-color: var(--forum-color-active-thread) !important; }
+
+.view-discussion-home {
+ padding-left: var(--baseline);
+ display: none; }
+ @media (min-width: 992px) {
+ .view-discussion-home {
+ display: block; } }
+ .view-discussion-home section {
+ border-bottom: 1px solid var(--forum-color-border); }
+ .view-discussion-home .label {
+ display: block; }
+ .view-discussion-home .label-settings {
+ padding-top: var(--baseline);
+ padding-bottom: calc(var(--baseline) / 2); }
+ .view-discussion-home .home-header {
+ margin: 0; }
+ .view-discussion-home .home-title {
+ font-size: var(--forum-large-font-size);
+ color: var(--black);
+ margin-bottom: calc(var(--baseline) / 4); }
+ .view-discussion-home .home-description {
+ margin-bottom: calc(var(--baseline) / 2); }
+ .view-discussion-home .home-stats {
+ padding: var(--baseline) 0; }
+ .view-discussion-home .home-stats .label-area {
+ display: inline-block;
+ min-width: calc(var(--baseline) * 5);
+ width: 25%;
+ vertical-align: middle; }
+ .view-discussion-home .home-stats .label-area .profile-link {
+ font-weight: 700; }
+ .view-discussion-home .home-stats .stats-grouping {
+ padding-left: var(--baseline);
+ display: inline-block;
+ width: 70%; }
+ .view-discussion-home .home-stats .stats-grouping .profile-stat {
+ display: inline-block;
+ width: 32.5%;
+ vertical-align: middle; }
+ .view-discussion-home .home-stats .stats-grouping .profile-stat .count {
+ font-size: var(--forum-x-large-font-size);
+ display: inline-block;
+ padding: 0 calc(var(--baseline) / 2);
+ vertical-align: middle; }
+ .view-discussion-home .home-stats .stats-grouping .profile-stat .profile-stat-label {
+ vertical-align: middle; }
+ .view-discussion-home .home-helpgrid {
+ border-bottom: none;
+ border-radius: var(--forum-border-radius);
+ border: 1px solid var(--forum-color-border);
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15); }
+ .view-discussion-home .helpgrid-row {
+ border-bottom: 1px solid var(--forum-color-border); }
+ .view-discussion-home .helpgrid-row .row-title {
+ padding: calc(var(--baseline) * 1.5) var(--baseline);
+ background-color: #dedede;
+ font-size: var(--forum-small-font-size); }
+ .view-discussion-home .helpgrid-row .row-item-full,
+ .view-discussion-home .helpgrid-row .row-item {
+ font-size: var(--forum-small-font-size);
+ padding: 0 calc(var(--baseline) / 2);
+ width: 26%;
+ vertical-align: middle; }
+ .view-discussion-home .helpgrid-row .row-item-full .icon,
+ .view-discussion-home .helpgrid-row .row-item .icon {
+ padding: 0 calc(var(--baseline) / 2);
+ font-size: 24px;
+ vertical-align: middle;
+ display: table-cell; }
+ .view-discussion-home .helpgrid-row .row-item-full .fa-stack .icon,
+ .view-discussion-home .helpgrid-row .row-item .fa-stack .icon {
+ padding: 0 calc(var(--baseline) / 2); }
+ .view-discussion-home .helpgrid-row .row-item-full .row-description,
+ .view-discussion-home .helpgrid-row .row-item .row-description {
+ vertical-align: middle;
+ display: table-cell; }
+ .view-discussion-home .helpgrid-row .row-item-full .notification-checkbox {
+ margin-right: calc(var(--baseline) / 2);
+ display: inline-block;
+ padding: calc(var(--baseline)/4) 0 calc(var(--baseline)/2) 0;
+ border-radius: var(--forum-border-radius);
+ border: 1px solid gray; }
+ .view-discussion-home .helpgrid-row .row-item-full .notification-checkbox .email-setting {
+ display: inline-block;
+ text-align: center;
+ vertical-align: middle;
+ margin-left: calc(var(--baseline) / 2); }
+ .view-discussion-home .helpgrid-row .row-item-full .notification-checkbox .icon {
+ display: inline-block; }
+ .view-discussion-home .helpgrid-row .row-item-full .notification-checkbox .email-setting:checked ~ .icon {
+ color: var(--green); }
+ .view-discussion-home .helpgrid-row .row-item-full .row-description {
+ display: inline-block;
+ width: 80%; }
+ .view-discussion-home .helpgrid-row-navigation .fa-bars {
+ color: #e7e7e7; }
+ .view-discussion-home .helpgrid-row-navigation .fa-search {
+ color: var(--gray-300); }
+ .view-discussion-home .helpgrid-row-navigation .fa-sort {
+ color: var(--gray-300); }
+ .view-discussion-home .helpgrid-row-participation .fa-plus {
+ color: var(--green); }
+ .view-discussion-home .helpgrid-row-participation .fa-flag {
+ color: var(--pink); }
+ .view-discussion-home .helpgrid-row-participation .fa-star {
+ color: var(--blue); }
+ .view-discussion-home .helpgrid-row-notification .fa-square {
+ color: var(--green); }
+ .view-discussion-home .helpgrid-row-notification .fa-envelope {
+ color: var(--gray-300); }
+
+.discussion-post {
+ padding: 0 calc(var(--baseline) / 2); }
+ .discussion-post .post-header-actions {
+ float: right; }
+
+.discussion-article .posted-details {
+ margin: calc(var(--baseline) / 5) 0;
+ color: var(--forum-color-copy-light); }
+ .discussion-article .posted-details .username {
+ display: inline; }
+ .discussion-article .posted-details .timeago,
+ .discussion-article .posted-details .top-post-status {
+ color: inherit; }
+
+.thread-title {
+ display: block;
+ margin-bottom: var(--baseline);
+ font-size: var(--forum-x-large-font-size);
+ font-weight: 600; }
+
+.thread-responses-wrapper,
+.post-extended-content {
+ padding: 0 calc(var(--baseline) / 2); }
+
+.discussion-response {
+ min-height: calc(var(--baseline) * 5); }
+ .discussion-response .response-header-content {
+ display: inline-block;
+ vertical-align: top;
+ width: 91.48936%; }
+ .discussion-response .response-header-actions {
+ float: right;
+ right: var(--baseline);
+ position: absolute;
+ top: calc(var(--baseline) / 2); }
+
+.discussion-comment .response-body {
+ padding: calc(var(--baseline) / 2) calc(var(--baseline) * 1.5) 0 0;
+ display: inline-block;
+ margin-top: calc(var(--baseline) / 2);
+ width: 82.97872%; }
+ .discussion-comment .response-body p + p {
+ margin-top: calc(var(--baseline) / 2); }
+
+.discussion-comment .comment-actions-list {
+ float: right;
+ right: calc(var(--baseline) / 2);
+ position: absolute;
+ top: 0; }
+
+.thread-wrapper .response-btn-count-wrapper {
+ margin: var(--baseline) 0; }
+
+.discussion-post:after,
+.discussion-response:after,
+.discussion-comment:after {
+ content: "";
+ display: table;
+ clear: both; }
+
+.discussion-post .author-image,
+.discussion-response .author-image,
+.discussion-comment .author-image {
+ margin-right: calc(var(--baseline) / 2);
+ display: inline-block;
+ vertical-align: top; }
+ .discussion-post .author-image:empty,
+ .discussion-response .author-image:empty,
+ .discussion-comment .author-image:empty {
+ display: none; }
+ .discussion-post .author-image.level-post,
+ .discussion-response .author-image.level-post,
+ .discussion-comment .author-image.level-post {
+ height: var(--post-image-dimension);
+ width: var(--post-image-dimension); }
+ .discussion-post .author-image.level-response,
+ .discussion-response .author-image.level-response,
+ .discussion-comment .author-image.level-response {
+ height: var(--response-image-dimension);
+ width: var(--response-image-dimension); }
+ .discussion-post .author-image.level-comment,
+ .discussion-response .author-image.level-comment,
+ .discussion-comment .author-image.level-comment {
+ height: var(--comment-image-dimension);
+ width: var(--comment-image-dimension); }
+ .discussion-post .author-image img,
+ .discussion-response .author-image img,
+ .discussion-comment .author-image img {
+ border-radius: var(--forum-border-radius); }
+
+.discussion-response .response-body {
+ padding: calc(var(--baseline) / 2) calc(var(--baseline) * 1.5) 0 0;
+ margin-bottom: 0.2em;
+ font-size: var(--forum-base-font-size); }
+
+.discussion-post:after {
+ content: "";
+ display: table;
+ clear: both; }
+
+.discussion-post .post-header-content {
+ max-width: calc(100% - var(--actions-dropdown-offset)); }
+ .discussion-post .post-header-content .post-title {
+ font-size: var(--forum-x-large-font-size);
+ margin-bottom: calc(var(--baseline) / 4); }
+
+.discussion-post .post-body {
+ padding: calc(var(--baseline) / 2) 0;
+ max-width: calc(100% - var(--actions-dropdown-offset)); }
+
+.discussion-post .post-context {
+ color: var(--forum-color-copy-light); }
+ .discussion-post .post-context:empty {
+ display: none; }
+
+.discussion-thread {
+ padding: 0;
+ margin-bottom: var(--baseline);
+ transition: all 0.25s linear 0s; }
+ .discussion-thread p {
+ margin-bottom: 0; }
+ .discussion-thread .discussion-article {
+ transition: all 0.2s linear 0s;
+ border: 1px solid var(--forum-color-border);
+ border-radius: var(--forum-border-radius);
+ min-height: 0;
+ background: var(--forum-color-background);
+ box-shadow: 0 1px 0 var(--shadow);
+ transition: all 0.2s linear 0s; }
+ .discussion-thread .discussion-article .thread-wrapper {
+ -webkit-border-top-left-radius: var(--forum-border-radius);
+ -moz-border-topleft-radius: var(--forum-border-radius);
+ border-top-left-radius: var(--forum-border-radius);
+ -webkit-border-top-right-radius: var(--forum-border-radius);
+ -moz-border-topright-radius: var(--forum-border-radius);
+ border-top-right-radius: var(--forum-border-radius);
+ -webkit-border-bottom-right-radius: 0;
+ -moz-border-bottomright-radius: 0;
+ border-bottom-right-radius: 0;
+ -webkit-border-bottom-left-radius: 0;
+ -moz-border-bottomleft-radius: 0;
+ border-bottom-left-radius: 0;
+ position: relative;
+ overflow-x: hidden;
+ overflow-y: auto;
+ max-height: 600px;
+ background-color: var(--forum-color-background); }
+ .discussion-thread .discussion-article .thread-wrapper .discussion-post .inline-comment-count {
+ margin-right: calc(var(--baseline) / 2);
+ float: right;
+ position: relative;
+ display: block;
+ height: 27px;
+ margin-top: 6px;
+ padding: 0 8px;
+ border-radius: var(--forum-border-radius);
+ font-size: var(--forum-small-font-size);
+ font-weight: 400;
+ line-height: 25px;
+ color: #888; }
+ .discussion-thread .discussion-article .thread-wrapper .responses header {
+ padding-bottom: 0;
+ margin-bottom: calc(var(--baseline) * 0.75); }
+ .discussion-thread .discussion-article .thread-wrapper .responses header .posted-by {
+ margin-right: calc(var(--baseline) / 4);
+ float: left;
+ font-size: var(--forum-large-font-size); }
+ .discussion-thread .discussion-article .thread-wrapper .discussion-reply-new .wmd-input {
+ height: 120px; }
+ .discussion-thread .discussion-article .thread-wrapper .post-extended-content {
+ display: none; }
+ .discussion-thread .discussion-article .post-tools {
+ box-shadow: 0 1px 1px var(--shadow) inset;
+ background: var(--white); }
+ .discussion-thread .discussion-article .post-tools:hover {
+ background: var(--forum-color-hover-thread); }
+ .discussion-thread .discussion-article .post-tools:hover .icon {
+ color: var(--link-hover); }
+ .discussion-thread .discussion-article .post-tools .btn-link {
+ display: block;
+ padding: calc(var(--baseline) * 0.25) var(--baseline);
+ font-size: var(--forum-small-font-size);
+ line-height: 30px; }
+ .discussion-thread .discussion-article .post-tools .btn-link .icon {
+ margin-right: calc(var(--baseline) * 0.25);
+ color: var(--link-color); }
+
+.thread-wrapper img,
+.forum-new-post-form img {
+ max-width: 100%; }
+
+.forum-new-post-form,
+.edit-post-form {
+ box-sizing: border-box;
+ margin: 0;
+ border-radius: var(--forum-border-radius);
+ max-width: 1920px; }
+ .forum-new-post-form:after,
+ .edit-post-form:after {
+ content: "";
+ display: table;
+ clear: both; }
+ .forum-new-post-form label,
+ .forum-new-post-form .field-label-text,
+ .edit-post-form label,
+ .edit-post-form .field-label-text {
+ -webkit-font-smoothing: initial; }
+ .forum-new-post-form .post-type,
+ .edit-post-form .post-type {
+ text-shadow: none; }
+ .forum-new-post-form .post-type,
+ .edit-post-form .post-type {
+ margin-bottom: 0; }
+ .forum-new-post-form .post-errors,
+ .edit-post-form .post-errors {
+ margin: 0 0 var(--baseline);
+ padding: 0 !important;
+ list-style: none !important; }
+ .forum-new-post-form .post-field,
+ .edit-post-form .post-field {
+ margin-bottom: calc(var(--baseline) * 1.5); }
+ .forum-new-post-form .post-field .field-label,
+ .edit-post-form .post-field .field-label {
+ margin: 0; }
+ .forum-new-post-form .post-field .field-label .field-input,
+ .edit-post-form .post-field .field-label .field-input {
+ display: inline-block;
+ vertical-align: top; }
+ .forum-new-post-form .post-field .field-label .field-input:not([type="text"]),
+ .edit-post-form .post-field .field-label .field-input:not([type="text"]) {
+ border-width: 0;
+ padding: 0; }
+ .forum-new-post-form .post-field .field-label .field-label-text,
+ .edit-post-form .post-field .field-label .field-label-text {
+ display: block; }
+ .forum-new-post-form .post-field .field-label .field-label-text + .field-input,
+ .edit-post-form .post-field .field-label .field-label-text + .field-input {
+ width: 75%; }
+ .forum-new-post-form .post-field .field-label .js-post-title,
+ .edit-post-form .post-field .field-label .js-post-title {
+ width: 85%; }
+ .forum-new-post-form .post-field .field-help,
+ .edit-post-form .post-field .field-help {
+ margin: calc(var(--baseline) / 4) 0 calc(var(--baseline) / 4) 0;
+ font-size: var(--forum-small-font-size);
+ line-height: 1.5; }
+ .forum-new-post-form .post-field .field-help#field_help_post_type,
+ .edit-post-form .post-field .field-help#field_help_post_type {
+ margin: calc(var(--baseline) / 4) 0 calc(var(--baseline) * 0.75) 0; }
+ .forum-new-post-form .post-field .field-help#new-post-editor-description,
+ .edit-post-form .post-field .field-help#new-post-editor-description {
+ padding-left: 0; }
+ .forum-new-post-form .post-field .field-input,
+ .edit-post-form .post-field .field-input {
+ padding: 0;
+ border: none; }
+ .forum-new-post-form .post-options,
+ .edit-post-form .post-options {
+ margin: var(--baseline) 0; }
+ .forum-new-post-form .post-options .field-label,
+ .edit-post-form .post-options .field-label {
+ margin-right: var(--baseline); }
+ .forum-new-post-form .post-options .icon,
+ .edit-post-form .post-options .icon {
+ margin-right: calc(var(--baseline) / 4); }
+
+.edit-post-form {
+ box-sizing: border-box;
+ width: 100%;
+ padding-top: 0; }
+ .edit-post-form:after {
+ content: "";
+ display: table;
+ clear: both; }
+ .edit-post-form h1 {
+ font-size: var(--forum-large-font-size); }
+ .edit-post-form .form-row {
+ margin-top: var(--baseline); }
+ .edit-post-form .post-cancel {
+ float: left;
+ margin: calc(var(--baseline)/2) 0 0 calc(var(--baseline)*0.75); }
+ .edit-post-form .post-update {
+ float: left;
+ margin-top: calc(var(--baseline) / 2); }
+ .edit-post-form .post-update:hover, .edit-post-form .post-update:focus {
+ border-color: #222; }
+ .edit-post-form .edit-post-title {
+ box-sizing: border-box;
+ border: 1px solid var(--forum-color-border);
+ border-radius: var(--forum-border-radius);
+ padding: 0 calc(var(--baseline) / 2);
+ width: 100%;
+ height: 40px;
+ box-shadow: 0 1px 3px var(--shadow-l1) inset;
+ font-size: var(--forum-large-font-size);
+ font-family: var(--font-family-sans-serif); }
+
+.discussion-module .forum-new-post-form {
+ background: var(--forum-color-background); }
+
+.forum-new-post-form .post-type-label,
+.edit-post-form .post-type-label {
+ margin-right: var(--baseline); }
+
+.forum-new-post-form input[type=text].field-input,
+.edit-post-form input[type=text].field-input {
+ box-sizing: border-box;
+ border: 1px solid var(--forum-color-border);
+ border-radius: var(--forum-border-radius);
+ padding: 0 calc(var(--baseline) / 2);
+ width: 70%;
+ height: 40px;
+ color: #333;
+ font-size: var(--forum-large-font-size);
+ font-family: 'Open Sans', sans-serif; }
+
+.forum-new-post-form select.field-input,
+.edit-post-form select.field-input {
+ border: 1px solid var(--forum-color-border) !important;
+ height: 40px; }
+
+.forum-new-post-form .post-topic.field-input,
+.edit-post-form .post-topic.field-input {
+ width: 100%; }
+
+.forum-new-post-form .post-option,
+.edit-post-form .post-option {
+ box-sizing: border-box;
+ display: inline-block;
+ margin-right: var(--baseline);
+ border-radius: var(--forum-border-radius);
+ padding: calc(var(--baseline) / 2);
+ cursor: pointer; }
+ .forum-new-post-form .post-option:hover,
+ .edit-post-form .post-option:hover {
+ border-color: var(--forum-color-border); }
+ .forum-new-post-form .post-option .icon,
+ .edit-post-form .post-option .icon {
+ margin-right: calc(var(--baseline) / 4); }
+
+.discussion .responses:empty {
+ display: none; }
+
+.discussion .responses .forum-response {
+ animation: fadeIn 0.3s;
+ position: relative;
+ margin: var(--baseline) 0;
+ border: 1px solid var(--forum-color-border);
+ border-radius: var(--forum-border-radius);
+ box-shadow: 0 0 1px var(--shadow); }
+
+.discussion .responses .discussion-response {
+ box-sizing: border-box;
+ -webkit-border-top-left-radius: var(--forum-border-radius);
+ -moz-border-topleft-radius: var(--forum-border-radius);
+ border-top-left-radius: var(--forum-border-radius);
+ -webkit-border-top-right-radius: var(--forum-border-radius);
+ -moz-border-topright-radius: var(--forum-border-radius);
+ border-top-right-radius: var(--forum-border-radius);
+ -webkit-border-bottom-right-radius: 0;
+ -moz-border-bottomright-radius: 0;
+ border-bottom-right-radius: 0;
+ -webkit-border-bottom-left-radius: 0;
+ -moz-border-bottomleft-radius: 0;
+ border-bottom-left-radius: 0;
+ padding: var(--baseline);
+ background-color: var(--forum-color-background); }
+
+.discussion-response .response-header-content .username {
+ font-size: var(--forum-base-font-size); }
+
+.discussion-response .response-body ol,
+.discussion-response .response-body ul {
+ padding-left: calc(var(--baseline) * 2);
+ padding-right: 0; }
+
+.discussion .add-response {
+ display: inline;
+ padding: calc(var(--baseline) / 2); }
+
+.forum-response .action-show-comments {
+ font-size: var(--forum-base-font-size);
+ box-sizing: border-box;
+ display: block;
+ padding: calc(var(--baseline) / 2) var(--baseline);
+ width: 100%;
+ background: #f5f5f5;
+ box-shadow: 0 1px 3px -1px var(--shadow) inset; }
+
+.discussion .responses .forum-response.staff {
+ padding-top: 38px;
+ border-color: #009fe2; }
+
+.discussion .responses .forum-response.community-ta {
+ padding-top: 38px;
+ border-color: var(--forum-color-community-ta); }
+
+.discussion .responses .forum-response .staff-banner {
+ -webkit-border-top-left-radius: var(--forum-border-radius);
+ -moz-border-topleft-radius: var(--forum-border-radius);
+ border-top-left-radius: var(--forum-border-radius);
+ -webkit-border-top-right-radius: var(--forum-border-radius);
+ -moz-border-topright-radius: var(--forum-border-radius);
+ border-top-right-radius: var(--forum-border-radius);
+ -webkit-border-bottom-right-radius: 0;
+ -moz-border-bottomright-radius: 0;
+ border-bottom-right-radius: 0;
+ -webkit-border-bottom-left-radius: 0;
+ -moz-border-bottomleft-radius: 0;
+ border-bottom-left-radius: 0;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
+ height: 14px;
+ padding: 1px calc(var(--baseline) / 4);
+ box-sizing: border-box;
+ background: #009fe2;
+ font-size: var(--forum-small-font-size);
+ font-weight: 700;
+ color: var(--white); }
+
+.discussion .responses .forum-response .community-ta-banner {
+ -webkit-border-top-left-radius: var(--forum-border-radius);
+ -moz-border-topleft-radius: var(--forum-border-radius);
+ border-top-left-radius: var(--forum-border-radius);
+ -webkit-border-top-right-radius: var(--forum-border-radius);
+ -moz-border-topright-radius: var(--forum-border-radius);
+ border-top-right-radius: var(--forum-border-radius);
+ -webkit-border-bottom-right-radius: 0;
+ -moz-border-bottomright-radius: 0;
+ border-bottom-right-radius: 0;
+ -webkit-border-bottom-left-radius: 0;
+ -moz-border-bottomleft-radius: 0;
+ border-bottom-left-radius: 0;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
+ height: 14px;
+ padding: 1px calc(var(--baseline) / 4);
+ box-sizing: border-box;
+ background: var(--forum-color-community-ta);
+ font-size: var(--forum-small-font-size);
+ font-weight: 700;
+ color: var(--white); }
+
+.discussion .responses .forum-response.loading {
+ height: 0;
+ margin: 0;
+ padding: 0;
+ border: none;
+ box-shadow: none; }
+
+.discussion .comments {
+ -webkit-border-top-left-radius: 0;
+ -moz-border-topleft-radius: 0;
+ border-top-left-radius: 0;
+ -webkit-border-top-right-radius: 0;
+ -moz-border-topright-radius: 0;
+ border-top-right-radius: 0;
+ -webkit-border-bottom-right-radius: var(--forum-border-radius);
+ -moz-border-bottomright-radius: var(--forum-border-radius);
+ border-bottom-right-radius: var(--forum-border-radius);
+ -webkit-border-bottom-left-radius: var(--forum-border-radius);
+ -moz-border-bottomleft-radius: var(--forum-border-radius);
+ border-bottom-left-radius: var(--forum-border-radius);
+ background: #f5f5f5;
+ box-shadow: 0 1px 3px -1px var(--shadow) inset; }
+ .discussion .comments > li {
+ border-top: 1px solid var(--forum-color-border);
+ padding: calc(var(--baseline) / 2) var(--baseline);
+ position: relative; }
+ .discussion .comments blockquote {
+ background: var(--forum-color-background-light);
+ border-radius: var(--forum-border-radius);
+ padding: calc(var(--baseline) / 4) calc(var(--baseline) / 2);
+ font-size: var(--forum-base-font-size); }
+ .discussion .comments .comment-form {
+ padding: calc(var(--baseline) / 2) 0; }
+ .discussion .comments .comment-form:after {
+ content: "";
+ display: table;
+ clear: both; }
+ .discussion .comments .comment-form .comment-form-input {
+ padding: calc(var(--baseline) / 4) calc(var(--baseline) / 2);
+ background-color: var(--forum-color-background);
+ font-size: var(--forum-base-font-size); }
+ .discussion .comments .comment-form .discussion-submit-comment {
+ float: left;
+ margin-top: 8px; }
+ .discussion .comments .comment-form .wmd-input {
+ transition: all 0.2s linear 0s;
+ height: 40px; }
+ .discussion .comments .comment-form .discussion-errors {
+ margin: 0; }
+
+.response-count {
+ float: right;
+ margin-right: var(--baseline)/2;
+ color: var(--forum-color-copy-light);
+ font-size: var(--forum-base-font-size); }
+
+.response-pagination {
+ visibility: visible;
+ margin: calc(var(--baseline) / 2) 0; }
+ .response-pagination:empty {
+ visibility: hidden; }
+ .response-pagination .response-display-count {
+ display: block;
+ padding: calc(var(--baseline) / 2) 0;
+ color: var(--forum-color-response-count);
+ font-size: var(--forum-base-font-size); }
+ .response-pagination .load-response-button {
+ text-align: left;
+ position: relative;
+ margin: calc(var(--baseline) / 2) 0;
+ width: 100%; }
+
+.forum-nav .search-alert {
+ transition: none;
+ padding: calc(var(--baseline) / 2) 11px calc(var(--baseline) / 2) 18px;
+ background-color: var(--black); }
+
+.forum-nav .search-alert-content,
+.forum-nav .search-alert-controls {
+ display: inline-block;
+ vertical-align: middle; }
+
+.forum-nav .search-alert-content {
+ width: 70%; }
+ .forum-nav .search-alert-content .message {
+ font-size: var(--forum-small-font-size);
+ color: var(--white); }
+ .forum-nav .search-alert-content .message em {
+ font-style: italic; }
+ .forum-nav .search-alert-content .link-jump {
+ transition: none; }
+
+.forum-nav .search-alert-controls {
+ text-align: right;
+ width: 28%; }
+ .forum-nav .search-alert-controls .control {
+ transition: none;
+ padding: calc(var(--baseline) / 4) calc(var(--baseline) / 2);
+ color: var(--white);
+ font-size: var(--forum-base-font-size); }
+ .forum-nav .search-alert-controls .control:hover, .forum-nav .search-alert-controls .control:focus {
+ color: var(--white);
+ text-decoration: none; }
+
+.has-breadcrumbs .breadcrumbs {
+ margin: 5px 0 0; }
+ .has-breadcrumbs .breadcrumbs .all-topics {
+ font-size: 14px; }
+ .has-breadcrumbs .breadcrumbs .all-topics .fa {
+ margin-right: 10px; }
+
+.forum-nav-browse-filter label {
+ margin-bottom: 0;
+ width: 100%; }
+
+.forum-nav-browse-filter-input {
+ padding-left: calc(var(--baseline) / 4);
+ padding-right: calc(var(--baseline) / 2)12px;
+ box-shadow: none !important;
+ border-radius: var(--forum-border-radius) !important;
+ height: auto !important;
+ font-size: var(--forum-small-font-size) !important; }
+
+.forum-nav-filter-main,
+.forum-nav-filter-cohort,
+.forum-nav-sort {
+ font: inherit;
+ line-height: 1em;
+ margin-bottom: 0; }
+
+.forum-nav-filter-main-control,
+.forum-nav-filter-cohort-control,
+.forum-nav-sort-control {
+ font: inherit; }
+
+li[class*=forum-nav-thread-label-] span {
+ color: inherit; }
+
+li[class*=forum-nav-thread-label-]::before, li[class*=forum-nav-thread-label-]::after {
+ display: none !important; }
+
+.discussion .action-label span,
+.discussion .action-icon span {
+ color: inherit; }
+
+.discussion-module .post-header {
+ margin-bottom: 0 !important;
+ padding-bottom: 0 !important; }
+ .discussion-module .post-header .posted-details {
+ margin: calc(var(--baseline) / 5) 0 !important; }
+ .discussion-module .post-header .post-labels {
+ font-size: var(--forum-base-font-size); }
+ .discussion-module .post-header .post-title {
+ margin-bottom: 0 !important; }
+
+.discussion-article .response-header {
+ line-height: 1 !important;
+ font-size: var(--forum-base-font-size) !important;
+ margin-bottom: 0 !important;
+ padding-bottom: 0 !important; }
+
+/*
+ This file mirror UXPL Form field styles
+*/
+.post-type-label {
+ margin-right: 20px;
+ display: inline-block;
+ line-height: 100%; }
+
+.post-options .field-label {
+ display: inline-block; }
+
+.field-label .field-input:checked + .field-input-label {
+ color: #0075b4; }
+
+.input-radio,
+.input-checkbox {
+ margin-right: 10px; }
+
+.discussion.inline-discussion .inline-threads {
+ border: 1px solid var(--forum-color-border);
+ border-radius: var(--forum-border-radius); }
+
+.discussion.inline-discussion .inline-thread {
+ border: 1px solid var(--forum-color-border);
+ border-radius: var(--forum-border-radius); }
+ .discussion.inline-discussion .inline-thread .forum-nav-bar {
+ padding: calc(var(--baseline) / 2) calc(var(--baseline) / 4);
+ color: var(--forum-color-navigation-bar);
+ position: relative; }
+ .discussion.inline-discussion .inline-thread .forum-nav-bar .all-posts-btn {
+ color: var(--forum-color-primary); }
+ .discussion.inline-discussion .inline-thread .forum-nav-bar .all-posts-btn .icon {
+ margin-left: calc(var(--baseline) / 2); }
+ .discussion.inline-discussion .inline-thread .forum-content {
+ padding: calc(var(--baseline) / 2);
+ overflow-y: auto; }
+
+.discussion.inline-discussion .new-post-article {
+ position: relative;
+ border: 1px solid var(--forum-color-border); }
+ .discussion.inline-discussion .new-post-article .add-post-cancel {
+ right: calc(var(--baseline) / 2);
+ top: calc(var(--baseline) / 2);
+ position: absolute;
+ color: #0075b4; }
+ .discussion.inline-discussion .new-post-article .add-post-cancel:hover, .discussion.inline-discussion .new-post-article .add-post-cancel:focus {
+ border-color: transparent;
+ box-shadow: none;
+ background-color: transparent;
+ background-image: none; }
diff --git a/xblocks_contrib/discussion/public/css/inline-discussion.css b/xblocks_contrib/discussion/public/css/inline-discussion.css
new file mode 100644
index 00000000..0c808c5a
--- /dev/null
+++ b/xblocks_contrib/discussion/public/css/inline-discussion.css
@@ -0,0 +1,4572 @@
+@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,400i,600,700");
+@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,400i,600,700");
+@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,400i,600,700");
+@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,400i,600,700");
+@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,400i,600,700");
+.align-baseline {
+ vertical-align: baseline !important; }
+
+.align-top {
+ vertical-align: top !important; }
+
+.align-middle {
+ vertical-align: middle !important; }
+
+.align-bottom {
+ vertical-align: bottom !important; }
+
+.align-text-bottom {
+ vertical-align: text-bottom !important; }
+
+.align-text-top {
+ vertical-align: text-top !important; }
+
+.bg-primary {
+ background-color: #0075b4 !important; }
+
+a.bg-primary:hover, a.bg-primary:focus,
+button.bg-primary:hover,
+button.bg-primary:focus {
+ background-color: #005481 !important; }
+
+.bg-secondary {
+ background-color: #313131 !important; }
+
+a.bg-secondary:hover, a.bg-secondary:focus,
+button.bg-secondary:hover,
+button.bg-secondary:focus {
+ background-color: #181818 !important; }
+
+.bg-success {
+ background-color: #008100 !important; }
+
+a.bg-success:hover, a.bg-success:focus,
+button.bg-success:hover,
+button.bg-success:focus {
+ background-color: #004e00 !important; }
+
+.bg-info {
+ background-color: #17a2b8 !important; }
+
+a.bg-info:hover, a.bg-info:focus,
+button.bg-info:hover,
+button.bg-info:focus {
+ background-color: #117a8b !important; }
+
+.bg-warning {
+ background-color: #e2c01f !important; }
+
+a.bg-warning:hover, a.bg-warning:focus,
+button.bg-warning:hover,
+button.bg-warning:focus {
+ background-color: #b69b18 !important; }
+
+.bg-danger {
+ background-color: #b20610 !important; }
+
+a.bg-danger:hover, a.bg-danger:focus,
+button.bg-danger:hover,
+button.bg-danger:focus {
+ background-color: #81040c !important; }
+
+.bg-light {
+ background-color: #e7e7e7 !important; }
+
+a.bg-light:hover, a.bg-light:focus,
+button.bg-light:hover,
+button.bg-light:focus {
+ background-color: #cecece !important; }
+
+.bg-dark {
+ background-color: #313131 !important; }
+
+a.bg-dark:hover, a.bg-dark:focus,
+button.bg-dark:hover,
+button.bg-dark:focus {
+ background-color: #181818 !important; }
+
+.bg-inverse {
+ background-color: #fff !important; }
+
+a.bg-inverse:hover, a.bg-inverse:focus,
+button.bg-inverse:hover,
+button.bg-inverse:focus {
+ background-color: #e6e6e6 !important; }
+
+.bg-disabled {
+ background-color: #767676 !important; }
+
+a.bg-disabled:hover, a.bg-disabled:focus,
+button.bg-disabled:hover,
+button.bg-disabled:focus {
+ background-color: #5d5d5d !important; }
+
+.bg-purchase {
+ background-color: #008100 !important; }
+
+a.bg-purchase:hover, a.bg-purchase:focus,
+button.bg-purchase:hover,
+button.bg-purchase:focus {
+ background-color: #004e00 !important; }
+
+.bg-lightest {
+ background-color: #f5f5f5 !important; }
+
+a.bg-lightest:hover, a.bg-lightest:focus,
+button.bg-lightest:hover,
+button.bg-lightest:focus {
+ background-color: gainsboro !important; }
+
+.bg-darker {
+ background-color: #111 !important; }
+
+a.bg-darker:hover, a.bg-darker:focus,
+button.bg-darker:hover,
+button.bg-darker:focus {
+ background-color: black !important; }
+
+.bg-darkest {
+ background-color: #000 !important; }
+
+a.bg-darkest:hover, a.bg-darkest:focus,
+button.bg-darkest:hover,
+button.bg-darkest:focus {
+ background-color: black !important; }
+
+.bg-white {
+ background-color: #fff !important; }
+
+.bg-transparent {
+ background-color: transparent !important; }
+
+.border {
+ border: 1px solid #e7e7e7 !important; }
+
+.border-top {
+ border-top: 1px solid #e7e7e7 !important; }
+
+.border-right {
+ border-right: 1px solid #e7e7e7 !important; }
+
+.border-bottom {
+ border-bottom: 1px solid #e7e7e7 !important; }
+
+.border-left {
+ border-left: 1px solid #e7e7e7 !important; }
+
+.border-0 {
+ border: 0 !important; }
+
+.border-top-0 {
+ border-top: 0 !important; }
+
+.border-right-0 {
+ border-right: 0 !important; }
+
+.border-bottom-0 {
+ border-bottom: 0 !important; }
+
+.border-left-0 {
+ border-left: 0 !important; }
+
+.border-primary {
+ border-color: #0075b4 !important; }
+
+.border-secondary {
+ border-color: #313131 !important; }
+
+.border-success {
+ border-color: #008100 !important; }
+
+.border-info {
+ border-color: #17a2b8 !important; }
+
+.border-warning {
+ border-color: #e2c01f !important; }
+
+.border-danger {
+ border-color: #b20610 !important; }
+
+.border-light {
+ border-color: #e7e7e7 !important; }
+
+.border-dark {
+ border-color: #313131 !important; }
+
+.border-inverse {
+ border-color: #fff !important; }
+
+.border-disabled {
+ border-color: #767676 !important; }
+
+.border-purchase {
+ border-color: #008100 !important; }
+
+.border-lightest {
+ border-color: #f5f5f5 !important; }
+
+.border-darker {
+ border-color: #111 !important; }
+
+.border-darkest {
+ border-color: #000 !important; }
+
+.border-white {
+ border-color: #fff !important; }
+
+.rounded {
+ border-radius: 0.1875rem !important; }
+
+.rounded-top {
+ border-top-left-radius: 0.1875rem !important;
+ border-top-right-radius: 0.1875rem !important; }
+
+.rounded-right {
+ border-top-right-radius: 0.1875rem !important;
+ border-bottom-right-radius: 0.1875rem !important; }
+
+.rounded-bottom {
+ border-bottom-right-radius: 0.1875rem !important;
+ border-bottom-left-radius: 0.1875rem !important; }
+
+.rounded-left {
+ border-top-left-radius: 0.1875rem !important;
+ border-bottom-left-radius: 0.1875rem !important; }
+
+.rounded-circle {
+ border-radius: 50% !important; }
+
+.rounded-0 {
+ border-radius: 0 !important; }
+
+.clearfix:after {
+ content: "";
+ display: table;
+ clear: both; }
+
+.d-none {
+ display: none !important; }
+
+.d-inline {
+ display: inline !important; }
+
+.d-inline-block {
+ display: inline-block !important; }
+
+.d-block {
+ display: block !important; }
+
+.d-table {
+ display: table !important; }
+
+.d-table-row {
+ display: table-row !important; }
+
+.d-table-cell {
+ display: table-cell !important; }
+
+.d-flex {
+ display: flex !important; }
+
+.d-inline-flex {
+ display: inline-flex !important; }
+
+@media (min-width: 576px) {
+ .d-sm-none {
+ display: none !important; }
+ .d-sm-inline {
+ display: inline !important; }
+ .d-sm-inline-block {
+ display: inline-block !important; }
+ .d-sm-block {
+ display: block !important; }
+ .d-sm-table {
+ display: table !important; }
+ .d-sm-table-row {
+ display: table-row !important; }
+ .d-sm-table-cell {
+ display: table-cell !important; }
+ .d-sm-flex {
+ display: flex !important; }
+ .d-sm-inline-flex {
+ display: inline-flex !important; } }
+
+@media (min-width: 768px) {
+ .d-md-none {
+ display: none !important; }
+ .d-md-inline {
+ display: inline !important; }
+ .d-md-inline-block {
+ display: inline-block !important; }
+ .d-md-block {
+ display: block !important; }
+ .d-md-table {
+ display: table !important; }
+ .d-md-table-row {
+ display: table-row !important; }
+ .d-md-table-cell {
+ display: table-cell !important; }
+ .d-md-flex {
+ display: flex !important; }
+ .d-md-inline-flex {
+ display: inline-flex !important; } }
+
+@media (min-width: 992px) {
+ .d-lg-none {
+ display: none !important; }
+ .d-lg-inline {
+ display: inline !important; }
+ .d-lg-inline-block {
+ display: inline-block !important; }
+ .d-lg-block {
+ display: block !important; }
+ .d-lg-table {
+ display: table !important; }
+ .d-lg-table-row {
+ display: table-row !important; }
+ .d-lg-table-cell {
+ display: table-cell !important; }
+ .d-lg-flex {
+ display: flex !important; }
+ .d-lg-inline-flex {
+ display: inline-flex !important; } }
+
+@media (min-width: 1200px) {
+ .d-xl-none {
+ display: none !important; }
+ .d-xl-inline {
+ display: inline !important; }
+ .d-xl-inline-block {
+ display: inline-block !important; }
+ .d-xl-block {
+ display: block !important; }
+ .d-xl-table {
+ display: table !important; }
+ .d-xl-table-row {
+ display: table-row !important; }
+ .d-xl-table-cell {
+ display: table-cell !important; }
+ .d-xl-flex {
+ display: flex !important; }
+ .d-xl-inline-flex {
+ display: inline-flex !important; } }
+
+@media print {
+ .d-print-none {
+ display: none !important; }
+ .d-print-inline {
+ display: inline !important; }
+ .d-print-inline-block {
+ display: inline-block !important; }
+ .d-print-block {
+ display: block !important; }
+ .d-print-table {
+ display: table !important; }
+ .d-print-table-row {
+ display: table-row !important; }
+ .d-print-table-cell {
+ display: table-cell !important; }
+ .d-print-flex {
+ display: flex !important; }
+ .d-print-inline-flex {
+ display: inline-flex !important; } }
+
+.embed-responsive {
+ position: relative;
+ display: block;
+ width: 100%;
+ padding: 0;
+ overflow: hidden; }
+ .embed-responsive::before {
+ display: block;
+ content: ""; }
+ .embed-responsive .embed-responsive-item,
+ .embed-responsive iframe,
+ .embed-responsive embed,
+ .embed-responsive object,
+ .embed-responsive video {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ border: 0; }
+
+.embed-responsive-21by9::before {
+ padding-top: 42.85714%; }
+
+.embed-responsive-16by9::before {
+ padding-top: 56.25%; }
+
+.embed-responsive-4by3::before {
+ padding-top: 75%; }
+
+.embed-responsive-1by1::before {
+ padding-top: 100%; }
+
+.flex-row {
+ flex-direction: row !important; }
+
+.flex-column {
+ flex-direction: column !important; }
+
+.flex-row-reverse {
+ flex-direction: row-reverse !important; }
+
+.flex-column-reverse {
+ flex-direction: column-reverse !important; }
+
+.flex-wrap {
+ flex-wrap: wrap !important; }
+
+.flex-nowrap {
+ flex-wrap: nowrap !important; }
+
+.flex-wrap-reverse {
+ flex-wrap: wrap-reverse !important; }
+
+.justify-content-start {
+ justify-content: flex-start !important; }
+
+.justify-content-end {
+ justify-content: flex-end !important; }
+
+.justify-content-center {
+ justify-content: center !important; }
+
+.justify-content-between {
+ justify-content: space-between !important; }
+
+.justify-content-around {
+ justify-content: space-around !important; }
+
+.align-items-start {
+ align-items: flex-start !important; }
+
+.align-items-end {
+ align-items: flex-end !important; }
+
+.align-items-center {
+ align-items: center !important; }
+
+.align-items-baseline {
+ align-items: baseline !important; }
+
+.align-items-stretch {
+ align-items: stretch !important; }
+
+.align-content-start {
+ align-content: flex-start !important; }
+
+.align-content-end {
+ align-content: flex-end !important; }
+
+.align-content-center {
+ align-content: center !important; }
+
+.align-content-between {
+ align-content: space-between !important; }
+
+.align-content-around {
+ align-content: space-around !important; }
+
+.align-content-stretch {
+ align-content: stretch !important; }
+
+.align-self-auto {
+ align-self: auto !important; }
+
+.align-self-start {
+ align-self: flex-start !important; }
+
+.align-self-end {
+ align-self: flex-end !important; }
+
+.align-self-center {
+ align-self: center !important; }
+
+.align-self-baseline {
+ align-self: baseline !important; }
+
+.align-self-stretch {
+ align-self: stretch !important; }
+
+@media (min-width: 576px) {
+ .flex-sm-row {
+ flex-direction: row !important; }
+ .flex-sm-column {
+ flex-direction: column !important; }
+ .flex-sm-row-reverse {
+ flex-direction: row-reverse !important; }
+ .flex-sm-column-reverse {
+ flex-direction: column-reverse !important; }
+ .flex-sm-wrap {
+ flex-wrap: wrap !important; }
+ .flex-sm-nowrap {
+ flex-wrap: nowrap !important; }
+ .flex-sm-wrap-reverse {
+ flex-wrap: wrap-reverse !important; }
+ .justify-content-sm-start {
+ justify-content: flex-start !important; }
+ .justify-content-sm-end {
+ justify-content: flex-end !important; }
+ .justify-content-sm-center {
+ justify-content: center !important; }
+ .justify-content-sm-between {
+ justify-content: space-between !important; }
+ .justify-content-sm-around {
+ justify-content: space-around !important; }
+ .align-items-sm-start {
+ align-items: flex-start !important; }
+ .align-items-sm-end {
+ align-items: flex-end !important; }
+ .align-items-sm-center {
+ align-items: center !important; }
+ .align-items-sm-baseline {
+ align-items: baseline !important; }
+ .align-items-sm-stretch {
+ align-items: stretch !important; }
+ .align-content-sm-start {
+ align-content: flex-start !important; }
+ .align-content-sm-end {
+ align-content: flex-end !important; }
+ .align-content-sm-center {
+ align-content: center !important; }
+ .align-content-sm-between {
+ align-content: space-between !important; }
+ .align-content-sm-around {
+ align-content: space-around !important; }
+ .align-content-sm-stretch {
+ align-content: stretch !important; }
+ .align-self-sm-auto {
+ align-self: auto !important; }
+ .align-self-sm-start {
+ align-self: flex-start !important; }
+ .align-self-sm-end {
+ align-self: flex-end !important; }
+ .align-self-sm-center {
+ align-self: center !important; }
+ .align-self-sm-baseline {
+ align-self: baseline !important; }
+ .align-self-sm-stretch {
+ align-self: stretch !important; } }
+
+@media (min-width: 768px) {
+ .flex-md-row {
+ flex-direction: row !important; }
+ .flex-md-column {
+ flex-direction: column !important; }
+ .flex-md-row-reverse {
+ flex-direction: row-reverse !important; }
+ .flex-md-column-reverse {
+ flex-direction: column-reverse !important; }
+ .flex-md-wrap {
+ flex-wrap: wrap !important; }
+ .flex-md-nowrap {
+ flex-wrap: nowrap !important; }
+ .flex-md-wrap-reverse {
+ flex-wrap: wrap-reverse !important; }
+ .justify-content-md-start {
+ justify-content: flex-start !important; }
+ .justify-content-md-end {
+ justify-content: flex-end !important; }
+ .justify-content-md-center {
+ justify-content: center !important; }
+ .justify-content-md-between {
+ justify-content: space-between !important; }
+ .justify-content-md-around {
+ justify-content: space-around !important; }
+ .align-items-md-start {
+ align-items: flex-start !important; }
+ .align-items-md-end {
+ align-items: flex-end !important; }
+ .align-items-md-center {
+ align-items: center !important; }
+ .align-items-md-baseline {
+ align-items: baseline !important; }
+ .align-items-md-stretch {
+ align-items: stretch !important; }
+ .align-content-md-start {
+ align-content: flex-start !important; }
+ .align-content-md-end {
+ align-content: flex-end !important; }
+ .align-content-md-center {
+ align-content: center !important; }
+ .align-content-md-between {
+ align-content: space-between !important; }
+ .align-content-md-around {
+ align-content: space-around !important; }
+ .align-content-md-stretch {
+ align-content: stretch !important; }
+ .align-self-md-auto {
+ align-self: auto !important; }
+ .align-self-md-start {
+ align-self: flex-start !important; }
+ .align-self-md-end {
+ align-self: flex-end !important; }
+ .align-self-md-center {
+ align-self: center !important; }
+ .align-self-md-baseline {
+ align-self: baseline !important; }
+ .align-self-md-stretch {
+ align-self: stretch !important; } }
+
+@media (min-width: 992px) {
+ .flex-lg-row {
+ flex-direction: row !important; }
+ .flex-lg-column {
+ flex-direction: column !important; }
+ .flex-lg-row-reverse {
+ flex-direction: row-reverse !important; }
+ .flex-lg-column-reverse {
+ flex-direction: column-reverse !important; }
+ .flex-lg-wrap {
+ flex-wrap: wrap !important; }
+ .flex-lg-nowrap {
+ flex-wrap: nowrap !important; }
+ .flex-lg-wrap-reverse {
+ flex-wrap: wrap-reverse !important; }
+ .justify-content-lg-start {
+ justify-content: flex-start !important; }
+ .justify-content-lg-end {
+ justify-content: flex-end !important; }
+ .justify-content-lg-center {
+ justify-content: center !important; }
+ .justify-content-lg-between {
+ justify-content: space-between !important; }
+ .justify-content-lg-around {
+ justify-content: space-around !important; }
+ .align-items-lg-start {
+ align-items: flex-start !important; }
+ .align-items-lg-end {
+ align-items: flex-end !important; }
+ .align-items-lg-center {
+ align-items: center !important; }
+ .align-items-lg-baseline {
+ align-items: baseline !important; }
+ .align-items-lg-stretch {
+ align-items: stretch !important; }
+ .align-content-lg-start {
+ align-content: flex-start !important; }
+ .align-content-lg-end {
+ align-content: flex-end !important; }
+ .align-content-lg-center {
+ align-content: center !important; }
+ .align-content-lg-between {
+ align-content: space-between !important; }
+ .align-content-lg-around {
+ align-content: space-around !important; }
+ .align-content-lg-stretch {
+ align-content: stretch !important; }
+ .align-self-lg-auto {
+ align-self: auto !important; }
+ .align-self-lg-start {
+ align-self: flex-start !important; }
+ .align-self-lg-end {
+ align-self: flex-end !important; }
+ .align-self-lg-center {
+ align-self: center !important; }
+ .align-self-lg-baseline {
+ align-self: baseline !important; }
+ .align-self-lg-stretch {
+ align-self: stretch !important; } }
+
+@media (min-width: 1200px) {
+ .flex-xl-row {
+ flex-direction: row !important; }
+ .flex-xl-column {
+ flex-direction: column !important; }
+ .flex-xl-row-reverse {
+ flex-direction: row-reverse !important; }
+ .flex-xl-column-reverse {
+ flex-direction: column-reverse !important; }
+ .flex-xl-wrap {
+ flex-wrap: wrap !important; }
+ .flex-xl-nowrap {
+ flex-wrap: nowrap !important; }
+ .flex-xl-wrap-reverse {
+ flex-wrap: wrap-reverse !important; }
+ .justify-content-xl-start {
+ justify-content: flex-start !important; }
+ .justify-content-xl-end {
+ justify-content: flex-end !important; }
+ .justify-content-xl-center {
+ justify-content: center !important; }
+ .justify-content-xl-between {
+ justify-content: space-between !important; }
+ .justify-content-xl-around {
+ justify-content: space-around !important; }
+ .align-items-xl-start {
+ align-items: flex-start !important; }
+ .align-items-xl-end {
+ align-items: flex-end !important; }
+ .align-items-xl-center {
+ align-items: center !important; }
+ .align-items-xl-baseline {
+ align-items: baseline !important; }
+ .align-items-xl-stretch {
+ align-items: stretch !important; }
+ .align-content-xl-start {
+ align-content: flex-start !important; }
+ .align-content-xl-end {
+ align-content: flex-end !important; }
+ .align-content-xl-center {
+ align-content: center !important; }
+ .align-content-xl-between {
+ align-content: space-between !important; }
+ .align-content-xl-around {
+ align-content: space-around !important; }
+ .align-content-xl-stretch {
+ align-content: stretch !important; }
+ .align-self-xl-auto {
+ align-self: auto !important; }
+ .align-self-xl-start {
+ align-self: flex-start !important; }
+ .align-self-xl-end {
+ align-self: flex-end !important; }
+ .align-self-xl-center {
+ align-self: center !important; }
+ .align-self-xl-baseline {
+ align-self: baseline !important; }
+ .align-self-xl-stretch {
+ align-self: stretch !important; } }
+
+.float-left {
+ float: left !important; }
+
+.float-right {
+ float: right !important; }
+
+.float-none {
+ float: none !important; }
+
+@media (min-width: 576px) {
+ .float-sm-left {
+ float: left !important; }
+ .float-sm-right {
+ float: right !important; }
+ .float-sm-none {
+ float: none !important; } }
+
+@media (min-width: 768px) {
+ .float-md-left {
+ float: left !important; }
+ .float-md-right {
+ float: right !important; }
+ .float-md-none {
+ float: none !important; } }
+
+@media (min-width: 992px) {
+ .float-lg-left {
+ float: left !important; }
+ .float-lg-right {
+ float: right !important; }
+ .float-lg-none {
+ float: none !important; } }
+
+@media (min-width: 1200px) {
+ .float-xl-left {
+ float: left !important; }
+ .float-xl-right {
+ float: right !important; }
+ .float-xl-none {
+ float: none !important; } }
+
+.position-static {
+ position: static !important; }
+
+.position-relative {
+ position: relative !important; }
+
+.position-absolute {
+ position: absolute !important; }
+
+.position-fixed {
+ position: fixed !important; }
+
+.position-sticky {
+ position: sticky !important; }
+
+.fixed-top {
+ position: fixed;
+ top: 0;
+ right: 0;
+ left: 0;
+ z-index: 1030; }
+
+.fixed-bottom {
+ position: fixed;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1030; }
+
+@supports (position: sticky) {
+ .sticky-top {
+ position: sticky;
+ top: 0;
+ z-index: 1020; } }
+
+.sr-only {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0);
+ white-space: nowrap;
+ clip-path: inset(50%);
+ border: 0; }
+
+.sr-only-focusable:active, .sr-only-focusable:focus {
+ position: static;
+ width: auto;
+ height: auto;
+ overflow: visible;
+ clip: auto;
+ white-space: normal;
+ clip-path: none; }
+
+.w-25 {
+ width: 25% !important; }
+
+.w-50 {
+ width: 50% !important; }
+
+.w-75 {
+ width: 75% !important; }
+
+.w-100 {
+ width: 100% !important; }
+
+.h-25 {
+ height: 25% !important; }
+
+.h-50 {
+ height: 50% !important; }
+
+.h-75 {
+ height: 75% !important; }
+
+.h-100 {
+ height: 100% !important; }
+
+.mw-100 {
+ max-width: 100% !important; }
+
+.mh-100 {
+ max-height: 100% !important; }
+
+.m-0 {
+ margin: 0 !important; }
+
+.mt-0,
+.my-0 {
+ margin-top: 0 !important; }
+
+.mr-0,
+.mx-0 {
+ margin-right: 0 !important; }
+
+.mb-0,
+.my-0 {
+ margin-bottom: 0 !important; }
+
+.ml-0,
+.mx-0 {
+ margin-left: 0 !important; }
+
+.m-1 {
+ margin: 0.25rem !important; }
+
+.mt-1,
+.my-1 {
+ margin-top: 0.25rem !important; }
+
+.mr-1,
+.mx-1 {
+ margin-right: 0.25rem !important; }
+
+.mb-1,
+.my-1 {
+ margin-bottom: 0.25rem !important; }
+
+.ml-1,
+.mx-1 {
+ margin-left: 0.25rem !important; }
+
+.m-2 {
+ margin: 0.5rem !important; }
+
+.mt-2,
+.my-2 {
+ margin-top: 0.5rem !important; }
+
+.mr-2,
+.mx-2 {
+ margin-right: 0.5rem !important; }
+
+.mb-2,
+.my-2 {
+ margin-bottom: 0.5rem !important; }
+
+.ml-2,
+.mx-2 {
+ margin-left: 0.5rem !important; }
+
+.m-3 {
+ margin: 1rem !important; }
+
+.mt-3,
+.my-3 {
+ margin-top: 1rem !important; }
+
+.mr-3,
+.mx-3 {
+ margin-right: 1rem !important; }
+
+.mb-3,
+.my-3 {
+ margin-bottom: 1rem !important; }
+
+.ml-3,
+.mx-3 {
+ margin-left: 1rem !important; }
+
+.m-4 {
+ margin: 1.5rem !important; }
+
+.mt-4,
+.my-4 {
+ margin-top: 1.5rem !important; }
+
+.mr-4,
+.mx-4 {
+ margin-right: 1.5rem !important; }
+
+.mb-4,
+.my-4 {
+ margin-bottom: 1.5rem !important; }
+
+.ml-4,
+.mx-4 {
+ margin-left: 1.5rem !important; }
+
+.m-5 {
+ margin: 3rem !important; }
+
+.mt-5,
+.my-5 {
+ margin-top: 3rem !important; }
+
+.mr-5,
+.mx-5 {
+ margin-right: 3rem !important; }
+
+.mb-5,
+.my-5 {
+ margin-bottom: 3rem !important; }
+
+.ml-5,
+.mx-5 {
+ margin-left: 3rem !important; }
+
+.p-0 {
+ padding: 0 !important; }
+
+.pt-0,
+.py-0 {
+ padding-top: 0 !important; }
+
+.pr-0,
+.px-0 {
+ padding-right: 0 !important; }
+
+.pb-0,
+.py-0 {
+ padding-bottom: 0 !important; }
+
+.pl-0,
+.px-0 {
+ padding-left: 0 !important; }
+
+.p-1 {
+ padding: 0.25rem !important; }
+
+.pt-1,
+.py-1 {
+ padding-top: 0.25rem !important; }
+
+.pr-1,
+.px-1 {
+ padding-right: 0.25rem !important; }
+
+.pb-1,
+.py-1 {
+ padding-bottom: 0.25rem !important; }
+
+.pl-1,
+.px-1 {
+ padding-left: 0.25rem !important; }
+
+.p-2 {
+ padding: 0.5rem !important; }
+
+.pt-2,
+.py-2 {
+ padding-top: 0.5rem !important; }
+
+.pr-2,
+.px-2 {
+ padding-right: 0.5rem !important; }
+
+.pb-2,
+.py-2 {
+ padding-bottom: 0.5rem !important; }
+
+.pl-2,
+.px-2 {
+ padding-left: 0.5rem !important; }
+
+.p-3 {
+ padding: 1rem !important; }
+
+.pt-3,
+.py-3 {
+ padding-top: 1rem !important; }
+
+.pr-3,
+.px-3 {
+ padding-right: 1rem !important; }
+
+.pb-3,
+.py-3 {
+ padding-bottom: 1rem !important; }
+
+.pl-3,
+.px-3 {
+ padding-left: 1rem !important; }
+
+.p-4 {
+ padding: 1.5rem !important; }
+
+.pt-4,
+.py-4 {
+ padding-top: 1.5rem !important; }
+
+.pr-4,
+.px-4 {
+ padding-right: 1.5rem !important; }
+
+.pb-4,
+.py-4 {
+ padding-bottom: 1.5rem !important; }
+
+.pl-4,
+.px-4 {
+ padding-left: 1.5rem !important; }
+
+.p-5 {
+ padding: 3rem !important; }
+
+.pt-5,
+.py-5 {
+ padding-top: 3rem !important; }
+
+.pr-5,
+.px-5 {
+ padding-right: 3rem !important; }
+
+.pb-5,
+.py-5 {
+ padding-bottom: 3rem !important; }
+
+.pl-5,
+.px-5 {
+ padding-left: 3rem !important; }
+
+.m-auto {
+ margin: auto !important; }
+
+.mt-auto,
+.my-auto {
+ margin-top: auto !important; }
+
+.mr-auto,
+.mx-auto {
+ margin-right: auto !important; }
+
+.mb-auto,
+.my-auto {
+ margin-bottom: auto !important; }
+
+.ml-auto,
+.mx-auto {
+ margin-left: auto !important; }
+
+@media (min-width: 576px) {
+ .m-sm-0 {
+ margin: 0 !important; }
+ .mt-sm-0,
+ .my-sm-0 {
+ margin-top: 0 !important; }
+ .mr-sm-0,
+ .mx-sm-0 {
+ margin-right: 0 !important; }
+ .mb-sm-0,
+ .my-sm-0 {
+ margin-bottom: 0 !important; }
+ .ml-sm-0,
+ .mx-sm-0 {
+ margin-left: 0 !important; }
+ .m-sm-1 {
+ margin: 0.25rem !important; }
+ .mt-sm-1,
+ .my-sm-1 {
+ margin-top: 0.25rem !important; }
+ .mr-sm-1,
+ .mx-sm-1 {
+ margin-right: 0.25rem !important; }
+ .mb-sm-1,
+ .my-sm-1 {
+ margin-bottom: 0.25rem !important; }
+ .ml-sm-1,
+ .mx-sm-1 {
+ margin-left: 0.25rem !important; }
+ .m-sm-2 {
+ margin: 0.5rem !important; }
+ .mt-sm-2,
+ .my-sm-2 {
+ margin-top: 0.5rem !important; }
+ .mr-sm-2,
+ .mx-sm-2 {
+ margin-right: 0.5rem !important; }
+ .mb-sm-2,
+ .my-sm-2 {
+ margin-bottom: 0.5rem !important; }
+ .ml-sm-2,
+ .mx-sm-2 {
+ margin-left: 0.5rem !important; }
+ .m-sm-3 {
+ margin: 1rem !important; }
+ .mt-sm-3,
+ .my-sm-3 {
+ margin-top: 1rem !important; }
+ .mr-sm-3,
+ .mx-sm-3 {
+ margin-right: 1rem !important; }
+ .mb-sm-3,
+ .my-sm-3 {
+ margin-bottom: 1rem !important; }
+ .ml-sm-3,
+ .mx-sm-3 {
+ margin-left: 1rem !important; }
+ .m-sm-4 {
+ margin: 1.5rem !important; }
+ .mt-sm-4,
+ .my-sm-4 {
+ margin-top: 1.5rem !important; }
+ .mr-sm-4,
+ .mx-sm-4 {
+ margin-right: 1.5rem !important; }
+ .mb-sm-4,
+ .my-sm-4 {
+ margin-bottom: 1.5rem !important; }
+ .ml-sm-4,
+ .mx-sm-4 {
+ margin-left: 1.5rem !important; }
+ .m-sm-5 {
+ margin: 3rem !important; }
+ .mt-sm-5,
+ .my-sm-5 {
+ margin-top: 3rem !important; }
+ .mr-sm-5,
+ .mx-sm-5 {
+ margin-right: 3rem !important; }
+ .mb-sm-5,
+ .my-sm-5 {
+ margin-bottom: 3rem !important; }
+ .ml-sm-5,
+ .mx-sm-5 {
+ margin-left: 3rem !important; }
+ .p-sm-0 {
+ padding: 0 !important; }
+ .pt-sm-0,
+ .py-sm-0 {
+ padding-top: 0 !important; }
+ .pr-sm-0,
+ .px-sm-0 {
+ padding-right: 0 !important; }
+ .pb-sm-0,
+ .py-sm-0 {
+ padding-bottom: 0 !important; }
+ .pl-sm-0,
+ .px-sm-0 {
+ padding-left: 0 !important; }
+ .p-sm-1 {
+ padding: 0.25rem !important; }
+ .pt-sm-1,
+ .py-sm-1 {
+ padding-top: 0.25rem !important; }
+ .pr-sm-1,
+ .px-sm-1 {
+ padding-right: 0.25rem !important; }
+ .pb-sm-1,
+ .py-sm-1 {
+ padding-bottom: 0.25rem !important; }
+ .pl-sm-1,
+ .px-sm-1 {
+ padding-left: 0.25rem !important; }
+ .p-sm-2 {
+ padding: 0.5rem !important; }
+ .pt-sm-2,
+ .py-sm-2 {
+ padding-top: 0.5rem !important; }
+ .pr-sm-2,
+ .px-sm-2 {
+ padding-right: 0.5rem !important; }
+ .pb-sm-2,
+ .py-sm-2 {
+ padding-bottom: 0.5rem !important; }
+ .pl-sm-2,
+ .px-sm-2 {
+ padding-left: 0.5rem !important; }
+ .p-sm-3 {
+ padding: 1rem !important; }
+ .pt-sm-3,
+ .py-sm-3 {
+ padding-top: 1rem !important; }
+ .pr-sm-3,
+ .px-sm-3 {
+ padding-right: 1rem !important; }
+ .pb-sm-3,
+ .py-sm-3 {
+ padding-bottom: 1rem !important; }
+ .pl-sm-3,
+ .px-sm-3 {
+ padding-left: 1rem !important; }
+ .p-sm-4 {
+ padding: 1.5rem !important; }
+ .pt-sm-4,
+ .py-sm-4 {
+ padding-top: 1.5rem !important; }
+ .pr-sm-4,
+ .px-sm-4 {
+ padding-right: 1.5rem !important; }
+ .pb-sm-4,
+ .py-sm-4 {
+ padding-bottom: 1.5rem !important; }
+ .pl-sm-4,
+ .px-sm-4 {
+ padding-left: 1.5rem !important; }
+ .p-sm-5 {
+ padding: 3rem !important; }
+ .pt-sm-5,
+ .py-sm-5 {
+ padding-top: 3rem !important; }
+ .pr-sm-5,
+ .px-sm-5 {
+ padding-right: 3rem !important; }
+ .pb-sm-5,
+ .py-sm-5 {
+ padding-bottom: 3rem !important; }
+ .pl-sm-5,
+ .px-sm-5 {
+ padding-left: 3rem !important; }
+ .m-sm-auto {
+ margin: auto !important; }
+ .mt-sm-auto,
+ .my-sm-auto {
+ margin-top: auto !important; }
+ .mr-sm-auto,
+ .mx-sm-auto {
+ margin-right: auto !important; }
+ .mb-sm-auto,
+ .my-sm-auto {
+ margin-bottom: auto !important; }
+ .ml-sm-auto,
+ .mx-sm-auto {
+ margin-left: auto !important; } }
+
+@media (min-width: 768px) {
+ .m-md-0 {
+ margin: 0 !important; }
+ .mt-md-0,
+ .my-md-0 {
+ margin-top: 0 !important; }
+ .mr-md-0,
+ .mx-md-0 {
+ margin-right: 0 !important; }
+ .mb-md-0,
+ .my-md-0 {
+ margin-bottom: 0 !important; }
+ .ml-md-0,
+ .mx-md-0 {
+ margin-left: 0 !important; }
+ .m-md-1 {
+ margin: 0.25rem !important; }
+ .mt-md-1,
+ .my-md-1 {
+ margin-top: 0.25rem !important; }
+ .mr-md-1,
+ .mx-md-1 {
+ margin-right: 0.25rem !important; }
+ .mb-md-1,
+ .my-md-1 {
+ margin-bottom: 0.25rem !important; }
+ .ml-md-1,
+ .mx-md-1 {
+ margin-left: 0.25rem !important; }
+ .m-md-2 {
+ margin: 0.5rem !important; }
+ .mt-md-2,
+ .my-md-2 {
+ margin-top: 0.5rem !important; }
+ .mr-md-2,
+ .mx-md-2 {
+ margin-right: 0.5rem !important; }
+ .mb-md-2,
+ .my-md-2 {
+ margin-bottom: 0.5rem !important; }
+ .ml-md-2,
+ .mx-md-2 {
+ margin-left: 0.5rem !important; }
+ .m-md-3 {
+ margin: 1rem !important; }
+ .mt-md-3,
+ .my-md-3 {
+ margin-top: 1rem !important; }
+ .mr-md-3,
+ .mx-md-3 {
+ margin-right: 1rem !important; }
+ .mb-md-3,
+ .my-md-3 {
+ margin-bottom: 1rem !important; }
+ .ml-md-3,
+ .mx-md-3 {
+ margin-left: 1rem !important; }
+ .m-md-4 {
+ margin: 1.5rem !important; }
+ .mt-md-4,
+ .my-md-4 {
+ margin-top: 1.5rem !important; }
+ .mr-md-4,
+ .mx-md-4 {
+ margin-right: 1.5rem !important; }
+ .mb-md-4,
+ .my-md-4 {
+ margin-bottom: 1.5rem !important; }
+ .ml-md-4,
+ .mx-md-4 {
+ margin-left: 1.5rem !important; }
+ .m-md-5 {
+ margin: 3rem !important; }
+ .mt-md-5,
+ .my-md-5 {
+ margin-top: 3rem !important; }
+ .mr-md-5,
+ .mx-md-5 {
+ margin-right: 3rem !important; }
+ .mb-md-5,
+ .my-md-5 {
+ margin-bottom: 3rem !important; }
+ .ml-md-5,
+ .mx-md-5 {
+ margin-left: 3rem !important; }
+ .p-md-0 {
+ padding: 0 !important; }
+ .pt-md-0,
+ .py-md-0 {
+ padding-top: 0 !important; }
+ .pr-md-0,
+ .px-md-0 {
+ padding-right: 0 !important; }
+ .pb-md-0,
+ .py-md-0 {
+ padding-bottom: 0 !important; }
+ .pl-md-0,
+ .px-md-0 {
+ padding-left: 0 !important; }
+ .p-md-1 {
+ padding: 0.25rem !important; }
+ .pt-md-1,
+ .py-md-1 {
+ padding-top: 0.25rem !important; }
+ .pr-md-1,
+ .px-md-1 {
+ padding-right: 0.25rem !important; }
+ .pb-md-1,
+ .py-md-1 {
+ padding-bottom: 0.25rem !important; }
+ .pl-md-1,
+ .px-md-1 {
+ padding-left: 0.25rem !important; }
+ .p-md-2 {
+ padding: 0.5rem !important; }
+ .pt-md-2,
+ .py-md-2 {
+ padding-top: 0.5rem !important; }
+ .pr-md-2,
+ .px-md-2 {
+ padding-right: 0.5rem !important; }
+ .pb-md-2,
+ .py-md-2 {
+ padding-bottom: 0.5rem !important; }
+ .pl-md-2,
+ .px-md-2 {
+ padding-left: 0.5rem !important; }
+ .p-md-3 {
+ padding: 1rem !important; }
+ .pt-md-3,
+ .py-md-3 {
+ padding-top: 1rem !important; }
+ .pr-md-3,
+ .px-md-3 {
+ padding-right: 1rem !important; }
+ .pb-md-3,
+ .py-md-3 {
+ padding-bottom: 1rem !important; }
+ .pl-md-3,
+ .px-md-3 {
+ padding-left: 1rem !important; }
+ .p-md-4 {
+ padding: 1.5rem !important; }
+ .pt-md-4,
+ .py-md-4 {
+ padding-top: 1.5rem !important; }
+ .pr-md-4,
+ .px-md-4 {
+ padding-right: 1.5rem !important; }
+ .pb-md-4,
+ .py-md-4 {
+ padding-bottom: 1.5rem !important; }
+ .pl-md-4,
+ .px-md-4 {
+ padding-left: 1.5rem !important; }
+ .p-md-5 {
+ padding: 3rem !important; }
+ .pt-md-5,
+ .py-md-5 {
+ padding-top: 3rem !important; }
+ .pr-md-5,
+ .px-md-5 {
+ padding-right: 3rem !important; }
+ .pb-md-5,
+ .py-md-5 {
+ padding-bottom: 3rem !important; }
+ .pl-md-5,
+ .px-md-5 {
+ padding-left: 3rem !important; }
+ .m-md-auto {
+ margin: auto !important; }
+ .mt-md-auto,
+ .my-md-auto {
+ margin-top: auto !important; }
+ .mr-md-auto,
+ .mx-md-auto {
+ margin-right: auto !important; }
+ .mb-md-auto,
+ .my-md-auto {
+ margin-bottom: auto !important; }
+ .ml-md-auto,
+ .mx-md-auto {
+ margin-left: auto !important; } }
+
+@media (min-width: 992px) {
+ .m-lg-0 {
+ margin: 0 !important; }
+ .mt-lg-0,
+ .my-lg-0 {
+ margin-top: 0 !important; }
+ .mr-lg-0,
+ .mx-lg-0 {
+ margin-right: 0 !important; }
+ .mb-lg-0,
+ .my-lg-0 {
+ margin-bottom: 0 !important; }
+ .ml-lg-0,
+ .mx-lg-0 {
+ margin-left: 0 !important; }
+ .m-lg-1 {
+ margin: 0.25rem !important; }
+ .mt-lg-1,
+ .my-lg-1 {
+ margin-top: 0.25rem !important; }
+ .mr-lg-1,
+ .mx-lg-1 {
+ margin-right: 0.25rem !important; }
+ .mb-lg-1,
+ .my-lg-1 {
+ margin-bottom: 0.25rem !important; }
+ .ml-lg-1,
+ .mx-lg-1 {
+ margin-left: 0.25rem !important; }
+ .m-lg-2 {
+ margin: 0.5rem !important; }
+ .mt-lg-2,
+ .my-lg-2 {
+ margin-top: 0.5rem !important; }
+ .mr-lg-2,
+ .mx-lg-2 {
+ margin-right: 0.5rem !important; }
+ .mb-lg-2,
+ .my-lg-2 {
+ margin-bottom: 0.5rem !important; }
+ .ml-lg-2,
+ .mx-lg-2 {
+ margin-left: 0.5rem !important; }
+ .m-lg-3 {
+ margin: 1rem !important; }
+ .mt-lg-3,
+ .my-lg-3 {
+ margin-top: 1rem !important; }
+ .mr-lg-3,
+ .mx-lg-3 {
+ margin-right: 1rem !important; }
+ .mb-lg-3,
+ .my-lg-3 {
+ margin-bottom: 1rem !important; }
+ .ml-lg-3,
+ .mx-lg-3 {
+ margin-left: 1rem !important; }
+ .m-lg-4 {
+ margin: 1.5rem !important; }
+ .mt-lg-4,
+ .my-lg-4 {
+ margin-top: 1.5rem !important; }
+ .mr-lg-4,
+ .mx-lg-4 {
+ margin-right: 1.5rem !important; }
+ .mb-lg-4,
+ .my-lg-4 {
+ margin-bottom: 1.5rem !important; }
+ .ml-lg-4,
+ .mx-lg-4 {
+ margin-left: 1.5rem !important; }
+ .m-lg-5 {
+ margin: 3rem !important; }
+ .mt-lg-5,
+ .my-lg-5 {
+ margin-top: 3rem !important; }
+ .mr-lg-5,
+ .mx-lg-5 {
+ margin-right: 3rem !important; }
+ .mb-lg-5,
+ .my-lg-5 {
+ margin-bottom: 3rem !important; }
+ .ml-lg-5,
+ .mx-lg-5 {
+ margin-left: 3rem !important; }
+ .p-lg-0 {
+ padding: 0 !important; }
+ .pt-lg-0,
+ .py-lg-0 {
+ padding-top: 0 !important; }
+ .pr-lg-0,
+ .px-lg-0 {
+ padding-right: 0 !important; }
+ .pb-lg-0,
+ .py-lg-0 {
+ padding-bottom: 0 !important; }
+ .pl-lg-0,
+ .px-lg-0 {
+ padding-left: 0 !important; }
+ .p-lg-1 {
+ padding: 0.25rem !important; }
+ .pt-lg-1,
+ .py-lg-1 {
+ padding-top: 0.25rem !important; }
+ .pr-lg-1,
+ .px-lg-1 {
+ padding-right: 0.25rem !important; }
+ .pb-lg-1,
+ .py-lg-1 {
+ padding-bottom: 0.25rem !important; }
+ .pl-lg-1,
+ .px-lg-1 {
+ padding-left: 0.25rem !important; }
+ .p-lg-2 {
+ padding: 0.5rem !important; }
+ .pt-lg-2,
+ .py-lg-2 {
+ padding-top: 0.5rem !important; }
+ .pr-lg-2,
+ .px-lg-2 {
+ padding-right: 0.5rem !important; }
+ .pb-lg-2,
+ .py-lg-2 {
+ padding-bottom: 0.5rem !important; }
+ .pl-lg-2,
+ .px-lg-2 {
+ padding-left: 0.5rem !important; }
+ .p-lg-3 {
+ padding: 1rem !important; }
+ .pt-lg-3,
+ .py-lg-3 {
+ padding-top: 1rem !important; }
+ .pr-lg-3,
+ .px-lg-3 {
+ padding-right: 1rem !important; }
+ .pb-lg-3,
+ .py-lg-3 {
+ padding-bottom: 1rem !important; }
+ .pl-lg-3,
+ .px-lg-3 {
+ padding-left: 1rem !important; }
+ .p-lg-4 {
+ padding: 1.5rem !important; }
+ .pt-lg-4,
+ .py-lg-4 {
+ padding-top: 1.5rem !important; }
+ .pr-lg-4,
+ .px-lg-4 {
+ padding-right: 1.5rem !important; }
+ .pb-lg-4,
+ .py-lg-4 {
+ padding-bottom: 1.5rem !important; }
+ .pl-lg-4,
+ .px-lg-4 {
+ padding-left: 1.5rem !important; }
+ .p-lg-5 {
+ padding: 3rem !important; }
+ .pt-lg-5,
+ .py-lg-5 {
+ padding-top: 3rem !important; }
+ .pr-lg-5,
+ .px-lg-5 {
+ padding-right: 3rem !important; }
+ .pb-lg-5,
+ .py-lg-5 {
+ padding-bottom: 3rem !important; }
+ .pl-lg-5,
+ .px-lg-5 {
+ padding-left: 3rem !important; }
+ .m-lg-auto {
+ margin: auto !important; }
+ .mt-lg-auto,
+ .my-lg-auto {
+ margin-top: auto !important; }
+ .mr-lg-auto,
+ .mx-lg-auto {
+ margin-right: auto !important; }
+ .mb-lg-auto,
+ .my-lg-auto {
+ margin-bottom: auto !important; }
+ .ml-lg-auto,
+ .mx-lg-auto {
+ margin-left: auto !important; } }
+
+@media (min-width: 1200px) {
+ .m-xl-0 {
+ margin: 0 !important; }
+ .mt-xl-0,
+ .my-xl-0 {
+ margin-top: 0 !important; }
+ .mr-xl-0,
+ .mx-xl-0 {
+ margin-right: 0 !important; }
+ .mb-xl-0,
+ .my-xl-0 {
+ margin-bottom: 0 !important; }
+ .ml-xl-0,
+ .mx-xl-0 {
+ margin-left: 0 !important; }
+ .m-xl-1 {
+ margin: 0.25rem !important; }
+ .mt-xl-1,
+ .my-xl-1 {
+ margin-top: 0.25rem !important; }
+ .mr-xl-1,
+ .mx-xl-1 {
+ margin-right: 0.25rem !important; }
+ .mb-xl-1,
+ .my-xl-1 {
+ margin-bottom: 0.25rem !important; }
+ .ml-xl-1,
+ .mx-xl-1 {
+ margin-left: 0.25rem !important; }
+ .m-xl-2 {
+ margin: 0.5rem !important; }
+ .mt-xl-2,
+ .my-xl-2 {
+ margin-top: 0.5rem !important; }
+ .mr-xl-2,
+ .mx-xl-2 {
+ margin-right: 0.5rem !important; }
+ .mb-xl-2,
+ .my-xl-2 {
+ margin-bottom: 0.5rem !important; }
+ .ml-xl-2,
+ .mx-xl-2 {
+ margin-left: 0.5rem !important; }
+ .m-xl-3 {
+ margin: 1rem !important; }
+ .mt-xl-3,
+ .my-xl-3 {
+ margin-top: 1rem !important; }
+ .mr-xl-3,
+ .mx-xl-3 {
+ margin-right: 1rem !important; }
+ .mb-xl-3,
+ .my-xl-3 {
+ margin-bottom: 1rem !important; }
+ .ml-xl-3,
+ .mx-xl-3 {
+ margin-left: 1rem !important; }
+ .m-xl-4 {
+ margin: 1.5rem !important; }
+ .mt-xl-4,
+ .my-xl-4 {
+ margin-top: 1.5rem !important; }
+ .mr-xl-4,
+ .mx-xl-4 {
+ margin-right: 1.5rem !important; }
+ .mb-xl-4,
+ .my-xl-4 {
+ margin-bottom: 1.5rem !important; }
+ .ml-xl-4,
+ .mx-xl-4 {
+ margin-left: 1.5rem !important; }
+ .m-xl-5 {
+ margin: 3rem !important; }
+ .mt-xl-5,
+ .my-xl-5 {
+ margin-top: 3rem !important; }
+ .mr-xl-5,
+ .mx-xl-5 {
+ margin-right: 3rem !important; }
+ .mb-xl-5,
+ .my-xl-5 {
+ margin-bottom: 3rem !important; }
+ .ml-xl-5,
+ .mx-xl-5 {
+ margin-left: 3rem !important; }
+ .p-xl-0 {
+ padding: 0 !important; }
+ .pt-xl-0,
+ .py-xl-0 {
+ padding-top: 0 !important; }
+ .pr-xl-0,
+ .px-xl-0 {
+ padding-right: 0 !important; }
+ .pb-xl-0,
+ .py-xl-0 {
+ padding-bottom: 0 !important; }
+ .pl-xl-0,
+ .px-xl-0 {
+ padding-left: 0 !important; }
+ .p-xl-1 {
+ padding: 0.25rem !important; }
+ .pt-xl-1,
+ .py-xl-1 {
+ padding-top: 0.25rem !important; }
+ .pr-xl-1,
+ .px-xl-1 {
+ padding-right: 0.25rem !important; }
+ .pb-xl-1,
+ .py-xl-1 {
+ padding-bottom: 0.25rem !important; }
+ .pl-xl-1,
+ .px-xl-1 {
+ padding-left: 0.25rem !important; }
+ .p-xl-2 {
+ padding: 0.5rem !important; }
+ .pt-xl-2,
+ .py-xl-2 {
+ padding-top: 0.5rem !important; }
+ .pr-xl-2,
+ .px-xl-2 {
+ padding-right: 0.5rem !important; }
+ .pb-xl-2,
+ .py-xl-2 {
+ padding-bottom: 0.5rem !important; }
+ .pl-xl-2,
+ .px-xl-2 {
+ padding-left: 0.5rem !important; }
+ .p-xl-3 {
+ padding: 1rem !important; }
+ .pt-xl-3,
+ .py-xl-3 {
+ padding-top: 1rem !important; }
+ .pr-xl-3,
+ .px-xl-3 {
+ padding-right: 1rem !important; }
+ .pb-xl-3,
+ .py-xl-3 {
+ padding-bottom: 1rem !important; }
+ .pl-xl-3,
+ .px-xl-3 {
+ padding-left: 1rem !important; }
+ .p-xl-4 {
+ padding: 1.5rem !important; }
+ .pt-xl-4,
+ .py-xl-4 {
+ padding-top: 1.5rem !important; }
+ .pr-xl-4,
+ .px-xl-4 {
+ padding-right: 1.5rem !important; }
+ .pb-xl-4,
+ .py-xl-4 {
+ padding-bottom: 1.5rem !important; }
+ .pl-xl-4,
+ .px-xl-4 {
+ padding-left: 1.5rem !important; }
+ .p-xl-5 {
+ padding: 3rem !important; }
+ .pt-xl-5,
+ .py-xl-5 {
+ padding-top: 3rem !important; }
+ .pr-xl-5,
+ .px-xl-5 {
+ padding-right: 3rem !important; }
+ .pb-xl-5,
+ .py-xl-5 {
+ padding-bottom: 3rem !important; }
+ .pl-xl-5,
+ .px-xl-5 {
+ padding-left: 3rem !important; }
+ .m-xl-auto {
+ margin: auto !important; }
+ .mt-xl-auto,
+ .my-xl-auto {
+ margin-top: auto !important; }
+ .mr-xl-auto,
+ .mx-xl-auto {
+ margin-right: auto !important; }
+ .mb-xl-auto,
+ .my-xl-auto {
+ margin-bottom: auto !important; }
+ .ml-xl-auto,
+ .mx-xl-auto {
+ margin-left: auto !important; } }
+
+.text-justify {
+ text-align: justify !important; }
+
+.text-nowrap {
+ white-space: nowrap !important; }
+
+.text-truncate {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap; }
+
+.text-left {
+ text-align: left !important; }
+
+.text-right {
+ text-align: right !important; }
+
+.text-center {
+ text-align: center !important; }
+
+@media (min-width: 576px) {
+ .text-sm-left {
+ text-align: left !important; }
+ .text-sm-right {
+ text-align: right !important; }
+ .text-sm-center {
+ text-align: center !important; } }
+
+@media (min-width: 768px) {
+ .text-md-left {
+ text-align: left !important; }
+ .text-md-right {
+ text-align: right !important; }
+ .text-md-center {
+ text-align: center !important; } }
+
+@media (min-width: 992px) {
+ .text-lg-left {
+ text-align: left !important; }
+ .text-lg-right {
+ text-align: right !important; }
+ .text-lg-center {
+ text-align: center !important; } }
+
+@media (min-width: 1200px) {
+ .text-xl-left {
+ text-align: left !important; }
+ .text-xl-right {
+ text-align: right !important; }
+ .text-xl-center {
+ text-align: center !important; } }
+
+.text-lowercase {
+ text-transform: lowercase !important; }
+
+.text-uppercase {
+ text-transform: uppercase !important; }
+
+.text-capitalize {
+ text-transform: capitalize !important; }
+
+.font-weight-light {
+ font-weight: 300 !important; }
+
+.font-weight-normal {
+ font-weight: 400 !important; }
+
+.font-weight-bold {
+ font-weight: 700 !important; }
+
+.font-italic {
+ font-style: italic !important; }
+
+.text-white {
+ color: #fff !important; }
+
+.text-primary {
+ color: #0075b4 !important; }
+
+a.text-primary:hover, a.text-primary:focus {
+ color: #005481 !important; }
+
+.text-secondary {
+ color: #313131 !important; }
+
+a.text-secondary:hover, a.text-secondary:focus {
+ color: #181818 !important; }
+
+.text-success {
+ color: #008100 !important; }
+
+a.text-success:hover, a.text-success:focus {
+ color: #004e00 !important; }
+
+.text-info {
+ color: #17a2b8 !important; }
+
+a.text-info:hover, a.text-info:focus {
+ color: #117a8b !important; }
+
+.text-warning {
+ color: #e2c01f !important; }
+
+a.text-warning:hover, a.text-warning:focus {
+ color: #b69b18 !important; }
+
+.text-danger {
+ color: #b20610 !important; }
+
+a.text-danger:hover, a.text-danger:focus {
+ color: #81040c !important; }
+
+.text-light {
+ color: #e7e7e7 !important; }
+
+a.text-light:hover, a.text-light:focus {
+ color: #cecece !important; }
+
+.text-dark {
+ color: #313131 !important; }
+
+a.text-dark:hover, a.text-dark:focus {
+ color: #181818 !important; }
+
+.text-inverse {
+ color: #fff !important; }
+
+a.text-inverse:hover, a.text-inverse:focus {
+ color: #e6e6e6 !important; }
+
+.text-disabled {
+ color: #767676 !important; }
+
+a.text-disabled:hover, a.text-disabled:focus {
+ color: #5d5d5d !important; }
+
+.text-purchase {
+ color: #008100 !important; }
+
+a.text-purchase:hover, a.text-purchase:focus {
+ color: #004e00 !important; }
+
+.text-lightest {
+ color: #f5f5f5 !important; }
+
+a.text-lightest:hover, a.text-lightest:focus {
+ color: gainsboro !important; }
+
+.text-darker {
+ color: #111 !important; }
+
+a.text-darker:hover, a.text-darker:focus {
+ color: black !important; }
+
+.text-darkest {
+ color: #000 !important; }
+
+a.text-darkest:hover, a.text-darkest:focus {
+ color: black !important; }
+
+.text-muted {
+ color: #767676 !important; }
+
+.text-hide {
+ font: 0/0 a;
+ color: transparent;
+ text-shadow: none;
+ background-color: transparent;
+ border: 0; }
+
+.visible {
+ visibility: visible !important; }
+
+.invisible {
+ visibility: hidden !important; }
+
+.badge {
+ display: inline-block;
+ padding: 0.25em 0.4em;
+ font-size: 75%;
+ font-weight: 700;
+ line-height: 1;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: baseline;
+ -webkit-border-radius: 0.1875rem;
+ -moz-border-radius: 0.1875rem;
+ -ms-border-radius: 0.1875rem;
+ -o-border-radius: 0.1875rem;
+ border-radius: 0.1875rem; }
+ .badge:empty {
+ display: none; }
+
+.btn .badge {
+ position: relative;
+ top: -1px; }
+
+.badge-pill {
+ padding-right: 0.6em;
+ padding-left: 0.6em;
+ -webkit-border-radius: 10rem;
+ -moz-border-radius: 10rem;
+ -ms-border-radius: 10rem;
+ -o-border-radius: 10rem;
+ border-radius: 10rem; }
+
+.badge-primary {
+ color: #fff;
+ background-color: #0075b4; }
+ .badge-primary[href]:hover, .badge-primary[href]:focus {
+ color: #fff;
+ text-decoration: none;
+ background-color: #005481; }
+
+.badge-secondary {
+ color: #fff;
+ background-color: #313131; }
+ .badge-secondary[href]:hover, .badge-secondary[href]:focus {
+ color: #fff;
+ text-decoration: none;
+ background-color: #181818; }
+
+.badge-success {
+ color: #fff;
+ background-color: #008100; }
+ .badge-success[href]:hover, .badge-success[href]:focus {
+ color: #fff;
+ text-decoration: none;
+ background-color: #004e00; }
+
+.badge-info {
+ color: #fff;
+ background-color: #17a2b8; }
+ .badge-info[href]:hover, .badge-info[href]:focus {
+ color: #fff;
+ text-decoration: none;
+ background-color: #117a8b; }
+
+.badge-warning {
+ color: #111;
+ background-color: #e2c01f; }
+ .badge-warning[href]:hover, .badge-warning[href]:focus {
+ color: #111;
+ text-decoration: none;
+ background-color: #b69b18; }
+
+.badge-danger {
+ color: #fff;
+ background-color: #b20610; }
+ .badge-danger[href]:hover, .badge-danger[href]:focus {
+ color: #fff;
+ text-decoration: none;
+ background-color: #81040c; }
+
+.badge-light {
+ color: #111;
+ background-color: #e7e7e7; }
+ .badge-light[href]:hover, .badge-light[href]:focus {
+ color: #111;
+ text-decoration: none;
+ background-color: #cecece; }
+
+.badge-dark {
+ color: #fff;
+ background-color: #313131; }
+ .badge-dark[href]:hover, .badge-dark[href]:focus {
+ color: #fff;
+ text-decoration: none;
+ background-color: #181818; }
+
+.badge-inverse {
+ color: #111;
+ background-color: #fff; }
+ .badge-inverse[href]:hover, .badge-inverse[href]:focus {
+ color: #111;
+ text-decoration: none;
+ background-color: #e6e6e6; }
+
+.badge-disabled {
+ color: #fff;
+ background-color: #767676; }
+ .badge-disabled[href]:hover, .badge-disabled[href]:focus {
+ color: #fff;
+ text-decoration: none;
+ background-color: #5d5d5d; }
+
+.badge-purchase {
+ color: #fff;
+ background-color: #008100; }
+ .badge-purchase[href]:hover, .badge-purchase[href]:focus {
+ color: #fff;
+ text-decoration: none;
+ background-color: #004e00; }
+
+.badge-lightest {
+ color: #111;
+ background-color: #f5f5f5; }
+ .badge-lightest[href]:hover, .badge-lightest[href]:focus {
+ color: #111;
+ text-decoration: none;
+ background-color: gainsboro; }
+
+.badge-darker {
+ color: #fff;
+ background-color: #111; }
+ .badge-darker[href]:hover, .badge-darker[href]:focus {
+ color: #fff;
+ text-decoration: none;
+ background-color: black; }
+
+.badge-darkest {
+ color: #fff;
+ background-color: #000; }
+ .badge-darkest[href]:hover, .badge-darkest[href]:focus {
+ color: #fff;
+ text-decoration: none;
+ background-color: black; }
+
+.popover {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 1060;
+ display: block;
+ max-width: 276px;
+ font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-style: normal;
+ font-weight: 400;
+ line-height: 1.5;
+ text-align: left;
+ text-align: start;
+ text-decoration: none;
+ text-shadow: none;
+ text-transform: none;
+ letter-spacing: normal;
+ word-break: normal;
+ word-spacing: normal;
+ white-space: normal;
+ line-break: auto;
+ font-size: 0.875rem;
+ word-wrap: break-word;
+ background-color: #fff;
+ background-clip: padding-box;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ -webkit-border-radius: 0.1875rem;
+ -moz-border-radius: 0.1875rem;
+ -ms-border-radius: 0.1875rem;
+ -o-border-radius: 0.1875rem;
+ border-radius: 0.1875rem; }
+ .popover .arrow {
+ position: absolute;
+ display: block;
+ width: 1rem;
+ height: 0.5rem;
+ margin: 0 0.1875rem; }
+ .popover .arrow::before, .popover .arrow::after {
+ position: absolute;
+ display: block;
+ content: "";
+ border-color: transparent;
+ border-style: solid; }
+
+.bs-popover-top, .bs-popover-auto[x-placement^="top"] {
+ margin-bottom: 0.5rem; }
+ .bs-popover-top .arrow, .bs-popover-auto[x-placement^="top"] .arrow {
+ bottom: calc((0.5rem + 1px) * -1); }
+ .bs-popover-top .arrow::before, .bs-popover-auto[x-placement^="top"] .arrow::before,
+ .bs-popover-top .arrow::after, .bs-popover-auto[x-placement^="top"] .arrow::after {
+ border-width: 0.5rem 0.5rem 0; }
+ .bs-popover-top .arrow::before, .bs-popover-auto[x-placement^="top"] .arrow::before {
+ bottom: 0;
+ border-top-color: rgba(0, 0, 0, 0.25); }
+ .bs-popover-top .arrow::after, .bs-popover-auto[x-placement^="top"] .arrow::after {
+ bottom: 1px;
+ border-top-color: #fff; }
+
+.bs-popover-right, .bs-popover-auto[x-placement^="right"] {
+ margin-left: 0.5rem; }
+ .bs-popover-right .arrow, .bs-popover-auto[x-placement^="right"] .arrow {
+ left: calc((0.5rem + 1px) * -1);
+ width: 0.5rem;
+ height: 1rem;
+ margin: 0.1875rem 0; }
+ .bs-popover-right .arrow::before, .bs-popover-auto[x-placement^="right"] .arrow::before,
+ .bs-popover-right .arrow::after, .bs-popover-auto[x-placement^="right"] .arrow::after {
+ border-width: 0.5rem 0.5rem 0.5rem 0; }
+ .bs-popover-right .arrow::before, .bs-popover-auto[x-placement^="right"] .arrow::before {
+ left: 0;
+ border-right-color: rgba(0, 0, 0, 0.25); }
+ .bs-popover-right .arrow::after, .bs-popover-auto[x-placement^="right"] .arrow::after {
+ left: 1px;
+ border-right-color: #fff; }
+
+.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] {
+ margin-top: 0.5rem; }
+ .bs-popover-bottom .arrow, .bs-popover-auto[x-placement^="bottom"] .arrow {
+ top: calc((0.5rem + 1px) * -1); }
+ .bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^="bottom"] .arrow::before,
+ .bs-popover-bottom .arrow::after, .bs-popover-auto[x-placement^="bottom"] .arrow::after {
+ border-width: 0 0.5rem 0.5rem 0.5rem; }
+ .bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^="bottom"] .arrow::before {
+ top: 0;
+ border-bottom-color: rgba(0, 0, 0, 0.25); }
+ .bs-popover-bottom .arrow::after, .bs-popover-auto[x-placement^="bottom"] .arrow::after {
+ top: 1px;
+ border-bottom-color: #fff; }
+ .bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before {
+ position: absolute;
+ top: 0;
+ left: 50%;
+ display: block;
+ width: 1rem;
+ margin-left: -0.5rem;
+ content: "";
+ border-bottom: 1px solid #f7f7f7; }
+
+.bs-popover-left, .bs-popover-auto[x-placement^="left"] {
+ margin-right: 0.5rem; }
+ .bs-popover-left .arrow, .bs-popover-auto[x-placement^="left"] .arrow {
+ right: calc((0.5rem + 1px) * -1);
+ width: 0.5rem;
+ height: 1rem;
+ margin: 0.1875rem 0; }
+ .bs-popover-left .arrow::before, .bs-popover-auto[x-placement^="left"] .arrow::before,
+ .bs-popover-left .arrow::after, .bs-popover-auto[x-placement^="left"] .arrow::after {
+ border-width: 0.5rem 0 0.5rem 0.5rem; }
+ .bs-popover-left .arrow::before, .bs-popover-auto[x-placement^="left"] .arrow::before {
+ right: 0;
+ border-left-color: rgba(0, 0, 0, 0.25); }
+ .bs-popover-left .arrow::after, .bs-popover-auto[x-placement^="left"] .arrow::after {
+ right: 1px;
+ border-left-color: #fff; }
+
+.popover-header {
+ padding: 0.5rem 0.75rem;
+ margin-bottom: 0;
+ font-size: 1rem;
+ color: inherit;
+ background-color: #f7f7f7;
+ border-bottom: 1px solid #ebebeb;
+ -webkit-border-top-left-radius: calc(0.1875rem - 1px);
+ -moz-border-topleft-radius: calc(0.1875rem - 1px);
+ border-top-left-radius: calc(0.1875rem - 1px);
+ -webkit-border-top-right-radius: calc(0.1875rem - 1px);
+ -moz-border-topright-radius: calc(0.1875rem - 1px);
+ border-top-right-radius: calc(0.1875rem - 1px); }
+ .popover-header:empty {
+ display: none; }
+
+.popover-body {
+ padding: 0.5rem 0.75rem;
+ color: #313131; }
+
+/*
+ * In pursuit of decoupling the built-in XBlocks from edx-platform's Sass build
+ * and ensuring comprehensive theming support in the extracted XBlocks,
+ * we need to expose Sass variables as CSS variables.
+ *
+ * Ticket/Issue: https://github.com/openedx/edx-platform/issues/35173
+ */
+/* stylelint-disable-line */
+/* stylelint-disable-line */
+.btn-default:disabled, .btn-primary:disabled, .btn-brand:disabled, .btn-upgrade:disabled, .is-disabled.btn-default, .is-disabled.btn-primary, .is-disabled.btn-brand, .is-disabled.btn-upgrade {
+ pointer-events: none;
+ outline: none;
+ cursor: not-allowed; }
+
+.btn-small.btn-default, .btn-small.btn-primary, .btn-small.btn-brand, .btn-small.btn-upgrade {
+ padding: 0.625rem;
+ font-size: 14px; }
+
+:root {
+ --action-primary-active-bg: #0075b4;
+ --actions-dropdown-width: 145px;
+ --actions-dropdown-offset: 100px;
+ --base-font-size: 18px;
+ --base-line-height: 1.5em;
+ --baseline: 20px;
+ --black: #000;
+ --black-t2: rgba(0, 0, 0, 0.5);
+ --blue: #0075b4;
+ --blue-d1: #005e90;
+ --blue-d2: #00466c;
+ --blue-d4: #001724;
+ --blue-s1: #0075b4;
+ --body-color: #313131;
+ --border-color: #e7e7e7;
+ --border-color-4: #fcfcfc;
+ --bp-screen-lg: 1024px;
+ --btn-brand-focus-background: #065683;
+ --correct: #008100;
+ --comment-image-dimension: calc(var(--baseline) * 2);
+ --danger: #b20610;
+ --darkGrey: #8891a1;
+ --error-color: #cb0712;
+ --error-color-dark: #95050d;
+ --error-color-light: #f95861;
+ --font-bold: 700;
+ --font-family-sans-serif: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
+ --forum-color-active-thread: var(--forum-color-primary);
+ --forum-color-hover: #065683;
+ --forum-color-active-text: var(--white);
+ --forum-color-background: #fff;
+ --forum-x-large-font-size: 21px;
+ --forum-color-copy-light: #414141;
+ --forum-large-font-size: 16px;
+ --forum-border-radius: 3px;
+ --forum-base-font-size: 14px;
+ --forum-small-font-size: 12px;
+ --forum-color-border: var(--gray-300);
+ --forum-color-background-light: whitesmoke;
+ --forum-color-editor-preview-label: var(--forum-color-copy-light);
+ --forum-color-following: var(--forum-color-primary);
+ --forum-color-error: #b20610;
+ --forum-color-pinned: #982c62;
+ --forum-color-reported: #982c62;
+ --forum-color-closed: var(--black);
+ --forum-color-staff: var(--forum-color-primary);
+ --forum-color-community-ta: var(--green);
+ --forum-color-response-count: var(--forum-color-copy-light);
+ --forum-color-read-post: var(--forum-color-copy-light);
+ --forum-color-hover-thread: var(--forum-color-background-light);
+ --forum-color-reading-thread: var(--forum-color-background-light);
+ --forum-color-never-read-post: var(--forum-color-primary);
+ --forum-color-navigation-bar: var(--forum-color-background-light);
+ --forum-color-primary: #0075b4;
+ --general-color-accent: #0075b4;
+ --green: #008100;
+ --gray: #767676;
+ --gray-300: #d9d9d9;
+ --gray-d1: #5e5e5e;
+ --gray-l2: #adadad;
+ --gray-l3: #c8c8c8;
+ --gray-l4: #e4e4e4;
+ --gray-l6: #f8f8f8;
+ --icon-correct: url("../images/correct-icon.png");
+ --icon-incorrect: url("../images/incorrect-icon.png");
+ --icon-info: url("../images/info-icon.png");
+ --icon-partially-correct: url("../images/partially-correct-icon.png");
+ --icon-spinner: url("../images/spinner.gif");
+ --icon-unanswered: url("../images/unanswered-icon.png");
+ --incorrect: #b20610;
+ --lightGrey: #edf1f5;
+ --lighter-base-font-color: #646464;
+ --link-color: #1b6d99;
+ --line-height-base: 1.5;
+ --medium-font-size: 0.9em;
+ --pink: #c2387d;
+ --partially-correct: #008100;
+ --primary: #0075b4;
+ --post-image-dimension: calc(var(--baseline) * 3);
+ --response-image-dimension: calc(var(--baseline) * 2.5);
+ --shadow: rgba(0, 0, 0, 0.2);
+ --shadow-l1: rgba(0, 0, 0, 0.1);
+ --sidebar-color: #f6f6f6;
+ --small-font-size: 80%;
+ --submitted: #0075b4;
+ --success: #008100;
+ --serif: Georgia, Cambria, "Times New Roman", Times, serif;
+ --tmg-f2: 0.25s;
+ --tmg-s2: 2s;
+ --transparent: transparent;
+ --uxpl-gray-background: #d9d9d9;
+ --uxpl-gray-base: #414141;
+ --uxpl-gray-dark: #111111;
+ --very-light-text: white;
+ --warning: #e2c01f;
+ --warning-color: #ffc01f;
+ --warning-color-accent: #fffcdd;
+ --white: #fff;
+ --yellow: #e2c01f; }
+
+/* stylelint-disable-line */
+/* stylelint-disable-line */
+/* HTML5 Boilerplate */
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+nav,
+section {
+ display: block; }
+
+audio,
+canvas,
+video {
+ display: inline-block;
+ *display: inline;
+ *zoom: 1; }
+
+audio:not([controls]) {
+ display: none; }
+
+[hidden] {
+ display: none; }
+
+html {
+ font-size: 100%;
+ -webkit-text-size-adjust: 100%;
+ -ms-text-size-adjust: 100%; }
+
+html,
+button,
+input,
+select,
+textarea {
+ font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
+ color: #222; }
+
+body {
+ margin: 0;
+ font-size: 1em;
+ line-height: 1.4; }
+
+a:not(.btn) {
+ color: #1b6d99; }
+
+a:visited:not(.btn) {
+ color: #003655; }
+
+a:hover:not(.btn),
+a:focus:not(.btn) {
+ color: #0079bc; }
+
+abbr[title] {
+ border-bottom: 1px dotted; }
+
+b,
+strong {
+ font-weight: bold; }
+
+blockquote {
+ margin: 1em 40px; }
+
+dfn {
+ font-style: italic; }
+
+hr {
+ display: block;
+ height: 1px;
+ border: 0;
+ border-top: 1px solid #ccc;
+ margin: 1em 0;
+ padding: 0; }
+
+ins {
+ background: #ff9;
+ color: #000;
+ text-decoration: none; }
+
+mark {
+ background: #ff0;
+ color: #000;
+ font-style: italic;
+ font-weight: bold; }
+
+pre,
+code,
+kbd,
+samp {
+ font-family: monospace, serif;
+ _font-family: 'courier new', monospace;
+ font-size: 1em; }
+
+pre {
+ white-space: pre;
+ white-space: pre-wrap;
+ word-wrap: break-word; }
+
+q {
+ quotes: none; }
+
+q::before,
+q::after {
+ content: "";
+ content: none; }
+
+small {
+ font-size: 85%; }
+
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline; }
+
+sup {
+ top: -0.5em; }
+
+sub {
+ bottom: -0.25em; }
+
+ul,
+ol {
+ padding: 0 0 0 40px;
+ margin: 1em 0; }
+
+dd {
+ margin: 0 0 0 40px; }
+
+nav ul,
+nav ol {
+ list-style: none;
+ margin: 0;
+ padding: 0; }
+
+img {
+ border: 0;
+ -ms-interpolation-mode: bicubic;
+ vertical-align: middle; }
+
+svg:not(:root) {
+ overflow: hidden; }
+
+figure {
+ margin: 0; }
+
+form {
+ margin: 0; }
+
+fieldset {
+ border: 0;
+ margin: 0;
+ padding: 0; }
+
+label {
+ cursor: pointer; }
+
+legend {
+ border: 0;
+ *margin-left: -7px;
+ padding: 0;
+ white-space: normal; }
+
+button,
+input,
+select,
+textarea {
+ font-size: 100%;
+ margin: 0;
+ vertical-align: baseline;
+ *vertical-align: middle; }
+
+button,
+input {
+ line-height: normal; }
+
+button,
+input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+ cursor: pointer;
+ -webkit-appearance: button;
+ *overflow: visible; }
+
+button[disabled],
+input[disabled] {
+ cursor: default; }
+
+input[type="checkbox"],
+input[type="radio"] {
+ box-sizing: border-box;
+ padding: 0;
+ *width: 13px;
+ *height: 13px; }
+
+input[type="search"] {
+ -webkit-appearance: textfield;
+ -moz-box-sizing: content-box;
+ -webkit-box-sizing: content-box;
+ box-sizing: content-box; }
+
+input[type="search"]::-webkit-search-decoration,
+input[type="search"]::-webkit-search-cancel-button {
+ -webkit-appearance: none; }
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0; }
+
+button:-moz-focusring {
+ outline: 1px dotted black; }
+
+textarea {
+ overflow: auto;
+ vertical-align: top;
+ resize: vertical; }
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0; }
+
+td {
+ vertical-align: top; }
+
+.chromeframe {
+ margin: 0.2em 0;
+ background: #ccc;
+ color: black;
+ padding: 0.2em 0; }
+
+.ir {
+ display: block;
+ border: 0;
+ text-indent: -999em;
+ overflow: hidden;
+ background-color: transparent;
+ background-repeat: no-repeat;
+ text-align: left;
+ direction: ltr;
+ *line-height: 0; }
+
+.ir br {
+ display: none; }
+
+.hidden {
+ display: none !important;
+ visibility: hidden; }
+
+.visuallyhidden {
+ border: 0;
+ clip: rect(0 0 0 0);
+ height: 1px;
+ margin: -1px;
+ overflow: hidden;
+ padding: 0;
+ position: absolute;
+ width: 1px; }
+
+.visuallyhidden.focusable:active,
+.visuallyhidden.focusable:focus {
+ clip: auto;
+ height: auto;
+ margin: 0;
+ overflow: visible;
+ position: static;
+ width: auto; }
+
+.invisible {
+ visibility: hidden; }
+
+.clearfix::before,
+.clearfix::after {
+ content: "";
+ display: table; }
+
+.clearfix::after {
+ clear: both; }
+
+.clearfix {
+ *zoom: 1; }
+
+@media print {
+ * {
+ background: transparent;
+ color: black !important;
+ box-shadow: none !important;
+ text-shadow: none !important;
+ filter: none !important;
+ -ms-filter: none !important; }
+ html,
+ body {
+ background: transparent !important; }
+ a,
+ a:visited {
+ text-decoration: underline; }
+ abbr[title]::after {
+ content: " (" attr(title) ")"; }
+ .ir a::after {
+ content: ""; }
+ pre,
+ blockquote {
+ border: 1px solid #999;
+ page-break-inside: avoid; }
+ thead {
+ display: table-header-group; }
+ tr,
+ img {
+ page-break-inside: avoid; }
+ img {
+ max-width: 100% !important; }
+ @page {
+ margin: 1cm 1.2cm 2cm; }
+ p,
+ h2,
+ h3 {
+ orphans: 3;
+ widows: 3; }
+ h2,
+ h3 {
+ page-break-after: avoid; } }
+
+/* stylelint-disable-line */
+/* stylelint-disable-line */
+.discussion .actions-dropdown {
+ z-index: 10; }
+
+.discussion-thread .discussion-article .thread-wrapper .discussion-post .inline-comment-count {
+ z-index: 100; }
+
+.discussion .post-actions-list,
+.discussion .response-actions-list,
+.discussion .comment-actions-list, .discussion .actions-dropdown, .discussion .responses, .discussion .comments {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+ text-indent: 0; }
+ .discussion .post-actions-list li,
+ .discussion .response-actions-list li,
+ .discussion .comment-actions-list li, .discussion .actions-dropdown li, .discussion .responses li, .discussion .comments li, .discussion .post-actions-list dt,
+ .discussion .response-actions-list dt,
+ .discussion .comment-actions-list dt, .discussion .actions-dropdown dt, .discussion .responses dt, .discussion .comments dt, .discussion .post-actions-list dd,
+ .discussion .response-actions-list dd,
+ .discussion .comment-actions-list dd, .discussion .actions-dropdown dd, .discussion .responses dd, .discussion .comments dd {
+ margin: 0;
+ padding: 0; }
+
+.btn-default:disabled, .btn-primary:disabled, .btn-brand:disabled, .btn-upgrade:disabled, .is-disabled.btn-default, .is-disabled.btn-primary, .is-disabled.btn-brand, .is-disabled.btn-upgrade {
+ pointer-events: none;
+ outline: none;
+ cursor: not-allowed; }
+
+.btn-small.btn-default, .btn-small.btn-primary, .btn-small.btn-brand, .btn-small.btn-upgrade {
+ padding: 0.625rem;
+ font-size: 14px; }
+
+.breadcrumbs {
+ font-size: 0.875rem;
+ line-height: line-height(small); }
+ .breadcrumbs .nav-item {
+ margin-left: 5px;
+ display: inline-block; }
+ @media (max-width: 1199.98px) {
+ .breadcrumbs .nav-item {
+ max-width: 240px; } }
+ @media (max-width: 767.98px) {
+ .breadcrumbs .nav-item {
+ max-width: 140px;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden; } }
+ @media (max-width: 575.98px) {
+ .breadcrumbs .nav-item:not(:first-child) {
+ max-width: 60px; } }
+ .breadcrumbs .nav-item.nav-item-course {
+ max-width: none; }
+ .breadcrumbs .nav-item a,
+ .breadcrumbs .nav-item a:visited {
+ color: #0075b4; }
+ .breadcrumbs .nav-item a:hover {
+ color: #065683; }
+ .breadcrumbs .fa-angle-right {
+ margin-left: 5px;
+ display: inline-block;
+ color: #313131; }
+ @media (max-width: 767.98px) {
+ .breadcrumbs .fa-angle-right {
+ position: relative;
+ top: -5px; } }
+ .breadcrumbs .fa-angle-right:last-child {
+ display: none; }
+
+.btn-default, .btn-primary, .btn-brand, .btn-upgrade {
+ display: inline-block;
+ background-color: transparent;
+ background-image: none;
+ border-style: solid;
+ border-radius: 0.1875rem;
+ border-width: 1px;
+ box-shadow: none;
+ padding: 0.625rem 1.25rem;
+ font-size: 16px;
+ font-weight: normal;
+ text-shadow: none;
+ text-transform: capitalize; }
+ .block.btn-default, .block.btn-primary, .block.btn-brand, .block.btn-upgrade {
+ display: block;
+ width: 100%; }
+ .btn-default .icon, .btn-primary .icon, .btn-brand .icon, .btn-upgrade .icon {
+ display: inline-block;
+ vertical-align: baseline; }
+ .btn-default .icon:only-child, .btn-primary .icon:only-child, .btn-brand .icon:only-child, .btn-upgrade .icon:only-child,
+ .sr-only + .btn-default .icon,
+ .sr-only + .btn-primary .icon,
+ .sr-only + .btn-brand .icon,
+ .sr-only + .btn-upgrade .icon {
+ margin-right: 0; }
+
+.btn-default {
+ border-color: transparent;
+ background: transparent;
+ color: #0075b4; }
+ .btn-default:hover, .btn-default.is-hovered, .btn-default:focus, .btn-default.is-focused {
+ border-color: #0075b4;
+ background-color: transparent;
+ color: #0075b4; }
+ .btn-default:active, .btn-default.is-pressed, .btn-default.is-active {
+ border-color: #0075b4;
+ color: #0075b4; }
+ .btn-default:disabled, .btn-default.is-disabled {
+ border-color: #d2d0d0;
+ color: #6b6969; }
+
+.btn-primary, .btn-brand {
+ border-color: #0075b4;
+ background: #0075b4;
+ color: #fcfcfc; }
+ .btn-primary:hover, .btn-brand:hover, .btn-primary.is-hovered, .is-hovered.btn-brand, .btn-primary:focus, .btn-brand:focus, .btn-primary.is-focused, .is-focused.btn-brand {
+ border-color: #065683;
+ background-color: #065683;
+ color: #fcfcfc; }
+ .btn-primary:active, .btn-brand:active, .btn-primary.is-pressed, .is-pressed.btn-brand, .btn-primary.is-active, .is-active.btn-brand {
+ border-color: #0075b4;
+ background: #0075b4; }
+ .btn-primary:disabled, .btn-brand:disabled, .btn-primary.is-disabled, .is-disabled.btn-brand {
+ border-color: #d2d0d0;
+ background: #f2f3f3;
+ color: #676666; }
+
+.btn-upgrade {
+ border-color: #008100;
+ background: #008100;
+ color: #fcfcfc; }
+ .btn-upgrade:hover, .btn-upgrade.is-hovered, .btn-upgrade:focus, .btn-upgrade.is-focused {
+ border-color: #009b00;
+ background-color: #009b00;
+ color: #fcfcfc; }
+ .btn-upgrade:disabled, .btn-upgrade.is-disabled {
+ border-color: #d2d0d0;
+ background: #f2f3f3;
+ color: #fcfcfc; }
+
+.edx-cookie-banner-wrapper {
+ background: #f2f8fd;
+ box-sizing: border-box;
+ /** Base Styles - start **/
+ text-align: left;
+ line-height: 1.5;
+ font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 1rem;
+ font-weight: 400;
+ /** Base Styles - end **/ }
+ .edx-cookie-banner-wrapper .alert {
+ position: relative;
+ padding: 8px 20px; }
+ .edx-cookie-banner-wrapper .alert-dismissible .close {
+ position: absolute;
+ top: 0;
+ right: 0;
+ padding: 0.75rem 1.25rem;
+ background: transparent;
+ border: 0;
+ text-shadow: 0 1px 0 #fff;
+ opacity: 0.5;
+ float: right;
+ line-height: 1;
+ font-size: 1.5rem;
+ font-weight: 500; }
+ .edx-cookie-banner-wrapper .alert-dismissible .btn {
+ display: inline-block;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: middle; }
+ .edx-cookie-banner-wrapper .edx-cookie-banner {
+ box-sizing: border-box;
+ display: flex;
+ justify-content: space-between;
+ margin: 0 auto;
+ background: inherit;
+ border: none; }
+ .edx-cookie-banner-wrapper .edx-cookie-banner .policy-link {
+ color: #19291F;
+ text-decoration: underline; }
+ .edx-cookie-banner-wrapper .edx-cookie-banner .policy-link:focus, .edx-cookie-banner-wrapper .edx-cookie-banner .policy-link:hover {
+ color: #075683;
+ border: none; }
+ .edx-cookie-banner-wrapper .edx-cookie-banner .alert-dialog {
+ margin: auto;
+ color: #4e4e4e;
+ text-align: center;
+ max-width: 800px;
+ font-size: 14px; }
+ .edx-cookie-banner-wrapper .edx-cookie-banner .btn.close {
+ padding: 4px;
+ color: #19291F; }
+ .edx-cookie-banner-wrapper .edx-cookie-banner .btn.close:focus, .edx-cookie-banner-wrapper .edx-cookie-banner .btn.close:hover {
+ color: #075683;
+ cursor: pointer; }
+
+.discussion .responses .posted-by {
+ font-weight: 700; }
+
+.discussion-article .posted-details .username {
+ font-weight: 600; }
+
+.discussion .post-label, .discussion-article .posted-details, .discussion-post .post-context {
+ font-weight: 300; }
+
+.discussion-response .response-body, .discussion-post .post-body, .discussion .action-button .action-label, .discussion .actions-dropdown .action-list-item, .view-discussion-home .label, .view-discussion-home .home-description, .view-discussion-home .home-stats .stats-grouping .profile-stat, .discussion-article .posted-details, .discussion-comment .response-body, .discussion-post .post-context, .discussion .post-actions-list,
+.discussion .response-actions-list,
+.discussion .comment-actions-list {
+ font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; }
+
+.discussion-response .response-body, .discussion-post .post-body {
+ font-size: 14px;
+ line-height: 20.72px; }
+
+.discussion .action-button .action-label, .discussion .actions-dropdown .action-list-item, .view-discussion-home .label, .view-discussion-home .home-description, .view-discussion-home .home-stats .stats-grouping .profile-stat, .discussion-article .posted-details, .discussion-comment .response-body, .discussion-post .post-context, .discussion .post-actions-list,
+.discussion .response-actions-list,
+.discussion .comment-actions-list {
+ font-size: 12px;
+ line-height: 17.76px; }
+
+.forum-nav-thread-comments-count {
+ font-weight: 600; }
+
+.discussion-response .response-header-content .username, .forum-nav .search-alert-content .message em, .forum-nav .search-alert-content .link-jump, .forum-nav .search-alert-controls .control {
+ font-weight: 700; }
+
+@-webkit-keyframes fadeIn {
+ 0% {
+ opacity: 0; }
+ 100% {
+ opacity: 1; } }
+
+.discussion-body, .discussion-module {
+ width: 100%;
+ border: none;
+ background: transparent;
+ box-shadow: none; }
+ .discussion-body:after, .discussion-module:after {
+ content: "";
+ display: table;
+ clear: both; }
+ @media (min-width: 768px) {
+ .discussion-body, .discussion-module {
+ display: flex;
+ flex-direction: row-reverse; } }
+ .discussion-body .bottom-post-status, .discussion-module .bottom-post-status {
+ padding: 30px;
+ font-size: var(--forum-x-large-font-size);
+ font-weight: 700;
+ color: var(--forum-color-copy-light);
+ text-align: center; }
+ .discussion-body .discussion-article, .discussion-module .discussion-article {
+ position: relative; }
+ .discussion-body .discussion-article a, .discussion-module .discussion-article a,
+ .discussion-body .discussion-article p, .discussion-module .discussion-article p {
+ word-wrap: break-word; }
+ .discussion-body .main-article.new, .discussion-module .main-article.new {
+ display: none;
+ padding: calc(var(--baseline) * 2.5); }
+ .discussion-body .discussion-reply-new, .discussion-module .discussion-reply-new {
+ transition: opacity 0.2s linear 0s; }
+ .discussion-body .discussion-reply-new:after, .discussion-module .discussion-reply-new:after {
+ content: "";
+ display: table;
+ clear: both; }
+ .discussion-body .discussion-reply-new h4, .discussion-module .discussion-reply-new h4 {
+ font-size: var(--forum-large-font-size);
+ font-weight: 700; }
+ .discussion-body .reply-post-control, .discussion-module .reply-post-control {
+ margin-top: var(--baseline); }
+
+.discussion-module {
+ display: block;
+ position: relative;
+ border-radius: var(--forum-border-radius); }
+ .discussion-module header .anonymous {
+ font-size: var(--forum-base-font-size); }
+ .discussion-module .inline-discussion-topic {
+ width: 100%;
+ font-size: var(--forum-small-font-size); }
+ .discussion-module .inline-discussion-topic .inline-discussion-topic-title {
+ font-weight: bold; }
+ .discussion-module .discussion-module-header {
+ float: left;
+ width: 57.44681%;
+ margin-bottom: calc(var(--baseline) * 0.75); }
+ .discussion-module .add_post_btn_container {
+ text-align: right;
+ width: 100%;
+ height: calc(2 * var(--baseline)); }
+ .discussion-module div.add-response.post-extended-content {
+ margin-top: var(--baseline);
+ margin-bottom: var(--baseline); }
+
+.discussion-show {
+ float: right;
+ position: relative;
+ top: 3px;
+ font-size: var(--forum-base-font-size);
+ text-align: center; }
+ .discussion-show.shown {
+ background-color: #fff;
+ color: #0075b4; }
+
+section.discussion:after {
+ content: "";
+ display: table;
+ clear: both; }
+
+.new-post-article .forum-new-post-form {
+ padding: var(--baseline); }
+
+.new-post-article .inner-wrapper {
+ max-width: 1920px;
+ min-width: 760px;
+ margin: auto; }
+
+.xblock-student_view-discussion {
+ padding-top: 15px !important; }
+
+section.discussion-pagination {
+ margin-top: calc(var(--baseline) * 1.5); }
+ section.discussion-pagination nav.discussion-paginator {
+ float: right; }
+ section.discussion-pagination nav.discussion-paginator ol li {
+ padding-right: calc(var(--baseline) / 2);
+ list-style: none;
+ display: inline-block; }
+ section.discussion-pagination nav.discussion-paginator ol li.current-page span {
+ display: inline-block;
+ height: 35px;
+ padding: 0 calc(var(--baseline) * 0.75);
+ border: 1px solid var(--forum-color-border);
+ border-radius: var(--forum-border-radius);
+ font-size: var(--forum-base-font-size);
+ font-weight: 700;
+ line-height: 32px;
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); }
+
+.discussion-module .btn,
+.wmd-prompt-dialog .btn, .discussion-module .btn-brand,
+.wmd-prompt-dialog .btn-brand {
+ transition: color 0.125s ease-in-out 0s, border-color 0.125s ease-in-out 0s, background 0.125s ease-in-out 0s, box-shadow 0.125s ease-in-out 0s;
+ display: inline-block;
+ border: 1px solid var(--forum-color-active-thread);
+ border-radius: 3px;
+ margin: 0;
+ background-image: none;
+ box-shadow: none;
+ height: 40px;
+ text-shadow: none;
+ font-family: var(--font-family-sans-serif);
+ font-size: 14px;
+ font-weight: 600;
+ word-wrap: break-word;
+ white-space: nowrap; }
+ .discussion-module .block.btn,
+ .wmd-prompt-dialog .block.btn, .discussion-module .block.btn-brand,
+ .wmd-prompt-dialog .block.btn-brand {
+ display: block;
+ width: 100%; }
+ .discussion-module .btn:disabled,
+ .wmd-prompt-dialog .btn:disabled, .discussion-module .btn-brand:disabled,
+ .wmd-prompt-dialog .btn-brand:disabled, .discussion-module .is-disabled.btn,
+ .wmd-prompt-dialog .is-disabled.btn, .discussion-module .is-disabled.btn-brand,
+ .wmd-prompt-dialog .is-disabled.btn-brand {
+ pointer-events: none;
+ outline: none;
+ cursor: not-allowed; }
+ .discussion-module .btn:hover,
+ .wmd-prompt-dialog .btn:hover, .discussion-module .btn-brand:hover,
+ .wmd-prompt-dialog .btn-brand:hover, .discussion-module .btn:active,
+ .wmd-prompt-dialog .btn:active, .discussion-module .btn-brand:active,
+ .wmd-prompt-dialog .btn-brand:active, .discussion-module .btn:focus,
+ .wmd-prompt-dialog .btn:focus, .discussion-module .btn-brand:focus,
+ .wmd-prompt-dialog .btn-brand:focus {
+ border-color: var(--forum-color-hover) !important;
+ background-color: var(--forum-color-hover) !important;
+ background-image: none !important;
+ box-shadow: none !important;
+ color: var(--forum-color-active-text) !important;
+ text-decoration: none !important; }
+
+.discussion-module .btn,
+.wmd-prompt-dialog .btn {
+ background-color: var(--forum-color-background);
+ color: var(--forum-color-active-thread); }
+
+.discussion-module .btn-brand,
+.wmd-prompt-dialog .btn-brand {
+ background-color: var(--forum-color-active-thread);
+ color: var(--forum-color-active-text); }
+
+.discussion-module .discussion {
+ clear: both; }
+
+.discussion .post-actions-list,
+.discussion .response-actions-list,
+.discussion .comment-actions-list {
+ text-align: right; }
+ .discussion .post-actions-list .actions-item,
+ .discussion .response-actions-list .actions-item,
+ .discussion .comment-actions-list .actions-item {
+ box-sizing: border-box;
+ display: block;
+ margin: calc(var(--baseline) / 4) 0; }
+ .discussion .post-actions-list .actions-item.is-hidden,
+ .discussion .response-actions-list .actions-item.is-hidden,
+ .discussion .comment-actions-list .actions-item.is-hidden {
+ display: none; }
+ .discussion .post-actions-list .actions-item.is-disabled a,
+ .discussion .response-actions-list .actions-item.is-disabled a,
+ .discussion .comment-actions-list .actions-item.is-disabled a {
+ pointer-events: none; }
+ .discussion .post-actions-list .actions-item.is-disabled a .action-icon,
+ .discussion .response-actions-list .actions-item.is-disabled a .action-icon,
+ .discussion .comment-actions-list .actions-item.is-disabled a .action-icon {
+ display: none; }
+ .discussion .post-actions-list .actions-item.is-disabled a .action-label,
+ .discussion .response-actions-list .actions-item.is-disabled a .action-label,
+ .discussion .comment-actions-list .actions-item.is-disabled a .action-label {
+ padding-right: 0; }
+ .discussion .post-actions-list .actions-item.is-disabled a:hover,
+ .discussion .response-actions-list .actions-item.is-disabled a:hover,
+ .discussion .comment-actions-list .actions-item.is-disabled a:hover {
+ border-color: transparent; }
+ .discussion .post-actions-list .actions-item.is-disabled a:hover .action-label,
+ .discussion .response-actions-list .actions-item.is-disabled a:hover .action-label,
+ .discussion .comment-actions-list .actions-item.is-disabled a:hover .action-label {
+ color: var(--forum-color-active-text); }
+ .discussion .post-actions-list .more-wrapper,
+ .discussion .response-actions-list .more-wrapper,
+ .discussion .comment-actions-list .more-wrapper {
+ position: relative; }
+
+.discussion .actions-dropdown {
+ right: 0;
+ display: none;
+ position: absolute;
+ top: 100%;
+ pointer-events: none;
+ min-width: var(--actions-dropdown-width); }
+ .discussion .actions-dropdown.is-expanded {
+ display: block;
+ pointer-events: auto; }
+ .discussion .actions-dropdown .actions-dropdown-list {
+ box-sizing: border-box;
+ box-shadow: 0 1px 1px var(--shadow-l1);
+ position: relative;
+ width: 100%;
+ border-radius: var(--forum-border-radius);
+ margin: calc(var(--baseline) / 4) 0 0 0;
+ border: 1px solid var(--forum-color-border);
+ padding: calc(var(--baseline) / 2) calc(var(--baseline) * 0.75);
+ background: var(--forum-color-background); }
+ .discussion .actions-dropdown .actions-dropdown-list::after, .discussion .actions-dropdown .actions-dropdown-list::before {
+ right: 6px;
+ bottom: 100%;
+ border: solid transparent;
+ content: " ";
+ height: 0;
+ width: 0;
+ position: absolute;
+ pointer-events: none; }
+ .discussion .actions-dropdown .actions-dropdown-list::after {
+ margin-right: 1px;
+ border-color: transparent;
+ border-bottom-color: var(--white);
+ border-width: 6px; }
+ .discussion .actions-dropdown .actions-dropdown-list::before {
+ border-color: transparent;
+ border-bottom-color: var(--forum-color-border);
+ border-width: 7px; }
+ .discussion .actions-dropdown .actions-item {
+ display: block;
+ margin: 0; }
+ .discussion .actions-dropdown .actions-item.is-hidden {
+ display: none; }
+
+.discussion .action-button {
+ transition: border 0.5s linear 0s;
+ box-sizing: border-box;
+ display: inline-block;
+ border: 1px solid transparent;
+ border-radius: var(--forum-border-radius);
+ color: #313131; }
+ .discussion .action-button .action-icon {
+ display: inline-block;
+ font-size: var(--forum-small-font-size);
+ height: var(--baseline);
+ width: var(--baseline);
+ border: 1px solid var(--forum-color-border);
+ border-radius: var(--forum-border-radius);
+ text-align: center;
+ color: #313131; }
+ .discussion .action-button .action-icon .icon {
+ margin-right: 0;
+ vertical-align: middle; }
+ .discussion .action-button .action-label {
+ display: none;
+ vertical-align: middle;
+ padding: 2px 8px; }
+ .discussion .action-button:hover .action-label, .discussion .action-button:focus .action-label {
+ display: inline-block; }
+ .discussion .action-button:hover .action-icon, .discussion .action-button:focus .action-icon {
+ -webkit-border-top-left-radius: 0;
+ -moz-border-topleft-radius: 0;
+ border-top-left-radius: 0;
+ -webkit-border-top-right-radius: var(--forum-border-radius);
+ -moz-border-topright-radius: var(--forum-border-radius);
+ border-top-right-radius: var(--forum-border-radius);
+ -webkit-border-bottom-right-radius: var(--forum-border-radius);
+ -moz-border-bottomright-radius: var(--forum-border-radius);
+ border-bottom-right-radius: var(--forum-border-radius);
+ -webkit-border-bottom-left-radius: 0;
+ -moz-border-bottomleft-radius: 0;
+ border-bottom-left-radius: 0; }
+ .discussion .action-button.action-follow .action-label {
+ color: #0075b4; }
+ .discussion .action-button.action-follow.is-checked .action-icon, .discussion .action-button.action-follow:hover .action-icon, .discussion .action-button.action-follow:focus .action-icon {
+ background-color: var(--forum-color-following);
+ border: 1px solid #0075b4;
+ color: var(--white); }
+ .discussion .action-button.action-follow:hover, .discussion .action-button.action-follow:focus {
+ border-color: var(--forum-color-following); }
+ .discussion .action-button.action-vote .action-label {
+ opacity: 1; }
+ .discussion .action-button.action-vote.is-checked .action-icon, .discussion .action-button.action-vote:hover .action-icon, .discussion .action-button.action-vote:focus .action-icon {
+ background-color: var(--green);
+ border: 1px solid var(--green);
+ color: var(--white); }
+ .discussion .action-button.action-vote:hover, .discussion .action-button.action-vote:focus {
+ border-color: var(--green); }
+ .discussion .action-button.action-vote:hover .action-label, .discussion .action-button.action-vote:focus .action-label {
+ color: var(--green); }
+ .discussion .action-button.action-endorse.is-checked .action-icon, .discussion .action-button.action-endorse:hover .action-icon, .discussion .action-button.action-endorse:focus .action-icon {
+ background-color: #0075b4;
+ border: 1px solid #0075b4;
+ color: var(--white); }
+ .discussion .action-button.action-endorse:hover, .discussion .action-button.action-endorse:focus {
+ border-color: #0075b4;
+ background-color: var(--forum-color-background); }
+ .discussion .action-button.action-endorse:hover .action-label, .discussion .action-button.action-endorse:focus .action-label {
+ color: #0075b4; }
+ .discussion .action-button.action-answer.is-checked .action-icon, .discussion .action-button.action-answer:hover .action-icon, .discussion .action-button.action-answer:focus .action-icon {
+ border: 1px solid var(--green);
+ background-color: var(--green);
+ color: var(--white); }
+ .discussion .action-button.action-answer:hover, .discussion .action-button.action-answer:focus {
+ border-color: var(--green);
+ background-color: var(--forum-color-background); }
+ .discussion .action-button.action-answer:hover .action-label, .discussion .action-button.action-answer:focus .action-label {
+ color: var(--green); }
+ .discussion .action-button.action-more {
+ position: relative; }
+ .discussion .action-button.action-more:hover, .discussion .action-button.action-more:focus {
+ border-color: #313131;
+ background-color: var(--forum-color-background); }
+ .discussion .action-button.action-more:hover .action-icon, .discussion .action-button.action-more:focus .action-icon {
+ border: 1px solid #313131;
+ background-color: #313131;
+ color: #fff; }
+ .discussion .action-button.action-more:hover .action-label, .discussion .action-button.action-more:focus .action-label {
+ opacity: 1;
+ color: var(--black); }
+
+.discussion .actions-dropdown .action-list-item {
+ text-align: right;
+ display: block;
+ width: 100%;
+ padding: calc(var(--baseline) / 10) 0;
+ white-space: nowrap;
+ color: #313131; }
+ .discussion .actions-dropdown .action-list-item:hover, .discussion .actions-dropdown .action-list-item:focus {
+ color: var(--link-color); }
+ .discussion .actions-dropdown .action-list-item .action-icon {
+ margin-left: calc(var(--baseline) / 4);
+ display: inline-block;
+ width: calc(var(--baseline) / 2);
+ color: inherit; }
+ .discussion .actions-dropdown .action-list-item .action-label {
+ display: inline-block;
+ color: inherit; }
+ .discussion .actions-dropdown .action-list-item.is-checked.action-pin {
+ color: var(--pink); }
+ .discussion .actions-dropdown .action-list-item.is-checked.action-report {
+ color: var(--pink); }
+ .discussion .actions-dropdown .action-list-item.is-checked:hover, .discussion .actions-dropdown .action-list-item.is-checked:focus {
+ color: var(--link-color); }
+
+.discussion .action-button .action-label,
+.discussion .action-list-item .action-label {
+ float: left; }
+ .discussion .action-button .action-label .label-checked,
+ .discussion .action-list-item .action-label .label-checked {
+ display: none; }
+
+.discussion .action-button.is-checked .label-unchecked,
+.discussion .action-list-item.is-checked .label-unchecked {
+ display: none; }
+
+.discussion .action-button.is-checked .label-checked,
+.discussion .action-list-item.is-checked .label-checked {
+ display: inline; }
+
+.discussion .btn-primary:focus, .discussion .btn-brand:focus,
+.discussion .btn-outline-primary:focus {
+ box-shadow: 0 0 0 2px #0078b4; }
+
+.forum-new-post-form .wmd-input {
+ box-sizing: border-box;
+ position: relative;
+ z-index: 1; }
+
+.wmd-preview-container {
+ -webkit-border-top-left-radius: 0;
+ -moz-border-topleft-radius: 0;
+ border-top-left-radius: 0;
+ -webkit-border-top-right-radius: 0;
+ -moz-border-topright-radius: 0;
+ border-top-right-radius: 0;
+ -webkit-border-bottom-right-radius: var(--forum-border-radius);
+ -moz-border-bottomright-radius: var(--forum-border-radius);
+ border-bottom-right-radius: var(--forum-border-radius);
+ -webkit-border-bottom-left-radius: var(--forum-border-radius);
+ -moz-border-bottomleft-radius: var(--forum-border-radius);
+ border-bottom-left-radius: var(--forum-border-radius);
+ box-sizing: border-box;
+ border: 1px solid var(--forum-color-border);
+ width: 100%;
+ background: var(--forum-color-background-light);
+ border-color: var(--forum-color-border); }
+ .discussion-board .wmd-preview-container,
+ .discussion-user-profile-board .wmd-preview-container {
+ margin-top: calc(-1 * var(--baseline) / 4); }
+
+.wmd-preview-label {
+ padding-left: calc(var(--baseline) / 4);
+ padding-top: 3px;
+ width: 100%;
+ color: var(--forum-color-editor-preview-label);
+ font-size: var(--forum-small-font-size); }
+
+.wmd-preview {
+ padding: calc(var(--baseline) / 2) var(--baseline);
+ width: auto;
+ background-color: var(--forum-color-background-light); }
+ .wmd-preview ol,
+ .wmd-preview ul {
+ padding-left: calc(var(--baseline) * 2);
+ padding-right: 0; }
+ .wmd-preview svg {
+ max-width: 100% !important; }
+
+.wmd-button {
+ background: none; }
+
+.wmd-button-bar {
+ width: 100%; }
+
+.wmd-button-row {
+ transition: all 0.2s ease-out 0s;
+ position: relative;
+ overflow: hidden;
+ margin: calc(var(--baseline) / 2) calc(var(--baseline) / 4) calc(var(--baseline) / 4) calc(var(--baseline) / 4);
+ padding: 0;
+ height: 30px; }
+
+.wmd-spacer {
+ margin-left: 14px;
+ position: absolute;
+ display: inline-block;
+ width: 1px;
+ height: 20px;
+ background-color: Silver;
+ list-style: none; }
+
+.wmd-button {
+ position: absolute;
+ display: inline-block;
+ width: 20px;
+ height: 20px;
+ border: none;
+ background: none;
+ list-style: none;
+ cursor: pointer;
+ padding: 0; }
+
+.wmd-button:hover {
+ background: none;
+ box-shadow: none; }
+
+.wmd-button > span {
+ display: inline-block;
+ width: 20px;
+ height: 20px;
+ background-image: url("var(--static-path)/images/wmd-buttons-transparent.png");
+ background-position: 0 0;
+ background-repeat: no-repeat; }
+
+.wmd-spacer1 {
+ left: 50px; }
+
+.wmd-spacer2 {
+ left: 175px; }
+
+.wmd-spacer3 {
+ left: 300px; }
+
+.wmd-input {
+ -webkit-border-top-left-radius: var(--forum-border-radius);
+ -moz-border-topleft-radius: var(--forum-border-radius);
+ border-top-left-radius: var(--forum-border-radius);
+ -webkit-border-top-right-radius: var(--forum-border-radius);
+ -moz-border-topright-radius: var(--forum-border-radius);
+ border-top-right-radius: var(--forum-border-radius);
+ -webkit-border-bottom-right-radius: 0;
+ -moz-border-bottomright-radius: 0;
+ border-bottom-right-radius: 0;
+ -webkit-border-bottom-left-radius: 0;
+ -moz-border-bottomleft-radius: 0;
+ border-bottom-left-radius: 0;
+ box-sizing: border-box;
+ margin-top: 0;
+ border: 1px solid var(--forum-color-border);
+ padding: calc(var(--baseline) / 2);
+ width: 100%;
+ height: 125px;
+ background: var(--forum-color-background);
+ font-size: var(--forum-base-font-size);
+ font-family: var(--font-family-sans-serif);
+ line-height: 1.6;
+ box-sizing: border-box;
+ width: 100%;
+ background: var(--forum-color-background); }
+
+.wmd-prompt-background {
+ background-color: var(--black); }
+
+.wmd-prompt-dialog {
+ background: var(--forum-color-background);
+ padding: var(--baseline); }
+ .wmd-prompt-dialog > div {
+ font-size: var(--forum-base-font-size);
+ font-family: arial, helvetica, sans-serif; }
+ .wmd-prompt-dialog b {
+ font-size: var(--forum-large-font-size); }
+ .wmd-prompt-dialog > form > input[type="text"] {
+ border-radius: var(--forum-border-radius);
+ color: #333; }
+ .wmd-prompt-dialog > form > input[type="button"] {
+ border: 1px solid #888;
+ font-family: var(--font-family-sans-serif);
+ font-size: var(--forum-x-large-font-size); }
+ .wmd-prompt-dialog > form > input[type="file"] {
+ margin-bottom: 18px; }
+ .wmd-prompt-dialog .field-group .field .field-hint {
+ margin-left: 0;
+ width: 100%; }
+ .wmd-prompt-dialog .field-input-label {
+ font-size: var(--forum-base-font-size); }
+ .wmd-prompt-dialog .input-text {
+ width: calc(100% - 175px);
+ height: 40px; }
+ .wmd-prompt-dialog .input-text.has-error {
+ border-color: var(--forum-color-error); }
+ .wmd-prompt-dialog .field-message.has-error {
+ width: calc(100% - 175px);
+ background-color: var(--forum-color-error);
+ color: var(--white);
+ padding: calc(var(--baseline) / 2);
+ box-sizing: border-box; }
+ .wmd-prompt-dialog .field-label {
+ cursor: pointer; }
+ .wmd-prompt-dialog .input-checkbox {
+ margin-right: calc(var(--baseline) / 5); }
+ .wmd-prompt-dialog #new-url-input {
+ direction: ltr; }
+
+.wmd-button-row {
+ position: relative;
+ height: 25px; }
+
+.discussion .post-label {
+ margin: calc(var(--baseline)/4) calc(var(--baseline)/2) 0 0;
+ font-size: var(--forum-small-font-size);
+ display: inline;
+ white-space: nowrap; }
+ .discussion .post-label .icon {
+ margin-right: calc(var(--baseline) / 5); }
+ .discussion .post-label.is-hidden {
+ display: none; }
+ .discussion .post-label.post-label-pinned {
+ color: var(--forum-color-pinned); }
+ .discussion .post-label.post-label-following {
+ color: var(--forum-color-following); }
+ .discussion .post-label.post-label-reported {
+ color: var(--forum-color-reported); }
+ .discussion .post-label.post-label-closed {
+ color: var(--forum-color-closed); }
+ .discussion .post-label.post-label-by-staff {
+ color: var(--forum-color-staff); }
+ .discussion .post-label.post-label-by-community-ta {
+ color: var(--forum-color-community-ta); }
+
+.discussion .user-label-staff,
+.discussion .user-label-community-ta {
+ color: var(--forum-color-copy-light);
+ font-size: var(--forum-small-font-size);
+ white-space: nowrap; }
+
+.forum-nav-thread-link .forum-nav-thread-labels .post-label .icon {
+ margin-right: 0; }
+
+.discussion-board > .page-header .has-breadcrumbs .breadcrumbs {
+ margin-bottom: calc(var(--baseline) / 2);
+ font-size: 1rem;
+ font-weight: 600;
+ line-height: var(--line-height-base); }
+
+.forum-nav-browse-menu-wrapper {
+ border-bottom: 1px solid var(--forum-color-border);
+ background: #e7e7e7; }
+
+.forum-nav-browse-filter {
+ position: relative;
+ border-bottom: 1px solid var(--forum-color-border);
+ padding: calc(var(--baseline) / 4); }
+
+.forum-nav-browse-filter .icon {
+ right: calc(var(--baseline)/4 + 1px + calc(var(--baseline) / 4));
+ font-size: var(--forum-small-font-size);
+ position: absolute;
+ margin-top: -6px;
+ top: 75%; }
+
+.forum-nav-browse-filter-input {
+ width: 100%; }
+
+.forum-nav-browse-menu-following .icon {
+ float: left;
+ left: calc(var(--baseline) / 2);
+ position: relative;
+ top: 13px; }
+
+.forum-nav-browse-menu-following .forum-nav-browse-title {
+ padding-left: calc(var(--baseline) * 1.5); }
+
+.forum-nav-browse-menu-item {
+ margin-bottom: 0; }
+
+.forum-nav-browse-title {
+ text-align: left;
+ display: block;
+ width: 100%;
+ border: 0;
+ border-radius: 0;
+ border-bottom: 1px solid var(--forum-color-border);
+ padding: calc(var(--baseline) / 2);
+ background: transparent;
+ box-shadow: none;
+ background-image: none;
+ cursor: pointer; }
+ .forum-nav-browse-title:hover, .forum-nav-browse-title:focus, .forum-nav-browse-title.is-focused {
+ background-image: none !important;
+ box-shadow: none !important;
+ background: var(--forum-color-background) !important;
+ /* stylelint-disable-line */ }
+
+.forum-nav-browse-title .icon {
+ margin-right: calc(var(--baseline) / 2); }
+
+.forum-nav-browse-menu {
+ padding-left: 0;
+ margin: 0;
+ font-size: var(--forum-base-font-size);
+ overflow-y: scroll;
+ list-style: none;
+ max-height: 600px; }
+
+.forum-nav-browse-submenu {
+ list-style: none;
+ margin: 0;
+ padding: 0; }
+ .forum-nav-browse-submenu li .forum-nav-browse-title {
+ padding-left: var(--baseline); }
+
+.forum-nav-refine-bar {
+ -webkit-border-top-left-radius: var(--forum-border-radius);
+ -moz-border-topleft-radius: var(--forum-border-radius);
+ border-top-left-radius: var(--forum-border-radius);
+ -webkit-border-top-right-radius: var(--forum-border-radius);
+ -moz-border-topright-radius: var(--forum-border-radius);
+ border-top-right-radius: var(--forum-border-radius);
+ -webkit-border-bottom-right-radius: 0;
+ -moz-border-bottomright-radius: 0;
+ border-bottom-right-radius: 0;
+ -webkit-border-bottom-left-radius: 0;
+ -moz-border-bottomleft-radius: 0;
+ border-bottom-left-radius: 0;
+ font-size: var(--forum-small-font-size);
+ border-bottom: 1px solid var(--forum-color-border);
+ background-color: #e7e7e7;
+ padding: calc(var(--baseline) / 4) calc(var(--baseline) / 2);
+ color: var(--black); }
+ .forum-nav-refine-bar:after {
+ content: "";
+ display: table;
+ clear: both; }
+
+.forum-nav-filter-main {
+ text-align: left;
+ float: left;
+ box-sizing: border-box;
+ width: 50%; }
+
+.forum-nav-filter-cohort,
+.forum-nav-sort {
+ text-align: right;
+ box-sizing: border-box; }
+
+.discussion-board .forum-nav-filter-cohort {
+ float: right;
+ text-align: right;
+ width: 50%; }
+
+.forum-nav-sort {
+ float: right; }
+
+.forum-nav-filter-main-control, .forum-nav-filter-cohort-control, .forum-nav-sort-control {
+ border: none;
+ max-width: 100%;
+ background-color: transparent; }
+
+.forum-nav-filter-cohort-control {
+ max-width: 60%; }
+
+.forum-nav-thread-list {
+ padding-left: 0 !important;
+ min-height: 60px;
+ max-height: 800px;
+ border-bottom: 1px solid #e7e7e7;
+ margin: 0;
+ overflow-y: auto;
+ list-style: none;
+ border-radius: 0 0 3px 3px; }
+ .forum-nav-thread-list .forum-nav-thread-labels {
+ margin: 5px 0 0;
+ padding-left: 0 !important; }
+ .forum-nav-thread-list .thread-preview-body {
+ margin-top: calc(var(--baseline) / 4);
+ color: var(--forum-color-response-count);
+ font-size: var(--forum-small-font-size);
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis; }
+
+.course-wrapper .course-content .forum-nav-thread-list-wrapper .forum-nav-thread-list {
+ padding-left: 0;
+ list-style: none; }
+ .course-wrapper .course-content .forum-nav-thread-list-wrapper .forum-nav-thread-list .forum-nav-thread {
+ margin: 0; }
+
+.forum-nav-thread {
+ border-bottom: 1px solid var(--forum-color-border);
+ background-color: var(--forum-color-background);
+ margin-bottom: 0; }
+ .forum-nav-thread:last-child {
+ border-bottom: 1px solid var(--forum-color-border); }
+ .forum-nav-thread .forum-nav-thread-link {
+ border-left: 3px solid transparent;
+ display: flex;
+ padding: calc(var(--baseline) / 2);
+ transition: none;
+ align-items: center;
+ justify-content: space-between;
+ color: var(--forum-color-read-post); }
+ .forum-nav-thread .forum-nav-thread-link:hover, .forum-nav-thread .forum-nav-thread-link:active, .forum-nav-thread .forum-nav-thread-link:focus {
+ text-decoration: none; }
+ .forum-nav-thread .forum-nav-thread-link:hover {
+ background-color: var(--forum-color-hover-thread); }
+ .forum-nav-thread .forum-nav-thread-link.is-active {
+ background-color: var(--forum-color-reading-thread); }
+ .forum-nav-thread .forum-nav-thread-link .forum-nav-thread-unread-comments-count {
+ display: inline-block;
+ font-size: var(--forum-small-font-size);
+ white-space: nowrap; }
+ .forum-nav-thread.never-read .forum-nav-thread-link {
+ border-left: 3px solid var(--forum-color-never-read-post);
+ color: var(--forum-color-never-read-post); }
+
+.forum-nav-thread-wrapper-0, .forum-nav-thread-wrapper-1, .forum-nav-thread-wrapper-2 {
+ display: inline-block;
+ vertical-align: middle; }
+
+.forum-nav-thread-wrapper-0 {
+ margin-right: calc(var(--baseline) / 5);
+ align-self: flex-start; }
+ .forum-nav-thread-wrapper-0 .icon {
+ font-size: var(--forum-base-font-size);
+ width: 18px;
+ text-align: center; }
+
+.forum-nav-thread-wrapper-1 {
+ margin: 0 calc(var(--baseline) / 4);
+ max-width: calc(100% - 75px);
+ flex-grow: 1; }
+
+.forum-nav-thread-wrapper-2 {
+ text-align: right;
+ min-width: 40px;
+ white-space: nowrap; }
+
+.forum-nav-thread-title {
+ margin-left: 0;
+ font-size: var(--forum-base-font-size);
+ display: block; }
+
+.forum-nav-thread-votes-count, .forum-nav-thread-comments-count {
+ margin-right: calc(var(--baseline) / 4);
+ font-size: var(--forum-small-font-size);
+ display: inline-block;
+ text-align: center;
+ color: var(--black); }
+ .forum-nav-thread-votes-count:last-child, .forum-nav-thread-comments-count:last-child {
+ margin-right: 0; }
+
+.forum-nav-thread-comments-count {
+ position: relative;
+ margin-left: calc(var(--baseline) / 4);
+ margin-bottom: calc(var(--baseline) / 4);
+ border-radius: var(--forum-border-radius);
+ padding: calc(var(--baseline) / 10) calc(var(--baseline) / 5);
+ min-width: 2em;
+ background-color: #e7e7e7; }
+ .forum-nav-thread-comments-count::after {
+ content: '';
+ display: block;
+ position: absolute;
+ bottom: calc(-1 * var(--baseline) / 4);
+ right: calc(var(--baseline) / 4);
+ width: 0;
+ height: 0;
+ border-style: solid;
+ border-width: 0 calc(var(--baseline) / 4) calc(var(--baseline) / 4) 0;
+ border-color: transparent var(--forum-color-border) transparent transparent; }
+
+.forum-nav-load-more {
+ border-bottom: 1px solid var(--forum-color-border);
+ background-color: #e7e7e7; }
+
+.forum-nav-load-more-link, .forum-nav-loading {
+ display: block;
+ padding: var(--baseline) 0;
+ text-align: center; }
+
+.forum-nav-load-more-link {
+ color: var(--link-color);
+ width: 100%; }
+ .forum-nav-load-more-link:hover, .forum-nav-load-more-link:focus {
+ color: var(--forum-color-active-text);
+ background-color: var(--forum-color-active-thread) !important; }
+
+.view-discussion-home {
+ padding-left: var(--baseline);
+ display: none; }
+ @media (min-width: 992px) {
+ .view-discussion-home {
+ display: block; } }
+ .view-discussion-home section {
+ border-bottom: 1px solid var(--forum-color-border); }
+ .view-discussion-home .label {
+ display: block; }
+ .view-discussion-home .label-settings {
+ padding-top: var(--baseline);
+ padding-bottom: calc(var(--baseline) / 2); }
+ .view-discussion-home .home-header {
+ margin: 0; }
+ .view-discussion-home .home-title {
+ font-size: var(--forum-large-font-size);
+ color: var(--black);
+ margin-bottom: calc(var(--baseline) / 4); }
+ .view-discussion-home .home-description {
+ margin-bottom: calc(var(--baseline) / 2); }
+ .view-discussion-home .home-stats {
+ padding: var(--baseline) 0; }
+ .view-discussion-home .home-stats .label-area {
+ display: inline-block;
+ min-width: calc(var(--baseline) * 5);
+ width: 25%;
+ vertical-align: middle; }
+ .view-discussion-home .home-stats .label-area .profile-link {
+ font-weight: 700; }
+ .view-discussion-home .home-stats .stats-grouping {
+ padding-left: var(--baseline);
+ display: inline-block;
+ width: 70%; }
+ .view-discussion-home .home-stats .stats-grouping .profile-stat {
+ display: inline-block;
+ width: 32.5%;
+ vertical-align: middle; }
+ .view-discussion-home .home-stats .stats-grouping .profile-stat .count {
+ font-size: var(--forum-x-large-font-size);
+ display: inline-block;
+ padding: 0 calc(var(--baseline) / 2);
+ vertical-align: middle; }
+ .view-discussion-home .home-stats .stats-grouping .profile-stat .profile-stat-label {
+ vertical-align: middle; }
+ .view-discussion-home .home-helpgrid {
+ border-bottom: none;
+ border-radius: var(--forum-border-radius);
+ border: 1px solid var(--forum-color-border);
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15); }
+ .view-discussion-home .helpgrid-row {
+ border-bottom: 1px solid var(--forum-color-border); }
+ .view-discussion-home .helpgrid-row .row-title {
+ padding: calc(var(--baseline) * 1.5) var(--baseline);
+ background-color: #dedede;
+ font-size: var(--forum-small-font-size); }
+ .view-discussion-home .helpgrid-row .row-item-full,
+ .view-discussion-home .helpgrid-row .row-item {
+ font-size: var(--forum-small-font-size);
+ padding: 0 calc(var(--baseline) / 2);
+ width: 26%;
+ vertical-align: middle; }
+ .view-discussion-home .helpgrid-row .row-item-full .icon,
+ .view-discussion-home .helpgrid-row .row-item .icon {
+ padding: 0 calc(var(--baseline) / 2);
+ font-size: 24px;
+ vertical-align: middle;
+ display: table-cell; }
+ .view-discussion-home .helpgrid-row .row-item-full .fa-stack .icon,
+ .view-discussion-home .helpgrid-row .row-item .fa-stack .icon {
+ padding: 0 calc(var(--baseline) / 2); }
+ .view-discussion-home .helpgrid-row .row-item-full .row-description,
+ .view-discussion-home .helpgrid-row .row-item .row-description {
+ vertical-align: middle;
+ display: table-cell; }
+ .view-discussion-home .helpgrid-row .row-item-full .notification-checkbox {
+ margin-right: calc(var(--baseline) / 2);
+ display: inline-block;
+ padding: calc(var(--baseline)/4) 0 calc(var(--baseline)/2) 0;
+ border-radius: var(--forum-border-radius);
+ border: 1px solid gray; }
+ .view-discussion-home .helpgrid-row .row-item-full .notification-checkbox .email-setting {
+ display: inline-block;
+ text-align: center;
+ vertical-align: middle;
+ margin-left: calc(var(--baseline) / 2); }
+ .view-discussion-home .helpgrid-row .row-item-full .notification-checkbox .icon {
+ display: inline-block; }
+ .view-discussion-home .helpgrid-row .row-item-full .notification-checkbox .email-setting:checked ~ .icon {
+ color: var(--green); }
+ .view-discussion-home .helpgrid-row .row-item-full .row-description {
+ display: inline-block;
+ width: 80%; }
+ .view-discussion-home .helpgrid-row-navigation .fa-bars {
+ color: #e7e7e7; }
+ .view-discussion-home .helpgrid-row-navigation .fa-search {
+ color: var(--gray-300); }
+ .view-discussion-home .helpgrid-row-navigation .fa-sort {
+ color: var(--gray-300); }
+ .view-discussion-home .helpgrid-row-participation .fa-plus {
+ color: var(--green); }
+ .view-discussion-home .helpgrid-row-participation .fa-flag {
+ color: var(--pink); }
+ .view-discussion-home .helpgrid-row-participation .fa-star {
+ color: var(--blue); }
+ .view-discussion-home .helpgrid-row-notification .fa-square {
+ color: var(--green); }
+ .view-discussion-home .helpgrid-row-notification .fa-envelope {
+ color: var(--gray-300); }
+
+.discussion-post {
+ padding: 0 calc(var(--baseline) / 2); }
+ .discussion-post .post-header-actions {
+ float: right; }
+
+.discussion-article .posted-details {
+ margin: calc(var(--baseline) / 5) 0;
+ color: var(--forum-color-copy-light); }
+ .discussion-article .posted-details .username {
+ display: inline; }
+ .discussion-article .posted-details .timeago,
+ .discussion-article .posted-details .top-post-status {
+ color: inherit; }
+
+.thread-title {
+ display: block;
+ margin-bottom: var(--baseline);
+ font-size: var(--forum-x-large-font-size);
+ font-weight: 600; }
+
+.thread-responses-wrapper,
+.post-extended-content {
+ padding: 0 calc(var(--baseline) / 2); }
+
+.discussion-response {
+ min-height: calc(var(--baseline) * 5); }
+ .discussion-response .response-header-content {
+ display: inline-block;
+ vertical-align: top;
+ width: 91.48936%; }
+ .discussion-response .response-header-actions {
+ float: right;
+ right: var(--baseline);
+ position: absolute;
+ top: calc(var(--baseline) / 2); }
+
+.discussion-comment .response-body {
+ padding: calc(var(--baseline) / 2) calc(var(--baseline) * 1.5) 0 0;
+ display: inline-block;
+ margin-top: calc(var(--baseline) / 2);
+ width: 82.97872%; }
+ .discussion-comment .response-body p + p {
+ margin-top: calc(var(--baseline) / 2); }
+
+.discussion-comment .comment-actions-list {
+ float: right;
+ right: calc(var(--baseline) / 2);
+ position: absolute;
+ top: 0; }
+
+.thread-wrapper .response-btn-count-wrapper {
+ margin: var(--baseline) 0; }
+
+.discussion-post:after,
+.discussion-response:after,
+.discussion-comment:after {
+ content: "";
+ display: table;
+ clear: both; }
+
+.discussion-post .author-image,
+.discussion-response .author-image,
+.discussion-comment .author-image {
+ margin-right: calc(var(--baseline) / 2);
+ display: inline-block;
+ vertical-align: top; }
+ .discussion-post .author-image:empty,
+ .discussion-response .author-image:empty,
+ .discussion-comment .author-image:empty {
+ display: none; }
+ .discussion-post .author-image.level-post,
+ .discussion-response .author-image.level-post,
+ .discussion-comment .author-image.level-post {
+ height: var(--post-image-dimension);
+ width: var(--post-image-dimension); }
+ .discussion-post .author-image.level-response,
+ .discussion-response .author-image.level-response,
+ .discussion-comment .author-image.level-response {
+ height: var(--response-image-dimension);
+ width: var(--response-image-dimension); }
+ .discussion-post .author-image.level-comment,
+ .discussion-response .author-image.level-comment,
+ .discussion-comment .author-image.level-comment {
+ height: var(--comment-image-dimension);
+ width: var(--comment-image-dimension); }
+ .discussion-post .author-image img,
+ .discussion-response .author-image img,
+ .discussion-comment .author-image img {
+ border-radius: var(--forum-border-radius); }
+
+.discussion-response .response-body {
+ padding: calc(var(--baseline) / 2) calc(var(--baseline) * 1.5) 0 0;
+ margin-bottom: 0.2em;
+ font-size: var(--forum-base-font-size); }
+
+.discussion-post:after {
+ content: "";
+ display: table;
+ clear: both; }
+
+.discussion-post .post-header-content {
+ max-width: calc(100% - var(--actions-dropdown-offset)); }
+ .discussion-post .post-header-content .post-title {
+ font-size: var(--forum-x-large-font-size);
+ margin-bottom: calc(var(--baseline) / 4); }
+
+.discussion-post .post-body {
+ padding: calc(var(--baseline) / 2) 0;
+ max-width: calc(100% - var(--actions-dropdown-offset)); }
+
+.discussion-post .post-context {
+ color: var(--forum-color-copy-light); }
+ .discussion-post .post-context:empty {
+ display: none; }
+
+.discussion-thread {
+ padding: 0;
+ margin-bottom: var(--baseline);
+ transition: all 0.25s linear 0s; }
+ .discussion-thread p {
+ margin-bottom: 0; }
+ .discussion-thread .discussion-article {
+ transition: all 0.2s linear 0s;
+ border: 1px solid var(--forum-color-border);
+ border-radius: var(--forum-border-radius);
+ min-height: 0;
+ background: var(--forum-color-background);
+ box-shadow: 0 1px 0 var(--shadow);
+ transition: all 0.2s linear 0s; }
+ .discussion-thread .discussion-article .thread-wrapper {
+ -webkit-border-top-left-radius: var(--forum-border-radius);
+ -moz-border-topleft-radius: var(--forum-border-radius);
+ border-top-left-radius: var(--forum-border-radius);
+ -webkit-border-top-right-radius: var(--forum-border-radius);
+ -moz-border-topright-radius: var(--forum-border-radius);
+ border-top-right-radius: var(--forum-border-radius);
+ -webkit-border-bottom-right-radius: 0;
+ -moz-border-bottomright-radius: 0;
+ border-bottom-right-radius: 0;
+ -webkit-border-bottom-left-radius: 0;
+ -moz-border-bottomleft-radius: 0;
+ border-bottom-left-radius: 0;
+ position: relative;
+ overflow-x: hidden;
+ overflow-y: auto;
+ max-height: 600px;
+ background-color: var(--forum-color-background); }
+ .discussion-thread .discussion-article .thread-wrapper .discussion-post .inline-comment-count {
+ margin-right: calc(var(--baseline) / 2);
+ float: right;
+ position: relative;
+ display: block;
+ height: 27px;
+ margin-top: 6px;
+ padding: 0 8px;
+ border-radius: var(--forum-border-radius);
+ font-size: var(--forum-small-font-size);
+ font-weight: 400;
+ line-height: 25px;
+ color: #888; }
+ .discussion-thread .discussion-article .thread-wrapper .responses header {
+ padding-bottom: 0;
+ margin-bottom: calc(var(--baseline) * 0.75); }
+ .discussion-thread .discussion-article .thread-wrapper .responses header .posted-by {
+ margin-right: calc(var(--baseline) / 4);
+ float: left;
+ font-size: var(--forum-large-font-size); }
+ .discussion-thread .discussion-article .thread-wrapper .discussion-reply-new .wmd-input {
+ height: 120px; }
+ .discussion-thread .discussion-article .thread-wrapper .post-extended-content {
+ display: none; }
+ .discussion-thread .discussion-article .post-tools {
+ box-shadow: 0 1px 1px var(--shadow) inset;
+ background: var(--white); }
+ .discussion-thread .discussion-article .post-tools:hover {
+ background: var(--forum-color-hover-thread); }
+ .discussion-thread .discussion-article .post-tools:hover .icon {
+ color: var(--link-hover); }
+ .discussion-thread .discussion-article .post-tools .btn-link {
+ display: block;
+ padding: calc(var(--baseline) * 0.25) var(--baseline);
+ font-size: var(--forum-small-font-size);
+ line-height: 30px; }
+ .discussion-thread .discussion-article .post-tools .btn-link .icon {
+ margin-right: calc(var(--baseline) * 0.25);
+ color: var(--link-color); }
+
+.thread-wrapper img,
+.forum-new-post-form img {
+ max-width: 100%; }
+
+.forum-new-post-form,
+.edit-post-form {
+ box-sizing: border-box;
+ margin: 0;
+ border-radius: var(--forum-border-radius);
+ max-width: 1920px; }
+ .forum-new-post-form:after,
+ .edit-post-form:after {
+ content: "";
+ display: table;
+ clear: both; }
+ .forum-new-post-form label,
+ .forum-new-post-form .field-label-text,
+ .edit-post-form label,
+ .edit-post-form .field-label-text {
+ -webkit-font-smoothing: initial; }
+ .forum-new-post-form .post-type,
+ .edit-post-form .post-type {
+ text-shadow: none; }
+ .forum-new-post-form .post-type,
+ .edit-post-form .post-type {
+ margin-bottom: 0; }
+ .forum-new-post-form .post-errors,
+ .edit-post-form .post-errors {
+ margin: 0 0 var(--baseline);
+ padding: 0 !important;
+ list-style: none !important; }
+ .forum-new-post-form .post-field,
+ .edit-post-form .post-field {
+ margin-bottom: calc(var(--baseline) * 1.5); }
+ .forum-new-post-form .post-field .field-label,
+ .edit-post-form .post-field .field-label {
+ margin: 0; }
+ .forum-new-post-form .post-field .field-label .field-input,
+ .edit-post-form .post-field .field-label .field-input {
+ display: inline-block;
+ vertical-align: top; }
+ .forum-new-post-form .post-field .field-label .field-input:not([type="text"]),
+ .edit-post-form .post-field .field-label .field-input:not([type="text"]) {
+ border-width: 0;
+ padding: 0; }
+ .forum-new-post-form .post-field .field-label .field-label-text,
+ .edit-post-form .post-field .field-label .field-label-text {
+ display: block; }
+ .forum-new-post-form .post-field .field-label .field-label-text + .field-input,
+ .edit-post-form .post-field .field-label .field-label-text + .field-input {
+ width: 75%; }
+ .forum-new-post-form .post-field .field-label .js-post-title,
+ .edit-post-form .post-field .field-label .js-post-title {
+ width: 85%; }
+ .forum-new-post-form .post-field .field-help,
+ .edit-post-form .post-field .field-help {
+ margin: calc(var(--baseline) / 4) 0 calc(var(--baseline) / 4) 0;
+ font-size: var(--forum-small-font-size);
+ line-height: 1.5; }
+ .forum-new-post-form .post-field .field-help#field_help_post_type,
+ .edit-post-form .post-field .field-help#field_help_post_type {
+ margin: calc(var(--baseline) / 4) 0 calc(var(--baseline) * 0.75) 0; }
+ .forum-new-post-form .post-field .field-help#new-post-editor-description,
+ .edit-post-form .post-field .field-help#new-post-editor-description {
+ padding-left: 0; }
+ .forum-new-post-form .post-field .field-input,
+ .edit-post-form .post-field .field-input {
+ padding: 0;
+ border: none; }
+ .forum-new-post-form .post-options,
+ .edit-post-form .post-options {
+ margin: var(--baseline) 0; }
+ .forum-new-post-form .post-options .field-label,
+ .edit-post-form .post-options .field-label {
+ margin-right: var(--baseline); }
+ .forum-new-post-form .post-options .icon,
+ .edit-post-form .post-options .icon {
+ margin-right: calc(var(--baseline) / 4); }
+
+.edit-post-form {
+ box-sizing: border-box;
+ width: 100%;
+ padding-top: 0; }
+ .edit-post-form:after {
+ content: "";
+ display: table;
+ clear: both; }
+ .edit-post-form h1 {
+ font-size: var(--forum-large-font-size); }
+ .edit-post-form .form-row {
+ margin-top: var(--baseline); }
+ .edit-post-form .post-cancel {
+ float: left;
+ margin: calc(var(--baseline)/2) 0 0 calc(var(--baseline)*0.75); }
+ .edit-post-form .post-update {
+ float: left;
+ margin-top: calc(var(--baseline) / 2); }
+ .edit-post-form .post-update:hover, .edit-post-form .post-update:focus {
+ border-color: #222; }
+ .edit-post-form .edit-post-title {
+ box-sizing: border-box;
+ border: 1px solid var(--forum-color-border);
+ border-radius: var(--forum-border-radius);
+ padding: 0 calc(var(--baseline) / 2);
+ width: 100%;
+ height: 40px;
+ box-shadow: 0 1px 3px var(--shadow-l1) inset;
+ font-size: var(--forum-large-font-size);
+ font-family: var(--font-family-sans-serif); }
+
+.discussion-module .forum-new-post-form {
+ background: var(--forum-color-background); }
+
+.forum-new-post-form .post-type-label,
+.edit-post-form .post-type-label {
+ margin-right: var(--baseline); }
+
+.forum-new-post-form input[type=text].field-input,
+.edit-post-form input[type=text].field-input {
+ box-sizing: border-box;
+ border: 1px solid var(--forum-color-border);
+ border-radius: var(--forum-border-radius);
+ padding: 0 calc(var(--baseline) / 2);
+ width: 70%;
+ height: 40px;
+ color: #333;
+ font-size: var(--forum-large-font-size);
+ font-family: 'Open Sans', sans-serif; }
+
+.forum-new-post-form select.field-input,
+.edit-post-form select.field-input {
+ border: 1px solid var(--forum-color-border) !important;
+ height: 40px; }
+
+.forum-new-post-form .post-topic.field-input,
+.edit-post-form .post-topic.field-input {
+ width: 100%; }
+
+.forum-new-post-form .post-option,
+.edit-post-form .post-option {
+ box-sizing: border-box;
+ display: inline-block;
+ margin-right: var(--baseline);
+ border-radius: var(--forum-border-radius);
+ padding: calc(var(--baseline) / 2);
+ cursor: pointer; }
+ .forum-new-post-form .post-option:hover,
+ .edit-post-form .post-option:hover {
+ border-color: var(--forum-color-border); }
+ .forum-new-post-form .post-option .icon,
+ .edit-post-form .post-option .icon {
+ margin-right: calc(var(--baseline) / 4); }
+
+.discussion .responses:empty {
+ display: none; }
+
+.discussion .responses .forum-response {
+ animation: fadeIn 0.3s;
+ position: relative;
+ margin: var(--baseline) 0;
+ border: 1px solid var(--forum-color-border);
+ border-radius: var(--forum-border-radius);
+ box-shadow: 0 0 1px var(--shadow); }
+
+.discussion .responses .discussion-response {
+ box-sizing: border-box;
+ -webkit-border-top-left-radius: var(--forum-border-radius);
+ -moz-border-topleft-radius: var(--forum-border-radius);
+ border-top-left-radius: var(--forum-border-radius);
+ -webkit-border-top-right-radius: var(--forum-border-radius);
+ -moz-border-topright-radius: var(--forum-border-radius);
+ border-top-right-radius: var(--forum-border-radius);
+ -webkit-border-bottom-right-radius: 0;
+ -moz-border-bottomright-radius: 0;
+ border-bottom-right-radius: 0;
+ -webkit-border-bottom-left-radius: 0;
+ -moz-border-bottomleft-radius: 0;
+ border-bottom-left-radius: 0;
+ padding: var(--baseline);
+ background-color: var(--forum-color-background); }
+
+.discussion-response .response-header-content .username {
+ font-size: var(--forum-base-font-size); }
+
+.discussion-response .response-body ol,
+.discussion-response .response-body ul {
+ padding-left: calc(var(--baseline) * 2);
+ padding-right: 0; }
+
+.discussion .add-response {
+ display: inline;
+ padding: calc(var(--baseline) / 2); }
+
+.forum-response .action-show-comments {
+ font-size: var(--forum-base-font-size);
+ box-sizing: border-box;
+ display: block;
+ padding: calc(var(--baseline) / 2) var(--baseline);
+ width: 100%;
+ background: #f5f5f5;
+ box-shadow: 0 1px 3px -1px var(--shadow) inset; }
+
+.discussion .responses .forum-response.staff {
+ padding-top: 38px;
+ border-color: #009fe2; }
+
+.discussion .responses .forum-response.community-ta {
+ padding-top: 38px;
+ border-color: var(--forum-color-community-ta); }
+
+.discussion .responses .forum-response .staff-banner {
+ -webkit-border-top-left-radius: var(--forum-border-radius);
+ -moz-border-topleft-radius: var(--forum-border-radius);
+ border-top-left-radius: var(--forum-border-radius);
+ -webkit-border-top-right-radius: var(--forum-border-radius);
+ -moz-border-topright-radius: var(--forum-border-radius);
+ border-top-right-radius: var(--forum-border-radius);
+ -webkit-border-bottom-right-radius: 0;
+ -moz-border-bottomright-radius: 0;
+ border-bottom-right-radius: 0;
+ -webkit-border-bottom-left-radius: 0;
+ -moz-border-bottomleft-radius: 0;
+ border-bottom-left-radius: 0;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
+ height: 14px;
+ padding: 1px calc(var(--baseline) / 4);
+ box-sizing: border-box;
+ background: #009fe2;
+ font-size: var(--forum-small-font-size);
+ font-weight: 700;
+ color: var(--white); }
+
+.discussion .responses .forum-response .community-ta-banner {
+ -webkit-border-top-left-radius: var(--forum-border-radius);
+ -moz-border-topleft-radius: var(--forum-border-radius);
+ border-top-left-radius: var(--forum-border-radius);
+ -webkit-border-top-right-radius: var(--forum-border-radius);
+ -moz-border-topright-radius: var(--forum-border-radius);
+ border-top-right-radius: var(--forum-border-radius);
+ -webkit-border-bottom-right-radius: 0;
+ -moz-border-bottomright-radius: 0;
+ border-bottom-right-radius: 0;
+ -webkit-border-bottom-left-radius: 0;
+ -moz-border-bottomleft-radius: 0;
+ border-bottom-left-radius: 0;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
+ height: 14px;
+ padding: 1px calc(var(--baseline) / 4);
+ box-sizing: border-box;
+ background: var(--forum-color-community-ta);
+ font-size: var(--forum-small-font-size);
+ font-weight: 700;
+ color: var(--white); }
+
+.discussion .responses .forum-response.loading {
+ height: 0;
+ margin: 0;
+ padding: 0;
+ border: none;
+ box-shadow: none; }
+
+.discussion .comments {
+ -webkit-border-top-left-radius: 0;
+ -moz-border-topleft-radius: 0;
+ border-top-left-radius: 0;
+ -webkit-border-top-right-radius: 0;
+ -moz-border-topright-radius: 0;
+ border-top-right-radius: 0;
+ -webkit-border-bottom-right-radius: var(--forum-border-radius);
+ -moz-border-bottomright-radius: var(--forum-border-radius);
+ border-bottom-right-radius: var(--forum-border-radius);
+ -webkit-border-bottom-left-radius: var(--forum-border-radius);
+ -moz-border-bottomleft-radius: var(--forum-border-radius);
+ border-bottom-left-radius: var(--forum-border-radius);
+ background: #f5f5f5;
+ box-shadow: 0 1px 3px -1px var(--shadow) inset; }
+ .discussion .comments > li {
+ border-top: 1px solid var(--forum-color-border);
+ padding: calc(var(--baseline) / 2) var(--baseline);
+ position: relative; }
+ .discussion .comments blockquote {
+ background: var(--forum-color-background-light);
+ border-radius: var(--forum-border-radius);
+ padding: calc(var(--baseline) / 4) calc(var(--baseline) / 2);
+ font-size: var(--forum-base-font-size); }
+ .discussion .comments .comment-form {
+ padding: calc(var(--baseline) / 2) 0; }
+ .discussion .comments .comment-form:after {
+ content: "";
+ display: table;
+ clear: both; }
+ .discussion .comments .comment-form .comment-form-input {
+ padding: calc(var(--baseline) / 4) calc(var(--baseline) / 2);
+ background-color: var(--forum-color-background);
+ font-size: var(--forum-base-font-size); }
+ .discussion .comments .comment-form .discussion-submit-comment {
+ float: left;
+ margin-top: 8px; }
+ .discussion .comments .comment-form .wmd-input {
+ transition: all 0.2s linear 0s;
+ height: 40px; }
+ .discussion .comments .comment-form .discussion-errors {
+ margin: 0; }
+
+.response-count {
+ float: right;
+ margin-right: var(--baseline)/2;
+ color: var(--forum-color-copy-light);
+ font-size: var(--forum-base-font-size); }
+
+.response-pagination {
+ visibility: visible;
+ margin: calc(var(--baseline) / 2) 0; }
+ .response-pagination:empty {
+ visibility: hidden; }
+ .response-pagination .response-display-count {
+ display: block;
+ padding: calc(var(--baseline) / 2) 0;
+ color: var(--forum-color-response-count);
+ font-size: var(--forum-base-font-size); }
+ .response-pagination .load-response-button {
+ text-align: left;
+ position: relative;
+ margin: calc(var(--baseline) / 2) 0;
+ width: 100%; }
+
+.forum-nav .search-alert {
+ transition: none;
+ padding: calc(var(--baseline) / 2) 11px calc(var(--baseline) / 2) 18px;
+ background-color: var(--black); }
+
+.forum-nav .search-alert-content,
+.forum-nav .search-alert-controls {
+ display: inline-block;
+ vertical-align: middle; }
+
+.forum-nav .search-alert-content {
+ width: 70%; }
+ .forum-nav .search-alert-content .message {
+ font-size: var(--forum-small-font-size);
+ color: var(--white); }
+ .forum-nav .search-alert-content .message em {
+ font-style: italic; }
+ .forum-nav .search-alert-content .link-jump {
+ transition: none; }
+
+.forum-nav .search-alert-controls {
+ text-align: right;
+ width: 28%; }
+ .forum-nav .search-alert-controls .control {
+ transition: none;
+ padding: calc(var(--baseline) / 4) calc(var(--baseline) / 2);
+ color: var(--white);
+ font-size: var(--forum-base-font-size); }
+ .forum-nav .search-alert-controls .control:hover, .forum-nav .search-alert-controls .control:focus {
+ color: var(--white);
+ text-decoration: none; }
+
+.has-breadcrumbs .breadcrumbs {
+ margin: 5px 0 0; }
+ .has-breadcrumbs .breadcrumbs .all-topics {
+ font-size: 14px; }
+ .has-breadcrumbs .breadcrumbs .all-topics .fa {
+ margin-right: 10px; }
+
+.forum-nav-browse-filter label {
+ margin-bottom: 0;
+ width: 100%; }
+
+.forum-nav-browse-filter-input {
+ padding-left: calc(var(--baseline) / 4);
+ padding-right: calc(var(--baseline) / 2)12px;
+ box-shadow: none !important;
+ border-radius: var(--forum-border-radius) !important;
+ height: auto !important;
+ font-size: var(--forum-small-font-size) !important; }
+
+.forum-nav-filter-main,
+.forum-nav-filter-cohort,
+.forum-nav-sort {
+ font: inherit;
+ line-height: 1em;
+ margin-bottom: 0; }
+
+.forum-nav-filter-main-control,
+.forum-nav-filter-cohort-control,
+.forum-nav-sort-control {
+ font: inherit; }
+
+li[class*=forum-nav-thread-label-] span {
+ color: inherit; }
+
+li[class*=forum-nav-thread-label-]::before, li[class*=forum-nav-thread-label-]::after {
+ display: none !important; }
+
+.discussion .action-label span,
+.discussion .action-icon span {
+ color: inherit; }
+
+.discussion-module .post-header {
+ margin-bottom: 0 !important;
+ padding-bottom: 0 !important; }
+ .discussion-module .post-header .posted-details {
+ margin: calc(var(--baseline) / 5) 0 !important; }
+ .discussion-module .post-header .post-labels {
+ font-size: var(--forum-base-font-size); }
+ .discussion-module .post-header .post-title {
+ margin-bottom: 0 !important; }
+
+.discussion-article .response-header {
+ line-height: 1 !important;
+ font-size: var(--forum-base-font-size) !important;
+ margin-bottom: 0 !important;
+ padding-bottom: 0 !important; }
+
+/*
+ This file mirror UXPL Form field styles
+*/
+.post-type-label {
+ margin-right: 20px;
+ display: inline-block;
+ line-height: 100%; }
+
+.post-options .field-label {
+ display: inline-block; }
+
+.field-label .field-input:checked + .field-input-label {
+ color: #0075b4; }
+
+.input-radio,
+.input-checkbox {
+ margin-right: 10px; }
+
+.discussion.inline-discussion .inline-threads {
+ border: 1px solid var(--forum-color-border);
+ border-radius: var(--forum-border-radius); }
+
+.discussion.inline-discussion .inline-thread {
+ border: 1px solid var(--forum-color-border);
+ border-radius: var(--forum-border-radius); }
+ .discussion.inline-discussion .inline-thread .forum-nav-bar {
+ padding: calc(var(--baseline) / 2) calc(var(--baseline) / 4);
+ color: var(--forum-color-navigation-bar);
+ position: relative; }
+ .discussion.inline-discussion .inline-thread .forum-nav-bar .all-posts-btn {
+ color: var(--forum-color-primary); }
+ .discussion.inline-discussion .inline-thread .forum-nav-bar .all-posts-btn .icon {
+ margin-left: calc(var(--baseline) / 2); }
+ .discussion.inline-discussion .inline-thread .forum-content {
+ padding: calc(var(--baseline) / 2);
+ overflow-y: auto; }
+
+.discussion.inline-discussion .new-post-article {
+ position: relative;
+ border: 1px solid var(--forum-color-border); }
+ .discussion.inline-discussion .new-post-article .add-post-cancel {
+ right: calc(var(--baseline) / 2);
+ top: calc(var(--baseline) / 2);
+ position: absolute;
+ color: #0075b4; }
+ .discussion.inline-discussion .new-post-article .add-post-cancel:hover, .discussion.inline-discussion .new-post-article .add-post-cancel:focus {
+ border-color: transparent;
+ box-shadow: none;
+ background-color: transparent;
+ background-image: none; }
From 48634a6e07c0d9964347411d761c3c387eee626b Mon Sep 17 00:00:00 2001
From: salman2013
Date: Thu, 19 Feb 2026 22:08:50 +0500
Subject: [PATCH 3/6] chore: discussion js tests
---
.../discussion/jasmine.common.conf.js | 12 +
xblocks_contrib/discussion/karma.conf.js | 112 +
xblocks_contrib/discussion/package-lock.json | 7089 +++++++++++++++--
xblocks_contrib/discussion/package.json | 19 +-
.../discussion/static/js/vendor/URI.min.js | 47 +
.../static/js/vendor/jquery.leanModal.js | 61 +
.../discussion/static/spec/content_spec.js | 158 +
.../static/spec/fixtures/templates.underscore | 889 +++
.../spec_helpers/discussion_spec_helper.js | 216 +
.../static/spec/spec_helpers/i18n.js | 10 +
.../discussion/static/spec/utils_spec.js | 94 +
.../spec/view/discussion_content_view_spec.js | 58 +
.../spec/view/discussion_inline_view_spec.js | 257 +
.../view/discussion_thread_edit_view_spec.js | 184 +
.../view/discussion_thread_list_view_spec.js | 754 ++
.../discussion_thread_profile_view_spec.js | 151 +
.../view/discussion_thread_show_view_spec.js | 199 +
.../spec/view/discussion_thread_view_spec.js | 367 +
.../view/discussion_topic_menu_view_spec.js | 110 +
.../spec/view/discussion_view_spec_helper.js | 147 +
.../static/spec/view/new_post_view_spec.js | 347 +
.../view/response_comment_show_view_spec.js | 121 +
.../spec/view/response_comment_view_spec.js | 204 +
.../view/thread_response_show_view_spec.js | 267 +
.../spec/view/thread_response_view_spec.js | 149 +
25 files changed, 11374 insertions(+), 648 deletions(-)
create mode 100644 xblocks_contrib/discussion/jasmine.common.conf.js
create mode 100644 xblocks_contrib/discussion/karma.conf.js
create mode 100644 xblocks_contrib/discussion/static/js/vendor/URI.min.js
create mode 100644 xblocks_contrib/discussion/static/js/vendor/jquery.leanModal.js
create mode 100644 xblocks_contrib/discussion/static/spec/content_spec.js
create mode 100644 xblocks_contrib/discussion/static/spec/fixtures/templates.underscore
create mode 100644 xblocks_contrib/discussion/static/spec/spec_helpers/discussion_spec_helper.js
create mode 100644 xblocks_contrib/discussion/static/spec/spec_helpers/i18n.js
create mode 100644 xblocks_contrib/discussion/static/spec/utils_spec.js
create mode 100644 xblocks_contrib/discussion/static/spec/view/discussion_content_view_spec.js
create mode 100644 xblocks_contrib/discussion/static/spec/view/discussion_inline_view_spec.js
create mode 100644 xblocks_contrib/discussion/static/spec/view/discussion_thread_edit_view_spec.js
create mode 100644 xblocks_contrib/discussion/static/spec/view/discussion_thread_list_view_spec.js
create mode 100644 xblocks_contrib/discussion/static/spec/view/discussion_thread_profile_view_spec.js
create mode 100644 xblocks_contrib/discussion/static/spec/view/discussion_thread_show_view_spec.js
create mode 100644 xblocks_contrib/discussion/static/spec/view/discussion_thread_view_spec.js
create mode 100644 xblocks_contrib/discussion/static/spec/view/discussion_topic_menu_view_spec.js
create mode 100644 xblocks_contrib/discussion/static/spec/view/discussion_view_spec_helper.js
create mode 100644 xblocks_contrib/discussion/static/spec/view/new_post_view_spec.js
create mode 100644 xblocks_contrib/discussion/static/spec/view/response_comment_show_view_spec.js
create mode 100644 xblocks_contrib/discussion/static/spec/view/response_comment_view_spec.js
create mode 100644 xblocks_contrib/discussion/static/spec/view/thread_response_show_view_spec.js
create mode 100644 xblocks_contrib/discussion/static/spec/view/thread_response_view_spec.js
diff --git a/xblocks_contrib/discussion/jasmine.common.conf.js b/xblocks_contrib/discussion/jasmine.common.conf.js
new file mode 100644
index 00000000..398f544b
--- /dev/null
+++ b/xblocks_contrib/discussion/jasmine.common.conf.js
@@ -0,0 +1,12 @@
+/* eslint-env node */
+
+'use strict';
+
+// By default, fixtures are loaded from spec/javascripts/fixtures but in karma everything gets served from /base
+jasmine.getFixtures().fixturesPath = '/base/static/spec/fixtures/';
+
+// https://github.com/edx/js-test-tool/blob/master/js_test_tool/templates/jasmine_test_runner.html#L10
+// Stub out modal dialog alerts, which will prevent
+// us from accessing the test results in the DOM
+window.confirm = function() { return true; };
+window.alert = function() { };
diff --git a/xblocks_contrib/discussion/karma.conf.js b/xblocks_contrib/discussion/karma.conf.js
new file mode 100644
index 00000000..af0577b3
--- /dev/null
+++ b/xblocks_contrib/discussion/karma.conf.js
@@ -0,0 +1,112 @@
+/* eslint-env node */
+'use strict';
+
+const path = require('path');
+
+const discussionRoot = __dirname;
+const uiToolkitRoot = path.dirname(require.resolve('edx-ui-toolkit/package.json'));
+
+module.exports = function (config) {
+ config.set({
+ basePath: discussionRoot,
+
+ frameworks: ['jasmine'],
+
+ files: [
+ { pattern: require.resolve('jquery/dist/jquery.js'), included: true },
+ { pattern: require.resolve('jasmine-jquery/lib/jasmine-jquery.js'), included: true },
+ { pattern: require.resolve('underscore/underscore.js'), included: true },
+ { pattern: require.resolve('backbone/backbone.js'), included: true },
+ { pattern: path.join(uiToolkitRoot, 'src/js/utils/global-loader.js'), included: true },
+ { pattern: path.join(uiToolkitRoot, 'src/js/utils/string-utils.js'), included: true },
+ { pattern: path.join(uiToolkitRoot, 'src/js/utils/html-utils.js'), included: true },
+ { pattern: 'static/spec/spec_helpers/i18n.js', included: true },
+ { pattern: 'jasmine.common.conf.js', included: true },
+ { pattern: require.resolve('draggabilly/dist/draggabilly.pkgd.js'), included: true },
+ { pattern: 'static/js/vendor/URI.min.js', included: true },
+ { pattern: 'static/js/vendor/jquery.leanModal.js', included: true },
+ { pattern: 'static/js/vendor/Markdown.Converter.js', included: true },
+ { pattern: 'static/js/vendor/Markdown.Sanitizer.js', included: true },
+ { pattern: 'static/js/vendor/Markdown.Editor.js', included: true },
+ { pattern: 'static/js/vendor/jquery.ajaxfileupload.js', included: true },
+ { pattern: 'static/js/vendor/jquery.timeago.js', included: true },
+ { pattern: 'static/js/vendor/jquery.truncate.js', included: true },
+ { pattern: 'static/js/vendor/split.js', included: true },
+ { pattern: 'static/js/mathjax_accessible.js', included: true },
+ { pattern: 'static/js/mathjax_delay_renderer.js', included: true },
+ { pattern: 'static/js/common/utils.js', included: true },
+ { pattern: 'static/js/common/models/*.js', included: true },
+ { pattern: 'static/js/common/content.js', included: true },
+ { pattern: 'static/js/common/discussion.js', included: true },
+ { pattern: 'static/js/common/mathjax_include.js', included: true },
+ { pattern: 'static/js/customwmd.js', included: true },
+ { pattern: 'static/js/common/views/*.js', included: true },
+ { pattern: 'static/spec/spec_helpers/discussion_spec_helper.js', included: true },
+ { pattern: 'static/spec/view/discussion_view_spec_helper.js', included: true },
+ { pattern: 'static/spec/fixtures/**/*', included: false, served: true },
+ { pattern: 'static/spec/**/*_spec.js', included: true }
+ ],
+
+ exclude: [
+ '**/public/**'
+ ],
+
+ preprocessors: {
+ 'static/js/**/*.js': ['sourcemap'],
+ 'static/spec/view/discussion_thread_view_spec.js': ['regex', 'sourcemap'],
+ 'static/spec/**/*.js': ['sourcemap']
+ },
+
+ regexPreprocessor: {
+ rules: [
+ {
+ fileName: 'discussion_thread_view_spec.js',
+ replacement: [
+ { replace: /return function\(\) \{\s*/g, with: '' },
+ { replace: / \};\s*\n \}\);\s*\n describe\('thread responses'/g, with: ' });\n describe(\'thread responses\'' }
+ ]
+ }
+ ]
+ },
+
+ plugins: [
+ 'karma-regex-preprocessor',
+ 'karma-jasmine',
+ 'karma-chrome-launcher',
+ 'karma-firefox-launcher',
+ 'karma-sourcemap-loader',
+ 'karma-coverage',
+ require('karma-spec-reporter')
+ ],
+
+ reporters: ['spec', 'coverage'],
+
+ coverageReporter: {
+ dir: 'coverage/',
+ reporters: [
+ { type: 'html', subdir: 'report-html' },
+ { type: 'lcov', subdir: 'report-lcov' }
+ ]
+ },
+
+ port: 9876,
+ colors: true,
+ logLevel: config.LOG_INFO,
+ autoWatch: false,
+ browsers: ['FirefoxNoUpdates'],
+
+ customLaunchers: {
+ FirefoxNoUpdates: {
+ base: 'Firefox',
+ prefs: {
+ 'app.update.auto': false,
+ 'app.update.enabled': false
+ }
+ }
+ },
+
+ singleRun: true,
+ concurrency: Infinity,
+ client: { captureConsole: true }
+ });
+};
diff --git a/xblocks_contrib/discussion/package-lock.json b/xblocks_contrib/discussion/package-lock.json
index a2417187..6481f0ef 100644
--- a/xblocks_contrib/discussion/package-lock.json
+++ b/xblocks_contrib/discussion/package-lock.json
@@ -6,918 +6,3279 @@
"": {
"devDependencies": {
"append-prepend-loader": "^1.0.0",
+ "backbone": "^1.4.0",
"copy-webpack-plugin": "13.0.1",
+ "draggabilly": "^3.0.0",
+ "edx-ui-toolkit": "^1",
"imports-loader": "^5.0.0",
+ "jasmine-core": "^4.6.0",
+ "jasmine-jquery": "git+https://git@github.com/velesin/jasmine-jquery.git#ebad463d592d3fea00c69f26ea18a930e09c7b58",
+ "jquery": "^3.6.0",
+ "karma": "^6.4.0",
+ "karma-chrome-launcher": "^3.2.0",
+ "karma-coverage": "^2.2.0",
+ "karma-firefox-launcher": "^2.1.0",
+ "karma-jasmine": "^5.1.0",
+ "karma-regex-preprocessor": "^1.0.1",
+ "karma-sourcemap-loader": "^0.4.0",
+ "karma-spec-reporter": "^0.0.36",
+ "underscore": "^1.13.0",
"webpack": "^5.90.0",
"webpack-cli": "^5.1.4"
}
},
- "node_modules/@discoveryjs/json-ext": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
- "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==",
+ "node_modules/@babel/code-frame": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz",
+ "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==",
"dev": true,
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.28.5",
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.1.1"
+ },
"engines": {
- "node": ">=10.0.0"
+ "node": ">=6.9.0"
}
},
- "node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.13",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
- "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
+ "node_modules/@babel/compat-data": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz",
+ "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==",
"dev": true,
- "dependencies": {
- "@jridgewell/sourcemap-codec": "^1.5.0",
- "@jridgewell/trace-mapping": "^0.3.24"
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
- "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "node_modules/@babel/core": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz",
+ "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==",
"dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.29.0",
+ "@babel/generator": "^7.29.0",
+ "@babel/helper-compilation-targets": "^7.28.6",
+ "@babel/helper-module-transforms": "^7.28.6",
+ "@babel/helpers": "^7.28.6",
+ "@babel/parser": "^7.29.0",
+ "@babel/template": "^7.28.6",
+ "@babel/traverse": "^7.29.0",
+ "@babel/types": "^7.29.0",
+ "@jridgewell/remapping": "^2.3.5",
+ "convert-source-map": "^2.0.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.3",
+ "semver": "^6.3.1"
+ },
"engines": {
- "node": ">=6.0.0"
+ "node": ">=6.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/babel"
}
},
- "node_modules/@jridgewell/source-map": {
- "version": "0.3.11",
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz",
- "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==",
+ "node_modules/@babel/core/node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
"dev": true,
"dependencies": {
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.25"
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
}
},
- "node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.5.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
- "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
+ "node_modules/@babel/core/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true
},
- "node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.31",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
- "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
+ "node_modules/@babel/generator": {
+ "version": "7.29.1",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz",
+ "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==",
"dev": true,
"dependencies": {
- "@jridgewell/resolve-uri": "^3.1.0",
- "@jridgewell/sourcemap-codec": "^1.4.14"
+ "@babel/parser": "^7.29.0",
+ "@babel/types": "^7.29.0",
+ "@jridgewell/gen-mapping": "^0.3.12",
+ "@jridgewell/trace-mapping": "^0.3.28",
+ "jsesc": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "node_modules/@types/eslint": {
- "version": "9.6.1",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz",
- "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==",
+ "node_modules/@babel/helper-compilation-targets": {
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz",
+ "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==",
"dev": true,
"dependencies": {
- "@types/estree": "*",
- "@types/json-schema": "*"
+ "@babel/compat-data": "^7.28.6",
+ "@babel/helper-validator-option": "^7.27.1",
+ "browserslist": "^4.24.0",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "node_modules/@types/eslint-scope": {
- "version": "3.7.7",
- "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz",
- "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==",
+ "node_modules/@babel/helper-globals": {
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
+ "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
"dev": true,
- "dependencies": {
- "@types/eslint": "*",
- "@types/estree": "*"
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "node_modules/@types/estree": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
- "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
- "dev": true
- },
- "node_modules/@types/json-schema": {
- "version": "7.0.15",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
- "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
- "dev": true
- },
- "node_modules/@types/node": {
- "version": "25.2.1",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-25.2.1.tgz",
- "integrity": "sha512-CPrnr8voK8vC6eEtyRzvMpgp3VyVRhgclonE7qYi6P9sXwYb59ucfrnmFBTaP0yUi8Gk4yZg/LlTJULGxvTNsg==",
+ "node_modules/@babel/helper-module-imports": {
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz",
+ "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==",
"dev": true,
"dependencies": {
- "undici-types": "~7.16.0"
+ "@babel/traverse": "^7.28.6",
+ "@babel/types": "^7.28.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "node_modules/@webassemblyjs/ast": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz",
- "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==",
+ "node_modules/@babel/helper-module-transforms": {
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz",
+ "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==",
"dev": true,
"dependencies": {
- "@webassemblyjs/helper-numbers": "1.13.2",
- "@webassemblyjs/helper-wasm-bytecode": "1.13.2"
+ "@babel/helper-module-imports": "^7.28.6",
+ "@babel/helper-validator-identifier": "^7.28.5",
+ "@babel/traverse": "^7.28.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
}
},
- "node_modules/@webassemblyjs/floating-point-hex-parser": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz",
- "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==",
- "dev": true
- },
- "node_modules/@webassemblyjs/helper-api-error": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz",
- "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==",
- "dev": true
- },
- "node_modules/@webassemblyjs/helper-buffer": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz",
- "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==",
- "dev": true
- },
- "node_modules/@webassemblyjs/helper-numbers": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz",
- "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==",
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
+ "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
"dev": true,
- "dependencies": {
- "@webassemblyjs/floating-point-hex-parser": "1.13.2",
- "@webassemblyjs/helper-api-error": "1.13.2",
- "@xtuc/long": "4.2.2"
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "node_modules/@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz",
- "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==",
- "dev": true
- },
- "node_modules/@webassemblyjs/helper-wasm-section": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz",
- "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==",
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
+ "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
"dev": true,
- "dependencies": {
- "@webassemblyjs/ast": "1.14.1",
- "@webassemblyjs/helper-buffer": "1.14.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
- "@webassemblyjs/wasm-gen": "1.14.1"
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "node_modules/@webassemblyjs/ieee754": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz",
- "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==",
+ "node_modules/@babel/helper-validator-option": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz",
+ "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==",
"dev": true,
- "dependencies": {
- "@xtuc/ieee754": "^1.2.0"
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "node_modules/@webassemblyjs/leb128": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz",
- "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==",
+ "node_modules/@babel/helpers": {
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz",
+ "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==",
"dev": true,
"dependencies": {
- "@xtuc/long": "4.2.2"
+ "@babel/template": "^7.28.6",
+ "@babel/types": "^7.28.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "node_modules/@webassemblyjs/utf8": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz",
- "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==",
- "dev": true
- },
- "node_modules/@webassemblyjs/wasm-edit": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz",
- "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==",
+ "node_modules/@babel/parser": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz",
+ "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==",
"dev": true,
"dependencies": {
- "@webassemblyjs/ast": "1.14.1",
- "@webassemblyjs/helper-buffer": "1.14.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
- "@webassemblyjs/helper-wasm-section": "1.14.1",
- "@webassemblyjs/wasm-gen": "1.14.1",
- "@webassemblyjs/wasm-opt": "1.14.1",
- "@webassemblyjs/wasm-parser": "1.14.1",
- "@webassemblyjs/wast-printer": "1.14.1"
+ "@babel/types": "^7.29.0"
+ },
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
}
},
- "node_modules/@webassemblyjs/wasm-gen": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz",
- "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==",
+ "node_modules/@babel/template": {
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz",
+ "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==",
"dev": true,
"dependencies": {
- "@webassemblyjs/ast": "1.14.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
- "@webassemblyjs/ieee754": "1.13.2",
- "@webassemblyjs/leb128": "1.13.2",
- "@webassemblyjs/utf8": "1.13.2"
+ "@babel/code-frame": "^7.28.6",
+ "@babel/parser": "^7.28.6",
+ "@babel/types": "^7.28.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "node_modules/@webassemblyjs/wasm-opt": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz",
- "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==",
+ "node_modules/@babel/traverse": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz",
+ "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==",
"dev": true,
"dependencies": {
- "@webassemblyjs/ast": "1.14.1",
- "@webassemblyjs/helper-buffer": "1.14.1",
- "@webassemblyjs/wasm-gen": "1.14.1",
- "@webassemblyjs/wasm-parser": "1.14.1"
+ "@babel/code-frame": "^7.29.0",
+ "@babel/generator": "^7.29.0",
+ "@babel/helper-globals": "^7.28.0",
+ "@babel/parser": "^7.29.0",
+ "@babel/template": "^7.28.6",
+ "@babel/types": "^7.29.0",
+ "debug": "^4.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "node_modules/@webassemblyjs/wasm-parser": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz",
- "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==",
+ "node_modules/@babel/traverse/node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
"dev": true,
"dependencies": {
- "@webassemblyjs/ast": "1.14.1",
- "@webassemblyjs/helper-api-error": "1.13.2",
- "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
- "@webassemblyjs/ieee754": "1.13.2",
- "@webassemblyjs/leb128": "1.13.2",
- "@webassemblyjs/utf8": "1.13.2"
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
}
},
- "node_modules/@webassemblyjs/wast-printer": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz",
- "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==",
+ "node_modules/@babel/traverse/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "node_modules/@babel/types": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz",
+ "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==",
"dev": true,
"dependencies": {
- "@webassemblyjs/ast": "1.14.1",
- "@xtuc/long": "4.2.2"
+ "@babel/helper-string-parser": "^7.27.1",
+ "@babel/helper-validator-identifier": "^7.28.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "node_modules/@webpack-cli/configtest": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz",
- "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==",
+ "node_modules/@colors/colors": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
+ "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
"dev": true,
"engines": {
- "node": ">=14.15.0"
- },
- "peerDependencies": {
- "webpack": "5.x.x",
- "webpack-cli": "5.x.x"
+ "node": ">=0.1.90"
}
},
- "node_modules/@webpack-cli/info": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz",
- "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==",
+ "node_modules/@discoveryjs/json-ext": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
+ "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==",
"dev": true,
"engines": {
- "node": ">=14.15.0"
- },
- "peerDependencies": {
- "webpack": "5.x.x",
- "webpack-cli": "5.x.x"
+ "node": ">=10.0.0"
}
},
- "node_modules/@webpack-cli/serve": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz",
- "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==",
+ "node_modules/@istanbuljs/schema": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
+ "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
"dev": true,
"engines": {
- "node": ">=14.15.0"
- },
- "peerDependencies": {
- "webpack": "5.x.x",
- "webpack-cli": "5.x.x"
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.13",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
+ "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.0",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+ },
+ "node_modules/@jridgewell/remapping": {
+ "version": "2.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz",
+ "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/source-map": {
+ "version": "0.3.11",
+ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz",
+ "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
+ "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
+ "dev": true
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.31",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
+ "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@parcel/watcher": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz",
+ "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==",
+ "dev": true,
+ "hasInstallScript": true,
+ "optional": true,
+ "dependencies": {
+ "detect-libc": "^2.0.3",
+ "is-glob": "^4.0.3",
+ "node-addon-api": "^7.0.0",
+ "picomatch": "^4.0.3"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "optionalDependencies": {
+ "@parcel/watcher-android-arm64": "2.5.6",
+ "@parcel/watcher-darwin-arm64": "2.5.6",
+ "@parcel/watcher-darwin-x64": "2.5.6",
+ "@parcel/watcher-freebsd-x64": "2.5.6",
+ "@parcel/watcher-linux-arm-glibc": "2.5.6",
+ "@parcel/watcher-linux-arm-musl": "2.5.6",
+ "@parcel/watcher-linux-arm64-glibc": "2.5.6",
+ "@parcel/watcher-linux-arm64-musl": "2.5.6",
+ "@parcel/watcher-linux-x64-glibc": "2.5.6",
+ "@parcel/watcher-linux-x64-musl": "2.5.6",
+ "@parcel/watcher-win32-arm64": "2.5.6",
+ "@parcel/watcher-win32-ia32": "2.5.6",
+ "@parcel/watcher-win32-x64": "2.5.6"
+ }
+ },
+ "node_modules/@parcel/watcher-android-arm64": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz",
+ "integrity": "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-darwin-arm64": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz",
+ "integrity": "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-darwin-x64": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz",
+ "integrity": "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-freebsd-x64": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz",
+ "integrity": "sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm-glibc": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz",
+ "integrity": "sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm-musl": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz",
+ "integrity": "sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm64-glibc": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz",
+ "integrity": "sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm64-musl": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz",
+ "integrity": "sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-x64-glibc": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz",
+ "integrity": "sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-x64-musl": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz",
+ "integrity": "sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-win32-arm64": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz",
+ "integrity": "sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-win32-ia32": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz",
+ "integrity": "sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-win32-x64": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz",
+ "integrity": "sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@socket.io/component-emitter": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz",
+ "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==",
+ "dev": true
+ },
+ "node_modules/@types/cors": {
+ "version": "2.8.19",
+ "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz",
+ "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/eslint": {
+ "version": "9.6.1",
+ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz",
+ "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": "*",
+ "@types/json-schema": "*"
+ }
+ },
+ "node_modules/@types/eslint-scope": {
+ "version": "3.7.7",
+ "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz",
+ "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==",
+ "dev": true,
+ "dependencies": {
+ "@types/eslint": "*",
+ "@types/estree": "*"
+ }
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
+ "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
+ "dev": true
+ },
+ "node_modules/@types/json-schema": {
+ "version": "7.0.15",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
+ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
+ "dev": true
+ },
+ "node_modules/@types/node": {
+ "version": "25.2.1",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-25.2.1.tgz",
+ "integrity": "sha512-CPrnr8voK8vC6eEtyRzvMpgp3VyVRhgclonE7qYi6P9sXwYb59ucfrnmFBTaP0yUi8Gk4yZg/LlTJULGxvTNsg==",
+ "dev": true,
+ "dependencies": {
+ "undici-types": "~7.16.0"
+ }
+ },
+ "node_modules/@webassemblyjs/ast": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz",
+ "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==",
+ "dev": true,
+ "dependencies": {
+ "@webassemblyjs/helper-numbers": "1.13.2",
+ "@webassemblyjs/helper-wasm-bytecode": "1.13.2"
+ }
+ },
+ "node_modules/@webassemblyjs/floating-point-hex-parser": {
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz",
+ "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==",
+ "dev": true
+ },
+ "node_modules/@webassemblyjs/helper-api-error": {
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz",
+ "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==",
+ "dev": true
+ },
+ "node_modules/@webassemblyjs/helper-buffer": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz",
+ "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==",
+ "dev": true
+ },
+ "node_modules/@webassemblyjs/helper-numbers": {
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz",
+ "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==",
+ "dev": true,
+ "dependencies": {
+ "@webassemblyjs/floating-point-hex-parser": "1.13.2",
+ "@webassemblyjs/helper-api-error": "1.13.2",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "node_modules/@webassemblyjs/helper-wasm-bytecode": {
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz",
+ "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==",
+ "dev": true
+ },
+ "node_modules/@webassemblyjs/helper-wasm-section": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz",
+ "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==",
+ "dev": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.14.1",
+ "@webassemblyjs/helper-buffer": "1.14.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
+ "@webassemblyjs/wasm-gen": "1.14.1"
+ }
+ },
+ "node_modules/@webassemblyjs/ieee754": {
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz",
+ "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==",
+ "dev": true,
+ "dependencies": {
+ "@xtuc/ieee754": "^1.2.0"
+ }
+ },
+ "node_modules/@webassemblyjs/leb128": {
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz",
+ "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==",
+ "dev": true,
+ "dependencies": {
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "node_modules/@webassemblyjs/utf8": {
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz",
+ "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==",
+ "dev": true
+ },
+ "node_modules/@webassemblyjs/wasm-edit": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz",
+ "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==",
+ "dev": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.14.1",
+ "@webassemblyjs/helper-buffer": "1.14.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
+ "@webassemblyjs/helper-wasm-section": "1.14.1",
+ "@webassemblyjs/wasm-gen": "1.14.1",
+ "@webassemblyjs/wasm-opt": "1.14.1",
+ "@webassemblyjs/wasm-parser": "1.14.1",
+ "@webassemblyjs/wast-printer": "1.14.1"
+ }
+ },
+ "node_modules/@webassemblyjs/wasm-gen": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz",
+ "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==",
+ "dev": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.14.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
+ "@webassemblyjs/ieee754": "1.13.2",
+ "@webassemblyjs/leb128": "1.13.2",
+ "@webassemblyjs/utf8": "1.13.2"
+ }
+ },
+ "node_modules/@webassemblyjs/wasm-opt": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz",
+ "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==",
+ "dev": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.14.1",
+ "@webassemblyjs/helper-buffer": "1.14.1",
+ "@webassemblyjs/wasm-gen": "1.14.1",
+ "@webassemblyjs/wasm-parser": "1.14.1"
+ }
+ },
+ "node_modules/@webassemblyjs/wasm-parser": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz",
+ "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==",
+ "dev": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.14.1",
+ "@webassemblyjs/helper-api-error": "1.13.2",
+ "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
+ "@webassemblyjs/ieee754": "1.13.2",
+ "@webassemblyjs/leb128": "1.13.2",
+ "@webassemblyjs/utf8": "1.13.2"
+ }
+ },
+ "node_modules/@webassemblyjs/wast-printer": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz",
+ "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==",
+ "dev": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.14.1",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "node_modules/@webpack-cli/configtest": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz",
+ "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==",
+ "dev": true,
+ "engines": {
+ "node": ">=14.15.0"
+ },
+ "peerDependencies": {
+ "webpack": "5.x.x",
+ "webpack-cli": "5.x.x"
+ }
+ },
+ "node_modules/@webpack-cli/info": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz",
+ "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==",
+ "dev": true,
+ "engines": {
+ "node": ">=14.15.0"
+ },
+ "peerDependencies": {
+ "webpack": "5.x.x",
+ "webpack-cli": "5.x.x"
+ }
+ },
+ "node_modules/@webpack-cli/serve": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz",
+ "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=14.15.0"
+ },
+ "peerDependencies": {
+ "webpack": "5.x.x",
+ "webpack-cli": "5.x.x"
+ },
+ "peerDependenciesMeta": {
+ "webpack-dev-server": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@xtuc/ieee754": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
+ "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
+ "dev": true
+ },
+ "node_modules/@xtuc/long": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
+ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
+ "dev": true
+ },
+ "node_modules/accepts": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
+ "dev": true,
+ "dependencies": {
+ "mime-types": "~2.1.34",
+ "negotiator": "0.6.3"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/acorn": {
+ "version": "8.15.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
+ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
+ "dev": true,
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-import-phases": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz",
+ "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "peerDependencies": {
+ "acorn": "^8.14.0"
+ }
+ },
+ "node_modules/ajv": {
+ "version": "8.17.1",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
+ "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.3",
+ "fast-uri": "^3.0.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/ajv-formats": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
+ "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
+ "dev": true,
+ "dependencies": {
+ "ajv": "^8.0.0"
+ },
+ "peerDependencies": {
+ "ajv": "^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "ajv": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/ajv-keywords": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
+ "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.3"
+ },
+ "peerDependencies": {
+ "ajv": "^8.8.2"
+ }
+ },
+ "node_modules/ansi-colors": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz",
+ "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-wrap": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ansi-gray": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
+ "integrity": "sha512-HrgGIZUl8h2EHuZaU9hTR/cU5nhKxpVE1V6kdGsQ8e4zirElJ5fvtfc8N7Q1oq1aatO275i8pUFUCpNWCAnVWw==",
+ "dev": true,
+ "dependencies": {
+ "ansi-wrap": "0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/ansi-wrap": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
+ "integrity": "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/anymatch": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+ "dev": true,
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/anymatch/node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/append-prepend-loader": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/append-prepend-loader/-/append-prepend-loader-1.0.0.tgz",
+ "integrity": "sha512-TpqFKoWUJZgo69yFD+EZ+NBhEVAVT6LK5vgMbBEyHd65a33v/ECNq7H8THzL4eobBZaaJ21bVg5ruJeYxTSsYw==",
+ "dev": true,
+ "peerDependencies": {
+ "webpack": "*"
+ }
+ },
+ "node_modules/arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/arr-union": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/assign-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+ "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/available-typed-arrays": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
+ "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
+ "dev": true,
+ "dependencies": {
+ "possible-typed-array-names": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/backbone": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/backbone/-/backbone-1.6.1.tgz",
+ "integrity": "sha512-YQzWxOrIgL6BoFnZjThVN99smKYhyEXXFyJJ2lsF1wJLyo4t+QjmkLrH8/fN22FZ4ykF70Xq7PgTugJVR4zS9Q==",
+ "dev": true,
+ "dependencies": {
+ "underscore": ">=1.8.3"
+ }
+ },
+ "node_modules/backbone.paginator": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/backbone.paginator/-/backbone.paginator-2.0.8.tgz",
+ "integrity": "sha512-8XS2CTbjnwMbJ/3Traa1te2RPecOGbZ9tc52T89pzo6NXlVEJDFnC++dp7CQLBUZpgk3g0veX8mUbEF4wbD2NQ==",
+ "dev": true,
+ "dependencies": {
+ "backbone": "1.1.2 || 1.2.3 || ^1.3.2",
+ "underscore": "^1.8.0"
+ }
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "dev": true
+ },
+ "node_modules/base64id": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
+ "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==",
+ "dev": true,
+ "engines": {
+ "node": "^4.5.0 || >= 5.9"
+ }
+ },
+ "node_modules/baseline-browser-mapping": {
+ "version": "2.9.19",
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz",
+ "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==",
+ "dev": true,
+ "bin": {
+ "baseline-browser-mapping": "dist/cli.js"
+ }
+ },
+ "node_modules/binary-extensions": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
+ "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/body-parser": {
+ "version": "1.20.4",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz",
+ "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==",
+ "dev": true,
+ "dependencies": {
+ "bytes": "~3.1.2",
+ "content-type": "~1.0.5",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "~1.2.0",
+ "http-errors": "~2.0.1",
+ "iconv-lite": "~0.4.24",
+ "on-finished": "~2.4.1",
+ "qs": "~6.14.0",
+ "raw-body": "~2.5.3",
+ "type-is": "~1.6.18",
+ "unpipe": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "dev": true,
+ "dependencies": {
+ "fill-range": "^7.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/browserslist": {
+ "version": "4.28.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz",
+ "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "dependencies": {
+ "baseline-browser-mapping": "^2.9.0",
+ "caniuse-lite": "^1.0.30001759",
+ "electron-to-chromium": "^1.5.263",
+ "node-releases": "^2.0.27",
+ "update-browserslist-db": "^1.2.0"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ }
+ },
+ "node_modules/buffer-from": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
+ "dev": true
+ },
+ "node_modules/bytes": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/call-bind": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz",
+ "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==",
+ "dev": true,
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.0",
+ "es-define-property": "^1.0.0",
+ "get-intrinsic": "^1.2.4",
+ "set-function-length": "^1.2.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/call-bind-apply-helpers": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
+ "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
+ "dev": true,
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/call-bound": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
+ "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
+ "dev": true,
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "get-intrinsic": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001769",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001769.tgz",
+ "integrity": "sha512-BCfFL1sHijQlBGWBMuJyhZUhzo7wer5sVj9hqekB/7xn0Ypy+pER/edCYQm4exbXj4WiySGp40P8UuTh6w1srg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ]
+ },
+ "node_modules/chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/chalk/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/chokidar": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "dev": true,
+ "dependencies": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/chokidar/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/chrome-trace-event": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz",
+ "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.0"
+ }
+ },
+ "node_modules/cliui": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+ "dev": true,
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
+ }
+ },
+ "node_modules/clone-deep": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
+ "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
+ "dev": true,
+ "dependencies": {
+ "is-plain-object": "^2.0.4",
+ "kind-of": "^6.0.2",
+ "shallow-clone": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/color-support": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
+ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
+ "dev": true,
+ "bin": {
+ "color-support": "bin.js"
+ }
+ },
+ "node_modules/colorette": {
+ "version": "2.0.20",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
+ "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
+ "dev": true
+ },
+ "node_modules/colors": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
+ "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.1.90"
+ }
+ },
+ "node_modules/commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "dev": true
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+ "dev": true
+ },
+ "node_modules/connect": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz",
+ "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==",
+ "dev": true,
+ "dependencies": {
+ "debug": "2.6.9",
+ "finalhandler": "1.1.2",
+ "parseurl": "~1.3.3",
+ "utils-merge": "1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.10.0"
+ }
+ },
+ "node_modules/content-type": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
+ "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+ "dev": true
+ },
+ "node_modules/cookie": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
+ "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/copy-webpack-plugin": {
+ "version": "13.0.1",
+ "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-13.0.1.tgz",
+ "integrity": "sha512-J+YV3WfhY6W/Xf9h+J1znYuqTye2xkBUIGyTPWuBAT27qajBa5mR4f8WBmfDY3YjRftT2kqZZiLi1qf0H+UOFw==",
+ "dev": true,
+ "dependencies": {
+ "glob-parent": "^6.0.1",
+ "normalize-path": "^3.0.0",
+ "schema-utils": "^4.2.0",
+ "serialize-javascript": "^6.0.2",
+ "tinyglobby": "^0.2.12"
+ },
+ "engines": {
+ "node": ">= 18.12.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^5.1.0"
+ }
+ },
+ "node_modules/cors": {
+ "version": "2.8.6",
+ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz",
+ "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==",
+ "dev": true,
+ "dependencies": {
+ "object-assign": "^4",
+ "vary": "^1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/custom-event": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
+ "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==",
+ "dev": true
+ },
+ "node_modules/date-format": {
+ "version": "4.0.14",
+ "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz",
+ "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/define-data-property": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
+ "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
+ "dev": true,
+ "dependencies": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/destroy": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/detect-libc": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
+ "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/di": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
+ "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==",
+ "dev": true
+ },
+ "node_modules/dom-serialize": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
+ "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==",
+ "dev": true,
+ "dependencies": {
+ "custom-event": "~1.0.0",
+ "ent": "~2.2.0",
+ "extend": "^3.0.0",
+ "void-elements": "^2.0.0"
+ }
+ },
+ "node_modules/draggabilly": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/draggabilly/-/draggabilly-3.0.0.tgz",
+ "integrity": "sha512-aEs+B6prbMZQMxc9lgTpCBfyCUhRur/VFucHhIOvlvvdARTj7TcDmX/cdOUtqbjJJUh7+agyJXR5Z6IFe1MxwQ==",
+ "dev": true,
+ "dependencies": {
+ "get-size": "^3.0.0",
+ "unidragger": "^3.0.0"
+ }
+ },
+ "node_modules/dunder-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
+ "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
+ "dev": true,
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.2.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/edx-ui-toolkit": {
+ "version": "1.8.7",
+ "resolved": "https://registry.npmjs.org/edx-ui-toolkit/-/edx-ui-toolkit-1.8.7.tgz",
+ "integrity": "sha512-2GF463dcfKu9u0wFY1u5fX6CUs5V3VQjcTQKt1tLzFzGoK1oGg/lRp0SYsbdcIAzCT8yQAFyrpvAQh1oGuTkiA==",
+ "dev": true,
+ "dependencies": {
+ "backbone": "1.6.0",
+ "backbone.paginator": "2.0.8",
+ "gulp-shell": "0.8.0",
+ "jquery": "~3.7.0",
+ "mini-css-extract-plugin": "^2.7.2",
+ "moment": "2.30.1",
+ "moment-timezone": "0.5.46",
+ "requirejs": "2.1.22",
+ "requirejs-text": "2.0.16",
+ "sass": "^1.58.3",
+ "sinon": "1.17.7",
+ "underscore": "~1.8.3",
+ "urijs": "1.19.11"
+ }
+ },
+ "node_modules/edx-ui-toolkit/node_modules/backbone": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/backbone/-/backbone-1.6.0.tgz",
+ "integrity": "sha512-13PUjmsgw/49EowNcQvfG4gmczz1ximTMhUktj0Jfrjth0MVaTxehpU+qYYX4MxnuIuhmvBLC6/ayxuAGnOhbA==",
+ "dev": true,
+ "dependencies": {
+ "underscore": ">=1.8.3"
+ }
+ },
+ "node_modules/edx-ui-toolkit/node_modules/underscore": {
+ "version": "1.8.3",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz",
+ "integrity": "sha512-5WsVTFcH1ut/kkhAaHf4PVgI8c7++GiVcpCGxPouI6ZVjsqPnSDf8h/8HtVqc0t4fzRXwnMK70EcZeAs3PIddg==",
+ "dev": true
+ },
+ "node_modules/ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
+ "dev": true
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.5.286",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz",
+ "integrity": "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==",
+ "dev": true
+ },
+ "node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "node_modules/encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/engine.io": {
+ "version": "6.6.5",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.5.tgz",
+ "integrity": "sha512-2RZdgEbXmp5+dVbRm0P7HQUImZpICccJy7rN7Tv+SFa55pH+lxnuw6/K1ZxxBfHoYpSkHLAO92oa8O4SwFXA2A==",
+ "dev": true,
+ "dependencies": {
+ "@types/cors": "^2.8.12",
+ "@types/node": ">=10.0.0",
+ "accepts": "~1.3.4",
+ "base64id": "2.0.0",
+ "cookie": "~0.7.2",
+ "cors": "~2.8.5",
+ "debug": "~4.4.1",
+ "engine.io-parser": "~5.2.1",
+ "ws": "~8.18.3"
+ },
+ "engines": {
+ "node": ">=10.2.0"
+ }
+ },
+ "node_modules/engine.io-parser": {
+ "version": "5.2.3",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz",
+ "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/engine.io/node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/engine.io/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "node_modules/enhanced-resolve": {
+ "version": "5.19.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.19.0.tgz",
+ "integrity": "sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==",
+ "dev": true,
+ "dependencies": {
+ "graceful-fs": "^4.2.4",
+ "tapable": "^2.3.0"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/ent": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.2.tgz",
+ "integrity": "sha512-kKvD1tO6BM+oK9HzCPpUdRb4vKFQY/FPTFmurMvh6LlN68VMrdj77w8yp51/kDbpkFOS9J8w5W6zIzgM2H8/hw==",
+ "dev": true,
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "punycode": "^1.4.1",
+ "safe-regex-test": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/envinfo": {
+ "version": "7.21.0",
+ "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.21.0.tgz",
+ "integrity": "sha512-Lw7I8Zp5YKHFCXL7+Dz95g4CcbMEpgvqZNNq3AmlT5XAV6CgAAk6gyAMqn2zjw08K9BHfcNuKrMiCPLByGafow==",
+ "dev": true,
+ "bin": {
+ "envinfo": "dist/cli.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/es-define-property": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
+ "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-module-lexer": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz",
+ "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==",
+ "dev": true
+ },
+ "node_modules/es-object-atoms": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
+ "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
+ "dev": true,
+ "dependencies": {
+ "es-errors": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
+ "dev": true
+ },
+ "node_modules/eslint-scope": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "dev": true,
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dev": true,
+ "dependencies": {
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/esrecurse/node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/ev-emitter": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ev-emitter/-/ev-emitter-2.1.2.tgz",
+ "integrity": "sha512-jQ5Ql18hdCQ4qS+RCrbLfz1n+Pags27q5TwMKvZyhp5hh2UULUYZUy1keqj6k6SYsdqIYjnmz7xyyEY0V67B8Q==",
+ "dev": true
+ },
+ "node_modules/eventemitter3": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
+ "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
+ "dev": true
+ },
+ "node_modules/events": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+ "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.x"
+ }
+ },
+ "node_modules/extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+ "dev": true
+ },
+ "node_modules/extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
+ "dev": true,
+ "dependencies": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/fancy-log": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz",
+ "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==",
+ "dev": true,
+ "dependencies": {
+ "ansi-gray": "^0.1.1",
+ "color-support": "^1.1.3",
+ "parse-node-version": "^1.0.0",
+ "time-stamp": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true
+ },
+ "node_modules/fast-uri": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz",
+ "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fastify"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/fastify"
+ }
+ ]
+ },
+ "node_modules/fastest-levenshtein": {
+ "version": "1.0.16",
+ "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
+ "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4.9.1"
+ }
+ },
+ "node_modules/fdir": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+ "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
+ "dev": true,
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "dev": true,
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/finalhandler": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
+ "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
+ "dev": true,
+ "dependencies": {
+ "debug": "2.6.9",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "on-finished": "~2.3.0",
+ "parseurl": "~1.3.3",
+ "statuses": "~1.5.0",
+ "unpipe": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/finalhandler/node_modules/on-finished": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==",
+ "dev": true,
+ "dependencies": {
+ "ee-first": "1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
+ "dependencies": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/flat": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
+ "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
+ "dev": true,
+ "bin": {
+ "flat": "cli.js"
+ }
+ },
+ "node_modules/flatted": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz",
+ "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==",
+ "dev": true
+ },
+ "node_modules/follow-redirects": {
+ "version": "1.15.11",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz",
+ "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/RubenVerborgh"
+ }
+ ],
+ "engines": {
+ "node": ">=4.0"
+ },
+ "peerDependenciesMeta": {
+ "debug": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/for-each": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz",
+ "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==",
+ "dev": true,
+ "dependencies": {
+ "is-callable": "^1.2.7"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/formatio": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.1.1.tgz",
+ "integrity": "sha512-cPh7is6k3d8tIUh+pnXXuAbD/uhSXGgqLPw0UrYpv5lfdJ+MMMSjx40JNpqP7Top9Nt25YomWEiRmkHbOvkCaA==",
+ "deprecated": "This package is unmaintained. Use @sinonjs/formatio instead",
+ "dev": true,
+ "dependencies": {
+ "samsam": "~1.1"
+ }
+ },
+ "node_modules/fs-extra": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+ "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+ "dev": true,
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=6 <7 || >=8"
+ }
+ },
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
+ "dev": true
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/generator-function": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz",
+ "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/gensync": {
+ "version": "1.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "dev": true,
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+ "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "es-define-property": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.1.1",
+ "function-bind": "^1.1.2",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "hasown": "^2.0.2",
+ "math-intrinsics": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
+ "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
+ "dev": true,
+ "dependencies": {
+ "dunder-proto": "^1.0.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/get-size": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/get-size/-/get-size-3.0.0.tgz",
+ "integrity": "sha512-Y8aiXLq4leR7807UY0yuKEwif5s3kbVp1nTv+i4jBeoUzByTLKkLWu/HorS6/pB+7gsB0o7OTogC8AoOOeT0Hw==",
+ "dev": true
+ },
+ "node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
},
- "peerDependenciesMeta": {
- "webpack-dev-server": {
- "optional": true
- }
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/@xtuc/ieee754": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
- "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
+ "node_modules/glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/glob-to-regexp": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
+ "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
"dev": true
},
- "node_modules/@xtuc/long": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
- "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
+ "node_modules/gopd": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
+ "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/graceful-fs": {
+ "version": "4.2.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
"dev": true
},
- "node_modules/acorn": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
- "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
+ "node_modules/gulp-shell": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/gulp-shell/-/gulp-shell-0.8.0.tgz",
+ "integrity": "sha512-wHNCgmqbWkk1c6Gc2dOL5SprcoeujQdeepICwfQRo91DIylTE7a794VEE+leq3cE2YDoiS5ulvRfKVIEMazcTQ==",
"dev": true,
- "bin": {
- "acorn": "bin/acorn"
+ "dependencies": {
+ "chalk": "^3.0.0",
+ "fancy-log": "^1.3.3",
+ "lodash.template": "^4.5.0",
+ "plugin-error": "^1.0.1",
+ "through2": "^3.0.1",
+ "tslib": "^1.10.0"
},
"engines": {
- "node": ">=0.4.0"
+ "node": ">=10.0.0"
}
},
- "node_modules/acorn-import-phases": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz",
- "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==",
+ "node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
"engines": {
- "node": ">=10.13.0"
- },
- "peerDependencies": {
- "acorn": "^8.14.0"
+ "node": ">=8"
}
},
- "node_modules/ajv": {
- "version": "8.17.1",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
- "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
+ "node_modules/has-property-descriptors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
"dev": true,
"dependencies": {
- "fast-deep-equal": "^3.1.3",
- "fast-uri": "^3.0.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2"
+ "es-define-property": "^1.0.0"
},
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/ajv-formats": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
- "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
+ "node_modules/has-symbols": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
+ "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-tostringtag": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+ "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
"dev": true,
"dependencies": {
- "ajv": "^8.0.0"
+ "has-symbols": "^1.0.3"
},
- "peerDependencies": {
- "ajv": "^8.0.0"
+ "engines": {
+ "node": ">= 0.4"
},
- "peerDependenciesMeta": {
- "ajv": {
- "optional": true
- }
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/ajv-keywords": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
- "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
+ "node_modules/hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
"dev": true,
"dependencies": {
- "fast-deep-equal": "^3.1.3"
+ "function-bind": "^1.1.2"
},
- "peerDependencies": {
- "ajv": "^8.8.2"
+ "engines": {
+ "node": ">= 0.4"
}
},
- "node_modules/append-prepend-loader": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/append-prepend-loader/-/append-prepend-loader-1.0.0.tgz",
- "integrity": "sha512-TpqFKoWUJZgo69yFD+EZ+NBhEVAVT6LK5vgMbBEyHd65a33v/ECNq7H8THzL4eobBZaaJ21bVg5ruJeYxTSsYw==",
+ "node_modules/html-escaper": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
+ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
+ "dev": true
+ },
+ "node_modules/http-errors": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz",
+ "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==",
"dev": true,
- "peerDependencies": {
- "webpack": "*"
+ "dependencies": {
+ "depd": "~2.0.0",
+ "inherits": "~2.0.4",
+ "setprototypeof": "~1.2.0",
+ "statuses": "~2.0.2",
+ "toidentifier": "~1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
- "node_modules/baseline-browser-mapping": {
- "version": "2.9.19",
- "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz",
- "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==",
+ "node_modules/http-errors/node_modules/statuses": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
+ "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
"dev": true,
- "bin": {
- "baseline-browser-mapping": "dist/cli.js"
+ "engines": {
+ "node": ">= 0.8"
}
},
- "node_modules/browserslist": {
- "version": "4.28.1",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz",
- "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==",
+ "node_modules/http-proxy": {
+ "version": "1.18.1",
+ "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
+ "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
"dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
"dependencies": {
- "baseline-browser-mapping": "^2.9.0",
- "caniuse-lite": "^1.0.30001759",
- "electron-to-chromium": "^1.5.263",
- "node-releases": "^2.0.27",
- "update-browserslist-db": "^1.2.0"
+ "eventemitter3": "^4.0.0",
+ "follow-redirects": "^1.0.0",
+ "requires-port": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dev": true,
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/immutable": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.4.tgz",
+ "integrity": "sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==",
+ "dev": true
+ },
+ "node_modules/import-local": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz",
+ "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==",
+ "dev": true,
+ "dependencies": {
+ "pkg-dir": "^4.2.0",
+ "resolve-cwd": "^3.0.0"
},
"bin": {
- "browserslist": "cli.js"
+ "import-local-fixture": "fixtures/cli.js"
},
"engines": {
- "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/buffer-from": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
- "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
+ "node_modules/imports-loader": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-5.0.0.tgz",
+ "integrity": "sha512-tXgL8xxZFjOjQLLiE7my00UUQfktg4G8fdpXcZphL0bJWbk9eCxKKFaCwmFRcwyRJQl95GXBL1DoE1rCS/tcPw==",
+ "dev": true,
+ "dependencies": {
+ "source-map-js": "^1.0.2",
+ "strip-comments": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 18.12.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^5.0.0"
+ }
+ },
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
+ "dev": true,
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true
},
- "node_modules/caniuse-lite": {
- "version": "1.0.30001769",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001769.tgz",
- "integrity": "sha512-BCfFL1sHijQlBGWBMuJyhZUhzo7wer5sVj9hqekB/7xn0Ypy+pER/edCYQm4exbXj4WiySGp40P8UuTh6w1srg==",
+ "node_modules/interpret": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz",
+ "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==",
"dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ]
+ "engines": {
+ "node": ">=10.13.0"
+ }
},
- "node_modules/chrome-trace-event": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz",
- "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==",
+ "node_modules/is-arguments": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz",
+ "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==",
"dev": true,
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "has-tostringtag": "^1.0.2"
+ },
"engines": {
- "node": ">=6.0"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/clone-deep": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
- "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
"dev": true,
"dependencies": {
- "is-plain-object": "^2.0.4",
- "kind-of": "^6.0.2",
- "shallow-clone": "^3.0.0"
+ "binary-extensions": "^2.0.0"
},
"engines": {
- "node": ">=6"
+ "node": ">=8"
}
},
- "node_modules/colorette": {
- "version": "2.0.20",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
- "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
- "dev": true
- },
- "node_modules/commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "dev": true
+ "node_modules/is-callable": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
+ "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
- "node_modules/copy-webpack-plugin": {
- "version": "13.0.1",
- "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-13.0.1.tgz",
- "integrity": "sha512-J+YV3WfhY6W/Xf9h+J1znYuqTye2xkBUIGyTPWuBAT27qajBa5mR4f8WBmfDY3YjRftT2kqZZiLi1qf0H+UOFw==",
+ "node_modules/is-core-module": {
+ "version": "2.16.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
+ "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
"dev": true,
"dependencies": {
- "glob-parent": "^6.0.1",
- "normalize-path": "^3.0.0",
- "schema-utils": "^4.2.0",
- "serialize-javascript": "^6.0.2",
- "tinyglobby": "^0.2.12"
+ "hasown": "^2.0.2"
},
"engines": {
- "node": ">= 18.12.0"
+ "node": ">= 0.4"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-docker": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
+ "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
+ "dev": true,
+ "bin": {
+ "is-docker": "cli.js"
},
- "peerDependencies": {
- "webpack": "^5.1.0"
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/cross-spawn": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
- "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
+ "node_modules/is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
"dev": true,
"dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
+ "is-plain-object": "^2.0.4"
},
"engines": {
- "node": ">= 8"
+ "node": ">=0.10.0"
}
},
- "node_modules/electron-to-chromium": {
- "version": "1.5.286",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz",
- "integrity": "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==",
- "dev": true
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "node_modules/enhanced-resolve": {
- "version": "5.19.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.19.0.tgz",
- "integrity": "sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==",
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-generator-function": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz",
+ "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==",
"dev": true,
"dependencies": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.3.0"
+ "call-bound": "^1.0.4",
+ "generator-function": "^2.0.0",
+ "get-proto": "^1.0.1",
+ "has-tostringtag": "^1.0.2",
+ "safe-regex-test": "^1.1.0"
},
"engines": {
- "node": ">=10.13.0"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/envinfo": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.21.0.tgz",
- "integrity": "sha512-Lw7I8Zp5YKHFCXL7+Dz95g4CcbMEpgvqZNNq3AmlT5XAV6CgAAk6gyAMqn2zjw08K9BHfcNuKrMiCPLByGafow==",
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"dev": true,
- "bin": {
- "envinfo": "dist/cli.js"
+ "dependencies": {
+ "is-extglob": "^2.1.1"
},
"engines": {
- "node": ">=4"
+ "node": ">=0.10.0"
}
},
- "node_modules/es-module-lexer": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz",
- "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==",
- "dev": true
- },
- "node_modules/escalade": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
- "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true,
"engines": {
- "node": ">=6"
+ "node": ">=0.12.0"
}
},
- "node_modules/eslint-scope": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
- "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "node_modules/is-plain-object": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
"dev": true,
"dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^4.1.1"
+ "isobject": "^3.0.1"
},
"engines": {
- "node": ">=8.0.0"
+ "node": ">=0.10.0"
}
},
- "node_modules/esrecurse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
- "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "node_modules/is-regex": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz",
+ "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==",
"dev": true,
"dependencies": {
- "estraverse": "^5.2.0"
+ "call-bound": "^1.0.2",
+ "gopd": "^1.2.0",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.2"
},
"engines": {
- "node": ">=4.0"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/esrecurse/node_modules/estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "node_modules/is-typed-array": {
+ "version": "1.1.15",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz",
+ "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==",
"dev": true,
+ "dependencies": {
+ "which-typed-array": "^1.1.16"
+ },
"engines": {
- "node": ">=4.0"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "node_modules/is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
"dev": true,
+ "dependencies": {
+ "is-docker": "^2.0.0"
+ },
"engines": {
- "node": ">=4.0"
+ "node": ">=8"
}
},
- "node_modules/events": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
- "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+ "node_modules/isbinaryfile": {
+ "version": "4.0.10",
+ "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz",
+ "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==",
"dev": true,
"engines": {
- "node": ">=0.8.x"
+ "node": ">= 8.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/gjtorikian/"
}
},
- "node_modules/fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
"dev": true
},
- "node_modules/fast-uri": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz",
- "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==",
+ "node_modules/isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
"dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/fastify"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/fastify"
- }
- ]
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "node_modules/fastest-levenshtein": {
- "version": "1.0.16",
- "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
- "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
+ "node_modules/istanbul-lib-coverage": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
+ "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==",
"dev": true,
"engines": {
- "node": ">= 4.9.1"
+ "node": ">=8"
}
},
- "node_modules/fdir": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
- "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
+ "node_modules/istanbul-lib-instrument": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz",
+ "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/core": "^7.12.3",
+ "@babel/parser": "^7.14.7",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.2.0",
+ "semver": "^6.3.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/istanbul-lib-report": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz",
+ "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==",
"dev": true,
+ "dependencies": {
+ "istanbul-lib-coverage": "^3.0.0",
+ "make-dir": "^4.0.0",
+ "supports-color": "^7.1.0"
+ },
"engines": {
- "node": ">=12.0.0"
+ "node": ">=10"
+ }
+ },
+ "node_modules/istanbul-lib-report/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
},
- "peerDependencies": {
- "picomatch": "^3 || ^4"
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/istanbul-lib-source-maps": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz",
+ "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^4.1.1",
+ "istanbul-lib-coverage": "^3.0.0",
+ "source-map": "^0.6.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/istanbul-lib-source-maps/node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
},
"peerDependenciesMeta": {
- "picomatch": {
+ "supports-color": {
"optional": true
}
}
},
- "node_modules/find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "node_modules/istanbul-lib-source-maps/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "node_modules/istanbul-reports": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz",
+ "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==",
"dev": true,
"dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
+ "html-escaper": "^2.0.0",
+ "istanbul-lib-report": "^3.0.0"
},
"engines": {
"node": ">=8"
}
},
- "node_modules/flat": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
- "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
+ "node_modules/jasmine-core": {
+ "version": "4.6.1",
+ "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.1.tgz",
+ "integrity": "sha512-VYz/BjjmC3klLJlLwA4Kw8ytk0zDSmbbDLNs794VnWmkcCB7I9aAL/D48VNQtmITyPvea2C3jdUMfc3kAoy0PQ==",
+ "dev": true
+ },
+ "node_modules/jasmine-jquery": {
+ "version": "2.1.1",
+ "resolved": "git+https://git@github.com/velesin/jasmine-jquery.git#ebad463d592d3fea00c69f26ea18a930e09c7b58",
+ "integrity": "sha512-P9aZDwDEAVgAbdHG/ViapRzAUJ6zBSq/4I1lJFluIbrld6Sv6LI+HT2J4dgWqtfaCgIyDnHBHSHiJ/anter7wQ==",
"dev": true,
- "bin": {
- "flat": "cli.js"
- }
+ "license": "MIT"
},
- "node_modules/function-bind": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
- "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "node_modules/jest-worker": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
+ "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
"dev": true,
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "dependencies": {
+ "@types/node": "*",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^8.0.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
}
},
- "node_modules/glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "node_modules/jquery": {
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz",
+ "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==",
+ "dev": true
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "dev": true
+ },
+ "node_modules/jsesc": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+ "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
"dev": true,
- "dependencies": {
- "is-glob": "^4.0.3"
+ "bin": {
+ "jsesc": "bin/jsesc"
},
"engines": {
- "node": ">=10.13.0"
+ "node": ">=6"
}
},
- "node_modules/glob-to-regexp": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
- "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
+ "node_modules/json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
"dev": true
},
- "node_modules/graceful-fs": {
- "version": "4.2.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
- "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+ "node_modules/json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
"dev": true
},
- "node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "node_modules/json5": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
"dev": true,
+ "bin": {
+ "json5": "lib/cli.js"
+ },
"engines": {
- "node": ">=8"
+ "node": ">=6"
}
},
- "node_modules/hasown": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
- "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "node_modules/jsonfile": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
+ "dev": true,
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "node_modules/karma": {
+ "version": "6.4.4",
+ "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.4.tgz",
+ "integrity": "sha512-LrtUxbdvt1gOpo3gxG+VAJlJAEMhbWlM4YrFQgql98FwF7+K8K12LYO4hnDdUkNjeztYrOXEMqgTajSWgmtI/w==",
"dev": true,
"dependencies": {
- "function-bind": "^1.1.2"
+ "@colors/colors": "1.5.0",
+ "body-parser": "^1.19.0",
+ "braces": "^3.0.2",
+ "chokidar": "^3.5.1",
+ "connect": "^3.7.0",
+ "di": "^0.0.1",
+ "dom-serialize": "^2.2.1",
+ "glob": "^7.1.7",
+ "graceful-fs": "^4.2.6",
+ "http-proxy": "^1.18.1",
+ "isbinaryfile": "^4.0.8",
+ "lodash": "^4.17.21",
+ "log4js": "^6.4.1",
+ "mime": "^2.5.2",
+ "minimatch": "^3.0.4",
+ "mkdirp": "^0.5.5",
+ "qjobs": "^1.2.0",
+ "range-parser": "^1.2.1",
+ "rimraf": "^3.0.2",
+ "socket.io": "^4.7.2",
+ "source-map": "^0.6.1",
+ "tmp": "^0.2.1",
+ "ua-parser-js": "^0.7.30",
+ "yargs": "^16.1.1"
+ },
+ "bin": {
+ "karma": "bin/karma"
},
"engines": {
- "node": ">= 0.4"
+ "node": ">= 10"
}
},
- "node_modules/import-local": {
+ "node_modules/karma-chrome-launcher": {
"version": "3.2.0",
- "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz",
- "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==",
+ "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz",
+ "integrity": "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==",
"dev": true,
"dependencies": {
- "pkg-dir": "^4.2.0",
- "resolve-cwd": "^3.0.0"
+ "which": "^1.2.1"
+ }
+ },
+ "node_modules/karma-chrome-launcher/node_modules/which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
},
"bin": {
- "import-local-fixture": "fixtures/cli.js"
+ "which": "bin/which"
+ }
+ },
+ "node_modules/karma-coverage": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.1.tgz",
+ "integrity": "sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A==",
+ "dev": true,
+ "dependencies": {
+ "istanbul-lib-coverage": "^3.2.0",
+ "istanbul-lib-instrument": "^5.1.0",
+ "istanbul-lib-report": "^3.0.0",
+ "istanbul-lib-source-maps": "^4.0.1",
+ "istanbul-reports": "^3.0.5",
+ "minimatch": "^3.0.4"
},
"engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=10.0.0"
}
},
- "node_modules/imports-loader": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-5.0.0.tgz",
- "integrity": "sha512-tXgL8xxZFjOjQLLiE7my00UUQfktg4G8fdpXcZphL0bJWbk9eCxKKFaCwmFRcwyRJQl95GXBL1DoE1rCS/tcPw==",
+ "node_modules/karma-firefox-launcher": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-2.1.3.tgz",
+ "integrity": "sha512-LMM2bseebLbYjODBOVt7TCPP9OI2vZIXCavIXhkO9m+10Uj5l7u/SKoeRmYx8FYHTVGZSpk6peX+3BMHC1WwNw==",
"dev": true,
"dependencies": {
- "source-map-js": "^1.0.2",
- "strip-comments": "^2.0.1"
+ "is-wsl": "^2.2.0",
+ "which": "^3.0.0"
+ }
+ },
+ "node_modules/karma-firefox-launcher/node_modules/which": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz",
+ "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/which.js"
},
"engines": {
- "node": ">= 18.12.0"
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/karma-jasmine": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.1.0.tgz",
+ "integrity": "sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==",
+ "dev": true,
+ "dependencies": {
+ "jasmine-core": "^4.1.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "engines": {
+ "node": ">=12"
},
"peerDependencies": {
- "webpack": "^5.0.0"
+ "karma": "^6.0.0"
}
},
- "node_modules/interpret": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz",
- "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==",
+ "node_modules/karma-regex-preprocessor": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/karma-regex-preprocessor/-/karma-regex-preprocessor-1.0.1.tgz",
+ "integrity": "sha512-A+CTjK8VQZ1qZFnDMsuB7//2qWorOVuE2fnnZ2iDhv0H5Ug5Lv0I2FmolPV9KaTgJK1ipXHnSxVrG282fnoe7g==",
+ "dev": true
+ },
+ "node_modules/karma-sourcemap-loader": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/karma-sourcemap-loader/-/karma-sourcemap-loader-0.4.0.tgz",
+ "integrity": "sha512-xCRL3/pmhAYF3I6qOrcn0uhbQevitc2DERMPH82FMnG+4WReoGcGFZb1pURf2a5apyrOHRdvD+O6K7NljqKHyA==",
"dev": true,
- "engines": {
- "node": ">=10.13.0"
+ "dependencies": {
+ "graceful-fs": "^4.2.10"
}
},
- "node_modules/is-core-module": {
- "version": "2.16.1",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
- "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
+ "node_modules/karma-spec-reporter": {
+ "version": "0.0.36",
+ "resolved": "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.36.tgz",
+ "integrity": "sha512-11bvOl1x6ryKZph7kmbmMpbi8vsngEGxGOoeTlIcDaH3ab3j8aPJnZ+r+K/SS0sBSGy5VGkGYO2+hLct7hw/6w==",
"dev": true,
"dependencies": {
- "hasown": "^2.0.2"
- },
- "engines": {
- "node": ">= 0.4"
+ "colors": "1.4.0"
},
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "peerDependencies": {
+ "karma": ">=0.9"
}
},
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "node_modules/kind-of": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "node_modules/loader-runner": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz",
+ "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==",
"dev": true,
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=6.11.5"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
}
},
- "node_modules/is-plain-object": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "node_modules/locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
"dependencies": {
- "isobject": "^3.0.1"
+ "p-locate": "^4.1.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=8"
}
},
- "node_modules/isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "node_modules/lodash": {
+ "version": "4.17.23",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz",
+ "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==",
"dev": true
},
- "node_modules/isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
+ "node_modules/lodash._reinterpolate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+ "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==",
+ "dev": true
+ },
+ "node_modules/lodash.template": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz",
+ "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==",
+ "deprecated": "This package is deprecated. Use https://socket.dev/npm/package/eta instead.",
+ "dev": true,
+ "dependencies": {
+ "lodash._reinterpolate": "^3.0.0",
+ "lodash.templatesettings": "^4.0.0"
+ }
+ },
+ "node_modules/lodash.templatesettings": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz",
+ "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==",
+ "dev": true,
+ "dependencies": {
+ "lodash._reinterpolate": "^3.0.0"
+ }
+ },
+ "node_modules/log4js": {
+ "version": "6.9.1",
+ "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz",
+ "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==",
"dev": true,
+ "dependencies": {
+ "date-format": "^4.0.14",
+ "debug": "^4.3.4",
+ "flatted": "^3.2.7",
+ "rfdc": "^1.3.0",
+ "streamroller": "^3.1.5"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=8.0"
}
},
- "node_modules/jest-worker": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
- "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
+ "node_modules/log4js/node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
"dev": true,
"dependencies": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^8.0.0"
+ "ms": "^2.1.3"
},
"engines": {
- "node": ">= 10.13.0"
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
}
},
- "node_modules/json-parse-even-better-errors": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
- "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+ "node_modules/log4js/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true
},
- "node_modules/json-schema-traverse": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "node_modules/lolex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.3.2.tgz",
+ "integrity": "sha512-YYp8cqz7/8eruZ15L1mzcPkvLYxipfdsWIDESvNdNmQP9o7TsDitRhNuV2xb7aFu2ofZngao1jiVrVZ842x4BQ==",
"dev": true
},
- "node_modules/kind-of": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+ "node_modules/lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "node_modules/make-dir": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
+ "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==",
+ "dev": true,
+ "dependencies": {
+ "semver": "^7.5.3"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/make-dir/node_modules/semver": {
+ "version": "7.7.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
+ "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
"dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=10"
}
},
- "node_modules/loader-runner": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz",
- "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==",
+ "node_modules/math-intrinsics": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
+ "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
"dev": true,
"engines": {
- "node": ">=6.11.5"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "node": ">= 0.4"
}
},
- "node_modules/locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "node_modules/media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
"dev": true,
- "dependencies": {
- "p-locate": "^4.1.0"
- },
"engines": {
- "node": ">=8"
+ "node": ">= 0.6"
}
},
"node_modules/merge-stream": {
@@ -926,6 +3287,18 @@
"integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
"dev": true
},
+ "node_modules/mime": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
+ "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
+ "dev": true,
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
"node_modules/mime-db": {
"version": "1.52.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
@@ -947,12 +3320,108 @@
"node": ">= 0.6"
}
},
+ "node_modules/mini-css-extract-plugin": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.10.0.tgz",
+ "integrity": "sha512-540P2c5dYnJlyJxTaSloliZexv8rji6rY8FhQN+WF/82iHQfA23j/xtJx97L+mXOML27EqksSek/g4eK7jaL3g==",
+ "dev": true,
+ "dependencies": {
+ "schema-utils": "^4.0.0",
+ "tapable": "^2.2.1"
+ },
+ "engines": {
+ "node": ">= 12.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^5.0.0"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/minimist": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/mkdirp": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
+ "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
+ "dev": true,
+ "dependencies": {
+ "minimist": "^1.2.6"
+ },
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ }
+ },
+ "node_modules/moment": {
+ "version": "2.30.1",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz",
+ "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==",
+ "dev": true,
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/moment-timezone": {
+ "version": "0.5.46",
+ "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.46.tgz",
+ "integrity": "sha512-ZXm9b36esbe7OmdABqIWJuBBiLLwAjrN7CE+7sYdCCx82Nabt1wHDj8TVseS59QIlfFPbOoiBPm6ca9BioG4hw==",
+ "dev": true,
+ "dependencies": {
+ "moment": "^2.29.4"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true
+ },
+ "node_modules/negotiator": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
"node_modules/neo-async": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
"dev": true
},
+ "node_modules/node-addon-api": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz",
+ "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==",
+ "dev": true,
+ "optional": true
+ },
"node_modules/node-releases": {
"version": "2.0.27",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz",
@@ -968,6 +3437,48 @@
"node": ">=0.10.0"
}
},
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-inspect": {
+ "version": "1.13.4",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
+ "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/on-finished": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+ "dev": true,
+ "dependencies": {
+ "ee-first": "1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "dev": true,
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
"node_modules/p-limit": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
@@ -1004,6 +3515,24 @@
"node": ">=6"
}
},
+ "node_modules/parse-node-version": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz",
+ "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
"node_modules/path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
@@ -1013,6 +3542,15 @@
"node": ">=8"
}
},
+ "node_modules/path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/path-key": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
@@ -1058,6 +3596,60 @@
"node": ">=8"
}
},
+ "node_modules/plugin-error": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz",
+ "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-colors": "^1.0.1",
+ "arr-diff": "^4.0.0",
+ "arr-union": "^3.1.0",
+ "extend-shallow": "^3.0.2"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/possible-typed-array-names": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz",
+ "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==",
+ "dev": true
+ },
+ "node_modules/qjobs": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz",
+ "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.9"
+ }
+ },
+ "node_modules/qs": {
+ "version": "6.14.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz",
+ "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==",
+ "dev": true,
+ "dependencies": {
+ "side-channel": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/randombytes": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
@@ -1067,6 +3659,68 @@
"safe-buffer": "^5.1.0"
}
},
+ "node_modules/range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/raw-body": {
+ "version": "2.5.3",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz",
+ "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==",
+ "dev": true,
+ "dependencies": {
+ "bytes": "~3.1.2",
+ "http-errors": "~2.0.1",
+ "iconv-lite": "~0.4.24",
+ "unpipe": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/readable-stream": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "dev": true,
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dev": true,
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/readdirp/node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
"node_modules/rechoir": {
"version": "0.8.0",
"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz",
@@ -1079,6 +3733,15 @@
"node": ">= 10.13.0"
}
},
+ "node_modules/require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/require-from-string": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
@@ -1088,6 +3751,30 @@
"node": ">=0.10.0"
}
},
+ "node_modules/requirejs": {
+ "version": "2.1.22",
+ "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.1.22.tgz",
+ "integrity": "sha512-AhZqN7UrWV8R2d1LfGfznskMJNF0Vb6yStwrCn52UbktJg6y5V1I7RoGRyJtACe86d50PyQn0Iw0jYDKMvc4iA==",
+ "dev": true,
+ "bin": {
+ "r.js": "bin/r.js"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/requirejs-text": {
+ "version": "2.0.16",
+ "resolved": "https://registry.npmjs.org/requirejs-text/-/requirejs-text-2.0.16.tgz",
+ "integrity": "sha512-XrzjeTb1pwzIWmkz8qnUiM20gENgiwB+66IciNuziwlaPAJsYQsQPSYyQ1kD4tGKGZxTisIfDbOHk02DpI/76Q==",
+ "dev": true
+ },
+ "node_modules/requires-port": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
+ "dev": true
+ },
"node_modules/resolve": {
"version": "1.22.11",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
@@ -1126,28 +3813,128 @@
"integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"dev": true,
"engines": {
- "node": ">=8"
+ "node": ">=8"
+ }
+ },
+ "node_modules/rfdc": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz",
+ "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==",
+ "dev": true
+ },
+ "node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "deprecated": "Rimraf versions prior to v4 are no longer supported",
+ "dev": true,
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/safe-regex-test": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz",
+ "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==",
+ "dev": true,
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "is-regex": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true
+ },
+ "node_modules/samsam": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.1.2.tgz",
+ "integrity": "sha512-iVL7LibpM3tl4rQPweOXXrmjGegxx27flTOjQEZD3PXe4oZNFzuz6Si4mgleK/JWU/hyCvtV01RUovjvBEpDmw==",
+ "deprecated": "This package has been deprecated in favour of @sinonjs/samsam",
+ "dev": true
+ },
+ "node_modules/sass": {
+ "version": "1.97.3",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.97.3.tgz",
+ "integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==",
+ "dev": true,
+ "dependencies": {
+ "chokidar": "^4.0.0",
+ "immutable": "^5.0.2",
+ "source-map-js": ">=0.6.2 <2.0.0"
+ },
+ "bin": {
+ "sass": "sass.js"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "optionalDependencies": {
+ "@parcel/watcher": "^2.4.1"
+ }
+ },
+ "node_modules/sass/node_modules/chokidar": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
+ "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
+ "dev": true,
+ "dependencies": {
+ "readdirp": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 14.16.0"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
}
},
- "node_modules/safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "node_modules/sass/node_modules/readdirp": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
+ "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
"dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
+ "engines": {
+ "node": ">= 14.18.0"
+ },
+ "funding": {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
+ }
},
"node_modules/schema-utils": {
"version": "4.3.3",
@@ -1168,6 +3955,15 @@
"url": "https://opencollective.com/webpack"
}
},
+ "node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
"node_modules/serialize-javascript": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
@@ -1177,6 +3973,29 @@
"randombytes": "^2.1.0"
}
},
+ "node_modules/set-function-length": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
+ "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
+ "dev": true,
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/setprototypeof": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
+ "dev": true
+ },
"node_modules/shallow-clone": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
@@ -1210,6 +4029,204 @@
"node": ">=8"
}
},
+ "node_modules/side-channel": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
+ "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
+ "dev": true,
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "object-inspect": "^1.13.3",
+ "side-channel-list": "^1.0.0",
+ "side-channel-map": "^1.0.1",
+ "side-channel-weakmap": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-list": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
+ "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
+ "dev": true,
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "object-inspect": "^1.13.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-map": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
+ "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
+ "dev": true,
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-weakmap": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
+ "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
+ "dev": true,
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3",
+ "side-channel-map": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/sinon": {
+ "version": "1.17.7",
+ "resolved": "https://registry.npmjs.org/sinon/-/sinon-1.17.7.tgz",
+ "integrity": "sha512-M9rtyQxKfcTTdB64rpPSRaTzOvunb+HHPv/3PxvNPrEDnFSny95Pi6/3VoD471ody0ay0IHyzT3BErfcLXj6NA==",
+ "deprecated": "16.1.1",
+ "dev": true,
+ "dependencies": {
+ "formatio": "1.1.1",
+ "lolex": "1.3.2",
+ "samsam": "1.1.2",
+ "util": ">=0.10.3 <1"
+ },
+ "engines": {
+ "node": ">=0.1.103"
+ }
+ },
+ "node_modules/socket.io": {
+ "version": "4.8.3",
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.3.tgz",
+ "integrity": "sha512-2Dd78bqzzjE6KPkD5fHZmDAKRNe3J15q+YHDrIsy9WEkqttc7GY+kT9OBLSMaPbQaEd0x1BjcmtMtXkfpc+T5A==",
+ "dev": true,
+ "dependencies": {
+ "accepts": "~1.3.4",
+ "base64id": "~2.0.0",
+ "cors": "~2.8.5",
+ "debug": "~4.4.1",
+ "engine.io": "~6.6.0",
+ "socket.io-adapter": "~2.5.2",
+ "socket.io-parser": "~4.2.4"
+ },
+ "engines": {
+ "node": ">=10.2.0"
+ }
+ },
+ "node_modules/socket.io-adapter": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.6.tgz",
+ "integrity": "sha512-DkkO/dz7MGln0dHn5bmN3pPy+JmywNICWrJqVWiVOyvXjWQFIv9c2h24JrQLLFJ2aQVQf/Cvl1vblnd4r2apLQ==",
+ "dev": true,
+ "dependencies": {
+ "debug": "~4.4.1",
+ "ws": "~8.18.3"
+ }
+ },
+ "node_modules/socket.io-adapter/node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/socket.io-adapter/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "node_modules/socket.io-parser": {
+ "version": "4.2.5",
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.5.tgz",
+ "integrity": "sha512-bPMmpy/5WWKHea5Y/jYAP6k74A+hvmRCQaJuJB6I/ML5JZq/KfNieUVo/3Mh7SAqn7TyFdIo6wqYHInG1MU1bQ==",
+ "dev": true,
+ "dependencies": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.4.1"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/socket.io-parser/node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/socket.io-parser/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "node_modules/socket.io/node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/socket.io/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
"node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -1238,6 +4255,87 @@
"source-map": "^0.6.0"
}
},
+ "node_modules/statuses": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+ "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/streamroller": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz",
+ "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==",
+ "dev": true,
+ "dependencies": {
+ "date-format": "^4.0.14",
+ "debug": "^4.3.4",
+ "fs-extra": "^8.1.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/streamroller/node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/streamroller/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "node_modules/string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "dev": true,
+ "dependencies": {
+ "safe-buffer": "~5.2.0"
+ }
+ },
+ "node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/strip-comments": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz",
@@ -1339,6 +4437,25 @@
}
}
},
+ "node_modules/through2": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz",
+ "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==",
+ "dev": true,
+ "dependencies": {
+ "inherits": "^2.0.4",
+ "readable-stream": "2 || 3"
+ }
+ },
+ "node_modules/time-stamp": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
+ "integrity": "sha512-gLCeArryy2yNTRzTGKbZbloctj64jkZ57hj5zdraXue6aFgd6PmvVtEyiUU+hvU0v7q08oVv8r8ev0tRo6bvgw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/tinyglobby": {
"version": "0.2.15",
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
@@ -1355,12 +4472,120 @@
"url": "https://github.com/sponsors/SuperchupuDev"
}
},
+ "node_modules/tmp": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz",
+ "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==",
+ "dev": true,
+ "engines": {
+ "node": ">=14.14"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/toidentifier": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "node_modules/tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ },
+ "node_modules/type-is": {
+ "version": "1.6.18",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+ "dev": true,
+ "dependencies": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/ua-parser-js": {
+ "version": "0.7.41",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.41.tgz",
+ "integrity": "sha512-O3oYyCMPYgNNHuO7Jjk3uacJWZF8loBgwrfd/5LE/HyZ3lUIOdniQ7DNXJcIgZbwioZxk0fLfI4EVnetdiX5jg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/ua-parser-js"
+ },
+ {
+ "type": "paypal",
+ "url": "https://paypal.me/faisalman"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/faisalman"
+ }
+ ],
+ "bin": {
+ "ua-parser-js": "script/cli.js"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/underscore": {
+ "version": "1.13.7",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz",
+ "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==",
+ "dev": true
+ },
"node_modules/undici-types": {
"version": "7.16.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz",
"integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==",
"dev": true
},
+ "node_modules/unidragger": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/unidragger/-/unidragger-3.0.1.tgz",
+ "integrity": "sha512-RngbGSwBFmqGBWjkaH+yB677uzR95blSQyxq6hYbrQCejH3Mx1nm8DVOuh3M9k2fQyTstWUG5qlgCnNqV/9jVw==",
+ "dev": true,
+ "dependencies": {
+ "ev-emitter": "^2.0.0"
+ }
+ },
+ "node_modules/universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "node_modules/unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
"node_modules/update-browserslist-db": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz",
@@ -1391,6 +4616,58 @@
"browserslist": ">= 4.21.0"
}
},
+ "node_modules/urijs": {
+ "version": "1.19.11",
+ "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz",
+ "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==",
+ "dev": true
+ },
+ "node_modules/util": {
+ "version": "0.12.5",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
+ "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==",
+ "dev": true,
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "is-arguments": "^1.0.4",
+ "is-generator-function": "^1.0.7",
+ "is-typed-array": "^1.1.3",
+ "which-typed-array": "^1.1.2"
+ }
+ },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+ "dev": true
+ },
+ "node_modules/utils-merge": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/void-elements": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
+ "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/watchpack": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz",
@@ -1544,20 +4821,339 @@
"node": ">= 8"
}
},
+ "node_modules/which-typed-array": {
+ "version": "1.1.20",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz",
+ "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==",
+ "dev": true,
+ "dependencies": {
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.4",
+ "for-each": "^0.3.5",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/wildcard": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz",
"integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==",
"dev": true
+ },
+ "node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+ "dev": true
+ },
+ "node_modules/ws": {
+ "version": "8.18.3",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
+ "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": ">=5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+ "dev": true
+ },
+ "node_modules/yargs": {
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+ "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+ "dev": true,
+ "dependencies": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.0",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^20.2.2"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yargs-parser": {
+ "version": "20.2.9",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
+ "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
}
},
"dependencies": {
+ "@babel/code-frame": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz",
+ "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.28.5",
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.1.1"
+ }
+ },
+ "@babel/compat-data": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz",
+ "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==",
+ "dev": true
+ },
+ "@babel/core": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz",
+ "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.29.0",
+ "@babel/generator": "^7.29.0",
+ "@babel/helper-compilation-targets": "^7.28.6",
+ "@babel/helper-module-transforms": "^7.28.6",
+ "@babel/helpers": "^7.28.6",
+ "@babel/parser": "^7.29.0",
+ "@babel/template": "^7.28.6",
+ "@babel/traverse": "^7.29.0",
+ "@babel/types": "^7.29.0",
+ "@jridgewell/remapping": "^2.3.5",
+ "convert-source-map": "^2.0.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.3",
+ "semver": "^6.3.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.3"
+ }
+ },
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ }
+ }
+ },
+ "@babel/generator": {
+ "version": "7.29.1",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz",
+ "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==",
+ "dev": true,
+ "requires": {
+ "@babel/parser": "^7.29.0",
+ "@babel/types": "^7.29.0",
+ "@jridgewell/gen-mapping": "^0.3.12",
+ "@jridgewell/trace-mapping": "^0.3.28",
+ "jsesc": "^3.0.2"
+ }
+ },
+ "@babel/helper-compilation-targets": {
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz",
+ "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==",
+ "dev": true,
+ "requires": {
+ "@babel/compat-data": "^7.28.6",
+ "@babel/helper-validator-option": "^7.27.1",
+ "browserslist": "^4.24.0",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.1"
+ }
+ },
+ "@babel/helper-globals": {
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
+ "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
+ "dev": true
+ },
+ "@babel/helper-module-imports": {
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz",
+ "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==",
+ "dev": true,
+ "requires": {
+ "@babel/traverse": "^7.28.6",
+ "@babel/types": "^7.28.6"
+ }
+ },
+ "@babel/helper-module-transforms": {
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz",
+ "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "^7.28.6",
+ "@babel/helper-validator-identifier": "^7.28.5",
+ "@babel/traverse": "^7.28.6"
+ }
+ },
+ "@babel/helper-string-parser": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
+ "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
+ "dev": true
+ },
+ "@babel/helper-validator-identifier": {
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
+ "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
+ "dev": true
+ },
+ "@babel/helper-validator-option": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz",
+ "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==",
+ "dev": true
+ },
+ "@babel/helpers": {
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz",
+ "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.28.6",
+ "@babel/types": "^7.28.6"
+ }
+ },
+ "@babel/parser": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz",
+ "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.29.0"
+ }
+ },
+ "@babel/template": {
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz",
+ "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.28.6",
+ "@babel/parser": "^7.28.6",
+ "@babel/types": "^7.28.6"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz",
+ "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.29.0",
+ "@babel/generator": "^7.29.0",
+ "@babel/helper-globals": "^7.28.0",
+ "@babel/parser": "^7.29.0",
+ "@babel/template": "^7.28.6",
+ "@babel/types": "^7.29.0",
+ "debug": "^4.3.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.3"
+ }
+ },
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ }
+ }
+ },
+ "@babel/types": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz",
+ "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-string-parser": "^7.27.1",
+ "@babel/helper-validator-identifier": "^7.28.5"
+ }
+ },
+ "@colors/colors": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
+ "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
+ "dev": true
+ },
"@discoveryjs/json-ext": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
"integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==",
"dev": true
},
+ "@istanbuljs/schema": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
+ "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
+ "dev": true
+ },
"@jridgewell/gen-mapping": {
"version": "0.3.13",
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
@@ -1568,6 +5164,16 @@
"@jridgewell/trace-mapping": "^0.3.24"
}
},
+ "@jridgewell/remapping": {
+ "version": "2.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz",
+ "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
+ "dev": true,
+ "requires": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+ },
"@jridgewell/resolve-uri": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
@@ -1600,6 +5206,138 @@
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
+ "@parcel/watcher": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz",
+ "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "@parcel/watcher-android-arm64": "2.5.6",
+ "@parcel/watcher-darwin-arm64": "2.5.6",
+ "@parcel/watcher-darwin-x64": "2.5.6",
+ "@parcel/watcher-freebsd-x64": "2.5.6",
+ "@parcel/watcher-linux-arm-glibc": "2.5.6",
+ "@parcel/watcher-linux-arm-musl": "2.5.6",
+ "@parcel/watcher-linux-arm64-glibc": "2.5.6",
+ "@parcel/watcher-linux-arm64-musl": "2.5.6",
+ "@parcel/watcher-linux-x64-glibc": "2.5.6",
+ "@parcel/watcher-linux-x64-musl": "2.5.6",
+ "@parcel/watcher-win32-arm64": "2.5.6",
+ "@parcel/watcher-win32-ia32": "2.5.6",
+ "@parcel/watcher-win32-x64": "2.5.6",
+ "detect-libc": "^2.0.3",
+ "is-glob": "^4.0.3",
+ "node-addon-api": "^7.0.0",
+ "picomatch": "^4.0.3"
+ }
+ },
+ "@parcel/watcher-android-arm64": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz",
+ "integrity": "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==",
+ "dev": true,
+ "optional": true
+ },
+ "@parcel/watcher-darwin-arm64": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz",
+ "integrity": "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==",
+ "dev": true,
+ "optional": true
+ },
+ "@parcel/watcher-darwin-x64": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz",
+ "integrity": "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==",
+ "dev": true,
+ "optional": true
+ },
+ "@parcel/watcher-freebsd-x64": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz",
+ "integrity": "sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==",
+ "dev": true,
+ "optional": true
+ },
+ "@parcel/watcher-linux-arm-glibc": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz",
+ "integrity": "sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@parcel/watcher-linux-arm-musl": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz",
+ "integrity": "sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==",
+ "dev": true,
+ "optional": true
+ },
+ "@parcel/watcher-linux-arm64-glibc": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz",
+ "integrity": "sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==",
+ "dev": true,
+ "optional": true
+ },
+ "@parcel/watcher-linux-arm64-musl": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz",
+ "integrity": "sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==",
+ "dev": true,
+ "optional": true
+ },
+ "@parcel/watcher-linux-x64-glibc": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz",
+ "integrity": "sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@parcel/watcher-linux-x64-musl": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz",
+ "integrity": "sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==",
+ "dev": true,
+ "optional": true
+ },
+ "@parcel/watcher-win32-arm64": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz",
+ "integrity": "sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==",
+ "dev": true,
+ "optional": true
+ },
+ "@parcel/watcher-win32-ia32": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz",
+ "integrity": "sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==",
+ "dev": true,
+ "optional": true
+ },
+ "@parcel/watcher-win32-x64": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz",
+ "integrity": "sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==",
+ "dev": true,
+ "optional": true
+ },
+ "@socket.io/component-emitter": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz",
+ "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==",
+ "dev": true
+ },
+ "@types/cors": {
+ "version": "2.8.19",
+ "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz",
+ "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
"@types/eslint": {
"version": "9.6.1",
"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz",
@@ -1820,6 +5558,16 @@
"integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
"dev": true
},
+ "accepts": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
+ "dev": true,
+ "requires": {
+ "mime-types": "~2.1.34",
+ "negotiator": "0.6.3"
+ }
+ },
"acorn": {
"version": "8.15.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
@@ -1833,42 +5581,157 @@
"dev": true,
"requires": {}
},
- "ajv": {
- "version": "8.17.1",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
- "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
+ "ajv": {
+ "version": "8.17.1",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
+ "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.3",
+ "fast-uri": "^3.0.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2"
+ }
+ },
+ "ajv-formats": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
+ "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
+ "dev": true,
+ "requires": {
+ "ajv": "^8.0.0"
+ }
+ },
+ "ajv-keywords": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
+ "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.3"
+ }
+ },
+ "ansi-colors": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz",
+ "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==",
+ "dev": true,
+ "requires": {
+ "ansi-wrap": "^0.1.0"
+ }
+ },
+ "ansi-gray": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
+ "integrity": "sha512-HrgGIZUl8h2EHuZaU9hTR/cU5nhKxpVE1V6kdGsQ8e4zirElJ5fvtfc8N7Q1oq1aatO275i8pUFUCpNWCAnVWw==",
+ "dev": true,
+ "requires": {
+ "ansi-wrap": "0.1.0"
+ }
+ },
+ "ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "ansi-wrap": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
+ "integrity": "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==",
+ "dev": true
+ },
+ "anymatch": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+ "dev": true,
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "dependencies": {
+ "picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true
+ }
+ }
+ },
+ "append-prepend-loader": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/append-prepend-loader/-/append-prepend-loader-1.0.0.tgz",
+ "integrity": "sha512-TpqFKoWUJZgo69yFD+EZ+NBhEVAVT6LK5vgMbBEyHd65a33v/ECNq7H8THzL4eobBZaaJ21bVg5ruJeYxTSsYw==",
+ "dev": true,
+ "requires": {}
+ },
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==",
+ "dev": true
+ },
+ "arr-union": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==",
+ "dev": true
+ },
+ "assign-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+ "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==",
+ "dev": true
+ },
+ "available-typed-arrays": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
+ "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
"dev": true,
"requires": {
- "fast-deep-equal": "^3.1.3",
- "fast-uri": "^3.0.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2"
+ "possible-typed-array-names": "^1.0.0"
}
},
- "ajv-formats": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
- "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
+ "backbone": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/backbone/-/backbone-1.6.1.tgz",
+ "integrity": "sha512-YQzWxOrIgL6BoFnZjThVN99smKYhyEXXFyJJ2lsF1wJLyo4t+QjmkLrH8/fN22FZ4ykF70Xq7PgTugJVR4zS9Q==",
"dev": true,
"requires": {
- "ajv": "^8.0.0"
+ "underscore": ">=1.8.3"
}
},
- "ajv-keywords": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
- "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
+ "backbone.paginator": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/backbone.paginator/-/backbone.paginator-2.0.8.tgz",
+ "integrity": "sha512-8XS2CTbjnwMbJ/3Traa1te2RPecOGbZ9tc52T89pzo6NXlVEJDFnC++dp7CQLBUZpgk3g0veX8mUbEF4wbD2NQ==",
"dev": true,
"requires": {
- "fast-deep-equal": "^3.1.3"
+ "backbone": "1.1.2 || 1.2.3 || ^1.3.2",
+ "underscore": "^1.8.0"
}
},
- "append-prepend-loader": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/append-prepend-loader/-/append-prepend-loader-1.0.0.tgz",
- "integrity": "sha512-TpqFKoWUJZgo69yFD+EZ+NBhEVAVT6LK5vgMbBEyHd65a33v/ECNq7H8THzL4eobBZaaJ21bVg5ruJeYxTSsYw==",
- "dev": true,
- "requires": {}
+ "balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "dev": true
+ },
+ "base64id": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
+ "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==",
+ "dev": true
},
"baseline-browser-mapping": {
"version": "2.9.19",
@@ -1876,6 +5739,51 @@
"integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==",
"dev": true
},
+ "binary-extensions": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
+ "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
+ "dev": true
+ },
+ "body-parser": {
+ "version": "1.20.4",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz",
+ "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==",
+ "dev": true,
+ "requires": {
+ "bytes": "~3.1.2",
+ "content-type": "~1.0.5",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "~1.2.0",
+ "http-errors": "~2.0.1",
+ "iconv-lite": "~0.4.24",
+ "on-finished": "~2.4.1",
+ "qs": "~6.14.0",
+ "raw-body": "~2.5.3",
+ "type-is": "~1.6.18",
+ "unpipe": "~1.0.0"
+ }
+ },
+ "brace-expansion": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.1.1"
+ }
+ },
"browserslist": {
"version": "4.28.1",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz",
@@ -1895,18 +5803,115 @@
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
"dev": true
},
+ "bytes": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
+ "dev": true
+ },
+ "call-bind": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz",
+ "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==",
+ "dev": true,
+ "requires": {
+ "call-bind-apply-helpers": "^1.0.0",
+ "es-define-property": "^1.0.0",
+ "get-intrinsic": "^1.2.4",
+ "set-function-length": "^1.2.2"
+ }
+ },
+ "call-bind-apply-helpers": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
+ "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
+ "dev": true,
+ "requires": {
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2"
+ }
+ },
+ "call-bound": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
+ "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
+ "dev": true,
+ "requires": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "get-intrinsic": "^1.3.0"
+ }
+ },
"caniuse-lite": {
"version": "1.0.30001769",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001769.tgz",
"integrity": "sha512-BCfFL1sHijQlBGWBMuJyhZUhzo7wer5sVj9hqekB/7xn0Ypy+pER/edCYQm4exbXj4WiySGp40P8UuTh6w1srg==",
"dev": true
},
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "chokidar": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "dev": true,
+ "requires": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "fsevents": "~2.3.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "dependencies": {
+ "glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ }
+ }
+ },
"chrome-trace-event": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz",
"integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==",
"dev": true
},
+ "cliui": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+ "dev": true,
+ "requires": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
+ }
+ },
"clone-deep": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
@@ -1918,18 +5923,81 @@
"shallow-clone": "^3.0.0"
}
},
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "color-support": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
+ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
+ "dev": true
+ },
"colorette": {
"version": "2.0.20",
"resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
"integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
"dev": true
},
+ "colors": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
+ "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
+ "dev": true
+ },
"commander": {
"version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true
},
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+ "dev": true
+ },
+ "connect": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz",
+ "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "finalhandler": "1.1.2",
+ "parseurl": "~1.3.3",
+ "utils-merge": "1.0.1"
+ }
+ },
+ "content-type": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
+ "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
+ "dev": true
+ },
+ "convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+ "dev": true
+ },
+ "cookie": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
+ "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
+ "dev": true
+ },
"copy-webpack-plugin": {
"version": "13.0.1",
"resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-13.0.1.tgz",
@@ -1943,6 +6011,16 @@
"tinyglobby": "^0.2.12"
}
},
+ "cors": {
+ "version": "2.8.6",
+ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz",
+ "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==",
+ "dev": true,
+ "requires": {
+ "object-assign": "^4",
+ "vary": "^1"
+ }
+ },
"cross-spawn": {
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
@@ -1954,12 +6032,198 @@
"which": "^2.0.1"
}
},
+ "custom-event": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
+ "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==",
+ "dev": true
+ },
+ "date-format": {
+ "version": "4.0.14",
+ "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz",
+ "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==",
+ "dev": true
+ },
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "define-data-property": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
+ "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
+ "dev": true,
+ "requires": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.0.1"
+ }
+ },
+ "depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "dev": true
+ },
+ "destroy": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
+ "dev": true
+ },
+ "detect-libc": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
+ "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
+ "dev": true,
+ "optional": true
+ },
+ "di": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
+ "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==",
+ "dev": true
+ },
+ "dom-serialize": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
+ "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==",
+ "dev": true,
+ "requires": {
+ "custom-event": "~1.0.0",
+ "ent": "~2.2.0",
+ "extend": "^3.0.0",
+ "void-elements": "^2.0.0"
+ }
+ },
+ "draggabilly": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/draggabilly/-/draggabilly-3.0.0.tgz",
+ "integrity": "sha512-aEs+B6prbMZQMxc9lgTpCBfyCUhRur/VFucHhIOvlvvdARTj7TcDmX/cdOUtqbjJJUh7+agyJXR5Z6IFe1MxwQ==",
+ "dev": true,
+ "requires": {
+ "get-size": "^3.0.0",
+ "unidragger": "^3.0.0"
+ }
+ },
+ "dunder-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
+ "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
+ "dev": true,
+ "requires": {
+ "call-bind-apply-helpers": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.2.0"
+ }
+ },
+ "edx-ui-toolkit": {
+ "version": "1.8.7",
+ "resolved": "https://registry.npmjs.org/edx-ui-toolkit/-/edx-ui-toolkit-1.8.7.tgz",
+ "integrity": "sha512-2GF463dcfKu9u0wFY1u5fX6CUs5V3VQjcTQKt1tLzFzGoK1oGg/lRp0SYsbdcIAzCT8yQAFyrpvAQh1oGuTkiA==",
+ "dev": true,
+ "requires": {
+ "backbone": "1.6.0",
+ "backbone.paginator": "2.0.8",
+ "gulp-shell": "0.8.0",
+ "jquery": "~3.7.0",
+ "mini-css-extract-plugin": "^2.7.2",
+ "moment": "2.30.1",
+ "moment-timezone": "0.5.46",
+ "requirejs": "2.1.22",
+ "requirejs-text": "2.0.16",
+ "sass": "^1.58.3",
+ "sinon": "1.17.7",
+ "underscore": "~1.8.3",
+ "urijs": "1.19.11"
+ },
+ "dependencies": {
+ "backbone": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/backbone/-/backbone-1.6.0.tgz",
+ "integrity": "sha512-13PUjmsgw/49EowNcQvfG4gmczz1ximTMhUktj0Jfrjth0MVaTxehpU+qYYX4MxnuIuhmvBLC6/ayxuAGnOhbA==",
+ "dev": true,
+ "requires": {
+ "underscore": ">=1.8.3"
+ }
+ },
+ "underscore": {
+ "version": "1.8.3",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz",
+ "integrity": "sha512-5WsVTFcH1ut/kkhAaHf4PVgI8c7++GiVcpCGxPouI6ZVjsqPnSDf8h/8HtVqc0t4fzRXwnMK70EcZeAs3PIddg==",
+ "dev": true
+ }
+ }
+ },
+ "ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
+ "dev": true
+ },
"electron-to-chromium": {
"version": "1.5.286",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz",
"integrity": "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==",
"dev": true
},
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+ "dev": true
+ },
+ "engine.io": {
+ "version": "6.6.5",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.5.tgz",
+ "integrity": "sha512-2RZdgEbXmp5+dVbRm0P7HQUImZpICccJy7rN7Tv+SFa55pH+lxnuw6/K1ZxxBfHoYpSkHLAO92oa8O4SwFXA2A==",
+ "dev": true,
+ "requires": {
+ "@types/cors": "^2.8.12",
+ "@types/node": ">=10.0.0",
+ "accepts": "~1.3.4",
+ "base64id": "2.0.0",
+ "cookie": "~0.7.2",
+ "cors": "~2.8.5",
+ "debug": "~4.4.1",
+ "engine.io-parser": "~5.2.1",
+ "ws": "~8.18.3"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.3"
+ }
+ },
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ }
+ }
+ },
+ "engine.io-parser": {
+ "version": "5.2.3",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz",
+ "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==",
+ "dev": true
+ },
"enhanced-resolve": {
"version": "5.19.0",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.19.0.tgz",
@@ -1970,24 +6234,63 @@
"tapable": "^2.3.0"
}
},
+ "ent": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.2.tgz",
+ "integrity": "sha512-kKvD1tO6BM+oK9HzCPpUdRb4vKFQY/FPTFmurMvh6LlN68VMrdj77w8yp51/kDbpkFOS9J8w5W6zIzgM2H8/hw==",
+ "dev": true,
+ "requires": {
+ "call-bound": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "punycode": "^1.4.1",
+ "safe-regex-test": "^1.1.0"
+ }
+ },
"envinfo": {
"version": "7.21.0",
"resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.21.0.tgz",
"integrity": "sha512-Lw7I8Zp5YKHFCXL7+Dz95g4CcbMEpgvqZNNq3AmlT5XAV6CgAAk6gyAMqn2zjw08K9BHfcNuKrMiCPLByGafow==",
"dev": true
},
+ "es-define-property": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
+ "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
+ "dev": true
+ },
+ "es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+ "dev": true
+ },
"es-module-lexer": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz",
"integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==",
"dev": true
},
+ "es-object-atoms": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
+ "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
+ "dev": true,
+ "requires": {
+ "es-errors": "^1.3.0"
+ }
+ },
"escalade": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
"integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
"dev": true
},
+ "escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
+ "dev": true
+ },
"eslint-scope": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
@@ -2021,12 +6324,52 @@
"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
"dev": true
},
+ "ev-emitter": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ev-emitter/-/ev-emitter-2.1.2.tgz",
+ "integrity": "sha512-jQ5Ql18hdCQ4qS+RCrbLfz1n+Pags27q5TwMKvZyhp5hh2UULUYZUy1keqj6k6SYsdqIYjnmz7xyyEY0V67B8Q==",
+ "dev": true
+ },
+ "eventemitter3": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
+ "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
+ "dev": true
+ },
"events": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
"integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
"dev": true
},
+ "extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+ "dev": true
+ },
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
+ "dev": true,
+ "requires": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ }
+ },
+ "fancy-log": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz",
+ "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==",
+ "dev": true,
+ "requires": {
+ "ansi-gray": "^0.1.1",
+ "color-support": "^1.1.3",
+ "parse-node-version": "^1.0.0",
+ "time-stamp": "^1.0.0"
+ }
+ },
"fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -2052,6 +6395,41 @@
"dev": true,
"requires": {}
},
+ "fill-range": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "dev": true,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "finalhandler": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
+ "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "on-finished": "~2.3.0",
+ "parseurl": "~1.3.3",
+ "statuses": "~1.5.0",
+ "unpipe": "~1.0.0"
+ },
+ "dependencies": {
+ "on-finished": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==",
+ "dev": true,
+ "requires": {
+ "ee-first": "1.1.1"
+ }
+ }
+ }
+ },
"find-up": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
@@ -2068,12 +6446,132 @@
"integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
"dev": true
},
+ "flatted": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz",
+ "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==",
+ "dev": true
+ },
+ "follow-redirects": {
+ "version": "1.15.11",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz",
+ "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==",
+ "dev": true
+ },
+ "for-each": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz",
+ "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==",
+ "dev": true,
+ "requires": {
+ "is-callable": "^1.2.7"
+ }
+ },
+ "formatio": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.1.1.tgz",
+ "integrity": "sha512-cPh7is6k3d8tIUh+pnXXuAbD/uhSXGgqLPw0UrYpv5lfdJ+MMMSjx40JNpqP7Top9Nt25YomWEiRmkHbOvkCaA==",
+ "dev": true,
+ "requires": {
+ "samsam": "~1.1"
+ }
+ },
+ "fs-extra": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+ "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
+ "dev": true
+ },
+ "fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "dev": true,
+ "optional": true
+ },
"function-bind": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
"dev": true
},
+ "generator-function": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz",
+ "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==",
+ "dev": true
+ },
+ "gensync": {
+ "version": "1.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
+ "dev": true
+ },
+ "get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "dev": true
+ },
+ "get-intrinsic": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+ "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
+ "dev": true,
+ "requires": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "es-define-property": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.1.1",
+ "function-bind": "^1.1.2",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "hasown": "^2.0.2",
+ "math-intrinsics": "^1.1.0"
+ }
+ },
+ "get-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
+ "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
+ "dev": true,
+ "requires": {
+ "dunder-proto": "^1.0.1",
+ "es-object-atoms": "^1.0.0"
+ }
+ },
+ "get-size": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/get-size/-/get-size-3.0.0.tgz",
+ "integrity": "sha512-Y8aiXLq4leR7807UY0yuKEwif5s3kbVp1nTv+i4jBeoUzByTLKkLWu/HorS6/pB+7gsB0o7OTogC8AoOOeT0Hw==",
+ "dev": true
+ },
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
"glob-parent": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
@@ -2089,18 +6587,62 @@
"integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
"dev": true
},
+ "gopd": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
+ "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
+ "dev": true
+ },
"graceful-fs": {
"version": "4.2.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
"dev": true
},
+ "gulp-shell": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/gulp-shell/-/gulp-shell-0.8.0.tgz",
+ "integrity": "sha512-wHNCgmqbWkk1c6Gc2dOL5SprcoeujQdeepICwfQRo91DIylTE7a794VEE+leq3cE2YDoiS5ulvRfKVIEMazcTQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "^3.0.0",
+ "fancy-log": "^1.3.3",
+ "lodash.template": "^4.5.0",
+ "plugin-error": "^1.0.1",
+ "through2": "^3.0.1",
+ "tslib": "^1.10.0"
+ }
+ },
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
+ "has-property-descriptors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
+ "dev": true,
+ "requires": {
+ "es-define-property": "^1.0.0"
+ }
+ },
+ "has-symbols": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
+ "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
+ "dev": true
+ },
+ "has-tostringtag": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+ "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
+ "dev": true,
+ "requires": {
+ "has-symbols": "^1.0.3"
+ }
+ },
"hasown": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
@@ -2110,6 +6652,59 @@
"function-bind": "^1.1.2"
}
},
+ "html-escaper": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
+ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
+ "dev": true
+ },
+ "http-errors": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz",
+ "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==",
+ "dev": true,
+ "requires": {
+ "depd": "~2.0.0",
+ "inherits": "~2.0.4",
+ "setprototypeof": "~1.2.0",
+ "statuses": "~2.0.2",
+ "toidentifier": "~1.0.1"
+ },
+ "dependencies": {
+ "statuses": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
+ "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
+ "dev": true
+ }
+ }
+ },
+ "http-proxy": {
+ "version": "1.18.1",
+ "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
+ "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
+ "dev": true,
+ "requires": {
+ "eventemitter3": "^4.0.0",
+ "follow-redirects": "^1.0.0",
+ "requires-port": "^1.0.0"
+ }
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dev": true,
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "immutable": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.4.tgz",
+ "integrity": "sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==",
+ "dev": true
+ },
"import-local": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz",
@@ -2130,12 +6725,53 @@
"strip-comments": "^2.0.1"
}
},
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "dev": true,
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true
+ },
"interpret": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz",
"integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==",
"dev": true
},
+ "is-arguments": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz",
+ "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==",
+ "dev": true,
+ "requires": {
+ "call-bound": "^1.0.2",
+ "has-tostringtag": "^1.0.2"
+ }
+ },
+ "is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dev": true,
+ "requires": {
+ "binary-extensions": "^2.0.0"
+ }
+ },
+ "is-callable": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
+ "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
+ "dev": true
+ },
"is-core-module": {
"version": "2.16.1",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
@@ -2145,12 +6781,46 @@
"hasown": "^2.0.2"
}
},
+ "is-docker": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
+ "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
+ "dev": true
+ },
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ },
"is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
"dev": true
},
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true
+ },
+ "is-generator-function": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz",
+ "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==",
+ "dev": true,
+ "requires": {
+ "call-bound": "^1.0.4",
+ "generator-function": "^2.0.0",
+ "get-proto": "^1.0.1",
+ "has-tostringtag": "^1.0.2",
+ "safe-regex-test": "^1.1.0"
+ }
+ },
"is-glob": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
@@ -2160,6 +6830,12 @@
"is-extglob": "^2.1.1"
}
},
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true
+ },
"is-plain-object": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
@@ -2169,6 +6845,42 @@
"isobject": "^3.0.1"
}
},
+ "is-regex": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz",
+ "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==",
+ "dev": true,
+ "requires": {
+ "call-bound": "^1.0.2",
+ "gopd": "^1.2.0",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.2"
+ }
+ },
+ "is-typed-array": {
+ "version": "1.1.15",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz",
+ "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==",
+ "dev": true,
+ "requires": {
+ "which-typed-array": "^1.1.16"
+ }
+ },
+ "is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "dev": true,
+ "requires": {
+ "is-docker": "^2.0.0"
+ }
+ },
+ "isbinaryfile": {
+ "version": "4.0.10",
+ "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz",
+ "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==",
+ "dev": true
+ },
"isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
@@ -2181,6 +6893,97 @@
"integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
"dev": true
},
+ "istanbul-lib-coverage": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
+ "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==",
+ "dev": true
+ },
+ "istanbul-lib-instrument": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz",
+ "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==",
+ "dev": true,
+ "requires": {
+ "@babel/core": "^7.12.3",
+ "@babel/parser": "^7.14.7",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.2.0",
+ "semver": "^6.3.0"
+ }
+ },
+ "istanbul-lib-report": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz",
+ "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==",
+ "dev": true,
+ "requires": {
+ "istanbul-lib-coverage": "^3.0.0",
+ "make-dir": "^4.0.0",
+ "supports-color": "^7.1.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "istanbul-lib-source-maps": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz",
+ "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==",
+ "dev": true,
+ "requires": {
+ "debug": "^4.1.1",
+ "istanbul-lib-coverage": "^3.0.0",
+ "source-map": "^0.6.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.3"
+ }
+ },
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ }
+ }
+ },
+ "istanbul-reports": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz",
+ "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==",
+ "dev": true,
+ "requires": {
+ "html-escaper": "^2.0.0",
+ "istanbul-lib-report": "^3.0.0"
+ }
+ },
+ "jasmine-core": {
+ "version": "4.6.1",
+ "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.1.tgz",
+ "integrity": "sha512-VYz/BjjmC3klLJlLwA4Kw8ytk0zDSmbbDLNs794VnWmkcCB7I9aAL/D48VNQtmITyPvea2C3jdUMfc3kAoy0PQ==",
+ "dev": true
+ },
+ "jasmine-jquery": {
+ "version": "git+https://git@github.com/velesin/jasmine-jquery.git#ebad463d592d3fea00c69f26ea18a930e09c7b58",
+ "integrity": "sha512-P9aZDwDEAVgAbdHG/ViapRzAUJ6zBSq/4I1lJFluIbrld6Sv6LI+HT2J4dgWqtfaCgIyDnHBHSHiJ/anter7wQ==",
+ "dev": true,
+ "from": "jasmine-jquery@git+https://git@github.com/velesin/jasmine-jquery.git#ebad463d592d3fea00c69f26ea18a930e09c7b58"
+ },
"jest-worker": {
"version": "27.5.1",
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
@@ -2192,6 +6995,24 @@
"supports-color": "^8.0.0"
}
},
+ "jquery": {
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz",
+ "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==",
+ "dev": true
+ },
+ "js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "dev": true
+ },
+ "jsesc": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+ "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
+ "dev": true
+ },
"json-parse-even-better-errors": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
@@ -2204,6 +7025,141 @@
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
"dev": true
},
+ "json5": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "dev": true
+ },
+ "jsonfile": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "karma": {
+ "version": "6.4.4",
+ "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.4.tgz",
+ "integrity": "sha512-LrtUxbdvt1gOpo3gxG+VAJlJAEMhbWlM4YrFQgql98FwF7+K8K12LYO4hnDdUkNjeztYrOXEMqgTajSWgmtI/w==",
+ "dev": true,
+ "requires": {
+ "@colors/colors": "1.5.0",
+ "body-parser": "^1.19.0",
+ "braces": "^3.0.2",
+ "chokidar": "^3.5.1",
+ "connect": "^3.7.0",
+ "di": "^0.0.1",
+ "dom-serialize": "^2.2.1",
+ "glob": "^7.1.7",
+ "graceful-fs": "^4.2.6",
+ "http-proxy": "^1.18.1",
+ "isbinaryfile": "^4.0.8",
+ "lodash": "^4.17.21",
+ "log4js": "^6.4.1",
+ "mime": "^2.5.2",
+ "minimatch": "^3.0.4",
+ "mkdirp": "^0.5.5",
+ "qjobs": "^1.2.0",
+ "range-parser": "^1.2.1",
+ "rimraf": "^3.0.2",
+ "socket.io": "^4.7.2",
+ "source-map": "^0.6.1",
+ "tmp": "^0.2.1",
+ "ua-parser-js": "^0.7.30",
+ "yargs": "^16.1.1"
+ }
+ },
+ "karma-chrome-launcher": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz",
+ "integrity": "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==",
+ "dev": true,
+ "requires": {
+ "which": "^1.2.1"
+ },
+ "dependencies": {
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
+ "karma-coverage": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.1.tgz",
+ "integrity": "sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A==",
+ "dev": true,
+ "requires": {
+ "istanbul-lib-coverage": "^3.2.0",
+ "istanbul-lib-instrument": "^5.1.0",
+ "istanbul-lib-report": "^3.0.0",
+ "istanbul-lib-source-maps": "^4.0.1",
+ "istanbul-reports": "^3.0.5",
+ "minimatch": "^3.0.4"
+ }
+ },
+ "karma-firefox-launcher": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-2.1.3.tgz",
+ "integrity": "sha512-LMM2bseebLbYjODBOVt7TCPP9OI2vZIXCavIXhkO9m+10Uj5l7u/SKoeRmYx8FYHTVGZSpk6peX+3BMHC1WwNw==",
+ "dev": true,
+ "requires": {
+ "is-wsl": "^2.2.0",
+ "which": "^3.0.0"
+ },
+ "dependencies": {
+ "which": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz",
+ "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
+ "karma-jasmine": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.1.0.tgz",
+ "integrity": "sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==",
+ "dev": true,
+ "requires": {
+ "jasmine-core": "^4.1.0"
+ }
+ },
+ "karma-regex-preprocessor": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/karma-regex-preprocessor/-/karma-regex-preprocessor-1.0.1.tgz",
+ "integrity": "sha512-A+CTjK8VQZ1qZFnDMsuB7//2qWorOVuE2fnnZ2iDhv0H5Ug5Lv0I2FmolPV9KaTgJK1ipXHnSxVrG282fnoe7g==",
+ "dev": true
+ },
+ "karma-sourcemap-loader": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/karma-sourcemap-loader/-/karma-sourcemap-loader-0.4.0.tgz",
+ "integrity": "sha512-xCRL3/pmhAYF3I6qOrcn0uhbQevitc2DERMPH82FMnG+4WReoGcGFZb1pURf2a5apyrOHRdvD+O6K7NljqKHyA==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.2.10"
+ }
+ },
+ "karma-spec-reporter": {
+ "version": "0.0.36",
+ "resolved": "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.36.tgz",
+ "integrity": "sha512-11bvOl1x6ryKZph7kmbmMpbi8vsngEGxGOoeTlIcDaH3ab3j8aPJnZ+r+K/SS0sBSGy5VGkGYO2+hLct7hw/6w==",
+ "dev": true,
+ "requires": {
+ "colors": "1.4.0"
+ }
+ },
"kind-of": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
@@ -2225,33 +7181,212 @@
"p-locate": "^4.1.0"
}
},
+ "lodash": {
+ "version": "4.17.23",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz",
+ "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==",
+ "dev": true
+ },
+ "lodash._reinterpolate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+ "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==",
+ "dev": true
+ },
+ "lodash.template": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz",
+ "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==",
+ "dev": true,
+ "requires": {
+ "lodash._reinterpolate": "^3.0.0",
+ "lodash.templatesettings": "^4.0.0"
+ }
+ },
+ "lodash.templatesettings": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz",
+ "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==",
+ "dev": true,
+ "requires": {
+ "lodash._reinterpolate": "^3.0.0"
+ }
+ },
+ "log4js": {
+ "version": "6.9.1",
+ "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz",
+ "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==",
+ "dev": true,
+ "requires": {
+ "date-format": "^4.0.14",
+ "debug": "^4.3.4",
+ "flatted": "^3.2.7",
+ "rfdc": "^1.3.0",
+ "streamroller": "^3.1.5"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.3"
+ }
+ },
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ }
+ }
+ },
+ "lolex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.3.2.tgz",
+ "integrity": "sha512-YYp8cqz7/8eruZ15L1mzcPkvLYxipfdsWIDESvNdNmQP9o7TsDitRhNuV2xb7aFu2ofZngao1jiVrVZ842x4BQ==",
+ "dev": true
+ },
+ "lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "dev": true,
+ "requires": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "make-dir": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
+ "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==",
+ "dev": true,
+ "requires": {
+ "semver": "^7.5.3"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "7.7.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
+ "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
+ "dev": true
+ }
+ }
+ },
+ "math-intrinsics": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
+ "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
+ "dev": true
+ },
+ "media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
+ "dev": true
+ },
"merge-stream": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
"integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
"dev": true
},
- "mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "mime": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
+ "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
+ "dev": true
+ },
+ "mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "dev": true
+ },
+ "mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "dev": true,
+ "requires": {
+ "mime-db": "1.52.0"
+ }
+ },
+ "mini-css-extract-plugin": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.10.0.tgz",
+ "integrity": "sha512-540P2c5dYnJlyJxTaSloliZexv8rji6rY8FhQN+WF/82iHQfA23j/xtJx97L+mXOML27EqksSek/g4eK7jaL3g==",
+ "dev": true,
+ "requires": {
+ "schema-utils": "^4.0.0",
+ "tapable": "^2.2.1"
+ }
+ },
+ "minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+ "dev": true
+ },
+ "mkdirp": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
+ "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.6"
+ }
+ },
+ "moment": {
+ "version": "2.30.1",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz",
+ "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==",
"dev": true
},
- "mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "moment-timezone": {
+ "version": "0.5.46",
+ "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.46.tgz",
+ "integrity": "sha512-ZXm9b36esbe7OmdABqIWJuBBiLLwAjrN7CE+7sYdCCx82Nabt1wHDj8TVseS59QIlfFPbOoiBPm6ca9BioG4hw==",
"dev": true,
"requires": {
- "mime-db": "1.52.0"
+ "moment": "^2.29.4"
}
},
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true
+ },
+ "negotiator": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
+ "dev": true
+ },
"neo-async": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
"dev": true
},
+ "node-addon-api": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz",
+ "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==",
+ "dev": true,
+ "optional": true
+ },
"node-releases": {
"version": "2.0.27",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz",
@@ -2264,6 +7399,36 @@
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"dev": true
},
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "dev": true
+ },
+ "object-inspect": {
+ "version": "1.13.4",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
+ "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
+ "dev": true
+ },
+ "on-finished": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+ "dev": true,
+ "requires": {
+ "ee-first": "1.1.1"
+ }
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "dev": true,
+ "requires": {
+ "wrappy": "1"
+ }
+ },
"p-limit": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
@@ -2288,12 +7453,30 @@
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"dev": true
},
+ "parse-node-version": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz",
+ "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==",
+ "dev": true
+ },
+ "parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+ "dev": true
+ },
"path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
"dev": true
},
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+ "dev": true
+ },
"path-key": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
@@ -2327,6 +7510,45 @@
"find-up": "^4.0.0"
}
},
+ "plugin-error": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz",
+ "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==",
+ "dev": true,
+ "requires": {
+ "ansi-colors": "^1.0.1",
+ "arr-diff": "^4.0.0",
+ "arr-union": "^3.1.0",
+ "extend-shallow": "^3.0.2"
+ }
+ },
+ "possible-typed-array-names": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz",
+ "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==",
+ "dev": true
+ },
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==",
+ "dev": true
+ },
+ "qjobs": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz",
+ "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==",
+ "dev": true
+ },
+ "qs": {
+ "version": "6.14.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz",
+ "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==",
+ "dev": true,
+ "requires": {
+ "side-channel": "^1.1.0"
+ }
+ },
"randombytes": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
@@ -2336,6 +7558,52 @@
"safe-buffer": "^5.1.0"
}
},
+ "range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+ "dev": true
+ },
+ "raw-body": {
+ "version": "2.5.3",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz",
+ "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==",
+ "dev": true,
+ "requires": {
+ "bytes": "~3.1.2",
+ "http-errors": "~2.0.1",
+ "iconv-lite": "~0.4.24",
+ "unpipe": "~1.0.0"
+ }
+ },
+ "readable-stream": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ },
+ "readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dev": true,
+ "requires": {
+ "picomatch": "^2.2.1"
+ },
+ "dependencies": {
+ "picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true
+ }
+ }
+ },
"rechoir": {
"version": "0.8.0",
"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz",
@@ -2345,12 +7613,36 @@
"resolve": "^1.20.0"
}
},
+ "require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+ "dev": true
+ },
"require-from-string": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
"integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
"dev": true
},
+ "requirejs": {
+ "version": "2.1.22",
+ "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.1.22.tgz",
+ "integrity": "sha512-AhZqN7UrWV8R2d1LfGfznskMJNF0Vb6yStwrCn52UbktJg6y5V1I7RoGRyJtACe86d50PyQn0Iw0jYDKMvc4iA==",
+ "dev": true
+ },
+ "requirejs-text": {
+ "version": "2.0.16",
+ "resolved": "https://registry.npmjs.org/requirejs-text/-/requirejs-text-2.0.16.tgz",
+ "integrity": "sha512-XrzjeTb1pwzIWmkz8qnUiM20gENgiwB+66IciNuziwlaPAJsYQsQPSYyQ1kD4tGKGZxTisIfDbOHk02DpI/76Q==",
+ "dev": true
+ },
+ "requires-port": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
+ "dev": true
+ },
"resolve": {
"version": "1.22.11",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
@@ -2377,12 +7669,79 @@
"integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"dev": true
},
+ "rfdc": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz",
+ "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==",
+ "dev": true
+ },
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
"safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"dev": true
},
+ "safe-regex-test": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz",
+ "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==",
+ "dev": true,
+ "requires": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "is-regex": "^1.2.1"
+ }
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true
+ },
+ "samsam": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.1.2.tgz",
+ "integrity": "sha512-iVL7LibpM3tl4rQPweOXXrmjGegxx27flTOjQEZD3PXe4oZNFzuz6Si4mgleK/JWU/hyCvtV01RUovjvBEpDmw==",
+ "dev": true
+ },
+ "sass": {
+ "version": "1.97.3",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.97.3.tgz",
+ "integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==",
+ "dev": true,
+ "requires": {
+ "@parcel/watcher": "^2.4.1",
+ "chokidar": "^4.0.0",
+ "immutable": "^5.0.2",
+ "source-map-js": ">=0.6.2 <2.0.0"
+ },
+ "dependencies": {
+ "chokidar": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
+ "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
+ "dev": true,
+ "requires": {
+ "readdirp": "^4.0.1"
+ }
+ },
+ "readdirp": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
+ "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
+ "dev": true
+ }
+ }
+ },
"schema-utils": {
"version": "4.3.3",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz",
@@ -2395,6 +7754,12 @@
"ajv-keywords": "^5.1.0"
}
},
+ "semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true
+ },
"serialize-javascript": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
@@ -2404,6 +7769,26 @@
"randombytes": "^2.1.0"
}
},
+ "set-function-length": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
+ "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
+ "dev": true,
+ "requires": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.2"
+ }
+ },
+ "setprototypeof": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
+ "dev": true
+ },
"shallow-clone": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
@@ -2428,6 +7813,152 @@
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
"dev": true
},
+ "side-channel": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
+ "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
+ "dev": true,
+ "requires": {
+ "es-errors": "^1.3.0",
+ "object-inspect": "^1.13.3",
+ "side-channel-list": "^1.0.0",
+ "side-channel-map": "^1.0.1",
+ "side-channel-weakmap": "^1.0.2"
+ }
+ },
+ "side-channel-list": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
+ "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
+ "dev": true,
+ "requires": {
+ "es-errors": "^1.3.0",
+ "object-inspect": "^1.13.3"
+ }
+ },
+ "side-channel-map": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
+ "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
+ "dev": true,
+ "requires": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3"
+ }
+ },
+ "side-channel-weakmap": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
+ "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
+ "dev": true,
+ "requires": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3",
+ "side-channel-map": "^1.0.1"
+ }
+ },
+ "sinon": {
+ "version": "1.17.7",
+ "resolved": "https://registry.npmjs.org/sinon/-/sinon-1.17.7.tgz",
+ "integrity": "sha512-M9rtyQxKfcTTdB64rpPSRaTzOvunb+HHPv/3PxvNPrEDnFSny95Pi6/3VoD471ody0ay0IHyzT3BErfcLXj6NA==",
+ "dev": true,
+ "requires": {
+ "formatio": "1.1.1",
+ "lolex": "1.3.2",
+ "samsam": "1.1.2",
+ "util": ">=0.10.3 <1"
+ }
+ },
+ "socket.io": {
+ "version": "4.8.3",
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.3.tgz",
+ "integrity": "sha512-2Dd78bqzzjE6KPkD5fHZmDAKRNe3J15q+YHDrIsy9WEkqttc7GY+kT9OBLSMaPbQaEd0x1BjcmtMtXkfpc+T5A==",
+ "dev": true,
+ "requires": {
+ "accepts": "~1.3.4",
+ "base64id": "~2.0.0",
+ "cors": "~2.8.5",
+ "debug": "~4.4.1",
+ "engine.io": "~6.6.0",
+ "socket.io-adapter": "~2.5.2",
+ "socket.io-parser": "~4.2.4"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.3"
+ }
+ },
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ }
+ }
+ },
+ "socket.io-adapter": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.6.tgz",
+ "integrity": "sha512-DkkO/dz7MGln0dHn5bmN3pPy+JmywNICWrJqVWiVOyvXjWQFIv9c2h24JrQLLFJ2aQVQf/Cvl1vblnd4r2apLQ==",
+ "dev": true,
+ "requires": {
+ "debug": "~4.4.1",
+ "ws": "~8.18.3"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.3"
+ }
+ },
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ }
+ }
+ },
+ "socket.io-parser": {
+ "version": "4.2.5",
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.5.tgz",
+ "integrity": "sha512-bPMmpy/5WWKHea5Y/jYAP6k74A+hvmRCQaJuJB6I/ML5JZq/KfNieUVo/3Mh7SAqn7TyFdIo6wqYHInG1MU1bQ==",
+ "dev": true,
+ "requires": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.4.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.3"
+ }
+ },
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ }
+ }
+ },
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -2450,6 +7981,69 @@
"source-map": "^0.6.0"
}
},
+ "statuses": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+ "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==",
+ "dev": true
+ },
+ "streamroller": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz",
+ "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==",
+ "dev": true,
+ "requires": {
+ "date-format": "^4.0.14",
+ "debug": "^4.3.4",
+ "fs-extra": "^8.1.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.3"
+ }
+ },
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ }
+ }
+ },
+ "string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.2.0"
+ }
+ },
+ "string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ },
"strip-comments": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz",
@@ -2502,6 +8096,22 @@
"terser": "^5.31.1"
}
},
+ "through2": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz",
+ "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.4",
+ "readable-stream": "2 || 3"
+ }
+ },
+ "time-stamp": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
+ "integrity": "sha512-gLCeArryy2yNTRzTGKbZbloctj64jkZ57hj5zdraXue6aFgd6PmvVtEyiUU+hvU0v7q08oVv8r8ev0tRo6bvgw==",
+ "dev": true
+ },
"tinyglobby": {
"version": "0.2.15",
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
@@ -2512,12 +8122,82 @@
"picomatch": "^4.0.3"
}
},
+ "tmp": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz",
+ "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==",
+ "dev": true
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "toidentifier": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
+ "dev": true
+ },
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ },
+ "type-is": {
+ "version": "1.6.18",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+ "dev": true,
+ "requires": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
+ }
+ },
+ "ua-parser-js": {
+ "version": "0.7.41",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.41.tgz",
+ "integrity": "sha512-O3oYyCMPYgNNHuO7Jjk3uacJWZF8loBgwrfd/5LE/HyZ3lUIOdniQ7DNXJcIgZbwioZxk0fLfI4EVnetdiX5jg==",
+ "dev": true
+ },
+ "underscore": {
+ "version": "1.13.7",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz",
+ "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==",
+ "dev": true
+ },
"undici-types": {
"version": "7.16.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz",
"integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==",
"dev": true
},
+ "unidragger": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/unidragger/-/unidragger-3.0.1.tgz",
+ "integrity": "sha512-RngbGSwBFmqGBWjkaH+yB677uzR95blSQyxq6hYbrQCejH3Mx1nm8DVOuh3M9k2fQyTstWUG5qlgCnNqV/9jVw==",
+ "dev": true,
+ "requires": {
+ "ev-emitter": "^2.0.0"
+ }
+ },
+ "universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "dev": true
+ },
+ "unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
+ "dev": true
+ },
"update-browserslist-db": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz",
@@ -2528,6 +8208,49 @@
"picocolors": "^1.1.1"
}
},
+ "urijs": {
+ "version": "1.19.11",
+ "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz",
+ "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==",
+ "dev": true
+ },
+ "util": {
+ "version": "0.12.5",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
+ "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "is-arguments": "^1.0.4",
+ "is-generator-function": "^1.0.7",
+ "is-typed-array": "^1.1.3",
+ "which-typed-array": "^1.1.2"
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+ "dev": true
+ },
+ "utils-merge": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
+ "dev": true
+ },
+ "vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
+ "dev": true
+ },
+ "void-elements": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
+ "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==",
+ "dev": true
+ },
"watchpack": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz",
@@ -2626,11 +8349,83 @@
"isexe": "^2.0.0"
}
},
+ "which-typed-array": {
+ "version": "1.1.20",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz",
+ "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==",
+ "dev": true,
+ "requires": {
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.4",
+ "for-each": "^0.3.5",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "has-tostringtag": "^1.0.2"
+ }
+ },
"wildcard": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz",
"integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==",
"dev": true
+ },
+ "wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+ "dev": true
+ },
+ "ws": {
+ "version": "8.18.3",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
+ "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
+ "dev": true,
+ "requires": {}
+ },
+ "y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "dev": true
+ },
+ "yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+ "dev": true
+ },
+ "yargs": {
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+ "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+ "dev": true,
+ "requires": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.0",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^20.2.2"
+ }
+ },
+ "yargs-parser": {
+ "version": "20.2.9",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
+ "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
+ "dev": true
}
}
}
diff --git a/xblocks_contrib/discussion/package.json b/xblocks_contrib/discussion/package.json
index 71273a94..0049a82f 100644
--- a/xblocks_contrib/discussion/package.json
+++ b/xblocks_contrib/discussion/package.json
@@ -2,12 +2,29 @@
"private": true,
"scripts": {
"build": "webpack --config webpack.prod.config.js",
- "build-dev": "webpack --config webpack.dev.config.js"
+ "build-dev": "webpack --config webpack.dev.config.js",
+ "test": "karma start karma.conf.js",
+ "test:ci": "xvfb-run --auto-servernum karma start karma.conf.js"
},
"devDependencies": {
"append-prepend-loader": "^1.0.0",
+ "backbone": "^1.4.0",
"copy-webpack-plugin": "13.0.1",
+ "draggabilly": "^3.0.0",
+ "edx-ui-toolkit": "^1",
"imports-loader": "^5.0.0",
+ "jasmine-core": "^4.6.0",
+ "jasmine-jquery": "git+https://git@github.com/velesin/jasmine-jquery.git#ebad463d592d3fea00c69f26ea18a930e09c7b58",
+ "jquery": "^3.6.0",
+ "karma": "^6.4.0",
+ "karma-chrome-launcher": "^3.2.0",
+ "karma-coverage": "^2.2.0",
+ "karma-firefox-launcher": "^2.1.0",
+ "karma-jasmine": "^5.1.0",
+ "karma-regex-preprocessor": "^1.0.1",
+ "karma-sourcemap-loader": "^0.4.0",
+ "karma-spec-reporter": "^0.0.36",
+ "underscore": "^1.13.0",
"webpack": "^5.90.0",
"webpack-cli": "^5.1.4"
}
diff --git a/xblocks_contrib/discussion/static/js/vendor/URI.min.js b/xblocks_contrib/discussion/static/js/vendor/URI.min.js
new file mode 100644
index 00000000..1def2f91
--- /dev/null
+++ b/xblocks_contrib/discussion/static/js/vendor/URI.min.js
@@ -0,0 +1,47 @@
+/*! http://mths.be/punycode v1.2.3 by @mathias */
+
+/*!
+ * URI.js - Mutating URLs
+ * IPv6 Support
+ *
+ * Version: 1.11.2
+ *
+ * Author: Rodney Rehm
+ * Web: http://medialize.github.com/URI.js/
+ *
+ * Licensed under
+ * MIT License http://www.opensource.org/licenses/mit-license
+ * GPL v3 http://opensource.org/licenses/GPL-3.0
+ *
+ */
+
+/*!
+ * URI.js - Mutating URLs
+ * Second Level Domain (SLD) Support
+ *
+ * Version: 1.11.2
+ *
+ * Author: Rodney Rehm
+ * Web: http://medialize.github.com/URI.js/
+ *
+ * Licensed under
+ * MIT License http://www.opensource.org/licenses/mit-license
+ * GPL v3 http://opensource.org/licenses/GPL-3.0
+ *
+ */
+
+/*!
+ * URI.js - Mutating URLs
+ *
+ * Version: 1.11.2
+ *
+ * Author: Rodney Rehm
+ * Web: http://medialize.github.com/URI.js/
+ *
+ * Licensed under
+ * MIT License http://www.opensource.org/licenses/mit-license
+ * GPL v3 http://opensource.org/licenses/GPL-3.0
+ *
+ */
+
+(function(e){function S(e){throw RangeError(g[e])}function x(e,t){var n=e.length;while(n--)e[n]=t(e[n]);return e}function T(e,t){return x(e.split(m),t).join(".")}function N(e){var t=[],n=0,r=e.length,i,s;while(n=55296&&i<=56319&&n65535&&(e-=65536,t+=w(e>>>10&1023|55296),e=56320|e&1023),t+=w(e),t}).join("")}function k(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:o}function L(e,t){return e+22+75*(e<26)-((t!=0)<<5)}function A(e,t,n){var r=0;e=n?b(e/l):e>>1,e+=b(e/t);for(;e>y*a>>1;r+=o)e=b(e/y);return b(r+(y+1)*e/(e+f))}function O(e){var t=[],n=e.length,r,i=0,f=h,l=c,d,v,m,g,y,w,E,x,T,N;d=e.lastIndexOf(p),d<0&&(d=0);for(v=0;v=128&&S("not-basic"),t.push(e.charCodeAt(v));for(m=d>0?d+1:0;m=n&&S("invalid-input"),E=k(e.charCodeAt(m++)),(E>=o||E>b((s-i)/y))&&S("overflow"),i+=E*y,x=w<=l?u:w>=l+a?a:w-l;if(Eb(s/N)&&S("overflow"),y*=N}r=t.length+1,l=A(i-g,r,g==0),b(i/r)>s-f&&S("overflow"),f+=b(i/r),i%=r,t.splice(i++,0,f)}return C(t)}function M(e){var t,n,r,i,f,l,d,v,m,g,y,E=[],x,T,C,k;e=N(e),x=e.length,t=h,n=0,f=c;for(l=0;l=t&&yb((s-n)/T)&&S("overflow"),n+=(d-t)*T,t=d;for(l=0;ls&&S("overflow");if(y==t){for(v=n,m=o;;m+=o){g=m<=f?u:m>=f+a?a:m-f;if(v= 0x80 (not a basic code point)","invalid-input":"Invalid input"},y=o-u,b=Math.floor,w=String.fromCharCode,E;i={version:"1.2.3",ucs2:{decode:N,encode:C},decode:O,encode:M,toASCII:D,toUnicode:_};if(typeof define=="function"&&typeof define.amd=="object"&&define.amd)define("punycode",[],function(){return i});else if(t&&!t.nodeType)if(n)n.exports=i;else for(E in i)i.hasOwnProperty(E)&&(t[E]=i[E]);else e.punycode=i})(this),function(e,t){typeof exports=="object"?module.exports=t():typeof define=="function"&&define.amd?define("IPv6",t):e.IPv6=t(e)}(this,function(e){function n(e){var t=e.toLowerCase(),n=t.split(":"),r=n.length,i=8;n[0]===""&&n[1]===""&&n[2]===""?(n.shift(),n.shift()):n[0]===""&&n[1]===""?n.shift():n[r-1]===""&&n[r-2]===""&&n.pop(),r=n.length,n[r-1].indexOf(".")!==-1&&(i=7);var s;for(s=0;s1))break;o.splice(0,1)}n[u]=o.join("")}var f=-1,l=0,c=0,h=-1,p=!1;for(u=0;ul&&(f=h,l=c)):n[u]=="0"&&(p=!0,h=u,c=1);c>l&&(f=h,l=c),l>1&&n.splice(f,l,""),r=n.length;var d="";n[0]===""&&(beststr=":");for(u=0;u]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/ig,s.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},s.invalid_hostname_characters=/[^a-zA-Z0-9\.-]/,s.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"},s.getDomAttribute=function(e){if(!e||!e.nodeName)return undefined;var t=e.nodeName.toLowerCase();return t==="input"&&e.type!=="image"?undefined:s.domAttributes[t]},s.encode=v,s.decode=decodeURIComponent,s.iso8859=function(){s.encode=escape,s.decode=unescape},s.unicode=function(){s.encode=v,s.decode=decodeURIComponent},s.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":"="}}}},s.encodeQuery=function(e,t){var n=s.encode(e+"");return t?n.replace(/%20/g,"+"):n},s.decodeQuery=function(e,t){e+="";try{return s.decode(t?e.replace(/\+/g,"%20"):e)}catch(n){return e}},s.recodePath=function(e){var t=(e+"").split("/");for(var n=0,r=t.length;n-1&&(t.fragment=e.substring(n+1)||null,e=e.substring(0,n)),n=e.indexOf("?"),n>-1&&(t.query=e.substring(n+1)||null,e=e.substring(0,n)),e.substring(0,2)==="//"?(t.protocol=null,e=e.substring(2),e=s.parseAuthority(e,t)):(n=e.indexOf(":"),n>-1&&(t.protocol=e.substring(0,n)||null,t.protocol&&!t.protocol.match(s.protocol_expression)?t.protocol=undefined:t.protocol==="file"?e=e.substring(n+3):e.substring(n+1,n+3)==="//"?(e=e.substring(n+3),e=s.parseAuthority(e,t)):(e=e.substring(n+1),t.urn=!0))),t.path=e,t},s.parseHost=function(e,t){var n=e.indexOf("/"),r,i;return n===-1&&(n=e.length),e.charAt(0)==="["?(r=e.indexOf("]"),t.hostname=e.substring(1,r)||null,t.port=e.substring(r+2,n)||null):e.indexOf(":")!==e.lastIndexOf(":")?(t.hostname=e.substring(0,n)||null,t.port=null):(i=e.substring(0,n).split(":"),t.hostname=i[0]||null,t.port=i[1]||null),t.hostname&&e.substring(n).charAt(0)!=="/"&&(n++,e="/"+e),e.substring(n)||"/"},s.parseAuthority=function(e,t){return e=s.parseUserinfo(e,t),s.parseHost(e,t)},s.parseUserinfo=function(e,t){var n=e.indexOf("/"),r=n>-1?e.lastIndexOf("@",n):e.indexOf("@"),i;return r>-1&&(n===-1||r ");
+ $("body").append(overlay);
+ }
+
+ options = $.extend(defaults, options);
+ return this.each(function() {
+ var o = options;
+ $(this).click(function(e) {
+ var modal_id = $(this).attr("href");
+ $("#lean_overlay").click(function() {
+ close_modal(modal_id)
+ });
+ $(o.closeButton).click(function() {
+ close_modal(modal_id)
+ });
+ var modal_height = $(modal_id).outerHeight();
+ var modal_width = $(modal_id).outerWidth();
+ $("#lean_overlay").css({
+ "display": "block",
+ opacity: 0
+ });
+ $("#lean_overlay").fadeTo(200, o.overlay);
+ $(modal_id).css({
+ "display": "block",
+ "position": "fixed",
+ "opacity": 0,
+ "z-index": 11000,
+ "left": 50 + "%",
+ "margin-left": -(modal_width / 2) + "px",
+ "top": o.top + "px"
+ });
+ $(modal_id).fadeTo(200, 1);
+ e.preventDefault()
+ })
+ });
+
+ function close_modal(modal_id) {
+ $("#lean_overlay").fadeOut(200);
+ $(modal_id).css({
+ "display": "none"
+ })
+ }
+ }
+ })
+})(jQuery);
diff --git a/xblocks_contrib/discussion/static/spec/content_spec.js b/xblocks_contrib/discussion/static/spec/content_spec.js
new file mode 100644
index 00000000..fe1109d0
--- /dev/null
+++ b/xblocks_contrib/discussion/static/spec/content_spec.js
@@ -0,0 +1,158 @@
+/* globals Comments, Content, DiscussionSpecHelper, DiscussionUser, DiscussionUtil, Thread */
+(function() {
+ 'use strict';
+
+ describe('All Content', function() {
+ beforeEach(function() {
+ return DiscussionSpecHelper.setUpGlobals();
+ });
+ describe('Staff and TA Content', function() {
+ beforeEach(function() {
+ return DiscussionUtil.loadRoles({
+ Moderator: [567],
+ Administrator: [567],
+ 'Community TA': [567]
+ });
+ });
+ it('anonymous thread should not include login role label', function() {
+ var anon_content;
+ anon_content = new Content();
+ anon_content.initialize();
+ expect(anon_content.get('staff_authored')).toBe(false);
+ return expect(anon_content.get('community_ta_authored')).toBe(false);
+ });
+ return it('general thread should include login role label', function() {
+ var anon_content;
+ anon_content = new Content({
+ user_id: '567'
+ });
+ anon_content.initialize();
+ expect(anon_content.get('staff_authored')).toBe(true);
+ return expect(anon_content.get('community_ta_authored')).toBe(true);
+ });
+ });
+ describe('Content', function() {
+ beforeEach(function() {
+ this.content = new Content({
+ id: '01234567',
+ user_id: '567',
+ course_id: 'edX/999/test',
+ body: 'this is some content',
+ abuse_flaggers: ['123']
+ });
+ });
+ it('should exist', function() {
+ return expect(Content).toBeDefined();
+ });
+ it('is initialized correctly', function() {
+ this.content.initialize();
+ expect(Content.contents['01234567']).toEqual(this.content);
+ expect(this.content.get('id')).toEqual('01234567');
+ expect(this.content.get('user_url')).toEqual('/courses/edX/999/test/discussion/forum/users/567');
+ expect(this.content.get('children')).toEqual([]);
+ return expect(this.content.get('comments')).toEqual(jasmine.any(Comments));
+ });
+ it('can update info', function() {
+ this.content.updateInfo({
+ ability: {
+ can_edit: true
+ },
+ voted: true,
+ subscribed: true
+ });
+ expect(this.content.get('ability')).toEqual({
+ can_edit: true
+ });
+ expect(this.content.get('voted')).toEqual(true);
+ return expect(this.content.get('subscribed')).toEqual(true);
+ });
+ it('can be flagged for abuse', function() {
+ this.content.flagAbuse();
+ return expect(this.content.get('abuse_flaggers')).toEqual(['123', '567']);
+ });
+ return it('can be unflagged for abuse', function() {
+ var temp_array;
+ temp_array = [];
+ temp_array.push(window.user.get('id'));
+ this.content.set('abuse_flaggers', temp_array);
+ this.content.unflagAbuse();
+ return expect(this.content.get('abuse_flaggers')).toEqual([]);
+ });
+ });
+ return describe('Comments', function() {
+ beforeEach(function() {
+ this.comment1 = new Comment({
+ id: '123'
+ });
+ this.comment2 = new Comment({
+ id: '345'
+ });
+ });
+ it('can contain multiple comments', function() {
+ var myComments;
+ myComments = new Comments();
+ expect(myComments.length).toEqual(0);
+ myComments.add(this.comment1);
+ expect(myComments.length).toEqual(1);
+ myComments.add(this.comment2);
+ return expect(myComments.length).toEqual(2);
+ });
+ it('returns results to the find method', function() {
+ var myComments;
+ myComments = new Comments();
+ myComments.add(this.comment1);
+ return expect(myComments.find('123')).toBe(this.comment1);
+ });
+ return it('can be endorsed', function() {
+ DiscussionUtil.loadRoles({
+ Moderator: [111],
+ Administrator: [222],
+ 'Community TA': [333]
+ });
+ this.discussionThread = new Thread({
+ id: 1,
+ thread_type: 'discussion',
+ user_id: 99
+ });
+ this.discussionResponse = new Comment({
+ id: 1,
+ thread: this.discussionThread
+ });
+ this.questionThread = new Thread({
+ id: 1,
+ thread_type: 'question',
+ user_id: 99
+ });
+ this.questionResponse = new Comment({
+ id: 1,
+ thread: this.questionThread
+ });
+ window.user = new DiscussionUser({
+ id: 111
+ });
+ expect(this.discussionResponse.canBeEndorsed()).toBe(true);
+ expect(this.questionResponse.canBeEndorsed()).toBe(true);
+ window.user = new DiscussionUser({
+ id: 222
+ });
+ expect(this.discussionResponse.canBeEndorsed()).toBe(true);
+ expect(this.questionResponse.canBeEndorsed()).toBe(true);
+ window.user = new DiscussionUser({
+ id: 333
+ });
+ expect(this.discussionResponse.canBeEndorsed()).toBe(true);
+ expect(this.questionResponse.canBeEndorsed()).toBe(true);
+ window.user = new DiscussionUser({
+ id: 99
+ });
+ expect(this.discussionResponse.canBeEndorsed()).toBe(false);
+ expect(this.questionResponse.canBeEndorsed()).toBe(true);
+ window.user = new DiscussionUser({
+ id: 999
+ });
+ expect(this.discussionResponse.canBeEndorsed()).toBe(false);
+ return expect(this.questionResponse.canBeEndorsed()).toBe(false);
+ });
+ });
+ });
+}).call(this);
diff --git a/xblocks_contrib/discussion/static/spec/fixtures/templates.underscore b/xblocks_contrib/discussion/static/spec/fixtures/templates.underscore
new file mode 100644
index 00000000..22204f4b
--- /dev/null
+++ b/xblocks_contrib/discussion/static/spec/fixtures/templates.underscore
@@ -0,0 +1,889 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xblocks_contrib/discussion/static/spec/spec_helpers/discussion_spec_helper.js b/xblocks_contrib/discussion/static/spec/spec_helpers/discussion_spec_helper.js
new file mode 100644
index 00000000..b90c4cdc
--- /dev/null
+++ b/xblocks_contrib/discussion/static/spec/spec_helpers/discussion_spec_helper.js
@@ -0,0 +1,216 @@
+/* global _, Content, Discussion, DiscussionCourseSettings, DiscussionUtil, DiscussionUser */
+(function() {
+ 'use strict';
+
+ this.DiscussionSpecHelper = (function() {
+ function DiscussionSpecHelper() {
+ }
+
+ DiscussionSpecHelper.setUpGlobals = function(opts) {
+ var options = opts || {};
+ DiscussionUtil.loadRoles(options.roles || DiscussionSpecHelper.getTestRoleInfo());
+ window.$$course_id = options.courseName || 'edX/999/test';
+ window.user = new DiscussionUser(options.userInfo || DiscussionSpecHelper.getTestUserInfo());
+ DiscussionUtil.setUser(window.user);
+ };
+
+ DiscussionSpecHelper.getTestUserInfo = function() {
+ return {
+ username: 'test_user',
+ id: '567',
+ upvoted_ids: []
+ };
+ };
+
+ DiscussionSpecHelper.getTestRoleInfo = function() {
+ return {
+ Moderator: [],
+ Administrator: [],
+ 'Community TA': []
+ };
+ };
+
+ DiscussionSpecHelper.makeTA = function() {
+ return DiscussionUtil.roleIds['Community TA'].push(parseInt(DiscussionUtil.getUser().id, 10));
+ };
+
+ DiscussionSpecHelper.makeModerator = function() {
+ return DiscussionUtil.roleIds.Moderator.push(parseInt(DiscussionUtil.getUser().id, 10));
+ };
+
+ DiscussionSpecHelper.makeAjaxSpy = function(fakeAjax) {
+ return spyOn($, 'ajax').and.callFake(function(params) {
+ fakeAjax(params);
+ return {
+ always: function() {
+ }
+ };
+ });
+ };
+
+ DiscussionSpecHelper.makeEventSpy = function() {
+ return jasmine.createSpyObj('event', ['preventDefault', 'target']);
+ };
+
+ DiscussionSpecHelper.createTestCourseSettings = function(options) {
+ var context = _.extend(
+ {
+ category_map: {
+ children: [['Test Topic', 'entry'], ['Other Topic', 'entry']],
+ entries: {
+ 'Test Topic': {
+ is_divided: true,
+ id: 'test_topic'
+ },
+ 'Other Topic': {
+ is_divided: true,
+ id: 'other_topic'
+ }
+ }
+ },
+ is_discussion_division_enabled: true,
+ allow_anonymous: false,
+ allow_anonymous_to_peers: false
+ },
+ options || {}
+ );
+ return new DiscussionCourseSettings(context);
+ };
+
+ DiscussionSpecHelper.createTestDiscussion = function(options) {
+ var sortPreference = options.sort_preference,
+ threads = options.threads || [],
+ threadPages = options.thread_pages || 1,
+ contentInfo = options.content_info;
+ DiscussionSpecHelper.setUpGlobals(options);
+ if (contentInfo) {
+ Content.loadContentInfos(contentInfo);
+ }
+ return new Discussion(threads, {pages: threadPages, sort: sortPreference});
+ };
+
+ DiscussionSpecHelper.setUnderscoreFixtures = function() {
+ var templateFixtures = readFixtures('templates.underscore');
+ appendSetFixtures(templateFixtures);
+ appendSetFixtures(
+ ''
+ );
+
+ appendSetFixtures(
+ '';
+ testText = '';
+ expectedText = '';
+ if (truncatedText) {
+ testText = new Array(100).join('test ');
+ expectedText = testText.substring(0, 139) + '…';
+ } else {
+ testText = 'Test body';
+ expectedText = 'Test body';
+ // I really have no idea what it is supposed to mean - probably just iteration, but better be safe
+ for (
+ // eslint-disable-next-line no-multi-assign
+ i = _i = 0, _ref = numberOfImages - 1;
+ _ref >= 0 ? _i <= _ref : _i >= _ref;
+ i = _ref >= 0 ? ++_i : --_i
+ ) {
+ threadData.body += imageTag;
+ if (i === 0) {
+ expectedHtml += imageTag;
+ } else {
+ expectedHtml += 'image omitted';
+ }
+ }
+ }
+ threadData.body = threadData.body + '' + testText + '
';
+ if (numberOfImages > 1) {
+ expectedHtml = expectedHtml + '