diff --git a/ietf/doc/templatetags/ballot_icon.py b/ietf/doc/templatetags/ballot_icon.py index 5b290b76d..bff8386b4 100644 --- a/ietf/doc/templatetags/ballot_icon.py +++ b/ietf/doc/templatetags/ballot_icon.py @@ -133,7 +133,7 @@ def ballot_icon(context, doc): # add sufficient table calls to last row to avoid HTML validation warning while (i + 1) % 5 != 0: - res.append('') + res.append('') i = i + 1 res.append("") diff --git a/ietf/doc/templatetags/ietf_filters.py b/ietf/doc/templatetags/ietf_filters.py index 6f060f157..037cbefb4 100644 --- a/ietf/doc/templatetags/ietf_filters.py +++ b/ietf/doc/templatetags/ietf_filters.py @@ -419,14 +419,11 @@ def format_history_text(text, trunc_words=25): def format_snippet(text, trunc_words=25): # urlize if there aren't already links present if not 'href=' in text: - # django's urlize() cannot handle adjacent parentheszised - # expressions, for instance [REF](http://example.com/foo) - # Use bleach.linkify instead - text = bleach.linkify(text) + text = bleach.linkify(text, parse_email=True) full = keep_spacing(collapsebr(linebreaksbr(mark_safe(sanitize_fragment(text))))) snippet = truncatewords_html(full, trunc_words) if snippet != full: - return mark_safe('
%s
' % (snippet, full)) + return mark_safe('
%s
%s
' % (snippet, full)) return full @register.simple_tag @@ -493,18 +490,32 @@ def consensus(doc): return "Unknown" @register.filter -def pos_to_label(text): - """Return a valid Bootstrap label type for a ballot position.""" +def pos_to_label_format(text): + """Returns valid Bootstrap classes to label a ballot position.""" return { - 'Yes': 'success', - 'No Objection': 'info', - 'Abstain': 'warning', - 'Discuss': 'danger', - 'Block': 'danger', - 'Recuse': 'primary', - 'Not Ready': 'danger', - 'Need More Time': 'danger', - }.get(str(text), 'secondary') + 'Yes': 'bg-yes text-light', + 'No Objection': 'bg-noobj text-dark', + 'Abstain': 'bg-abstain text-light', + 'Discuss': 'bg-discuss text-light', + 'Block': 'bg-discuss text-light', + 'Recuse': 'bg-recuse text-light', + 'Not Ready': 'bg-discuss text-light', + 'Need More Time': 'bg-discuss text-light', + }.get(str(text), 'bg-norecord text-dark') + +@register.filter +def pos_to_border_format(text): + """Returns valid Bootstrap classes to label a ballot position border.""" + return { + 'Yes': 'border-yes', + 'No Objection': 'border-noobj', + 'Abstain': 'border-abstain', + 'Discuss': 'border-discuss', + 'Block': 'border-discuss', + 'Recuse': 'border-recuse', + 'Not Ready': 'border-discuss', + 'Need More Time': 'border-discuss', + }.get(str(text), 'border-norecord') @register.filter def capfirst_allcaps(text): diff --git a/ietf/doc/tests.py b/ietf/doc/tests.py index 4f7848c91..d6b84421a 100644 --- a/ietf/doc/tests.py +++ b/ietf/doc/tests.py @@ -1531,7 +1531,7 @@ class DocTestCase(TestCase): doc.save_with_history([e]) r = self.client.get(urlreverse("ietf.doc.views_doc.document_ballot", kwargs=dict(name=doc.name))) self.assertEqual(r.status_code, 200) - self.assertContains(r, '(%s for -%s)' % (pos.comment_time.strftime('%Y-%m-%d'), oldrev)) + self.assertRegex(r.content.decode(), r'\(\s*%s\s+for\s+-%s\s*\)' % (pos.comment_time.strftime('%Y-%m-%d'), oldrev)) # Now simulate a new ballot against the new revision and make sure the "was" position is included pos2 = BallotPositionDocEvent.objects.create( @@ -1579,7 +1579,7 @@ class DocTestCase(TestCase): href = q(f'div.balloter-name a[href$="{author_slug}"]').attr('href') ids = [ target.attr('id') - for target in q(f'h4.anchor-target[id$="{author_slug}"]').items() + for target in q(f'h5[id$="{author_slug}"]').items() ] self.assertEqual(len(ids), 1, 'Should be exactly one link for the balloter') self.assertEqual(href, f'#{ids[0]}', 'Anchor href should match ID') diff --git a/ietf/doc/tests_charter.py b/ietf/doc/tests_charter.py index e128c006c..21e1646d8 100644 --- a/ietf/doc/tests_charter.py +++ b/ietf/doc/tests_charter.py @@ -49,27 +49,27 @@ class ViewCharterTests(TestCase): url = urlreverse('ietf.doc.views_doc.document_main',kwargs={'name':charter.name}) r = self.client.get(url) q = PyQuery(r.content) - self.assertIn('The information below is for a proposed recharter. The current approved charter is',q('#message-row').text()) + self.assertIn('The information below is for a proposed recharter. The current approved charter is',q('.alert').text()) url = urlreverse('ietf.doc.views_doc.document_main',kwargs={'name':charter.name,'rev':'02-00'}) r = self.client.get(url) q = PyQuery(r.content) - self.assertIn('The information below is for an older version of the current proposed rechartering effort',q('#message-row').text()) + self.assertIn('The information below is for an older version of the current proposed rechartering effort',q('.alert').text()) url = urlreverse('ietf.doc.views_doc.document_main',kwargs={'name':charter.name,'rev':'02'}) r = self.client.get(url) q = PyQuery(r.content) - self.assertIn('The information below is for the currently approved charter, but newer proposed charter text exists',q('#message-row').text()) + self.assertIn('The information below is for the currently approved charter, but newer proposed charter text exists',q('.alert').text()) url = urlreverse('ietf.doc.views_doc.document_main',kwargs={'name':charter.name,'rev':'01-00'}) r = self.client.get(url) q = PyQuery(r.content) - self.assertIn('The information below is for an older proposed',q('#message-row').text()) + self.assertIn('The information below is for an older proposed',q('.alert').text()) url = urlreverse('ietf.doc.views_doc.document_main',kwargs={'name':charter.name,'rev':'01'}) r = self.client.get(url) q = PyQuery(r.content) - self.assertIn('The information below is for an older approved',q('#message-row').text()) + self.assertIn('The information below is for an older approved',q('.alert').text()) e = NewRevisionDocEventFactory(doc=charter,rev="03") charter.rev='03' @@ -78,7 +78,7 @@ class ViewCharterTests(TestCase): url = urlreverse('ietf.doc.views_doc.document_main',kwargs={'name':charter.name}) r = self.client.get(url) q = PyQuery(r.content) - self.assertEqual('',q('#message-row').text()) + self.assertEqual('',q('.alert').text()) @@ -838,4 +838,4 @@ class EditCharterTests(TestCase): ad_role = RoleFactory(group__type_id='area',name_id='ad') charter = CharterFactory(group__type_id='wg',group__state_id='bof',group__parent=ad_role.group) e1,_ = default_review_text(charter.group, charter, Person.objects.get(name="(System)")) - self.assertTrue('A new IETF WG has been proposed' in e1.text) + self.assertTrue('A new IETF WG has been proposed' in e1.text) \ No newline at end of file diff --git a/ietf/doc/tests_status_change.py b/ietf/doc/tests_status_change.py index a3cc0050d..1a3228713 100644 --- a/ietf/doc/tests_status_change.py +++ b/ietf/doc/tests_status_change.py @@ -396,7 +396,7 @@ class StatusChangeTests(TestCase): q = PyQuery(r.content) self.assertEqual(len(q('#content [type=submit]:contains("Save")')),1) # There should be three rows on the form - self.assertEqual(len(q('#content .row')),3) + self.assertEqual(len(q('#content .input-group')),3) # Try to add a relation to an RFC that doesn't exist r = self.client.post(url,dict(new_relation_row_blah="rfc9997", @@ -534,4 +534,4 @@ class StatusChangeSubmitTests(TestCase): def setUp(self): super().setUp() - DocumentFactory(type_id='statchg',name='status-change-imaginary-mid-review',notify='notify@example.org') + DocumentFactory(type_id='statchg',name='status-change-imaginary-mid-review',notify='notify@example.org') \ No newline at end of file diff --git a/ietf/doc/views_doc.py b/ietf/doc/views_doc.py index ee07b727c..2f9097f25 100644 --- a/ietf/doc/views_doc.py +++ b/ietf/doc/views_doc.py @@ -867,7 +867,6 @@ def document_history(request, name): person__user=request.user))) else: can_add_comment = has_role(request.user, ("Area Director", "Secretariat", "IRTF Chair")) - return render(request, "doc/document_history.html", dict(doc=doc, top=top, diff --git a/ietf/group/tests_info.py b/ietf/group/tests_info.py index 8b810e63b..e79e94a8d 100644 --- a/ietf/group/tests_info.py +++ b/ietf/group/tests_info.py @@ -1709,7 +1709,7 @@ class StatusUpdateTests(TestCase): response = self.client.get(url) self.assertEqual(response.status_code,200) q=PyQuery(response.content) - self.assertTrue(bleach.linkify(escape(event.desc)) in str(q('pre'))) + self.assertTrue(bleach.linkify(escape(event.desc), parse_email=True) in str(q('pre'))) self.assertFalse(q('a#edit_button')) self.client.login(username=chair.person.user.username,password='%s+password'%chair.person.user.username) response = self.client.get(url) diff --git a/ietf/secr/templates/announcement/confirm.html b/ietf/secr/templates/announcement/confirm.html index 8172b3796..8682ebb81 100644 --- a/ietf/secr/templates/announcement/confirm.html +++ b/ietf/secr/templates/announcement/confirm.html @@ -4,7 +4,7 @@ {% block title %}Announcement{% endblock %} {% block extrahead %}{{ block.super }} - + {% endblock %} {% block breadcrumbs %}{{ block.super }} diff --git a/ietf/secr/templates/areas/list.html b/ietf/secr/templates/areas/list.html index 6981555bb..0079141a7 100644 --- a/ietf/secr/templates/areas/list.html +++ b/ietf/secr/templates/areas/list.html @@ -3,7 +3,7 @@ {% block title %}Areas{% endblock %} {% block extrahead %}{{ block.super }} - + {% endblock %} {% block breadcrumbs %}{{ block.super }} diff --git a/ietf/secr/templates/areas/people.html b/ietf/secr/templates/areas/people.html index ce1fde6f2..f116cbc20 100644 --- a/ietf/secr/templates/areas/people.html +++ b/ietf/secr/templates/areas/people.html @@ -4,8 +4,8 @@ {% block extrahead %}{{ block.super }} - - + + {% endblock %} {% block breadcrumbs %}{{ block.super }} diff --git a/ietf/secr/templates/areas/view.html b/ietf/secr/templates/areas/view.html index 853745661..9fc8ee626 100644 --- a/ietf/secr/templates/areas/view.html +++ b/ietf/secr/templates/areas/view.html @@ -3,7 +3,7 @@ {% block title %}Areas - View{% endblock %} {% block extrahead %}{{ block.super }} - + {% endblock %} {% block breadcrumbs %}{{ block.super }} diff --git a/ietf/secr/templates/base_secr.html b/ietf/secr/templates/base_secr.html index 3e4545f71..95d16f0db 100644 --- a/ietf/secr/templates/base_secr.html +++ b/ietf/secr/templates/base_secr.html @@ -15,7 +15,7 @@ {% block extrastyle %}{% endblock %} {% block extrahead %} - + {% endblock %} {% block blockbots %}{% endblock %} diff --git a/ietf/secr/templates/base_secr_bootstrap.html b/ietf/secr/templates/base_secr_bootstrap.html index c142967b4..653aa98b9 100644 --- a/ietf/secr/templates/base_secr_bootstrap.html +++ b/ietf/secr/templates/base_secr_bootstrap.html @@ -16,7 +16,7 @@ {% block extrastyle %}{% endblock %} {% block extrahead %} - + {% endblock %} {% block blockbots %}{% endblock %} diff --git a/ietf/secr/templates/groups/charter.html b/ietf/secr/templates/groups/charter.html index 48c88ac93..84649f4fd 100644 --- a/ietf/secr/templates/groups/charter.html +++ b/ietf/secr/templates/groups/charter.html @@ -4,7 +4,7 @@ {% block title %}Groups - Charter{% endblock %} {% block extrahead %}{{ block.super }} - + {% endblock %} {% block breadcrumbs %}{{ block.super }} diff --git a/ietf/secr/templates/groups/people.html b/ietf/secr/templates/groups/people.html index 9f09ae26d..817a614d2 100644 --- a/ietf/secr/templates/groups/people.html +++ b/ietf/secr/templates/groups/people.html @@ -5,8 +5,8 @@ {% block extrahead %}{{ block.super }} - - + + {% endblock %} {% block breadcrumbs %}{{ block.super }} diff --git a/ietf/secr/templates/groups/search.html b/ietf/secr/templates/groups/search.html index 0c8335850..e349894b5 100644 --- a/ietf/secr/templates/groups/search.html +++ b/ietf/secr/templates/groups/search.html @@ -4,7 +4,7 @@ {% block title %}Groups - Search{% endblock %} {% block extrahead %}{{ block.super }} - + {% endblock %} {% block breadcrumbs %}{{ block.super }} diff --git a/ietf/secr/templates/groups/view.html b/ietf/secr/templates/groups/view.html index e9b90618c..40cbc80b0 100644 --- a/ietf/secr/templates/groups/view.html +++ b/ietf/secr/templates/groups/view.html @@ -4,7 +4,7 @@ {% block title %}Groups - View{% endblock %} {% block extrahead %}{{ block.super }} - + {% endblock %} {% block breadcrumbs %}{{ block.super }} diff --git a/ietf/secr/templates/meetings/add.html b/ietf/secr/templates/meetings/add.html index f6aaff06c..054bf532a 100644 --- a/ietf/secr/templates/meetings/add.html +++ b/ietf/secr/templates/meetings/add.html @@ -5,7 +5,7 @@ {% block extrahead %} {{ block.super }} - + {% endblock %} {% block breadcrumbs %}{{ block.super }} diff --git a/ietf/secr/templates/meetings/base_rooms_times.html b/ietf/secr/templates/meetings/base_rooms_times.html index 01848f617..2102c21b0 100644 --- a/ietf/secr/templates/meetings/base_rooms_times.html +++ b/ietf/secr/templates/meetings/base_rooms_times.html @@ -5,9 +5,9 @@ {% block extrahead %}{{ block.super }} - - - + + + {% endblock %} {% block breadcrumbs %}{{ block.super }} diff --git a/ietf/secr/templates/meetings/blue_sheet.html b/ietf/secr/templates/meetings/blue_sheet.html index a660e56f8..f3b01eb75 100644 --- a/ietf/secr/templates/meetings/blue_sheet.html +++ b/ietf/secr/templates/meetings/blue_sheet.html @@ -4,7 +4,7 @@ {% block title %}Meetings - Blue Sheet{% endblock %} {% block extrahead %}{{ block.super }} - + {% endblock %} {% block breadcrumbs %}{{ block.super }} diff --git a/ietf/secr/templates/meetings/edit_meeting.html b/ietf/secr/templates/meetings/edit_meeting.html index 104f1c27b..dc1599e96 100644 --- a/ietf/secr/templates/meetings/edit_meeting.html +++ b/ietf/secr/templates/meetings/edit_meeting.html @@ -4,7 +4,7 @@ {% block title %}Meetings - Edit{% endblock %} {% block extrahead %}{{ block.super }} - + {% endblock %} {% block breadcrumbs %}{{ block.super }} diff --git a/ietf/secr/templates/meetings/main.html b/ietf/secr/templates/meetings/main.html index bf4801af3..cd254b8ad 100755 --- a/ietf/secr/templates/meetings/main.html +++ b/ietf/secr/templates/meetings/main.html @@ -4,7 +4,7 @@ {% block title %}Meetings{% endblock %} {% block extrahead %}{{ block.super }} - + {% endblock %} {% block breadcrumbs %}{{ block.super }} diff --git a/ietf/secr/templates/meetings/notifications.html b/ietf/secr/templates/meetings/notifications.html index d126adde9..dd96b779a 100644 --- a/ietf/secr/templates/meetings/notifications.html +++ b/ietf/secr/templates/meetings/notifications.html @@ -4,7 +4,7 @@ {% block title %}Meetings{% endblock %} {% block extrahead %}{{ block.super }} - + {% endblock %} {% block breadcrumbs %}{{ block.super }} diff --git a/ietf/secr/templates/meetings/view.html b/ietf/secr/templates/meetings/view.html index d84bcae83..ce907994d 100644 --- a/ietf/secr/templates/meetings/view.html +++ b/ietf/secr/templates/meetings/view.html @@ -4,7 +4,7 @@ {% block title %}Meetings{% endblock %} {% block extrahead %}{{ block.super }} - + {% endblock %} {% block breadcrumbs %}{{ block.super }} diff --git a/ietf/secr/templates/proceedings/main.html b/ietf/secr/templates/proceedings/main.html index 3d1a7b66b..e95de3620 100644 --- a/ietf/secr/templates/proceedings/main.html +++ b/ietf/secr/templates/proceedings/main.html @@ -4,7 +4,7 @@ {% block title %}Proceeding manager{% endblock %} {% block extrahead %}{{ block.super }} - + {% endblock %} {% block breadcrumbs %}{{ block.super }} diff --git a/ietf/secr/templates/proceedings/recording.html b/ietf/secr/templates/proceedings/recording.html index 7ebf0a58b..d6adc3801 100755 --- a/ietf/secr/templates/proceedings/recording.html +++ b/ietf/secr/templates/proceedings/recording.html @@ -9,9 +9,9 @@ {% endblock %} {% block extrahead %}{{ block.super }} - + - + {% endblock %} {% block breadcrumbs %}{{ block.super }} diff --git a/ietf/secr/templates/proceedings/recording_edit.html b/ietf/secr/templates/proceedings/recording_edit.html index c4ee906e5..f4ebc93f1 100755 --- a/ietf/secr/templates/proceedings/recording_edit.html +++ b/ietf/secr/templates/proceedings/recording_edit.html @@ -3,7 +3,7 @@ {% block title %}Edit Recording{% endblock %} {% block extrahead %}{{ block.super }} - + {% endblock %} {% block breadcrumbs %}{{ block.super }} diff --git a/ietf/secr/templates/proceedings/select.html b/ietf/secr/templates/proceedings/select.html index 5953c3884..e2ac7e50b 100755 --- a/ietf/secr/templates/proceedings/select.html +++ b/ietf/secr/templates/proceedings/select.html @@ -4,7 +4,7 @@ {% block title %}Proceedings{% endblock %} {% block extrahead %}{{ block.super }} - + {% endblock %} diff --git a/ietf/secr/templates/proceedings/status.html b/ietf/secr/templates/proceedings/status.html index 71404fe6c..823992052 100644 --- a/ietf/secr/templates/proceedings/status.html +++ b/ietf/secr/templates/proceedings/status.html @@ -3,7 +3,7 @@ {% block title %}Proceedings - Status{% endblock %} {% block extrahead %}{{ block.super }} - + {% endblock %} {% block breadcrumbs %}{{ block.super }} diff --git a/ietf/secr/templates/proceedings/view.html b/ietf/secr/templates/proceedings/view.html index 526bbab8e..8d4068333 100644 --- a/ietf/secr/templates/proceedings/view.html +++ b/ietf/secr/templates/proceedings/view.html @@ -3,7 +3,7 @@ {% block title %}Proceedings - View{% endblock %} {% block extrahead %}{{ block.super }} - + {% endblock %} {% block breadcrumbs %}{{ block.super }} diff --git a/ietf/secr/templates/proceedings/wait.html b/ietf/secr/templates/proceedings/wait.html index 7f6580fd1..1ec707271 100644 --- a/ietf/secr/templates/proceedings/wait.html +++ b/ietf/secr/templates/proceedings/wait.html @@ -3,7 +3,7 @@ {% block title %}Proceeding manager{% endblock %} {% block extrahead %}{{ block.super }} - + {% endblock %} {% block breadcrumbs %}{{ block.super }} diff --git a/ietf/secr/templates/roles/main.html b/ietf/secr/templates/roles/main.html index 7f18c490b..e35a8ccce 100755 --- a/ietf/secr/templates/roles/main.html +++ b/ietf/secr/templates/roles/main.html @@ -5,10 +5,10 @@ {% block extrahead %}{{ block.super }} - - + + - + {% endblock %} {% block breadcrumbs %}{{ block.super }} diff --git a/ietf/secr/templates/rolodex/edit.html b/ietf/secr/templates/rolodex/edit.html index 42e6c4751..b31050dbf 100644 --- a/ietf/secr/templates/rolodex/edit.html +++ b/ietf/secr/templates/rolodex/edit.html @@ -4,7 +4,7 @@ {% block title %}Rolodex - Edit{% endblock %} {% block extrahead %}{{ block.super }} - + {% endblock %} {% block breadcrumbs %}{{ block.super }} diff --git a/ietf/secr/templates/rolodex/search.html b/ietf/secr/templates/rolodex/search.html index 07d99b0c7..31e38871e 100644 --- a/ietf/secr/templates/rolodex/search.html +++ b/ietf/secr/templates/rolodex/search.html @@ -4,7 +4,7 @@ {% block title %}Rolodex - Search{% endblock %} {% block extrahead %}{{ block.super }} - + {% endblock %} {% block breadcrumbs %}{{ block.super }} diff --git a/ietf/secr/templates/sreq/confirm.html b/ietf/secr/templates/sreq/confirm.html index f7d1474b2..f313eca0a 100755 --- a/ietf/secr/templates/sreq/confirm.html +++ b/ietf/secr/templates/sreq/confirm.html @@ -13,7 +13,7 @@ {% endblock %} {% block extrahead %}{{ block.super }} - + {{ form.media }} {% endblock %} diff --git a/ietf/secr/templates/sreq/edit.html b/ietf/secr/templates/sreq/edit.html index 01d198723..d2eb68e3f 100755 --- a/ietf/secr/templates/sreq/edit.html +++ b/ietf/secr/templates/sreq/edit.html @@ -3,8 +3,8 @@ {% block title %}Sessions - Edit{% endblock %} {% block extrahead %}{{ block.super }} - - + + {{ form.media }} {% endblock %} diff --git a/ietf/secr/templates/sreq/locked.html b/ietf/secr/templates/sreq/locked.html index 7996400b8..79e7b5a4d 100755 --- a/ietf/secr/templates/sreq/locked.html +++ b/ietf/secr/templates/sreq/locked.html @@ -4,7 +4,7 @@ {% block title %}Sessions{% endblock %} {% block extrahead %}{{ block.super }} - + {% endblock %} {% block breadcrumbs %}{{ block.super }} diff --git a/ietf/secr/templates/sreq/main.html b/ietf/secr/templates/sreq/main.html index 39bd9125d..0244e9ab9 100755 --- a/ietf/secr/templates/sreq/main.html +++ b/ietf/secr/templates/sreq/main.html @@ -5,7 +5,7 @@ {% block title %}Sessions{% endblock %} {% block extrahead %}{{ block.super }} - + {% endblock %} {% block breadcrumbs %}{{ block.super }} diff --git a/ietf/secr/templates/sreq/new.html b/ietf/secr/templates/sreq/new.html index f50ea00fd..e8fe182cf 100755 --- a/ietf/secr/templates/sreq/new.html +++ b/ietf/secr/templates/sreq/new.html @@ -4,8 +4,8 @@ {% block title %}Sessions- New{% endblock %} {% block extrahead %}{{ block.super }} - - + + {{ form.media }} {% endblock %} diff --git a/ietf/secr/templates/sreq/tool_status.html b/ietf/secr/templates/sreq/tool_status.html index 94dd25a91..9660f6819 100755 --- a/ietf/secr/templates/sreq/tool_status.html +++ b/ietf/secr/templates/sreq/tool_status.html @@ -4,7 +4,7 @@ {% block title %}Sessions{% endblock %} {% block extrahead %}{{ block.super }} - + {% endblock %} {% block breadcrumbs %}{{ block.super }} diff --git a/ietf/secr/templates/sreq/view.html b/ietf/secr/templates/sreq/view.html index 7dbb819ba..f383b7d29 100644 --- a/ietf/secr/templates/sreq/view.html +++ b/ietf/secr/templates/sreq/view.html @@ -4,7 +4,7 @@ {% block title %}Sessions - View{% endblock %} {% block extrahead %}{{ block.super }} - + {% endblock %} {% block breadcrumbs %}{{ block.super }} diff --git a/ietf/secr/templates/telechat/base_telechat.html b/ietf/secr/templates/telechat/base_telechat.html index 4b2909606..29181ca92 100644 --- a/ietf/secr/templates/telechat/base_telechat.html +++ b/ietf/secr/templates/telechat/base_telechat.html @@ -4,7 +4,7 @@ {% block title %}Telechat{% endblock %} {% block extrahead %}{{ block.super }} - + {% endblock %} diff --git a/ietf/static/css/ietf.scss b/ietf/static/css/ietf.scss index fc23f4cbc..ad22b6758 100644 --- a/ietf/static/css/ietf.scss +++ b/ietf/static/css/ietf.scss @@ -61,16 +61,26 @@ $bootstrap-icons-font-src: url("~node_modules/bootstrap-icons/font/fonts/bootstr url("~node_modules/bootstrap-icons/font/fonts/bootstrap-icons.woff?a97b3594ad416896e15824f6787370e0") format("woff") !default; @import "../../../node_modules/bootstrap-icons/font/bootstrap-icons"; -// Leave room for fixed-top navbar. +// Leave room for fixed-top navbar... body { padding-top: 60px; } -// Make textareas use monospace font -textarea { - font-family: var(--bs-font-monospace); +// ...and make sure it doesn't overlap when we scroll to anchors. +html { + scroll-padding-top: 60px; } +// Make textareas use a monospace font +textarea { + font-family: var(--bs-font-monospace); +} + +// Wrap long lines in preformatted text. +pre { + white-space: pre-wrap; + margin-bottom: 0; +} // Make the font size choice cascade down into group menu dropdowns. .leftmenu li>ul { @@ -160,10 +170,6 @@ $timeline-even-hover-color: shift-color($timeline-even-color, $link-shade-percen border: 2 * $table-border-width solid #000; } -.ballot-icon table { - // margin: 0 0 10px 10px; -} - .is-blocking { box-shadow: 0 0 8px 8px #dc0d12; padding: 3px 0px 3px 3px; @@ -171,33 +177,119 @@ $timeline-even-hover-color: shift-color($timeline-even-color, $link-shade-percen border: 1px solid #dc0d12; } -.position-moretime, -.position-notready, -.position-discuss, -.position-block { - background-color: $danger; + +// See https://getbootstrap.com/docs/5.0/customize/color/#all-colors +$color-discuss: $red-500; +$color-yes: $green-500; +$color-noobj: $green-100; +$color-abstain: $orange-400; +$color-recuse: $purple-400; +$color-norecord: $gray-300; + +.color-discuss { + color: $color-discuss; } -.position-yes { - background-color: $success; +.color-yes { + color: $color-yes; } -.position-noobj { - background-color: $info; +.color-noobj { + color: $color-noobj; } -.position-abstain { - background-color: hsl(hue($warning), 80%, 70%); +.color-abstain { + color: $color-abstain; } -.position-recuse { - background-color: hsl(hue($primary), 80%, 70%); +.color-recuse { + color: $color-recuse; } -.position-norecord { - // background-color: $secondary; +.color-norecord { + color: $color-norecord; } +.bg-discuss { + background-color: $color-discuss; +} + +.bg-yes { + background-color: $color-yes; +} + +.bg-noobj { + background-color: $color-noobj; +} + +.bg-abstain { + background-color: $color-abstain; +} + +.bg-recuse { + background-color: $color-recuse; +} + +.bg-norecord { + background-color: $color-norecord; +} + +.border-discuss { + border-color: $color-discuss; +} + +.border-yes { + border-color: $color-yes; +} + +.border-noobj { + border-color: $color-noobj; +} + +.border-abstain { + border-color: $color-abstain; +} + +.border-recuse { + border-color: $color-recuse; +} + +.border-norecord { + border-color: $color-norecord; +} + +td.position-moretime, +td.position-notready, +td.position-discuss, +td.position-block { + background-color: $color-discuss; +} + +td.position-yes { + background-color: $color-yes; +} + +td.position-noobj { + background-color: $color-noobj; +} + +td.position-abstain { + background-color: $color-abstain; +} + +td.position-recuse { + background-color: $color-recuse; +} + +td.position-norecord { + background-color: $white; // $color-norecord; +} + +td.position-empty { + border: none !important; +} + + /* === Edit Meeting Schedule ====================================== */ .edit-meeting-schedule .edit-grid { diff --git a/ietf/static/js/agenda_timezone.js b/ietf/static/js/agenda_timezone.js index 5b8907c83..dbd057c44 100644 --- a/ietf/static/js/agenda_timezone.js +++ b/ietf/static/js/agenda_timezone.js @@ -51,11 +51,11 @@ function format_time(t, tz, fmt) { switch (fmt) { case 0: out = t.tz(tz) - .format('dddd, ') + '' + + .format('dddd, ') + '' + t.tz(tz) .format('MMMM Do YYYY, ') + '' + t.tz(tz) - .format('HH:mm') + '' + + .format('HH:mm') + '' + t.tz(tz) .format(' Z z') + ''; break; @@ -222,7 +222,7 @@ window.highlight_ongoing = function () { agenda_rows.first() .children("th, td") . - prepend($('
')); + prepend($('
')); } // Update tooltips diff --git a/ietf/static/js/document_timeline.js b/ietf/static/js/document_timeline.js index 6a36213b8..a8df8224e 100644 --- a/ietf/static/js/document_timeline.js +++ b/ietf/static/js/document_timeline.js @@ -13,23 +13,22 @@ function expiration_date(d) { return new Date(d.published.getTime() + 1000 * 60 * 60 * 24 * 185); } - function max(arr) { - return Math.max.apply(null, Object.keys(arr).map(function(e) { - return arr[e]; - })); + return Math.max.apply(null, Object.keys(arr) + .map(function (e) { + return arr[e]; + })); } - function offset(d) { if (bar_y[d.name] === undefined) { - var m = Object.keys(bar_y).length === 0 ? -bar_height : max(bar_y); + var m = Object.keys(bar_y) + .length === 0 ? -bar_height : max(bar_y); bar_y[d.name] = m + bar_height; } return "translate(" + x_scale(d.published) + ", " + bar_y[d.name] + ")"; } - function bar_width(d, i) { // check for next rev of this name, or published RFC for (i++; i < data.length; i++) { @@ -48,16 +47,17 @@ function bar_width(d, i) { return x_scale(w) - x_scale(d.published); } - function scale_x() { - width = $("#timeline").width(); + width = $("#timeline") + .width(); // scale data to width of container minus y label width - x_scale = d3.time.scale().domain([ - d3.min(data, function(d) { return d.published; }), - d3.max(data, function(d) { return d.published; }) - ]).range([y_label_width, width]); - + x_scale = d3.time.scale() + .domain([ + d3.min(data, function (d) { return d.published; }), + d3.max(data, function (d) { return d.published; }) + ]) + .range([y_label_width, width]); // if the end of the timeline is past the current date, show it var tv = data.slice(0, -1); @@ -70,53 +70,59 @@ function scale_x() { // resort data by publication time to suppress some ticks if they are closer // than 12px and have a different label from the one before; and don't add a // tick for the final pseudo entry - tv = tv.sort(function(a, b) { return a.published - b.published; }) - .map(function(d, i, arr) { + tv = tv.sort(function (a, b) { return a.published - b.published; }) + .map(function (d, i, arr) { if (i === 0 || x_scale(d.published) > x_scale(arr[i - 1].published) + 12 && format(d.published) !== format(arr[i - 1].published)) { return d.published; } - }).filter(function(d) { return d !== undefined; }); + }) + .filter(function (d) { return d !== undefined; }); x_axis = d3.svg.axis() .scale(x_scale) .tickValues(tv) - .tickFormat(function(d) { + .tickFormat(function (d) { if (d.getTime() < now) { return format(d); } return "Now"; }) .orient("bottom"); } - function update_x_axis() { - d3.select("#timeline svg .x.axis").call(x_axis) + d3.select("#timeline svg .x.axis") + .call(x_axis) .selectAll("text") .style("text-anchor", "end") .attr("transform", "translate(-14, 2) rotate(-60)"); } - function update_timeline() { bar_y = {}; scale_x(); - var chart = d3.select("#timeline svg").attr("width", width); + var chart = d3.select("#timeline svg") + .attr("width", width); // enter data (skip the last pseudo entry) - var bar = chart.selectAll("g").data(data.slice(0, -1)); - bar.attr("transform", offset).select("rect").attr("width", bar_width); + var bar = chart.selectAll("g") + .data(data.slice(0, -1)); + bar.attr("transform", offset) + .select("rect") + .attr("width", bar_width); update_x_axis(); } - function draw_timeline() { - bar_height = parseFloat($("body").css("line-height")); + bar_height = parseFloat($("body") + .css("line-height")); var div = $("#timeline"); + div.addClass("my-3"); if (div.is(":empty")) { div.append(""); } - var chart = d3.select("#timeline svg").attr("width", width); + var chart = d3.select("#timeline svg") + .attr("width", width); var defs = chart.append("defs"); var fade = defs.append("linearGradient") @@ -140,19 +146,19 @@ function draw_timeline() { maskContentUnits: "objectBoundingBox" }) .append("rect") - .attr({ - height: 1, - width: 1, - fill: "url(#maskGradient)" - }); + .attr({ + height: 1, + width: 1, + fill: "url(#maskGradient)" + }); var y_labels = data - .map(function(d) { return d.name; }) - .filter(function(val, i, self) { return self.indexOf(val) === i; }); + .map(function (d) { return d.name; }) + .filter(function (val, i, self) { return self.indexOf(val) === i; }); // calculate the width of the widest y axis label by drawing them off-screen // and measuring the bounding boxes - y_label_width = 10 + d3.max(y_labels, function(l) { + y_label_width = 10 + d3.max(y_labels, function (l) { var lw; chart.append("text") .attr({ @@ -160,10 +166,12 @@ function draw_timeline() { transform: "translate(0, " + -bar_height + ")" }) .text(l) - .each(function() { - lw = this.getBBox().width; + .each(function () { + lw = this.getBBox() + .width; }) - .remove().remove(); + .remove() + .remove(); return lw; }); @@ -172,43 +180,44 @@ function draw_timeline() { // re-order data by document name, for CSS background color alternation var ndata = []; - y_labels.forEach(function(l) { - ndata = ndata.concat(data.filter(function(d) { return d.name === l; })); + y_labels.forEach(function (l) { + ndata = ndata.concat(data.filter(function (d) { return d.name === l; })); }); data = ndata; // enter data (skip the last pseudo entry) - var bar = chart.selectAll("g").data(data.slice(0, -1)); + var bar = chart.selectAll("g") + .data(data.slice(0, -1)); var g = bar.enter() .append("g") - .attr({ - class: "bar", - transform: offset - }); + .attr({ + class: "bar", + transform: offset + }); g.append("a") - .attr("xlink:href", function(d) { return d.url; }) + .attr("xlink:href", function (d) { return d.url; }) .append("rect") - .attr({ - height: bar_height, - width: bar_width, - class: "btn", - type: "button", - mask: function(d, i) { - // apply gradient if the document is a draft and expired - if (d.name.match(/^draft-/) && - bar_width(d, i) >= x_scale(expiration_date(d)) - - x_scale(d.published)) { - return "url(#fade)"; - } + .attr({ + height: bar_height, + width: bar_width, + class: "btn", + type: "button", + mask: function (d, i) { + // apply gradient if the document is a draft and expired + if (d.name.match(/^draft-/) && + bar_width(d, i) >= x_scale(expiration_date(d)) - + x_scale(d.published)) { + return "url(#fade)"; } - }); + } + }); g.append("text") .attr({ x: 3, y: bar_height / 2 }) - .text(function(d) { return d.rev; }); + .text(function (d) { return d.rev; }); var y_scale = d3.scale.ordinal() .domain(y_labels) @@ -219,10 +228,11 @@ function draw_timeline() { .tickValues(y_labels) .orient("left"); - chart.append("g").attr({ - class: "x axis", - transform: "translate(0, " + (max(bar_y) + bar_height) + ")" - }); + chart.append("g") + .attr({ + class: "x axis", + transform: "translate(0, " + (max(bar_y) + bar_height) + ")" + }); update_x_axis(); chart.append("g") @@ -236,20 +246,21 @@ function draw_timeline() { // set height of timeline var x_label_height; - d3.select(".x.axis").each(function() { - x_label_height = this.getBBox().height; - }); + d3.select(".x.axis") + .each(function () { + x_label_height = this.getBBox() + .height; + }); chart.attr("height", max(bar_y) + bar_height + x_label_height); } - -d3.json("doc.json", function(error, json) { +d3.json("doc.json", function (error, json) { if (error) { return; } data = json.rev_history; if (data.length) { // make js dates out of publication dates - data.forEach(function(d) { d.published = new Date(d.published); }); + data.forEach(function (d) { d.published = new Date(d.published); }); // add pseudo entry when the ID will expire data.push({ @@ -261,9 +272,9 @@ d3.json("doc.json", function(error, json) { } }); - -$(window).on({ - resize: function() { - update_timeline(); - } -}); \ No newline at end of file +$(window) + .on({ + resize: function () { + update_timeline(); + } + }); \ No newline at end of file diff --git a/ietf/static/js/ietf.js b/ietf/static/js/ietf.js index c2fbc5afe..cd0d7259a 100644 --- a/ietf/static/js/ietf.js +++ b/ietf/static/js/ietf.js @@ -133,6 +133,16 @@ $(document) `)) .find("h1:visible, h2:visible, h3:visible, h4:visible, h5:visible, h6:visible") .each(function () { + // Some headings have complex HTML in them - only use first part in that case. + var text = $(this) + .html() + .split("<") + .shift(); + + if (text === "") { + // Nothing to do for empty headings. + return; + } var id = $(this) .attr("id"); @@ -142,9 +152,6 @@ $(document) .attr("id", id); } - var text = $(this) - .text(); - if (nav === undefined) { nav = $("#righthand-nav"); nav = $(nav) @@ -184,10 +191,6 @@ $(document) .attr("data-bs-target", "#righthand-nav") .scrollspy("refresh"); - // $(window) - // .on("activate.bs.scrollspy", function () { - // console.log("X"); - // }); } }); diff --git a/ietf/static/js/list.js b/ietf/static/js/list.js index dde92c3df..687f5628e 100644 --- a/ietf/static/js/list.js +++ b/ietf/static/js/list.js @@ -38,6 +38,12 @@ $(document) .each(function () { var table = $(this); + if ($(table) + .hasClass("tablesorter-done")) { + console.log("tablesorter already initialized; list.js probably loaded twice."); + return; + } + var header_row = $(table) .find("thead > tr:first"); @@ -53,26 +59,25 @@ $(document) if (fields.length == 0 || !fields.filter(field => field != "")) { console.log("No table fields defined, disabling search/sort."); + return; + } - } else { + $(table) + .wrap(`
field_magic(i, e, fields)); - $(table) - .wrap(`
field_magic(i, e, fields)); - - if ($(header_row) - .text() - .trim() == "") { - console.log("No headers fields visible, hiding header row."); - header_row.addClass("visually-hidden"); - } - - // HTML for the search widget - var searcher = $.parseHTML(` + // HTML for the search widget + var searcher = $.parseHTML(`
`); - $(table) - .before(searcher); + $(table) + .before(searcher); - var search_field = $(searcher) - .children("input.search"); + var search_field = $(searcher) + .children("input.search"); - var reset_search = $(searcher) - .children("button.search-reset"); + var reset_search = $(searcher) + .children("button.search-reset"); - var pager = $.parseHTML(` + var pager = $.parseHTML(` `); - $(table) - .before(pager); + $(table) + .before(pager); - var list_instance = []; - var internal_table = []; + var list_instance = []; + var internal_table = []; - var pagination = $(table) - .children("tbody") - .length == 1; + var pagination = $(table) + .children("tbody") + .length == 1; - pagination = false; // FIXME-LARS: pagination not working yet. + pagination = false; // FIXME-LARS: pagination not working yet. - // list.js cannot deal with tables with multiple tbodys, - // so maintain separate internal "table" copies for - // sorting/searching and update the DOM based on them - $(table) - .children("tbody, tfoot") - .addClass("list") - .each(function () { - // add the required classes to the cells - $(this) - .children("tr") - .each(function () { - $(this) - .children("th, td") - .each((i, e) => { - $(e) - .addClass(fields[i]); - field_magic(i, e, fields); - }); - }); + // list.js cannot deal with tables with multiple tbodys, + // so maintain separate internal "table" copies for + // sorting/searching and update the DOM based on them + $(table) + .children("tbody, tfoot") + .addClass("list") + .each(function () { + // add the required classes to the cells + $(this) + .children("tr") + .each(function () { + $(this) + .children("th, td") + .each((i, e) => { + $(e) + .addClass(fields[i]); + field_magic(i, e, fields); + }); + }); - // create the internal table and add list.js to them - var thead = $(this) - .siblings("thead:first") - .clone(); + // create the internal table and add list.js to them + var thead = $(this) + .siblings("thead:first") + .clone(); - var tbody = $(this) - .clone(); + var tbody = $(this) + .clone(); - var tbody_rows = $(tbody) - .find("tr") - .length; + var tbody_rows = $(tbody) + .find("tr") + .length; - if (tbody_rows == 0) { - console.log("Skipping empty tbody"); - return; - } else if (tbody_rows <= items_per_page) { - pagination = false; - } + if (tbody_rows == 0) { + console.log("Skipping empty tbody"); + return; + } else if (tbody_rows <= items_per_page) { + pagination = false; + } - var parent = $(table) - .parent() - .clone(); + var parent = $(table) + .parent() + .clone(); - $(parent) - .children("table") - .empty() - .removeClass("tablesorter") - .append(thead, tbody); + $(parent) + .children("table") + .empty() + .removeClass("tablesorter") + .append(thead, tbody); - internal_table.push(parent); + internal_table.push(parent); - var hook = `tablewrapper-${n}`; - if (pagination) { - console.log("Enabling pager."); - $(pager) - .removeClass("visually-hidden"); - pagination = { - innerWindow: 5, - left: 1, - right: 1, - item: '
  • ' - }; - } else { - hook = parent[0]; - } + var hook = `tablewrapper-${n}`; + if (pagination) { + console.log("Enabling pager."); + $(pager) + .removeClass("visually-hidden"); + pagination = { + innerWindow: 5, + left: 1, + right: 1, + item: '
  • ' + }; + } else { + hook = parent[0]; + } - list_instance.push( - new List(hook, pagination ? { - valueNames: fields, - pagination: pagination, - page: items_per_page - } : { - valueNames: fields - })); - }); + list_instance.push( + new List(hook, pagination ? { + valueNames: fields, + pagination: pagination, + page: items_per_page + } : { + valueNames: fields + })); + }); - reset_search.on("click", function () { - search_field.val(""); + reset_search.on("click", function () { + search_field.val(""); + $.each(list_instance, (i, e) => { + e.search(); + }); + }); + + search_field.on("keyup", function (event) { + if (event.key == "Escape") { + reset_search.trigger("click"); + } else { $.each(list_instance, (i, e) => { - e.search(); + e.search($(this) + .val()); + }); + } + }); + + $(table) + .find(".sort") + .on("click", function () { + var order = $(this) + .hasClass("asc") ? "desc" : "asc"; + $.each(list_instance, (i, e) => { + e.sort($(this) + .attr("data-sort"), { order: order, sortFunction: text_sort }); }); }); - search_field.on("keyup", function (event) { - if (event.key == "Escape") { - reset_search.trigger("click"); - } else { - $.each(list_instance, (i, e) => { - e.search($(this) - .val()); - }); + $.each(list_instance, (i, e) => { + e.on("sortComplete", function () { + replace_with_internal(table, internal_table, i); + if (i == list_instance.length - 1) { + $(table) + .find("thead:first tr") + .children("th, td") + .each((idx, el) => { + var cl = internal_table[i].find("thead:first tr") + .children("th, td") + .eq(idx) + .attr("class"); + $(el) + .attr("class", cl); + + }); } }); - $(table) - .find(".sort") - .on("click", function () { - var order = $(this) - .hasClass("asc") ? "desc" : "asc"; - $.each(list_instance, (i, e) => { - e.sort($(this) - .attr("data-sort"), { order: order, sortFunction: text_sort }); - }); - }); - - $.each(list_instance, (i, e) => { - e.on("sortComplete", function () { - replace_with_internal(table, internal_table, i); - if (i == list_instance.length - 1) { - $(table) - .find("thead:first tr") - .children("th, td") - .each((idx, el) => { - var cl = internal_table[i].find("thead:first tr") - .children("th, td") - .eq(idx) - .attr("class"); - $(el) - .attr("class", cl); + e.on("searchComplete", function () { + var last_show_with_children = {}; + e.items.forEach((item) => { + if ($(item.elm) + .hasClass("show-with-children")) { + var kind = $(item.elm) + .attr("class") + .split(/\s+/) + .join(); + last_show_with_children[kind] = item; + } + if (item.found) { + Object.entries(last_show_with_children) + .forEach(([key, val]) => { + val.found = true; + val.show(); + delete last_show_with_children[key]; }); } + + if ($(item.elm) + .hasClass("show-always")) { + item.found = true; + item.show(); + } }); - e.on("searchComplete", function () { - var last_show_with_children = {}; - e.items.forEach((item) => { - if ($(item.elm) - .hasClass("show-with-children")) { - var kind = $(item.elm) - .attr("class") - .split(/\s+/) - .join(); - last_show_with_children[kind] = item; - } - - if (item.found) { - Object.entries(last_show_with_children) - .forEach(([key, val]) => { - val.found = true; - val.show(); - delete last_show_with_children[key]; - }); - } - - if ($(item.elm) - .hasClass("show-always")) { - item.found = true; - item.show(); - } - }); - - e.update(); - replace_with_internal(table, internal_table, i); - }); + e.update(); + replace_with_internal(table, internal_table, i); }); - } + }); + $(table.addClass("tablesorter-done")); + n++; }); - n++; }); \ No newline at end of file diff --git a/ietf/static/js/status-change-edit-relations.js b/ietf/static/js/status-change-edit-relations.js index c5e2754b2..ed1eaffe2 100644 --- a/ietf/static/js/status-change-edit-relations.js +++ b/ietf/static/js/status-change-edit-relations.js @@ -1,22 +1,31 @@ $(function () { - var form = $(".new-relation-row").closest("form"); - var newRowHtml = form.find(".new-relation-row").get(0).outerHTML; + var form = $(".new-relation-row") + .closest("form"); + var newRowHtml = form.find(".new-relation-row") + .get(0) + .outerHTML; var counter = 1; form.on("click", ".delete", function (e) { e.preventDefault(); - $(this).closest(".row").remove(); + $(this) + .closest(".input-group") + .remove(); }); form.on("keydown", ".new-relation-row input[type=text]", function () { - var top = $(this).closest(".new-relation-row"); + var top = $(this) + .closest(".new-relation-row"); top.removeClass("new-relation-row"); - top.find(".form-text").remove(); - top.find(".delete").show(); - top.find("input,select").each(function () { - this.name += counter; - }); + top.find(".delete") + .removeAttr('Disabled') + .removeClass("btn-outline-danger") + .addClass("btn-danger"); + top.find("input,select") + .each(function () { + this.name += counter; + }); ++counter; top.after(newRowHtml); }); -}); +}); \ No newline at end of file diff --git a/ietf/templates/api/index.html b/ietf/templates/api/index.html index 364e229d8..d548339bf 100644 --- a/ietf/templates/api/index.html +++ b/ietf/templates/api/index.html @@ -6,7 +6,7 @@ {% block content %}

    Datatracker API Notes

    -

    Framework API

    +

    Framework API

    This section describes the autogenerated read-only API towards the database tables. See also the @@ -63,7 +63,7 @@ Data is currently provided in JSON and XML format. Adding new formats is fairly easy, if it should be found desirable.

    -

    Framework API: Documents

    +

    Framework API: Documents

    Documents are listed at /api/v1/doc/document/ @@ -148,7 +148,7 @@ $ curl 'https://datatracker.ietf.org/api/v1/doc/document/?limit=0&name__contains etc. -

    Simplified Documents API

    +

    Simplified Documents API

    A simplified Documents API, intended for cases where only a limited set of document attributes are necessary for an application is @@ -168,7 +168,7 @@ $ curl 'https://datatracker.ietf.org/api/v1/doc/document/?limit=0&name__contains

    The simplified document API takes no parameters, and is invoked with a HTTP GET.

    -

    IESG Ballot Position API

    +

    IESG Ballot Position API

    A simplified IESG ballot position interface, intended for automation, is available at {% url 'ietf.doc.views_ballot.api_set_position' %}. Access is limited to area directors. @@ -209,7 +209,7 @@ $ curl 'https://datatracker.ietf.org/api/v1/doc/document/?limit=0&name__contains $ curl -S -F "apikey=AwAAABVR3D5GHkVMhspKSxBCVknGMmqikNIhT85kSnghjaV_pYy26WV92mm-jpdi" -F "doc=draft-ietf-lamps-eai-addresses" -F "position=noobj" -F "comment=Comment text" https://datatracker.ietf.org/api/iesg/position Done -

    Set Session Video URL

    +

    Set Session Video URL

    This interface is intended for Meetecho, to provide a way to set the URL of a video recording for a given session. It is available at @@ -250,7 +250,7 @@ $ curl -S -F "apikey=AwAAABVR3D5GHkVMhspKSxBCVknGMmqikNIhT85kSnghjaV_pYy26WV92mm $ curl -S -F "apikey=DgAAAMLSi3coaE5TjrRs518xO8eBRlCmFF3eQcC8_SjUTtRGLGiJh7-1SYPT5WiS" -F "meeting=101" -F "group=mptcp" -F "item=1" -F "url=https://foo.example/beer/mptcp" https://datatracker.ietf.org/api/meeting/session/video/url Done -

    OpenID Connect

    +

    OpenID Connect

    The datatracker supports OpenID Connect @@ -258,7 +258,7 @@ $ curl -S -F "apikey=DgAAAMLSi3coaE5TjrRs518xO8eBRlCmFF3eQcC8_SjUTtRGLGiJh7-1SYP not dynamic registration. The OpenID Connect Issuer is {{ settings.IDTRACKER_BASE_URL }}{% url 'ietf.api.urls.oidc_issuer' %}

    -

    Datatracker Version

    +

    Datatracker Version

    The datatracker version and release/patch date is available as a JSON blob at @@ -267,7 +267,7 @@ $ curl -S -F "apikey=DgAAAMLSi3coaE5TjrRs518xO8eBRlCmFF3eQcC8_SjUTtRGLGiJh7-1SYP .

    -

    +

    Personal API Keys

    @@ -307,7 +307,7 @@ $ curl -S -F "apikey=DgAAAMLSi3coaE5TjrRs518xO8eBRlCmFF3eQcC8_SjUTtRGLGiJh7-1SYP a regular login in order to activate access. -

    +

    Signing Keys

    diff --git a/ietf/templates/debug.html b/ietf/templates/debug.html index 5c6068984..4df9fa8fc 100644 --- a/ietf/templates/debug.html +++ b/ietf/templates/debug.html @@ -109,9 +109,9 @@

    {% else %} -
    - Add 'ietf.context_processors.sql_debug' to settings.TEMPLATE_CONTECT_PROCESSORS to turn on the SQL statement table -
    + + Add ietf.context_processors.sql_debug to settings.DEV_TEMPLATE_CONTEXT_PROCESSORS to turn on the SQL statement table. + {% endif %} {% endif %} {% block js %} diff --git a/ietf/templates/doc/change_ad.html b/ietf/templates/doc/change_ad.html index 7d2680bdc..d47db2588 100644 --- a/ietf/templates/doc/change_ad.html +++ b/ietf/templates/doc/change_ad.html @@ -1,25 +1,23 @@ +{# bs5ok #} {% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} {% load origin %} - {% load django_bootstrap5 %} - -{% block title %}Change shepherding AD for {{titletext}}{% endblock %} - +{% block title %}Change responsible AD for {{ titletext }}{% endblock %} {% block content %} {% origin %} -

    Change shepherding AD
    {{titletext}}

    - -
    +

    + Change responsible AD +
    + {{ titletext }} +

    + {% csrf_token %} {% bootstrap_form form %} - - - - Back - - + + Back +
    - -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/change_shepherd.html b/ietf/templates/doc/change_shepherd.html index 7c3023725..ac30c4323 100644 --- a/ietf/templates/doc/change_shepherd.html +++ b/ietf/templates/doc/change_shepherd.html @@ -1,35 +1,29 @@ +{# bs5ok #} {% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} {% load origin %} {% load static %} {% load django_bootstrap5 %} - {% block title %}Change document shepherd for {{ doc.name }}-{{ doc.rev }}{% endblock %} - -{% block pagehead %} - {{ form.media.css }} -{% endblock %} - +{% block pagehead %}{{ form.media.css }}{% endblock %} {% block content %} {% origin %} -

    Change document shepherd
    {{ doc.name }}-{{ doc.rev }}

    - -

    The shepherd needs to have a Datatracker account. A new account can be - created here.

    - +

    + Change document shepherd +
    + {{ doc.name }}-{{ doc.rev }} +

    +

    + The shepherd needs to have a Datatracker account. A new account can be + created here + . +

    {% csrf_token %} {% bootstrap_form form %} - - - - Back - - + Back
    {% endblock %} - -{% block js %} - {{ form.media.js}} -{% endblock %} +{% block js %}{{ form.media.js }}{% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/change_shepherd_email.html b/ietf/templates/doc/change_shepherd_email.html index 1cd47fe87..02a706b08 100644 --- a/ietf/templates/doc/change_shepherd_email.html +++ b/ietf/templates/doc/change_shepherd_email.html @@ -1,25 +1,21 @@ +{# bs5ok #} {% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} {% load origin %} - {% load django_bootstrap5 %} - -{% block title %}Change the document shepherd email for {{ doc.name }}-{{ doc.rev }}{% endblock %} - +{% block title %}Change document shepherd email for {{ doc.name }}-{{ doc.rev }}{% endblock %} {% block content %} {% origin %} -

    Change the document shepherd email
    {{ doc.name }}-{{ doc.rev }}

    - +

    + Change document shepherd email +
    + {{ doc.name }}-{{ doc.rev }} +

    {% csrf_token %} - {% bootstrap_form form %} - - - - Back + Back - -
    -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/change_state.html b/ietf/templates/doc/change_state.html index 236ee5c79..7b04c96eb 100644 --- a/ietf/templates/doc/change_state.html +++ b/ietf/templates/doc/change_state.html @@ -1,27 +1,24 @@ +{# bs5ok #} {% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} {% load origin %} - {% load django_bootstrap5 %} - -{% block title %}Change state for {{doc.title}}{% endblock %} - +{% block title %}Change state for {{ doc.title }}{% endblock %} {% block content %} {% origin %} -

    Change state
    {{doc.title}}

    - -

    Help on states

    - +

    + Change state +
    + {{ doc.title }} +

    +

    + Help on states +

    {% csrf_token %} {% bootstrap_form form %} - - - - Back - - + Back
    - -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/change_title.html b/ietf/templates/doc/change_title.html index 9ca7fe01b..5196fc128 100644 --- a/ietf/templates/doc/change_title.html +++ b/ietf/templates/doc/change_title.html @@ -1,25 +1,23 @@ +{# bs5ok #} {% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} {% load origin %} - {% load django_bootstrap5 %} - {% block title %}Change title for {{ doc.title }}{% endblock %} - {% block content %} {% origin %} -

    Change title
    {{ titletext }}

    - -
    +

    + Change title +
    + {{ titletext }} +

    + {% csrf_token %} {% bootstrap_form form %} - - - - Back - - + + Back +
    - -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/charter/action_announcement_text.html b/ietf/templates/doc/charter/action_announcement_text.html index be8bf2a40..0c955131e 100644 --- a/ietf/templates/doc/charter/action_announcement_text.html +++ b/ietf/templates/doc/charter/action_announcement_text.html @@ -1,32 +1,32 @@ +{# bs5ok #} {% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} {% load origin %} - {% load django_bootstrap5 %} {% load ietf_filters %} - -{% block title %}{{ charter.chartered_group.type.name }} action announcement writeup for {{ charter.chartered_group.acronym }}{% endblock %} - +{% block title %} + {{ charter.chartered_group.type.name }} action announcement writeup for {{ charter.chartered_group.acronym }} +{% endblock %} {% block content %} {% origin %} -

    {{ charter.chartered_group.type.name }} action announcement writeup
    {{ charter.chartered_group.acronym }}

    - -
    +

    + {{ charter.chartered_group.type.name }} action announcement writeup +
    + {{ charter.chartered_group.acronym }} +

    + {% csrf_token %} {% bootstrap_form announcement_text_form %} - - - - - + {% if user|has_role:"Secretariat" %} - Charter approval page + + Charter approval page + {% endif %} - Back - -
    - -{% endblock%} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/charter/approve.html b/ietf/templates/doc/charter/approve.html index 07e9fc6a3..535de1308 100644 --- a/ietf/templates/doc/charter/approve.html +++ b/ietf/templates/doc/charter/approve.html @@ -1,25 +1,21 @@ +{# bs5ok #} {% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} {% load origin %} - {% load django_bootstrap5 %} - {% block title %}Approve {{ charter.canonical_name }}{% endblock %} - {% block content %} {% origin %}

    Approve {{ charter.canonical_name }}-{{ charter.rev }}

    - -
    + {% csrf_token %} -
    {{ announcement }}
    - - - +
    {{ announcement }}
    - Edit/regenerate announcement - Back - - + + Edit/regenerate announcement + + Back
    -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/charter/ballot_issued.html b/ietf/templates/doc/charter/ballot_issued.html index 94f765bd6..522be0c24 100644 --- a/ietf/templates/doc/charter/ballot_issued.html +++ b/ietf/templates/doc/charter/ballot_issued.html @@ -1,16 +1,20 @@ +{# bs5ok #} {% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} {% load origin %} - {% block title %}Ballot for {{ doc.name }} issued{% endblock %} - {% block content %} {% origin %} -

    Ballot for {{ doc.name }} issued

    - -

    Ballot has been sent out.

    - +

    + Ballot issued +
    + {{ doc.name }} +

    +

    + Ballot has been sent out. +

    - Back + Back
    -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/charter/ballot_writeupnotes.html b/ietf/templates/doc/charter/ballot_writeupnotes.html index 7e4968a00..5e2f736e3 100644 --- a/ietf/templates/doc/charter/ballot_writeupnotes.html +++ b/ietf/templates/doc/charter/ballot_writeupnotes.html @@ -1,31 +1,35 @@ +{# bs5ok #} {% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} {% load origin %} - {% load django_bootstrap5 %} - {% block title %}Ballot writeup and notes for {{ charter.chartered_group }}{% endblock %} - {% block content %} {% origin %} - -

    Ballot writeup and notes
    {{ charter.chartered_group }}

    - -
    +

    + Ballot writeup and notes +
    + {{ charter.chartered_group }} +

    + {% csrf_token %} {% bootstrap_form ballot_writeup_form %} - -
    - Working group summary, personnel, IAB note, IESG note, IANA note. -
    - - - - - - Back - - +
    Working group summary, personnel, IAB note, IESG note, IANA note.
    + + + + Back +
    - -{% endblock%} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/charter/change_ad.html b/ietf/templates/doc/charter/change_ad.html index 127ac7b2b..ccbd9a81b 100644 --- a/ietf/templates/doc/charter/change_ad.html +++ b/ietf/templates/doc/charter/change_ad.html @@ -1,27 +1,23 @@ +{# bs5ok #} {% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} {% load origin %} - {% load django_bootstrap5 %} - -{% block title %} - Change responsible AD for {{ charter.canonical_name }}-{{ charter.rev }} -{% endblock %} - +{% block title %}Change responsible AD for {{ charter.canonical_name }}-{{ charter.rev }}{% endblock %} {% block content %} {% origin %} -

    Change responsible AD
    {{ charter.canonical_name }}-{{ charter.rev }}

    - -
    +

    + Change responsible AD +
    + {{ charter.canonical_name }}-{{ charter.rev }} +

    + {% csrf_token %} {% bootstrap_form form %} - - - - Back - - + + Back +
    - -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/charter/change_state.html b/ietf/templates/doc/charter/change_state.html index db2b70b28..acf1c794c 100644 --- a/ietf/templates/doc/charter/change_state.html +++ b/ietf/templates/doc/charter/change_state.html @@ -1,64 +1,60 @@ +{# bs5ok #} {% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} {% load origin %} - {% load django_bootstrap5 %} - {% block title %}{{ title }}{% endblock %} - {% block content %} {% origin %}

    {{ title }}

    - {% if not option %} -

    Help on states

    +

    + Help on states +

    {% endif %} -
    {% csrf_token %} {% for field in form.visible_fields %} {% bootstrap_field field %} - {% if field.name == "charter_state" and chartering_type == "rechartering" %} -
    - +
    + +
    {% endif %} {% endfor %} - {% if initial_review %} -

    Warning: Announced initial review time hasn't elapsed yet. It does so at {{ initial_review.expires }}.

    +

    + Warning: Announced initial review time hasn't elapsed yet. It does so at {{ initial_review.expires }}. +

    {% endif %} - - - {% if option == "initcharter" or option == "recharter" %} {% endif %} {% if not option or option == "abandon" %} - Back + Back {% endif %} - - - {% if prev_state %}

    Or revert to previous state

    -
    -
    {% csrf_token %} - + + {% csrf_token %} +
    {% endif %} {% endblock %} - {% block js %} -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/charter/change_title.html b/ietf/templates/doc/charter/change_title.html index bc67798e8..2a753d90e 100644 --- a/ietf/templates/doc/charter/change_title.html +++ b/ietf/templates/doc/charter/change_title.html @@ -1,26 +1,17 @@ +{# bs5ok #} {% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} {% load origin %} - {% load django_bootstrap5 %} - {% block title %}{{ title }}{% endblock %} - {% block content %} {% origin %}

    {{ title }}

    - -
    + {% csrf_token %} - {% bootstrap_form form %} - - - - Back + Back - -
    - -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/charter/review_announcement_text.html b/ietf/templates/doc/charter/review_announcement_text.html index 446e4fe54..f164c5c55 100644 --- a/ietf/templates/doc/charter/review_announcement_text.html +++ b/ietf/templates/doc/charter/review_announcement_text.html @@ -1,34 +1,40 @@ +{# bs5ok #} {% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} {% load origin %} - {% load django_bootstrap5 %} {% load ietf_filters %} - -{% block title %}WG Review announcement }} announcement writeup for {{ charter.chartered_group.acronym }}{% endblock %} - +{% block title %}WG Review announcement writeup for {{ charter.chartered_group.acronym }}{% endblock %} {% block content %} {% origin %} -

    WG Review announcement writeup
    {{ charter.chartered_group.acronym }}

    - -
    +

    + WG Review announcement writeup +
    + {{ charter.chartered_group.acronym }} +

    + {% csrf_token %} {% bootstrap_form announcement_text_form %} - - - - - + {% if user|has_role:"Secretariat" %} - - - + + + {% endif %} - Back - -
    - -{% endblock%} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/charter/submit.html b/ietf/templates/doc/charter/submit.html index b98e603a7..73281cd84 100644 --- a/ietf/templates/doc/charter/submit.html +++ b/ietf/templates/doc/charter/submit.html @@ -1,39 +1,40 @@ +{# bs5ok #} {% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} {% load origin %} {% load django_bootstrap5 %} {% load textfilters %} - - -{% block title %} - Charter submission for {{ group.acronym }} {{ group.type.name }} -{% endblock %} - +{% load person_filters %} +{% block title %}Charter submission for {{ group.acronym }} {{ group.type.name }}{% endblock %} {% block content %} {% origin %}

    Charter submission

    - - - +
    + - + - - + - {% if group.parent and group.parent.type_id == "area" %} - + {% else %} - + + {% endif %} @@ -41,13 +42,11 @@ - + {% for slug, label, roles in group.personnel %} {% if forloop.first %} @@ -57,46 +56,55 @@ {% endif %} {% endfor %} - {% if group.list_email %} - + - + + + + + + + + + + + + - - {% endif %}
    {{ group.type.name }} Name{{ group.name }}{{ group.name }}
    Acronym{{ group.acronym }} + {{ group.acronym }} +
    {{ group.parent.type.name }}{{ group.parent.name }} ({{ group.parent.acronym }}) + {{ group.parent.name }} ( + {{ group.parent.acronym }} + ) +
    State {{ group.state.name }} - {% if requested_close %} -
    In the process of being closed
    - {% endif %} + {% if requested_close %}
    In the process of being closed
    {% endif %}
    {{ label }} - - {% for r in roles %} - - {{ r.person.plain_name }} + {% person_link r.person %}
    {% endfor %}
    Mailing listAddress{{ group.list_email|linkify }}Address{{ group.list_email|linkify }}
    To subscribe{{ group.list_subscribe|linkify }}
    Archive + {{ group.list_archive|linkify }} +
    To subscribe{{ group.list_subscribe|linkify }}
    Archive{{ group.list_archive|linkify }}
    - -

    The text will be submitted as {{ name }}-{{ next_rev }}.

    - +

    + The text will be submitted as {{ name }}-{{ next_rev }}. +

    {% csrf_token %} {% bootstrap_form form %} - - - - + {% if group.charter %} - Back + + Back + {% else %} - Back + + Back + {% endif %} - -
    - -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/conflict_review/approve.html b/ietf/templates/doc/conflict_review/approve.html index 652727a12..e8e301a93 100644 --- a/ietf/templates/doc/conflict_review/approve.html +++ b/ietf/templates/doc/conflict_review/approve.html @@ -1,25 +1,17 @@ +{# bs5ok #} {% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} {% load origin %} - {% load django_bootstrap5 %} - {% block title %}Approve {{ review.canonical_name }}{% endblock %} - {% block content %} {% origin %}

    Approve {{ review.canonical_name }}

    - -
    + {% csrf_token %} {% bootstrap_form form %} - - - - Back - - + Back
    - -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/conflict_review/start.html b/ietf/templates/doc/conflict_review/start.html index e3e44ec54..43eae20a6 100644 --- a/ietf/templates/doc/conflict_review/start.html +++ b/ietf/templates/doc/conflict_review/start.html @@ -1,31 +1,30 @@ +{# bs5ok #} {% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} {% load origin %} - {% load django_bootstrap5 %} - {% load ietf_filters %} - -{% block title %}Begin IETF conflict review for {{doc_to_review.canonical_name}}-{{doc_to_review.rev}}{% endblock %} - +{% block title %}Begin IETF conflict review for {{ doc_to_review.canonical_name }}-{{ doc_to_review.rev }}{% endblock %} {% block content %} {% origin %} -

    Begin IETF conflict review
    {{doc_to_review.canonical_name}}-{{doc_to_review.rev}}

    - +

    + Begin IETF conflict review +
    + {{ doc_to_review.canonical_name }}-{{ doc_to_review.rev }} +

    {% if user|has_role:"Secretariat" %} -

    Help on states

    +

    + Help on states +

    {% endif %} - -
    + {% csrf_token %} {% bootstrap_form form %} - - - - Back - - + + Back +
    - -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/conflict_review/submit.html b/ietf/templates/doc/conflict_review/submit.html index b423c77d4..3ba1c9b65 100644 --- a/ietf/templates/doc/conflict_review/submit.html +++ b/ietf/templates/doc/conflict_review/submit.html @@ -1,31 +1,35 @@ +{# bs5ok #} {% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} {% load origin %} - {% load django_bootstrap5 %} - -{% block title %} - Edit conflict review for {{ conflictdoc.canonical_name }}-{{ conflictdoc.rev }} -{% endblock %} - +{% block title %}Edit conflict review for {{ conflictdoc.canonical_name }}-{{ conflictdoc.rev }}{% endblock %} {% block content %} {% origin %} -

    Edit conflict review
    {{ conflictdoc.canonical_name }}-{{ conflictdoc.rev }}

    - -

    The text will be submitted as {{ review.canonical_name }}-{{ next_rev }}

    - -
    +

    + Edit conflict review +
    + {{ conflictdoc.canonical_name }}-{{ conflictdoc.rev }} +

    +

    + The text will be submitted as {{ review.canonical_name }}-{{ next_rev }} +

    + {% csrf_token %} {% bootstrap_form form %} - - - - - - Back - - - + + + + Back +
    - -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/document_ballot.html b/ietf/templates/doc/document_ballot.html index 76e8141eb..450a40240 100644 --- a/ietf/templates/doc/document_ballot.html +++ b/ietf/templates/doc/document_ballot.html @@ -1,13 +1,11 @@ +{# bs5ok #} {% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} {% load origin %} - {% load ietf_filters %} - {% block title %}Ballot for {{ doc.name }}-{{ doc.rev }}{% endblock %} - {% block content %} {% origin %} {{ top|safe }} {{ ballot_content|safe }} -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/document_ballot_content.html b/ietf/templates/doc/document_ballot_content.html index 07c1d541c..29318be7f 100644 --- a/ietf/templates/doc/document_ballot_content.html +++ b/ietf/templates/doc/document_ballot_content.html @@ -1,168 +1,238 @@ -{# Copyright The IETF Trust 2015, All Rights Reserved #}{% load origin %}{% origin %} +{# bs5ok #} +{# Copyright The IETF Trust 2015, All Rights Reserved #} +{% load origin %} +{% origin %} {% load ietf_filters %} {% load textfilters %} -
    - {% for n, positions in position_groups %} -

    {{ n.name }}

    +
    + {{ n.name }} +
    {% for p in positions %} -
    - {% if p.is_old_pos %}({% endif %}{% if p.comment or p.discuss %}{% endif %}{{ p.balloter.plain_name }}{% if p.comment or p.discuss %}{% endif %}{% if p.is_old_pos %}){% endif %} +
    + {% if p.is_old_pos %} + + ( + {% endif %} + {% if p.comment or p.discuss %}{% endif %} + {{ p.balloter.plain_name }} + {% if p.comment or p.discuss %}{% endif %} + {% if p.is_old_pos %} + ) + + {% endif %}
    {% empty %} - (None) + (None) {% endfor %}
    {% endfor %}
    -
    {% if all_ballots and all_ballots|length > 1 %} {% endif %} - {% if doc.type_id == "draft" or doc.type_id == "conflrev" or doc.type_id == "statchg" %} {% if deferred %} -

    Ballot deferred by {{ deferred.by }} on {{ deferred.time|date:"Y-m-d" }}.

    +

    + Ballot deferred by {{ deferred.by }} on {{ deferred.time|date:"Y-m-d" }}. +

    {% endif %} {% endif %} - {% if not ballot_open %} -

    Note: This ballot was opened for revision {{ ballot.rev }} and is now closed.

    +

    + Note: This ballot was opened for revision {{ ballot.rev }} and is now closed. +

    {% else %} -

    Summary: {{ summary }}

    +

    + Summary: {{ summary }} +

    {% endif %} - {% if ballot.ballot_type.question %} -

    Ballot question: "{{ ballot.ballot_type.question }}"

    +

    + Ballot question: "{{ ballot.ballot_type.question }}" +

    {% endif %} - {% if editable and user|has_role:"Area Director,Secretariat,IRSG Member" %} - - Search Mailarchive - + + Search Mailarchive + {% if user|can_ballot:doc %} - Edit position + + Edit position + {% endif %} - {% if doc.type_id == "draft" or doc.type_id == "conflrev" or doc.type_id == "statchg" %} {% if deferred %} - Undefer ballot + Undefer ballot {% else %} {% if doc.telechat_date %} - Defer ballot + Defer ballot {% endif %} {% endif %} - {% if user|has_role:"Area Director,Secretariat" and ballot.ballot_type.slug != "irsg-approve" %} - Clear ballot + + Clear ballot + {% endif %} {% endif %} {% endif %} - {% for n, positions in position_groups %} {% for p in positions %} {% if not p.is_old_pos %} -

    {{ p.balloter.plain_name }} +

    + {{ p.balloter.plain_name }} {% if p.old_positions %}(was {{ p.old_positions|join:", " }}){% endif %} - {{p.pos}} + {{ p.pos }} {% if user|has_role:"Secretariat" %} - Edit + + Edit + {% endif %} -
    + {% if p.pos.blocking and p.discuss %} -
    -
    -
    {{ p.pos.name }} ({{ p.discuss_time|date:"Y-m-d" }}{% if not p.for_current_revision %} for -{{ p.get_dochistory.rev }}{% endif %}) +
    +
    +
    + {{ p.pos.name }} ({{ p.discuss_time|date:"Y-m-d" }} + {% if not p.for_current_revision %}for -{{ p.get_dochistory.rev }}{% endif %} + ) {% if p.send_email %} - + {% elif p.any_email_sent == True %} - + {% elif p.any_email_sent == False %} - + {% else %} - + {% endif %}
    -
    {{ p.discuss|linkify }}
    +
    +
    {{ p.discuss|linkify }}
    +
    {% endif %} - {% if p.comment %} -
    -
    -
    Comment ({{ p.comment_time|date:"Y-m-d" }}{% if not p.for_current_revision %} for -{{ p.get_dochistory.rev }}{% endif %}) +
    +
    +
    + Comment ({{ p.comment_time|date:"Y-m-d" }} + {% if not p.for_current_revision %}for -{{ p.get_dochistory.rev }}{% endif %} + ) {% if p.send_email %} - + {% elif p.any_email_sent == True %} - + {% elif p.any_email_sent == False %} - + {% else %} -
    No email
    send info
    + {% endif %}
    -
    {{ p.comment|linkify }}
    +
    +
    {{ p.comment|linkify }}
    +
    {% endif %} {% endif %} {% endfor %} {% endfor %} - {% for n, positions in position_groups %} {% for p in positions %} {% if p.is_old_pos %} -

    +

    ({{ p.balloter.plain_name }}; former steering group member) {% if p.old_positions %}(was {{ p.old_positions|join:", " }}){% endif %} - {{p.pos}} + {{ p.pos }} {% if user|has_role:"Secretariat" %} - Edit + + Edit + {% endif %} -
    -
    -
    -
    {{ p.pos.name }} + +
    +
    +
    + {{ p.pos.name }} {% if p.pos.blocking and p.discuss %} - [Treat as non-blocking comment] ({{ p.discuss_time|date:"Y-m-d" }}{% if not p.for_current_revision %} for -{{ p.get_dochistory.rev }}{% endif %}) + [Treat as non-blocking comment] ({{ p.discuss_time|date:"Y-m-d" }} + {% if not p.for_current_revision %}for -{{ p.get_dochistory.rev }}{% endif %} + ) {% else %} - ({{ p.comment_time|date:"Y-m-d" }}{% if not p.for_current_revision %} for -{{ p.get_dochistory.rev }}{% endif %}) + ({{ p.comment_time|date:"Y-m-d" }} + {% if not p.for_current_revision %}for -{{ p.get_dochistory.rev }}{% endif %} + ) {% endif %} {% if p.send_email %} - + {% elif p.any_email_sent == True %} - + {% elif p.any_email_sent == False %} - + {% else %} -
    No email
    send info
    +
    + No email +
    + send info +
    {% endif %}
    {% if p.pos.blocking and p.discuss %} -
    {{ p.discuss|linkify }}
    +
    +
    {{ p.discuss|linkify }}
    +
    {% else %} -
    {{ p.comment|linkify }}
    +
    +
    {{ p.comment|linkify }}
    +
    {% endif %}
    {% endif %} {% endfor %} {% endfor %}
    -
    \ No newline at end of file +
    diff --git a/ietf/templates/doc/document_bofreq.html b/ietf/templates/doc/document_bofreq.html index bf7b91420..225173930 100644 --- a/ietf/templates/doc/document_bofreq.html +++ b/ietf/templates/doc/document_bofreq.html @@ -1,44 +1,30 @@ +{# bs5ok #} {% extends "base.html" %} {# Copyright The IETF Trust 2021, All Rights Reserved #} {% load origin %} {% load static %} {% load ietf_filters %} {% load person_filters %} - {% block title %}{{ doc.title }}{% endblock %} - {% block content %} {% origin %} {{ top|safe }} - {% include "doc/revisions_list.html" %}
    - - - - - {% if doc.rev != latest_rev %} - - {% else %} - - {% endif %} - - - - - + {% if doc.rev != latest_rev %} +
    The information below is for an older version of this BOF request.
    + {% endif %} +
    The information below is for an older version of this BOF request
    + - @@ -49,19 +35,19 @@ {% endif %} {% endif %} - + - - - + - - + - @@ -105,11 +90,11 @@ - {% with doc.docextresource_set.all as resources %} {% if resources or editor_can_manage or can_manage %} @@ -117,32 +102,34 @@ {% endif %} {% endwith %} - - + -
    Document Type - {{doc.get_state.slug|capfirst}} BOF request - {% if snapshot %} - Snapshot - {% endif %} + {{ doc.get_state.slug|capfirst }} BOF request + {% if snapshot %}Snapshot{% endif %}
    Title{{ doc.title }}{{ doc.title }}
    Last updated {{ doc.time|date:"Y-m-d" }}
    State + State + {% if not snapshot and can_manage %} {% doc_edit_button 'ietf.doc.views_bofreq.change_state' name=doc.name %} @@ -75,10 +61,9 @@ {% endif %}
    Editor{{editors|pluralize}}Editor{{ editors|pluralize }} {% if not snapshot %} {% if editor_can_manage or can_manage %} @@ -88,11 +73,11 @@ {% for editor in editors %} - {% person_link editor %}{% if not forloop.last %}, {% endif %} + {% person_link editor %} + {% if not forloop.last %},{% endif %} {% endfor %}
    Responsible Leadership {% for leader in responsible %} - {% person_link leader %}{% if not forloop.last %}, {% endif %} + {% person_link leader %} + {% if not forloop.last %},{% endif %} {% endfor %}
    Additional Resources {% if editor_can_manage or can_manage %} - Edit + Edit {% endif %} {% if resources %} - - - {% for resource in resources|dictsort:"display_name" %} - {% if resource.name.type.slug == 'url' or resource.name.type.slug == 'email' %} - - {# Maybe make how a resource displays itself a method on the class so templates aren't doing this switching #} - {% else %} - - {% endif %} - {% endfor %} - -
    - {% firstof resource.display_name resource.name.name %}
    - {% firstof resource.display_name resource.name.name %}: {{resource.value}}
    + {% for resource in resources|dictsort:"display_name" %} + {% if resource.name.type.slug == 'url' or resource.name.type.slug == 'email' %} + + {% firstof resource.display_name resource.name.name %} + +
    + {# Maybe make how a resource displays itself a method on the class so templates aren't doing this switching #} + {% else %} + {% firstof resource.display_name resource.name.name %}: {{ resource.value }} +
    + {% endif %} + {% endfor %} {% endif %}
    Send notices to + Send notices to + {% if not snapshot %} {% if can_manage %} @@ -154,26 +141,30 @@ {{ doc.notify|default:"(None)" }}
    - {% if not snapshot %} {% if editor_can_manage or can_manage %} -

    Change BOF request text

    +

    + + Change BOF request text + +

    {% endif %} {% endif %} -
    -
    {{doc.name}}-{{doc.rev}}
    +
    + {{ doc.name }}-{{ doc.rev }} +
    {{ content|sanitize|safe }}
    - {% endblock %} - {% block js %} - - -{% endblock %} + + +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/document_charter.html b/ietf/templates/doc/document_charter.html index e4e836385..a021d5cb1 100644 --- a/ietf/templates/doc/document_charter.html +++ b/ietf/templates/doc/document_charter.html @@ -1,47 +1,52 @@ +{# bs5ok #} {% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} {% load origin %} {% load static %} {% load ietf_filters %} - +{% load person_filters %} {% block pagehead %} - + {% endblock %} - {% block title %}{{ doc.title }}{% endblock %} - {% block content %} {% origin %} {{ top|safe }} - {% include "doc/revisions_list.html" %}
    - - - - - {% if doc.rev|charter_major_rev != latest_rev|charter_major_rev %} - - {% else %} - {% if doc.rev != latest_rev %} - {% if doc.rev|charter_minor_rev %} - - {% else %} - - {% endif %} - {% else %} - {% if doc.rev|charter_minor_rev and doc.rev|charter_major_rev != '00' %} - - {% else %} - - {% endif %} - {% endif %} - {% endif %} - - - - - + {% if doc.rev|charter_major_rev != latest_rev|charter_major_rev %} +
    + The information below is for an older + {% if doc.rev|charter_minor_rev %} + proposed + {% else %} + approved + {% endif %} + charter +
    + {% else %} + {% if doc.rev != latest_rev %} + {% if doc.rev|charter_minor_rev %} +
    + The information below is for an older version of the current proposed rechartering effort +
    + {% else %} +
    + The information below is for the currently approved charter, but newer proposed charter text exists +
    + {% endif %} + {% else %} + {% if doc.rev|charter_minor_rev and doc.rev|charter_major_rev != '00' %} +
    + The information below is for a proposed recharter. The current approved charter is version {{ doc.rev|charter_major_rev }} +
    + {% endif %} + {% endif %} + {% endif %} +
    The information below is for an older {% if doc.rev|charter_minor_rev %}proposed{% else %}approved{% endif %} charterThe information below is for an older version of the current proposed rechartering effortThe information below is for the currently approved charter, but newer proposed charter text existsThe information below is for a proposed recharter. The current approved charter is version {{ doc.rev|charter_major_rev }}
    + - - @@ -72,17 +73,17 @@ - - - + - - - + @@ -114,35 +108,40 @@ - - + {% if group.type_id != "rg" %} - + - - + + {% endif %} - {% if not snapshot and chartering %} - - + + {% endif %} - - - + + -
    Document @@ -52,16 +57,12 @@ {% endif %} + {{ group.name }} {{ group.type.name }} ({{ group.acronym }}) - - {% if snapshot %} - Snapshot - {% endif %} - + {% if snapshot %}Snapshot{% endif %} +
    Title {{ doc.title }}
    Last updated {{ doc.time|date:"Y-m-d" }}
    State + State + {% if not snapshot and can_manage %} {% doc_edit_button 'ietf.doc.views_charter.change_state' name=doc.name %} @@ -94,19 +95,12 @@ {% else %} No document state {% endif %} - - {% if chartering == "initial" %} - Initial chartering - {% endif %} - {% if chartering == "rechartering" %} - Rechartering - {% endif %} + {% if chartering == "initial" %}Initial chartering{% endif %} + {% if chartering == "rechartering" %}Rechartering{% endif %}
    {{ group.type.name }} State{{ group.state.name }}
    IESG Responsible AD - {{ group.ad_role.person.plain_name|default:"(None)" }} + + {% person_link group.ad_role.person %}
    Charter Edit AD + + Charter Edit AD + {% if can_manage %} {% doc_edit_button 'ietf.doc.views_charter.edit_ad' name=doc.name %} {% endif %} - {{ doc.ad|default:"(None)" }} + {% person_link doc.ad %}
    Telechat date + + Telechat date + {% if can_manage %} {% doc_edit_button 'ietf.doc.views_doc.telechat_date;charter' name=doc.name %} @@ -154,17 +153,19 @@ {% else %} On agenda of {{ telechat.telechat_date|date:"Y-m-d" }} IESG telechat {% endif %} - {% if ballot_summary %} -
    {{ ballot_summary }} +
    + {{ ballot_summary }} {% endif %}
    Send notices to + + Send notices to + {% if can_manage %} {% doc_edit_button 'ietf.doc.views_doc.edit_notify;charter' name=doc.name %} @@ -174,69 +175,85 @@ {{ doc.notify|default:"(None)" }}
    -

    {% if not snapshot and can_manage %} {% if chartering %} {% url 'ietf.doc.views_charter.change_state' name=doc.name option='abandon' as abandon_url %} {% if abandon_url %} - Abandon chartering + + Abandon chartering + {% endif %} - {% if user|has_role:"Secretariat" %} {% url 'ietf.doc.views_charter.approve' name=doc.name as approve_url %} {% if approve_url %} - Approve charter + + Approve charter + {% endif %} {% endif %} - {% else %} - {% if group.state_id == "proposed" or group.state_id == "bof" %} {% url 'ietf.doc.views_charter.submit' name=doc.name option='initcharter' as start_url %} {% if start_url %} - Start chartering + + Start chartering + {% endif %} {% else %} {% url 'ietf.doc.views_charter.submit' name=doc.name option='recharter' as recharter_url %} {% if recharter_url %} - Recharter + + Recharter + {% endif %} {% endif %} {% endif %} {% endif %}

    - -

    Charter
    {{ doc.canonical_name }}-{{ doc.rev }}

    - +

    + Charter +
    + {{ doc.canonical_name }}-{{ doc.rev }} +

    {% if not snapshot and can_manage and chartering and group.state_id != "conclude" %} -

    Change charter text

    +

    + + Change charter text + +

    {% endif %} - {% if doc.rev != "" %} {# this content is already wrapped in 'pre' #} {{ content|sanitize|maybewordwrap|safe }} {% endif %} - {% if not snapshot and chartering %} -

    Proposed milestones

    +

    + Proposed milestones +

    {% if can_manage %} -

    Edit milestones

    +

    + + Edit milestones + +

    {% endif %} - {% if milestones %} {% include "group/milestones.html" %} {% else %} -

    No milestones for charter found.

    +

    + No milestones for charter found. +

    {% endif %} {% endif %} - {% endblock %} - {% block js %} - - -{% endblock %} + + +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/document_conflict_review.html b/ietf/templates/doc/document_conflict_review.html index e898abd26..c5e62e484 100644 --- a/ietf/templates/doc/document_conflict_review.html +++ b/ietf/templates/doc/document_conflict_review.html @@ -1,30 +1,22 @@ +{# bs5ok #} {% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} {% load origin %} {% load static %} {% load ietf_filters %} - +{% load person_filters %} +{% load textfilters %} {% block title %}{{ doc.title }}{% endblock %} - {% block content %} {% origin %} {{ top|safe }} - {% include "doc/revisions_list.html" %}
    - - - - - {% if doc.rev != latest_rev %} - - {% else %} - - {% endif %} - - - - + {% if doc.rev != latest_rev %} +
    The information below is for an old version of the document
    + {% endif %} +
    The information below is for an old version of the document
    + - - - + - + - - + - + - + - {% if not snapshot %} {% endif %} - - +
    Document @@ -37,58 +29,63 @@ - {{ conflictdoc.canonical_name }}{% if conflictdoc.get_state_slug != 'rfc' %}-{{ conflictdoc.rev }}{% endif %} + {% if conflictdoc.get_state_slug == 'rfc' %} + {{ conflictdoc.canonical_name|upper }} + {% else %} + {{ conflictdoc.canonical_name }}-{{ conflictdoc.rev }} + {% endif %} - {{conflictdoc.stream}} stream - - {% if snapshot %} - Snapshot - {% endif %} + {{ conflictdoc.stream }} stream + {% if snapshot %}Snapshot{% endif %}
    Last updated {{ doc.time|date:"Y-m-d" }}
    State + State + {% if not snapshot and user|has_role:"Area Director,Secretariat" %} - Edit + + Edit + {% endif %} - {{ doc.get_state.name }} - {{ doc.get_state.name }}
    IESGShepherding ADResponsible AD {% if not snapshot and user|has_role:"Area Director,Secretariat" and doc.get_state_slug not in approved_states %} - Edit + + Edit + {% endif %} - {{doc.ad}} - {% person_link doc.ad %}
    Telechat date {% if not snapshot and user|has_role:"Area Director,Secretariat" and doc.get_state_slug not in approved_states %} - Edit + + Edit + {% endif %} @@ -96,50 +93,56 @@ (None) {% else %} On agenda of {{ telechat.telechat_date|date:"Y-m-d" }} IESG telechat - {% if doc.returning_item %} (returning item){% endif %} + {% if doc.returning_item %}(returning item){% endif %} {% endif %} - {% if ballot_summary %} -
    {{ ballot_summary }} +
    + {{ ballot_summary }} {% endif %}
    Send notices to {% if not snapshot and user|has_role:"Area Director,Secretariat" and doc.get_state_slug not in approved_states %} - Edit + + Edit + {% endif %} - {{doc.notify}} - {{ doc.notify|linkify }}
    - -

    Conflict review
    {{ conflictdoc.name }}-{{ conflictdoc.rev }}

    +

    + Conflict review +
    + {{ conflictdoc.name }}-{{ conflictdoc.rev }} +

    {% if not snapshot and user|has_role:"Area Director,Secretariat" and doc.get_state_slug != 'apprsent' %} - Change conflict review text + + Change conflict review text + {% endif %} - {% if not snapshot and user|has_role:"Area Director,Secretariat" %} {% if request.user|has_role:"Secretariat" %} {% if doc.get_state_slug == 'appr-reqnopub-pend' or doc.get_state_slug == 'appr-noprob-pend' %} - Approve conflict review + + Approve conflict review + {% endif %} {% endif %} {% endif %} - - {% if doc.rev %} -
       {{ content|sanitize|maybewordwrap|safe }}
    - {% endif %} + {% if doc.rev %}
       {{ content|sanitize|maybewordwrap|safe }}
    {% endif %} {% endblock %} - {% block js %} - - -{% endblock %} + + +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/document_draft.html b/ietf/templates/doc/document_draft.html index aabf8255b..28a0112e4 100644 --- a/ietf/templates/doc/document_draft.html +++ b/ietf/templates/doc/document_draft.html @@ -1,19 +1,25 @@ +{# bs5ok #} {% extends "base.html" %} {# Copyright The IETF Trust 2016-2020, All Rights Reserved #} {% load origin %} {% load static %} {% load ietf_filters %} {% load person_filters %} - +{% load textfilters %} {% block pagehead %} - - + + {% endblock %} - -{% block morecss %} - .inline { display: inline; } -{% endblock %} - +{% block morecss %}.inline { display: inline; }{% endblock %} {% block title %} {% if doc.get_state_slug == "rfc" and not snapshot %} RFC {{ rfc_number }} - {{ doc.title }} @@ -21,30 +27,22 @@ {{ name }}-{{ doc.rev }} - {{ doc.title }} {% endif %} {% endblock %} - {% block content %} {% origin %} {{ top|safe }} - {% include "doc/revisions_list.html" %}
    - - - - - {% if doc.rev != latest_rev %} - - {% else %} - {% if doc.get_state_slug == "rfc" and snapshot %} - - {% else %} - - {% endif %} - {% endif %} - - - - + {% if doc.rev != latest_rev %} +
    The information below is for an old version of the document.
    + {% else %} + {% if doc.get_state_slug == "rfc" and snapshot %} +
    + The information below is for an old version of the document that is already published as an RFC. +
    + {% endif %} + {% endif %} +
    The information below is for an old version of the documentThe information below is for an old version of the document that is already published as an RFC
    + @@ -52,46 +50,68 @@ - - + - - @@ -103,41 +123,46 @@ {% endif %} - {% if replaces or can_edit_stream_info %} - + {% endif %} - {% if replaced_by %} - - + + {% endif %} - {% if can_view_possibly_replaces %} {% if possibly_replaces %} - - + + {% endif %} - {% if possibly_replaced_by %} - - + + {% endif %} {% endif %} - - - + + - {% if doc.get_state_slug != "rfc" and not snapshot %} - - + + {% endif %} - - - - + + + - {% for check in doc.submission.latest_checks %} {% if check.passed != None and check.symbol.strip %} - - - + + + {% endif %} {% endfor %} - {% if review_assignments or can_request_review %} - - - + + + {% endif %} - - {% if conflict_reviews %} - - - - + + + + {% endif %} - {% with doc.docextresource_set.all as resources %} {% if resources or can_edit_stream_info or can_edit_individual %} - - + + {% endif %} {% endwith %} - + - + {% if doc.stream %} {% else %} - - - + + + {% endif %} - {% if consensus and not doc.stream_id == 'ietf' %} - - + + {% endif %} - {% if presentations or user|has_role:"Secretariat,Area Director,WG Chair,WG Secretary,RG Chair,RG Secretary,IRTF Chair,Team Chair" or can_edit_stream_info %} - - + + - {% endif %} - {% if doc.stream_id == 'ietf' or doc.stream_id == 'ise' or doc.stream_id == 'irtf' %} - - + + - {% if shepherd_writeup or can_edit_shepherd_writeup %} - - + + - - + + {% endif %} - {% if published and started_iesg_process and published.time < started_iesg_process.time %} - - + + {% endif %} - - {% if not doc.stream_id == 'iab' %} - + - - + + - {% if doc.action_holders_enabled %} - - + + - {% endif %} - - {% if consensus and doc.stream_id == 'ietf' %} - - - - - - - {% endif %} - - - - - - - - - - - - - - - - {% if iesg_state.slug != 'idexists' %} - {% if doc.note or can_edit %} + {% endif %} + {% if consensus and doc.stream_id == 'ietf' %} - - + + {% endif %} - {% endif %} - - - - - + + + + + + + + + + + + {% if iesg_state.slug != 'idexists' %} + {% if doc.note or can_edit %} + + + + + + {% endif %} - - - - - - {% endif %} - - {% if can_edit_iana_state or iana_review_state or iana_experts_state or iana_experts_comment %} - - {% if iana_review_state or can_edit_iana_state %} + {% endif %} - - + + - {% endif %} - - {% if iana_action_state or can_edit_iana_state %} + + {% endif %} + {% if can_edit_iana_state or iana_review_state or iana_experts_state or iana_experts_comment %} + + {% if iana_review_state or can_edit_iana_state %} + + + + + + + {% endif %} + {% if iana_action_state or can_edit_iana_state %} + + + + + + + {% endif %} + {% if iana_experts_state or can_edit_iana_state %} + + + + + + + {% endif %} + {% if iana_experts_comment or can_edit_iana_state %} + + + + + + + {% endif %} + + {% endif %} + + {% if rfc_editor_state %} - - - - - - {% endif %} - - {% if iana_experts_state or can_edit_iana_state %} - - - - - - - {% endif %} - - {% if iana_experts_comment or can_edit_iana_state %} - - - - - - - {% endif %} - - - {% endif %} - - - {% if rfc_editor_state %} - - - - - - - - - - - + + + + + + + + + - - - {% endif %} - - -
    Document Type {% if doc.get_state_slug == "rfc" and not snapshot %} RFC - {{ doc.std_level }} - ({% if published %}{{ published.time|date:"F Y" }}{% else %}publication date unknown{% endif %}{% if has_errata %}; Errata{% else %}; No errata{% endif %}) - + ( + {% if published %} + {{ published.time|date:"F Y" }} + {% else %} + publication date unknown + {% endif %} + {% if has_errata %} + ; + Errata + {% else %} + ; No errata + {% endif %} + ) {% if obsoleted_by %}
    Obsoleted by {{ obsoleted_by|urlize_related_source_list|join:", " }}
    {% endif %} {% if updated_by %}
    Updated by {{ updated_by|urlize_related_source_list|join:", " }}
    {% endif %} {% if obsoletes %}
    Obsoletes {{ obsoletes|urlize_related_target_list|join:", " }}
    {% endif %} - {% if updates %}
    Updates {{ updates|urlize_related_target_list|join:", " }}
    {% endif %} - {% if status_changes %}
    Status changed by {{ status_changes|join:", "|urlize_related_source_list }}
    {% endif %} - {% if proposed_status_changes %}
    Proposed status changed by {{ proposed_status_changes|join:", "|urlize_related_source_list }}
    {% endif %} + {% if updates %}
    Updates {{ updates|urlize_related_target_list|join:", " }}
    {% endif %} + {% if status_changes %} +
    Status changed by {{ status_changes|join:", "|urlize_related_source_list }}
    + {% endif %} + {% if proposed_status_changes %} +
    Proposed status changed by {{ proposed_status_changes|join:", "|urlize_related_source_list }}
    + {% endif %} {% if rfc_aliases %}
    Also known as {{ rfc_aliases|join:", "|urlize_ietf_docs }}
    {% endif %} - {% if draft_name %}
    Was {{ draft_name }} {% if submission %}({{ submission|safe }}){% endif %}
    {% endif %} + {% if draft_name %} +
    + Was + {{ draft_name }} + {% if submission %}({{ submission|safe }}){% endif %} +
    + {% endif %} {% else %} - {{ doc.get_state }} Internet-Draft {% if submission %}({{ submission|safe }}){% endif %} + {{ doc.get_state }} Internet-Draft + {% if submission %}({{ submission|safe }}){% endif %} {% if resurrected_by %}- resurrect requested by {{ resurrected_by }}{% endif %} {% endif %}
    Author{{doc.authors|pluralize}}Author{{ doc.authors|pluralize }} {% if can_edit_authors %} - Edit + Edit {% endif %} {# Implementation that uses the current primary email for each author #} {% for author in doc.authors %} - {% person_link author %}{% if not forloop.last %}, {% endif %} + {% person_link author %} + {% if not forloop.last %},{% endif %} {% endfor %} {% comment %} - {# Alternative implementation that uses the submission email (which might have turned invalid #} + {# Alternative implementation that uses the submission email (which might have turned invalid #} {% for author in doc.documentauthor_set.all %} - {% email_person_link author.email %}{% if not forloop.last %}, {% endif %} + {% email_person_link author.email %}{% if not forloop.last %},{% endif %} {% endfor %} {% endcomment %}
    Last updated
    Replaces {% if can_edit_stream_info and not snapshot %} - Edit + Edit {% endif %} - {{ replaces|urlize_related_target_list|join:", "|default:"(None)" }} - {{ replaces|urlize_related_target_list|join:", "|default:"(None)" }}
    Replaced by + Replaced by + + {{ replaced_by|urlize_related_source_list|join:", " }}
    Possibly Replaces + + Possibly Replaces + {% if can_edit_replaces and not snapshot %} - Edit + + Edit + {% endif %} @@ -145,14 +170,17 @@
    Possibly Replaced By + + Possibly Replaced By + {% if can_edit_replaces and not snapshot %} - {% comment %}Edit{% endcomment %} + {% comment %}Edit{% endcomment %} {% endif %} @@ -161,13 +189,18 @@
    Stream + + Stream + {% if can_change_stream and not snapshot %} - Edit + + Edit + {% endif %} @@ -175,14 +208,19 @@ {{ stream_desc }}
    Intended RFC status + + Intended RFC status + {% if can_edit_stream_info and not snapshot %} - Edit + + Edit + {% endif %} @@ -190,38 +228,60 @@
    Formats + + Formats + + - {% if doc.get_state_slug != "active" and doc.get_state_slug != "rfc" %}
    Expired & archived
    {% endif %} + {% if doc.get_state_slug != "active" and doc.get_state_slug != "rfc" %} +
    + Expired & archived +
    + {% endif %} {% if file_urls %} {% for label, url in file_urls %} - - {{ label }} + + + {{ label }} + {% endfor %} {% else %} (not online) {% endif %}
    {{ check.checker|title }} + + {{ check.checker|title }} + + {% if check.errors or check.warnings %} - {{ check.symbol|safe }} + + {{ check.symbol|safe }} + {% else %} - {{ check.symbol|safe }} + + {{ check.symbol|safe }} + {% endif %} - + {{ check.errors }} errors, {{ check.warnings }} warnings. {% include "doc/yang-check-modal-overlay.html" %} @@ -229,89 +289,127 @@
    Reviews + + Reviews + + {% for review_assignment in review_assignments %} {% include "doc/review_assignment_summary.html" with current_doc_name=doc.name current_rev=doc.rev %} {% endfor %} - {% if no_review_from_teams %} {% for team in no_review_from_teams %} - {{ team.acronym.upper }}{% if not forloop.last %},{% endif %} + {{ team.acronym.upper }} + {% if not forloop.last %},{% endif %} {% endfor %} will not review this version {% endif %} - {% if can_request_review %}
    - Request review + + + + Request review + {% if can_submit_unsolicited_review_for_teams|length == 1 %} - Submit unsolicited review + + + + Submit unsolicited review + {% elif can_submit_unsolicited_review_for_teams %} - Submit unsolicited review + + + + Submit unsolicited review + {% endif %}
    {% endif %}
    IETF conflict review{{ conflict_reviews|join:", "|urlize_ietf_docs }} + + IETF conflict review + + + {{ conflict_reviews|join:", "|urlize_ietf_docs }} +
    Additional Resources + + Additional resources + {% if can_edit_stream_info or can_edit_individual %} - Edit + + Edit + {% endif %} {% if resources or doc.group and doc.group.list_archive %} - - - {% for resource in resources|dictsort:"display_name" %} - {% if resource.name.type.slug == 'url' or resource.name.type.slug == 'email' %} - - {# Maybe make how a resource displays itself a method on the class so templates aren't doing this switching #} - {% else %} - - {% endif %} - {% endfor %} - {% if doc.group and doc.group.list_archive %} - - {% endif %} - -
    - {% firstof resource.display_name resource.name.name %}
    - {% firstof resource.display_name resource.name.name %}: {{resource.value}}
    - Mailing list discussion
    + {% for resource in resources|dictsort:"display_name" %} + {% if resource.name.type.slug == 'url' or resource.name.type.slug == 'email' %} + + {% firstof resource.display_name resource.name.name %} + +
    + {# Maybe make how a resource displays itself a method on the class so templates aren't doing this switching #} + {% else %} + + {% firstof resource.display_name resource.name.name %}: {{ resource.value }} + +
    + {% endif %} + {% endfor %} + {% if doc.group and doc.group.list_archive %} + + Mailing list discussion + +
    + {% endif %} {% endif %}
    Stream + Stream + {% if doc.stream.slug != "legacy" %} - {% if doc.stream_id == 'ietf' %} WG {% else %} {{ doc.stream }} {% endif %} state + {% if doc.stream_id == 'ietf' %} + WG + {% else %} + {{ doc.stream }} + {% endif %} + state {% else %} Legacy state @@ -319,50 +417,79 @@ {% if doc.stream and can_edit_stream_info and doc.stream.slug != "legacy" and not snapshot %} - Edit + + Edit + {% endif %} {{ stream_state|default:"(None)" }} - - {% if milestones %} (wg milestone{{ milestones|pluralize }}: + {% if milestones %} + ( + + wg milestone{{ milestones|pluralize }}: + {% for m in milestones %} - {{ m.due|date:"M Y" }} - {{m}}{% if not forloop.last %},{% endif %} - {% endfor %}) + + {{ m.due|date:"M Y" }} - {{m }} + + {% if not forloop.last %},{% endif %} + {% endfor %} + ) {% endif %} - {% if stream_tags %} -
    {% for tag in stream_tags %}{{ tag.name }}{% if not forloop.last %}, {% endif %}{% endfor %}
    +
    + {% for tag in stream_tags %} + {{ tag.name }} + {% if not forloop.last %},{% endif %} + {% endfor %} +
    {% endif %} {# PEY: Move this to the IRSG section when built #} - {% if due_date %} [Due date: {{ due_date }}] {% endif %} + {% if due_date %}[Due date: {{ due_date }}]{% endif %}
    Stream state(No stream defined) + Stream state + + + (No stream defined) +
    Consensus Boilerplate + + Consensus Boilerplate + {% if can_edit_stream_info and not snapshot %} - Edit + + Edit + {% endif %} - {{ consensus }} + + {{ consensus }} +
    On Agenda + + On agenda + {% if not snapshot %} {% if user|has_role:"Secretariat,Area Director,WG Chair,WG Secretary,RG Chair,RG Secretary,IRTF Chair,Team Chair" or can_edit_stream_info %} @@ -370,13 +497,16 @@ {% endif %} {% endif %} {% if presentations %} {% for pres in presentations %} - + + + + {{ pres.session.short_name }} at {{ pres.session.meeting }} - {% if pres.rev and pres.rev != doc.rev %}(version -{{ pres.rev }}){% endif %}{% if not forloop.last %}, {% endif %} + {% if pres.rev and pres.rev != doc.rev %}(version -{{ pres.rev }}){% endif %} + {% if not forloop.last %},{% endif %} {% endfor %} {% else %} None @@ -384,40 +514,58 @@
    Document shepherd + + Document shepherd + - {% if can_edit_stream_info and not snapshot %} - Edit + + Edit + {% elif is_shepherd %} - Change Email + + Change Email + {% endif %} - {% if doc.shepherd %}{{ doc.shepherd.person }}{% else %}No shepherd assigned{% endif %} + {% if doc.shepherd %} + {% person_link doc.shepherd.person %} + {% else %} + No shepherd assigned + {% endif %}
    Shepherd write-up + + Shepherd write-up + {% if can_edit_shepherd_writeup %} {% url 'ietf.doc.views_draft.edit_shepherd_writeup' name=doc.name as doc_edit_url %} {% if doc_edit_url %} - Edit + + Edit + {% endif %} {% endif %} {% if shepherd_writeup %} - Show - (last changed {{ shepherd_writeup.time|date:"Y-m-d"}}) + + Show + + (last changed {{ shepherd_writeup.time|date:"Y-m-d" }}) {% else %} (None) {% endif %} @@ -426,337 +574,549 @@ {% endif %} {% else %}
    RFC Editor Note + + RFC Editor Note + {% if can_edit_stream_info %} - Edit + + Edit + {% endif %} - {% if doc.has_rfc_editor_note %}(last changed {{ doc.has_rfc_editor_note|date:"Y-m-d"}}){% else %}(None){% endif %} + {% if doc.has_rfc_editor_note %} + (last changed {{ doc.has_rfc_editor_note|date:"Y-m-d" }}) + {% else %} + (None) + {% endif %}
    This information refers to IESG processing after the RFC was initially published: + + This information refers to IESG processing after the RFC was initially published: +
    IESGIESG state + IESG + + + IESG state + + {% if iesg_state.slug != 'idexists' and can_edit %} - Edit + + Edit + {% endif %} {{ iesg_state_summary|default:"I-D Exists" }}
    Action Holders + + Action Holders + {% if can_edit %} - Edit + + Edit + {% endif %}
    {% if doc.action_holders.exists %} {% for action_holder in doc.documentactionholder_set.all %} -
    {% person_link action_holder.person title=action_holder.role_for_doc %} {{ action_holder|action_holder_badge }}
    +
    + {% person_link action_holder.person title=action_holder.role_for_doc %} {{ action_holder|action_holder_badge }} +
    {% endfor %} - {% if can_edit %} Send reminder email {% endif %} + {% if can_edit %} + + + + Send reminder email + + {% endif %} {% else %} (None) {% endif %}
    Consensus Boilerplate - {% if can_edit or can_edit_stream_info and not snapshot %} - Edit - {% endif %} - - {{ consensus }} -
    Telechat date - {% if can_edit and not snapshot %} - Edit - {% endif %} - - {% if telechat %} - On agenda of {{ telechat.telechat_date }} IESG telechat - {% if telechat.returning_item %} - (returning item) - {% endif %} - {% else %} - {% if can_edit %} - (None) - {% endif %} - {% endif %} - - {% if iesg_ballot_summary %} -
    {{ iesg_ballot_summary }} - {% endif %} -
    Responsible AD - {% if can_edit %} - Edit - {% endif %} - - {{ doc.ad|default:"(None)" }} -
    IESG note + + Consensus boilerplate + - {% if can_edit and not snapshot %} - Edit + {% if can_edit or can_edit_stream_info and not snapshot %} + + Edit + {% endif %} - {{ doc.note|default:"(None)"|linebreaksbr }} + + {{ consensus }} +
    Send notices to - {% if can_edit_notify and not snapshot %} - Edit +
    + + Telechat date + + {% if can_edit and not snapshot %} + + Edit + + {% endif %} + + {% if telechat %} + On agenda of {{ telechat.telechat_date }} IESG telechat + {% if telechat.returning_item %}(returning item){% endif %} + {% else %} + {% if can_edit %}(None){% endif %} + {% endif %} + {% if iesg_ballot_summary %} +
    + {{ iesg_ballot_summary }} + {% endif %} +
    + + Responsible AD + + {% if can_edit %} + + Edit + + {% endif %} + + {{ doc.ad|default:"(None)" }} +
    + + IESG note + + {% if can_edit and not snapshot %} + + Edit + + {% endif %} + + {{ doc.note|default:"(None)"|linebreaksbr }} +
    - {{ doc.notify|default:"(None)"}} -
    IANAIANA review state + + Send notices to + - {% if can_edit_iana_state and not snapshot %} - Edit + {% if can_edit_notify and not snapshot %} + + Edit + {% endif %} - {{ iana_review_state }} + {{ doc.notify|linkify|default:"(None)" }}
    + IANA + + + IANA review state + + + {% if can_edit_iana_state and not snapshot %} + + Edit + + {% endif %} + + {{ iana_review_state }} +
    + {% if not can_edit_iana_state and not iana_review_state %}IANA{% endif %} + + + IANA action state + + + {% if can_edit_iana_state and not snapshot %} + + Edit + + {% endif %} + + {{ iana_action_state }} +
    + {% if not can_edit_iana_state and not iana_review_state and not iana_action_state %}IANA{% endif %} + + + IANA expert review state + + + {% if can_edit_iana_state and not snapshot %} + + Edit + + {% endif %} + + {{ iana_experts_state }} +
    + {% if not can_edit_iana_state and not iana_review_state and not iana_action_state and not iana_experts_state %} + IANA + {% endif %} + + IANA expert review comments + + {% if can_edit_iana_state and not snapshot %} + + Edit + + {% endif %} + + {{ iana_experts_comment }} +
    {% if not can_edit_iana_state and not iana_review_state %}IANA{% endif %}IANA action state - {% if can_edit_iana_state and not snapshot %} - Edit - {% endif %} - - {{ iana_action_state }} -
    {% if not can_edit_iana_state and not iana_review_state and not iana_action_state %}IANA{% endif %}IANA expert review state - {% if can_edit_iana_state and not snapshot %} - Edit - {% endif %} - - {{ iana_experts_state }} -
    {% if not can_edit_iana_state and not iana_review_state and not iana_action_state and not iana_experts_state %}IANA{% endif %}IANA expert review comments - {% if can_edit_iana_state and not snapshot %} - Edit - {% endif %} - - {{ iana_experts_comment }} -
    RFC EditorRFC Editor state - {{ rfc_editor_state }} -
    Details - + RFC Editor + + + RFC Editor state - - {% if rfc_editor_auth48_url %} + + + {{ rfc_editor_state }} +
    + + Details + + - {% endif %} -
    - -
    - Email authors - {% if doc.group.type.slug == 'wg' or doc.group.type.slug == 'rg' %} - Email {{ doc.group.type }} - {% endif %} - IPR {% if doc.related_ipr %} {{doc.related_ipr|length}}{% endif %} - References - Referenced by - Nits - - {% if user.is_authenticated %} - Untrack - Track - {% endif %} - {% if user.review_teams %} - Remove review wishes - Add review wish - {% endif %} - - {% if can_edit and iesg_state.slug != 'idexists' %} - Last call text - Ballot text - Announcement text - {% endif %} - - {% if actions %} - {% for label, url in actions %} - {{ label|capfirst_allcaps }} - {% endfor %} - {% endif %} -
    - - {% if doc.get_state_slug == "active" or doc.get_state_slug == "rfc" %} - {{ content|safe }} - - {% if split_content %} - Show full document text - {% endif %} - - {% else %} -

    -
    -
    - This Internet-Draft is no longer active. A copy of - the expired Internet-Draft can be found at
    - {{doc.get_href}} -
    -
    - -
    Abstract
    -

    {{ doc.abstract }}

    - -
    Authors
    -

    - {% for author in doc.documentauthor_set.all %} - {% if author.email %} - - - {% endif %} - {{ author.person }} - {% if author.email %} - ({{ author.email.address }}) - {% endif %} - {% if not forloop.last %}
    {% endif %} - {% endfor %} -

    -

    (Note: The e-mail addresses provided for the authors of this Internet-Draft may no longer be valid.)

    + + +
    + + + + Email authors + + {% if doc.group.type.slug == 'wg' or doc.group.type.slug == 'rg' %} + + + + Email {{ doc.group.type }} + + {% endif %} + + + + IPR + {% if doc.related_ipr %} + + {{ doc.related_ipr|length }} + + {% endif %} + + + + + References + + + + + Referenced by + + + + + Nits + + + {% if user.is_authenticated %} + + + + Untrack + + + + + Track + + {% endif %} + {% if user.review_teams %} + + + + Remove review wishes + + + + + Add review wish + + {% endif %} + {% if can_edit and iesg_state.slug != 'idexists' %} + + Last call text + + + Ballot text + + + Announcement text + + {% endif %} + {% if actions %} + {% for label, url in actions %} + + {{ label|capfirst_allcaps }} + + {% endfor %} + {% endif %}
    - {% endif %} -{% endblock %} - -{% block js %} - - -{% endblock %} \ No newline at end of file + {% if doc.get_state_slug == "active" or doc.get_state_slug == "rfc" %} + {{ content|safe }} + {% if split_content %} + + + + Show full document text + + {% endif %} + {% else %} +

    +

    +
    +
    + This Internet-Draft is no longer active. A copy of + the expired Internet-Draft can be found at +
    + + {{ doc.get_href }} + +
    +
    +
    + Abstract +
    +

    + {{ doc.abstract }} +

    +
    + Authors +
    +

    + {% for author in doc.documentauthor_set.all %} + {% if author.email %} + + + + {% endif %} + {{ author.person }} + {% if author.email %} + ({{ author.email.address }}) + + {% endif %} + {% if not forloop.last %}
    {% endif %} + {% endfor %} +

    +

    + (Note: The e-mail addresses provided for the authors of this Internet-Draft may no longer be valid.) +

    +
    +
    + {% endif %} + {% endblock %} + {% block js %} + + + {% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/document_email.html b/ietf/templates/doc/document_email.html index 626df08cd..3e918ab91 100644 --- a/ietf/templates/doc/document_email.html +++ b/ietf/templates/doc/document_email.html @@ -1,22 +1,18 @@ +{# bs5ok #} {% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} {% load origin %} {% load ietf_filters %} {% load static %} - {% block pagehead %} {% endblock %} - {% block title %}Email expansions for {{ doc.name }}-{{ doc.rev }}{% endblock %} - {% block content %} {% origin %} {{ top|safe }} - {% if aliases %} -

    Email aliases

    - +

    Email aliases

    @@ -28,17 +24,17 @@ {% for alias in aliases %} + + {{ doc.name }}{{ alias.alias_type|default:'' }}@{{ ietf_domain }} + + {% endfor %}
    - - {{ doc.name }}{{ alias.alias_type|default:''}}@{{ietf_domain}} {{ alias.expansion }}
    {% endif %} - -

    Recipient expansions

    - +

    Recipient expansions

    @@ -50,16 +46,17 @@ {% for trigger,desc,to,cc in expansions %} - - - + + + {% endfor %}
    {{trigger}} {{to|join:', '}} {{cc|join:', '}} + {{ trigger }} + {{ to|join:', ' }}{{ cc|join:', ' }}
    {% endblock %} - {% block js %} {% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/document_history.html b/ietf/templates/doc/document_history.html index d19db51a3..d9855b1e4 100644 --- a/ietf/templates/doc/document_history.html +++ b/ietf/templates/doc/document_history.html @@ -1,51 +1,58 @@ +{# bs5ok #} {% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} {% load origin %} {% load ietf_filters %} {% load static %} - -{% block title %}History for {{ doc.name }}{% if doc.rev %}-{{ doc.rev }}{% endif %}{% endblock %} - +{% block title %} + History for {{ doc.name }} + {% if doc.rev %}-{{ doc.rev }}{% endif %} +{% endblock %} {% block pagehead %} - + {% endblock %} - {% block content %} {% origin %} {{ top|safe }} - {% if diff_revisions and diff_revisions|length > 1 or doc.name|rfcbis %} -

    Revision differences

    - -
    - +

    Revision differences

    +
    - +
    - {% for name, rev, time, url in diff_revisions %} - {% endfor %} {% if doc.name|rfcbis %} - {% endif %}
    -
    - +
    - {% for name, rev, time, url in diff_revisions %} - {% endfor %} @@ -57,34 +64,51 @@
    -
    - +
    - + - + - + - +
    - - +
    {% endif %} - -

    Document history

    +

    Document history

    {% if can_add_comment %} {% endif %} - @@ -94,11 +118,12 @@ - {% for e in events %} - - + + @@ -107,7 +132,11 @@
    Action
    {{ e.time|date:"Y-m-d" }}
    +
    {{ e.time|date:"Y-m-d" }}
    +
    {{ e.rev }} {{ e.by|escape }} {{ e.desc|format_history_text|safe }}
    {% endblock %} - {% block js %} + {% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/document_html.html b/ietf/templates/doc/document_html.html index 3b2489b1f..99ffdf262 100644 --- a/ietf/templates/doc/document_html.html +++ b/ietf/templates/doc/document_html.html @@ -1,16 +1,23 @@ +{# bs5ok #} {% extends "doc/htmlized_base.html" %} {# Copyright The IETF Trust 2016, All Rights Reserved #} {% load origin %} {% load static %} {% load ietf_filters %} - {% block pagehead %} - - + + {% endblock %} - {% block morecss %} - .bgwhite { background-color: white; } .bgred { background-color: #F44; } .bggrey { background-color: #666; } @@ -21,11 +28,8 @@ .bgblue { background-color: #66F; } .bgcyan { background-color: #4DD; } .bggreen { background-color: #4F4; } - - .draftcontent { margin-top:0px !important;} - + .draftcontent { margin-top:1em;} {% endblock %} - {% block title %} {% if doc.get_state_slug == "rfc" %} {{ doc.canonical_name }} @@ -33,58 +37,47 @@ {{ doc.name }}-{{ doc.rev }} {% endif %} {% endblock %} - -{% block bodyAttrs %}style="padding-top: 0;"{% endblock %} - {% block content %} {% origin %} -
    -
    +
     
    + onclick="showLegend();" + onmouseout="hideLegend()" + style="height: .5em; min-height: .5em; width: 96ex; " + class="meta-info {{ doccolor }}" + title="Click for color legend."> +
    - {% if doc.meta %}
    {{ doc.supermeta|safe }}
    -
     {{ doc.meta|safe }}
    {% endif %} - -
    - {{ doc.htmlized|default:"Generation of htmlized text failed"|safe }} -
    - +
    {{ doc.htmlized|default:"Generation of htmlized text failed"|safe }}
    - {% endblock %} - {% block js %} - -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/document_status_change.html b/ietf/templates/doc/document_status_change.html index 2afbfd12f..639e582f2 100644 --- a/ietf/templates/doc/document_status_change.html +++ b/ietf/templates/doc/document_status_change.html @@ -104,7 +104,7 @@ - Shepherding AD + Responsible AD {% if not snapshot and user|has_role:"Area Director,Secretariat" and doc.get_state_slug not in approved_states %} Edit @@ -157,4 +157,4 @@ {% block js %} -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/document_top.html b/ietf/templates/doc/document_top.html index 1c1f74918..07d12c0a2 100644 --- a/ietf/templates/doc/document_top.html +++ b/ietf/templates/doc/document_top.html @@ -1,11 +1,20 @@ -{# Copyright The IETF Trust 2015, All Rights Reserved #}{% load origin %}{% origin %} +{# bs5ok #} +{# Copyright The IETF Trust 2015, All Rights Reserved #} +{% load origin %} +{% origin %} {% load ietf_filters %} -

    {{ doc.title }}
    {{ name }}

    - -
    - {% block js %}{% endblock %} - + \ No newline at end of file diff --git a/ietf/templates/doc/index_active_drafts.html b/ietf/templates/doc/index_active_drafts.html index aaad0abd2..77cb6534d 100644 --- a/ietf/templates/doc/index_active_drafts.html +++ b/ietf/templates/doc/index_active_drafts.html @@ -25,7 +25,7 @@

    {% for group in groups %} -

    {{ group.name }} ({{ group.acronym }})

    +

    {{ group.name }} ({{ group.acronym }})

    {% for d in group.active_drafts %}

    {{ d.title }}.
    diff --git a/ietf/templates/doc/index_all_drafts.html b/ietf/templates/doc/index_all_drafts.html index 957db86a7..49c81ad39 100644 --- a/ietf/templates/doc/index_all_drafts.html +++ b/ietf/templates/doc/index_all_drafts.html @@ -36,8 +36,8 @@ {% for state, heading, count, links in categories %} -

    {{ heading }} ({{ count }})

    +

    {{ heading }} ({{ count }})

    {% endfor %} -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/relationship_help.html b/ietf/templates/doc/relationship_help.html index 6101cb1d6..7d1bb2a3a 100644 --- a/ietf/templates/doc/relationship_help.html +++ b/ietf/templates/doc/relationship_help.html @@ -22,7 +22,7 @@ {% for rel in relations %} - + {{ rel.name }} {{ rel.desc|linebreaksbr }} {{ rel.revname }} diff --git a/ietf/templates/doc/state_help.html b/ietf/templates/doc/state_help.html index c82d5af01..cf5048a9f 100644 --- a/ietf/templates/doc/state_help.html +++ b/ietf/templates/doc/state_help.html @@ -26,7 +26,7 @@ {% for state in states %} - + {{ state.name }} {{ state.desc|safe|linebreaksbr }} {% if has_next_states %} @@ -54,7 +54,7 @@ {% for tag in tags %} - + {{ tag.name }} {{ tag.desc|linebreaksbr }} @@ -67,4 +67,4 @@ {% block js %} -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/status_change/edit_related_rows.html b/ietf/templates/doc/status_change/edit_related_rows.html index 936e851fe..9bd40c352 100644 --- a/ietf/templates/doc/status_change/edit_related_rows.html +++ b/ietf/templates/doc/status_change/edit_related_rows.html @@ -1,43 +1,42 @@ -{# Copyright The IETF Trust 2015, All Rights Reserved #}{% load origin %}{% origin %} +{# bs5ok #} +{# Copyright The IETF Trust 2015, All Rights Reserved #} +{% load origin %} +{% origin %} {% for rfc,choice_slug in form.relations.items %} -
    -
    -
    - -
    -
    - -
    -
    - -
    -
    +
    + + +
    {% endfor %} - -
    -
    -
    - -

    Enter new affected RFC.

    -
    - -
    - -

    Select proposed new status.

    -
    -
    - -
    -
    -
    +
    + + + +
    \ No newline at end of file diff --git a/ietf/templates/doc/status_change/edit_relations.html b/ietf/templates/doc/status_change/edit_relations.html index 683c113be..69e3b69bc 100644 --- a/ietf/templates/doc/status_change/edit_relations.html +++ b/ietf/templates/doc/status_change/edit_relations.html @@ -1,35 +1,26 @@ +{# bs5ok #} {% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} {% load origin %} {% load static %} {% load django_bootstrap5 %} - -{% block title %}Edit RFCs affected by status change{% endblock %} - +{% block title %}Edit RFCs affected by status change {{ doc.name }}{% endblock %} {% block content %} {% origin %} - -

    Edit RFCs affected by status change

    - -
    +

    + Edit RFCs affected by status change +
    + {{ doc.name }} +

    + {% csrf_token %} - {% include "doc/status_change/edit_related_rows.html" %} - - {% if form.non_field_errors %} -
    {{ form.non_field_errors }}
    - {% endif %} - - - + {% if form.non_field_errors %}
    {{ form.non_field_errors }}
    {% endif %} - Back - - + Back
    {% endblock %} - {% block js %} -{% endblock %} - +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/status_change/start.html b/ietf/templates/doc/status_change/start.html index a00d2e8cb..c1fcc77bd 100644 --- a/ietf/templates/doc/status_change/start.html +++ b/ietf/templates/doc/status_change/start.html @@ -1,41 +1,31 @@ +{# bs5ok #} {% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} {% load origin %} {% load static %} {% load django_bootstrap5 %} - {% block title %}Begin RFC status change review{% endblock %} - {% block content %} {% origin %}

    Begin RFC status change review

    - -

    Help on states

    - +

    + + Help on states + +

    {% csrf_token %} - -
    - -
    + {% include "doc/status_change/edit_related_rows.html" %} - -
    -
    - {% bootstrap_form form %} - - - - - Back - - -
    -
    - + {% bootstrap_form form %} + + Back
    {% endblock %} - {% block js %} -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/group/active_wgs.html b/ietf/templates/group/active_wgs.html index 3003742bc..c6951baaa 100644 --- a/ietf/templates/group/active_wgs.html +++ b/ietf/templates/group/active_wgs.html @@ -22,7 +22,7 @@ Chair Photos {% for area in areas %} -

    {{ area.name }} ({{ area.acronym }})

    +

    {{ area.name }} ({{ area.acronym }})

    {% if area.ads_and_pre_ads %}

    {{ area.acronym }} Area Director{{ area.ads_and_pre_ads|pluralize }} (AD{{ area.ads_and_pre_ads|pluralize }})

    @@ -60,7 +60,7 @@ {% for group in area.groups %} - + {% if group.ad_role %} {{ group.ad_role.person.plain_name.split.0 }} @@ -97,4 +97,4 @@ {% block js %} -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/group/all_photos.html b/ietf/templates/group/all_photos.html index 25b771631..eeac11822 100644 --- a/ietf/templates/group/all_photos.html +++ b/ietf/templates/group/all_photos.html @@ -19,7 +19,7 @@ {% regroup roles by last_initial as alphabet_blocks %}
    {% for letter in alphabet_blocks %} -
    +
    {{letter.grouper}}
    diff --git a/ietf/templates/group/concluded_groups.html b/ietf/templates/group/concluded_groups.html index 4a04b9eff..800f24e85 100644 --- a/ietf/templates/group/concluded_groups.html +++ b/ietf/templates/group/concluded_groups.html @@ -30,7 +30,7 @@

    Note that the information on historical groups may be inaccurate.

    {% for label, groups in sections.items %} -
    +
    {{label}}
    @@ -55,7 +55,7 @@ {% else %} {% regroup groups by parent as grouped_by_areas %} {% for area_grouping in grouped_by_areas %} -
    +
    {{area_grouping.grouper.name|default:'Unknown area'}}
    diff --git a/ietf/templates/group/group_photos.html b/ietf/templates/group/group_photos.html index 53cb1343c..85bf729e0 100644 --- a/ietf/templates/group/group_photos.html +++ b/ietf/templates/group/group_photos.html @@ -19,7 +19,7 @@ {% regroup roles by name as role_groups %}
    {% for role_name in role_groups %} -
    +
    {{role_name.grouper}}{{role_name.list|pluralize}}
    diff --git a/ietf/templates/group/milestones.html b/ietf/templates/group/milestones.html index f4013da03..e948d32c0 100644 --- a/ietf/templates/group/milestones.html +++ b/ietf/templates/group/milestones.html @@ -1,20 +1,32 @@ -{# Copyright The IETF Trust 2015, All Rights Reserved #}{% load origin %}{% origin %} +{# bs5ok #} +{# Copyright The IETF Trust 2015, All Rights Reserved #} +{% load origin %} +{% origin %} {# assumes group and milestones is in context #} {% regroup milestones by resolved as milestonegroups %} - {% for milestoneset in milestonegroups %} -

    +

    {% if milestoneset.grouper %} - {{milestoneset.grouper}} milestones + {{ milestoneset.grouper }} milestones {% else %} - {% if group.state_id == "proposed" %}Proposed milestones{% else %}Milestones{% endif %} + {% if group.state_id == "proposed" %} + Proposed milestones + {% else %} + Milestones + {% endif %} {% endif %}

    - - + + @@ -35,11 +47,12 @@ {% endfor %}
    {% if group.uses_milestone_dates %}Date{% else %}Order{% endif %}Milestone + {% if group.uses_milestone_dates %} + Date + {% else %} + Order + {% endif %} + Milestone
    {{ milestone.desc }} {% for d in milestone.docs.all %} -
    {{ d.name }} +
    + {{ d.name }} {% endfor %}
    -{% endfor %} +{% endfor %} \ No newline at end of file diff --git a/ietf/templates/iesg/agenda.html b/ietf/templates/iesg/agenda.html index 36f308221..a934b0aa2 100644 --- a/ietf/templates/iesg/agenda.html +++ b/ietf/templates/iesg/agenda.html @@ -14,11 +14,11 @@ {% include "iesg/nav.html" with active="agenda" %} {% for num, section in sections %} {% if num|sectionlevel == 1 %} -

    {{ num }}. {{ section.title|safe }}

    +

    {{ num }}. {{ section.title|safe }}

    {% elif num|sectionlevel == 2 %} -

    {{ num }} {{ section.title|safe }}

    +

    {{ num }} {{ section.title|safe }}

    {% elif num|sectionlevel == 3 %} -

    {{ num }} {{ section.title|safe }}

    +

    {{ num }} {{ section.title|safe }}

    {% endif %} {% if num == "1.4" %}
    {{ section.text }}
    {% endif %} {% if num >= "2" and num < "5" %} diff --git a/ietf/templates/iesg/moderator_charter.html b/ietf/templates/iesg/moderator_charter.html index d63e83705..56b648fde 100644 --- a/ietf/templates/iesg/moderator_charter.html +++ b/ietf/templates/iesg/moderator_charter.html @@ -57,7 +57,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

    If NOT APPROVED - The Secretariat will
    * Place the charter back on the agenda for the next telechat.
    - * OR Wait for instructions from the shepherding AD.

    + * OR Wait for instructions from the responsible AD.

    {% endif %} {% if num|startswith:"4.2.1" %} @@ -88,5 +88,5 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

    If NOT APPROVED - The Secretariat will
    * Place the charter back on the agenda for the next telechat.
    - * OR Wait for instructions from the shepherding AD.

    -{% endif %} + * OR Wait for instructions from the responsible AD.

    +{% endif %} \ No newline at end of file diff --git a/ietf/templates/iesg/photos.html b/ietf/templates/iesg/photos.html index 69c73e474..9096b8adb 100644 --- a/ietf/templates/iesg/photos.html +++ b/ietf/templates/iesg/photos.html @@ -11,7 +11,7 @@ {% include "iesg/nav.html" with active="photos" %} {% regroup roles by group.acronym as alphabet_blocks %} {% for letter in alphabet_blocks %} -
    +

    {{ letter.list.0.group.name }}

    diff --git a/ietf/templates/ipr/details_history.html b/ietf/templates/ipr/details_history.html index d67b440a2..c62672b85 100644 --- a/ietf/templates/ipr/details_history.html +++ b/ietf/templates/ipr/details_history.html @@ -35,7 +35,7 @@ {% for e in events %} - + {{ e.time|date:"Y-m-d" }} {{ e.type }} {% if e.response_due and e.response_past_due %} @@ -60,4 +60,4 @@ {% block js %} -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/ipr/list.html b/ietf/templates/ipr/list.html index 4a444df57..aeb76ab7d 100644 --- a/ietf/templates/ipr/list.html +++ b/ietf/templates/ipr/list.html @@ -33,15 +33,15 @@ {% endif %}

    -

    General IPR disclosures

    +

    General IPR disclosures

    {% include "ipr/ipr_table.html" with iprs=generic_disclosures %} -

    Specific IPR disclosures

    +

    Specific IPR disclosures

    {% include "ipr/ipr_table.html" with iprs=specific_disclosures %} -

    Specific third-party IPR disclosures

    +

    Specific third-party IPR disclosures

    {% include "ipr/ipr_table.html" with iprs=thirdpty_disclosures %} diff --git a/ietf/templates/ipr/search.html b/ietf/templates/ipr/search.html index 0a3e0c691..9fc4169f3 100644 --- a/ietf/templates/ipr/search.html +++ b/ietf/templates/ipr/search.html @@ -10,5 +10,5 @@ {% endblock %} {% block js %} - + {% endblock %} diff --git a/ietf/templates/ipr/search_result.html b/ietf/templates/ipr/search_result.html index 3cae7e29e..b2c0b1b53 100644 --- a/ietf/templates/ipr/search_result.html +++ b/ietf/templates/ipr/search_result.html @@ -88,5 +88,5 @@ {% block js %} - + {% endblock %} diff --git a/ietf/templates/meeting/agenda.html b/ietf/templates/meeting/agenda.html index a1dac3775..86f4bccf7 100644 --- a/ietf/templates/meeting/agenda.html +++ b/ietf/templates/meeting/agenda.html @@ -137,10 +137,8 @@ {% for item in filtered_assignments %} {% ifchanged item.timeslot.time|date:"Y-m-d" %} - - {# The anchor here needs to be in a div, not in the th, in order for the anchor-target margin hack to work #} -
    -
    {{ item.timeslot.time|date:"l, F j, Y" }}
    + + {{ item.timeslot.time|date:"l, F j, Y" }} {% endifchanged %} diff --git a/ietf/templates/meeting/edit_materials_button.html b/ietf/templates/meeting/edit_materials_button.html index 424cd4934..bf3274093 100644 --- a/ietf/templates/meeting/edit_materials_button.html +++ b/ietf/templates/meeting/edit_materials_button.html @@ -4,6 +4,6 @@ {%comment%} Edit {%endcomment%} - Edit materials + Edit materials {% endwith %} -{% endif %} +{% endif %} \ No newline at end of file diff --git a/ietf/templates/meeting/edit_meeting_schedule.html b/ietf/templates/meeting/edit_meeting_schedule.html index afca8686a..9d8971ffc 100644 --- a/ietf/templates/meeting/edit_meeting_schedule.html +++ b/ietf/templates/meeting/edit_meeting_schedule.html @@ -30,9 +30,9 @@ {% block title %}{{ schedule.name }}: IETF {{ meeting.number }} meeting agenda{% endblock %} {% block js %} - - - + + + {% endblock %} @@ -172,7 +172,7 @@
    Sort unassigned: - diff --git a/ietf/templates/meeting/edit_meeting_timeslots_and_misc_sessions.html b/ietf/templates/meeting/edit_meeting_timeslots_and_misc_sessions.html index 92e6fc259..1eb1c461f 100644 --- a/ietf/templates/meeting/edit_meeting_timeslots_and_misc_sessions.html +++ b/ietf/templates/meeting/edit_meeting_timeslots_and_misc_sessions.html @@ -8,7 +8,7 @@ {% block title %}{{ schedule.name }}: IETF {{ meeting.number }} meeting agenda{% endblock %} {% block js %} - + {% endblock %} diff --git a/ietf/templates/meeting/floor-plan.html b/ietf/templates/meeting/floor-plan.html index 3ca0459ad..99e1cf17e 100644 --- a/ietf/templates/meeting/floor-plan.html +++ b/ietf/templates/meeting/floor-plan.html @@ -49,7 +49,7 @@
    {% for floor in floors %} -
    +

    {{ floor.name }}

    {% if floor.image %} diff --git a/ietf/templates/meeting/group_materials.html b/ietf/templates/meeting/group_materials.html index 080582735..4be6aea92 100644 --- a/ietf/templates/meeting/group_materials.html +++ b/ietf/templates/meeting/group_materials.html @@ -9,9 +9,9 @@ {% endcomment %} {% if session.name %} -
    {{ session.name }}
    +
    {{ session.name }}
    {% else %} - + {% if session.group.state.slug == "bof" %} {{ session.group.state.slug|upper }} {% endif %} diff --git a/ietf/templates/meeting/group_proceedings.html b/ietf/templates/meeting/group_proceedings.html index 7465f4657..77288a2e0 100644 --- a/ietf/templates/meeting/group_proceedings.html +++ b/ietf/templates/meeting/group_proceedings.html @@ -9,9 +9,9 @@ {% endcomment %} {% if session.name %} -
    {{ session.name }}
    +
    {{ session.name }}
    {% else %} - + {% if session.group.state_id == "bof" %} BOF {% endif %} @@ -99,5 +99,4 @@ {% endwith %} {% endif %} - - + \ No newline at end of file diff --git a/ietf/templates/meeting/materials.html b/ietf/templates/meeting/materials.html index e8001c31e..024093787 100644 --- a/ietf/templates/meeting/materials.html +++ b/ietf/templates/meeting/materials.html @@ -41,7 +41,7 @@ {% with "True" as show_agenda %} {% if plenaries %} -

    Plenaries

    +

    Plenaries

    @@ -75,7 +75,7 @@ {% regroup ietf|dictsort:"group.parent.acronym" by group.parent.name as areas %} {% for sessions in areas %} -

    {{sessions.list.0.group.parent.acronym|upper}} {{ sessions.grouper }}

    +

    {{sessions.list.0.group.parent.acronym|upper}} {{ sessions.grouper }}

    @@ -111,7 +111,7 @@ {% if training %} {% with "False" as show_agenda %} -

    Training

    +

    Training

    @@ -147,7 +147,7 @@ {% if iab %} -

    IAB Internet Architecture Board

    +

    IAB Internet Architecture Board

    @@ -182,7 +182,7 @@ {% if irtf %} -

    IRTF Internet Research Task Force

    +

    IRTF Internet Research Task Force

    @@ -216,7 +216,7 @@ {% endif %} {% if other %} -

    Other Miscellaneous other sessions

    +

    Other Miscellaneous other sessions

    diff --git a/ietf/templates/meeting/proceedings.html b/ietf/templates/meeting/proceedings.html index f9942625a..c88c8b2eb 100644 --- a/ietf/templates/meeting/proceedings.html +++ b/ietf/templates/meeting/proceedings.html @@ -68,7 +68,7 @@ {% with "True" as show_agenda %} {% if plenaries %} -

    Plenaries

    +

    Plenaries

    @@ -88,7 +88,7 @@ {% endif %} {% for area, meeting_sessions, not_meeting_sessions in ietf_areas %} -

    +

    {{ area.acronym|upper }} {{ area.name }}

    {% if meeting_sessions %} @@ -146,7 +146,7 @@ {% if training %} {% with "False" as show_agenda %} -

    Training

    +

    Training

    @@ -169,7 +169,7 @@ {% endif %} {% if iab %} -

    +

    IAB Internet Architecture Board

    @@ -203,7 +203,7 @@ {% endif %} {% if irtf %} -

    +

    IRTF Internet Research Task Force

    diff --git a/ietf/templates/meeting/proceedings/material_details.html b/ietf/templates/meeting/proceedings/material_details.html index dd5c9b61e..d2c6e631d 100644 --- a/ietf/templates/meeting/proceedings/material_details.html +++ b/ietf/templates/meeting/proceedings/material_details.html @@ -83,10 +83,10 @@ {% comment %}{% block js %} {% if can_manage_materials %} - - + + - - + - - -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/nomcom/view_feedback.html b/ietf/templates/nomcom/view_feedback.html index 874039357..ad613d1bb 100644 --- a/ietf/templates/nomcom/view_feedback.html +++ b/ietf/templates/nomcom/view_feedback.html @@ -23,11 +23,11 @@
    {% if staterank.grouper == 0 %} -
    Accepted nomination for at least one position
    +
    Accepted nomination for at least one position
    {% elif staterank.grouper == 1 %} -
    Pending for at least one position and has not accepted any nomination
    +
    Pending for at least one position and has not accepted any nomination
    {% else %} -
    Declined each nominated position
    +
    Declined each nominated position
    {% endif %}
    @@ -68,7 +68,7 @@
    {% endfor %} -

    Feedback related to topics

    +

    Feedback related to topics

    @@ -101,7 +101,7 @@
    {% if independent_feedback_types %} -

    Feedback not related to Nominees

    +

    Feedback not related to Nominees

    diff --git a/ietf/templates/registration/change_password.html b/ietf/templates/registration/change_password.html index f8dc0cd12..dfe61a4cd 100644 --- a/ietf/templates/registration/change_password.html +++ b/ietf/templates/registration/change_password.html @@ -10,8 +10,8 @@ {% block js %} {{ block.super }} - - + + {% endblock %} {% block content %} diff --git a/ietf/templates/registration/confirm_account.html b/ietf/templates/registration/confirm_account.html index a97bd45e2..be4b6ff2b 100644 --- a/ietf/templates/registration/confirm_account.html +++ b/ietf/templates/registration/confirm_account.html @@ -9,8 +9,8 @@ {% block js %} {{ block.super }} - - + + {% endblock %} {% block content %} diff --git a/ietf/templates/registration/login.html b/ietf/templates/registration/login.html index ebc3ce2e0..62cd7ec8d 100644 --- a/ietf/templates/registration/login.html +++ b/ietf/templates/registration/login.html @@ -11,7 +11,7 @@ {% block content %} {% origin %}

    Sign in

    - + {% csrf_token %} diff --git a/ietf/templates/stats/review_stats.html b/ietf/templates/stats/review_stats.html index 5eb38bd11..9458d36d4 100644 --- a/ietf/templates/stats/review_stats.html +++ b/ietf/templates/stats/review_stats.html @@ -320,7 +320,10 @@
    {% for t in teams %} - + {{ t.name }} {% endfor %} diff --git a/ietf/templates/submit/approvals.html b/ietf/templates/submit/approvals.html index b15306926..83a3993e7 100644 --- a/ietf/templates/submit/approvals.html +++ b/ietf/templates/submit/approvals.html @@ -13,7 +13,7 @@ {% block submit_content %} {% origin %} {% if user.is_authenticated %} -

    Submissions you can approve

    +

    Submissions you can approve

    {% if not approvals %}

    You don't have any submissions to approve.

    @@ -36,7 +36,7 @@
    {% endif %} -

    Pre-approved drafts not yet submitted

    +

    Pre-approved drafts not yet submitted

    {% if user|has_role:"Secretariat,WG Chair,RG Chair" %}

    Add pre-approval

    @@ -67,7 +67,7 @@ {% endif %} -

    Approved drafts within the past {{ days }} days

    +

    Approved drafts within the past {{ days }} days

    {% if not recently_approved %}

    No drafts approved.

    diff --git a/ietf/templates/submit/manual_post.html b/ietf/templates/submit/manual_post.html index 31dae9d3a..41b2e907b 100644 --- a/ietf/templates/submit/manual_post.html +++ b/ietf/templates/submit/manual_post.html @@ -13,7 +13,7 @@ {% block submit_content %} {% origin %} -

    Submissions needing manual posting

    +

    Submissions needing manual posting

    {% if not manual %}

    There are no submissions needing manual posting.

    @@ -44,7 +44,7 @@ {% endif %} -

    Submissions awaiting draft upload

    +

    Submissions awaiting draft upload

    {% if not waiting_for_draft %}

    There are no submissions awaiting draft upload.

    diff --git a/ietf/templates/submit/submission_email.html b/ietf/templates/submit/submission_email.html index fb8c707b1..eaf8f5094 100644 --- a/ietf/templates/submit/submission_email.html +++ b/ietf/templates/submit/submission_email.html @@ -12,7 +12,7 @@ {% block submit_content %} {% origin %} -

    Email for {{ submission.name }}

    +

    Email for {{ submission.name }}

    diff --git a/ietf/utils/templatetags/textfilters.py b/ietf/utils/templatetags/textfilters.py index 87b4cbe02..609e27e00 100644 --- a/ietf/utils/templatetags/textfilters.py +++ b/ietf/utils/templatetags/textfilters.py @@ -76,7 +76,7 @@ def texescape_filter(value): @register.filter @stringfilter def linkify(value): - text = mark_safe(bleach.linkify(escape(value))) + text = mark_safe(bleach.linkify(escape(value), parse_email=True)) return text @register.filter diff --git a/package-lock.json b/package-lock.json index f1588c1ca..64af07e2f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -588,15 +588,15 @@ } }, "node_modules/@parcel/babel-ast-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/babel-ast-utils/-/babel-ast-utils-2.0.1.tgz", - "integrity": "sha512-adBHMaPAj+w1NjO+oq6SUgtOpO7wmyNIgsiHDsf8cpLf2gT0GcC/afcaC07WhIq1PJvL2hkWQpT/8sj1m/QZSw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/babel-ast-utils/-/babel-ast-utils-2.1.1.tgz", + "integrity": "sha512-ChZ5PZSM+tFd/IKCev6NQh0Rge3jjaTX7DnausJH/yuMlWASIrtOD/CNvux9UHSzZ0u0xa6QkSWOHaDN2nFImQ==", "dev": true, "dependencies": { "@babel/parser": "^7.0.0", - "@parcel/babylon-walk": "^2.0.1", + "@parcel/babylon-walk": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.0.1", + "@parcel/utils": "^2.1.1", "astring": "^1.6.2" }, "engines": { @@ -608,9 +608,9 @@ } }, "node_modules/@parcel/babylon-walk": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/babylon-walk/-/babylon-walk-2.0.1.tgz", - "integrity": "sha512-eXlfG7ZGUuRF81mStZGeaYj4uH7Mgd8yfWB+c/Y13sxdacml+0vinCyZ9BjY7rYuxvKTlVSjp9BJW0Q0DS6THg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/babylon-walk/-/babylon-walk-2.1.1.tgz", + "integrity": "sha512-9MHQe0tv4NWGbIJMJ771mxXGpBqyM3iSi9AAmuRoZiUmoeuURNxS6srBo7QrkpUdhy+FiIw1jMBSZzA0nTuo6w==", "dev": true, "dependencies": { "@babel/types": "^7.12.13", @@ -625,20 +625,20 @@ } }, "node_modules/@parcel/bundler-default": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.0.1.tgz", - "integrity": "sha512-4BE86Z26gr7VHeIOCWkaucl5SNntCGS9ltk1ed65mqbZaZloZP8YD/YINxxgPtx9moTWNqQO8Y3bvCAD+VY8mQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.1.1.tgz", + "integrity": "sha512-DlUKA76Wd5jFb7eDCGJX7qb4Fl7K2xydZ3p1V+9N38/Kl/WUgXKSl72R8tp9hMXMsebnH09iChe32ZoMk6DJTA==", "dev": true, "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/hash": "^2.0.1", - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/hash": "^2.1.1", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -646,14 +646,15 @@ } }, "node_modules/@parcel/cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.0.1.tgz", - "integrity": "sha512-aXWkx6ySwHBdPWvCJ1x6aHGFWlfu9X89iKuN4X/quMHyUDqA2PkKBR0kAvcs47ZnmUAXlKI2J9BR+lEOSAJazA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.1.1.tgz", + "integrity": "sha512-Y15D1Dw2RiTIoq0fOV7oGVQSPACjcXGEz8+mG6mw+1Vm4DmJxwbCybc8qX9j4JsoAb9ZD6TT3Ngyl61z86YTfw==", "dev": true, "dependencies": { - "@parcel/logger": "^2.0.1", - "@parcel/utils": "^2.0.1", - "lmdb-store": "^1.5.5" + "@parcel/fs": "^2.1.1", + "@parcel/logger": "^2.1.1", + "@parcel/utils": "^2.1.1", + "lmdb": "^2.0.2" }, "engines": { "node": ">= 12.0.0" @@ -663,13 +664,13 @@ "url": "https://opencollective.com/parcel" }, "peerDependencies": { - "@parcel/core": "^2.0.0" + "@parcel/core": "^2.1.1" } }, "node_modules/@parcel/codeframe": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.0.1.tgz", - "integrity": "sha512-NfquLg7qt8TfPmmfXVPlcq5mtEM3CvYjc+s5HLt1w0H461NiZOq7qhAaSS1N/3E+3d3eXOT/2AlCxoGm7KQ8hg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.1.1.tgz", + "integrity": "sha512-xnzd4i5ued3eRDZ2waZGczq5Ros/tDnv5VZXAurLGMgeHNlRZGy3Mw5BZXHzgAoPvJPT93DYb2u6DTvTQ3RJig==", "dev": true, "dependencies": { "chalk": "^4.1.0", @@ -686,16 +687,16 @@ } }, "node_modules/@parcel/compressor-raw": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.0.1.tgz", - "integrity": "sha512-0VNadPUIIpgx2MCjt7PGOwcz0OXN0BFxCmWzy+ocyEWj0KQ79OBr8ni7I3Be78OxNhE8luTEC22kVJwM0rtP1g==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.1.1.tgz", + "integrity": "sha512-OAXwks2dNEUCv/tEzLwiRzLs0EAORUMAKeorJ9ECns7MsTNRTiPDA9WDG5VkwpHkpXEH4VA+TcNJwvvbXAVKeg==", "dev": true, "dependencies": { - "@parcel/plugin": "^2.0.1" + "@parcel/plugin": "^2.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -703,69 +704,69 @@ } }, "node_modules/@parcel/config-default": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.0.1.tgz", - "integrity": "sha512-LavQo5+81wYARmDW+GsgPIV6GPG/rskR73oGHWV1oDr9k3UD2RYdGaH1GDcwqXyUEWVCw3K+nglaZdWFpOEdRQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.1.1.tgz", + "integrity": "sha512-XPs8hFcQSbMOJ0QQpUO8ZZI47z9XEwLVzVW3gskTnmy7nqX0z9w+R/jpjWJyOVC+7KER7fEA2Kt7hH2KFneDCQ==", "dev": true, "dependencies": { - "@parcel/bundler-default": "^2.0.1", - "@parcel/compressor-raw": "^2.0.1", - "@parcel/namer-default": "^2.0.1", - "@parcel/optimizer-cssnano": "^2.0.1", - "@parcel/optimizer-htmlnano": "^2.0.1", - "@parcel/optimizer-image": "^2.0.1", - "@parcel/optimizer-svgo": "^2.0.1", - "@parcel/optimizer-terser": "^2.0.1", - "@parcel/packager-css": "^2.0.1", - "@parcel/packager-html": "^2.0.1", - "@parcel/packager-js": "^2.0.1", - "@parcel/packager-raw": "^2.0.1", - "@parcel/packager-svg": "^2.0.1", - "@parcel/reporter-dev-server": "^2.0.1", - "@parcel/resolver-default": "^2.0.1", - "@parcel/runtime-browser-hmr": "^2.0.1", - "@parcel/runtime-js": "^2.0.1", - "@parcel/runtime-react-refresh": "^2.0.1", - "@parcel/runtime-service-worker": "^2.0.1", - "@parcel/transformer-babel": "^2.0.1", - "@parcel/transformer-css": "^2.0.1", - "@parcel/transformer-html": "^2.0.1", - "@parcel/transformer-image": "^2.0.1", - "@parcel/transformer-js": "^2.0.1", - "@parcel/transformer-json": "^2.0.1", - "@parcel/transformer-postcss": "^2.0.1", - "@parcel/transformer-posthtml": "^2.0.1", - "@parcel/transformer-raw": "^2.0.1", - "@parcel/transformer-react-refresh-wrap": "^2.0.1", - "@parcel/transformer-svg": "^2.0.1" + "@parcel/bundler-default": "^2.1.1", + "@parcel/compressor-raw": "^2.1.1", + "@parcel/namer-default": "^2.1.1", + "@parcel/optimizer-cssnano": "^2.1.1", + "@parcel/optimizer-htmlnano": "^2.1.1", + "@parcel/optimizer-image": "^2.1.1", + "@parcel/optimizer-svgo": "^2.1.1", + "@parcel/optimizer-terser": "^2.1.1", + "@parcel/packager-css": "^2.1.1", + "@parcel/packager-html": "^2.1.1", + "@parcel/packager-js": "^2.1.1", + "@parcel/packager-raw": "^2.1.1", + "@parcel/packager-svg": "^2.1.1", + "@parcel/reporter-dev-server": "^2.1.1", + "@parcel/resolver-default": "^2.1.1", + "@parcel/runtime-browser-hmr": "^2.1.1", + "@parcel/runtime-js": "^2.1.1", + "@parcel/runtime-react-refresh": "^2.1.1", + "@parcel/runtime-service-worker": "^2.1.1", + "@parcel/transformer-babel": "^2.1.1", + "@parcel/transformer-css": "^2.1.1", + "@parcel/transformer-html": "^2.1.1", + "@parcel/transformer-image": "^2.1.1", + "@parcel/transformer-js": "^2.1.1", + "@parcel/transformer-json": "^2.1.1", + "@parcel/transformer-postcss": "^2.1.1", + "@parcel/transformer-posthtml": "^2.1.1", + "@parcel/transformer-raw": "^2.1.1", + "@parcel/transformer-react-refresh-wrap": "^2.1.1", + "@parcel/transformer-svg": "^2.1.1" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" }, "peerDependencies": { - "@parcel/core": "^2.0.0" + "@parcel/core": "^2.1.1" } }, "node_modules/@parcel/core": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.0.1.tgz", - "integrity": "sha512-Iy5FgUAquc5HjQGiyKbWK0WaaVXerrzWD7cNBTIUOlk1xNeUtOeGu80Kc5xu0qT0/Mc+nsDfPhWcN8p4RVF+PQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.1.1.tgz", + "integrity": "sha512-xwGlTslX4oWPubpa0coS/nWUVVKCH2eAm4TBJTVJcJRLxuOHzlJ+mB2VdcYykiJNpVRF97tqbM7SfE3fU/iyig==", "dev": true, "dependencies": { - "@parcel/cache": "^2.0.1", - "@parcel/diagnostic": "^2.0.1", - "@parcel/events": "^2.0.1", - "@parcel/fs": "^2.0.1", - "@parcel/graph": "^2.0.1", - "@parcel/hash": "^2.0.1", - "@parcel/logger": "^2.0.1", - "@parcel/package-manager": "^2.0.1", - "@parcel/plugin": "^2.0.1", + "@parcel/cache": "^2.1.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/events": "^2.1.1", + "@parcel/fs": "^2.1.1", + "@parcel/graph": "^2.1.1", + "@parcel/hash": "^2.1.1", + "@parcel/logger": "^2.1.1", + "@parcel/package-manager": "^2.1.1", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/types": "^2.0.1", - "@parcel/utils": "^2.0.1", - "@parcel/workers": "^2.0.1", + "@parcel/types": "^2.1.1", + "@parcel/utils": "^2.1.1", + "@parcel/workers": "^2.1.1", "abortcontroller-polyfill": "^1.1.9", "base-x": "^3.0.8", "browserslist": "^4.6.6", @@ -775,8 +776,9 @@ "json-source-map": "^0.6.1", "json5": "^1.0.1", "micromatch": "^4.0.2", + "msgpackr": "^1.5.1", "nullthrows": "^1.1.1", - "semver": "^5.4.1" + "semver": "^5.7.1" }, "engines": { "node": ">= 12.0.0" @@ -787,9 +789,9 @@ } }, "node_modules/@parcel/diagnostic": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.0.1.tgz", - "integrity": "sha512-pC9GmEUUB2UQ9epvE/H2wn0rb6hyF68QlpxppHZ9fxib/RxqGWDG1I3axR0cxZifRRZiMNnbk7HfmUB19KNTtA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.1.1.tgz", + "integrity": "sha512-1gbRrbpJcsF05MUoc1pRmox78wWzLMDbIi4Fc+cVo7PK3PSnBosLZe0IYfAzrrqVhNuWWby0DWFGqRKEkee/6Q==", "dev": true, "dependencies": { "json-source-map": "^0.6.1", @@ -804,9 +806,9 @@ } }, "node_modules/@parcel/events": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.0.1.tgz", - "integrity": "sha512-JRt5SkFS8/8r37o1DRKVtrWR1OZNN2pL548YsXVKBLN1b2ys36/+yKNObDuGB7DcOcIRngVs7xxv6+oodGyMlQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.1.1.tgz", + "integrity": "sha512-3C1worgdqpyHHl1/Ivz7gBIA0+i2N0dXH21kt0Fy9Ig3QeEf3GRJieRm8zNYe1aZeAPMhwdaYRTfrdJAApJExg==", "dev": true, "engines": { "node": ">= 12.0.0" @@ -817,17 +819,17 @@ } }, "node_modules/@parcel/fs": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.0.1.tgz", - "integrity": "sha512-zl8aV9Qp4lB4cQGyBfz3LQM+JkL7WHGoSlj8PjBamT8VmPlr57BUtp3Gc/IvRCCX8B7izNx3X8vCvr5BrziL+g==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.1.1.tgz", + "integrity": "sha512-PUT7igdujjXr1y4iYMDqGN+WvLGuK+7KI9NJFFO3zH+Wvk2UCqgqiClbIpugoImtgIUOXBPb/PfZvZ5nTetiYQ==", "dev": true, "dependencies": { - "@parcel/fs-search": "^2.0.1", - "@parcel/fs-write-stream-atomic": "^2.0.1", - "@parcel/types": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/fs-search": "^2.1.1", + "@parcel/fs-write-stream-atomic": "^2.1.1", + "@parcel/types": "^2.1.1", + "@parcel/utils": "^2.1.1", "@parcel/watcher": "^2.0.0", - "@parcel/workers": "^2.0.1", + "@parcel/workers": "^2.1.1", "graceful-fs": "^4.2.4", "mkdirp": "^0.5.1", "ncp": "^2.0.0", @@ -843,13 +845,13 @@ "url": "https://opencollective.com/parcel" }, "peerDependencies": { - "@parcel/core": "^2.0.0" + "@parcel/core": "^2.1.1" } }, "node_modules/@parcel/fs-search": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.0.1.tgz", - "integrity": "sha512-Zyo1PY4opLMunes5YZ2+Q0cMCgdAuepznVvUY+dK3WjW5OzO09G/L8cfNBhgeYA84wu0yyzNohZogvFjS10TZg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.1.1.tgz", + "integrity": "sha512-bktctw9MTpjw2ABVD0jP537L4hsQL9So9ws+JXeq5B1Y0eBDU+QnIFKk3xTz1fZll/mjKmqqJE4Lfq4FlO1PVQ==", "dev": true, "dependencies": { "detect-libc": "^1.0.3" @@ -863,9 +865,9 @@ } }, "node_modules/@parcel/fs-write-stream-atomic": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/fs-write-stream-atomic/-/fs-write-stream-atomic-2.0.1.tgz", - "integrity": "sha512-+CSeXRCnI9f9K4jeBOYzZiOf+qw6t3TvhEstR/zeXenzx0nBMzPv28mjUMZ33vRMy8bQOHAim8qy/AMSIMolEg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/fs-write-stream-atomic/-/fs-write-stream-atomic-2.1.1.tgz", + "integrity": "sha512-8A3pMqNdeGnDNp0xhhiBQCfbpqkn82TY7AjUysAlNjooYOgxcVOpSW0iXOABM6KssUSEh/7yASaxnNuRyY9GGQ==", "dev": true, "dependencies": { "graceful-fs": "^4.1.2", @@ -879,11 +881,12 @@ } }, "node_modules/@parcel/graph": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-2.0.1.tgz", - "integrity": "sha512-LESQVWy/Oln1CqTgWTjvm99btNSqHxOcIKEIL7k6Pq2d6vhO6oyAAmMe5sqf6Sr1nNCVjZW7oHRzyIG0kYTgWw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-2.1.1.tgz", + "integrity": "sha512-mt9Wb5mv/zXl8FtXeGMXMsvrjMV3wG7o5iH4cwUnPUHUNZZaZ9beTqfJ1BZYbwVLy8Atv80bcs65/gZfkQxtRg==", "dev": true, "dependencies": { + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1" }, "engines": { @@ -895,13 +898,13 @@ } }, "node_modules/@parcel/hash": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/hash/-/hash-2.0.1.tgz", - "integrity": "sha512-Zng4i5HhcmOr6NMzQlnCf12ED9isL+HmcFC3XSLc6VYFcCnVg6cEIwJ7KrB/s5wRHLU2TfSZAaLIJlhcPKPPog==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/hash/-/hash-2.1.1.tgz", + "integrity": "sha512-hmL1VohpNMBj2Tf6wLF1Bfy8haz2IbQSwRddp0YgusTZZWzK1LZa0XSylBctwRR6jCvh8Ar8BGS7KWJFD0wUaA==", "dev": true, "dependencies": { "detect-libc": "^1.0.3", - "xxhash-wasm": "^0.4.1" + "xxhash-wasm": "^0.4.2" }, "engines": { "node": ">= 12.0.0" @@ -912,13 +915,13 @@ } }, "node_modules/@parcel/logger": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.0.1.tgz", - "integrity": "sha512-gN2mdDnUkbN11hUIDBU+zlREsgp7zm42ZAsc0xwIdmlnsZY7wu2G3lNtkXSMlIPJPdRi6oE6vmaArQJfXjaAOg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.1.1.tgz", + "integrity": "sha512-KeLoReSBtfIZZ8OZ8Fs7hb2xFBe0WBexaKToCkMpGR1JxEV/Xgx1kyiZ6upKzijEeTUBNWIu3uJ4AFshUwtvJw==", "dev": true, "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/events": "^2.0.1" + "@parcel/diagnostic": "^2.1.1", + "@parcel/events": "^2.1.1" }, "engines": { "node": ">= 12.0.0" @@ -929,9 +932,9 @@ } }, "node_modules/@parcel/markdown-ansi": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.0.1.tgz", - "integrity": "sha512-KFUvJoGncCwOml+RSyJl0KfQgle42YC8VJwQrHUqKMR5acyC3KaDNWAx96xkPf3k/hKv+VVEhIsH7SRJ63qwwQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.1.1.tgz", + "integrity": "sha512-seBnygWKZqgijXOFrlkmRZpAONznvxiVsW0Lsy2NtgllSlTz30WiZ72x1V3BSdLz/7ZsLWdXwWGr7uUlbrtsRg==", "dev": true, "dependencies": { "chalk": "^4.1.0" @@ -945,18 +948,18 @@ } }, "node_modules/@parcel/namer-default": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.0.1.tgz", - "integrity": "sha512-wF948WojfksHutz023T2lC3b1BWRyOa9KaCh9caYtZ1Lq26kG3X2eaWVjOzw65SUQRLzAAxu3ujRhKEg0N0Ntw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.1.1.tgz", + "integrity": "sha512-ab8zYuUNeOZOfvShy/EGLNRDYXoUFqomWE3/40psRboZueJ77GSZIkZMHaIaSic/0G/GImH3XJ0yQG7Nm4W5Fg==", "dev": true, "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/plugin": "^2.0.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/plugin": "^2.1.1", "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -964,9 +967,9 @@ } }, "node_modules/@parcel/node-libs-browser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/node-libs-browser/-/node-libs-browser-2.0.1.tgz", - "integrity": "sha512-EK6hndQMtW0DJMU4FeDmbDwdIus/IAXz/YjR2kdQ0fLRAvcNWC/34R5bqlLmWdX2NXWVS+1tcDhPa2oEnUzzHA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/node-libs-browser/-/node-libs-browser-2.1.1.tgz", + "integrity": "sha512-IWEXtQgPEMHeztQrDUU7Z2YHHreMJ2q1iEbWjdPpV+jJ3ybiCCSdCeSuQQ4SQktUU9/y6qY6+Eky+b+bxlJRcg==", "dev": true, "dependencies": { "assert": "^2.0.0", @@ -1001,14 +1004,14 @@ } }, "node_modules/@parcel/node-resolver-core": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-2.0.1.tgz", - "integrity": "sha512-bZqot9TZKuBpojo9i4LQ/mc+iKKuurcWDy481E/Z9Xp3zfDEZaNzj2f+0MSwv3pbqB134/PIMMtN92tewJ7Piw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-2.1.1.tgz", + "integrity": "sha512-OJZ/kJSxrRuHbvtey3mACLEBL51zmytWKzUlzzSE1ii3RqHK0uRHj3NaJ43EqCMPcAeWFj/plVq3YmYi9bWR/g==", "dev": true, "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/node-libs-browser": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/node-libs-browser": "^2.1.1", + "@parcel/utils": "^2.1.1", "micromatch": "^4.0.4", "nullthrows": "^1.1.1" }, @@ -1021,19 +1024,19 @@ } }, "node_modules/@parcel/optimizer-cssnano": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-cssnano/-/optimizer-cssnano-2.0.1.tgz", - "integrity": "sha512-yhuSUyTa4IKsFX+k2K8J6fsClpIWAu0Ng6HcW/fwDSfssZMm+Lfe33+sRo1fwqr8vd/okFrm3vOBQ+NhncsVVw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-cssnano/-/optimizer-cssnano-2.1.1.tgz", + "integrity": "sha512-7yO+axX20W+zuHI3IaO6DBDPd4sul3FtKO4KVWcgfgSVVaxt4nzA8qU2kg5YaJC2mYrFASsnV1ySkgppFnvSBQ==", "dev": true, "dependencies": { - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", "cssnano": "^5.0.5", "postcss": "^8.3.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -1041,12 +1044,12 @@ } }, "node_modules/@parcel/optimizer-htmlnano": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.0.1.tgz", - "integrity": "sha512-Q2YQt4YnRNGth6RtRw6Q/IanhboKhD2QfrDpUsDwcpBbP3nEirvLcOmVfzuNXDqvYaQG7720ulCRt8jWErZ2WQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.1.1.tgz", + "integrity": "sha512-SShBIS+enI/oNW5qLi4jtej5TkfVt/Xa/io4n29aIfVwQMHq+GyBKijhVp0Wx+Yp2ZLK/17Vw311n7rQ9GBUGg==", "dev": true, "dependencies": { - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.1.1", "htmlnano": "^1.0.1", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", @@ -1054,7 +1057,7 @@ }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -1062,19 +1065,20 @@ } }, "node_modules/@parcel/optimizer-image": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.0.1.tgz", - "integrity": "sha512-tXqrAoFoGT6R2nY88OMj6DxHctyewOA3RW6VFksolX+/eWjy9MsQMUWFJmc1TlsVJCu4xGVvcHM3+6Q3XF8VSA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.1.1.tgz", + "integrity": "sha512-yGvVO5Y/fqGaZzKK2ENuFXGGRAq7MIZYwuVi9JtQVxH+BoiX+441ApIAQTApaMsLPUJ0tEx/w6+5KybcP580wg==", "dev": true, "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", + "@parcel/workers": "^2.1.1", "detect-libc": "^1.0.3" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -1082,19 +1086,19 @@ } }, "node_modules/@parcel/optimizer-svgo": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.0.1.tgz", - "integrity": "sha512-vdTXQrYjNd7s9ye8NYi7IrcS/oa1Rn1cI9pFeQCocEuL3eoesnFBtkeW0bbA7tNaIBkkR0x9NagRVtWgZJW4uQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.1.1.tgz", + "integrity": "sha512-cHsjNeZgJsUFo1uPE9/M4KJWw8DcEax4Adin2srEodqiJWTH2UzPM3toZ5q9NpsCLC7I8zigTqg+DFW5SQnVog==", "dev": true, "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "svgo": "^2.4.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -1102,21 +1106,21 @@ } }, "node_modules/@parcel/optimizer-terser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-terser/-/optimizer-terser-2.0.1.tgz", - "integrity": "sha512-iT3gvkZsUKW4PJHRwWn4xqQlIIsrkr4gO2X5XQtPEXkYUn3UlHTE1lguJd1Pj6L3A0dS+ubI6wIfYk/Z59WAjw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-terser/-/optimizer-terser-2.1.1.tgz", + "integrity": "sha512-BPfqYqItR00lRckZnOpz03plsgMRDKrCYOIzSJjMvG5c0hS9kX0ECave9540WsXgEhaxC/H3yyxmH227PHL4xQ==", "dev": true, "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/plugin": "^2.0.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.0.1", + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1", "terser": "^5.2.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -1124,21 +1128,21 @@ } }, "node_modules/@parcel/package-manager": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.0.1.tgz", - "integrity": "sha512-I8pMP18zIAYIfwnFOhi4Pt+6grKysMxFqNTXAdfobszk4PvoOzbUIjzTk+3Z2IXT2FEdH/R/3Jej70OxpPf0CQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.1.1.tgz", + "integrity": "sha512-W9GJV+9A9ysZQTtjTy6y86XIa4AkThuo9u3rQbU4irCFlZ56u9NiQAR1wesOhuh5bauRptRbJwzEE94VYFOizw==", "dev": true, "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/fs": "^2.0.1", - "@parcel/logger": "^2.0.1", - "@parcel/types": "^2.0.1", - "@parcel/utils": "^2.0.1", - "@parcel/workers": "^2.0.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/fs": "^2.1.1", + "@parcel/logger": "^2.1.1", + "@parcel/types": "^2.1.1", + "@parcel/utils": "^2.1.1", + "@parcel/workers": "^2.1.1", "command-exists": "^1.2.6", "cross-spawn": "^6.0.4", "nullthrows": "^1.1.1", - "semver": "^5.4.1", + "semver": "^5.7.1", "split2": "^3.1.1" }, "engines": { @@ -1149,24 +1153,24 @@ "url": "https://opencollective.com/parcel" }, "peerDependencies": { - "@parcel/core": "^2.0.0" + "@parcel/core": "^2.1.1" } }, "node_modules/@parcel/packager-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.0.1.tgz", - "integrity": "sha512-oPyouH+6+by3s68xxwYaaePPtrcRhNJ1Tia51eIVagBxp3kAOpB7F4S1Ou8w2qlipk9Wq6HJx2n1u4aZISbkAg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.1.1.tgz", + "integrity": "sha512-XSUYisNxqRPxsie6QgzJAbFSEsGsPm543YEcDUlghoUqEQXnpUCAXJd0T454D62XLDJ3Vt3jSe3fhthhHE18uA==", "dev": true, "dependencies": { - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.0.1", + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1", "postcss": "^8.3.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -1174,20 +1178,20 @@ } }, "node_modules/@parcel/packager-html": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.0.1.tgz", - "integrity": "sha512-uGQYjspjz/VF4v+kVWAmPfXoGKCmos8rgTZ7XtXnhuRT4SH/OYHlRKVxzC4sb4zRoeO6Bj82yVw65Xj2gz9K4Q==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.1.1.tgz", + "integrity": "sha512-o4KH3McIoH1a6nmbQNaQNxzyqgPQQAd3AT9z5BlW7dIpuMBdkAzU4RtFY7maLnid704vvSaag6mLSkY6LWfT0Q==", "dev": true, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/types": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.1", + "@parcel/types": "^2.1.1", + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1", "posthtml": "^0.16.5" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -1195,22 +1199,22 @@ } }, "node_modules/@parcel/packager-js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.0.1.tgz", - "integrity": "sha512-eN7BQITwTj2KeYMkW/9KRMBw1SoR7qlFhfX2+hbFA6Kl/b0bKEx33Gm21JJBl8wqqo3QVr9Rhg0JruwkQX1JHg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.1.1.tgz", + "integrity": "sha512-PvVUjrwAkv6otcAkOIr9nL+oW64bBgRLjl3muKNv1yugtk+/dpMTc3WdwCqGJBTIdsSEULuXgtuYJ9UBrKkk7A==", "dev": true, "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/hash": "^2.0.1", - "@parcel/plugin": "^2.0.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/hash": "^2.1.1", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.0.1", + "@parcel/utils": "^2.1.1", "globals": "^13.2.0", "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -1218,16 +1222,16 @@ } }, "node_modules/@parcel/packager-raw": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.0.1.tgz", - "integrity": "sha512-Cr9we+Pf9jl9AhKsZPKg7Da6xzNFxUqPDBRIZmO9GjTm1NZOeddmRPrtporPPZxtTmtQzRuyStRNKe5zBZtg3w==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.1.1.tgz", + "integrity": "sha512-xWddT0696VhxGanac+z1jWxCIHLyn+tziz0c2hRB7oUrTyWzwn6N4XeUhAl+dshI1wAeSJ7s8lx1iO4jeDd7WA==", "dev": true, "dependencies": { - "@parcel/plugin": "^2.0.1" + "@parcel/plugin": "^2.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -1235,19 +1239,19 @@ } }, "node_modules/@parcel/packager-svg": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.0.1.tgz", - "integrity": "sha512-UqMYNxoaxLdJN+R3rOAACeMdkT/ONcMNQ+OzEowpt6lWZJyLRRF63akk2KhMVjYNQpV6y4wJZV6H/TWV6eRMjg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.1.1.tgz", + "integrity": "sha512-xejMptp1/SM9889mYZEDJgVr79EKg8dDHNyA+K8Ffzu2EmZMKOyrbqvuTIbWbbSPJFkUBMu+GB7AV0v2jyzs2A==", "dev": true, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/types": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.1", + "@parcel/types": "^2.1.1", + "@parcel/utils": "^2.1.1", "posthtml": "^0.16.4" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -1255,12 +1259,12 @@ } }, "node_modules/@parcel/plugin": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.0.1.tgz", - "integrity": "sha512-zg9LdUk1fh8UApo9q79ZbG+QCwMioSlBP0+LKYLQqcNketzmjPuhe3rCialR0s2/6QsM1EQbuMUpCmZLSQZ4tA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.1.1.tgz", + "integrity": "sha512-ATYLc36m9/7/i0yAFs1winPuqPiqFwMJ2dkRaueM84w8/zsJadd8KeKgmtuw7UYZjfaE6cWefdvDmhGHtqxsbQ==", "dev": true, "dependencies": { - "@parcel/types": "^2.0.1" + "@parcel/types": "^2.1.1" }, "engines": { "node": ">= 12.0.0" @@ -1271,14 +1275,14 @@ } }, "node_modules/@parcel/reporter-cli": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.0.1.tgz", - "integrity": "sha512-R4gmEhXH6vQMoSEobVolyCIJWBRV9z9Ju5y4gheUv7X0u3e2tpsHpDq835o8jqNIBG75Dm8Q5f3EE8BdhPzTEg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.1.1.tgz", + "integrity": "sha512-sFD1y3hnNnQFEZpZ+OoxBFDBIBK9XVXjA6fMPiZG3XQcDTPjoq6TpKHcTSo5PYTdHkKX7Q/1BioOznTJE44Rpg==", "dev": true, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/types": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.1", + "@parcel/types": "^2.1.1", + "@parcel/utils": "^2.1.1", "chalk": "^4.1.0", "filesize": "^6.1.0", "nullthrows": "^1.1.1", @@ -1290,7 +1294,7 @@ }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -1298,13 +1302,13 @@ } }, "node_modules/@parcel/reporter-dev-server": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.0.1.tgz", - "integrity": "sha512-dm2zgE8mPgLD5Nkmw9WQENZunrBN29fDRkNZhqnQyq4BBXF7e6Q/J/uamUjdtxAp7Qzobw1ZjybqlFuEh0z2tg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.1.1.tgz", + "integrity": "sha512-qSVDkwi3TIbsVMP/BTLlXZdy/iMa7hZz/ekh5TgHZikPt0d2P7VtW5gRQniXWFtipLKSf/Zh88dSAuZpAxpLFQ==", "dev": true, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "connect": "^3.7.0", "ejs": "^3.1.6", "http-proxy-middleware": "^1.0.0", @@ -1314,7 +1318,7 @@ }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -1322,17 +1326,17 @@ } }, "node_modules/@parcel/resolver-default": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.0.1.tgz", - "integrity": "sha512-8+dMgb6pJGaepGAb+44ORLamFv8Ik7T1MyyexI3d9KfWXolU4lhSoFrNGeSEqm4VtPHH0xMYQo2cyIYKZSzuyA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.1.1.tgz", + "integrity": "sha512-0AUdzzwhEIfZo3DK/oTFRsjENIHWbWo/11j6ie4faLr775eOyLhDEl0vGSgE8rH9NTNszwcRhMup7/zQ5Ql7RQ==", "dev": true, "dependencies": { - "@parcel/node-resolver-core": "^2.0.1", - "@parcel/plugin": "^2.0.1" + "@parcel/node-resolver-core": "^2.1.1", + "@parcel/plugin": "^2.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -1340,17 +1344,17 @@ } }, "node_modules/@parcel/runtime-browser-hmr": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.0.1.tgz", - "integrity": "sha512-fHuK3tzfJdDhCuNab7aB0RGrfyPlpmV7l0YJJ6Hvv2FiJ1EP2f0mMYF3/T6BXacL4/HLVo58K/XLYhTb6jU2cA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.1.1.tgz", + "integrity": "sha512-bUfsDpsGK6y9zoqIAUaBtyfJNRCFvQ2Spt3xp5v0jVy97Bruhh2u9jOe+V4lIwbcDjmYRWQAyMHhyUroJX9Pcw==", "dev": true, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1" + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -1358,18 +1362,18 @@ } }, "node_modules/@parcel/runtime-js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.0.1.tgz", - "integrity": "sha512-5syJTEWY4uw+GH8AYwL55fqRgcBjL/tb95FSYHfABKMHSkaU6KbeUzCv88oj2wE5szWHX793LuqjppO465XYvQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.1.1.tgz", + "integrity": "sha512-BbZbR7AtiPbDMRnc7NS1EmpYt9zh8a9ZLqoV3b3aAlwuKjgf8enIKtt1rq/1uSriKX3l/v9WSx5qHRDFWUnoJg==", "dev": true, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -1377,18 +1381,18 @@ } }, "node_modules/@parcel/runtime-react-refresh": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.0.1.tgz", - "integrity": "sha512-7j8cmIaoGP0etC2SLrWO1RdxQp+IealRAyZsLODRU22EQxCobGh5uq7Bjdv+m1wZrAdolR00lZe5p+dGrD2QGw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.1.1.tgz", + "integrity": "sha512-oROjN0DMvkkv15uvzAFlRLdF31e5kq5s8tuv/R0V5QhB/X2TC7++f7fBXkvO1SUGQxYn80RKGWZvyJ8oc2nIRw==", "dev": true, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "react-refresh": "^0.9.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -1396,18 +1400,18 @@ } }, "node_modules/@parcel/runtime-service-worker": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.0.1.tgz", - "integrity": "sha512-B12lgz5LYLhhvjnTryg38R0PryAbq1+GCJE8Inidzr/IYLROUZANokPcUYUxwVB6QJVzYRhkx3lEf9VziAot2g==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.1.1.tgz", + "integrity": "sha512-d9Bcp+gTyt+r3beN/YlaVKpZg8zmjkcoS3eJ0OSbljHaBvGJCfU3o6cEiFf5OFgCOAy2tTu/yDbkRiRFTR4fOA==", "dev": true, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -1428,9 +1432,9 @@ } }, "node_modules/@parcel/transformer-babel": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.0.1.tgz", - "integrity": "sha512-TUCTdZi3V7z0WzyFPe3A1dQ0kLxPS8bEa0KgW7sueo9D0LXFvxpwh3Mf93q2H56KGb96o/QOXkz4HY8og+Wy4g==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.1.1.tgz", + "integrity": "sha512-qsntd6tt9fmef8awebz5gmqk0Ak9SZ3Xy9OmA1pL9cFeMpbgVPPulPlw1cg+MEtRBaAWh5HIjKqElNNnNoSPDA==", "dev": true, "dependencies": { "@babel/core": "^7.12.0", @@ -1438,11 +1442,11 @@ "@babel/helper-compilation-targets": "^7.8.4", "@babel/plugin-transform-flow-strip-types": "^7.0.0", "@babel/traverse": "^7.0.0", - "@parcel/babel-ast-utils": "^2.0.1", - "@parcel/diagnostic": "^2.0.1", - "@parcel/plugin": "^2.0.1", + "@parcel/babel-ast-utils": "^2.1.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.0.1", + "@parcel/utils": "^2.1.1", "browserslist": "^4.6.6", "core-js": "^3.2.1", "json5": "^2.1.0", @@ -1451,7 +1455,7 @@ }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -1474,22 +1478,22 @@ } }, "node_modules/@parcel/transformer-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.0.1.tgz", - "integrity": "sha512-sSe8elt3ejTkmZmGk3ahhimGwVoxQL0hUYSjmsgK24a4kUoJWby2hvV8BEZWDZ8zJz5ZOWUw+34fM1frEn87dQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.1.1.tgz", + "integrity": "sha512-ZeDsjy+QFk5DLU8iNuHZPfAX6Ebqqzda8KJFD3HnwzrpVQsWf3gvZcF6YlgfPJPO9SESSZwaGLVA2UMWAwAMaw==", "dev": true, "dependencies": { - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.0.1", + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1", "postcss": "^8.3.0", "postcss-value-parser": "^4.1.0", - "semver": "^5.4.1" + "semver": "^5.7.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -1497,22 +1501,23 @@ } }, "node_modules/@parcel/transformer-html": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.0.1.tgz", - "integrity": "sha512-UkRtBHPnuedSX5UPzrZDzNb5pxWCVqvE5/xTPlxWEtN4een9Aixl4RSOZiJxMp4dxxVtw/fo9Lnx0z1wYxbWRw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.1.1.tgz", + "integrity": "sha512-OAPT8ZwK0lcAp90EkKtVoPAHoihRLMQLinQA06xX6/lVfO70lLhPvMuBhXr4v1AvJP0KXl4DDsmROZizwGvutA==", "dev": true, "dependencies": { - "@parcel/hash": "^2.0.1", - "@parcel/plugin": "^2.0.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/hash": "^2.1.1", + "@parcel/plugin": "^2.1.1", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", "posthtml-render": "^3.0.0", - "semver": "^5.4.1" + "semver": "^5.7.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -1520,41 +1525,42 @@ } }, "node_modules/@parcel/transformer-image": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.0.1.tgz", - "integrity": "sha512-1xHPdE4W8jzsI0AWi4XWYioG2sDZvxJHprlTYNGK8GE+A2U7bOi7T2aoa44fEfK1pRa+N5GTkoNVTYiv4hza0g==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.1.1.tgz", + "integrity": "sha512-ggoduvKfL+cYyDeqr7zjLOseEbxN4iYkZzKVkSNWjjnpjaeJEG05nGS+OzSgsu/jpxOikfsf6hrfN7Qv/iT7Dw==", "dev": true, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/workers": "^2.0.1", + "@parcel/plugin": "^2.1.1", + "@parcel/workers": "^2.1.1", "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" } }, "node_modules/@parcel/transformer-js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.0.1.tgz", - "integrity": "sha512-c55qVfPU+jKoFFLV2GhME7CCqBO4Il34lW1EEv0RdYlBivPQQf+8vdcrrRX2FSjlI9cpvw9E4l298HyQDpVyng==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.1.1.tgz", + "integrity": "sha512-95e/ROGuGg4EG954fDZjgBB3zD7ma49I4QIJZKKwi/DGRoccXu87MI+YwRpEOLMKD2BkuNVkwvnPrmJbh84gFQ==", "dev": true, "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/plugin": "^2.0.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.0.1", + "@parcel/utils": "^2.1.1", + "@parcel/workers": "^2.1.1", "@swc/helpers": "^0.2.11", "browserslist": "^4.6.6", "detect-libc": "^1.0.3", "micromatch": "^4.0.2", "nullthrows": "^1.1.1", "regenerator-runtime": "^0.13.7", - "semver": "^5.4.1" + "semver": "^5.7.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -1562,17 +1568,17 @@ } }, "node_modules/@parcel/transformer-json": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.0.1.tgz", - "integrity": "sha512-Nx22PQY5InJdqLKppC+Rq0zwH7mpE2MUvgdyhGBzbwB3qwo+us1uupj+3TGYtBQ8tsUypTZVQ1kWGyQkkGWqHg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.1.1.tgz", + "integrity": "sha512-z2e24c7A4BrPTr35RiLdxOFgAFx6+s6fAVI4177wvaHR/GqRTmzoyvgQOjtN1v3yv8N5lU6EJnW8nT6aJ6lCNA==", "dev": true, "dependencies": { - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.1.1", "json5": "^2.1.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -1595,24 +1601,24 @@ } }, "node_modules/@parcel/transformer-postcss": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.0.1.tgz", - "integrity": "sha512-bSmOl1CxE5VD7FoNMz9G5ndh3vkYMJl84nbY2t91lUtGcY/ROJ1LKvZrglCCEEE13j9orFsPproQgCcYG7m1eA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.1.1.tgz", + "integrity": "sha512-P/4RL3Yy5/DwIMx0g6MdyqLLcyhDOaPj5VZUfXygBtu1HBtkSk2oXDto9om4kYmeTuwXjwFohCqjBh3nw1uU+A==", "dev": true, "dependencies": { - "@parcel/hash": "^2.0.1", - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/hash": "^2.1.1", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "clone": "^2.1.1", "css-modules-loader-core": "^1.1.0", "nullthrows": "^1.1.1", "postcss-modules": "^3.2.2", "postcss-value-parser": "^4.1.0", - "semver": "^5.4.1" + "semver": "^5.7.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -1620,22 +1626,22 @@ } }, "node_modules/@parcel/transformer-posthtml": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.0.1.tgz", - "integrity": "sha512-UKGZO5vAZCxnTDF5fT8DzNrUdzahpCnFCrFOa0MFKi0DLKrVrxXmgIgLtoLS+mgwd3WuOW3Vx3KgyVovP5n2JQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.1.1.tgz", + "integrity": "sha512-jfuBuVdKdgARiGjfbmbINmG4/p7UwzcsdwQtRsjU8BwdIP+aUtiFUz7jfa2WcGXYuAm0by1B0BV+GWRL2W0kCw==", "dev": true, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", "posthtml-render": "^3.0.0", - "semver": "^5.4.1" + "semver": "^5.7.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -1643,16 +1649,16 @@ } }, "node_modules/@parcel/transformer-raw": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.0.1.tgz", - "integrity": "sha512-NkwOp2lZX5bNxSj6tMNTEledWZvpIperCMOERm4raToDkdjBH1pDrxDLUBy8VzQ8M08CLz+2KJaF5wRMvj/eQw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.1.1.tgz", + "integrity": "sha512-wu77D1mKSU+VETS0fgNq39mPJmK7oBYnaqfkjD44BXZR3MmHXcRYj1T4DXjI3OxNE4EWLUA9S9ttn3bll52v/A==", "dev": true, "dependencies": { - "@parcel/plugin": "^2.0.1" + "@parcel/plugin": "^2.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -1660,18 +1666,18 @@ } }, "node_modules/@parcel/transformer-react-refresh-wrap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.0.1.tgz", - "integrity": "sha512-zZj2Leh39ODh3C2xDh3eVvp1VnfVqeY5PrNdIcNfWw2DMBli13azcwYmF4Uim8natRqMFIsWsfKNesEY+mGLfA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.1.1.tgz", + "integrity": "sha512-bZZ20GaY44fWtbGQPpz1s2sJHR6ZjYOrcjSRVHqfFuP3d0b0/vOhZPEEAW9di+5dHsF2fFA8F2yfXDYKBxrevA==", "dev": true, "dependencies": { - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "react-refresh": "^0.9.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -1679,18 +1685,18 @@ } }, "node_modules/@parcel/transformer-sass": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/transformer-sass/-/transformer-sass-2.0.1.tgz", - "integrity": "sha512-Qk4+8N1zNaBxXRqjJvzjLjutuuhyw/3MHSA6wjvY5BqQB22GtDFE8h9KFSFN7hPdU8CEiBntKe1diqeckPCg4w==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/transformer-sass/-/transformer-sass-2.1.1.tgz", + "integrity": "sha512-7aIZFZ645OoMmji3hnOgX5JS/hSmnRi8Re5fzZ790dojsWLf2wGmSzSURG4uh3D9kf/BpQSmO/74aaaxbxMA7A==", "dev": true, "dependencies": { - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", "sass": "^1.38.0" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -1698,22 +1704,23 @@ } }, "node_modules/@parcel/transformer-svg": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.0.1.tgz", - "integrity": "sha512-ZctnwpSomOZoh2FdfETLU4WnIr2t5P9W7QX5USATTlq62uD404Qsj1gr93wQgjLjzy9ID6T1Ua4iIdYNSkScNA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.1.1.tgz", + "integrity": "sha512-CpRxQUBNEhaURHgg1kjBjPpUUEE6DAfiwZrFrC9JC9Ql4P6nJ/OTbGay3onkbcriIN+MehJWUC5wI659JNF/zg==", "dev": true, "dependencies": { - "@parcel/hash": "^2.0.1", - "@parcel/plugin": "^2.0.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/hash": "^2.1.1", + "@parcel/plugin": "^2.1.1", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", "posthtml-render": "^3.0.0", - "semver": "^5.4.1" + "semver": "^5.7.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.1" + "parcel": "^2.1.1" }, "funding": { "type": "opencollective", @@ -1721,32 +1728,32 @@ } }, "node_modules/@parcel/types": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.0.1.tgz", - "integrity": "sha512-em8/GgC7uzkUyEA2ogkzeVDmjaKYQhjf/4EIiC7jXWr22NlSXRQOawhc0CB2o97J9EV2rVXVkWTj0drHTpN2Bw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.1.1.tgz", + "integrity": "sha512-wqor3UzpeXrC5gjhG7PkrPBFCf4h+gQHIFQrSFp4vGkgIJP3c/++E3duzmN6tQosCj8HFwzxlOoVh8+wyv9TYg==", "dev": true, "dependencies": { - "@parcel/cache": "^2.0.1", - "@parcel/diagnostic": "^2.0.1", - "@parcel/fs": "^2.0.1", - "@parcel/package-manager": "^2.0.1", + "@parcel/cache": "^2.1.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/fs": "^2.1.1", + "@parcel/package-manager": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/workers": "^2.0.1", + "@parcel/workers": "^2.1.1", "utility-types": "^3.10.0" } }, "node_modules/@parcel/utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.0.1.tgz", - "integrity": "sha512-+XD+LYDq+VKAUfRPzcsOjq9LefeX6tiQ2zH2uCWYAwA+s+sTHIrvWkKoF3QfFOQpPgj2QqnAZMOS6F/xY2phPg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.1.1.tgz", + "integrity": "sha512-0qFcBFeXsGU2CfbyGMyNhnwuZS60gutV0N47HQf5uuE+IWDLwsX63Ca5yEobLHlVhJijsHZoq3SD+qdXE1z5og==", "dev": true, "dependencies": { "@iarna/toml": "^2.2.0", - "@parcel/codeframe": "^2.0.1", - "@parcel/diagnostic": "^2.0.1", - "@parcel/hash": "^2.0.1", - "@parcel/logger": "^2.0.1", - "@parcel/markdown-ansi": "^2.0.1", + "@parcel/codeframe": "^2.1.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/hash": "^2.1.1", + "@parcel/logger": "^2.1.1", + "@parcel/markdown-ansi": "^2.1.1", "@parcel/source-map": "^2.0.0", "ansi-html-community": "0.0.8", "chalk": "^4.1.0", @@ -1790,15 +1797,15 @@ } }, "node_modules/@parcel/workers": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.0.1.tgz", - "integrity": "sha512-nBBK5QeoWM0l8khyStDiEd432UXaF6mkUa8n2D4Ee6XOFgUCiXWV7VROqA4nhf6OJr5K+trtNaNVGq9oHRuPHw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.1.1.tgz", + "integrity": "sha512-12i2UdVzTClwVFkXdH5C9/XyqSObvXzTa9KZgAwsttdmhw9fNx/3RA0l0/tw6Yww/iOyXm7Zd5o6Vkp1Njfjqg==", "dev": true, "dependencies": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/logger": "^2.0.1", - "@parcel/types": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/logger": "^2.1.1", + "@parcel/types": "^2.1.1", + "@parcel/utils": "^2.1.1", "chrome-trace-event": "^1.0.2", "nullthrows": "^1.1.1" }, @@ -1810,13 +1817,13 @@ "url": "https://opencollective.com/parcel" }, "peerDependencies": { - "@parcel/core": "^2.0.0" + "@parcel/core": "^2.1.1" } }, "node_modules/@popperjs/core": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.0.tgz", - "integrity": "sha512-zrsUxjLOKAzdewIDRWy9nsV1GQsKBCWaGwsZQlCgr6/q+vjyZhFgqedLfFBuI9anTPEUT4APq9Mu0SZBTzIcGQ==", + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.2.tgz", + "integrity": "sha512-92FRmppjjqz29VMJ2dn+xdyXZBrMlE42AV6Kq6BwjWV7CNUW1hs2FtxSNLQE+gJhaZ6AAmYuO9y8dshhcBl7vA==", "funding": { "type": "opencollective", "url": "https://opencollective.com/popperjs" @@ -1847,9 +1854,9 @@ } }, "node_modules/@types/node": { - "version": "17.0.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.7.tgz", - "integrity": "sha512-1QUk+WAUD4t8iR+Oj+UgI8oJa6yyxaB8a8pHaC8uqM6RrS1qbL7bf3Pwl5rHv0psm2CuDErgho6v5N+G+5fwtQ==", + "version": "17.0.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.8.tgz", + "integrity": "sha512-YofkM6fGv4gDJq78g4j0mMuGMkZVxZDgtU0JRdx6FgiJDG+0fY0GKVolOV8WqVmEhLCXkQRjwDdKyPxJp/uucg==", "dev": true }, "node_modules/@types/parse-json": { @@ -2518,9 +2525,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001296", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001296.tgz", - "integrity": "sha512-WfrtPEoNSoeATDlf4y3QvkwiELl9GyPLISV5GejTbbQRtQx4LhsXmc9IQ6XCL2d7UxCyEzToEZNMeqR79OUw8Q==", + "version": "1.0.30001298", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001298.tgz", + "integrity": "sha512-AcKqikjMLlvghZL/vfTHorlQsLDhGRalYf1+GmWCf5SCMziSGjRYQW/JEksj14NaYHIR6KIhrFAy0HV5C25UzQ==", "dev": true, "funding": { "type": "opencollective", @@ -2872,9 +2879,9 @@ } }, "node_modules/css-declaration-sorter": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.3.tgz", - "integrity": "sha512-SvjQjNRZgh4ULK1LDJ2AduPKUKxIqmtU7ZAyi47BTV+M90Qvxr9AB6lKlLbDUfXqI9IQeYA8LbAsCZPpJEV3aA==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.4.tgz", + "integrity": "sha512-lpfkqS0fctcmZotJGhnxkIyJWvBXgpyi2wsFd4J8VB7wzyrT6Ch/3Q+FMNJpjK4gu1+GN5khOnpU2ZVKrLbhCw==", "dev": true, "dependencies": { "timsort": "^0.3.0" @@ -3072,12 +3079,12 @@ } }, "node_modules/cssnano": { - "version": "5.0.14", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.14.tgz", - "integrity": "sha512-qzhRkFvBhv08tbyKCIfWbxBXmkIpLl1uNblt8SpTHkgLfON5OCPX/CCnkdNmEosvo8bANQYmTTMEgcVBlisHaw==", + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.15.tgz", + "integrity": "sha512-ppZsS7oPpi2sfiyV5+i+NbB/3GtQ+ab2Vs1azrZaXWujUSN4o+WdTxlCZIMcT9yLW3VO/5yX3vpyDaQ1nIn8CQ==", "dev": true, "dependencies": { - "cssnano-preset-default": "^5.1.9", + "cssnano-preset-default": "^5.1.10", "lilconfig": "^2.0.3", "yaml": "^1.10.2" }, @@ -3093,38 +3100,38 @@ } }, "node_modules/cssnano-preset-default": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.9.tgz", - "integrity": "sha512-RhkEucqlQ+OxEi14K1p8gdXcMQy1mSpo7P1oC44oRls7BYIj8p+cht4IFBFV3W4iOjTP8EUB33XV1fX9KhDzyA==", + "version": "5.1.10", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.10.tgz", + "integrity": "sha512-BcpSzUVygHMOnp9uG5rfPzTOCb0GAHQkqtUQx8j1oMNF9A1Q8hziOOhiM4bdICpmrBIU85BE64RD5XGYsVQZNA==", "dev": true, "dependencies": { "css-declaration-sorter": "^6.0.3", - "cssnano-utils": "^2.0.1", - "postcss-calc": "^8.0.0", - "postcss-colormin": "^5.2.2", + "cssnano-utils": "^3.0.0", + "postcss-calc": "^8.2.0", + "postcss-colormin": "^5.2.3", "postcss-convert-values": "^5.0.2", "postcss-discard-comments": "^5.0.1", "postcss-discard-duplicates": "^5.0.1", "postcss-discard-empty": "^5.0.1", - "postcss-discard-overridden": "^5.0.1", + "postcss-discard-overridden": "^5.0.2", "postcss-merge-longhand": "^5.0.4", - "postcss-merge-rules": "^5.0.3", - "postcss-minify-font-values": "^5.0.1", - "postcss-minify-gradients": "^5.0.3", - "postcss-minify-params": "^5.0.2", - "postcss-minify-selectors": "^5.1.0", + "postcss-merge-rules": "^5.0.4", + "postcss-minify-font-values": "^5.0.2", + "postcss-minify-gradients": "^5.0.4", + "postcss-minify-params": "^5.0.3", + "postcss-minify-selectors": "^5.1.1", "postcss-normalize-charset": "^5.0.1", - "postcss-normalize-display-values": "^5.0.1", - "postcss-normalize-positions": "^5.0.1", - "postcss-normalize-repeat-style": "^5.0.1", - "postcss-normalize-string": "^5.0.1", - "postcss-normalize-timing-functions": "^5.0.1", - "postcss-normalize-unicode": "^5.0.1", + "postcss-normalize-display-values": "^5.0.2", + "postcss-normalize-positions": "^5.0.2", + "postcss-normalize-repeat-style": "^5.0.2", + "postcss-normalize-string": "^5.0.2", + "postcss-normalize-timing-functions": "^5.0.2", + "postcss-normalize-unicode": "^5.0.2", "postcss-normalize-url": "^5.0.4", - "postcss-normalize-whitespace": "^5.0.1", - "postcss-ordered-values": "^5.0.2", + "postcss-normalize-whitespace": "^5.0.2", + "postcss-ordered-values": "^5.0.3", "postcss-reduce-initial": "^5.0.2", - "postcss-reduce-transforms": "^5.0.1", + "postcss-reduce-transforms": "^5.0.2", "postcss-svgo": "^5.0.3", "postcss-unique-selectors": "^5.0.2" }, @@ -3136,9 +3143,9 @@ } }, "node_modules/cssnano-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-2.0.1.tgz", - "integrity": "sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.0.0.tgz", + "integrity": "sha512-Pzs7/BZ6OgT+tXXuF12DKR8SmSbzUeVYCtMBbS8lI0uAm3mrYmkyqCXXPsQESI6kmLfEVBppbdVY/el3hg3nAA==", "dev": true, "engines": { "node": "^10 || ^12 || >=14.0" @@ -3459,9 +3466,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.33", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.33.tgz", - "integrity": "sha512-OVK1Ad3pHnmuXPhEfq85X8vUKr1UPNHryBnbKnyLcAfh8dPwoFjoDhDlP5KpPJIiymvSucZs48UBrE1250IxOw==", + "version": "1.4.38", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.38.tgz", + "integrity": "sha512-WhHt3sZazKj0KK/UpgsbGQnUUoFeAHVishzHFExMxagpZgjiGYSC9S0ZlbhCfSH2L2i+2A1yyqOIliTctMx7KQ==", "dev": true }, "node_modules/elliptic": { @@ -4412,16 +4419,16 @@ } }, "node_modules/globby": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", "slash": "^3.0.0" }, "engines": { @@ -4431,6 +4438,34 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/globby/node_modules/fast-glob": { + "version": "3.2.10", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.10.tgz", + "integrity": "sha512-s9nFhFnvR63wls6/kM88kQqDhMu0AfdjqouE2l5GVQPbqLgyFjjU5ry/r2yKsJxpb9Py1EYNqieFrmMaX4v++A==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/globby/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/globby/node_modules/ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", @@ -4441,9 +4476,9 @@ } }, "node_modules/graceful-fs": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", "dev": true }, "node_modules/har-schema": { @@ -5588,18 +5623,18 @@ "node": "^6.0 || ^8.0 || ^10.0 || ^12.0 || >=14" } }, - "node_modules/lmdb-store": { - "version": "1.6.14", - "resolved": "https://registry.npmjs.org/lmdb-store/-/lmdb-store-1.6.14.tgz", - "integrity": "sha512-4woZfvfgolMEngjoMJrwePjdLotr3QKGJsDWURlJmKBed5JtE00IfAKo7ryPowl4ksGcs21pcdLkwrPnKomIuA==", + "node_modules/lmdb": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-2.1.4.tgz", + "integrity": "sha512-h6aUkv4Vhn49edfawf4S32QUzSeQ4NPfJpdk/SscidwRPwm0E9s/cNmID4Eh0QcwMbD8thQSFvXbjfjluGhVLQ==", "dev": true, "hasInstallScript": true, "dependencies": { - "msgpackr": "^1.5.0", + "msgpackr": "^1.5.2", "nan": "^2.14.2", "node-gyp-build": "^4.2.3", - "ordered-binary": "^1.0.0", - "weak-lru-cache": "^1.0.0" + "ordered-binary": "^1.2.3", + "weak-lru-cache": "^1.2.1" } }, "node_modules/loader-utils": { @@ -6164,21 +6199,21 @@ "dev": true }, "node_modules/parcel": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/parcel/-/parcel-2.0.1.tgz", - "integrity": "sha512-tGc7p3CbltlxYiu5u8NmFc2T5G3JZQDbKjlxDtjDpsNvLS6twX0Wu/D/HufaUKXyZr7O9JV7by3E+6DIo5cr5Q==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/parcel/-/parcel-2.1.1.tgz", + "integrity": "sha512-qZ2GE8WsqAXzk/kz8o+5ue9glbPpuw9XZCTLfpSiECE5d1XZj7bPHB03tBA/T5WvoHbkiHd4dhFmJ8Dqx5w53A==", "dev": true, "dependencies": { - "@parcel/config-default": "^2.0.1", - "@parcel/core": "^2.0.1", - "@parcel/diagnostic": "^2.0.1", - "@parcel/events": "^2.0.1", - "@parcel/fs": "^2.0.1", - "@parcel/logger": "^2.0.1", - "@parcel/package-manager": "^2.0.1", - "@parcel/reporter-cli": "^2.0.1", - "@parcel/reporter-dev-server": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/config-default": "^2.1.1", + "@parcel/core": "^2.1.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/events": "^2.1.1", + "@parcel/fs": "^2.1.1", + "@parcel/logger": "^2.1.1", + "@parcel/package-manager": "^2.1.1", + "@parcel/reporter-cli": "^2.1.1", + "@parcel/reporter-dev-server": "^2.1.1", + "@parcel/utils": "^2.1.1", "chalk": "^4.1.0", "commander": "^7.0.0", "get-port": "^4.2.0", @@ -6363,9 +6398,9 @@ } }, "node_modules/postcss-calc": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.1.0.tgz", - "integrity": "sha512-XaJ+DArhRtRAzI+IqjRNTM0i4NFKkMK5StepwynfrF27UfO6/oMaELSVDE4f9ndLHyaO4aDKUwfQKVmje/BzCg==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.0.tgz", + "integrity": "sha512-PueXCv288diX7OXyJicGNA6Q3+L4xYb2cALTAeFj9X6PXnj+s4pUf1vkZnwn+rldfu2taCA9ondjF93lhRTPFA==", "dev": true, "dependencies": { "postcss-selector-parser": "^6.0.2", @@ -6376,9 +6411,9 @@ } }, "node_modules/postcss-colormin": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.2.tgz", - "integrity": "sha512-tSEe3NpqWARUTidDlF0LntPkdlhXqfDFuA1yslqpvvGAfpZ7oBaw+/QXd935NKm2U9p4PED0HDZlzmMk7fVC6g==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.3.tgz", + "integrity": "sha512-dra4xoAjub2wha6RUXAgadHEn2lGxbj8drhFcIGLOMn914Eu7DkPUurugDXgstwttCYkJtZ/+PkWRWdp3UHRIA==", "dev": true, "dependencies": { "browserslist": "^4.16.6", @@ -6445,9 +6480,9 @@ } }, "node_modules/postcss-discard-overridden": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz", - "integrity": "sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.2.tgz", + "integrity": "sha512-+56BLP6NSSUuWUXjRgAQuho1p5xs/hU5Sw7+xt9S3JSg+7R6+WMGnJW7Hre/6tTuZ2xiXMB42ObkiZJ2hy/Pew==", "dev": true, "engines": { "node": "^10 || ^12 || >=14.0" @@ -6473,14 +6508,14 @@ } }, "node_modules/postcss-merge-rules": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.3.tgz", - "integrity": "sha512-cEKTMEbWazVa5NXd8deLdCnXl+6cYG7m2am+1HzqH0EnTdy8fRysatkaXb2dEnR+fdaDxTvuZ5zoBdv6efF6hg==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.4.tgz", + "integrity": "sha512-yOj7bW3NxlQxaERBB0lEY1sH5y+RzevjbdH4DBJurjKERNpknRByFNdNe+V72i5pIZL12woM9uGdS5xbSB+kDQ==", "dev": true, "dependencies": { "browserslist": "^4.16.6", "caniuse-api": "^3.0.0", - "cssnano-utils": "^2.0.1", + "cssnano-utils": "^3.0.0", "postcss-selector-parser": "^6.0.5" }, "engines": { @@ -6491,12 +6526,12 @@ } }, "node_modules/postcss-minify-font-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz", - "integrity": "sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.2.tgz", + "integrity": "sha512-R6MJZryq28Cw0AmnyhXrM7naqJZZLoa1paBltIzh2wM7yb4D45TLur+eubTQ4jCmZU9SGeZdWsc5KcSoqTMeTg==", "dev": true, "dependencies": { - "postcss-value-parser": "^4.1.0" + "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -6506,14 +6541,14 @@ } }, "node_modules/postcss-minify-gradients": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.3.tgz", - "integrity": "sha512-Z91Ol22nB6XJW+5oe31+YxRsYooxOdFKcbOqY/V8Fxse1Y3vqlNRpi1cxCqoACZTQEhl+xvt4hsbWiV5R+XI9Q==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.4.tgz", + "integrity": "sha512-RVwZA7NC4R4J76u8X0Q0j+J7ItKUWAeBUJ8oEEZWmtv3Xoh19uNJaJwzNpsydQjk6PkuhRrK+YwwMf+c+68EYg==", "dev": true, "dependencies": { "colord": "^2.9.1", - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" + "cssnano-utils": "^3.0.0", + "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -6523,15 +6558,15 @@ } }, "node_modules/postcss-minify-params": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.2.tgz", - "integrity": "sha512-qJAPuBzxO1yhLad7h2Dzk/F7n1vPyfHfCCh5grjGfjhi1ttCnq4ZXGIW77GSrEbh9Hus9Lc/e/+tB4vh3/GpDg==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.3.tgz", + "integrity": "sha512-NY92FUikE+wralaiVexFd5gwb7oJTIDhgTNeIw89i1Ymsgt4RWiPXfz3bg7hDy4NL6gepcThJwOYNtZO/eNi7Q==", "dev": true, "dependencies": { "alphanum-sort": "^1.0.2", "browserslist": "^4.16.6", - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" + "cssnano-utils": "^3.0.0", + "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -6541,9 +6576,9 @@ } }, "node_modules/postcss-minify-selectors": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz", - "integrity": "sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.1.tgz", + "integrity": "sha512-TOzqOPXt91O2luJInaVPiivh90a2SIK5Nf1Ea7yEIM/5w+XA5BGrZGUSW8aEx9pJ/oNj7ZJBhjvigSiBV+bC1Q==", "dev": true, "dependencies": { "alphanum-sort": "^1.0.2", @@ -7083,13 +7118,12 @@ } }, "node_modules/postcss-normalize-display-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz", - "integrity": "sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.2.tgz", + "integrity": "sha512-RxXoJPUR0shSjkMMzgEZDjGPrgXUVYyWA/YwQRicb48H15OClPuaDR7tYokLAlGZ2tCSENEN5WxjgxSD5m4cUw==", "dev": true, "dependencies": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" + "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -7099,12 +7133,12 @@ } }, "node_modules/postcss-normalize-positions": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz", - "integrity": "sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.2.tgz", + "integrity": "sha512-tqghWFVDp2btqFg1gYob1etPNxXLNh3uVeWgZE2AQGh6b2F8AK2Gj36v5Vhyh+APwIzNjmt6jwZ9pTBP+/OM8g==", "dev": true, "dependencies": { - "postcss-value-parser": "^4.1.0" + "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -7114,13 +7148,12 @@ } }, "node_modules/postcss-normalize-repeat-style": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz", - "integrity": "sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.2.tgz", + "integrity": "sha512-/rIZn8X9bBzC7KvY4iKUhXUGW3MmbXwfPF23jC9wT9xTi7kAvgj8sEgwxjixBmoL6MVa4WOgxNz2hAR6wTK8tw==", "dev": true, "dependencies": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" + "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -7130,12 +7163,12 @@ } }, "node_modules/postcss-normalize-string": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz", - "integrity": "sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.2.tgz", + "integrity": "sha512-zaI1yzwL+a/FkIzUWMQoH25YwCYxi917J4pYm1nRXtdgiCdnlTkx5eRzqWEC64HtRa06WCJ9TIutpb6GmW4gFw==", "dev": true, "dependencies": { - "postcss-value-parser": "^4.1.0" + "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -7145,13 +7178,12 @@ } }, "node_modules/postcss-normalize-timing-functions": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz", - "integrity": "sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.2.tgz", + "integrity": "sha512-Ao0PP6MoYsRU1LxeVUW740ioknvdIUmfr6uAA3xWlQJ9s69/Tupy8qwhuKG3xWfl+KvLMAP9p2WXF9cwuk/7Bg==", "dev": true, "dependencies": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" + "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -7161,13 +7193,13 @@ } }, "node_modules/postcss-normalize-unicode": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz", - "integrity": "sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.2.tgz", + "integrity": "sha512-3y/V+vjZ19HNcTizeqwrbZSUsE69ZMRHfiiyLAJb7C7hJtYmM4Gsbajy7gKagu97E8q5rlS9k8FhojA8cpGhWw==", "dev": true, "dependencies": { - "browserslist": "^4.16.0", - "postcss-value-parser": "^4.1.0" + "browserslist": "^4.16.6", + "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -7193,12 +7225,12 @@ } }, "node_modules/postcss-normalize-whitespace": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz", - "integrity": "sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.2.tgz", + "integrity": "sha512-CXBx+9fVlzSgbk0IXA/dcZn9lXixnQRndnsPC5ht3HxlQ1bVh77KQDL1GffJx1LTzzfae8ftMulsjYmO2yegxA==", "dev": true, "dependencies": { - "postcss-value-parser": "^4.1.0" + "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -7208,13 +7240,13 @@ } }, "node_modules/postcss-ordered-values": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz", - "integrity": "sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.3.tgz", + "integrity": "sha512-T9pDS+P9bWeFvqivXd5ACzQmrCmHjv3ZP+djn8E1UZY7iK79pFSm7i3WbKw2VSmFmdbMm8sQ12OPcNpzBo3Z2w==", "dev": true, "dependencies": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" + "cssnano-utils": "^3.0.0", + "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -7240,13 +7272,12 @@ } }, "node_modules/postcss-reduce-transforms": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz", - "integrity": "sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.2.tgz", + "integrity": "sha512-25HeDeFsgiPSUx69jJXZn8I06tMxLQJJNF5h7i9gsUg8iP4KOOJ8EX8fj3seeoLt3SLU2YDD6UPnDYVGUO7DEA==", "dev": true, "dependencies": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" + "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -7794,9 +7825,9 @@ "dev": true }, "node_modules/sass": { - "version": "1.45.2", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.45.2.tgz", - "integrity": "sha512-cKfs+F9AMPAFlbbTXNsbGvg3y58nV0mXA3E94jqaySKcC8Kq3/8983zVKQ0TLMUrHw7hF9Tnd3Bz9z5Xgtrl9g==", + "version": "1.47.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.47.0.tgz", + "integrity": "sha512-GtXwvwgD7/6MLUZPnlA5/8cdRgC9SzT5kAnnJMRmEZQFRE3J56Foswig4NyyyQGsnmNvg6EUM/FP0Pe9Y2zywQ==", "dev": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", @@ -8024,9 +8055,9 @@ } }, "node_modules/sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", "dev": true, "dependencies": { "asn1": "~0.2.3", @@ -9347,22 +9378,22 @@ } }, "@parcel/babel-ast-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/babel-ast-utils/-/babel-ast-utils-2.0.1.tgz", - "integrity": "sha512-adBHMaPAj+w1NjO+oq6SUgtOpO7wmyNIgsiHDsf8cpLf2gT0GcC/afcaC07WhIq1PJvL2hkWQpT/8sj1m/QZSw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/babel-ast-utils/-/babel-ast-utils-2.1.1.tgz", + "integrity": "sha512-ChZ5PZSM+tFd/IKCev6NQh0Rge3jjaTX7DnausJH/yuMlWASIrtOD/CNvux9UHSzZ0u0xa6QkSWOHaDN2nFImQ==", "dev": true, "requires": { "@babel/parser": "^7.0.0", - "@parcel/babylon-walk": "^2.0.1", + "@parcel/babylon-walk": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.0.1", + "@parcel/utils": "^2.1.1", "astring": "^1.6.2" } }, "@parcel/babylon-walk": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/babylon-walk/-/babylon-walk-2.0.1.tgz", - "integrity": "sha512-eXlfG7ZGUuRF81mStZGeaYj4uH7Mgd8yfWB+c/Y13sxdacml+0vinCyZ9BjY7rYuxvKTlVSjp9BJW0Q0DS6THg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/babylon-walk/-/babylon-walk-2.1.1.tgz", + "integrity": "sha512-9MHQe0tv4NWGbIJMJ771mxXGpBqyM3iSi9AAmuRoZiUmoeuURNxS6srBo7QrkpUdhy+FiIw1jMBSZzA0nTuo6w==", "dev": true, "requires": { "@babel/types": "^7.12.13", @@ -9370,33 +9401,34 @@ } }, "@parcel/bundler-default": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.0.1.tgz", - "integrity": "sha512-4BE86Z26gr7VHeIOCWkaucl5SNntCGS9ltk1ed65mqbZaZloZP8YD/YINxxgPtx9moTWNqQO8Y3bvCAD+VY8mQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.1.1.tgz", + "integrity": "sha512-DlUKA76Wd5jFb7eDCGJX7qb4Fl7K2xydZ3p1V+9N38/Kl/WUgXKSl72R8tp9hMXMsebnH09iChe32ZoMk6DJTA==", "dev": true, "requires": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/hash": "^2.0.1", - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/hash": "^2.1.1", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1" } }, "@parcel/cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.0.1.tgz", - "integrity": "sha512-aXWkx6ySwHBdPWvCJ1x6aHGFWlfu9X89iKuN4X/quMHyUDqA2PkKBR0kAvcs47ZnmUAXlKI2J9BR+lEOSAJazA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.1.1.tgz", + "integrity": "sha512-Y15D1Dw2RiTIoq0fOV7oGVQSPACjcXGEz8+mG6mw+1Vm4DmJxwbCybc8qX9j4JsoAb9ZD6TT3Ngyl61z86YTfw==", "dev": true, "requires": { - "@parcel/logger": "^2.0.1", - "@parcel/utils": "^2.0.1", - "lmdb-store": "^1.5.5" + "@parcel/fs": "^2.1.1", + "@parcel/logger": "^2.1.1", + "@parcel/utils": "^2.1.1", + "lmdb": "^2.0.2" } }, "@parcel/codeframe": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.0.1.tgz", - "integrity": "sha512-NfquLg7qt8TfPmmfXVPlcq5mtEM3CvYjc+s5HLt1w0H461NiZOq7qhAaSS1N/3E+3d3eXOT/2AlCxoGm7KQ8hg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.1.1.tgz", + "integrity": "sha512-xnzd4i5ued3eRDZ2waZGczq5Ros/tDnv5VZXAurLGMgeHNlRZGy3Mw5BZXHzgAoPvJPT93DYb2u6DTvTQ3RJig==", "dev": true, "requires": { "chalk": "^4.1.0", @@ -9406,71 +9438,71 @@ } }, "@parcel/compressor-raw": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.0.1.tgz", - "integrity": "sha512-0VNadPUIIpgx2MCjt7PGOwcz0OXN0BFxCmWzy+ocyEWj0KQ79OBr8ni7I3Be78OxNhE8luTEC22kVJwM0rtP1g==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.1.1.tgz", + "integrity": "sha512-OAXwks2dNEUCv/tEzLwiRzLs0EAORUMAKeorJ9ECns7MsTNRTiPDA9WDG5VkwpHkpXEH4VA+TcNJwvvbXAVKeg==", "dev": true, "requires": { - "@parcel/plugin": "^2.0.1" + "@parcel/plugin": "^2.1.1" } }, "@parcel/config-default": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.0.1.tgz", - "integrity": "sha512-LavQo5+81wYARmDW+GsgPIV6GPG/rskR73oGHWV1oDr9k3UD2RYdGaH1GDcwqXyUEWVCw3K+nglaZdWFpOEdRQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.1.1.tgz", + "integrity": "sha512-XPs8hFcQSbMOJ0QQpUO8ZZI47z9XEwLVzVW3gskTnmy7nqX0z9w+R/jpjWJyOVC+7KER7fEA2Kt7hH2KFneDCQ==", "dev": true, "requires": { - "@parcel/bundler-default": "^2.0.1", - "@parcel/compressor-raw": "^2.0.1", - "@parcel/namer-default": "^2.0.1", - "@parcel/optimizer-cssnano": "^2.0.1", - "@parcel/optimizer-htmlnano": "^2.0.1", - "@parcel/optimizer-image": "^2.0.1", - "@parcel/optimizer-svgo": "^2.0.1", - "@parcel/optimizer-terser": "^2.0.1", - "@parcel/packager-css": "^2.0.1", - "@parcel/packager-html": "^2.0.1", - "@parcel/packager-js": "^2.0.1", - "@parcel/packager-raw": "^2.0.1", - "@parcel/packager-svg": "^2.0.1", - "@parcel/reporter-dev-server": "^2.0.1", - "@parcel/resolver-default": "^2.0.1", - "@parcel/runtime-browser-hmr": "^2.0.1", - "@parcel/runtime-js": "^2.0.1", - "@parcel/runtime-react-refresh": "^2.0.1", - "@parcel/runtime-service-worker": "^2.0.1", - "@parcel/transformer-babel": "^2.0.1", - "@parcel/transformer-css": "^2.0.1", - "@parcel/transformer-html": "^2.0.1", - "@parcel/transformer-image": "^2.0.1", - "@parcel/transformer-js": "^2.0.1", - "@parcel/transformer-json": "^2.0.1", - "@parcel/transformer-postcss": "^2.0.1", - "@parcel/transformer-posthtml": "^2.0.1", - "@parcel/transformer-raw": "^2.0.1", - "@parcel/transformer-react-refresh-wrap": "^2.0.1", - "@parcel/transformer-svg": "^2.0.1" + "@parcel/bundler-default": "^2.1.1", + "@parcel/compressor-raw": "^2.1.1", + "@parcel/namer-default": "^2.1.1", + "@parcel/optimizer-cssnano": "^2.1.1", + "@parcel/optimizer-htmlnano": "^2.1.1", + "@parcel/optimizer-image": "^2.1.1", + "@parcel/optimizer-svgo": "^2.1.1", + "@parcel/optimizer-terser": "^2.1.1", + "@parcel/packager-css": "^2.1.1", + "@parcel/packager-html": "^2.1.1", + "@parcel/packager-js": "^2.1.1", + "@parcel/packager-raw": "^2.1.1", + "@parcel/packager-svg": "^2.1.1", + "@parcel/reporter-dev-server": "^2.1.1", + "@parcel/resolver-default": "^2.1.1", + "@parcel/runtime-browser-hmr": "^2.1.1", + "@parcel/runtime-js": "^2.1.1", + "@parcel/runtime-react-refresh": "^2.1.1", + "@parcel/runtime-service-worker": "^2.1.1", + "@parcel/transformer-babel": "^2.1.1", + "@parcel/transformer-css": "^2.1.1", + "@parcel/transformer-html": "^2.1.1", + "@parcel/transformer-image": "^2.1.1", + "@parcel/transformer-js": "^2.1.1", + "@parcel/transformer-json": "^2.1.1", + "@parcel/transformer-postcss": "^2.1.1", + "@parcel/transformer-posthtml": "^2.1.1", + "@parcel/transformer-raw": "^2.1.1", + "@parcel/transformer-react-refresh-wrap": "^2.1.1", + "@parcel/transformer-svg": "^2.1.1" } }, "@parcel/core": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.0.1.tgz", - "integrity": "sha512-Iy5FgUAquc5HjQGiyKbWK0WaaVXerrzWD7cNBTIUOlk1xNeUtOeGu80Kc5xu0qT0/Mc+nsDfPhWcN8p4RVF+PQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.1.1.tgz", + "integrity": "sha512-xwGlTslX4oWPubpa0coS/nWUVVKCH2eAm4TBJTVJcJRLxuOHzlJ+mB2VdcYykiJNpVRF97tqbM7SfE3fU/iyig==", "dev": true, "requires": { - "@parcel/cache": "^2.0.1", - "@parcel/diagnostic": "^2.0.1", - "@parcel/events": "^2.0.1", - "@parcel/fs": "^2.0.1", - "@parcel/graph": "^2.0.1", - "@parcel/hash": "^2.0.1", - "@parcel/logger": "^2.0.1", - "@parcel/package-manager": "^2.0.1", - "@parcel/plugin": "^2.0.1", + "@parcel/cache": "^2.1.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/events": "^2.1.1", + "@parcel/fs": "^2.1.1", + "@parcel/graph": "^2.1.1", + "@parcel/hash": "^2.1.1", + "@parcel/logger": "^2.1.1", + "@parcel/package-manager": "^2.1.1", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/types": "^2.0.1", - "@parcel/utils": "^2.0.1", - "@parcel/workers": "^2.0.1", + "@parcel/types": "^2.1.1", + "@parcel/utils": "^2.1.1", + "@parcel/workers": "^2.1.1", "abortcontroller-polyfill": "^1.1.9", "base-x": "^3.0.8", "browserslist": "^4.6.6", @@ -9480,14 +9512,15 @@ "json-source-map": "^0.6.1", "json5": "^1.0.1", "micromatch": "^4.0.2", + "msgpackr": "^1.5.1", "nullthrows": "^1.1.1", - "semver": "^5.4.1" + "semver": "^5.7.1" } }, "@parcel/diagnostic": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.0.1.tgz", - "integrity": "sha512-pC9GmEUUB2UQ9epvE/H2wn0rb6hyF68QlpxppHZ9fxib/RxqGWDG1I3axR0cxZifRRZiMNnbk7HfmUB19KNTtA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.1.1.tgz", + "integrity": "sha512-1gbRrbpJcsF05MUoc1pRmox78wWzLMDbIi4Fc+cVo7PK3PSnBosLZe0IYfAzrrqVhNuWWby0DWFGqRKEkee/6Q==", "dev": true, "requires": { "json-source-map": "^0.6.1", @@ -9495,23 +9528,23 @@ } }, "@parcel/events": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.0.1.tgz", - "integrity": "sha512-JRt5SkFS8/8r37o1DRKVtrWR1OZNN2pL548YsXVKBLN1b2ys36/+yKNObDuGB7DcOcIRngVs7xxv6+oodGyMlQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.1.1.tgz", + "integrity": "sha512-3C1worgdqpyHHl1/Ivz7gBIA0+i2N0dXH21kt0Fy9Ig3QeEf3GRJieRm8zNYe1aZeAPMhwdaYRTfrdJAApJExg==", "dev": true }, "@parcel/fs": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.0.1.tgz", - "integrity": "sha512-zl8aV9Qp4lB4cQGyBfz3LQM+JkL7WHGoSlj8PjBamT8VmPlr57BUtp3Gc/IvRCCX8B7izNx3X8vCvr5BrziL+g==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.1.1.tgz", + "integrity": "sha512-PUT7igdujjXr1y4iYMDqGN+WvLGuK+7KI9NJFFO3zH+Wvk2UCqgqiClbIpugoImtgIUOXBPb/PfZvZ5nTetiYQ==", "dev": true, "requires": { - "@parcel/fs-search": "^2.0.1", - "@parcel/fs-write-stream-atomic": "^2.0.1", - "@parcel/types": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/fs-search": "^2.1.1", + "@parcel/fs-write-stream-atomic": "^2.1.1", + "@parcel/types": "^2.1.1", + "@parcel/utils": "^2.1.1", "@parcel/watcher": "^2.0.0", - "@parcel/workers": "^2.0.1", + "@parcel/workers": "^2.1.1", "graceful-fs": "^4.2.4", "mkdirp": "^0.5.1", "ncp": "^2.0.0", @@ -9521,18 +9554,18 @@ } }, "@parcel/fs-search": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.0.1.tgz", - "integrity": "sha512-Zyo1PY4opLMunes5YZ2+Q0cMCgdAuepznVvUY+dK3WjW5OzO09G/L8cfNBhgeYA84wu0yyzNohZogvFjS10TZg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.1.1.tgz", + "integrity": "sha512-bktctw9MTpjw2ABVD0jP537L4hsQL9So9ws+JXeq5B1Y0eBDU+QnIFKk3xTz1fZll/mjKmqqJE4Lfq4FlO1PVQ==", "dev": true, "requires": { "detect-libc": "^1.0.3" } }, "@parcel/fs-write-stream-atomic": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/fs-write-stream-atomic/-/fs-write-stream-atomic-2.0.1.tgz", - "integrity": "sha512-+CSeXRCnI9f9K4jeBOYzZiOf+qw6t3TvhEstR/zeXenzx0nBMzPv28mjUMZ33vRMy8bQOHAim8qy/AMSIMolEg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/fs-write-stream-atomic/-/fs-write-stream-atomic-2.1.1.tgz", + "integrity": "sha512-8A3pMqNdeGnDNp0xhhiBQCfbpqkn82TY7AjUysAlNjooYOgxcVOpSW0iXOABM6KssUSEh/7yASaxnNuRyY9GGQ==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -9542,58 +9575,59 @@ } }, "@parcel/graph": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-2.0.1.tgz", - "integrity": "sha512-LESQVWy/Oln1CqTgWTjvm99btNSqHxOcIKEIL7k6Pq2d6vhO6oyAAmMe5sqf6Sr1nNCVjZW7oHRzyIG0kYTgWw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-2.1.1.tgz", + "integrity": "sha512-mt9Wb5mv/zXl8FtXeGMXMsvrjMV3wG7o5iH4cwUnPUHUNZZaZ9beTqfJ1BZYbwVLy8Atv80bcs65/gZfkQxtRg==", "dev": true, "requires": { + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1" } }, "@parcel/hash": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/hash/-/hash-2.0.1.tgz", - "integrity": "sha512-Zng4i5HhcmOr6NMzQlnCf12ED9isL+HmcFC3XSLc6VYFcCnVg6cEIwJ7KrB/s5wRHLU2TfSZAaLIJlhcPKPPog==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/hash/-/hash-2.1.1.tgz", + "integrity": "sha512-hmL1VohpNMBj2Tf6wLF1Bfy8haz2IbQSwRddp0YgusTZZWzK1LZa0XSylBctwRR6jCvh8Ar8BGS7KWJFD0wUaA==", "dev": true, "requires": { "detect-libc": "^1.0.3", - "xxhash-wasm": "^0.4.1" + "xxhash-wasm": "^0.4.2" } }, "@parcel/logger": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.0.1.tgz", - "integrity": "sha512-gN2mdDnUkbN11hUIDBU+zlREsgp7zm42ZAsc0xwIdmlnsZY7wu2G3lNtkXSMlIPJPdRi6oE6vmaArQJfXjaAOg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.1.1.tgz", + "integrity": "sha512-KeLoReSBtfIZZ8OZ8Fs7hb2xFBe0WBexaKToCkMpGR1JxEV/Xgx1kyiZ6upKzijEeTUBNWIu3uJ4AFshUwtvJw==", "dev": true, "requires": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/events": "^2.0.1" + "@parcel/diagnostic": "^2.1.1", + "@parcel/events": "^2.1.1" } }, "@parcel/markdown-ansi": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.0.1.tgz", - "integrity": "sha512-KFUvJoGncCwOml+RSyJl0KfQgle42YC8VJwQrHUqKMR5acyC3KaDNWAx96xkPf3k/hKv+VVEhIsH7SRJ63qwwQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.1.1.tgz", + "integrity": "sha512-seBnygWKZqgijXOFrlkmRZpAONznvxiVsW0Lsy2NtgllSlTz30WiZ72x1V3BSdLz/7ZsLWdXwWGr7uUlbrtsRg==", "dev": true, "requires": { "chalk": "^4.1.0" } }, "@parcel/namer-default": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.0.1.tgz", - "integrity": "sha512-wF948WojfksHutz023T2lC3b1BWRyOa9KaCh9caYtZ1Lq26kG3X2eaWVjOzw65SUQRLzAAxu3ujRhKEg0N0Ntw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.1.1.tgz", + "integrity": "sha512-ab8zYuUNeOZOfvShy/EGLNRDYXoUFqomWE3/40psRboZueJ77GSZIkZMHaIaSic/0G/GImH3XJ0yQG7Nm4W5Fg==", "dev": true, "requires": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/plugin": "^2.0.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/plugin": "^2.1.1", "nullthrows": "^1.1.1" } }, "@parcel/node-libs-browser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/node-libs-browser/-/node-libs-browser-2.0.1.tgz", - "integrity": "sha512-EK6hndQMtW0DJMU4FeDmbDwdIus/IAXz/YjR2kdQ0fLRAvcNWC/34R5bqlLmWdX2NXWVS+1tcDhPa2oEnUzzHA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/node-libs-browser/-/node-libs-browser-2.1.1.tgz", + "integrity": "sha512-IWEXtQgPEMHeztQrDUU7Z2YHHreMJ2q1iEbWjdPpV+jJ3ybiCCSdCeSuQQ4SQktUU9/y6qY6+Eky+b+bxlJRcg==", "dev": true, "requires": { "assert": "^2.0.0", @@ -9621,37 +9655,37 @@ } }, "@parcel/node-resolver-core": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-2.0.1.tgz", - "integrity": "sha512-bZqot9TZKuBpojo9i4LQ/mc+iKKuurcWDy481E/Z9Xp3zfDEZaNzj2f+0MSwv3pbqB134/PIMMtN92tewJ7Piw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-2.1.1.tgz", + "integrity": "sha512-OJZ/kJSxrRuHbvtey3mACLEBL51zmytWKzUlzzSE1ii3RqHK0uRHj3NaJ43EqCMPcAeWFj/plVq3YmYi9bWR/g==", "dev": true, "requires": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/node-libs-browser": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/node-libs-browser": "^2.1.1", + "@parcel/utils": "^2.1.1", "micromatch": "^4.0.4", "nullthrows": "^1.1.1" } }, "@parcel/optimizer-cssnano": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-cssnano/-/optimizer-cssnano-2.0.1.tgz", - "integrity": "sha512-yhuSUyTa4IKsFX+k2K8J6fsClpIWAu0Ng6HcW/fwDSfssZMm+Lfe33+sRo1fwqr8vd/okFrm3vOBQ+NhncsVVw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-cssnano/-/optimizer-cssnano-2.1.1.tgz", + "integrity": "sha512-7yO+axX20W+zuHI3IaO6DBDPd4sul3FtKO4KVWcgfgSVVaxt4nzA8qU2kg5YaJC2mYrFASsnV1ySkgppFnvSBQ==", "dev": true, "requires": { - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", "cssnano": "^5.0.5", "postcss": "^8.3.0" } }, "@parcel/optimizer-htmlnano": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.0.1.tgz", - "integrity": "sha512-Q2YQt4YnRNGth6RtRw6Q/IanhboKhD2QfrDpUsDwcpBbP3nEirvLcOmVfzuNXDqvYaQG7720ulCRt8jWErZ2WQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.1.1.tgz", + "integrity": "sha512-SShBIS+enI/oNW5qLi4jtej5TkfVt/Xa/io4n29aIfVwQMHq+GyBKijhVp0Wx+Yp2ZLK/17Vw311n7rQ9GBUGg==", "dev": true, "requires": { - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.1.1", "htmlnano": "^1.0.1", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", @@ -9659,142 +9693,143 @@ } }, "@parcel/optimizer-image": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.0.1.tgz", - "integrity": "sha512-tXqrAoFoGT6R2nY88OMj6DxHctyewOA3RW6VFksolX+/eWjy9MsQMUWFJmc1TlsVJCu4xGVvcHM3+6Q3XF8VSA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.1.1.tgz", + "integrity": "sha512-yGvVO5Y/fqGaZzKK2ENuFXGGRAq7MIZYwuVi9JtQVxH+BoiX+441ApIAQTApaMsLPUJ0tEx/w6+5KybcP580wg==", "dev": true, "requires": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", + "@parcel/workers": "^2.1.1", "detect-libc": "^1.0.3" } }, "@parcel/optimizer-svgo": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.0.1.tgz", - "integrity": "sha512-vdTXQrYjNd7s9ye8NYi7IrcS/oa1Rn1cI9pFeQCocEuL3eoesnFBtkeW0bbA7tNaIBkkR0x9NagRVtWgZJW4uQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.1.1.tgz", + "integrity": "sha512-cHsjNeZgJsUFo1uPE9/M4KJWw8DcEax4Adin2srEodqiJWTH2UzPM3toZ5q9NpsCLC7I8zigTqg+DFW5SQnVog==", "dev": true, "requires": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "svgo": "^2.4.0" } }, "@parcel/optimizer-terser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-terser/-/optimizer-terser-2.0.1.tgz", - "integrity": "sha512-iT3gvkZsUKW4PJHRwWn4xqQlIIsrkr4gO2X5XQtPEXkYUn3UlHTE1lguJd1Pj6L3A0dS+ubI6wIfYk/Z59WAjw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-terser/-/optimizer-terser-2.1.1.tgz", + "integrity": "sha512-BPfqYqItR00lRckZnOpz03plsgMRDKrCYOIzSJjMvG5c0hS9kX0ECave9540WsXgEhaxC/H3yyxmH227PHL4xQ==", "dev": true, "requires": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/plugin": "^2.0.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.0.1", + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1", "terser": "^5.2.0" } }, "@parcel/package-manager": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.0.1.tgz", - "integrity": "sha512-I8pMP18zIAYIfwnFOhi4Pt+6grKysMxFqNTXAdfobszk4PvoOzbUIjzTk+3Z2IXT2FEdH/R/3Jej70OxpPf0CQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.1.1.tgz", + "integrity": "sha512-W9GJV+9A9ysZQTtjTy6y86XIa4AkThuo9u3rQbU4irCFlZ56u9NiQAR1wesOhuh5bauRptRbJwzEE94VYFOizw==", "dev": true, "requires": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/fs": "^2.0.1", - "@parcel/logger": "^2.0.1", - "@parcel/types": "^2.0.1", - "@parcel/utils": "^2.0.1", - "@parcel/workers": "^2.0.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/fs": "^2.1.1", + "@parcel/logger": "^2.1.1", + "@parcel/types": "^2.1.1", + "@parcel/utils": "^2.1.1", + "@parcel/workers": "^2.1.1", "command-exists": "^1.2.6", "cross-spawn": "^6.0.4", "nullthrows": "^1.1.1", - "semver": "^5.4.1", + "semver": "^5.7.1", "split2": "^3.1.1" } }, "@parcel/packager-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.0.1.tgz", - "integrity": "sha512-oPyouH+6+by3s68xxwYaaePPtrcRhNJ1Tia51eIVagBxp3kAOpB7F4S1Ou8w2qlipk9Wq6HJx2n1u4aZISbkAg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.1.1.tgz", + "integrity": "sha512-XSUYisNxqRPxsie6QgzJAbFSEsGsPm543YEcDUlghoUqEQXnpUCAXJd0T454D62XLDJ3Vt3jSe3fhthhHE18uA==", "dev": true, "requires": { - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.0.1", + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1", "postcss": "^8.3.0" } }, "@parcel/packager-html": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.0.1.tgz", - "integrity": "sha512-uGQYjspjz/VF4v+kVWAmPfXoGKCmos8rgTZ7XtXnhuRT4SH/OYHlRKVxzC4sb4zRoeO6Bj82yVw65Xj2gz9K4Q==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.1.1.tgz", + "integrity": "sha512-o4KH3McIoH1a6nmbQNaQNxzyqgPQQAd3AT9z5BlW7dIpuMBdkAzU4RtFY7maLnid704vvSaag6mLSkY6LWfT0Q==", "dev": true, "requires": { - "@parcel/plugin": "^2.0.1", - "@parcel/types": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.1", + "@parcel/types": "^2.1.1", + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1", "posthtml": "^0.16.5" } }, "@parcel/packager-js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.0.1.tgz", - "integrity": "sha512-eN7BQITwTj2KeYMkW/9KRMBw1SoR7qlFhfX2+hbFA6Kl/b0bKEx33Gm21JJBl8wqqo3QVr9Rhg0JruwkQX1JHg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.1.1.tgz", + "integrity": "sha512-PvVUjrwAkv6otcAkOIr9nL+oW64bBgRLjl3muKNv1yugtk+/dpMTc3WdwCqGJBTIdsSEULuXgtuYJ9UBrKkk7A==", "dev": true, "requires": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/hash": "^2.0.1", - "@parcel/plugin": "^2.0.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/hash": "^2.1.1", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.0.1", + "@parcel/utils": "^2.1.1", "globals": "^13.2.0", "nullthrows": "^1.1.1" } }, "@parcel/packager-raw": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.0.1.tgz", - "integrity": "sha512-Cr9we+Pf9jl9AhKsZPKg7Da6xzNFxUqPDBRIZmO9GjTm1NZOeddmRPrtporPPZxtTmtQzRuyStRNKe5zBZtg3w==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.1.1.tgz", + "integrity": "sha512-xWddT0696VhxGanac+z1jWxCIHLyn+tziz0c2hRB7oUrTyWzwn6N4XeUhAl+dshI1wAeSJ7s8lx1iO4jeDd7WA==", "dev": true, "requires": { - "@parcel/plugin": "^2.0.1" + "@parcel/plugin": "^2.1.1" } }, "@parcel/packager-svg": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.0.1.tgz", - "integrity": "sha512-UqMYNxoaxLdJN+R3rOAACeMdkT/ONcMNQ+OzEowpt6lWZJyLRRF63akk2KhMVjYNQpV6y4wJZV6H/TWV6eRMjg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.1.1.tgz", + "integrity": "sha512-xejMptp1/SM9889mYZEDJgVr79EKg8dDHNyA+K8Ffzu2EmZMKOyrbqvuTIbWbbSPJFkUBMu+GB7AV0v2jyzs2A==", "dev": true, "requires": { - "@parcel/plugin": "^2.0.1", - "@parcel/types": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.1", + "@parcel/types": "^2.1.1", + "@parcel/utils": "^2.1.1", "posthtml": "^0.16.4" } }, "@parcel/plugin": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.0.1.tgz", - "integrity": "sha512-zg9LdUk1fh8UApo9q79ZbG+QCwMioSlBP0+LKYLQqcNketzmjPuhe3rCialR0s2/6QsM1EQbuMUpCmZLSQZ4tA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.1.1.tgz", + "integrity": "sha512-ATYLc36m9/7/i0yAFs1winPuqPiqFwMJ2dkRaueM84w8/zsJadd8KeKgmtuw7UYZjfaE6cWefdvDmhGHtqxsbQ==", "dev": true, "requires": { - "@parcel/types": "^2.0.1" + "@parcel/types": "^2.1.1" } }, "@parcel/reporter-cli": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.0.1.tgz", - "integrity": "sha512-R4gmEhXH6vQMoSEobVolyCIJWBRV9z9Ju5y4gheUv7X0u3e2tpsHpDq835o8jqNIBG75Dm8Q5f3EE8BdhPzTEg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.1.1.tgz", + "integrity": "sha512-sFD1y3hnNnQFEZpZ+OoxBFDBIBK9XVXjA6fMPiZG3XQcDTPjoq6TpKHcTSo5PYTdHkKX7Q/1BioOznTJE44Rpg==", "dev": true, "requires": { - "@parcel/plugin": "^2.0.1", - "@parcel/types": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.1", + "@parcel/types": "^2.1.1", + "@parcel/utils": "^2.1.1", "chalk": "^4.1.0", "filesize": "^6.1.0", "nullthrows": "^1.1.1", @@ -9806,13 +9841,13 @@ } }, "@parcel/reporter-dev-server": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.0.1.tgz", - "integrity": "sha512-dm2zgE8mPgLD5Nkmw9WQENZunrBN29fDRkNZhqnQyq4BBXF7e6Q/J/uamUjdtxAp7Qzobw1ZjybqlFuEh0z2tg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.1.1.tgz", + "integrity": "sha512-qSVDkwi3TIbsVMP/BTLlXZdy/iMa7hZz/ekh5TgHZikPt0d2P7VtW5gRQniXWFtipLKSf/Zh88dSAuZpAxpLFQ==", "dev": true, "requires": { - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "connect": "^3.7.0", "ejs": "^3.1.6", "http-proxy-middleware": "^1.0.0", @@ -9822,55 +9857,55 @@ } }, "@parcel/resolver-default": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.0.1.tgz", - "integrity": "sha512-8+dMgb6pJGaepGAb+44ORLamFv8Ik7T1MyyexI3d9KfWXolU4lhSoFrNGeSEqm4VtPHH0xMYQo2cyIYKZSzuyA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.1.1.tgz", + "integrity": "sha512-0AUdzzwhEIfZo3DK/oTFRsjENIHWbWo/11j6ie4faLr775eOyLhDEl0vGSgE8rH9NTNszwcRhMup7/zQ5Ql7RQ==", "dev": true, "requires": { - "@parcel/node-resolver-core": "^2.0.1", - "@parcel/plugin": "^2.0.1" + "@parcel/node-resolver-core": "^2.1.1", + "@parcel/plugin": "^2.1.1" } }, "@parcel/runtime-browser-hmr": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.0.1.tgz", - "integrity": "sha512-fHuK3tzfJdDhCuNab7aB0RGrfyPlpmV7l0YJJ6Hvv2FiJ1EP2f0mMYF3/T6BXacL4/HLVo58K/XLYhTb6jU2cA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.1.1.tgz", + "integrity": "sha512-bUfsDpsGK6y9zoqIAUaBtyfJNRCFvQ2Spt3xp5v0jVy97Bruhh2u9jOe+V4lIwbcDjmYRWQAyMHhyUroJX9Pcw==", "dev": true, "requires": { - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1" + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1" } }, "@parcel/runtime-js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.0.1.tgz", - "integrity": "sha512-5syJTEWY4uw+GH8AYwL55fqRgcBjL/tb95FSYHfABKMHSkaU6KbeUzCv88oj2wE5szWHX793LuqjppO465XYvQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.1.1.tgz", + "integrity": "sha512-BbZbR7AtiPbDMRnc7NS1EmpYt9zh8a9ZLqoV3b3aAlwuKjgf8enIKtt1rq/1uSriKX3l/v9WSx5qHRDFWUnoJg==", "dev": true, "requires": { - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1" } }, "@parcel/runtime-react-refresh": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.0.1.tgz", - "integrity": "sha512-7j8cmIaoGP0etC2SLrWO1RdxQp+IealRAyZsLODRU22EQxCobGh5uq7Bjdv+m1wZrAdolR00lZe5p+dGrD2QGw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.1.1.tgz", + "integrity": "sha512-oROjN0DMvkkv15uvzAFlRLdF31e5kq5s8tuv/R0V5QhB/X2TC7++f7fBXkvO1SUGQxYn80RKGWZvyJ8oc2nIRw==", "dev": true, "requires": { - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "react-refresh": "^0.9.0" } }, "@parcel/runtime-service-worker": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.0.1.tgz", - "integrity": "sha512-B12lgz5LYLhhvjnTryg38R0PryAbq1+GCJE8Inidzr/IYLROUZANokPcUYUxwVB6QJVzYRhkx3lEf9VziAot2g==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.1.1.tgz", + "integrity": "sha512-d9Bcp+gTyt+r3beN/YlaVKpZg8zmjkcoS3eJ0OSbljHaBvGJCfU3o6cEiFf5OFgCOAy2tTu/yDbkRiRFTR4fOA==", "dev": true, "requires": { - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1" } }, @@ -9885,9 +9920,9 @@ } }, "@parcel/transformer-babel": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.0.1.tgz", - "integrity": "sha512-TUCTdZi3V7z0WzyFPe3A1dQ0kLxPS8bEa0KgW7sueo9D0LXFvxpwh3Mf93q2H56KGb96o/QOXkz4HY8og+Wy4g==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.1.1.tgz", + "integrity": "sha512-qsntd6tt9fmef8awebz5gmqk0Ak9SZ3Xy9OmA1pL9cFeMpbgVPPulPlw1cg+MEtRBaAWh5HIjKqElNNnNoSPDA==", "dev": true, "requires": { "@babel/core": "^7.12.0", @@ -9895,11 +9930,11 @@ "@babel/helper-compilation-targets": "^7.8.4", "@babel/plugin-transform-flow-strip-types": "^7.0.0", "@babel/traverse": "^7.0.0", - "@parcel/babel-ast-utils": "^2.0.1", - "@parcel/diagnostic": "^2.0.1", - "@parcel/plugin": "^2.0.1", + "@parcel/babel-ast-utils": "^2.1.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.0.1", + "@parcel/utils": "^2.1.1", "browserslist": "^4.6.6", "core-js": "^3.2.1", "json5": "^2.1.0", @@ -9919,72 +9954,74 @@ } }, "@parcel/transformer-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.0.1.tgz", - "integrity": "sha512-sSe8elt3ejTkmZmGk3ahhimGwVoxQL0hUYSjmsgK24a4kUoJWby2hvV8BEZWDZ8zJz5ZOWUw+34fM1frEn87dQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.1.1.tgz", + "integrity": "sha512-ZeDsjy+QFk5DLU8iNuHZPfAX6Ebqqzda8KJFD3HnwzrpVQsWf3gvZcF6YlgfPJPO9SESSZwaGLVA2UMWAwAMaw==", "dev": true, "requires": { - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.0.1", + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1", "postcss": "^8.3.0", "postcss-value-parser": "^4.1.0", - "semver": "^5.4.1" + "semver": "^5.7.1" } }, "@parcel/transformer-html": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.0.1.tgz", - "integrity": "sha512-UkRtBHPnuedSX5UPzrZDzNb5pxWCVqvE5/xTPlxWEtN4een9Aixl4RSOZiJxMp4dxxVtw/fo9Lnx0z1wYxbWRw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.1.1.tgz", + "integrity": "sha512-OAPT8ZwK0lcAp90EkKtVoPAHoihRLMQLinQA06xX6/lVfO70lLhPvMuBhXr4v1AvJP0KXl4DDsmROZizwGvutA==", "dev": true, "requires": { - "@parcel/hash": "^2.0.1", - "@parcel/plugin": "^2.0.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/hash": "^2.1.1", + "@parcel/plugin": "^2.1.1", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", "posthtml-render": "^3.0.0", - "semver": "^5.4.1" + "semver": "^5.7.1" } }, "@parcel/transformer-image": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.0.1.tgz", - "integrity": "sha512-1xHPdE4W8jzsI0AWi4XWYioG2sDZvxJHprlTYNGK8GE+A2U7bOi7T2aoa44fEfK1pRa+N5GTkoNVTYiv4hza0g==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.1.1.tgz", + "integrity": "sha512-ggoduvKfL+cYyDeqr7zjLOseEbxN4iYkZzKVkSNWjjnpjaeJEG05nGS+OzSgsu/jpxOikfsf6hrfN7Qv/iT7Dw==", "dev": true, "requires": { - "@parcel/plugin": "^2.0.1", - "@parcel/workers": "^2.0.1", + "@parcel/plugin": "^2.1.1", + "@parcel/workers": "^2.1.1", "nullthrows": "^1.1.1" } }, "@parcel/transformer-js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.0.1.tgz", - "integrity": "sha512-c55qVfPU+jKoFFLV2GhME7CCqBO4Il34lW1EEv0RdYlBivPQQf+8vdcrrRX2FSjlI9cpvw9E4l298HyQDpVyng==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.1.1.tgz", + "integrity": "sha512-95e/ROGuGg4EG954fDZjgBB3zD7ma49I4QIJZKKwi/DGRoccXu87MI+YwRpEOLMKD2BkuNVkwvnPrmJbh84gFQ==", "dev": true, "requires": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/plugin": "^2.0.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/utils": "^2.0.1", + "@parcel/utils": "^2.1.1", + "@parcel/workers": "^2.1.1", "@swc/helpers": "^0.2.11", "browserslist": "^4.6.6", "detect-libc": "^1.0.3", "micromatch": "^4.0.2", "nullthrows": "^1.1.1", "regenerator-runtime": "^0.13.7", - "semver": "^5.4.1" + "semver": "^5.7.1" } }, "@parcel/transformer-json": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.0.1.tgz", - "integrity": "sha512-Nx22PQY5InJdqLKppC+Rq0zwH7mpE2MUvgdyhGBzbwB3qwo+us1uupj+3TGYtBQ8tsUypTZVQ1kWGyQkkGWqHg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.1.1.tgz", + "integrity": "sha512-z2e24c7A4BrPTr35RiLdxOFgAFx6+s6fAVI4177wvaHR/GqRTmzoyvgQOjtN1v3yv8N5lU6EJnW8nT6aJ6lCNA==", "dev": true, "requires": { - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.1.1", "json5": "^2.1.0" }, "dependencies": { @@ -10000,110 +10037,111 @@ } }, "@parcel/transformer-postcss": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.0.1.tgz", - "integrity": "sha512-bSmOl1CxE5VD7FoNMz9G5ndh3vkYMJl84nbY2t91lUtGcY/ROJ1LKvZrglCCEEE13j9orFsPproQgCcYG7m1eA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.1.1.tgz", + "integrity": "sha512-P/4RL3Yy5/DwIMx0g6MdyqLLcyhDOaPj5VZUfXygBtu1HBtkSk2oXDto9om4kYmeTuwXjwFohCqjBh3nw1uU+A==", "dev": true, "requires": { - "@parcel/hash": "^2.0.1", - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/hash": "^2.1.1", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "clone": "^2.1.1", "css-modules-loader-core": "^1.1.0", "nullthrows": "^1.1.1", "postcss-modules": "^3.2.2", "postcss-value-parser": "^4.1.0", - "semver": "^5.4.1" + "semver": "^5.7.1" } }, "@parcel/transformer-posthtml": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.0.1.tgz", - "integrity": "sha512-UKGZO5vAZCxnTDF5fT8DzNrUdzahpCnFCrFOa0MFKi0DLKrVrxXmgIgLtoLS+mgwd3WuOW3Vx3KgyVovP5n2JQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.1.1.tgz", + "integrity": "sha512-jfuBuVdKdgARiGjfbmbINmG4/p7UwzcsdwQtRsjU8BwdIP+aUtiFUz7jfa2WcGXYuAm0by1B0BV+GWRL2W0kCw==", "dev": true, "requires": { - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", "posthtml-render": "^3.0.0", - "semver": "^5.4.1" + "semver": "^5.7.1" } }, "@parcel/transformer-raw": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.0.1.tgz", - "integrity": "sha512-NkwOp2lZX5bNxSj6tMNTEledWZvpIperCMOERm4raToDkdjBH1pDrxDLUBy8VzQ8M08CLz+2KJaF5wRMvj/eQw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.1.1.tgz", + "integrity": "sha512-wu77D1mKSU+VETS0fgNq39mPJmK7oBYnaqfkjD44BXZR3MmHXcRYj1T4DXjI3OxNE4EWLUA9S9ttn3bll52v/A==", "dev": true, "requires": { - "@parcel/plugin": "^2.0.1" + "@parcel/plugin": "^2.1.1" } }, "@parcel/transformer-react-refresh-wrap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.0.1.tgz", - "integrity": "sha512-zZj2Leh39ODh3C2xDh3eVvp1VnfVqeY5PrNdIcNfWw2DMBli13azcwYmF4Uim8natRqMFIsWsfKNesEY+mGLfA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.1.1.tgz", + "integrity": "sha512-bZZ20GaY44fWtbGQPpz1s2sJHR6ZjYOrcjSRVHqfFuP3d0b0/vOhZPEEAW9di+5dHsF2fFA8F2yfXDYKBxrevA==", "dev": true, "requires": { - "@parcel/plugin": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/plugin": "^2.1.1", + "@parcel/utils": "^2.1.1", "react-refresh": "^0.9.0" } }, "@parcel/transformer-sass": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/transformer-sass/-/transformer-sass-2.0.1.tgz", - "integrity": "sha512-Qk4+8N1zNaBxXRqjJvzjLjutuuhyw/3MHSA6wjvY5BqQB22GtDFE8h9KFSFN7hPdU8CEiBntKe1diqeckPCg4w==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/transformer-sass/-/transformer-sass-2.1.1.tgz", + "integrity": "sha512-7aIZFZ645OoMmji3hnOgX5JS/hSmnRi8Re5fzZ790dojsWLf2wGmSzSURG4uh3D9kf/BpQSmO/74aaaxbxMA7A==", "dev": true, "requires": { - "@parcel/plugin": "^2.0.1", + "@parcel/plugin": "^2.1.1", "@parcel/source-map": "^2.0.0", "sass": "^1.38.0" } }, "@parcel/transformer-svg": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.0.1.tgz", - "integrity": "sha512-ZctnwpSomOZoh2FdfETLU4WnIr2t5P9W7QX5USATTlq62uD404Qsj1gr93wQgjLjzy9ID6T1Ua4iIdYNSkScNA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.1.1.tgz", + "integrity": "sha512-CpRxQUBNEhaURHgg1kjBjPpUUEE6DAfiwZrFrC9JC9Ql4P6nJ/OTbGay3onkbcriIN+MehJWUC5wI659JNF/zg==", "dev": true, "requires": { - "@parcel/hash": "^2.0.1", - "@parcel/plugin": "^2.0.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/hash": "^2.1.1", + "@parcel/plugin": "^2.1.1", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", "posthtml-parser": "^0.10.1", "posthtml-render": "^3.0.0", - "semver": "^5.4.1" + "semver": "^5.7.1" } }, "@parcel/types": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.0.1.tgz", - "integrity": "sha512-em8/GgC7uzkUyEA2ogkzeVDmjaKYQhjf/4EIiC7jXWr22NlSXRQOawhc0CB2o97J9EV2rVXVkWTj0drHTpN2Bw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.1.1.tgz", + "integrity": "sha512-wqor3UzpeXrC5gjhG7PkrPBFCf4h+gQHIFQrSFp4vGkgIJP3c/++E3duzmN6tQosCj8HFwzxlOoVh8+wyv9TYg==", "dev": true, "requires": { - "@parcel/cache": "^2.0.1", - "@parcel/diagnostic": "^2.0.1", - "@parcel/fs": "^2.0.1", - "@parcel/package-manager": "^2.0.1", + "@parcel/cache": "^2.1.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/fs": "^2.1.1", + "@parcel/package-manager": "^2.1.1", "@parcel/source-map": "^2.0.0", - "@parcel/workers": "^2.0.1", + "@parcel/workers": "^2.1.1", "utility-types": "^3.10.0" } }, "@parcel/utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.0.1.tgz", - "integrity": "sha512-+XD+LYDq+VKAUfRPzcsOjq9LefeX6tiQ2zH2uCWYAwA+s+sTHIrvWkKoF3QfFOQpPgj2QqnAZMOS6F/xY2phPg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.1.1.tgz", + "integrity": "sha512-0qFcBFeXsGU2CfbyGMyNhnwuZS60gutV0N47HQf5uuE+IWDLwsX63Ca5yEobLHlVhJijsHZoq3SD+qdXE1z5og==", "dev": true, "requires": { "@iarna/toml": "^2.2.0", - "@parcel/codeframe": "^2.0.1", - "@parcel/diagnostic": "^2.0.1", - "@parcel/hash": "^2.0.1", - "@parcel/logger": "^2.0.1", - "@parcel/markdown-ansi": "^2.0.1", + "@parcel/codeframe": "^2.1.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/hash": "^2.1.1", + "@parcel/logger": "^2.1.1", + "@parcel/markdown-ansi": "^2.1.1", "@parcel/source-map": "^2.0.0", "ansi-html-community": "0.0.8", "chalk": "^4.1.0", @@ -10132,23 +10170,23 @@ } }, "@parcel/workers": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.0.1.tgz", - "integrity": "sha512-nBBK5QeoWM0l8khyStDiEd432UXaF6mkUa8n2D4Ee6XOFgUCiXWV7VROqA4nhf6OJr5K+trtNaNVGq9oHRuPHw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.1.1.tgz", + "integrity": "sha512-12i2UdVzTClwVFkXdH5C9/XyqSObvXzTa9KZgAwsttdmhw9fNx/3RA0l0/tw6Yww/iOyXm7Zd5o6Vkp1Njfjqg==", "dev": true, "requires": { - "@parcel/diagnostic": "^2.0.1", - "@parcel/logger": "^2.0.1", - "@parcel/types": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/logger": "^2.1.1", + "@parcel/types": "^2.1.1", + "@parcel/utils": "^2.1.1", "chrome-trace-event": "^1.0.2", "nullthrows": "^1.1.1" } }, "@popperjs/core": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.0.tgz", - "integrity": "sha512-zrsUxjLOKAzdewIDRWy9nsV1GQsKBCWaGwsZQlCgr6/q+vjyZhFgqedLfFBuI9anTPEUT4APq9Mu0SZBTzIcGQ==" + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.2.tgz", + "integrity": "sha512-92FRmppjjqz29VMJ2dn+xdyXZBrMlE42AV6Kq6BwjWV7CNUW1hs2FtxSNLQE+gJhaZ6AAmYuO9y8dshhcBl7vA==" }, "@swc/helpers": { "version": "0.2.14", @@ -10172,9 +10210,9 @@ } }, "@types/node": { - "version": "17.0.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.7.tgz", - "integrity": "sha512-1QUk+WAUD4t8iR+Oj+UgI8oJa6yyxaB8a8pHaC8uqM6RrS1qbL7bf3Pwl5rHv0psm2CuDErgho6v5N+G+5fwtQ==", + "version": "17.0.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.8.tgz", + "integrity": "sha512-YofkM6fGv4gDJq78g4j0mMuGMkZVxZDgtU0JRdx6FgiJDG+0fY0GKVolOV8WqVmEhLCXkQRjwDdKyPxJp/uucg==", "dev": true }, "@types/parse-json": { @@ -10707,9 +10745,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001296", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001296.tgz", - "integrity": "sha512-WfrtPEoNSoeATDlf4y3QvkwiELl9GyPLISV5GejTbbQRtQx4LhsXmc9IQ6XCL2d7UxCyEzToEZNMeqR79OUw8Q==", + "version": "1.0.30001298", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001298.tgz", + "integrity": "sha512-AcKqikjMLlvghZL/vfTHorlQsLDhGRalYf1+GmWCf5SCMziSGjRYQW/JEksj14NaYHIR6KIhrFAy0HV5C25UzQ==", "dev": true }, "caseless": { @@ -11007,9 +11045,9 @@ } }, "css-declaration-sorter": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.3.tgz", - "integrity": "sha512-SvjQjNRZgh4ULK1LDJ2AduPKUKxIqmtU7ZAyi47BTV+M90Qvxr9AB6lKlLbDUfXqI9IQeYA8LbAsCZPpJEV3aA==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.4.tgz", + "integrity": "sha512-lpfkqS0fctcmZotJGhnxkIyJWvBXgpyi2wsFd4J8VB7wzyrT6Ch/3Q+FMNJpjK4gu1+GN5khOnpU2ZVKrLbhCw==", "dev": true, "requires": { "timsort": "^0.3.0" @@ -11159,57 +11197,57 @@ "dev": true }, "cssnano": { - "version": "5.0.14", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.14.tgz", - "integrity": "sha512-qzhRkFvBhv08tbyKCIfWbxBXmkIpLl1uNblt8SpTHkgLfON5OCPX/CCnkdNmEosvo8bANQYmTTMEgcVBlisHaw==", + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.15.tgz", + "integrity": "sha512-ppZsS7oPpi2sfiyV5+i+NbB/3GtQ+ab2Vs1azrZaXWujUSN4o+WdTxlCZIMcT9yLW3VO/5yX3vpyDaQ1nIn8CQ==", "dev": true, "requires": { - "cssnano-preset-default": "^5.1.9", + "cssnano-preset-default": "^5.1.10", "lilconfig": "^2.0.3", "yaml": "^1.10.2" } }, "cssnano-preset-default": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.9.tgz", - "integrity": "sha512-RhkEucqlQ+OxEi14K1p8gdXcMQy1mSpo7P1oC44oRls7BYIj8p+cht4IFBFV3W4iOjTP8EUB33XV1fX9KhDzyA==", + "version": "5.1.10", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.10.tgz", + "integrity": "sha512-BcpSzUVygHMOnp9uG5rfPzTOCb0GAHQkqtUQx8j1oMNF9A1Q8hziOOhiM4bdICpmrBIU85BE64RD5XGYsVQZNA==", "dev": true, "requires": { "css-declaration-sorter": "^6.0.3", - "cssnano-utils": "^2.0.1", - "postcss-calc": "^8.0.0", - "postcss-colormin": "^5.2.2", + "cssnano-utils": "^3.0.0", + "postcss-calc": "^8.2.0", + "postcss-colormin": "^5.2.3", "postcss-convert-values": "^5.0.2", "postcss-discard-comments": "^5.0.1", "postcss-discard-duplicates": "^5.0.1", "postcss-discard-empty": "^5.0.1", - "postcss-discard-overridden": "^5.0.1", + "postcss-discard-overridden": "^5.0.2", "postcss-merge-longhand": "^5.0.4", - "postcss-merge-rules": "^5.0.3", - "postcss-minify-font-values": "^5.0.1", - "postcss-minify-gradients": "^5.0.3", - "postcss-minify-params": "^5.0.2", - "postcss-minify-selectors": "^5.1.0", + "postcss-merge-rules": "^5.0.4", + "postcss-minify-font-values": "^5.0.2", + "postcss-minify-gradients": "^5.0.4", + "postcss-minify-params": "^5.0.3", + "postcss-minify-selectors": "^5.1.1", "postcss-normalize-charset": "^5.0.1", - "postcss-normalize-display-values": "^5.0.1", - "postcss-normalize-positions": "^5.0.1", - "postcss-normalize-repeat-style": "^5.0.1", - "postcss-normalize-string": "^5.0.1", - "postcss-normalize-timing-functions": "^5.0.1", - "postcss-normalize-unicode": "^5.0.1", + "postcss-normalize-display-values": "^5.0.2", + "postcss-normalize-positions": "^5.0.2", + "postcss-normalize-repeat-style": "^5.0.2", + "postcss-normalize-string": "^5.0.2", + "postcss-normalize-timing-functions": "^5.0.2", + "postcss-normalize-unicode": "^5.0.2", "postcss-normalize-url": "^5.0.4", - "postcss-normalize-whitespace": "^5.0.1", - "postcss-ordered-values": "^5.0.2", + "postcss-normalize-whitespace": "^5.0.2", + "postcss-ordered-values": "^5.0.3", "postcss-reduce-initial": "^5.0.2", - "postcss-reduce-transforms": "^5.0.1", + "postcss-reduce-transforms": "^5.0.2", "postcss-svgo": "^5.0.3", "postcss-unique-selectors": "^5.0.2" } }, "cssnano-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-2.0.1.tgz", - "integrity": "sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.0.0.tgz", + "integrity": "sha512-Pzs7/BZ6OgT+tXXuF12DKR8SmSbzUeVYCtMBbS8lI0uAm3mrYmkyqCXXPsQESI6kmLfEVBppbdVY/el3hg3nAA==", "dev": true, "requires": {} }, @@ -11460,9 +11498,9 @@ } }, "electron-to-chromium": { - "version": "1.4.33", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.33.tgz", - "integrity": "sha512-OVK1Ad3pHnmuXPhEfq85X8vUKr1UPNHryBnbKnyLcAfh8dPwoFjoDhDlP5KpPJIiymvSucZs48UBrE1250IxOw==", + "version": "1.4.38", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.38.tgz", + "integrity": "sha512-WhHt3sZazKj0KK/UpgsbGQnUUoFeAHVishzHFExMxagpZgjiGYSC9S0ZlbhCfSH2L2i+2A1yyqOIliTctMx7KQ==", "dev": true }, "elliptic": { @@ -12194,19 +12232,41 @@ } }, "globby": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "requires": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", "slash": "^3.0.0" }, "dependencies": { + "fast-glob": { + "version": "3.2.10", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.10.tgz", + "integrity": "sha512-s9nFhFnvR63wls6/kM88kQqDhMu0AfdjqouE2l5GVQPbqLgyFjjU5ry/r2yKsJxpb9Py1EYNqieFrmMaX4v++A==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "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" + } + }, "ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", @@ -12216,9 +12276,9 @@ } }, "graceful-fs": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", "dev": true }, "har-schema": { @@ -13074,17 +13134,17 @@ "string-natural-compare": "^2.0.2" } }, - "lmdb-store": { - "version": "1.6.14", - "resolved": "https://registry.npmjs.org/lmdb-store/-/lmdb-store-1.6.14.tgz", - "integrity": "sha512-4woZfvfgolMEngjoMJrwePjdLotr3QKGJsDWURlJmKBed5JtE00IfAKo7ryPowl4ksGcs21pcdLkwrPnKomIuA==", + "lmdb": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-2.1.4.tgz", + "integrity": "sha512-h6aUkv4Vhn49edfawf4S32QUzSeQ4NPfJpdk/SscidwRPwm0E9s/cNmID4Eh0QcwMbD8thQSFvXbjfjluGhVLQ==", "dev": true, "requires": { - "msgpackr": "^1.5.0", + "msgpackr": "^1.5.2", "nan": "^2.14.2", "node-gyp-build": "^4.2.3", - "ordered-binary": "^1.0.0", - "weak-lru-cache": "^1.0.0" + "ordered-binary": "^1.2.3", + "weak-lru-cache": "^1.2.1" } }, "loader-utils": { @@ -13530,21 +13590,21 @@ "dev": true }, "parcel": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/parcel/-/parcel-2.0.1.tgz", - "integrity": "sha512-tGc7p3CbltlxYiu5u8NmFc2T5G3JZQDbKjlxDtjDpsNvLS6twX0Wu/D/HufaUKXyZr7O9JV7by3E+6DIo5cr5Q==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/parcel/-/parcel-2.1.1.tgz", + "integrity": "sha512-qZ2GE8WsqAXzk/kz8o+5ue9glbPpuw9XZCTLfpSiECE5d1XZj7bPHB03tBA/T5WvoHbkiHd4dhFmJ8Dqx5w53A==", "dev": true, "requires": { - "@parcel/config-default": "^2.0.1", - "@parcel/core": "^2.0.1", - "@parcel/diagnostic": "^2.0.1", - "@parcel/events": "^2.0.1", - "@parcel/fs": "^2.0.1", - "@parcel/logger": "^2.0.1", - "@parcel/package-manager": "^2.0.1", - "@parcel/reporter-cli": "^2.0.1", - "@parcel/reporter-dev-server": "^2.0.1", - "@parcel/utils": "^2.0.1", + "@parcel/config-default": "^2.1.1", + "@parcel/core": "^2.1.1", + "@parcel/diagnostic": "^2.1.1", + "@parcel/events": "^2.1.1", + "@parcel/fs": "^2.1.1", + "@parcel/logger": "^2.1.1", + "@parcel/package-manager": "^2.1.1", + "@parcel/reporter-cli": "^2.1.1", + "@parcel/reporter-dev-server": "^2.1.1", + "@parcel/utils": "^2.1.1", "chalk": "^4.1.0", "commander": "^7.0.0", "get-port": "^4.2.0", @@ -13682,9 +13742,9 @@ } }, "postcss-calc": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.1.0.tgz", - "integrity": "sha512-XaJ+DArhRtRAzI+IqjRNTM0i4NFKkMK5StepwynfrF27UfO6/oMaELSVDE4f9ndLHyaO4aDKUwfQKVmje/BzCg==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.0.tgz", + "integrity": "sha512-PueXCv288diX7OXyJicGNA6Q3+L4xYb2cALTAeFj9X6PXnj+s4pUf1vkZnwn+rldfu2taCA9ondjF93lhRTPFA==", "dev": true, "requires": { "postcss-selector-parser": "^6.0.2", @@ -13692,9 +13752,9 @@ } }, "postcss-colormin": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.2.tgz", - "integrity": "sha512-tSEe3NpqWARUTidDlF0LntPkdlhXqfDFuA1yslqpvvGAfpZ7oBaw+/QXd935NKm2U9p4PED0HDZlzmMk7fVC6g==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.3.tgz", + "integrity": "sha512-dra4xoAjub2wha6RUXAgadHEn2lGxbj8drhFcIGLOMn914Eu7DkPUurugDXgstwttCYkJtZ/+PkWRWdp3UHRIA==", "dev": true, "requires": { "browserslist": "^4.16.6", @@ -13734,9 +13794,9 @@ "requires": {} }, "postcss-discard-overridden": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz", - "integrity": "sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.2.tgz", + "integrity": "sha512-+56BLP6NSSUuWUXjRgAQuho1p5xs/hU5Sw7+xt9S3JSg+7R6+WMGnJW7Hre/6tTuZ2xiXMB42ObkiZJ2hy/Pew==", "dev": true, "requires": {} }, @@ -13751,53 +13811,53 @@ } }, "postcss-merge-rules": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.3.tgz", - "integrity": "sha512-cEKTMEbWazVa5NXd8deLdCnXl+6cYG7m2am+1HzqH0EnTdy8fRysatkaXb2dEnR+fdaDxTvuZ5zoBdv6efF6hg==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.4.tgz", + "integrity": "sha512-yOj7bW3NxlQxaERBB0lEY1sH5y+RzevjbdH4DBJurjKERNpknRByFNdNe+V72i5pIZL12woM9uGdS5xbSB+kDQ==", "dev": true, "requires": { "browserslist": "^4.16.6", "caniuse-api": "^3.0.0", - "cssnano-utils": "^2.0.1", + "cssnano-utils": "^3.0.0", "postcss-selector-parser": "^6.0.5" } }, "postcss-minify-font-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz", - "integrity": "sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.2.tgz", + "integrity": "sha512-R6MJZryq28Cw0AmnyhXrM7naqJZZLoa1paBltIzh2wM7yb4D45TLur+eubTQ4jCmZU9SGeZdWsc5KcSoqTMeTg==", "dev": true, "requires": { - "postcss-value-parser": "^4.1.0" + "postcss-value-parser": "^4.2.0" } }, "postcss-minify-gradients": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.3.tgz", - "integrity": "sha512-Z91Ol22nB6XJW+5oe31+YxRsYooxOdFKcbOqY/V8Fxse1Y3vqlNRpi1cxCqoACZTQEhl+xvt4hsbWiV5R+XI9Q==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.4.tgz", + "integrity": "sha512-RVwZA7NC4R4J76u8X0Q0j+J7ItKUWAeBUJ8oEEZWmtv3Xoh19uNJaJwzNpsydQjk6PkuhRrK+YwwMf+c+68EYg==", "dev": true, "requires": { "colord": "^2.9.1", - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" + "cssnano-utils": "^3.0.0", + "postcss-value-parser": "^4.2.0" } }, "postcss-minify-params": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.2.tgz", - "integrity": "sha512-qJAPuBzxO1yhLad7h2Dzk/F7n1vPyfHfCCh5grjGfjhi1ttCnq4ZXGIW77GSrEbh9Hus9Lc/e/+tB4vh3/GpDg==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.3.tgz", + "integrity": "sha512-NY92FUikE+wralaiVexFd5gwb7oJTIDhgTNeIw89i1Ymsgt4RWiPXfz3bg7hDy4NL6gepcThJwOYNtZO/eNi7Q==", "dev": true, "requires": { "alphanum-sort": "^1.0.2", "browserslist": "^4.16.6", - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" + "cssnano-utils": "^3.0.0", + "postcss-value-parser": "^4.2.0" } }, "postcss-minify-selectors": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz", - "integrity": "sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.1.tgz", + "integrity": "sha512-TOzqOPXt91O2luJInaVPiivh90a2SIK5Nf1Ea7yEIM/5w+XA5BGrZGUSW8aEx9pJ/oNj7ZJBhjvigSiBV+bC1Q==", "dev": true, "requires": { "alphanum-sort": "^1.0.2", @@ -14233,61 +14293,58 @@ "requires": {} }, "postcss-normalize-display-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz", - "integrity": "sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.2.tgz", + "integrity": "sha512-RxXoJPUR0shSjkMMzgEZDjGPrgXUVYyWA/YwQRicb48H15OClPuaDR7tYokLAlGZ2tCSENEN5WxjgxSD5m4cUw==", "dev": true, "requires": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" + "postcss-value-parser": "^4.2.0" } }, "postcss-normalize-positions": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz", - "integrity": "sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.2.tgz", + "integrity": "sha512-tqghWFVDp2btqFg1gYob1etPNxXLNh3uVeWgZE2AQGh6b2F8AK2Gj36v5Vhyh+APwIzNjmt6jwZ9pTBP+/OM8g==", "dev": true, "requires": { - "postcss-value-parser": "^4.1.0" + "postcss-value-parser": "^4.2.0" } }, "postcss-normalize-repeat-style": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz", - "integrity": "sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.2.tgz", + "integrity": "sha512-/rIZn8X9bBzC7KvY4iKUhXUGW3MmbXwfPF23jC9wT9xTi7kAvgj8sEgwxjixBmoL6MVa4WOgxNz2hAR6wTK8tw==", "dev": true, "requires": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" + "postcss-value-parser": "^4.2.0" } }, "postcss-normalize-string": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz", - "integrity": "sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.2.tgz", + "integrity": "sha512-zaI1yzwL+a/FkIzUWMQoH25YwCYxi917J4pYm1nRXtdgiCdnlTkx5eRzqWEC64HtRa06WCJ9TIutpb6GmW4gFw==", "dev": true, "requires": { - "postcss-value-parser": "^4.1.0" + "postcss-value-parser": "^4.2.0" } }, "postcss-normalize-timing-functions": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz", - "integrity": "sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.2.tgz", + "integrity": "sha512-Ao0PP6MoYsRU1LxeVUW740ioknvdIUmfr6uAA3xWlQJ9s69/Tupy8qwhuKG3xWfl+KvLMAP9p2WXF9cwuk/7Bg==", "dev": true, "requires": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" + "postcss-value-parser": "^4.2.0" } }, "postcss-normalize-unicode": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz", - "integrity": "sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.2.tgz", + "integrity": "sha512-3y/V+vjZ19HNcTizeqwrbZSUsE69ZMRHfiiyLAJb7C7hJtYmM4Gsbajy7gKagu97E8q5rlS9k8FhojA8cpGhWw==", "dev": true, "requires": { - "browserslist": "^4.16.0", - "postcss-value-parser": "^4.1.0" + "browserslist": "^4.16.6", + "postcss-value-parser": "^4.2.0" } }, "postcss-normalize-url": { @@ -14301,22 +14358,22 @@ } }, "postcss-normalize-whitespace": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz", - "integrity": "sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.2.tgz", + "integrity": "sha512-CXBx+9fVlzSgbk0IXA/dcZn9lXixnQRndnsPC5ht3HxlQ1bVh77KQDL1GffJx1LTzzfae8ftMulsjYmO2yegxA==", "dev": true, "requires": { - "postcss-value-parser": "^4.1.0" + "postcss-value-parser": "^4.2.0" } }, "postcss-ordered-values": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz", - "integrity": "sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.3.tgz", + "integrity": "sha512-T9pDS+P9bWeFvqivXd5ACzQmrCmHjv3ZP+djn8E1UZY7iK79pFSm7i3WbKw2VSmFmdbMm8sQ12OPcNpzBo3Z2w==", "dev": true, "requires": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" + "cssnano-utils": "^3.0.0", + "postcss-value-parser": "^4.2.0" } }, "postcss-reduce-initial": { @@ -14330,13 +14387,12 @@ } }, "postcss-reduce-transforms": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz", - "integrity": "sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.2.tgz", + "integrity": "sha512-25HeDeFsgiPSUx69jJXZn8I06tMxLQJJNF5h7i9gsUg8iP4KOOJ8EX8fj3seeoLt3SLU2YDD6UPnDYVGUO7DEA==", "dev": true, "requires": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" + "postcss-value-parser": "^4.2.0" } }, "postcss-selector-parser": { @@ -14734,9 +14790,9 @@ "dev": true }, "sass": { - "version": "1.45.2", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.45.2.tgz", - "integrity": "sha512-cKfs+F9AMPAFlbbTXNsbGvg3y58nV0mXA3E94jqaySKcC8Kq3/8983zVKQ0TLMUrHw7hF9Tnd3Bz9z5Xgtrl9g==", + "version": "1.47.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.47.0.tgz", + "integrity": "sha512-GtXwvwgD7/6MLUZPnlA5/8cdRgC9SzT5kAnnJMRmEZQFRE3J56Foswig4NyyyQGsnmNvg6EUM/FP0Pe9Y2zywQ==", "dev": true, "requires": { "chokidar": ">=3.0.0 <4.0.0", @@ -14917,9 +14973,9 @@ "dev": true }, "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", "dev": true, "requires": { "asn1": "~0.2.3",