summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.git-blame-ignore-revs3
-rw-r--r--.github/CODEOWNERS3
-rw-r--r--.github/labeler.yml3
-rw-r--r--.github/workflows/update-terraform-providers.yml2
-rw-r--r--doc/builders/fetchers.chapter.md45
-rw-r--r--doc/builders/images/dockertools.section.md29
-rw-r--r--doc/contributing/coding-conventions.chapter.md2
-rw-r--r--doc/languages-frameworks/python.section.md20
-rw-r--r--doc/stdenv/stdenv.chapter.md14
-rw-r--r--lib/modules.nix10
-rw-r--r--lib/options.nix2
-rw-r--r--lib/systems/default.nix3
-rw-r--r--maintainers/maintainer-list.nix107
-rwxr-xr-xmaintainers/scripts/haskell/hydra-report.hs4
-rw-r--r--maintainers/scripts/luarocks-packages.csv4
-rw-r--r--maintainers/team-list.nix4
-rw-r--r--nixos/doc/manual/configuration/gpu-accel.chapter.md4
-rw-r--r--nixos/doc/manual/development/option-declarations.section.md4
-rw-r--r--nixos/doc/manual/development/writing-nixos-tests.section.md34
-rw-r--r--nixos/doc/manual/from_md/configuration/gpu-accel.chapter.xml4
-rw-r--r--nixos/doc/manual/from_md/development/option-declarations.section.xml4
-rw-r--r--nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml15
-rw-r--r--nixos/doc/manual/from_md/release-notes/rl-2211.section.xml59
-rw-r--r--nixos/doc/manual/release-notes/rl-2211.section.md17
-rw-r--r--nixos/lib/make-options-doc/default.nix31
-rw-r--r--nixos/lib/make-options-doc/mergeJSON.py243
-rw-r--r--nixos/maintainers/scripts/lxd/lxd-image-inner.nix2
-rw-r--r--nixos/modules/config/i18n.nix7
-rw-r--r--nixos/modules/config/resolvconf.nix6
-rw-r--r--nixos/modules/config/shells-environment.nix4
-rw-r--r--nixos/modules/config/sysctl.nix9
-rw-r--r--nixos/modules/config/system-environment.nix21
-rw-r--r--nixos/modules/config/users-groups.nix39
-rw-r--r--nixos/modules/config/xdg/portal.nix2
-rw-r--r--nixos/modules/hardware/cpu/amd-sev.nix51
-rw-r--r--nixos/modules/hardware/logitech.nix5
-rw-r--r--nixos/modules/hardware/tuxedo-keyboard.nix2
-rw-r--r--nixos/modules/hardware/video/uvcvideo/default.nix12
-rw-r--r--nixos/modules/hardware/xpadneo.nix3
-rw-r--r--nixos/modules/installer/cd-dvd/iso-image.nix38
-rw-r--r--nixos/modules/installer/netboot/netboot.nix2
-rw-r--r--nixos/modules/installer/tools/tools.nix2
-rw-r--r--nixos/modules/misc/documentation.nix58
-rw-r--r--nixos/modules/misc/documentation/test-dummy.chapter.xml0
-rw-r--r--nixos/modules/misc/documentation/test.nix49
-rw-r--r--nixos/modules/misc/locate.nix9
-rw-r--r--nixos/modules/misc/nixpkgs.nix74
-rw-r--r--nixos/modules/misc/version.nix12
-rw-r--r--nixos/modules/module-list.nix5
-rw-r--r--nixos/modules/profiles/all-hardware.nix3
-rw-r--r--nixos/modules/profiles/clone-config.nix6
-rw-r--r--nixos/modules/programs/adb.nix4
-rw-r--r--nixos/modules/programs/firejail.nix7
-rw-r--r--nixos/modules/programs/gphoto2.nix4
-rw-r--r--nixos/modules/programs/kdeconnect.nix2
-rw-r--r--nixos/modules/programs/neovim.nix4
-rw-r--r--nixos/modules/programs/nncp.nix18
-rw-r--r--nixos/modules/programs/noisetorch.nix4
-rw-r--r--nixos/modules/programs/ssh.nix2
-rw-r--r--nixos/modules/programs/sway.nix2
-rw-r--r--nixos/modules/programs/turbovnc.nix6
-rw-r--r--nixos/modules/security/acme/default.nix13
-rw-r--r--nixos/modules/security/apparmor.nix10
-rw-r--r--nixos/modules/security/dhparams.nix2
-rw-r--r--nixos/modules/security/doas.nix60
-rw-r--r--nixos/modules/security/misc.nix4
-rw-r--r--nixos/modules/security/pam.nix145
-rw-r--r--nixos/modules/security/pam_mount.nix15
-rw-r--r--nixos/modules/security/pam_usb.nix5
-rw-r--r--nixos/modules/security/sudo.nix22
-rw-r--r--nixos/modules/security/systemd-confinement.nix27
-rw-r--r--nixos/modules/security/wrappers/default.nix5
-rw-r--r--nixos/modules/services/backup/borgbackup.nix14
-rw-r--r--nixos/modules/services/backup/duplicity.nix34
-rw-r--r--nixos/modules/services/backup/restic.nix4
-rw-r--r--nixos/modules/services/backup/sanoid.nix5
-rw-r--r--nixos/modules/services/backup/syncoid.nix11
-rw-r--r--nixos/modules/services/backup/tarsnap.nix5
-rw-r--r--nixos/modules/services/backup/zrepl.nix5
-rw-r--r--nixos/modules/services/cluster/hadoop/conf.nix3
-rw-r--r--nixos/modules/services/cluster/hadoop/default.nix36
-rw-r--r--nixos/modules/services/cluster/hadoop/hbase.nix196
-rw-r--r--nixos/modules/services/cluster/hadoop/hdfs.nix4
-rw-r--r--nixos/modules/services/cluster/hadoop/yarn.nix8
-rw-r--r--nixos/modules/services/computing/slurm/slurm.nix7
-rw-r--r--nixos/modules/services/continuous-integration/github-runner.nix5
-rw-r--r--nixos/modules/services/continuous-integration/gitlab-runner.nix94
-rw-r--r--nixos/modules/services/continuous-integration/hydra/default.nix2
-rw-r--r--nixos/modules/services/databases/firebird.nix6
-rw-r--r--nixos/modules/services/databases/hbase-standalone.nix (renamed from nixos/modules/services/databases/hbase.nix)25
-rw-r--r--nixos/modules/services/databases/mysql.nix6
-rw-r--r--nixos/modules/services/databases/neo4j.nix198
-rw-r--r--nixos/modules/services/databases/openldap.nix185
-rw-r--r--nixos/modules/services/databases/pgmanage.nix8
-rw-r--r--nixos/modules/services/databases/postgresql.nix9
-rw-r--r--nixos/modules/services/databases/rethinkdb.nix8
-rw-r--r--nixos/modules/services/databases/victoriametrics.nix8
-rw-r--r--nixos/modules/services/desktops/geoclue2.nix1
-rw-r--r--nixos/modules/services/desktops/gvfs.nix2
-rw-r--r--nixos/modules/services/desktops/pipewire/pipewire-media-session.nix12
-rw-r--r--nixos/modules/services/development/jupyter/default.nix18
-rw-r--r--nixos/modules/services/development/jupyter/kernel-options.nix12
-rw-r--r--nixos/modules/services/development/jupyterhub/default.nix18
-rw-r--r--nixos/modules/services/development/zammad.nix2
-rw-r--r--nixos/modules/services/games/asf.nix4
-rw-r--r--nixos/modules/services/games/crossfire-server.nix2
-rw-r--r--nixos/modules/services/games/deliantra-server.nix2
-rw-r--r--nixos/modules/services/hardware/kanata.nix121
-rw-r--r--nixos/modules/services/hardware/lcd.nix9
-rw-r--r--nixos/modules/services/hardware/pcscd.nix5
-rw-r--r--nixos/modules/services/hardware/udev.nix23
-rw-r--r--nixos/modules/services/hardware/udisks2.nix9
-rw-r--r--nixos/modules/services/home-automation/home-assistant.nix8
-rw-r--r--nixos/modules/services/logging/awstats.nix6
-rw-r--r--nixos/modules/services/logging/filebeat.nix23
-rw-r--r--nixos/modules/services/logging/logrotate.nix10
-rw-r--r--nixos/modules/services/mail/mailman.nix4
-rw-r--r--nixos/modules/services/mail/mlmmj.nix5
-rw-r--r--nixos/modules/services/mail/nullmailer.nix12
-rw-r--r--nixos/modules/services/mail/postfix.nix5
-rw-r--r--nixos/modules/services/mail/postfixadmin.nix6
-rw-r--r--nixos/modules/services/mail/public-inbox.nix10
-rw-r--r--nixos/modules/services/mail/roundcube.nix10
-rw-r--r--nixos/modules/services/mail/sympa.nix18
-rw-r--r--nixos/modules/services/matrix/appservice-discord.nix17
-rw-r--r--nixos/modules/services/matrix/dendrite.nix3
-rw-r--r--nixos/modules/services/matrix/mautrix-facebook.nix11
-rw-r--r--nixos/modules/services/matrix/mautrix-telegram.nix11
-rw-r--r--nixos/modules/services/matrix/mjolnir.nix38
-rw-r--r--nixos/modules/services/matrix/pantalaimon-options.nix20
-rw-r--r--nixos/modules/services/matrix/pantalaimon.nix4
-rw-r--r--nixos/modules/services/matrix/synapse.nix82
-rw-r--r--nixos/modules/services/misc/autorandr.nix20
-rw-r--r--nixos/modules/services/misc/bees.nix13
-rw-r--r--nixos/modules/services/misc/docker-registry.nix5
-rw-r--r--nixos/modules/services/misc/etcd.nix4
-rw-r--r--nixos/modules/services/misc/etebase-server.nix4
-rw-r--r--nixos/modules/services/misc/fstrim.nix5
-rw-r--r--nixos/modules/services/misc/geoipupdate.nix10
-rw-r--r--nixos/modules/services/misc/gitea.nix160
-rw-r--r--nixos/modules/services/misc/gitit.nix114
-rw-r--r--nixos/modules/services/misc/gitlab.nix5
-rw-r--r--nixos/modules/services/misc/klipper.nix7
-rw-r--r--nixos/modules/services/misc/nitter.nix3
-rw-r--r--nixos/modules/services/misc/nix-daemon.nix34
-rw-r--r--nixos/modules/services/misc/nix-gc.nix10
-rw-r--r--nixos/modules/services/misc/nix-optimise.nix5
-rw-r--r--nixos/modules/services/misc/persistent-evdev.nix4
-rw-r--r--nixos/modules/services/misc/snapper.nix10
-rw-r--r--nixos/modules/services/misc/sourcehut/default.nix178
-rw-r--r--nixos/modules/services/misc/sourcehut/service.nix18
-rw-r--r--nixos/modules/services/misc/sssd.nix2
-rw-r--r--nixos/modules/services/misc/taskserver/default.nix23
-rw-r--r--nixos/modules/services/misc/tautulli.nix8
-rw-r--r--nixos/modules/services/misc/zoneminder.nix4
-rw-r--r--nixos/modules/services/monitoring/cadvisor.nix14
-rw-r--r--nixos/modules/services/monitoring/grafana-image-renderer.nix2
-rw-r--r--nixos/modules/services/monitoring/graphite.nix4
-rw-r--r--nixos/modules/services/monitoring/metricbeat.nix10
-rw-r--r--nixos/modules/services/monitoring/munin.nix28
-rw-r--r--nixos/modules/services/monitoring/nagios.nix12
-rw-r--r--nixos/modules/services/monitoring/netdata.nix8
-rw-r--r--nixos/modules/services/monitoring/parsedmarc.nix39
-rw-r--r--nixos/modules/services/monitoring/prometheus/default.nix15
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters.nix14
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/apcupsd.nix4
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/artifactory.nix8
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/bind.nix8
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/bird.nix6
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/bitcoin.nix14
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix4
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/buildkite-agent.nix8
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/collectd.nix12
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/dmarc.nix22
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/dnsmasq.nix6
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix12
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/fastly.nix6
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/flow.nix8
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/fritzbox.nix4
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/influxdb.nix4
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/jitsi.nix4
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/json.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/kea.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/knot.nix7
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/lnd.nix6
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/mail.nix33
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/mikrotik.nix10
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/minio.nix12
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/modemmanager.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/nextcloud.nix10
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/nginx.nix8
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/nginxlog.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/node.nix4
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/openldap.nix4
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/openvpn.nix6
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/pihole.nix12
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/postfix.nix22
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/postgres.nix10
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/process.nix4
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/pve.nix18
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/py-air-control.nix8
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/rspamd.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/rtl_433.nix12
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/script.nix10
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix4
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/smokeping.nix8
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/snmp.nix8
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/sql.nix24
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/surfboard.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/tor.nix4
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/unbound.nix6
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/unifi.nix10
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/varnish.nix16
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix20
-rw-r--r--nixos/modules/services/network-filesystems/litestream/default.nix4
-rw-r--r--nixos/modules/services/network-filesystems/netatalk.nix10
-rw-r--r--nixos/modules/services/network-filesystems/nfsd.nix12
-rw-r--r--nixos/modules/services/network-filesystems/openafs/client.nix50
-rw-r--r--nixos/modules/services/network-filesystems/openafs/lib.nix4
-rw-r--r--nixos/modules/services/network-filesystems/openafs/server.nix44
-rw-r--r--nixos/modules/services/network-filesystems/rsyncd.nix5
-rw-r--r--nixos/modules/services/network-filesystems/webdav.nix6
-rw-r--r--nixos/modules/services/networking/avahi-daemon.nix5
-rw-r--r--nixos/modules/services/networking/biboumi.nix10
-rw-r--r--nixos/modules/services/networking/bird-lg.nix12
-rw-r--r--nixos/modules/services/networking/bird.nix12
-rw-r--r--nixos/modules/services/networking/coredns.nix5
-rw-r--r--nixos/modules/services/networking/firefox-syncserver.md55
-rw-r--r--nixos/modules/services/networking/firefox-syncserver.nix328
-rw-r--r--nixos/modules/services/networking/firefox-syncserver.xml77
-rw-r--r--nixos/modules/services/networking/ghostunnel.nix18
-rw-r--r--nixos/modules/services/networking/hans.nix6
-rw-r--r--nixos/modules/services/networking/iodine.nix6
-rw-r--r--nixos/modules/services/networking/kea.nix32
-rw-r--r--nixos/modules/services/networking/keepalived/default.nix28
-rw-r--r--nixos/modules/services/networking/keepalived/virtual-ip-options.nix10
-rw-r--r--nixos/modules/services/networking/keepalived/vrrp-instance-options.nix28
-rw-r--r--nixos/modules/services/networking/keepalived/vrrp-script-options.nix18
-rw-r--r--nixos/modules/services/networking/murmur.nix4
-rw-r--r--nixos/modules/services/networking/nbd.nix10
-rw-r--r--nixos/modules/services/networking/ncdns.nix6
-rw-r--r--nixos/modules/services/networking/networkmanager.nix57
-rw-r--r--nixos/modules/services/networking/nghttpx/backend-submodule.nix6
-rw-r--r--nixos/modules/services/networking/nghttpx/frontend-submodule.nix4
-rw-r--r--nixos/modules/services/networking/nghttpx/nghttpx-options.nix20
-rw-r--r--nixos/modules/services/networking/nntp-proxy.nix4
-rw-r--r--nixos/modules/services/networking/nsd.nix4
-rw-r--r--nixos/modules/services/networking/ntp/ntpd.nix17
-rw-r--r--nixos/modules/services/networking/openconnect.nix14
-rw-r--r--nixos/modules/services/networking/openvpn.nix6
-rw-r--r--nixos/modules/services/networking/pleroma.nix8
-rw-r--r--nixos/modules/services/networking/seafile.nix2
-rw-r--r--nixos/modules/services/networking/smokeping.nix2
-rw-r--r--nixos/modules/services/networking/soju.nix24
-rw-r--r--nixos/modules/services/networking/ssh/sshd.nix46
-rw-r--r--nixos/modules/services/networking/strongswan-swanctl/module.nix6
-rw-r--r--nixos/modules/services/networking/strongswan-swanctl/param-constructors.nix3
-rw-r--r--nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix90
-rw-r--r--nixos/modules/services/networking/stunnel.nix10
-rw-r--r--nixos/modules/services/networking/unbound.nix5
-rw-r--r--nixos/modules/services/networking/wireguard.nix18
-rw-r--r--nixos/modules/services/networking/wpa_supplicant.nix25
-rw-r--r--nixos/modules/services/networking/yggdrasil.nix40
-rw-r--r--nixos/modules/services/networking/znc/default.nix45
-rw-r--r--nixos/modules/services/networking/znc/options.nix3
-rw-r--r--nixos/modules/services/security/privacyidea.nix8
-rw-r--r--nixos/modules/services/security/step-ca.nix4
-rw-r--r--nixos/modules/services/security/tor.nix16
-rw-r--r--nixos/modules/services/security/usbguard.nix10
-rw-r--r--nixos/modules/services/security/vault.nix4
-rw-r--r--nixos/modules/services/security/vaultwarden/default.nix6
-rw-r--r--nixos/modules/services/system/dbus.nix14
-rw-r--r--nixos/modules/services/system/earlyoom.nix16
-rw-r--r--nixos/modules/services/system/kerberos/default.nix10
-rw-r--r--nixos/modules/services/system/nscd.nix6
-rw-r--r--nixos/modules/services/torrent/transmission.nix58
-rw-r--r--nixos/modules/services/ttys/getty.nix11
-rw-r--r--nixos/modules/services/web-apps/bookstack.nix70
-rw-r--r--nixos/modules/services/web-apps/dokuwiki.nix10
-rw-r--r--nixos/modules/services/web-apps/fluidd.nix6
-rw-r--r--nixos/modules/services/web-apps/hedgedoc.nix9
-rw-r--r--nixos/modules/services/web-apps/jirafeau.nix16
-rw-r--r--nixos/modules/services/web-apps/keycloak.nix39
-rw-r--r--nixos/modules/services/web-apps/limesurvey.nix32
-rw-r--r--nixos/modules/services/web-apps/mastodon.nix36
-rw-r--r--nixos/modules/services/web-apps/matomo.nix16
-rw-r--r--nixos/modules/services/web-apps/mediawiki.nix54
-rw-r--r--nixos/modules/services/web-apps/moodle.nix34
-rw-r--r--nixos/modules/services/web-apps/nextcloud.nix26
-rw-r--r--nixos/modules/services/web-apps/node-red.nix5
-rw-r--r--nixos/modules/services/web-apps/peertube.nix4
-rw-r--r--nixos/modules/services/web-apps/snipe-it.nix77
-rw-r--r--nixos/modules/services/web-apps/trilium.nix2
-rw-r--r--nixos/modules/services/web-apps/virtlyst.nix73
-rw-r--r--nixos/modules/services/web-apps/wiki-js.nix5
-rw-r--r--nixos/modules/services/web-apps/wordpress.nix48
-rw-r--r--nixos/modules/services/web-apps/zabbix.nix36
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/default.nix58
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/vhost-options.nix72
-rw-r--r--nixos/modules/services/web-servers/caddy/default.nix30
-rw-r--r--nixos/modules/services/web-servers/caddy/vhost-options.nix14
-rw-r--r--nixos/modules/services/web-servers/hydron.nix5
-rw-r--r--nixos/modules/services/web-servers/nginx/default.nix66
-rw-r--r--nixos/modules/services/web-servers/nginx/location-options.nix26
-rw-r--r--nixos/modules/services/web-servers/nginx/vhost-options.nix80
-rw-r--r--nixos/modules/services/web-servers/uwsgi.nix3
-rw-r--r--nixos/modules/services/x11/desktop-managers/cinnamon.nix8
-rw-r--r--nixos/modules/services/x11/desktop-managers/default.nix20
-rw-r--r--nixos/modules/services/x11/desktop-managers/plasma5.nix7
-rw-r--r--nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix2
-rw-r--r--nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix4
-rw-r--r--nixos/modules/services/x11/display-managers/lightdm-greeters/tiny.nix4
-rw-r--r--nixos/modules/services/x11/display-managers/lightdm.nix16
-rw-r--r--nixos/modules/services/x11/window-managers/default.nix1
-rw-r--r--nixos/modules/services/x11/window-managers/fvwm2.nix2
-rw-r--r--nixos/modules/services/x11/window-managers/hackedbox.nix25
-rw-r--r--nixos/modules/services/x11/window-managers/xmonad.nix4
-rw-r--r--nixos/modules/services/x11/xserver.nix109
-rwxr-xr-xnixos/modules/system/activation/switch-to-configuration.pl28
-rw-r--r--nixos/modules/system/activation/top-level.nix30
-rw-r--r--nixos/modules/system/boot/initrd-network.nix13
-rw-r--r--nixos/modules/system/boot/loader/generic-extlinux-compatible/default.nix14
-rw-r--r--nixos/modules/system/boot/loader/grub/grub.nix12
-rw-r--r--nixos/modules/system/boot/luksroot.nix6
-rw-r--r--nixos/modules/system/boot/modprobe.nix7
-rw-r--r--nixos/modules/system/boot/networkd.nix348
-rw-r--r--nixos/modules/system/boot/plymouth.nix11
-rw-r--r--nixos/modules/system/boot/stage-1.nix4
-rw-r--r--nixos/modules/system/boot/systemd.nix6
-rw-r--r--nixos/modules/system/boot/systemd/coredump.nix53
-rw-r--r--nixos/modules/system/boot/systemd/initrd.nix23
-rw-r--r--nixos/modules/system/boot/systemd/logind.nix9
-rw-r--r--nixos/modules/system/boot/systemd/nspawn.nix21
-rw-r--r--nixos/modules/system/boot/systemd/tmpfiles.nix10
-rw-r--r--nixos/modules/tasks/auto-upgrade.nix16
-rw-r--r--nixos/modules/tasks/filesystems/btrfs.nix8
-rw-r--r--nixos/modules/tasks/filesystems/zfs.nix16
-rw-r--r--nixos/modules/tasks/network-interfaces.nix12
-rw-r--r--nixos/modules/tasks/scsi-link-power-management.nix4
-rw-r--r--nixos/modules/virtualisation/azure-agent.nix6
-rw-r--r--nixos/modules/virtualisation/container-config.nix1
-rw-r--r--nixos/modules/virtualisation/docker.nix5
-rw-r--r--nixos/modules/virtualisation/lxc.nix13
-rw-r--r--nixos/modules/virtualisation/nixos-containers.nix28
-rw-r--r--nixos/modules/virtualisation/podman/default.nix18
-rw-r--r--nixos/modules/virtualisation/podman/network-socket.nix16
-rw-r--r--nixos/modules/virtualisation/qemu-vm.nix90
-rw-r--r--nixos/release-combined.nix2
-rw-r--r--nixos/tests/all-tests.nix2
-rw-r--r--nixos/tests/convos.nix2
-rw-r--r--nixos/tests/couchdb.nix2
-rw-r--r--nixos/tests/docker-tools.nix4
-rw-r--r--nixos/tests/documize.nix6
-rw-r--r--nixos/tests/firefox.nix2
-rw-r--r--nixos/tests/hadoop/default.nix1
-rw-r--r--nixos/tests/hadoop/hbase.nix84
-rw-r--r--nixos/tests/hadoop/yarn.nix2
-rw-r--r--nixos/tests/hbase.nix4
-rw-r--r--nixos/tests/neo4j.nix14
-rw-r--r--nixos/tests/nginx-auth.nix8
-rw-r--r--nixos/tests/openldap.nix232
-rw-r--r--nixos/tests/privacyidea.nix2
-rw-r--r--nixos/tests/prometheus-exporters.nix10
-rw-r--r--nixos/tests/sympa.nix2
-rw-r--r--nixos/tests/systemd-coredump.nix44
-rw-r--r--nixos/tests/systemd-nspawn.nix6
-rw-r--r--nixos/tests/xmpp/xmpp-sendmessage.nix2
-rw-r--r--nixos/tests/yggdrasil.nix4
-rw-r--r--pkgs/applications/audio/amberol/default.nix6
-rw-r--r--pkgs/applications/audio/audacious/0001-Set-plugindir-to-PREFIX-lib-audacious.patch25
-rw-r--r--pkgs/applications/audio/audacious/default.nix76
-rw-r--r--pkgs/applications/audio/audacious/plugins.nix111
-rw-r--r--pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix4
-rw-r--r--pkgs/applications/audio/exaile/default.nix2
-rw-r--r--pkgs/applications/audio/fluidsynth/default.nix4
-rw-r--r--pkgs/applications/audio/kid3/default.nix4
-rw-r--r--pkgs/applications/audio/lollypop/default.nix4
-rw-r--r--pkgs/applications/audio/lv2lint/default.nix4
-rw-r--r--pkgs/applications/audio/mixxx/default.nix6
-rw-r--r--pkgs/applications/audio/ncmpc/default.nix4
-rw-r--r--pkgs/applications/audio/noise-repellent/default.nix4
-rw-r--r--pkgs/applications/audio/pianoteq/default.nix8
-rw-r--r--pkgs/applications/audio/pipecontrol/default.nix4
-rw-r--r--pkgs/applications/audio/plexamp/default.nix6
-rw-r--r--pkgs/applications/audio/radioboat/default.nix4
-rw-r--r--pkgs/applications/audio/sptlrx/default.nix9
-rw-r--r--pkgs/applications/audio/ssrc/default.nix2
-rw-r--r--pkgs/applications/audio/termusic/default.nix6
-rw-r--r--pkgs/applications/audio/tidal-hifi/default.nix4
-rw-r--r--pkgs/applications/audio/touchosc/default.nix108
-rw-r--r--pkgs/applications/backup/pika-backup/default.nix6
-rw-r--r--pkgs/applications/backup/timeshift/unwrapped.nix10
-rw-r--r--pkgs/applications/blockchains/bisq-desktop/default.nix4
-rw-r--r--pkgs/applications/blockchains/btcpayserver/default.nix4
-rw-r--r--pkgs/applications/blockchains/btcpayserver/deps.nix176
-rw-r--r--pkgs/applications/blockchains/charge-lnd/default.nix8
-rw-r--r--pkgs/applications/blockchains/ergo/default.nix4
-rw-r--r--pkgs/applications/blockchains/erigon.nix6
-rw-r--r--pkgs/applications/blockchains/exodus/default.nix6
-rw-r--r--pkgs/applications/blockchains/framesh/default.nix4
-rw-r--r--pkgs/applications/blockchains/ledger-live-desktop/default.nix4
-rw-r--r--pkgs/applications/blockchains/lndhub-go/default.nix6
-rw-r--r--pkgs/applications/blockchains/masari/default.nix2
-rw-r--r--pkgs/applications/blockchains/monero-cli/default.nix6
-rw-r--r--pkgs/applications/blockchains/monero-gui/default.nix10
-rw-r--r--pkgs/applications/blockchains/namecoin/default.nix4
-rw-r--r--pkgs/applications/blockchains/nbxplorer/default.nix4
-rw-r--r--pkgs/applications/blockchains/nbxplorer/deps.nix135
-rw-r--r--pkgs/applications/blockchains/particl-core/default.nix4
-rw-r--r--pkgs/applications/blockchains/polkadot/default.nix6
-rw-r--r--pkgs/applications/blockchains/stellar-core/default.nix4
-rw-r--r--pkgs/applications/blockchains/sumokoin/default.nix2
-rw-r--r--pkgs/applications/blockchains/wasabiwallet/default.nix4
-rw-r--r--pkgs/applications/blockchains/zecwallet-lite/default.nix30
-rw-r--r--pkgs/applications/display-managers/lightdm/default.nix31
-rw-r--r--pkgs/applications/display-managers/lightdm/gtk-greeter.nix57
-rw-r--r--pkgs/applications/editors/cudatext/default.nix4
-rw-r--r--pkgs/applications/editors/cudatext/deps.json4
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix187
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix66
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json3944
-rw-r--r--pkgs/applications/editors/micro/default.nix14
-rw-r--r--pkgs/applications/editors/neovim/neovim-override.vim6
-rw-r--r--pkgs/applications/editors/neovim/tests.nix16
-rw-r--r--pkgs/applications/editors/neovim/utils.nix97
-rw-r--r--pkgs/applications/editors/neovim/wrapper.nix2
-rw-r--r--pkgs/applications/editors/notepad-next/default.nix4
-rw-r--r--pkgs/applications/editors/pinegrow/default.nix4
-rw-r--r--pkgs/applications/editors/poke/default.nix3
-rw-r--r--pkgs/applications/editors/textadept/default.nix5
-rw-r--r--pkgs/applications/editors/textadept/deps.nix35
-rw-r--r--pkgs/applications/editors/vim/plugins/vim-utils.nix74
-rw-r--r--pkgs/applications/editors/vscode/extensions/default.nix32
-rw-r--r--pkgs/applications/editors/vscode/vscode.nix12
-rw-r--r--pkgs/applications/editors/vscode/vscodium.nix12
-rw-r--r--pkgs/applications/editors/xed-editor/default.nix19
-rw-r--r--pkgs/applications/editors/xxe-pe/default.nix4
-rw-r--r--pkgs/applications/editors/zee/default.nix31
-rw-r--r--pkgs/applications/emulators/commanderx16/emulator.nix21
-rw-r--r--pkgs/applications/emulators/commanderx16/rom.nix21
-rw-r--r--pkgs/applications/emulators/pcsx2/default.nix4
-rw-r--r--pkgs/applications/emulators/retroarch/default.nix4
-rw-r--r--pkgs/applications/file-managers/worker/default.nix4
-rw-r--r--pkgs/applications/gis/qgis/set-pyqt-package-dirs.patch59
-rw-r--r--pkgs/applications/gis/qgis/unwrapped-ltr.nix32
-rw-r--r--pkgs/applications/gis/qgis/unwrapped.nix32
-rw-r--r--pkgs/applications/graphics/ImageMagick/default.nix4
-rw-r--r--pkgs/applications/graphics/drawio/default.nix4
-rw-r--r--pkgs/applications/graphics/emulsion-palette/default.nix48
-rw-r--r--pkgs/applications/graphics/epick/default.nix6
-rw-r--r--pkgs/applications/graphics/freecad/default.nix4
-rw-r--r--pkgs/applications/graphics/inkscape/default.nix1
-rw-r--r--pkgs/applications/graphics/kodelife/default.nix116
-rw-r--r--pkgs/applications/graphics/megapixels/default.nix4
-rw-r--r--pkgs/applications/graphics/nsxiv/default.nix38
-rw-r--r--pkgs/applications/graphics/pika/default.nix32
-rw-r--r--pkgs/applications/graphics/rawtherapee/default.nix14
-rw-r--r--pkgs/applications/graphics/rawtherapee/do-not-bundle.patch13
-rw-r--r--pkgs/applications/graphics/rnote/default.nix6
-rw-r--r--pkgs/applications/misc/1password-gui/beta.nix6
-rw-r--r--pkgs/applications/misc/1password-gui/default.nix23
-rwxr-xr-xpkgs/applications/misc/1password-gui/update.sh5
-rw-r--r--pkgs/applications/misc/1password/default.nix4
-rw-r--r--pkgs/applications/misc/ArchiSteamFarm/default.nix4
-rw-r--r--pkgs/applications/misc/ArchiSteamFarm/deps-aarch64-linux.nix30
-rw-r--r--pkgs/applications/misc/ArchiSteamFarm/deps-x86_64-linux.nix30
-rw-r--r--pkgs/applications/misc/ArchiSteamFarm/web-ui/default.nix4
-rw-r--r--pkgs/applications/misc/ArchiSteamFarm/web-ui/node-packages.nix1136
-rwxr-xr-xpkgs/applications/misc/ArchiSteamFarm/web-ui/update.sh4
-rw-r--r--pkgs/applications/misc/anytype/default.nix4
-rw-r--r--pkgs/applications/misc/avalonia-ilspy/default.nix4
-rw-r--r--pkgs/applications/misc/cheat/default.nix4
-rw-r--r--pkgs/applications/misc/crow-translate/default.nix4
-rw-r--r--pkgs/applications/misc/deckmaster/default.nix46
-rw-r--r--pkgs/applications/misc/dwdiff/default.nix32
-rw-r--r--pkgs/applications/misc/electrum/default.nix14
-rw-r--r--pkgs/applications/misc/electrum/ltc.nix31
-rw-r--r--pkgs/applications/misc/gpsprune/default.nix4
-rw-r--r--pkgs/applications/misc/gsimplecal/default.nix4
-rw-r--r--pkgs/applications/misc/gum/default.nix6
-rw-r--r--pkgs/applications/misc/josm/default.nix8
-rw-r--r--pkgs/applications/misc/jquake/default.nix4
-rw-r--r--pkgs/applications/misc/jrnl/default.nix14
-rw-r--r--pkgs/applications/misc/k40-whisperer/default.nix4
-rw-r--r--pkgs/applications/misc/kanboard/default.nix2
-rw-r--r--pkgs/applications/misc/koreader/default.nix4
-rw-r--r--pkgs/applications/misc/libosmocore/default.nix8
-rw-r--r--pkgs/applications/misc/logseq/default.nix7
-rw-r--r--pkgs/applications/misc/lscolors/default.nix6
-rw-r--r--pkgs/applications/misc/masterpdfeditor/default.nix6
-rw-r--r--pkgs/applications/misc/masterpdfeditor4/default.nix2
-rw-r--r--pkgs/applications/misc/moz-phab/default.nix59
-rw-r--r--pkgs/applications/misc/mozphab/default.nix78
-rw-r--r--pkgs/applications/misc/nwg-panel/default.nix10
-rw-r--r--pkgs/applications/misc/opencpn/default.nix4
-rw-r--r--pkgs/applications/misc/pdfsam-basic/default.nix4
-rw-r--r--pkgs/applications/misc/pueue/default.nix43
-rw-r--r--pkgs/applications/misc/qcad/default.nix4
-rw-r--r--pkgs/applications/misc/rusty-psn/default.nix80
-rw-r--r--pkgs/applications/misc/sioyek/default.nix27
-rw-r--r--pkgs/applications/misc/solaar/default.nix24
-rw-r--r--pkgs/applications/misc/sticky/default.nix6
-rw-r--r--pkgs/applications/misc/syncthingtray/default.nix4
-rw-r--r--pkgs/applications/misc/system76-keyboard-configurator/default.nix10
-rw-r--r--pkgs/applications/misc/trenchbroom/default.nix33
-rw-r--r--pkgs/applications/misc/tut/default.nix6
-rw-r--r--pkgs/applications/misc/urlscan/default.nix4
-rw-r--r--pkgs/applications/misc/usql/default.nix6
-rw-r--r--pkgs/applications/misc/xmr-stak/default.nix2
-rw-r--r--pkgs/applications/misc/xmrig/default.nix2
-rw-r--r--pkgs/applications/misc/zine/Cargo.lock.patch2722
-rw-r--r--pkgs/applications/misc/zine/default.nix36
-rw-r--r--pkgs/applications/networking/appgate-sdp/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/ungoogled-flags.toml1
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.json54
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix786
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix786
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/release_sources.nix786
-rw-r--r--pkgs/applications/networking/browsers/firefox/common.nix2
-rw-r--r--pkgs/applications/networking/browsers/firefox/packages.nix8
-rw-r--r--pkgs/applications/networking/browsers/offpunk/default.nix9
-rw-r--r--pkgs/applications/networking/browsers/palemoon/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/vivaldi/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/argocd-autopilot/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/argocd/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/arkade/default.nix16
-rw-r--r--pkgs/applications/networking/cluster/cilium/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/civo/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/glooctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/hadoop/default.nix52
-rw-r--r--pkgs/applications/networking/cluster/helm/plugins/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/helm/plugins/helm-cm-push.nix44
-rw-r--r--pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix8
-rw-r--r--pkgs/applications/networking/cluster/helm/plugins/helm-git.nix2
-rw-r--r--pkgs/applications/networking/cluster/helm/plugins/helm-s3.nix2
-rw-r--r--pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix4
-rw-r--r--pkgs/applications/networking/cluster/istioctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/k9s/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/krane/Gemfile.lock46
-rw-r--r--pkgs/applications/networking/cluster/krane/gemset.nix139
-rw-r--r--pkgs/applications/networking/cluster/kubebuilder/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubedb-cli/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubeone/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubergrunt/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/minikube/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/minishift/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/nerdctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/node-problem-detector/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/openshift/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/ssm-session-manager-plugin/default.nix27
-rw-r--r--pkgs/applications/networking/cluster/temporal/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/default.nix11
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/providers.json199
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/tilt/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/waypoint/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/werf/default.nix6
-rw-r--r--pkgs/applications/networking/errbot/default.nix2
-rw-r--r--pkgs/applications/networking/ftp/filezilla/default.nix4
-rw-r--r--pkgs/applications/networking/go-graft/default.nix6
-rw-r--r--pkgs/applications/networking/gopher/geomyidae/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/alfaview/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/cinny-desktop/default.nix46
-rw-r--r--pkgs/applications/networking/instant-messengers/cinny/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix28
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/openasar.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-desktop.nix3
-rw-r--r--pkgs/applications/networking/instant-messengers/ferdi/default.nix3
-rw-r--r--pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix3
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signald/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tg/default.nix25
-rw-r--r--pkgs/applications/networking/instant-messengers/twitch-tui/default.nix25
-rw-r--r--pkgs/applications/networking/instant-messengers/webex/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/zoom-us/x86_64-linux-sha.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/zoom-us/x86_64-linux-version.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/zulip-term/default.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/zulip-term/pytest-executable-name.patch22
-rw-r--r--pkgs/applications/networking/ipfs-cluster/default.nix10
-rw-r--r--pkgs/applications/networking/irc/convos/default.nix10
-rw-r--r--pkgs/applications/networking/mailreaders/imapfilter.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/mailspring/default.nix6
-rw-r--r--pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix4
-rw-r--r--pkgs/applications/networking/mpop/default.nix4
-rw-r--r--pkgs/applications/networking/msmtp/default.nix154
-rw-r--r--pkgs/applications/networking/msmtp/paths.patch67
-rw-r--r--pkgs/applications/networking/mullvad-vpn/default.nix4
-rw-r--r--pkgs/applications/networking/n8n/node-packages.nix394
-rw-r--r--pkgs/applications/networking/ncgopher/default.nix6
-rw-r--r--pkgs/applications/networking/nextcloud-client/default.nix4
-rw-r--r--pkgs/applications/networking/opsdroid/default.nix2
-rw-r--r--pkgs/applications/networking/r53-ddns/default.nix6
-rw-r--r--pkgs/applications/networking/remote/freerdp/default.nix4
-rw-r--r--pkgs/applications/networking/remote/remmina/default.nix8
-rw-r--r--pkgs/applications/networking/seahub/default.nix2
-rw-r--r--pkgs/applications/networking/sync/rclone/default.nix6
-rw-r--r--pkgs/applications/networking/sync/wdt/default.nix24
-rw-r--r--pkgs/applications/networking/syncthing/default.nix9
-rw-r--r--pkgs/applications/networking/synology-drive-client/default.nix31
-rw-r--r--pkgs/applications/office/beamerpresenter/default.nix103
-rw-r--r--pkgs/applications/office/jameica/default.nix13
-rw-r--r--pkgs/applications/office/kmymoney/default.nix31
-rw-r--r--pkgs/applications/office/micropad/default.nix6
-rw-r--r--pkgs/applications/office/morgen/default.nix4
-rw-r--r--pkgs/applications/office/paperless-ngx/default.nix26
-rw-r--r--pkgs/applications/office/qownnotes/default.nix4
-rw-r--r--pkgs/applications/radio/srsran/default.nix2
-rw-r--r--pkgs/applications/radio/welle-io/default.nix2
-rw-r--r--pkgs/applications/science/astronomy/gprojector/default.nix4
-rw-r--r--pkgs/applications/science/astronomy/kstars/default.nix4
-rw-r--r--pkgs/applications/science/biology/delly/default.nix4
-rw-r--r--pkgs/applications/science/biology/igv/default.nix6
-rw-r--r--pkgs/applications/science/biology/mafft/default.nix4
-rw-r--r--pkgs/applications/science/biology/samtools/default.nix3
-rw-r--r--pkgs/applications/science/biology/spades/default.nix2
-rw-r--r--pkgs/applications/science/electronics/fritzing/default.nix29
-rwxr-xr-xpkgs/applications/science/electronics/kicad/update.sh2
-rw-r--r--pkgs/applications/science/electronics/kicad/versions.nix22
-rw-r--r--pkgs/applications/science/electronics/verilator/default.nix4
-rw-r--r--pkgs/applications/science/electronics/xschem/default.nix4
-rw-r--r--pkgs/applications/science/logic/abc/default.nix6
-rw-r--r--pkgs/applications/science/logic/lean/default.nix6
-rw-r--r--pkgs/applications/science/logic/mcrl2/default.nix4
-rw-r--r--pkgs/applications/science/logic/metis-prover/default.nix6
-rw-r--r--pkgs/applications/science/math/jags/default.nix4
-rw-r--r--pkgs/applications/science/math/scalp/default.nix58
-rw-r--r--pkgs/applications/science/misc/root/default.nix4
-rw-r--r--pkgs/applications/system/glances/default.nix17
-rw-r--r--pkgs/applications/terminal-emulators/foot/default.nix7
-rw-r--r--pkgs/applications/terminal-emulators/hyper/default.nix4
-rw-r--r--pkgs/applications/terminal-emulators/kitty/default.nix17
-rw-r--r--pkgs/applications/terminal-emulators/wezterm/default.nix10
-rw-r--r--pkgs/applications/version-management/dvc/default.nix29
-rw-r--r--pkgs/applications/version-management/fossil/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/gh/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/ghorg/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-branchless/default.nix15
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-cliff/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix10
-rw-r--r--pkgs/applications/version-management/github-desktop/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/data.json26
-rw-r--r--pkgs/applications/version-management/gitlab/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/Gemfile4
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock18
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/default.nix54
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/gemset.nix18
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-shell/default.nix8
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile43
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock172
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix148
-rwxr-xr-xpkgs/applications/version-management/gitlab/update.py35
-rw-r--r--pkgs/applications/version-management/gogs/default.nix4
-rw-r--r--pkgs/applications/version-management/jujutsu/default.nix6
-rw-r--r--pkgs/applications/video/ffmpeg-normalize/default.nix4
-rw-r--r--pkgs/applications/video/freetube/default.nix4
-rw-r--r--pkgs/applications/video/gpac/default.nix9
-rw-r--r--pkgs/applications/video/hypnotix/default.nix8
-rw-r--r--pkgs/applications/video/iina/default.nix4
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-gstreamer.nix25
-rw-r--r--pkgs/applications/video/obs-studio/wrapper.nix20
-rw-r--r--pkgs/applications/video/olive-editor/default.nix8
-rw-r--r--pkgs/applications/video/xplayer/default.nix8
-rw-r--r--pkgs/applications/virtualization/containerd/default.nix4
-rw-r--r--pkgs/applications/virtualization/cri-o/default.nix4
-rw-r--r--pkgs/applications/virtualization/crosvm/default.nix96
-rwxr-xr-xpkgs/applications/virtualization/crosvm/update.py30
-rw-r--r--pkgs/applications/virtualization/crosvm/upstream-info.json14
-rw-r--r--pkgs/applications/virtualization/docker/buildx.nix6
-rw-r--r--pkgs/applications/virtualization/lima/default.nix6
-rw-r--r--pkgs/applications/virtualization/nixpacks/default.nix6
-rw-r--r--pkgs/applications/virtualization/podman/default.nix4
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix14
-rw-r--r--pkgs/applications/virtualization/virt-manager/default.nix7
-rw-r--r--pkgs/applications/virtualization/virt-what/default.nix4
-rw-r--r--pkgs/applications/window-managers/fvwm/2.6.nix18
-rw-r--r--pkgs/applications/window-managers/fvwm/3.nix15
-rw-r--r--pkgs/applications/window-managers/gamescope/default.nix91
-rw-r--r--pkgs/applications/window-managers/gamescope/use-pkgconfig.patch11
-rw-r--r--pkgs/applications/window-managers/hackedbox/default.nix61
-rw-r--r--pkgs/applications/window-managers/phosh/default.nix16
-rw-r--r--pkgs/applications/window-managers/sommelier/default.nix35
-rwxr-xr-xpkgs/applications/window-managers/sommelier/update.py58
-rw-r--r--pkgs/applications/window-managers/xmonad/wrapper.nix2
-rw-r--r--pkgs/build-support/bintools-wrapper/default.nix10
-rw-r--r--pkgs/build-support/bintools-wrapper/ld-wrapper.sh5
-rw-r--r--pkgs/build-support/build-fhs-userenv-bubblewrap/default.nix2
-rw-r--r--pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix3
-rw-r--r--pkgs/build-support/cc-wrapper/default.nix12
-rw-r--r--pkgs/build-support/cc-wrapper/fortran-hook.sh2
-rw-r--r--pkgs/build-support/docker/examples.nix6
-rw-r--r--pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-build-hook.sh4
-rw-r--r--pkgs/build-support/go/module.nix (renamed from pkgs/development/go-modules/generic/default.nix)2
-rw-r--r--pkgs/build-support/go/package.nix (renamed from pkgs/development/go-packages/generic/default.nix)2
-rw-r--r--pkgs/build-support/kernel/make-initrd-ng-tool.nix11
-rw-r--r--pkgs/build-support/kernel/make-initrd-ng.nix12
-rw-r--r--pkgs/build-support/kernel/make-initrd-ng/Cargo.lock92
-rw-r--r--pkgs/build-support/kernel/make-initrd-ng/Cargo.toml1
-rw-r--r--pkgs/build-support/kernel/make-initrd-ng/src/main.rs97
-rwxr-xr-xpkgs/build-support/kernel/make-initrd-ng/update.sh4
-rw-r--r--pkgs/build-support/rust/build-rust-crate/build-crate.nix8
-rw-r--r--pkgs/build-support/rust/build-rust-crate/default.nix21
-rw-r--r--pkgs/build-support/setup-hooks/strip.sh42
-rw-r--r--pkgs/data/fonts/fixedsys-excelsior/default.nix13
-rw-r--r--pkgs/data/fonts/iosevka/comfy-private-build-plans.toml507
-rw-r--r--pkgs/data/fonts/iosevka/comfy.nix21
-rw-r--r--pkgs/data/fonts/iosevka/default.nix11
-rwxr-xr-xpkgs/data/fonts/iosevka/update-comfy.sh33
-rw-r--r--pkgs/data/fonts/victor-mono/default.nix4
-rw-r--r--pkgs/data/icons/kora-icon-theme/default.nix24
-rw-r--r--pkgs/data/icons/oranchelo-icon-theme/default.nix21
-rw-r--r--pkgs/data/icons/papirus-icon-theme/default.nix6
-rw-r--r--pkgs/data/misc/hackage/pin.json8
-rw-r--r--pkgs/data/misc/unihan-database/default.nix4
-rw-r--r--pkgs/data/misc/v2ray-domain-list-community/default.nix4
-rw-r--r--pkgs/data/misc/v2ray-geoip/default.nix6
-rw-r--r--pkgs/data/themes/arc-kde/default.nix4
-rw-r--r--pkgs/data/themes/catppuccin-gtk/default.nix36
-rw-r--r--pkgs/data/themes/catppuccin-gtk/grey-fix.patch12
-rw-r--r--pkgs/data/themes/omni-gtk-theme/default.nix34
-rw-r--r--pkgs/desktops/arcan/arcan/default.nix12
-rw-r--r--pkgs/desktops/arcan/durden/default.nix12
-rw-r--r--pkgs/desktops/arcan/pipeworld/default.nix8
-rw-r--r--pkgs/desktops/arcan/prio/default.nix8
-rw-r--r--pkgs/desktops/arcan/xarcan/default.nix12
-rw-r--r--pkgs/desktops/cinnamon/bulky/default.nix10
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-common/default.nix42
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-control-center/default.nix10
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-desktop/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-gsettings-overrides/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-menus/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix22
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-session/default.nix17
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix24
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-translations/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/cjs/default.nix8
-rw-r--r--pkgs/desktops/cinnamon/default.nix9
-rw-r--r--pkgs/desktops/cinnamon/mint-artwork/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/mint-themes/default.nix8
-rw-r--r--pkgs/desktops/cinnamon/mint-x-icons/default.nix6
-rw-r--r--pkgs/desktops/cinnamon/mint-y-icons/default.nix6
-rw-r--r--pkgs/desktops/cinnamon/muffin/default.nix122
-rw-r--r--pkgs/desktops/cinnamon/muffin/fix-paths.patch13
-rw-r--r--pkgs/desktops/cinnamon/nemo/default.nix12
-rw-r--r--pkgs/desktops/cinnamon/pix/default.nix8
-rw-r--r--pkgs/desktops/cinnamon/warpinator/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/xapp/default.nix (renamed from pkgs/desktops/cinnamon/xapps/default.nix)23
-rw-r--r--pkgs/desktops/cinnamon/xreader/default.nix9
-rw-r--r--pkgs/desktops/cinnamon/xviewer/default.nix35
-rw-r--r--pkgs/desktops/gnome/apps/accerciser/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/gnome-shell/default.nix1
-rw-r--r--pkgs/desktops/gnome/core/gnome-system-monitor/default.nix5
-rw-r--r--pkgs/desktops/gnome/core/gnome-system-monitor/fix-paths.patch13
-rw-r--r--pkgs/desktops/gnome/extensions/extensions.json72
-rw-r--r--pkgs/desktops/gnome/games/gnome-chess/default.nix6
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-terminal/default.nix7
-rw-r--r--pkgs/desktops/plasma-5/fetch.sh2
-rw-r--r--pkgs/desktops/plasma-5/srcs.nix424
-rw-r--r--pkgs/development/compilers/bupc/default.nix6
-rw-r--r--pkgs/development/compilers/closure/default.nix4
-rw-r--r--pkgs/development/compilers/crystal/default.nix11
-rw-r--r--pkgs/development/compilers/dale/default.nix2
-rw-r--r--pkgs/development/compilers/gcc-arm-embedded/11/default.nix54
-rw-r--r--pkgs/development/compilers/gcc/10/default.nix18
-rw-r--r--pkgs/development/compilers/gcc/11/default.nix18
-rw-r--r--pkgs/development/compilers/gcc/12/default.nix18
-rw-r--r--pkgs/development/compilers/gcc/4.8/default.nix18
-rw-r--r--pkgs/development/compilers/gcc/4.9/default.nix18
-rw-r--r--pkgs/development/compilers/gcc/6/default.nix18
-rw-r--r--pkgs/development/compilers/gcc/7/default.nix18
-rw-r--r--pkgs/development/compilers/gcc/8/default.nix18
-rw-r--r--pkgs/development/compilers/gcc/9/default.nix18
-rw-r--r--pkgs/development/compilers/gcc/builder.sh14
-rw-r--r--pkgs/development/compilers/gcc/common/configure-flags.nix28
-rw-r--r--pkgs/development/compilers/gcc/common/pre-configure.nix13
-rw-r--r--pkgs/development/compilers/gcc/common/strip-attributes.nix53
-rw-r--r--pkgs/development/compilers/ghc/9.2.4.nix (renamed from pkgs/development/compilers/ghc/9.2.3.nix)12
-rw-r--r--pkgs/development/compilers/ghc/9.4.1.nix6
-rw-r--r--pkgs/development/compilers/ghdl/default.nix4
-rw-r--r--pkgs/development/compilers/gnatboot/default.nix6
-rw-r--r--pkgs/development/compilers/go/1.17.nix23
-rw-r--r--pkgs/development/compilers/go/1.18.nix36
-rw-r--r--pkgs/development/compilers/go/1.19.nix280
-rw-r--r--pkgs/development/compilers/go/bootstrap116.nix (renamed from pkgs/development/compilers/go/bootstrap.nix)0
-rw-r--r--pkgs/development/compilers/go/bootstrap117.nix15
-rwxr-xr-xpkgs/development/compilers/go/print-hashes.sh17
-rw-r--r--pkgs/development/compilers/go/skip-cgo-tests-1.19.patch13
-rw-r--r--pkgs/development/compilers/hare/default.nix7
-rw-r--r--pkgs/development/compilers/hare/hare/config-template.mk (renamed from pkgs/development/compilers/hare/config-template.mk)0
-rw-r--r--pkgs/development/compilers/hare/hare/default.nix (renamed from pkgs/development/compilers/hare/hare.nix)16
-rw-r--r--pkgs/development/compilers/hare/hare/disable-failing-test-cases.patch (renamed from pkgs/development/compilers/hare/disable-failing-test-cases.patch)0
-rw-r--r--pkgs/development/compilers/hare/hare/setup-hook.sh (renamed from pkgs/development/compilers/hare/setup-hook.sh)2
-rw-r--r--pkgs/development/compilers/hare/harec/default.nix (renamed from pkgs/development/compilers/hare/harec.nix)13
-rw-r--r--pkgs/development/compilers/lingua-franca/default.nix4
-rw-r--r--pkgs/development/compilers/openjdk/17.nix1
-rw-r--r--pkgs/development/compilers/openjdk/fix-library-path-jdk17.patch60
-rw-r--r--pkgs/development/compilers/reason/default.nix7
-rw-r--r--pkgs/development/compilers/unison/default.nix6
-rw-r--r--pkgs/development/compilers/vala/default.nix4
-rw-r--r--pkgs/development/compilers/vyper/default.nix11
-rw-r--r--pkgs/development/compilers/xa/xa.nix4
-rw-r--r--pkgs/development/compilers/yosys/default.nix4
-rw-r--r--pkgs/development/compilers/zulu/8.nix2
-rw-r--r--pkgs/development/compilers/zulu/default.nix2
-rw-r--r--pkgs/development/coq-modules/smtcoq/cvc4.nix9
-rw-r--r--pkgs/development/coq-modules/smtcoq/default.nix6
-rw-r--r--pkgs/development/dotnet-modules/boogie-deps.nix150
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix49
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix12
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml307
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml28
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml44
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml257
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix6
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix2386
-rw-r--r--pkgs/development/haskell-modules/patches/xmonad_0_17_0-nix.patch2
-rw-r--r--pkgs/development/interpreters/bats/default.nix50
-rw-r--r--pkgs/development/interpreters/bats/libraries.nix70
-rw-r--r--pkgs/development/interpreters/kerf/default.nix92
-rw-r--r--pkgs/development/interpreters/lunatic/default.nix10
-rw-r--r--pkgs/development/interpreters/nickel/default.nix6
-rw-r--r--pkgs/development/interpreters/php/8.0.nix4
-rw-r--r--pkgs/development/interpreters/php/8.1.nix4
-rw-r--r--pkgs/development/interpreters/python/cpython/2.7/default.nix2
-rw-r--r--pkgs/development/interpreters/python/cpython/default.nix2
-rw-r--r--pkgs/development/interpreters/python/default.nix13
-rw-r--r--pkgs/development/interpreters/python/pypy/default.nix1
-rw-r--r--pkgs/development/interpreters/python/tests.nix12
-rw-r--r--pkgs/development/interpreters/racket/default.nix7
-rw-r--r--pkgs/development/interpreters/racket/force-remove-codesign-then-add.patch19
-rw-r--r--pkgs/development/interpreters/racket/minimal.nix2
-rw-r--r--pkgs/development/interpreters/spidermonkey/102.nix4
-rw-r--r--pkgs/development/interpreters/spidermonkey/78.nix139
-rw-r--r--pkgs/development/interpreters/spidermonkey/91.nix125
-rw-r--r--pkgs/development/interpreters/spidermonkey/allow-system-s-nspr-and-icu-on-bootstrapped-sysroot.patch40
-rw-r--r--pkgs/development/interpreters/spidermonkey/always-check-for-pkg-config.patch23
-rw-r--r--pkgs/development/interpreters/spidermonkey/common.nix199
-rw-r--r--pkgs/development/interpreters/spidermonkey/test.nix10
-rw-r--r--pkgs/development/interpreters/wasmtime/default.nix7
-rw-r--r--pkgs/development/interpreters/yabasic/default.nix4
-rw-r--r--pkgs/development/libraries/SDL2/default.nix2
-rw-r--r--pkgs/development/libraries/accountsservice/default.nix7
-rw-r--r--pkgs/development/libraries/arrow-cpp/default.nix38
-rw-r--r--pkgs/development/libraries/audio/libspecbleach/default.nix4
-rw-r--r--pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix4
-rw-r--r--pkgs/development/libraries/avro-c/default.nix4
-rw-r--r--pkgs/development/libraries/botan/2.0.nix15
-rw-r--r--pkgs/development/libraries/botan/generic.nix6
-rw-r--r--pkgs/development/libraries/c-ares/default.nix18
-rw-r--r--pkgs/development/libraries/cdo/default.nix20
-rw-r--r--pkgs/development/libraries/coin3d/default.nix37
-rw-r--r--pkgs/development/libraries/cpp-utilities/default.nix4
-rw-r--r--pkgs/development/libraries/crc32c/default.nix14
-rw-r--r--pkgs/development/libraries/cutelyst/default.nix41
-rw-r--r--pkgs/development/libraries/double-conversion/default.nix4
-rw-r--r--pkgs/development/libraries/elpa/default.nix6
-rw-r--r--pkgs/development/libraries/exiv2/default.nix6
-rw-r--r--pkgs/development/libraries/ffmpeg-full/default.nix6
-rw-r--r--pkgs/development/libraries/ffmpeg/5.nix6
-rw-r--r--pkgs/development/libraries/ffmpeg/ipfs-remove-default-gateway.patch37
-rw-r--r--pkgs/development/libraries/flatbuffers/default.nix22
-rw-r--r--pkgs/development/libraries/folly/default.nix4
-rw-r--r--pkgs/development/libraries/gdcm/default.nix4
-rw-r--r--pkgs/development/libraries/geocode-glib/default.nix2
-rw-r--r--pkgs/development/libraries/glibc/0001-Revert-Remove-all-usage-of-BASH-or-BASH-in-installed.patch50
-rw-r--r--pkgs/development/libraries/glibc/2.34-master.patch.gzbin331458 -> 0 bytes
-rw-r--r--pkgs/development/libraries/glibc/2.35-master.patch.gzbin0 -> 230755 bytes
-rw-r--r--pkgs/development/libraries/glibc/common.nix42
-rw-r--r--pkgs/development/libraries/gnome-desktop/default.nix12
-rw-r--r--pkgs/development/libraries/gnutls/default.nix2
-rw-r--r--pkgs/development/libraries/gobject-introspection/default.nix8
-rw-r--r--pkgs/development/libraries/gobject-introspection/giscanner-ignore-error-return-codes-from-ldd-wrapper.patch32
-rw-r--r--pkgs/development/libraries/gobject-introspection/wrapper.nix9
-rw-r--r--pkgs/development/libraries/gobject-introspection/wrappers/g-ir-compiler.sh2
-rw-r--r--pkgs/development/libraries/gobject-introspection/wrappers/g-ir-scanner-lddwrapper.sh4
-rw-r--r--pkgs/development/libraries/gobject-introspection/wrappers/g-ir-scanner.sh4
-rw-r--r--pkgs/development/libraries/grpc/default.nix2
-rw-r--r--pkgs/development/libraries/harfbuzz/default.nix4
-rw-r--r--pkgs/development/libraries/imgui/default.nix4
-rw-r--r--pkgs/development/libraries/imlib/default.nix28
-rw-r--r--pkgs/development/libraries/intel-media-sdk/default.nix4
-rw-r--r--pkgs/development/libraries/jellyfin-ffmpeg/default.nix8
-rw-r--r--pkgs/development/libraries/jose/default.nix2
-rw-r--r--pkgs/development/libraries/lame/default.nix2
-rw-r--r--pkgs/development/libraries/lib2geom/default.nix4
-rw-r--r--pkgs/development/libraries/libadwaita/default.nix33
-rw-r--r--pkgs/development/libraries/libcdada/default.nix4
-rw-r--r--pkgs/development/libraries/libdazzle/default.nix5
-rw-r--r--pkgs/development/libraries/libfabric/default.nix4
-rw-r--r--pkgs/development/libraries/libfilezilla/default.nix4
-rw-r--r--pkgs/development/libraries/libguestfs/default.nix97
-rw-r--r--pkgs/development/libraries/libgweather/default.nix2
-rw-r--r--pkgs/development/libraries/libinput/default.nix2
-rw-r--r--pkgs/development/libraries/libiptcdata/default.nix43
-rw-r--r--pkgs/development/libraries/libnbd/default.nix4
-rw-r--r--pkgs/development/libraries/libnfs/default.nix4
-rw-r--r--pkgs/development/libraries/libportal/default.nix11
-rw-r--r--pkgs/development/libraries/libproxy/default.nix12
-rw-r--r--pkgs/development/libraries/libpulsar/default.nix4
-rw-r--r--pkgs/development/libraries/libqrtr-glib/default.nix8
-rw-r--r--pkgs/development/libraries/librealsense/default.nix16
-rw-r--r--pkgs/development/libraries/libstrophe/default.nix4
-rw-r--r--pkgs/development/libraries/libva/default.nix4
-rw-r--r--pkgs/development/libraries/libvirt-glib/default.nix5
-rw-r--r--pkgs/development/libraries/libvirt/default.nix10
-rw-r--r--pkgs/development/libraries/libwacom/default.nix4
-rw-r--r--pkgs/development/libraries/libwebp/default.nix18
-rw-r--r--pkgs/development/libraries/libwhereami/default.nix2
-rw-r--r--pkgs/development/libraries/libwpe/default.nix4
-rw-r--r--pkgs/development/libraries/libwpe/fdo.nix4
-rw-r--r--pkgs/development/libraries/libxml2/default.nix4
-rw-r--r--pkgs/development/libraries/mbedtls/default.nix2
-rw-r--r--pkgs/development/libraries/miniz/default.nix23
-rw-r--r--pkgs/development/libraries/ncnn/default.nix4
-rw-r--r--pkgs/development/libraries/nettle/default.nix4
-rw-r--r--pkgs/development/libraries/nghttp3/default.nix4
-rw-r--r--pkgs/development/libraries/nspr/default.nix5
-rw-r--r--pkgs/development/libraries/nss/generic.nix7
-rw-r--r--pkgs/development/libraries/openal-soft/default.nix4
-rw-r--r--pkgs/development/libraries/opencv/4.x.nix5
-rw-r--r--pkgs/development/libraries/openldap/default.nix48
-rw-r--r--pkgs/development/libraries/openssl/default.nix37
-rw-r--r--pkgs/development/libraries/orcania/default.nix4
-rw-r--r--pkgs/development/libraries/pc-ble-driver/default.nix1
-rw-r--r--pkgs/development/libraries/physics/geant4/default.nix4
-rw-r--r--pkgs/development/libraries/physics/yoda/default.nix4
-rw-r--r--pkgs/development/libraries/pipewire/wireplumber.nix2
-rw-r--r--pkgs/development/libraries/poppler/default.nix4
-rw-r--r--pkgs/development/libraries/ptex/default.nix14
-rw-r--r--pkgs/development/libraries/qt-5/5.12/default.nix2
-rw-r--r--pkgs/development/libraries/qt-5/5.14/default.nix2
-rw-r--r--pkgs/development/libraries/qt-5/5.15/default.nix4
-rw-r--r--pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0014-aarch64-darwin.patch287
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtbase.nix7
-rw-r--r--pkgs/development/libraries/qtstyleplugin-kvantum/default.nix6
-rw-r--r--pkgs/development/libraries/qtutilities/default.nix4
-rw-r--r--pkgs/development/libraries/raft-canonical/default.nix8
-rw-r--r--pkgs/development/libraries/rapidfuzz-cpp/default.nix4
-rw-r--r--pkgs/development/libraries/rapidjson/default.nix4
-rw-r--r--pkgs/development/libraries/re2/default.nix4
-rw-r--r--pkgs/development/libraries/rocksdb/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/cudnn/extension.nix2
-rw-r--r--pkgs/development/libraries/science/math/faiss/default.nix123
-rw-r--r--pkgs/development/libraries/science/math/faiss/tests.nix30
-rw-r--r--pkgs/development/libraries/science/math/petsc/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/tensorrt/extension.nix63
-rw-r--r--pkgs/development/libraries/science/math/tensorrt/generic.nix90
-rw-r--r--pkgs/development/libraries/sentry-native/default.nix4
-rw-r--r--pkgs/development/libraries/simpleitk/default.nix4
-rw-r--r--pkgs/development/libraries/sqlite/default.nix4
-rw-r--r--pkgs/development/libraries/sqlite/tools.nix4
-rw-r--r--pkgs/development/libraries/tachyon/default.nix4
-rw-r--r--pkgs/development/libraries/tinyxml-2/default.nix2
-rw-r--r--pkgs/development/libraries/tkrzw/default.nix4
-rw-r--r--pkgs/development/libraries/tllist/default.nix11
-rw-r--r--pkgs/development/libraries/tracker/default.nix35
-rw-r--r--pkgs/development/libraries/udns/default.nix16
-rw-r--r--pkgs/development/libraries/uthenticode/default.nix4
-rw-r--r--pkgs/development/libraries/webkitgtk/default.nix4
-rw-r--r--pkgs/development/libraries/xdg-desktop-portal/default.nix4
-rw-r--r--pkgs/development/libraries/xmlsec/default.nix4
-rw-r--r--pkgs/development/libraries/yder/default.nix4
-rw-r--r--pkgs/development/libraries/yder/fix-pkgconfig.patch14
-rw-r--r--pkgs/development/libraries/zchunk/default.nix4
-rw-r--r--pkgs/development/libraries/zxcvbn-c/default.nix4
-rw-r--r--pkgs/development/lua-modules/generated-packages.nix124
-rw-r--r--pkgs/development/lua-modules/nfd/default.nix41
-rw-r--r--pkgs/development/lua-modules/nfd/zenity.patch47
-rw-r--r--pkgs/development/nim-packages/flatty/default.nix4
-rw-r--r--pkgs/development/node-packages/main-programs.nix8
-rw-r--r--pkgs/development/node-packages/node-packages.json8
-rw-r--r--pkgs/development/node-packages/node-packages.nix17441
-rw-r--r--pkgs/development/node-packages/overrides.nix2
-rw-r--r--pkgs/development/ocaml-modules/faraday/async.nix10
-rw-r--r--pkgs/development/ocaml-modules/num/default.nix7
-rw-r--r--pkgs/development/ocaml-modules/tls/async.nix3
-rw-r--r--pkgs/development/php-packages/ast/default.nix4
-rw-r--r--pkgs/development/python-modules/Mako/default.nix11
-rw-r--r--pkgs/development/python-modules/Wand/default.nix4
-rw-r--r--pkgs/development/python-modules/aardwolf/default.nix57
-rw-r--r--pkgs/development/python-modules/ailment/default.nix4
-rw-r--r--pkgs/development/python-modules/aioairzone/default.nix4
-rw-r--r--pkgs/development/python-modules/aioaladdinconnect/default.nix4
-rw-r--r--pkgs/development/python-modules/aiobiketrax/default.nix53
-rw-r--r--pkgs/development/python-modules/aioblescan/default.nix36
-rw-r--r--pkgs/development/python-modules/aioecowitt/default.nix46
-rw-r--r--pkgs/development/python-modules/aiogithubapi/default.nix2
-rw-r--r--pkgs/development/python-modules/aiohomekit/default.nix8
-rw-r--r--pkgs/development/python-modules/aiohttp-jinja2/default.nix43
-rw-r--r--pkgs/development/python-modules/aiohttp-retry/default.nix8
-rw-r--r--pkgs/development/python-modules/aiolifx/default.nix4
-rw-r--r--pkgs/development/python-modules/aiomysensors/default.nix64
-rw-r--r--pkgs/development/python-modules/aioopenexchangerates/default.nix57
-rw-r--r--pkgs/development/python-modules/aiortm/default.nix55
-rw-r--r--pkgs/development/python-modules/aioshelly/default.nix4
-rw-r--r--pkgs/development/python-modules/angr/default.nix4
-rw-r--r--pkgs/development/python-modules/annoy/default.nix16
-rw-r--r--pkgs/development/python-modules/ansible/default.nix4
-rw-r--r--pkgs/development/python-modules/anybadge/default.nix4
-rw-r--r--pkgs/development/python-modules/apache-beam/default.nix6
-rw-r--r--pkgs/development/python-modules/apprise/default.nix4
-rw-r--r--pkgs/development/python-modules/aqipy-atmotech/default.nix41
-rw-r--r--pkgs/development/python-modules/arc4/default.nix36
-rw-r--r--pkgs/development/python-modules/archinfo/default.nix4
-rw-r--r--pkgs/development/python-modules/asdf-standard/default.nix4
-rw-r--r--pkgs/development/python-modules/asyncssh/default.nix4
-rw-r--r--pkgs/development/python-modules/asyncwhois/default.nix4
-rw-r--r--pkgs/development/python-modules/auth0-python/default.nix10
-rw-r--r--pkgs/development/python-modules/automat/default.nix13
-rw-r--r--pkgs/development/python-modules/azure-mgmt-keyvault/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-monitor/default.nix6
-rw-r--r--pkgs/development/python-modules/azure-mgmt-netapp/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-network/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-servicebus/default.nix14
-rw-r--r--pkgs/development/python-modules/azure-mgmt-storage/default.nix6
-rw-r--r--pkgs/development/python-modules/bech32/default.nix22
-rw-r--r--pkgs/development/python-modules/bellows/default.nix4
-rw-r--r--pkgs/development/python-modules/bitlist/default.nix10
-rw-r--r--pkgs/development/python-modules/bleak-retry-connector/default.nix13
-rw-r--r--pkgs/development/python-modules/bleak/default.nix4
-rw-r--r--pkgs/development/python-modules/blinkpy/default.nix4
-rw-r--r--pkgs/development/python-modules/bluetooth-adapters/default.nix65
-rw-r--r--pkgs/development/python-modules/bluetooth-sensor-state-data/default.nix53
-rw-r--r--pkgs/development/python-modules/boto3/default.nix4
-rw-r--r--pkgs/development/python-modules/botocore/default.nix4
-rw-r--r--pkgs/development/python-modules/callee/default.nix36
-rw-r--r--pkgs/development/python-modules/casbin/default.nix16
-rw-r--r--pkgs/development/python-modules/catalogue/default.nix11
-rw-r--r--pkgs/development/python-modules/cattrs/default.nix3
-rw-r--r--pkgs/development/python-modules/censys/default.nix4
-rw-r--r--pkgs/development/python-modules/cinemagoer/default.nix34
-rw-r--r--pkgs/development/python-modules/claripy/default.nix4
-rw-r--r--pkgs/development/python-modules/cle/default.nix4
-rw-r--r--pkgs/development/python-modules/clustershell/default.nix55
-rw-r--r--pkgs/development/python-modules/cock/default.nix4
-rw-r--r--pkgs/development/python-modules/colormath/default.nix12
-rw-r--r--pkgs/development/python-modules/colorzero/default.nix53
-rw-r--r--pkgs/development/python-modules/configclass/default.nix29
-rw-r--r--pkgs/development/python-modules/confluent-kafka/default.nix4
-rw-r--r--pkgs/development/python-modules/container-inspector/default.nix4
-rw-r--r--pkgs/development/python-modules/cryptolyzer/default.nix41
-rw-r--r--pkgs/development/python-modules/cryptoparser/default.nix34
-rw-r--r--pkgs/development/python-modules/cupy/default.nix3
-rw-r--r--pkgs/development/python-modules/cyclonedx-python-lib/default.nix4
-rw-r--r--pkgs/development/python-modules/dask-gateway/default.nix15
-rw-r--r--pkgs/development/python-modules/databases/default.nix4
-rw-r--r--pkgs/development/python-modules/datashader/default.nix4
-rw-r--r--pkgs/development/python-modules/db-dtypes/default.nix4
-rw-r--r--pkgs/development/python-modules/deap/default.nix4
-rw-r--r--pkgs/development/python-modules/debuglater/default.nix52
-rw-r--r--pkgs/development/python-modules/deepwave/default.nix4
-rw-r--r--pkgs/development/python-modules/deezer-python/default.nix4
-rw-r--r--pkgs/development/python-modules/defcon/default.nix34
-rw-r--r--pkgs/development/python-modules/diskcache/default.nix2
-rw-r--r--pkgs/development/python-modules/django-compressor/default.nix55
-rw-r--r--pkgs/development/python-modules/django-js-asset/default.nix6
-rw-r--r--pkgs/development/python-modules/django-mailman3/default.nix4
-rw-r--r--pkgs/development/python-modules/django-q/default.nix72
-rw-r--r--pkgs/development/python-modules/django-q/pep-621.patch32
-rw-r--r--pkgs/development/python-modules/django-reversion/default.nix4
-rw-r--r--pkgs/development/python-modules/django-storages/default.nix30
-rw-r--r--pkgs/development/python-modules/django/4.nix18
-rw-r--r--pkgs/development/python-modules/django_compressor/default.nix29
-rw-r--r--pkgs/development/python-modules/doit-py/default.nix48
-rw-r--r--pkgs/development/python-modules/doit/default.nix32
-rw-r--r--pkgs/development/python-modules/dparse/default.nix4
-rw-r--r--pkgs/development/python-modules/dvc-data/default.nix4
-rw-r--r--pkgs/development/python-modules/dvc-objects/default.nix4
-rw-r--r--pkgs/development/python-modules/dvc-render/default.nix6
-rw-r--r--pkgs/development/python-modules/dvc-task/default.nix60
-rw-r--r--pkgs/development/python-modules/dvclive/default.nix8
-rw-r--r--pkgs/development/python-modules/elastic-apm/default.nix4
-rw-r--r--pkgs/development/python-modules/elkm1-lib/default.nix4
-rw-r--r--pkgs/development/python-modules/etils/default.nix89
-rw-r--r--pkgs/development/python-modules/extractcode/default.nix20
-rw-r--r--pkgs/development/python-modules/fakeredis/default.nix4
-rw-r--r--pkgs/development/python-modules/fastcore/default.nix4
-rw-r--r--pkgs/development/python-modules/fe25519/default.nix12
-rw-r--r--pkgs/development/python-modules/ffmpeg-progress-yield/default.nix4
-rw-r--r--pkgs/development/python-modules/findpython/default.nix4
-rw-r--r--pkgs/development/python-modules/fountains/default.nix6
-rw-r--r--pkgs/development/python-modules/galois/default.nix51
-rw-r--r--pkgs/development/python-modules/gcovr/default.nix4
-rw-r--r--pkgs/development/python-modules/ge25519/default.nix13
-rw-r--r--pkgs/development/python-modules/geventhttpclient/default.nix6
-rw-r--r--pkgs/development/python-modules/glean-sdk/default.nix11
-rw-r--r--pkgs/development/python-modules/glyphslib/default.nix23
-rw-r--r--pkgs/development/python-modules/goodwe/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-asset/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-bigquery/default.nix3
-rw-r--r--pkgs/development/python-modules/google-cloud-bigtable/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-container/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-monitoring/default.nix6
-rw-r--r--pkgs/development/python-modules/google-cloud-pubsub/default.nix6
-rw-r--r--pkgs/development/python-modules/google-cloud-secret-manager/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-tasks/default.nix23
-rw-r--r--pkgs/development/python-modules/google-cloud-vision/default.nix6
-rw-r--r--pkgs/development/python-modules/govee-ble/default.nix55
-rw-r--r--pkgs/development/python-modules/gpiozero/default.nix54
-rw-r--r--pkgs/development/python-modules/greeclimate/default.nix4
-rw-r--r--pkgs/development/python-modules/h5netcdf/default.nix4
-rw-r--r--pkgs/development/python-modules/hahomematic/default.nix4
-rw-r--r--pkgs/development/python-modules/home-assistant-bluetooth/default.nix51
-rw-r--r--pkgs/development/python-modules/hstspreload/default.nix4
-rw-r--r--pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix4
-rw-r--r--pkgs/development/python-modules/idasen/default.nix4
-rw-r--r--pkgs/development/python-modules/identify/default.nix4
-rw-r--r--pkgs/development/python-modules/imantics/default.nix4
-rw-r--r--pkgs/development/python-modules/imdbpy/default.nix34
-rw-r--r--pkgs/development/python-modules/importmagic/default.nix6
-rw-r--r--pkgs/development/python-modules/inkbird-ble/default.nix55
-rw-r--r--pkgs/development/python-modules/itemadapter/default.nix4
-rw-r--r--pkgs/development/python-modules/jarowinkler/default.nix4
-rw-r--r--pkgs/development/python-modules/jax/default.nix13
-rw-r--r--pkgs/development/python-modules/jaxlib/bin.nix2
-rw-r--r--pkgs/development/python-modules/jsbeautifier/default.nix4
-rw-r--r--pkgs/development/python-modules/json-stream/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyter-repo2docker/default.nix2
-rw-r--r--pkgs/development/python-modules/justnimbus/default.nix45
-rw-r--r--pkgs/development/python-modules/kajiki/default.nix12
-rw-r--r--pkgs/development/python-modules/karton-asciimagic/default.nix4
-rw-r--r--pkgs/development/python-modules/karton-autoit-ripper/default.nix4
-rw-r--r--pkgs/development/python-modules/karton-classifier/default.nix19
-rw-r--r--pkgs/development/python-modules/karton-config-extractor/default.nix4
-rw-r--r--pkgs/development/python-modules/karton-core/default.nix17
-rw-r--r--pkgs/development/python-modules/karton-dashboard/default.nix4
-rw-r--r--pkgs/development/python-modules/karton-mwdb-reporter/default.nix4
-rw-r--r--pkgs/development/python-modules/karton-yaramatcher/default.nix4
-rw-r--r--pkgs/development/python-modules/levenshtein/default.nix5
-rw-r--r--pkgs/development/python-modules/libagent/default.nix41
-rw-r--r--pkgs/development/python-modules/lingua/default.nix35
-rw-r--r--pkgs/development/python-modules/mailchecker/default.nix4
-rw-r--r--pkgs/development/python-modules/mariadb/default.nix4
-rw-r--r--pkgs/development/python-modules/mcstatus/default.nix4
-rw-r--r--pkgs/development/python-modules/mediapy/default.nix4
-rw-r--r--pkgs/development/python-modules/mergedict/default.nix26
-rw-r--r--pkgs/development/python-modules/meteoalertapi/default.nix4
-rw-r--r--pkgs/development/python-modules/meteocalc/default.nix36
-rw-r--r--pkgs/development/python-modules/mistune/common.nix12
-rw-r--r--pkgs/development/python-modules/mistune/default.nix3
-rw-r--r--pkgs/development/python-modules/mitmproxy/default.nix2
-rw-r--r--pkgs/development/python-modules/mlflow/default.nix4
-rw-r--r--pkgs/development/python-modules/moat-ble/default.nix55
-rw-r--r--pkgs/development/python-modules/mockito/default.nix4
-rw-r--r--pkgs/development/python-modules/motionblinds/default.nix4
-rw-r--r--pkgs/development/python-modules/mutagen/default.nix4
-rw-r--r--pkgs/development/python-modules/myst-parser/default.nix7
-rw-r--r--pkgs/development/python-modules/nclib/default.nix4
-rw-r--r--pkgs/development/python-modules/netutils/default.nix16
-rw-r--r--pkgs/development/python-modules/nextdns/default.nix49
-rw-r--r--pkgs/development/python-modules/nocasedict/default.nix4
-rw-r--r--pkgs/development/python-modules/nocaselist/default.nix4
-rw-r--r--pkgs/development/python-modules/num2words/default.nix4
-rw-r--r--pkgs/development/python-modules/ocrmypdf/default.nix4
-rw-r--r--pkgs/development/python-modules/ocrmypdf/paths.patch42
-rw-r--r--pkgs/development/python-modules/omegaconf/default.nix31
-rw-r--r--pkgs/development/python-modules/openai/default.nix4
-rw-r--r--pkgs/development/python-modules/oslo-concurrency/default.nix4
-rw-r--r--pkgs/development/python-modules/packageurl-python/default.nix4
-rw-r--r--pkgs/development/python-modules/parts/default.nix4
-rw-r--r--pkgs/development/python-modules/peaqevcore/default.nix4
-rw-r--r--pkgs/development/python-modules/pescea/default.nix4
-rw-r--r--pkgs/development/python-modules/pex/default.nix4
-rw-r--r--pkgs/development/python-modules/pgcli/default.nix8
-rw-r--r--pkgs/development/python-modules/pglast/default.nix4
-rw-r--r--pkgs/development/python-modules/pikepdf/default.nix4
-rw-r--r--pkgs/development/python-modules/pipx/default.nix12
-rw-r--r--pkgs/development/python-modules/plaid-python/default.nix4
-rw-r--r--pkgs/development/python-modules/plexapi/default.nix4
-rw-r--r--pkgs/development/python-modules/plugwise/default.nix4
-rw-r--r--pkgs/development/python-modules/prompt-toolkit/default.nix2
-rw-r--r--pkgs/development/python-modules/pubnub/default.nix4
-rw-r--r--pkgs/development/python-modules/py-tree-sitter/default.nix25
-rw-r--r--pkgs/development/python-modules/pyarr/default.nix30
-rw-r--r--pkgs/development/python-modules/pyarrow/default.nix8
-rw-r--r--pkgs/development/python-modules/pyatv/default.nix4
-rw-r--r--pkgs/development/python-modules/pycep-parser/default.nix4
-rw-r--r--pkgs/development/python-modules/pydal/default.nix4
-rw-r--r--pkgs/development/python-modules/pydash/default.nix4
-rw-r--r--pkgs/development/python-modules/pydeconz/default.nix4
-rw-r--r--pkgs/development/python-modules/pydevd/default.nix57
-rw-r--r--pkgs/development/python-modules/pygls/default.nix17
-rw-r--r--pkgs/development/python-modules/pygobject/3.nix4
-rw-r--r--pkgs/development/python-modules/pyipma/default.nix42
-rw-r--r--pkgs/development/python-modules/pykostalpiko/default.nix42
-rw-r--r--pkgs/development/python-modules/pylibmc/default.nix34
-rw-r--r--pkgs/development/python-modules/pymicrobot/default.nix40
-rw-r--r--pkgs/development/python-modules/pyotgw/default.nix4
-rw-r--r--pkgs/development/python-modules/pyoverkiz/default.nix9
-rw-r--r--pkgs/development/python-modules/pyprosegur/default.nix4
-rw-r--r--pkgs/development/python-modules/pyquil/default.nix4
-rw-r--r--pkgs/development/python-modules/pyrisco/default.nix4
-rw-r--r--pkgs/development/python-modules/pyroute2/default.nix4
-rw-r--r--pkgs/development/python-modules/pysigma-backend-elasticsearch/default.nix53
-rw-r--r--pkgs/development/python-modules/pysigma-backend-insightidr/default.nix4
-rw-r--r--pkgs/development/python-modules/pysigma-backend-opensearch/default.nix55
-rw-r--r--pkgs/development/python-modules/pysigma-backend-qradar/default.nix49
-rw-r--r--pkgs/development/python-modules/pysigma-backend-splunk/default.nix4
-rw-r--r--pkgs/development/python-modules/pysigma-pipeline-crowdstrike/default.nix4
-rw-r--r--pkgs/development/python-modules/pysigma-pipeline-sysmon/default.nix4
-rw-r--r--pkgs/development/python-modules/pysigma-pipeline-windows/default.nix9
-rw-r--r--pkgs/development/python-modules/pysigma/default.nix4
-rw-r--r--pkgs/development/python-modules/pyskyqremote/default.nix4
-rw-r--r--pkgs/development/python-modules/pyswitchbot/default.nix4
-rw-r--r--pkgs/development/python-modules/pyte/default.nix25
-rw-r--r--pkgs/development/python-modules/pytest-mpl/default.nix4
-rw-r--r--pkgs/development/python-modules/python-benedict/default.nix5
-rw-r--r--pkgs/development/python-modules/python-efl/default.nix2
-rw-r--r--pkgs/development/python-modules/python-engineio/default.nix4
-rw-r--r--pkgs/development/python-modules/python-flirt/Cargo.lock1465
-rw-r--r--pkgs/development/python-modules/python-flirt/default.nix46
-rw-r--r--pkgs/development/python-modules/python-gvm/default.nix4
-rw-r--r--pkgs/development/python-modules/python-heatclient/default.nix33
-rw-r--r--pkgs/development/python-modules/python-language-server/default.nix93
-rw-r--r--pkgs/development/python-modules/python-lsp-server/default.nix9
-rw-r--r--pkgs/development/python-modules/python-miio/default.nix6
-rw-r--r--pkgs/development/python-modules/python-socketio/default.nix4
-rw-r--r--pkgs/development/python-modules/python-telegram/default.nix52
-rw-r--r--pkgs/development/python-modules/pytibber/default.nix4
-rw-r--r--pkgs/development/python-modules/pytorch-metric-learning/default.nix20
-rw-r--r--pkgs/development/python-modules/pytraccar/default.nix21
-rw-r--r--pkgs/development/python-modules/pyunifiprotect/default.nix6
-rw-r--r--pkgs/development/python-modules/pyupgrade/default.nix4
-rw-r--r--pkgs/development/python-modules/pyvex/default.nix4
-rw-r--r--pkgs/development/python-modules/pyvips/default.nix6
-rw-r--r--pkgs/development/python-modules/qingping-ble/default.nix53
-rw-r--r--pkgs/development/python-modules/rapidfuzz/default.nix4
-rw-r--r--pkgs/development/python-modules/rcssmin/default.nix4
-rw-r--r--pkgs/development/python-modules/rdkit/default.nix4
-rw-r--r--pkgs/development/python-modules/regenmaschine/default.nix4
-rw-r--r--pkgs/development/python-modules/rjsmin/default.nix4
-rw-r--r--pkgs/development/python-modules/rstcheck-core/default.nix3
-rw-r--r--pkgs/development/python-modules/s3-credentials/default.nix4
-rw-r--r--pkgs/development/python-modules/sagemaker/default.nix4
-rw-r--r--pkgs/development/python-modules/sensor-state-data/default.nix48
-rw-r--r--pkgs/development/python-modules/sensorpush-ble/default.nix55
-rw-r--r--pkgs/development/python-modules/setuptools-declarative-requirements/default.nix4
-rw-r--r--pkgs/development/python-modules/shamir-mnemonic/default.nix2
-rw-r--r--pkgs/development/python-modules/simplisafe-python/default.nix4
-rw-r--r--pkgs/development/python-modules/sip/default.nix9
-rw-r--r--pkgs/development/python-modules/sphinx-fortran/default.nix44
-rw-r--r--pkgs/development/python-modules/sphinx-rtd-theme/default.nix (renamed from pkgs/development/python-modules/sphinx_rtd_theme/default.nix)5
-rw-r--r--pkgs/development/python-modules/sqlmap/default.nix4
-rw-r--r--pkgs/development/python-modules/ssh-mitm/default.nix4
-rw-r--r--pkgs/development/python-modules/streamz/default.nix22
-rw-r--r--pkgs/development/python-modules/stripe/default.nix4
-rw-r--r--pkgs/development/python-modules/sunpy/default.nix4
-rw-r--r--pkgs/development/python-modules/svglib/default.nix4
-rw-r--r--pkgs/development/python-modules/tabulate/default.nix2
-rw-r--r--pkgs/development/python-modules/tensorflow/default.nix15
-rw-r--r--pkgs/development/python-modules/tensorrt/default.nix52
-rw-r--r--pkgs/development/python-modules/tesla-wall-connector/default.nix8
-rw-r--r--pkgs/development/python-modules/teslajsonpy/default.nix4
-rw-r--r--pkgs/development/python-modules/tomlkit/default.nix20
-rw-r--r--pkgs/development/python-modules/tpm2-pytss/default.nix11
-rw-r--r--pkgs/development/python-modules/trezor/default.nix2
-rw-r--r--pkgs/development/python-modules/trimesh/default.nix4
-rw-r--r--pkgs/development/python-modules/tubeup/default.nix4
-rw-r--r--pkgs/development/python-modules/typer/default.nix3
-rw-r--r--pkgs/development/python-modules/types-redis/default.nix4
-rw-r--r--pkgs/development/python-modules/types-requests/default.nix4
-rw-r--r--pkgs/development/python-modules/types-setuptools/default.nix4
-rw-r--r--pkgs/development/python-modules/types-urllib3/default.nix4
-rw-r--r--pkgs/development/python-modules/validobj/default.nix4
-rw-r--r--pkgs/development/python-modules/viv-utils/default.nix39
-rw-r--r--pkgs/development/python-modules/volvooncall/default.nix4
-rw-r--r--pkgs/development/python-modules/weconnect-mqtt/default.nix4
-rw-r--r--pkgs/development/python-modules/weconnect/default.nix4
-rw-r--r--pkgs/development/python-modules/whatthepatch/default.nix30
-rw-r--r--pkgs/development/python-modules/whodap/default.nix4
-rw-r--r--pkgs/development/python-modules/xapp/default.nix8
-rw-r--r--pkgs/development/python-modules/xiaomi-ble/default.nix59
-rw-r--r--pkgs/development/python-modules/xknx/default.nix4
-rw-r--r--pkgs/development/python-modules/xml2rfc/default.nix4
-rw-r--r--pkgs/development/python-modules/xsdata/default.nix4
-rw-r--r--pkgs/development/python-modules/yalexs-ble/default.nix59
-rw-r--r--pkgs/development/python-modules/yalexs/default.nix4
-rw-r--r--pkgs/development/python-modules/yappi/default.nix4
-rw-r--r--pkgs/development/python-modules/yara-python/default.nix4
-rw-r--r--pkgs/development/python-modules/zadnegoale/default.nix51
-rw-r--r--pkgs/development/python-modules/zeroc-ice/default.nix4
-rw-r--r--pkgs/development/python-modules/zeroconf/default.nix12
-rw-r--r--pkgs/development/python-modules/zha-quirks/default.nix4
-rw-r--r--pkgs/development/python-modules/zigpy-zigate/default.nix8
-rw-r--r--pkgs/development/python-modules/zigpy/default.nix4
-rw-r--r--pkgs/development/quickemu/default.nix4
-rw-r--r--pkgs/development/ruby-modules/bundled-common/default.nix3
-rw-r--r--pkgs/development/ruby-modules/bundler/default.nix4
-rw-r--r--pkgs/development/tools/allure/default.nix4
-rw-r--r--pkgs/development/tools/ameba/default.nix6
-rw-r--r--pkgs/development/tools/analysis/pmd/default.nix24
-rw-r--r--pkgs/development/tools/analysis/randoop/default.nix4
-rw-r--r--pkgs/development/tools/analysis/tflint/default.nix4
-rw-r--r--pkgs/development/tools/avro-tools/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/bmake/default.nix20
-rw-r--r--pkgs/development/tools/build-managers/qbs/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/sbt/default.nix9
-rw-r--r--pkgs/development/tools/build-managers/scala-cli/sources.json6
-rw-r--r--pkgs/development/tools/buildah/default.nix4
-rw-r--r--pkgs/development/tools/checkmate/default.nix6
-rw-r--r--pkgs/development/tools/clj-kondo/default.nix4
-rw-r--r--pkgs/development/tools/cloud-nuke/default.nix6
-rw-r--r--pkgs/development/tools/cmake-language-server/disable-test-timeouts.patch13
-rw-r--r--pkgs/development/tools/continuous-integration/cirrus-cli/default.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/dagger/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/github-runner/default.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/github-runner/deps.nix2
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix7
-rw-r--r--pkgs/development/tools/continuous-integration/woodpecker/cli.nix12
-rw-r--r--pkgs/development/tools/cpm/default.nix4
-rw-r--r--pkgs/development/tools/cuelsp/default.nix28
-rw-r--r--pkgs/development/tools/database/prisma-engines/default.nix6
-rw-r--r--pkgs/development/tools/database/squirrel-sql/default.nix4
-rw-r--r--pkgs/development/tools/database/trino-cli/default.nix4
-rw-r--r--pkgs/development/tools/ddosify/default.nix8
-rw-r--r--pkgs/development/tools/dyff/default.nix6
-rw-r--r--pkgs/development/tools/earthly/default.nix6
-rw-r--r--pkgs/development/tools/ec2-metadata-mock/default.nix4
-rw-r--r--pkgs/development/tools/electron/default.nix11
-rw-r--r--pkgs/development/tools/electron/generic.nix7
-rw-r--r--pkgs/development/tools/esbuild/default.nix4
-rw-r--r--pkgs/development/tools/faas-cli/default.nix4
-rw-r--r--pkgs/development/tools/flyway/default.nix4
-rw-r--r--pkgs/development/tools/garble/default.nix (renamed from pkgs/build-support/go/garble.nix)6
-rw-r--r--pkgs/development/tools/git-ftp/default.nix78
-rw-r--r--pkgs/development/tools/go-swag/default.nix6
-rw-r--r--pkgs/development/tools/go-task/default.nix6
-rw-r--r--pkgs/development/tools/golangci-lint/default.nix8
-rw-r--r--pkgs/development/tools/gomplate/default.nix11
-rw-r--r--pkgs/development/tools/gopls/default.nix6
-rw-r--r--pkgs/development/tools/grpc-gateway/default.nix6
-rw-r--r--pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix2
-rw-r--r--pkgs/development/tools/hcloud/default.nix6
-rw-r--r--pkgs/development/tools/java/visualvm/default.nix4
-rw-r--r--pkgs/development/tools/jd-diff-patch/default.nix4
-rw-r--r--pkgs/development/tools/jql/default.nix6
-rw-r--r--pkgs/development/tools/just/default.nix6
-rw-r--r--pkgs/development/tools/k6/default.nix16
-rw-r--r--pkgs/development/tools/kdash/default.nix6
-rw-r--r--pkgs/development/tools/kubectx/bump-golang-x-sys.patch25
-rw-r--r--pkgs/development/tools/kubectx/default.nix7
-rw-r--r--pkgs/development/tools/kubepug/default.nix6
-rw-r--r--pkgs/development/tools/kubie/default.nix6
-rw-r--r--pkgs/development/tools/lazygit/default.nix2
-rw-r--r--pkgs/development/tools/lurk/default.nix23
-rw-r--r--pkgs/development/tools/millet/default.nix6
-rw-r--r--pkgs/development/tools/misc/act/default.nix6
-rw-r--r--pkgs/development/tools/misc/cmake-language-server/default.nix (renamed from pkgs/development/tools/cmake-language-server/default.nix)29
-rw-r--r--pkgs/development/tools/misc/cmake-language-server/disable-test-timeouts.patch13
-rw-r--r--pkgs/development/tools/misc/editorconfig-core-c/default.nix29
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix1
-rw-r--r--pkgs/development/tools/misc/grpc-client-cli/default.nix4
-rw-r--r--pkgs/development/tools/misc/nix-bisect/default.nix5
-rw-r--r--pkgs/development/tools/misc/prelink/default.nix10
-rw-r--r--pkgs/development/tools/misc/saleae-logic-2/default.nix4
-rw-r--r--pkgs/development/tools/misc/seer/default.nix28
-rw-r--r--pkgs/development/tools/misc/svls/default.nix6
-rw-r--r--pkgs/development/tools/misc/terracognita/default.nix6
-rw-r--r--pkgs/development/tools/misc/texlab/default.nix34
-rw-r--r--pkgs/development/tools/mold/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/opam/default.nix30
-rwxr-xr-xpkgs/development/tools/ocaml/opam/opam.nix.pl6
-rw-r--r--pkgs/development/tools/parsing/ragel/default.nix6
-rw-r--r--pkgs/development/tools/pgformatter/default.nix4
-rw-r--r--pkgs/development/tools/pipenv/default.nix4
-rw-r--r--pkgs/development/tools/railway/default.nix4
-rw-r--r--pkgs/development/tools/rain/default.nix38
-rw-r--r--pkgs/development/tools/react-native-debugger/default.nix4
-rw-r--r--pkgs/development/tools/refinery-cli/default.nix25
-rw-r--r--pkgs/development/tools/resolve-march-native/default.nix30
-rw-r--r--pkgs/development/tools/revive/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-deny/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-expand/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-geiger/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-llvm-lines/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-make/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-modules/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-nextest/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-pgx/default.nix25
-rw-r--r--pkgs/development/tools/rust/cargo-tally/default.nix6
-rw-r--r--pkgs/development/tools/rust/rust-analyzer/default.nix12
-rw-r--r--pkgs/development/tools/rust/rust-analyzer/ignore-git-and-rustfmt-tests.patch18
-rw-r--r--pkgs/development/tools/rust/rust-analyzer/ignore-rustfmt-test.patch10
-rw-r--r--pkgs/development/tools/rust/rustup/0001-dynamically-patchelf-binaries.patch10
-rw-r--r--pkgs/development/tools/rust/sqlx-cli/default.nix6
-rw-r--r--pkgs/development/tools/rust/svd2rust/default.nix6
-rw-r--r--pkgs/development/tools/sd-local/default.nix4
-rw-r--r--pkgs/development/tools/skopeo/default.nix4
-rw-r--r--pkgs/development/tools/tabnine/default.nix11
-rwxr-xr-xpkgs/development/tools/tabnine/fetch-latest.sh29
-rw-r--r--pkgs/development/tools/trunk/default.nix6
-rw-r--r--pkgs/development/tools/twiggy/default.nix22
-rw-r--r--pkgs/development/tools/vgo2nix/default.nix6
-rw-r--r--pkgs/development/tools/wabt/default.nix4
-rw-r--r--pkgs/development/tools/wasmedge/default.nix42
-rw-r--r--pkgs/development/tools/ytt/default.nix8
-rw-r--r--pkgs/development/web/flyctl/default.nix6
-rw-r--r--pkgs/development/web/grails/default.nix4
-rw-r--r--pkgs/development/web/kore/default.nix4
-rw-r--r--pkgs/development/web/postman/darwin.nix4
-rw-r--r--pkgs/development/web/postman/default.nix2
-rw-r--r--pkgs/development/web/postman/linux.nix2
-rw-r--r--pkgs/games/0ad/game.nix11
-rw-r--r--pkgs/games/bzflag/default.nix2
-rw-r--r--pkgs/games/factorio/versions.json16
-rw-r--r--pkgs/games/fheroes2/default.nix4
-rw-r--r--pkgs/games/freeciv/default.nix4
-rw-r--r--pkgs/games/gnubg/default.nix4
-rw-r--r--pkgs/games/grapejuice/default.nix2
-rw-r--r--pkgs/games/jumpy/default.nix (renamed from pkgs/games/fishfight/default.nix)10
-rw-r--r--pkgs/games/keeperrl/default.nix2
-rw-r--r--pkgs/games/lgames/lpairs2/default.nix4
-rw-r--r--pkgs/games/minecraft-servers/versions.json6
-rw-r--r--pkgs/games/pokete/default.nix6
-rw-r--r--pkgs/games/quakespasm/vulkan.nix10
-rw-r--r--pkgs/games/sgt-puzzles/default.nix7
-rw-r--r--pkgs/games/steam/fhsenv.nix3
-rw-r--r--pkgs/games/steam/runtime.nix4
-rw-r--r--pkgs/games/the-powder-toy/default.nix2
-rw-r--r--pkgs/games/tintin/default.nix32
-rw-r--r--pkgs/games/tome4/default.nix2
-rw-r--r--pkgs/games/uqm/default.nix22
-rw-r--r--pkgs/games/urbanterror/default.nix2
-rw-r--r--pkgs/games/wargus/default.nix32
-rw-r--r--pkgs/games/wargus/stratagus.nix8
-rw-r--r--pkgs/games/wesnoth/default.nix4
-rw-r--r--pkgs/misc/dxvk/default.nix4
-rw-r--r--pkgs/misc/rkdeveloptool/default.nix8
-rw-r--r--pkgs/misc/screensavers/electricsheep/default.nix2
-rw-r--r--pkgs/misc/screensavers/xlockmore/default.nix4
-rw-r--r--pkgs/misc/screensavers/xscreensaver/default.nix4
-rw-r--r--pkgs/misc/sndio/default.nix4
-rw-r--r--pkgs/misc/t-rec/default.nix6
-rw-r--r--pkgs/misc/tpm2-pkcs11/default.nix2
-rw-r--r--pkgs/os-specific/darwin/pngpaste/default.nix37
-rw-r--r--pkgs/os-specific/darwin/sketchybar/default.nix4
-rw-r--r--pkgs/os-specific/linux/alsa-project/alsa-lib/default.nix4
-rw-r--r--pkgs/os-specific/linux/apfs/default.nix16
-rw-r--r--pkgs/os-specific/linux/bbswitch/default.nix16
-rw-r--r--pkgs/os-specific/linux/criu/default.nix31
-rw-r--r--pkgs/os-specific/linux/dddvb/default.nix16
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/default.nix4
-rw-r--r--pkgs/os-specific/linux/hd-idle/default.nix4
-rw-r--r--pkgs/os-specific/linux/intel-cmt-cat/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix2
-rw-r--r--pkgs/os-specific/linux/kernel/generic.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/hardened/patches.json60
-rw-r--r--pkgs/os-specific/linux/kernel/htmldocs.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.10.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.15.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.18.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-libre.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/zen-kernels.nix10
-rw-r--r--pkgs/os-specific/linux/kmod/darwin.patch138
-rw-r--r--pkgs/os-specific/linux/kmod/default.nix5
-rw-r--r--pkgs/os-specific/linux/libbpf/default.nix4
-rw-r--r--pkgs/os-specific/linux/libpsm2/default.nix4
-rw-r--r--pkgs/os-specific/linux/linux-wifi-hotspot/default.nix26
-rw-r--r--pkgs/os-specific/linux/lttng-modules/default.nix38
-rw-r--r--pkgs/os-specific/linux/lxc/default.nix2
-rw-r--r--pkgs/os-specific/linux/lxcfs/default.nix2
-rw-r--r--pkgs/os-specific/linux/microcode/intel.nix4
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix32
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/settings.nix29
-rw-r--r--pkgs/os-specific/linux/oci-seccomp-bpf-hook/default.nix4
-rw-r--r--pkgs/os-specific/linux/pam_gnupg/default.nix4
-rw-r--r--pkgs/os-specific/linux/prl-tools/default.nix30
-rw-r--r--pkgs/os-specific/linux/prl-tools/prl-tools-5.18.patch (renamed from pkgs/os-specific/linux/prl-tools/prl-tools.patch)0
-rw-r--r--pkgs/os-specific/linux/prl-tools/prl-tools-5.19.patch29
-rw-r--r--pkgs/os-specific/linux/rt-tests/default.nix4
-rw-r--r--pkgs/os-specific/linux/systemd/0001-Start-device-units-for-uninitialised-encrypted-devic.patch7
-rw-r--r--pkgs/os-specific/linux/systemd/0002-Don-t-try-to-unmount-nix-or-nix-store.patch7
-rw-r--r--pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch9
-rw-r--r--pkgs/os-specific/linux/systemd/0004-Look-for-fsck-in-the-right-place.patch7
-rw-r--r--pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch9
-rw-r--r--pkgs/os-specific/linux/systemd/0006-Get-rid-of-a-useless-message-in-user-sessions.patch7
-rw-r--r--pkgs/os-specific/linux/systemd/0007-hostnamed-localed-timedated-disable-methods-that-cha.patch9
-rw-r--r--pkgs/os-specific/linux/systemd/0008-Fix-hwdb-paths.patch7
-rw-r--r--pkgs/os-specific/linux/systemd/0009-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch11
-rw-r--r--pkgs/os-specific/linux/systemd/0010-localectl-use-etc-X11-xkb-for-list-x11.patch7
-rw-r--r--pkgs/os-specific/linux/systemd/0011-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch11
-rw-r--r--pkgs/os-specific/linux/systemd/0012-add-rootprefix-to-lookup-dir-paths.patch7
-rw-r--r--pkgs/os-specific/linux/systemd/0013-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch7
-rw-r--r--pkgs/os-specific/linux/systemd/0014-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch8
-rw-r--r--pkgs/os-specific/linux/systemd/0015-kmod-static-nodes.service-Update-ConditionFileNotEmp.patch27
-rw-r--r--pkgs/os-specific/linux/systemd/0015-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch (renamed from pkgs/os-specific/linux/systemd/0016-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch)7
-rw-r--r--pkgs/os-specific/linux/systemd/0016-pkg-config-derive-prefix-from-prefix.patch (renamed from pkgs/os-specific/linux/systemd/0017-pkg-config-derive-prefix-from-prefix.patch)9
-rw-r--r--pkgs/os-specific/linux/systemd/0017-inherit-systemd-environment-when-calling-generators.patch (renamed from pkgs/os-specific/linux/systemd/0018-inherit-systemd-environment-when-calling-generators.patch)7
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix10
-rw-r--r--pkgs/os-specific/linux/xone/default.nix10
-rw-r--r--pkgs/os-specific/linux/xpadneo/default.nix8
-rw-r--r--pkgs/os-specific/linux/zfs/default.nix2
-rw-r--r--pkgs/os-specific/solo5/default.nix18
-rw-r--r--pkgs/os-specific/solo5/test_sleep.patch22
-rw-r--r--pkgs/servers/adguardhome/bins.nix20
-rw-r--r--pkgs/servers/adguardhome/default.nix2
-rw-r--r--pkgs/servers/alps/default.nix14
-rw-r--r--pkgs/servers/amqp/rabbitmq-server/default.nix4
-rw-r--r--pkgs/servers/atlassian/confluence.nix2
-rw-r--r--pkgs/servers/atlassian/crowd.nix2
-rw-r--r--pkgs/servers/atlassian/jira.nix2
-rw-r--r--pkgs/servers/bird/default.nix2
-rw-r--r--pkgs/servers/computing/slurm/default.nix14
-rw-r--r--pkgs/servers/consul/default.nix6
-rw-r--r--pkgs/servers/dendrite/default.nix6
-rw-r--r--pkgs/servers/dns/knot-dns/default.nix4
-rw-r--r--pkgs/servers/echoip/default.nix26
-rw-r--r--pkgs/servers/etcd/3.3.nix3
-rw-r--r--pkgs/servers/etcd/3.5.nix43
-rw-r--r--pkgs/servers/freeradius/default.nix2
-rw-r--r--pkgs/servers/hbase/default.nix4
-rw-r--r--pkgs/servers/headscale/default.nix6
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix131
-rw-r--r--pkgs/servers/home-assistant/default.nix130
-rw-r--r--pkgs/servers/home-assistant/frontend.nix4
-rw-r--r--pkgs/servers/hqplayerd/default.nix10
-rw-r--r--pkgs/servers/http/gitlab-pages/default.nix6
-rw-r--r--pkgs/servers/http/lighttpd/default.nix4
-rw-r--r--pkgs/servers/http/nginx/modules.nix4
-rw-r--r--pkgs/servers/irc/charybdis/default.nix2
-rw-r--r--pkgs/servers/janus-gateway/default.nix4
-rw-r--r--pkgs/servers/mail/mailman/hyperkitty.nix2
-rw-r--r--pkgs/servers/matrix-synapse/default.nix4
-rw-r--r--pkgs/servers/matrix-synapse/tools/rust-synapse-compress-state.nix6
-rw-r--r--pkgs/servers/mattermost/default.nix2
-rw-r--r--pkgs/servers/mattermost/matterircd.nix2
-rw-r--r--pkgs/servers/memcached/default.nix4
-rw-r--r--pkgs/servers/minio/default.nix6
-rw-r--r--pkgs/servers/misc/gobgpd/default.nix6
-rw-r--r--pkgs/servers/misc/navidrome/default.nix9
-rw-r--r--pkgs/servers/monitoring/cadvisor/default.nix6
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix6
-rw-r--r--pkgs/servers/monitoring/mackerel-agent/default.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/blackbox-exporter.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/collectd-exporter.nix2
-rw-r--r--pkgs/servers/monitoring/prometheus/haproxy-exporter.nix2
-rw-r--r--pkgs/servers/monitoring/prometheus/openvpn-exporter.nix2
-rw-r--r--pkgs/servers/monitoring/prometheus/pushgateway.nix2
-rw-r--r--pkgs/servers/monitoring/prometheus/statsd-exporter.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/systemd-exporter.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/zfs-exporter.nix30
-rw-r--r--pkgs/servers/mpd/default.nix2
-rw-r--r--pkgs/servers/nextcloud/default.nix10
-rw-r--r--pkgs/servers/nfs-ganesha/default.nix4
-rw-r--r--pkgs/servers/nosql/neo4j/default.nix28
-rw-r--r--pkgs/servers/nosql/victoriametrics/default.nix4
-rw-r--r--pkgs/servers/openafs/1.9/bosserver.patch30
-rw-r--r--pkgs/servers/openafs/1.9/cross-build.patch223
-rw-r--r--pkgs/servers/openafs/1.9/default.nix105
-rw-r--r--pkgs/servers/openafs/1.9/module.nix64
-rw-r--r--pkgs/servers/openafs/1.9/srcs.nix14
-rw-r--r--pkgs/servers/openafs/1.9/tsmbac.patch62
-rw-r--r--pkgs/servers/openvscode-server/default.nix6
-rw-r--r--pkgs/servers/p910nd/default.nix37
-rw-r--r--pkgs/servers/peertube/default.nix6
-rw-r--r--pkgs/servers/plex/raw.nix6
-rw-r--r--pkgs/servers/redpanda/default.nix4
-rw-r--r--pkgs/servers/search/groonga/default.nix4
-rw-r--r--pkgs/servers/sks/default.nix2
-rw-r--r--pkgs/servers/soft-serve/default.nix6
-rw-r--r--pkgs/servers/sonarr/default.nix4
-rw-r--r--pkgs/servers/spicedb/default.nix32
-rw-r--r--pkgs/servers/spicedb/zed.nix29
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_partman.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/pgroonga.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/pgvector.nix12
-rw-r--r--pkgs/servers/sql/postgresql/ext/repmgr.nix4
-rw-r--r--pkgs/servers/squid/default.nix6
-rw-r--r--pkgs/servers/syncstorage-rs/default.nix63
-rw-r--r--pkgs/servers/traefik/default.nix6
-rw-r--r--pkgs/servers/ttyd/default.nix4
-rw-r--r--pkgs/servers/uftp/default.nix4
-rw-r--r--pkgs/servers/uxplay/default.nix4
-rw-r--r--pkgs/servers/varnish/default.nix12
-rw-r--r--pkgs/servers/web-apps/healthchecks/default.nix2
-rw-r--r--pkgs/servers/web-apps/nifi/default.nix2
-rw-r--r--pkgs/servers/web-apps/rss-bridge/default.nix4
-rw-r--r--pkgs/servers/web-apps/searx/default.nix2
-rw-r--r--pkgs/servers/web-apps/snipe-it/default.nix3
-rw-r--r--pkgs/servers/web-apps/vikunja/api.nix6
-rw-r--r--pkgs/servers/web-apps/vikunja/frontend.nix4
-rw-r--r--pkgs/servers/web-apps/virtlyst/add-admin-password-env.patch14
-rw-r--r--pkgs/servers/web-apps/virtlyst/default.nix39
-rw-r--r--pkgs/servers/web-apps/wallabag/default.nix4
-rw-r--r--pkgs/servers/web-apps/wordpress/default.nix4
-rw-r--r--pkgs/servers/webdav/default.nix6
-rw-r--r--pkgs/servers/wishlist/default.nix6
-rw-r--r--pkgs/servers/xmpp/prosody/default.nix2
-rw-r--r--pkgs/servers/zigbee2mqtt/default.nix4
-rw-r--r--pkgs/servers/zigbee2mqtt/node-packages.nix1601
-rw-r--r--pkgs/shells/liquidprompt/default.nix4
-rw-r--r--pkgs/shells/oil/default.nix4
-rw-r--r--pkgs/shells/zsh/zsh-completions/default.nix4
-rw-r--r--pkgs/shells/zsh/zsh-fzf-tab/default.nix6
-rw-r--r--pkgs/stdenv/darwin/make-bootstrap-tools.nix16
-rw-r--r--pkgs/stdenv/generic/setup.sh15
-rw-r--r--pkgs/tools/X11/bumblebee/default.nix7
-rw-r--r--pkgs/tools/X11/caffeine-ng/default.nix2
-rw-r--r--pkgs/tools/X11/opentabletdriver/default.nix2
-rw-r--r--pkgs/tools/X11/xdg-user-dirs/default.nix4
-rw-r--r--pkgs/tools/X11/xpra/default.nix2
-rw-r--r--pkgs/tools/X11/xwallpaper/default.nix4
-rw-r--r--pkgs/tools/admin/awscli/default.nix4
-rw-r--r--pkgs/tools/admin/copilot-cli/default.nix6
-rw-r--r--pkgs/tools/admin/fastlane/Gemfile.lock14
-rw-r--r--pkgs/tools/admin/fastlane/gemset.nix24
-rw-r--r--pkgs/tools/admin/gtk-vnc/default.nix10
-rw-r--r--pkgs/tools/admin/kics/default.nix6
-rw-r--r--pkgs/tools/admin/lxd/default.nix2
-rw-r--r--pkgs/tools/admin/pgadmin/default.nix6
-rw-r--r--pkgs/tools/admin/pgadmin/expose-setup.py.patch61
-rw-r--r--pkgs/tools/admin/pgadmin/package.json10
-rw-r--r--pkgs/tools/admin/pgadmin/yarn.lock1255
-rw-r--r--pkgs/tools/admin/pgadmin/yarn.nix1154
-rw-r--r--pkgs/tools/admin/realvnc-vnc-viewer/default.nix7
-rw-r--r--pkgs/tools/admin/sec/default.nix4
-rw-r--r--pkgs/tools/admin/stripe-cli/default.nix4
-rw-r--r--pkgs/tools/admin/uacme/default.nix4
-rw-r--r--pkgs/tools/audio/abcmidi/default.nix4
-rw-r--r--pkgs/tools/audio/beets/common.nix27
-rw-r--r--pkgs/tools/audio/darkice/default.nix2
-rw-r--r--pkgs/tools/audio/nanotts/default.nix4
-rw-r--r--pkgs/tools/backup/grab-site/default.nix4
-rw-r--r--pkgs/tools/bluetooth/blueberry/default.nix2
-rw-r--r--pkgs/tools/bluetooth/blueman/default.nix4
-rw-r--r--pkgs/tools/bluetooth/bluetuith/default.nix6
-rw-r--r--pkgs/tools/compression/heatshrink/default.nix43
-rw-r--r--pkgs/tools/filesystems/aefs/default.nix34
-rw-r--r--pkgs/tools/filesystems/apfsprogs/default.nix6
-rw-r--r--pkgs/tools/filesystems/dwarfs/default.nix103
-rw-r--r--pkgs/tools/filesystems/dwarfs/version_info.patch40
-rw-r--r--pkgs/tools/filesystems/httm/default.nix6
-rw-r--r--pkgs/tools/filesystems/kdiskmark/default.nix54
-rw-r--r--pkgs/tools/filesystems/ntfs-3g/default.nix1
-rw-r--r--pkgs/tools/games/scarab/default.nix79
-rw-r--r--pkgs/tools/games/scarab/deps.nix225
-rw-r--r--pkgs/tools/games/steam-rom-manager/default.nix28
-rw-r--r--pkgs/tools/graphics/mangohud/default.nix30
-rw-r--r--pkgs/tools/graphics/mangohud/hardcode-dependencies.patch22
-rw-r--r--pkgs/tools/graphics/mangohud/opengl32-nix-workaround.patch20
-rw-r--r--pkgs/tools/graphics/vips/default.nix4
-rw-r--r--pkgs/tools/graphics/vkBasalt/default.nix4
-rw-r--r--pkgs/tools/graphics/vulkan-caps-viewer/default.nix59
-rw-r--r--pkgs/tools/inputmethods/emote/default.nix22
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix4
-rw-r--r--pkgs/tools/misc/0x/add-Cargo-lock.diff236
-rw-r--r--pkgs/tools/misc/0x/default.nix27
-rw-r--r--pkgs/tools/misc/3mux/default.nix13
-rw-r--r--pkgs/tools/misc/antimicrox/default.nix4
-rw-r--r--pkgs/tools/misc/audible-cli/default.nix6
-rw-r--r--pkgs/tools/misc/czkawka/default.nix25
-rw-r--r--pkgs/tools/misc/debootstrap/default.nix4
-rw-r--r--pkgs/tools/misc/fclones/default.nix6
-rw-r--r--pkgs/tools/misc/fzf/default.nix4
-rw-r--r--pkgs/tools/misc/getoptions/default.nix33
-rw-r--r--pkgs/tools/misc/gh-dash/default.nix28
-rw-r--r--pkgs/tools/misc/goaccess/default.nix4
-rw-r--r--pkgs/tools/misc/heatseeker/default.nix6
-rw-r--r--pkgs/tools/misc/infracost/default.nix6
-rw-r--r--pkgs/tools/misc/mongodb-compass/default.nix4
-rw-r--r--pkgs/tools/misc/mutagen-compose/default.nix6
-rw-r--r--pkgs/tools/misc/nix-direnv/default.nix4
-rw-r--r--pkgs/tools/misc/nomino/default.nix6
-rw-r--r--pkgs/tools/misc/ntfy/default.nix7
-rw-r--r--pkgs/tools/misc/odyssey/default.nix12
-rw-r--r--pkgs/tools/misc/opentelemetry-collector/contrib.nix6
-rw-r--r--pkgs/tools/misc/opentelemetry-collector/default.nix6
-rw-r--r--pkgs/tools/misc/ostree/default.nix7
-rw-r--r--pkgs/tools/misc/outils/default.nix31
-rw-r--r--pkgs/tools/misc/partition-manager/default.nix4
-rw-r--r--pkgs/tools/misc/perccli/default.nix37
-rw-r--r--pkgs/tools/misc/plantuml/default.nix4
-rw-r--r--pkgs/tools/misc/plowshare/default.nix4
-rw-r--r--pkgs/tools/misc/pls/default.nix4
-rw-r--r--pkgs/tools/misc/pubs/default.nix14
-rw-r--r--pkgs/tools/misc/qflipper/default.nix4
-rw-r--r--pkgs/tools/misc/remind/default.nix4
-rw-r--r--pkgs/tools/misc/reredirect/default.nix4
-rw-r--r--pkgs/tools/misc/rpm-ostree/default.nix4
-rw-r--r--pkgs/tools/misc/sanctity/default.nix6
-rw-r--r--pkgs/tools/misc/smenu/default.nix4
-rw-r--r--pkgs/tools/misc/storcli/default.nix35
-rw-r--r--pkgs/tools/misc/taoup/default.nix4
-rw-r--r--pkgs/tools/misc/tldr/default.nix4
-rw-r--r--pkgs/tools/misc/topicctl/default.nix6
-rw-r--r--pkgs/tools/misc/watchexec/default.nix6
-rw-r--r--pkgs/tools/misc/xstow/default.nix4
-rw-r--r--pkgs/tools/misc/yank/default.nix4
-rw-r--r--pkgs/tools/misc/yt-dlp/default.nix8
-rw-r--r--pkgs/tools/misc/ytfzf/default.nix4
-rw-r--r--pkgs/tools/misc/zellij/default.nix6
-rw-r--r--pkgs/tools/networking/acme-client/default.nix4
-rw-r--r--pkgs/tools/networking/airgeddon/default.nix4
-rw-r--r--pkgs/tools/networking/babeld/default.nix2
-rw-r--r--pkgs/tools/networking/dhcpcd/default.nix2
-rw-r--r--pkgs/tools/networking/eggdrop/default.nix4
-rw-r--r--pkgs/tools/networking/flannel/default.nix4
-rw-r--r--pkgs/tools/networking/globalprotect-openconnect/default.nix4
-rw-r--r--pkgs/tools/networking/gobgp/default.nix6
-rw-r--r--pkgs/tools/networking/godns/default.nix4
-rw-r--r--pkgs/tools/networking/grpcui/default.nix6
-rw-r--r--pkgs/tools/networking/grpcurl/default.nix6
-rw-r--r--pkgs/tools/networking/haproxy/default.nix4
-rw-r--r--pkgs/tools/networking/htpdate/default.nix4
-rw-r--r--pkgs/tools/networking/hysteria/default.nix29
-rw-r--r--pkgs/tools/networking/kapp/default.nix4
-rw-r--r--pkgs/tools/networking/minio-client/default.nix6
-rw-r--r--pkgs/tools/networking/mu/default.nix4
-rw-r--r--pkgs/tools/networking/networkmanager/default.nix20
-rw-r--r--pkgs/tools/networking/networkmanager/fix-install-paths.patch4
-rw-r--r--pkgs/tools/networking/networkmanager/fix-paths.patch14
-rw-r--r--pkgs/tools/networking/nss-mdns/default.nix22
-rw-r--r--pkgs/tools/networking/oha/default.nix9
-rw-r--r--pkgs/tools/networking/ooniprobe-cli/default.nix6
-rw-r--r--pkgs/tools/networking/p2p/tahoe-lafs/default.nix2
-rw-r--r--pkgs/tools/networking/pixiewps/default.nix12
-rw-r--r--pkgs/tools/networking/quicktun/default.nix2
-rw-r--r--pkgs/tools/networking/siege/default.nix4
-rw-r--r--pkgs/tools/networking/sipexer/default.nix26
-rw-r--r--pkgs/tools/networking/smartdns/default.nix4
-rw-r--r--pkgs/tools/networking/sstp/default.nix4
-rw-r--r--pkgs/tools/networking/strongswan/default.nix4
-rw-r--r--pkgs/tools/networking/subfinder/default.nix6
-rw-r--r--pkgs/tools/networking/swagger-codegen3/default.nix4
-rw-r--r--pkgs/tools/networking/telepresence2/default.nix2
-rw-r--r--pkgs/tools/networking/tendermint/default.nix6
-rw-r--r--pkgs/tools/networking/termscp/default.nix14
-rw-r--r--pkgs/tools/networking/tinc/pre.nix2
-rw-r--r--pkgs/tools/networking/whois/default.nix4
-rw-r--r--pkgs/tools/nix/nixos-generators/default.nix4
-rw-r--r--pkgs/tools/package-management/apt/default.nix4
-rw-r--r--pkgs/tools/package-management/deploy-rs/default.nix10
-rw-r--r--pkgs/tools/package-management/opkg/default.nix4
-rw-r--r--pkgs/tools/security/arti/default.nix6
-rw-r--r--pkgs/tools/security/b2sum/default.nix2
-rw-r--r--pkgs/tools/security/bitwarden/default.nix4
-rw-r--r--pkgs/tools/security/brutespray/default.nix4
-rw-r--r--pkgs/tools/security/buttercup-desktop/default.nix13
-rw-r--r--pkgs/tools/security/clamav/default.nix2
-rw-r--r--pkgs/tools/security/clevis/default.nix25
-rw-r--r--pkgs/tools/security/cosign/default.nix6
-rw-r--r--pkgs/tools/security/crackmapexec/default.nix22
-rw-r--r--pkgs/tools/security/credential-detector/default.nix6
-rw-r--r--pkgs/tools/security/cryptomator/default.nix6
-rw-r--r--pkgs/tools/security/davtest/default.nix40
-rw-r--r--pkgs/tools/security/dnsrecon/default.nix4
-rw-r--r--pkgs/tools/security/expliot/default.nix1
-rw-r--r--pkgs/tools/security/exploitdb/default.nix4
-rw-r--r--pkgs/tools/security/fail2ban/default.nix2
-rw-r--r--pkgs/tools/security/faraday-agent-dispatcher/default.nix1
-rw-r--r--pkgs/tools/security/fido2luks/default.nix6
-rw-r--r--pkgs/tools/security/flare-floss/default.nix71
-rw-r--r--pkgs/tools/security/gitleaks/default.nix4
-rw-r--r--pkgs/tools/security/gopass/default.nix6
-rw-r--r--pkgs/tools/security/hcxtools/default.nix4
-rw-r--r--pkgs/tools/security/iaito/default.nix43
-rw-r--r--pkgs/tools/security/iaito/remove-broken-version-check.patch54
-rw-r--r--pkgs/tools/security/kube-bench/default.nix48
-rw-r--r--pkgs/tools/security/linux-exploit-suggester/default.nix29
-rw-r--r--pkgs/tools/security/metasploit/Gemfile2
-rw-r--r--pkgs/tools/security/metasploit/Gemfile.lock64
-rw-r--r--pkgs/tools/security/metasploit/default.nix4
-rw-r--r--pkgs/tools/security/metasploit/gemset.nix110
-rw-r--r--pkgs/tools/security/msfpc/default.nix38
-rw-r--r--pkgs/tools/security/naabu/default.nix6
-rw-r--r--pkgs/tools/security/nitrokey-app/default.nix2
-rw-r--r--pkgs/tools/security/otpauth/default.nix6
-rw-r--r--pkgs/tools/security/padbuster/default.nix34
-rw-r--r--pkgs/tools/security/parsero/default.nix28
-rw-r--r--pkgs/tools/security/semgrep/common.nix21
-rw-r--r--pkgs/tools/security/shellnoob/default.nix33
-rw-r--r--pkgs/tools/security/sigma-cli/default.nix11
-rw-r--r--pkgs/tools/security/signing-party/default.nix2
-rw-r--r--pkgs/tools/security/spire/default.nix6
-rw-r--r--pkgs/tools/security/step-ca/default.nix6
-rw-r--r--pkgs/tools/security/tlsx/default.nix29
-rw-r--r--pkgs/tools/security/uncover/default.nix31
-rw-r--r--pkgs/tools/security/vault/default.nix6
-rw-r--r--pkgs/tools/security/vault/vault-bin.nix12
-rw-r--r--pkgs/tools/security/webanalyze/default.nix4
-rw-r--r--pkgs/tools/security/yara/default.nix4
-rw-r--r--pkgs/tools/system/collectd/default.nix2
-rw-r--r--pkgs/tools/system/foremost/default.nix5
-rw-r--r--pkgs/tools/system/foremost/makefile.patch17
-rw-r--r--pkgs/tools/system/gdu/default.nix6
-rw-r--r--pkgs/tools/system/goreman/default.nix20
-rw-r--r--pkgs/tools/system/hwinfo/default.nix4
-rw-r--r--pkgs/tools/system/kanata/default.nix15
-rw-r--r--pkgs/tools/system/localtime/default.nix8
-rw-r--r--pkgs/tools/system/minijail/default.nix21
-rw-r--r--pkgs/tools/system/minijail/tools.nix29
-rw-r--r--pkgs/tools/system/netdata/default.nix4
-rw-r--r--pkgs/tools/system/pciutils/default.nix7
-rw-r--r--pkgs/tools/system/plan9port/builder.sh71
-rw-r--r--pkgs/tools/system/plan9port/default.nix80
-rw-r--r--pkgs/tools/system/rsyslog/default.nix4
-rw-r--r--pkgs/tools/system/syslog-ng/default.nix6
-rw-r--r--pkgs/tools/system/systeroid/default.nix6
-rw-r--r--pkgs/tools/text/difftastic/default.nix6
-rw-r--r--pkgs/tools/text/fastmod/default.nix6
-rw-r--r--pkgs/tools/text/jsawk/default.nix4
-rw-r--r--pkgs/tools/text/mdcat/default.nix6
-rw-r--r--pkgs/tools/text/poedit/default.nix4
-rw-r--r--pkgs/tools/text/tidy-viewer/default.nix6
-rw-r--r--pkgs/tools/text/tuc/default.nix21
-rw-r--r--pkgs/tools/text/xml/basex/default.nix4
-rw-r--r--pkgs/tools/typesetting/asciidoctor-with-extensions/default.nix13
-rw-r--r--pkgs/tools/typesetting/sile/default.nix5
-rw-r--r--pkgs/tools/video/svt-av1/default.nix4
-rw-r--r--pkgs/tools/virtualization/alpine-make-vm-image/default.nix4
-rw-r--r--pkgs/tools/virtualization/awsebcli/default.nix2
-rw-r--r--pkgs/tools/virtualization/ec2-api-tools/default.nix40
-rw-r--r--pkgs/tools/wayland/way-displays/default.nix10
-rw-r--r--pkgs/tools/wayland/wl-mirror/default.nix8
-rw-r--r--pkgs/top-level/aliases.nix7
-rw-r--r--pkgs/top-level/all-packages.nix345
-rw-r--r--pkgs/top-level/cuda-packages.nix5
-rw-r--r--pkgs/top-level/darwin-packages.nix6
-rw-r--r--pkgs/top-level/dotnet-packages.nix49
-rw-r--r--pkgs/top-level/haskell-packages.nix12
-rw-r--r--pkgs/top-level/linux-kernels.nix1
-rw-r--r--pkgs/top-level/lua-packages.nix5
-rw-r--r--pkgs/top-level/perl-packages.nix158
-rw-r--r--pkgs/top-level/python-aliases.nix3
-rw-r--r--pkgs/top-level/python-packages.nix119
-rw-r--r--pkgs/top-level/release-haskell.nix14
1830 files changed, 41700 insertions, 27044 deletions
diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs
index c34d5b88536..15be142ef03 100644
--- a/.git-blame-ignore-revs
+++ b/.git-blame-ignore-revs
@@ -28,6 +28,9 @@
 # nixos/modules/rename: Sort alphabetically
 1f71224fe86605ef4cd23ed327b3da7882dad382
 
+# manual: fix typos
+feddd5e7f8c6f8167b48a077fa2a5394dc008999
+
 # nixos: fix module paths in rename.nix
 d08ede042b74b8199dc748323768227b88efcf7c
 
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index b9f69a6ce7b..c7aa63d40f4 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -252,9 +252,8 @@
 
 # Go
 /doc/languages-frameworks/go.section.md @kalbasit @Mic92 @zowoq
+/pkgs/build-support/go @kalbasit @Mic92 @zowoq
 /pkgs/development/compilers/go @kalbasit @Mic92 @zowoq
-/pkgs/development/go-modules   @kalbasit @Mic92 @zowoq
-/pkgs/development/go-packages  @kalbasit @Mic92 @zowoq
 
 # GNOME
 /pkgs/desktops/gnome                              @jtojnar
diff --git a/.github/labeler.yml b/.github/labeler.yml
index a48f60e7763..94dfec05c9f 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -40,9 +40,8 @@
 
 "6.topic: golang":
   - doc/languages-frameworks/go.section.md
+  - pkgs/build-support/go/**/*
   - pkgs/development/compilers/go/**/*
-  - pkgs/development/go-modules/**/*
-  - pkgs/development/go-packages/**/*
 
 "6.topic: haskell":
   - doc/languages-frameworks/haskell.section.md
diff --git a/.github/workflows/update-terraform-providers.yml b/.github/workflows/update-terraform-providers.yml
index d332fef12e6..1650f537b7b 100644
--- a/.github/workflows/update-terraform-providers.yml
+++ b/.github/workflows/update-terraform-providers.yml
@@ -39,7 +39,7 @@ jobs:
 
             Check that all providers build with:
             ```
-            @ofborg build terraform-full
+            @ofborg build terraform.full
             ```
           branch: terraform-providers-update
           delete-branch: false
diff --git a/doc/builders/fetchers.chapter.md b/doc/builders/fetchers.chapter.md
index 70380248f8c..947afe8e9fd 100644
--- a/doc/builders/fetchers.chapter.md
+++ b/doc/builders/fetchers.chapter.md
@@ -1,12 +1,51 @@
 # Fetchers {#chap-pkgs-fetchers}
 
-When using Nix, you will frequently need to download source code and other files from the internet. For this purpose, Nix provides the [_fixed output derivation_](https://nixos.org/manual/nix/stable/#fixed-output-drvs) feature and Nixpkgs provides various functions that implement the actual fetching from various protocols and services.
+Building software with Nix often requires downloading source code and other files from the internet.
+`nixpkgs` provides *fetchers* for different protocols and services. Fetchers are functions that simplify downloading files.
 
 ## Caveats
 
-Because fixed output derivations are _identified_ by their hash, a common mistake is to update a fetcher's URL or a version parameter, without updating the hash. **This will cause the old contents to be used.** So remember to always invalidate the hash argument.
+Fetchers create [fixed output derivations](https://nixos.org/manual/nix/stable/#fixed-output-drvs) from downloaded files.
+Nix can reuse the downloaded files via the hash of the resulting derivation.
 
-For those who develop and maintain fetchers, a similar problem arises with changes to the implementation of a fetcher. These may cause a fixed output derivation to fail, but won't normally be caught by tests because the supposed output is already in the store or cache. For the purpose of testing, you can use a trick that is embodied by the [`invalidateFetcherByDrvHash`](#tester-invalidateFetcherByDrvHash) function. It uses the derivation `name` to create a unique output path per fetcher implementation, defeating the caching precisely where it would be harmful.
+The fact that the hash belongs to the Nix derivation output and not the file itself can lead to confusion.
+For example, consider the following fetcher:
+
+```nix
+fetchurl {
+  url = "http://www.example.org/hello-1.0.tar.gz";
+  sha256 = "0v6r3wwnsk5pdjr188nip3pjgn1jrn5pc5ajpcfy6had6b3v4dwm";
+};
+```
+
+A common mistake is to update a fetcher’s URL, or a version parameter, without updating the hash.
+
+```nix
+fetchurl {
+  url = "http://www.example.org/hello-1.1.tar.gz";
+  sha256 = "0v6r3wwnsk5pdjr188nip3pjgn1jrn5pc5ajpcfy6had6b3v4dwm";
+};
+```
+
+**This will reuse the old contents**.
+Remember to invalidate the hash argument, in this case by setting the `sha256` attribute to an empty string.
+
+```nix
+fetchurl {
+  url = "http://www.example.org/hello-1.1.tar.gz";
+  sha256 = "";
+};
+```
+
+Use the resulting error message to determine the correct hash.
+
+```
+error: hash mismatch in fixed-output derivation '/path/to/my.drv':
+         specified: sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
+            got:    sha256-RApQUm78dswhBLC/rfU9y0u6pSAzHceIJqgmetRD24E=
+```
+
+A similar problem arises while testing changes to a fetcher's implementation. If the output of the derivation already exists in the Nix store, test failures can go undetected. The [`invalidateFetcherByDrvHash`](#tester-invalidateFetcherByDrvHash) function helps prevent reusing cached derivations.
 
 ## `fetchurl` and `fetchzip` {#fetchurl}
 
diff --git a/doc/builders/images/dockertools.section.md b/doc/builders/images/dockertools.section.md
index 2a41d48cf13..d8deb6cfbc8 100644
--- a/doc/builders/images/dockertools.section.md
+++ b/doc/builders/images/dockertools.section.md
@@ -321,3 +321,32 @@ buildImage {
 ```
 
 Creating base files like `/etc/passwd` or `/etc/login.defs` is necessary for shadow-utils to manipulate users and groups.
+
+## fakeNss {#ssec-pkgs-dockerTools-fakeNss}
+
+If your primary goal is providing a basic skeleton for user lookups to work,
+and/or a lesser privileged user, adding `pkgs.fakeNss` to
+the container image root might be the better choice than a custom script
+running `useradd` and friends.
+
+It provides a `/etc/passwd` and `/etc/group`, containing `root` and `nobody`
+users and groups.
+
+It also provides a `/etc/nsswitch.conf`, configuring NSS host resolution to
+first check `/etc/hosts`, before checking DNS, as the default in the absence of
+a config file (`dns [!UNAVAIL=return] files`) is quite unexpected.
+
+You can pair it with `binSh`, which provides `bin/sh` as a symlink
+to `bashInteractive` (as `/bin/sh` is configured as a shell).
+
+```nix
+buildImage {
+  name = "shadow-basic";
+
+  copyToRoot = pkgs.buildEnv {
+    name = "image-root";
+    paths = [ binSh pkgs.fakeNss ];
+    pathsToLink = [ "/bin" "/etc" "/var" ];
+  };
+}
+```
diff --git a/doc/contributing/coding-conventions.chapter.md b/doc/contributing/coding-conventions.chapter.md
index bc49fdc4723..6473fa151a4 100644
--- a/doc/contributing/coding-conventions.chapter.md
+++ b/doc/contributing/coding-conventions.chapter.md
@@ -453,7 +453,7 @@ In the file `pkgs/top-level/all-packages.nix` you can find fetch helpers, these
   }
   ```
 
-  Find the value to put as `sha256` by running `nix run -f '<nixpkgs>' nix-prefetch-github -c nix-prefetch-github --rev 1f795f9f44607cc5bec70d1300150bfefcef2aae NixOS nix` or `nix-prefetch-url --unpack https://github.com/NixOS/nix/archive/1f795f9f44607cc5bec70d1300150bfefcef2aae.tar.gz`.
+Find the value to put as `sha256` by running `nix-shell -p nix-prefetch-github --run "nix-prefetch-github --rev 1f795f9f44607cc5bec70d1300150bfefcef2aae NixOS nix"`. 
 
 ## Obtaining source hash {#sec-source-hashes}
 
diff --git a/doc/languages-frameworks/python.section.md b/doc/languages-frameworks/python.section.md
index 7df8464917c..7fb8ba2e7c2 100644
--- a/doc/languages-frameworks/python.section.md
+++ b/doc/languages-frameworks/python.section.md
@@ -1664,6 +1664,26 @@ self: super: {
 }
 ```
 
+### How to override a Python package for all Python versions using extensions? {#how-to-override-a-python-package-for-all-python-versions-using-extensions}
+
+The following overlay overrides the call to `buildPythonPackage` for the
+`foo` package for all interpreters by appending a Python extension to the
+`pythonPackagesExtensions` list of extensions.
+
+```nix
+final: prev: {
+  pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [
+    (
+      python-final: python-prev: {
+        foo = python-prev.foo.overridePythonAttrs (oldAttrs: {
+          ...
+        });
+      }
+    )
+  ];
+}
+```
+
 ### How to use Intel’s MKL with numpy and scipy? {#how-to-use-intels-mkl-with-numpy-and-scipy}
 
 MKL can be configured using an overlay. See the section "[Using overlays to
diff --git a/doc/stdenv/stdenv.chapter.md b/doc/stdenv/stdenv.chapter.md
index 5f7f45dc443..b4cc50b509d 100644
--- a/doc/stdenv/stdenv.chapter.md
+++ b/doc/stdenv/stdenv.chapter.md
@@ -317,7 +317,7 @@ The script will be usually run from the root of the Nixpkgs repository but you s
 
 For information about how to run the updates, execute `nix-shell maintainers/scripts/update.nix`.
 
-### Recursive attributes in `mkDerivation`
+### Recursive attributes in `mkDerivation` {#mkderivation-recursive-attributes}
 
 If you pass a function to `mkDerivation`, it will receive as its argument the final arguments, including the overrides when reinvoked via `overrideAttrs`. For example:
 
@@ -731,6 +731,10 @@ If set, files in `$out/sbin` are not moved to `$out/bin`. By default, they are.
 
 List of directories to search for libraries and executables from which *all* symbols should be stripped. By default, it’s empty. Stripping all symbols is risky, since it may remove not just debug symbols but also ELF information necessary for normal execution.
 
+##### `stripAllListTarget` {#var-stdenv-stripAllListTarget}
+
+Like `stripAllList`, but only applies to packages’ target platform. By default, it’s empty. Useful when supporting cross compilation.
+
 ##### `stripAllFlags` {#var-stdenv-stripAllFlags}
 
 Flags passed to the `strip` command applied to the files in the directories listed in `stripAllList`. Defaults to `-s` (i.e. `--strip-all`).
@@ -739,6 +743,10 @@ Flags passed to the `strip` command applied to the files in the directories list
 
 List of directories to search for libraries and executables from which only debugging-related symbols should be stripped. It defaults to `lib lib32 lib64 libexec bin sbin`.
 
+##### `stripDebugListTarget` {#var-stdenv-stripDebugListTarget}
+
+Like `stripDebugList`, but only applies to packages’ target platform. By default, it’s empty. Useful when supporting cross compilation.
+
 ##### `stripDebugFlags` {#var-stdenv-stripDebugFlags}
 
 Flags passed to the `strip` command applied to the files in the directories listed in `stripDebugList`. Defaults to `-S` (i.e. `--strip-debug`).
@@ -913,9 +921,9 @@ substitute ./foo.in ./foo.out \
     --subst-var someVar
 ```
 
-### `substituteInPlace` \<file\> \<subs\> {#fun-substituteInPlace}
+### `substituteInPlace` \<multiple files\> \<subs\> {#fun-substituteInPlace}
 
-Like `substitute`, but performs the substitutions in place on the file \<file\>.
+Like `substitute`, but performs the substitutions in place on the files passed.
 
 ### `substituteAll` \<infile\> \<outfile\> {#fun-substituteAll}
 
diff --git a/lib/modules.nix b/lib/modules.nix
index 1e48f544079..7f1646e9b8b 100644
--- a/lib/modules.nix
+++ b/lib/modules.nix
@@ -266,6 +266,15 @@ rec {
               turned off.
             '';
           };
+
+          _module.specialArgs = mkOption {
+            readOnly = true;
+            internal = true;
+            description = ''
+              Externally provided module arguments that can't be modified from
+              within a configuration, but can be used in module imports.
+            '';
+          };
         };
 
         config = {
@@ -273,6 +282,7 @@ rec {
             inherit extendModules;
             moduleType = type;
           };
+          _module.specialArgs = specialArgs;
         };
       };
 
diff --git a/lib/options.nix b/lib/options.nix
index 3a1c0e540d7..84d9fd5e15d 100644
--- a/lib/options.nix
+++ b/lib/options.nix
@@ -121,7 +121,7 @@ rec {
      Example:
        mkPackageOption pkgs "GHC" {
          default = [ "ghc" ];
-         example = "pkgs.haskell.package.ghc923.ghc.withPackages (hkgs: [ hkgs.primes ])";
+         example = "pkgs.haskell.packages.ghc924.ghc.withPackages (hkgs: [ hkgs.primes ])";
        }
        => { _type = "option"; default = «derivation /nix/store/jxx55cxsjrf8kyh3fp2ya17q99w7541r-ghc-8.10.7.drv»; defaultText = { ... }; description = "The GHC package to use."; example = { ... }; type = { ... }; }
   */
diff --git a/lib/systems/default.nix b/lib/systems/default.nix
index 25340825c4b..2990afde3e9 100644
--- a/lib/systems/default.nix
+++ b/lib/systems/default.nix
@@ -16,9 +16,6 @@ rec {
   */
   flakeExposed = import ./flake-systems.nix { };
 
-  # TODO(@sternenseemann): remove before 21.11
-  supported = throw "2022-05-23: Use lib.systems.flakeExposed instead of lib.systems.supported.hydra, as lib.systems.supported has been removed";
-
   # Elaborate a `localSystem` or `crossSystem` so that it contains everything
   # necessary.
   #
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index a0a8fcaf25c..f5ec01fab6b 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -683,6 +683,13 @@
     githubId = 2626481;
     name = "Ambroz Bizjak";
   };
+  amesgen = {
+    email = "amesgen@amesgen.de";
+    github = "amesgen";
+    githubId = 15369874;
+    name = "Alexander Esgen";
+    matrix = "@amesgen:amesgen.de";
+  };
   ametrine = {
     name = "Matilde Ametrine";
     email = "matilde@diffyq.xyz";
@@ -923,6 +930,15 @@
     name = "Anselm Schüler";
     matrix = "@schuelermine:matrix.org";
   };
+  anthonyroussel = {
+    email = "anthony@roussel.dev";
+    github = "anthonyroussel";
+    githubId = 220084;
+    name = "Anthony Roussel";
+    keys = [{
+      fingerprint = "472D 368A F107 F443 F3A5  C712 9DC4 987B 1A55 E75E";
+    }];
+  };
   antoinerg = {
     email = "roygobeil.antoine@gmail.com";
     github = "antoinerg";
@@ -1257,6 +1273,12 @@
     githubId = 1217745;
     name = "Aldwin Vlasblom";
   };
+  aveltras = {
+    email = "romain.viallard@outlook.fr";
+    github = "aveltras";
+    githubId = 790607;
+    name = "Romain Viallard";
+  };
   avery = {
     email = "averyl+nixos@protonmail.com";
     github = "AveryLychee";
@@ -2298,6 +2320,12 @@
     githubId = 811527;
     name = "Christopher Jefferson";
   };
+  chrispattison = {
+    email = "chpattison@gmail.com";
+    github = "ChrisPattison";
+    githubId = 641627;
+    name = "Chris Pattison";
+  };
   chrispickard = {
     email = "chrispickard9@gmail.com";
     github = "chrispickard";
@@ -2879,7 +2907,7 @@
   danth = {
     name = "Daniel Thwaites";
     email = "danthwaites30@btinternet.com";
-    matrix = "@danth:matrix.org";
+    matrix = "@danth:pwak.org";
     github = "danth";
     githubId = 28959268;
     keys = [{
@@ -4394,6 +4422,15 @@
     githubId = 34962634;
     name = "Gabriel Arazas";
   };
+  foolnotion = {
+    email = "bogdan.burlacu@pm.me";
+    github = "foolnotion";
+    githubId = 844222;
+    name = "Bogdan Burlacu";
+    keys = [{
+      fingerprint = "B722 6464 838F 8BDB 2BEA  C8C8 5B0E FDDF BA81 6105";
+    }];
+  };
   forkk = {
     email = "forkk@forkk.net";
     github = "Forkk";
@@ -5224,6 +5261,16 @@
     githubId = 6074754;
     name = "Hlodver Sigurdsson";
   };
+  huantian = {
+    name = "David Li";
+    email = "davidtianli@gmail.com";
+    matrix = "@huantian:huantian.dev";
+    github = "huantianad";
+    githubId = 20760920;
+    keys = [{
+      fingerprint = "731A 7A05 AD8B 3AE5 956A  C227 4A03 18E0 4E55 5DE5";
+    }];
+  };
   hugoreeves = {
     email = "hugo@hugoreeves.com";
     github = "HugoReeves";
@@ -6399,13 +6446,6 @@
     githubId = 3267697;
     name = "Joshua Potter";
   };
-  jschievink = {
-    email = "jonasschievink@gmail.com";
-    matrix = "@jschievink:matrix.org";
-    github = "jonas-schievink";
-    githubId = 1786438;
-    name = "Jonas Schievink";
-  };
   jshcmpbll = {
     email = "me@joshuadcampbell.com";
     github = "jshcmpbll";
@@ -6697,6 +6737,15 @@
     githubId = 37185887;
     name = "Calvin Kim";
   };
+  keksbg = {
+    email = "keksbg@riseup.net";
+    name = "Stella";
+    github = "keksbg";
+    githubId = 10682187;
+    keys = [{
+      fingerprint = "AB42 1F18 5A19 A160 AD77  9885 3D6D CA5B 6F2C 2A7A";
+    }];
+  };
   keldu = {
     email = "mail@keldu.de";
     github = "keldu";
@@ -8074,6 +8123,12 @@
     githubId = 1711539;
     name = "matklad";
   };
+  matrss = {
+    name = "Matthias Riße";
+    email = "matthias.risze@t-online.de";
+    github = "matrss";
+    githubId = 9308656;
+  };
   matt-snider = {
     email = "matt.snider@protonmail.com";
     github = "matt-snider";
@@ -9639,6 +9694,12 @@
     githubId = 1237862;
     name = "Ollie Bunting";
   };
+  oluceps = {
+    email = "nixos@oluceps.uk";
+    github = "oluceps";
+    githubId = 35628088;
+    name = "oluceps";
+  };
   olynch = {
     email = "owen@olynch.me";
     github = "olynch";
@@ -9747,6 +9808,12 @@
     githubId = 25278;
     name = "Otavio Salvador";
   };
+  otini = {
+    name = "Olivier Nicole";
+    email = "olivier@chnik.fr";
+    github = "OlivierNicole";
+    githubId = 14031333;
+  };
   otwieracz = {
     email = "slawek@otwiera.cz";
     github = "otwieracz";
@@ -9854,6 +9921,12 @@
     githubId = 1788628;
     name = "pandaman";
   };
+  panicgh = {
+    email = "nbenes.gh@xandea.de";
+    github = "panicgh";
+    githubId = 79252025;
+    name = "Nicolas Benes";
+  };
   paperdigits = {
     email = "mica@silentumbrella.com";
     github = "paperdigits";
@@ -11395,6 +11468,12 @@
     githubId = 107703;
     name = "Samuel Rivas";
   };
+  samw = {
+    email = "sam@wlcx.cc";
+    github = "wlcx";
+    githubId = 3065381;
+    name = "Sam Willcocks";
+  };
   samyak = {
     name = "Samyak Sarnayak";
     email = "samyak201@gmail.com";
@@ -12145,6 +12224,12 @@
     githubId = 36899624;
     name = "squalus";
   };
+  squarepear = {
+    email = "contact@jeffreyharmon.dev";
+    github = "SquarePear";
+    githubId = 16364318;
+    name = "Jeffrey Harmon";
+  };
   srapenne = {
     email = "solene@perso.pw";
     github = "rapenne-s";
@@ -13100,6 +13185,12 @@
     githubId = 61303;
     name = "Tom Fitzhenry";
   };
+  tomhoule = {
+    email = "secondary+nixpkgs@tomhoule.com";
+    github = "tomhoule";
+    githubId = 13155277;
+    name = "Tom Houle";
+  };
   tomsmeets = {
     email = "tom.tsmeets@gmail.com";
     github = "TomSmeets";
diff --git a/maintainers/scripts/haskell/hydra-report.hs b/maintainers/scripts/haskell/hydra-report.hs
index fe55f13de70..f7e5f573982 100755
--- a/maintainers/scripts/haskell/hydra-report.hs
+++ b/maintainers/scripts/haskell/hydra-report.hs
@@ -451,8 +451,8 @@ printBuildSummary
       showBuild (name, entry) = printJob id name (summaryBuilds entry, Text.pack (if summaryReverseDeps entry > 0 then " :arrow_heading_up: " <> show (summaryUnbrokenReverseDeps entry) <>" | "<> show (summaryReverseDeps entry) else ""))
       showMaintainedBuild (name, (table, maintainers)) = printJob id name (table, Text.intercalate " " (fmap ("@" <>) (toList maintainers)))
       tldr = case (errors, warnings) of
-               ([],[]) -> [":green_circle: **Ready to merge** (if there are no [Evaluation Errors](https://hydra.nixos.org/jobset/nixpkgs/haskell-updates))"]
-               ([],_) -> [":yellow_circle: **Potential issues** (and possibly [Evaluation Errors](https://hydra.nixos.org/jobset/nixpkgs/haskell-updates))"]
+               ([],[]) -> [":green_circle: **Ready to merge** (if there are no [evaluation errors](https://hydra.nixos.org/jobset/nixpkgs/haskell-updates))"]
+               ([],_) -> [":yellow_circle: **Potential issues** (and possibly [evaluation errors](https://hydra.nixos.org/jobset/nixpkgs/haskell-updates))"]
                _ -> [":red_circle: **Branch not mergeable**"]
       warnings =
          if' (Unfinished > maybe Success worstState maintainedJob) "`maintained` jobset failed." <>
diff --git a/maintainers/scripts/luarocks-packages.csv b/maintainers/scripts/luarocks-packages.csv
index c7b1e405ebb..e41e8a16254 100644
--- a/maintainers/scripts/luarocks-packages.csv
+++ b/maintainers/scripts/luarocks-packages.csv
@@ -39,11 +39,13 @@ lua-cmsgpack,,,,,,
 lua-iconv,,,,,,
 lua-lsp,,,,,,
 lua-messagepack,,,,,,
+lua-protobuf,,,,,,lockejan
 lua-resty-http,,,,,,
 lua-resty-jwt,,,,,,
 lua-resty-openidc,,,,,,
 lua-resty-openssl,,,,,,
 lua-resty-session,,,,,,
+lua-subprocess,https://github.com/0x0ade/lua-subprocess,,,,lua5_1,scoder12
 lua-term,,,,,,
 lua-toml,,,,,,
 lua-zlib,,,,,,koral
@@ -70,6 +72,7 @@ luasql-sqlite3,,,,,,vyp
 luassert,,,,,,
 luasystem,,,,,,
 luaunbound,,,,,
+luaunit,,,,,,lockejan
 luautf8,,,,,,pstn
 luazip,,,,,,
 lua-yajl,,,,,,pstn
@@ -86,6 +89,7 @@ plenary.nvim,https://github.com/nvim-lua/plenary.nvim.git,,,,lua5_1,
 rapidjson,https://github.com/xpol/lua-rapidjson.git,,,,,
 readline,,,,,,
 say,https://github.com/Olivine-Labs/say.git,,,,,
+serpent,,,,,,lockejan
 sqlite,,,,,,
 std._debug,https://github.com/lua-stdlib/_debug.git,,,,,
 std.normalize,https://github.com/lua-stdlib/normalize.git,,,,,
diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix
index 3dda306cd16..86d297730ce 100644
--- a/maintainers/team-list.nix
+++ b/maintainers/team-list.nix
@@ -256,12 +256,8 @@ with lib.maintainers; {
   golang = {
     members = [
       c00w
-      cstrahan
-      Frostman
       kalbasit
       mic92
-      orivej
-      rvolosatovs
       zowoq
     ];
     scope = "Maintain Golang compilers.";
diff --git a/nixos/doc/manual/configuration/gpu-accel.chapter.md b/nixos/doc/manual/configuration/gpu-accel.chapter.md
index 08b6af5d98a..835cbad5548 100644
--- a/nixos/doc/manual/configuration/gpu-accel.chapter.md
+++ b/nixos/doc/manual/configuration/gpu-accel.chapter.md
@@ -169,7 +169,7 @@ configuration, GPU devices have world-read/write permissions
 (`/dev/dri/renderD*`) or are tagged as `uaccess` (`/dev/dri/card*`). The
 access control lists of devices with the `uaccess` tag will be updated
 automatically when a user logs in through `systemd-logind`. For example,
-if the user *jane* is logged in, the access control list should look as
+if the user *alice* is logged in, the access control list should look as
 follows:
 
 ```ShellSession
@@ -178,7 +178,7 @@ $ getfacl /dev/dri/card0
 # owner: root
 # group: video
 user::rw-
-user:jane:rw-
+user:alice:rw-
 group::rw-
 mask::rw-
 other::---
diff --git a/nixos/doc/manual/development/option-declarations.section.md b/nixos/doc/manual/development/option-declarations.section.md
index 79914f2cb6c..8bf73a66456 100644
--- a/nixos/doc/manual/development/option-declarations.section.md
+++ b/nixos/doc/manual/development/option-declarations.section.md
@@ -127,14 +127,14 @@ lib.mkOption {
 ```nix
 lib.mkPackageOption pkgs "GHC" {
   default = [ "ghc" ];
-  example = "pkgs.haskell.package.ghc923.ghc.withPackages (hkgs: [ hkgs.primes ])";
+  example = "pkgs.haskell.packages.ghc924.ghc.withPackages (hkgs: [ hkgs.primes ])";
 }
 # is like
 lib.mkOption {
   type = lib.types.package;
   default = pkgs.ghc;
   defaultText = lib.literalExpression "pkgs.ghc";
-  example = lib.literalExpression "pkgs.haskell.package.ghc923.ghc.withPackages (hkgs: [ hkgs.primes ])";
+  example = lib.literalExpression "pkgs.haskell.packages.ghc924.ghc.withPackages (hkgs: [ hkgs.primes ])";
   description = "The GHC package to use.";
 }
 ```
diff --git a/nixos/doc/manual/development/writing-nixos-tests.section.md b/nixos/doc/manual/development/writing-nixos-tests.section.md
index da965ce09e3..6934bb0face 100644
--- a/nixos/doc/manual/development/writing-nixos-tests.section.md
+++ b/nixos/doc/manual/development/writing-nixos-tests.section.md
@@ -347,7 +347,7 @@ import ./make-test-python.nix {
 
 ## Failing tests early {#ssec-failing-tests-early}
 
-To fail tests early when certain invariables are no longer met (instead of waiting for the build to time out), the decorator `polling_condition` is provided. For example, if we are testing a program `foo` that should not quit after being started, we might write the following:
+To fail tests early when certain invariants are no longer met (instead of waiting for the build to time out), the decorator `polling_condition` is provided. For example, if we are testing a program `foo` that should not quit after being started, we might write the following:
 
 ```py
 @polling_condition
@@ -369,29 +369,29 @@ with foo_running:
 :
     specifies how often the condition should be polled:
 
-    ```py
-    @polling_condition(seconds_interval=10)
-    def foo_running():
-        machine.succeed("pgrep -x foo")
-    ```
+```py
+@polling_condition(seconds_interval=10)
+def foo_running():
+    machine.succeed("pgrep -x foo")
+```
 
 `description`
 
 :
     is used in the log when the condition is checked. If this is not provided, the description is pulled from the docstring of the function. These two are therefore equivalent:
 
-    ```py
-    @polling_condition
-    def foo_running():
-        "check that foo is running"
-        machine.succeed("pgrep -x foo")
-    ```
+```py
+@polling_condition
+def foo_running():
+    "check that foo is running"
+    machine.succeed("pgrep -x foo")
+```
 
-    ```py
-    @polling_condition(description="check that foo is running")
-    def foo_running():
-        machine.succeed("pgrep -x foo")
-    ```
+```py
+@polling_condition(description="check that foo is running")
+def foo_running():
+    machine.succeed("pgrep -x foo")
+```
 
 ## Adding Python packages to the test script {#ssec-python-packages-in-test-script}
 
diff --git a/nixos/doc/manual/from_md/configuration/gpu-accel.chapter.xml b/nixos/doc/manual/from_md/configuration/gpu-accel.chapter.xml
index 8e780c5dee9..cc559a1933d 100644
--- a/nixos/doc/manual/from_md/configuration/gpu-accel.chapter.xml
+++ b/nixos/doc/manual/from_md/configuration/gpu-accel.chapter.xml
@@ -194,7 +194,7 @@ environment.variables.VK_ICD_FILENAMES =
         devices with the <literal>uaccess</literal> tag will be updated
         automatically when a user logs in through
         <literal>systemd-logind</literal>. For example, if the user
-        <emphasis>jane</emphasis> is logged in, the access control list
+        <emphasis>alice</emphasis> is logged in, the access control list
         should look as follows:
       </para>
       <programlisting>
@@ -203,7 +203,7 @@ $ getfacl /dev/dri/card0
 # owner: root
 # group: video
 user::rw-
-user:jane:rw-
+user:alice:rw-
 group::rw-
 mask::rw-
 other::---
diff --git a/nixos/doc/manual/from_md/development/option-declarations.section.xml b/nixos/doc/manual/from_md/development/option-declarations.section.xml
index 03ec48f35fd..d7c7f7716be 100644
--- a/nixos/doc/manual/from_md/development/option-declarations.section.xml
+++ b/nixos/doc/manual/from_md/development/option-declarations.section.xml
@@ -193,14 +193,14 @@ lib.mkOption {
         <programlisting language="bash">
 lib.mkPackageOption pkgs &quot;GHC&quot; {
   default = [ &quot;ghc&quot; ];
-  example = &quot;pkgs.haskell.package.ghc923.ghc.withPackages (hkgs: [ hkgs.primes ])&quot;;
+  example = &quot;pkgs.haskell.packages.ghc924.ghc.withPackages (hkgs: [ hkgs.primes ])&quot;;
 }
 # is like
 lib.mkOption {
   type = lib.types.package;
   default = pkgs.ghc;
   defaultText = lib.literalExpression &quot;pkgs.ghc&quot;;
-  example = lib.literalExpression &quot;pkgs.haskell.package.ghc923.ghc.withPackages (hkgs: [ hkgs.primes ])&quot;;
+  example = lib.literalExpression &quot;pkgs.haskell.packages.ghc924.ghc.withPackages (hkgs: [ hkgs.primes ])&quot;;
   description = &quot;The GHC package to use.&quot;;
 }
 </programlisting>
diff --git a/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml b/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml
index 7e4af038290..d6f4f61c064 100644
--- a/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml
+++ b/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml
@@ -607,7 +607,7 @@ import ./make-test-python.nix {
   <section xml:id="ssec-failing-tests-early">
     <title>Failing tests early</title>
     <para>
-      To fail tests early when certain invariables are no longer met
+      To fail tests early when certain invariants are no longer met
       (instead of waiting for the build to time out), the decorator
       <literal>polling_condition</literal> is provided. For example, if
       we are testing a program <literal>foo</literal> that should not
@@ -635,12 +635,10 @@ with foo_running:
     <para>
       : specifies how often the condition should be polled:
     </para>
-    <programlisting>
-```py
+    <programlisting language="python">
 @polling_condition(seconds_interval=10)
 def foo_running():
     machine.succeed(&quot;pgrep -x foo&quot;)
-```
 </programlisting>
     <para>
       <literal>description</literal>
@@ -650,19 +648,16 @@ def foo_running():
       provided, the description is pulled from the docstring of the
       function. These two are therefore equivalent:
     </para>
-    <programlisting>
-```py
+    <programlisting language="python">
 @polling_condition
 def foo_running():
     &quot;check that foo is running&quot;
     machine.succeed(&quot;pgrep -x foo&quot;)
-```
-
-```py
+</programlisting>
+    <programlisting language="python">
 @polling_condition(description=&quot;check that foo is running&quot;)
 def foo_running():
     machine.succeed(&quot;pgrep -x foo&quot;)
-```
 </programlisting>
   </section>
   <section xml:id="ssec-python-packages-in-test-script">
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
index 882eea3c4a4..383c9d8a04c 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
@@ -97,6 +97,11 @@
       </listitem>
       <listitem>
         <para>
+          Cinnamon has been updated to 5.4.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <literal>hardware.nvidia</literal> has a new option
           <literal>open</literal> that can be used to opt in the
           opensource version of NVIDIA kernel driver. Note that the
@@ -121,6 +126,13 @@
       </listitem>
       <listitem>
         <para>
+          <link xlink:href="https://github.com/mozilla-services/syncstorage-rs">syncstorage-rs</link>,
+          a self-hostable sync server for Firefox. Available as
+          <link xlink:href="options.html#opt-services.firefox-syncserver.enable">services.firefox-syncserver</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <link xlink:href="https://dragonflydb.io/">dragonflydb</link>,
           a modern replacement for Redis and Memcached. Available as
           <link linkend="opt-services.dragonflydb.enable">services.dragonflydb</link>.
@@ -128,6 +140,14 @@
       </listitem>
       <listitem>
         <para>
+          <link xlink:href="https://hbase.apache.org/">HBase
+          cluster</link>, a distributed, scalable, big data store.
+          Available as
+          <link xlink:href="options.html#opt-services.hadoop.hbase.enable">services.hadoop.hbase</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <link xlink:href="https://github.com/leetronics/infnoise">infnoise</link>,
           a hardware True Random Number Generator dongle. Available as
           <link xlink:href="options.html#opt-services.infnoise.enable">services.infnoise</link>.
@@ -254,6 +274,14 @@
       </listitem>
       <listitem>
         <para>
+          <literal>services.hbase</literal> has been renamed to
+          <literal>services.hbase-standalone</literal>. For production
+          HBase clusters, use <literal>services.hadoop.hbase</literal>
+          instead.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           PHP 7.4 is no longer supported due to upstream not supporting
           this version for the entire lifecycle of the 22.11 release.
         </para>
@@ -281,6 +309,12 @@
       </listitem>
       <listitem>
         <para>
+          virtlyst package and <literal>services.virtlyst</literal>
+          module removed, due to lack of maintainers.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           The <literal>services.graphite.api</literal> and
           <literal>services.graphite.beacon</literal> NixOS options, and
           the <literal>python3.pkgs.graphite_api</literal>,
@@ -340,6 +374,13 @@
       </listitem>
       <listitem>
         <para>
+          Neo4j was updated from version 3 to version 4. See this
+          <link xlink:href="https://neo4j.com/docs/upgrade-migration-guide/current/">migration
+          guide</link> on how to migrate your Neo4j instance.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           Matrix Synapse now requires entries in the
           <literal>state_group_edges</literal> table to be unique, in
           order to prevent accidentally introducing duplicate
@@ -367,6 +408,18 @@
       </listitem>
       <listitem>
         <para>
+          The udisks2 service, available at
+          <literal>services.udisks2.enable</literal>, is now disabled by
+          default. It will automatically be enabled through services and
+          desktop environments as needed. This also means that polkit
+          will now actually be disabled by default. The default for
+          <literal>security.polkit.enable</literal> was already flipped
+          in the previous release, but udisks2 being enabled by default
+          re-enabled it.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           Add udev rules for the Teensy family of microcontrollers.
         </para>
       </listitem>
@@ -381,6 +434,12 @@
       </listitem>
       <listitem>
         <para>
+          There is a new module for AMD SEV CPU functionality, which
+          grants access to the hardware.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           There is a new module for the <literal>thunar</literal>
           program (the Xfce file manager), which depends on the
           <literal>xfconf</literal> dbus service, and also has a dbus
diff --git a/nixos/doc/manual/release-notes/rl-2211.section.md b/nixos/doc/manual/release-notes/rl-2211.section.md
index a2757d67e89..53daf954463 100644
--- a/nixos/doc/manual/release-notes/rl-2211.section.md
+++ b/nixos/doc/manual/release-notes/rl-2211.section.md
@@ -46,6 +46,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - PHP now defaults to PHP 8.1, updated from 8.0.
 
+- Cinnamon has been updated to 5.4.
+
 - `hardware.nvidia` has a new option `open` that can be used to opt in the opensource version of NVIDIA kernel driver. Note that the driver's support for GeForce and Workstation GPUs is still alpha quality, see [NVIDIA Releases Open-Source GPU Kernel Modules](https://developer.nvidia.com/blog/nvidia-releases-open-source-gpu-kernel-modules/) for the official announcement.
 
 <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
@@ -53,9 +55,12 @@ In addition to numerous new and upgraded packages, this release has the followin
 ## New Services {#sec-release-22.11-new-services}
 
 - [appvm](https://github.com/jollheef/appvm), Nix based app VMs. Available as [virtualisation.appvm](options.html#opt-virtualisation.appvm.enable).
+- [syncstorage-rs](https://github.com/mozilla-services/syncstorage-rs), a self-hostable sync server for Firefox. Available as [services.firefox-syncserver](options.html#opt-services.firefox-syncserver.enable).
 
 - [dragonflydb](https://dragonflydb.io/), a modern replacement for Redis and Memcached. Available as [services.dragonflydb](#opt-services.dragonflydb.enable).
 
+- [HBase cluster](https://hbase.apache.org/), a distributed, scalable, big data store. Available as [services.hadoop.hbase](options.html#opt-services.hadoop.hbase.enable).
+
 - [infnoise](https://github.com/leetronics/infnoise), a hardware True Random Number Generator dongle.
   Available as [services.infnoise](options.html#opt-services.infnoise.enable).
 
@@ -98,6 +103,9 @@ In addition to numerous new and upgraded packages, this release has the followin
   as it requires `qt4`, which reached its end-of-life 2015 and will no longer be supported by nixpkgs.
   [According to Barco](https://www.barco.com/de/support/knowledge-base/4380-can-i-use-linux-os-with-clickshare-base-units) many of their base unit models can be used with Google Chrome and the Google Cast extension.
 
+- `services.hbase` has been renamed to `services.hbase-standalone`.
+  For production HBase clusters, use `services.hadoop.hbase` instead.
+
 - PHP 7.4 is no longer supported due to upstream not supporting this
   version for the entire lifecycle of the 22.11 release.
 
@@ -107,6 +115,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - xow package removed along with the `hardware.xow` module, due to the project being deprecated in favor of `xone`,  which is available via the `hardware.xone` module.
 
+- virtlyst package and `services.virtlyst` module removed, due to lack of maintainers.
+
 - The `services.graphite.api` and `services.graphite.beacon` NixOS options, and
   the `python3.pkgs.graphite_api`, `python3.pkgs.graphite_beacon` and
   `python3.pkgs.influxgraph` packages, have been removed due to lack of upstream
@@ -129,6 +139,8 @@ Use `configure.packages` instead.
 
 - The Redis module now disables RDB persistence when `services.redis.servers.<name>.save = []` instead of using the Redis default.
 
+- Neo4j was updated from version 3 to version 4. See this [migration guide](https://neo4j.com/docs/upgrade-migration-guide/current/) on how to migrate your Neo4j instance.
+
 - Matrix Synapse now requires entries in the `state_group_edges` table to be unique, in order to prevent accidentally introducing duplicate information (for example, because a database backup was restored multiple times). If your Synapse database already has duplicate rows in this table, this could fail with an error and require manual remediation.
 
 - `dockerTools.buildImage` deprecates the misunderstood `contents` parameter, in favor of `copyToRoot`.
@@ -136,10 +148,15 @@ Use `configure.packages` instead.
 
 - memtest86+ was updated from 5.00-coreboot-002 to 6.00-beta2. It is now the upstream version from https://www.memtest.org/, as coreboot's fork is no longer available.
 
+- The udisks2 service, available at `services.udisks2.enable`, is now disabled by default. It will automatically be enabled through services and desktop environments as needed.
+  This also means that polkit will now actually be disabled by default. The default for `security.polkit.enable` was already flipped in the previous release, but udisks2 being enabled by default re-enabled it.
+
 - Add udev rules for the Teensy family of microcontrollers.
 
 - The `pass-secret-service` package now includes systemd units from upstream, so adding it to the NixOS `services.dbus.packages` option will make it start automatically as a systemd user service when an application tries to talk to the libsecret D-Bus API.
 
+- There is a new module for AMD SEV CPU functionality, which grants access to the hardware.
+
 - There is a new module for the `thunar` program (the Xfce file manager), which depends on the `xfconf` dbus service, and also has a dbus service and a systemd unit. The option `services.xserver.desktopManager.xfce.thunarPlugins` has been renamed to `programs.thunar.plugins`, and in a future release it may be removed.
 
 - There is a new module for the `xfconf` program (the Xfce configuration storage system), which has a dbus service.
diff --git a/nixos/lib/make-options-doc/default.nix b/nixos/lib/make-options-doc/default.nix
index e039bc4a9b7..6649fc41d41 100644
--- a/nixos/lib/make-options-doc/default.nix
+++ b/nixos/lib/make-options-doc/default.nix
@@ -99,14 +99,6 @@ let
 
   optionsNix = builtins.listToAttrs (map (o: { name = o.name; value = removeAttrs o ["name" "visible" "internal"]; }) optionsList);
 
-  pythonMD =
-    let
-      self = (pkgs.python3Minimal.override {
-        inherit self;
-        includeSiteCustomize = true;
-        });
-      in self.withPackages (p: [ p.mistune_2_0 ]);
-
 in rec {
   inherit optionsNix;
 
@@ -124,20 +116,17 @@ in rec {
 
   optionsJSON = pkgs.runCommand "options.json"
     { meta.description = "List of NixOS options in JSON format";
-      buildInputs = [ pkgs.brotli pythonMD ];
+      buildInputs = [
+        pkgs.brotli
+        (let
+          self = (pkgs.python3Minimal.override {
+            inherit self;
+            includeSiteCustomize = true;
+           });
+         in self.withPackages (p: [ p.mistune_2_0 ]))
+      ];
       options = builtins.toFile "options.json"
         (builtins.unsafeDiscardStringContext (builtins.toJSON optionsNix));
-      # convert markdown to docbook in its own derivation to cache the
-      # conversion results. the conversion is surprisingly expensive.
-      baseJSON =
-        if baseOptionsJSON != null
-        then
-          pkgs.runCommand "base-json-md-converted" {
-            buildInputs = [ pythonMD ];
-          } ''
-            python ${./mergeJSON.py} ${baseOptionsJSON} <(echo '{}') > $out
-          ''
-        else null;
     }
     ''
       # Export list of options in different format.
@@ -154,7 +143,7 @@ in rec {
           else ''
             python ${./mergeJSON.py} \
               ${lib.optionalString warningsAreErrors "--warnings-are-errors"} \
-              $baseJSON $options \
+              ${baseOptionsJSON} $options \
               > $dst/options.json
           ''
       }
diff --git a/nixos/lib/make-options-doc/mergeJSON.py b/nixos/lib/make-options-doc/mergeJSON.py
index e95352f4fe6..d7dc6ca3007 100644
--- a/nixos/lib/make-options-doc/mergeJSON.py
+++ b/nixos/lib/make-options-doc/mergeJSON.py
@@ -3,6 +3,11 @@ import json
 import sys
 from typing import Any, Dict, List
 
+# for MD conversion
+import mistune
+import re
+from xml.sax.saxutils import escape, quoteattr
+
 JSON = Dict[str, Any]
 
 class Key:
@@ -41,137 +46,135 @@ def unpivot(options: Dict[Key, Option]) -> Dict[str, JSON]:
         result[opt.name] = opt.value
     return result
 
-# converts in-place!
-def convertMD(options: Dict[str, Any]) -> str:
-    import mistune
-    import re
-    from xml.sax.saxutils import escape, quoteattr
-
-    admonitions = {
-        '.warning': 'warning',
-        '.important': 'important',
-        '.note': 'note'
-    }
-    class Renderer(mistune.renderers.BaseRenderer):
-        def __init__(self, path):
-            self.path = path
-        def _get_method(self, name):
-            try:
-                return super(Renderer, self)._get_method(name)
-            except AttributeError:
-                def not_supported(*args, **kwargs):
-                    raise NotImplementedError("md node not supported yet", self.path, name, args, **kwargs)
-                return not_supported
-
-        def text(self, text):
-            return escape(text)
-        def paragraph(self, text):
-            return text + "\n\n"
-        def newline(self):
-            return "<literallayout>\n</literallayout>"
-        def codespan(self, text):
-            return f"<literal>{escape(text)}</literal>"
-        def block_code(self, text, info=None):
-            info = f" language={quoteattr(info)}" if info is not None else ""
-            return f"<programlisting{info}>\n{escape(text)}</programlisting>"
-        def link(self, link, text=None, title=None):
-            if link[0:1] == '#':
-                attr = "linkend"
-                link = quoteattr(link[1:])
-            else:
-                # try to faithfully reproduce links that were of the form <link href="..."/>
-                # in docbook format
-                if text == link:
-                    text = ""
-                attr = "xlink:href"
-                link = quoteattr(link)
-            return f"<link {attr}={link}>{text}</link>"
-        def list(self, text, ordered, level, start=None):
-            if ordered:
-                raise NotImplementedError("ordered lists not supported yet")
-            return f"<itemizedlist>\n{text}\n</itemizedlist>"
-        def list_item(self, text, level):
-            return f"<listitem><para>{text}</para></listitem>\n"
-        def block_text(self, text):
-            return text
-        def emphasis(self, text):
-            return f"<emphasis>{text}</emphasis>"
-        def strong(self, text):
-            return f"<emphasis role=\"strong\">{text}</emphasis>"
-        def admonition(self, text, kind):
-            if kind not in admonitions:
-                raise NotImplementedError(f"admonition {kind} not supported yet")
-            tag = admonitions[kind]
-            # we don't keep whitespace here because usually we'll contain only
-            # a single paragraph and the original docbook string is no longer
-            # available to restore the trailer.
-            return f"<{tag}><para>{text.rstrip()}</para></{tag}>"
-        def block_quote(self, text):
-            return f"<blockquote><para>{text}</para></blockquote>"
-        def command(self, text):
-            return f"<command>{escape(text)}</command>"
-        def option(self, text):
-            return f"<option>{escape(text)}</option>"
-        def file(self, text):
-            return f"<filename>{escape(text)}</filename>"
-        def manpage(self, page, section):
-            title = f"<refentrytitle>{escape(page)}</refentrytitle>"
-            vol = f"<manvolnum>{escape(section)}</manvolnum>"
-            return f"<citerefentry>{title}{vol}</citerefentry>"
-
-        def finalize(self, data):
-            return "".join(data)
-
-    plugins = []
-
+admonitions = {
+    '.warning': 'warning',
+    '.important': 'important',
+    '.note': 'note'
+}
+class Renderer(mistune.renderers.BaseRenderer):
+    def _get_method(self, name):
+        try:
+            return super(Renderer, self)._get_method(name)
+        except AttributeError:
+            def not_supported(*args, **kwargs):
+                raise NotImplementedError("md node not supported yet", name, args, **kwargs)
+            return not_supported
+
+    def text(self, text):
+        return escape(text)
+    def paragraph(self, text):
+        return text + "\n\n"
+    def newline(self):
+        return "<literallayout>\n</literallayout>"
+    def codespan(self, text):
+        return f"<literal>{escape(text)}</literal>"
+    def block_code(self, text, info=None):
+        info = f" language={quoteattr(info)}" if info is not None else ""
+        return f"<programlisting{info}>\n{escape(text)}</programlisting>"
+    def link(self, link, text=None, title=None):
+        tag = "link"
+        if link[0:1] == '#':
+            if text == "":
+                tag = "xref"
+            attr = "linkend"
+            link = quoteattr(link[1:])
+        else:
+            # try to faithfully reproduce links that were of the form <link href="..."/>
+            # in docbook format
+            if text == link:
+                text = ""
+            attr = "xlink:href"
+            link = quoteattr(link)
+        return f"<{tag} {attr}={link}>{text}</{tag}>"
+    def list(self, text, ordered, level, start=None):
+        if ordered:
+            raise NotImplementedError("ordered lists not supported yet")
+        return f"<itemizedlist>\n{text}\n</itemizedlist>"
+    def list_item(self, text, level):
+        return f"<listitem><para>{text}</para></listitem>\n"
+    def block_text(self, text):
+        return text
+    def emphasis(self, text):
+        return f"<emphasis>{text}</emphasis>"
+    def strong(self, text):
+        return f"<emphasis role=\"strong\">{text}</emphasis>"
+    def admonition(self, text, kind):
+        if kind not in admonitions:
+            raise NotImplementedError(f"admonition {kind} not supported yet")
+        tag = admonitions[kind]
+        # we don't keep whitespace here because usually we'll contain only
+        # a single paragraph and the original docbook string is no longer
+        # available to restore the trailer.
+        return f"<{tag}><para>{text.rstrip()}</para></{tag}>"
+    def block_quote(self, text):
+        return f"<blockquote><para>{text}</para></blockquote>"
+    def command(self, text):
+        return f"<command>{escape(text)}</command>"
+    def option(self, text):
+        return f"<option>{escape(text)}</option>"
+    def file(self, text):
+        return f"<filename>{escape(text)}</filename>"
+    def manpage(self, page, section):
+        title = f"<refentrytitle>{escape(page)}</refentrytitle>"
+        vol = f"<manvolnum>{escape(section)}</manvolnum>"
+        return f"<citerefentry>{title}{vol}</citerefentry>"
+
+    def finalize(self, data):
+        return "".join(data)
+
+def p_command(md):
     COMMAND_PATTERN = r'\{command\}`(.*?)`'
-    def command(md):
-        def parse(self, m, state):
-            return ('command', m.group(1))
-        md.inline.register_rule('command', COMMAND_PATTERN, parse)
-        md.inline.rules.append('command')
-    plugins.append(command)
+    def parse(self, m, state):
+        return ('command', m.group(1))
+    md.inline.register_rule('command', COMMAND_PATTERN, parse)
+    md.inline.rules.append('command')
 
+def p_file(md):
     FILE_PATTERN = r'\{file\}`(.*?)`'
-    def file(md):
-        def parse(self, m, state):
-            return ('file', m.group(1))
-        md.inline.register_rule('file', FILE_PATTERN, parse)
-        md.inline.rules.append('file')
-    plugins.append(file)
+    def parse(self, m, state):
+        return ('file', m.group(1))
+    md.inline.register_rule('file', FILE_PATTERN, parse)
+    md.inline.rules.append('file')
 
+def p_option(md):
     OPTION_PATTERN = r'\{option\}`(.*?)`'
-    def option(md):
-        def parse(self, m, state):
-            return ('option', m.group(1))
-        md.inline.register_rule('option', OPTION_PATTERN, parse)
-        md.inline.rules.append('option')
-    plugins.append(option)
+    def parse(self, m, state):
+        return ('option', m.group(1))
+    md.inline.register_rule('option', OPTION_PATTERN, parse)
+    md.inline.rules.append('option')
 
+def p_manpage(md):
     MANPAGE_PATTERN = r'\{manpage\}`(.*?)\((.+?)\)`'
-    def manpage(md):
-        def parse(self, m, state):
-            return ('manpage', m.group(1), m.group(2))
-        md.inline.register_rule('manpage', MANPAGE_PATTERN, parse)
-        md.inline.rules.append('manpage')
-    plugins.append(manpage)
+    def parse(self, m, state):
+        return ('manpage', m.group(1), m.group(2))
+    md.inline.register_rule('manpage', MANPAGE_PATTERN, parse)
+    md.inline.rules.append('manpage')
 
+def p_admonition(md):
     ADMONITION_PATTERN = re.compile(r'^::: \{([^\n]*?)\}\n(.*?)^:::\n', flags=re.MULTILINE|re.DOTALL)
-    def admonition(md):
-        def parse(self, m, state):
-            return {
-                'type': 'admonition',
-                'children': self.parse(m.group(2), state),
-                'params': [ m.group(1) ],
-            }
-        md.block.register_rule('admonition', ADMONITION_PATTERN, parse)
-        md.block.rules.append('admonition')
-    plugins.append(admonition)
+    def parse(self, m, state):
+        return {
+            'type': 'admonition',
+            'children': self.parse(m.group(2), state),
+            'params': [ m.group(1) ],
+        }
+    md.block.register_rule('admonition', ADMONITION_PATTERN, parse)
+    md.block.rules.append('admonition')
+
+md = mistune.create_markdown(renderer=Renderer(), plugins=[
+    p_command, p_file, p_option, p_manpage, p_admonition
+])
 
+# converts in-place!
+def convertMD(options: Dict[str, Any]) -> str:
     def convertString(path: str, text: str) -> str:
-        rendered = mistune.markdown(text, renderer=Renderer(path), plugins=plugins)
-        # keep trailing spaces so we can diff the generated XML to check for conversion bugs.
-        return rendered.rstrip() + text[len(text.rstrip()):]
+        try:
+            rendered = md(text)
+            # keep trailing spaces so we can diff the generated XML to check for conversion bugs.
+            return rendered.rstrip() + text[len(text.rstrip()):]
+        except:
+            print(f"error in {path}")
+            raise
 
     def optionIs(option: Dict[str, Any], key: str, typ: str) -> bool:
         if key not in option: return False
diff --git a/nixos/maintainers/scripts/lxd/lxd-image-inner.nix b/nixos/maintainers/scripts/lxd/lxd-image-inner.nix
index 74634fd1671..ead3d4e9940 100644
--- a/nixos/maintainers/scripts/lxd/lxd-image-inner.nix
+++ b/nixos/maintainers/scripts/lxd/lxd-image-inner.nix
@@ -55,7 +55,7 @@ with lib;
   # services.xserver.libinput.enable = true;
 
   # Define a user account. Don't forget to set a password with ‘passwd’.
-  # users.users.jane = {
+  # users.users.alice = {
   #   isNormalUser = true;
   #   extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
   # };
diff --git a/nixos/modules/config/i18n.nix b/nixos/modules/config/i18n.nix
index 80ef515fbfe..f73f10f0f36 100644
--- a/nixos/modules/config/i18n.nix
+++ b/nixos/modules/config/i18n.nix
@@ -71,12 +71,11 @@ with lib;
             ))
         '';
         example = ["en_US.UTF-8/UTF-8" "nl_NL.UTF-8/UTF-8" "nl_NL/ISO-8859-1"];
-        description = ''
+        description = lib.mdDoc ''
           List of locales that the system should support.  The value
-          <literal>"all"</literal> means that all locales supported by
+          `"all"` means that all locales supported by
           Glibc will be installed.  A full list of supported locales
-          can be found at <link
-          xlink:href="https://sourceware.org/git/?p=glibc.git;a=blob;f=localedata/SUPPORTED"/>.
+          can be found at <https://sourceware.org/git/?p=glibc.git;a=blob;f=localedata/SUPPORTED>.
         '';
       };
 
diff --git a/nixos/modules/config/resolvconf.nix b/nixos/modules/config/resolvconf.nix
index cdc40d2c810..76605a063a4 100644
--- a/nixos/modules/config/resolvconf.nix
+++ b/nixos/modules/config/resolvconf.nix
@@ -83,9 +83,9 @@ in
       dnsExtensionMechanism = mkOption {
         type = types.bool;
         default = true;
-        description = ''
-          Enable the <code>edns0</code> option in <filename>resolv.conf</filename>. With
-          that option set, <code>glibc</code> supports use of the extension mechanisms for
+        description = lib.mdDoc ''
+          Enable the `edns0` option in {file}`resolv.conf`. With
+          that option set, `glibc` supports use of the extension mechanisms for
           DNS (EDNS) specified in RFC 2671. The most popular user of that feature is DNSSEC,
           which does not work without it.
         '';
diff --git a/nixos/modules/config/shells-environment.nix b/nixos/modules/config/shells-environment.nix
index 660b2e1fa4b..2fda71749c0 100644
--- a/nixos/modules/config/shells-environment.nix
+++ b/nixos/modules/config/shells-environment.nix
@@ -109,11 +109,11 @@ in
 
     environment.shellAliases = mkOption {
       example = { l = null; ll = "ls -l"; };
-      description = ''
+      description = lib.mdDoc ''
         An attribute set that maps aliases (the top level attribute names in
         this option) to command strings or directly to build outputs. The
         aliases are added to all users' shells.
-        Aliases mapped to <code>null</code> are ignored.
+        Aliases mapped to `null` are ignored.
       '';
       type = with types; attrsOf (nullOr (either str path));
     };
diff --git a/nixos/modules/config/sysctl.nix b/nixos/modules/config/sysctl.nix
index db1f5284f50..b4b2d0452c4 100644
--- a/nixos/modules/config/sysctl.nix
+++ b/nixos/modules/config/sysctl.nix
@@ -26,13 +26,12 @@ in
         { "net.ipv4.tcp_syncookies" = false; "vm.swappiness" = 60; }
       '';
       type = types.attrsOf sysctlOption;
-      description = ''
+      description = lib.mdDoc ''
         Runtime parameters of the Linux kernel, as set by
-        <citerefentry><refentrytitle>sysctl</refentrytitle>
-        <manvolnum>8</manvolnum></citerefentry>.  Note that sysctl
+        {manpage}`sysctl(8)`.  Note that sysctl
         parameters names must be enclosed in quotes
-        (e.g. <literal>"vm.swappiness"</literal> instead of
-        <literal>vm.swappiness</literal>).  The value of each
+        (e.g. `"vm.swappiness"` instead of
+        `vm.swappiness`).  The value of each
         parameter may be a string, integer, boolean, or null
         (signifying the option will not appear at all).
       '';
diff --git a/nixos/modules/config/system-environment.nix b/nixos/modules/config/system-environment.nix
index d2a66b8d932..5b226d5079b 100644
--- a/nixos/modules/config/system-environment.nix
+++ b/nixos/modules/config/system-environment.nix
@@ -16,7 +16,7 @@ in
 
     environment.sessionVariables = mkOption {
       default = {};
-      description = ''
+      description = lib.mdDoc ''
         A set of environment variables used in the global environment.
         These variables will be set by PAM early in the login process.
 
@@ -25,12 +25,12 @@ in
         colon characters.
 
         Note, due to limitations in the PAM format values may not
-        contain the <literal>"</literal> character.
+        contain the `"` character.
 
         Also, these variables are merged into
-        <xref linkend="opt-environment.variables"/> and it is
+        [](#opt-environment.variables) and it is
         therefore not possible to use PAM style variables such as
-        <code>@{HOME}</code>.
+        `@{HOME}`.
       '';
       type = with types; attrsOf (either str (listOf str));
       apply = mapAttrs (n: v: if isList v then concatStringsSep ":" v else v);
@@ -39,26 +39,23 @@ in
     environment.profileRelativeSessionVariables = mkOption {
       type = types.attrsOf (types.listOf types.str);
       example = { PATH = [ "/bin" ]; MANPATH = [ "/man" "/share/man" ]; };
-      description = ''
+      description = lib.mdDoc ''
         Attribute set of environment variable used in the global
         environment. These variables will be set by PAM early in the
         login process.
 
         Variable substitution is available as described in
-        <citerefentry>
-          <refentrytitle>pam_env.conf</refentrytitle>
-          <manvolnum>5</manvolnum>
-        </citerefentry>.
+        {manpage}`pam_env.conf(5)`.
 
         Each attribute maps to a list of relative paths. Each relative
         path is appended to the each profile of
-        <option>environment.profiles</option> to form the content of
+        {option}`environment.profiles` to form the content of
         the corresponding environment variable.
 
         Also, these variables are merged into
-        <xref linkend="opt-environment.profileRelativeEnvVars"/> and it is
+        [](#opt-environment.profileRelativeEnvVars) and it is
         therefore not possible to use PAM style variables such as
-        <code>@{HOME}</code>.
+        `@{HOME}`.
       '';
     };
 
diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix
index 466e3f6138a..915687d1799 100644
--- a/nixos/modules/config/users-groups.nix
+++ b/nixos/modules/config/users-groups.nix
@@ -100,17 +100,17 @@ let
       isNormalUser = mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           Indicates whether this is an account for a “real” user. This
-          automatically sets <option>group</option> to
-          <literal>users</literal>, <option>createHome</option> to
-          <literal>true</literal>, <option>home</option> to
-          <filename>/home/<replaceable>username</replaceable></filename>,
-          <option>useDefaultShell</option> to <literal>true</literal>,
-          and <option>isSystemUser</option> to
-          <literal>false</literal>.
-          Exactly one of <literal>isNormalUser</literal> and
-          <literal>isSystemUser</literal> must be true.
+          automatically sets {option}`group` to
+          `users`, {option}`createHome` to
+          `true`, {option}`home` to
+          {file}`/home/«username»`,
+          {option}`useDefaultShell` to `true`,
+          and {option}`isSystemUser` to
+          `false`.
+          Exactly one of `isNormalUser` and
+          `isSystemUser` must be true.
         '';
       };
 
@@ -151,13 +151,12 @@ let
       pamMount = mkOption {
         type = with types; attrsOf str;
         default = {};
-        description = ''
+        description = lib.mdDoc ''
           Attributes for user's entry in
-          <filename>pam_mount.conf.xml</filename>.
-          Useful attributes might include <code>path</code>,
-          <code>options</code>, <code>fstype</code>, and <code>server</code>.
-          See <link
-          xlink:href="http://pam-mount.sourceforge.net/pam_mount.conf.5.html" />
+          {file}`pam_mount.conf.xml`.
+          Useful attributes might include `path`,
+          `options`, `fstype`, and `server`.
+          See <http://pam-mount.sourceforge.net/pam_mount.conf.5.html>
           for more information.
         '';
       };
@@ -167,12 +166,12 @@ let
         default = pkgs.shadow;
         defaultText = literalExpression "pkgs.shadow";
         example = literalExpression "pkgs.bashInteractive";
-        description = ''
+        description = lib.mdDoc ''
           The path to the user's shell. Can use shell derivations,
-          like <literal>pkgs.bashInteractive</literal>. Don’t
+          like `pkgs.bashInteractive`. Don’t
           forget to enable your shell in
-          <literal>programs</literal> if necessary,
-          like <code>programs.zsh.enable = true;</code>.
+          `programs` if necessary,
+          like `programs.zsh.enable = true;`.
         '';
       };
 
diff --git a/nixos/modules/config/xdg/portal.nix b/nixos/modules/config/xdg/portal.nix
index 1e6ddd7c4a2..689abf267f0 100644
--- a/nixos/modules/config/xdg/portal.nix
+++ b/nixos/modules/config/xdg/portal.nix
@@ -33,7 +33,7 @@ in
 
   options.xdg.portal = {
     enable =
-      mkEnableOption "<link xlink:href='https://github.com/flatpak/xdg-desktop-portal'>xdg desktop integration</link>" // {
+      mkEnableOption ''<link xlink:href="https://github.com/flatpak/xdg-desktop-portal">xdg desktop integration</link>'' // {
         default = false;
       };
 
diff --git a/nixos/modules/hardware/cpu/amd-sev.nix b/nixos/modules/hardware/cpu/amd-sev.nix
new file mode 100644
index 00000000000..32fed2c484d
--- /dev/null
+++ b/nixos/modules/hardware/cpu/amd-sev.nix
@@ -0,0 +1,51 @@
+{ config, lib, ... }:
+with lib;
+let
+  cfg = config.hardware.cpu.amd.sev;
+  defaultGroup = "sev";
+in
+  with lib; {
+    options.hardware.cpu.amd.sev = {
+      enable = mkEnableOption "access to the AMD SEV device";
+      user = mkOption {
+        description = "Owner to assign to the SEV device.";
+        type = types.str;
+        default = "root";
+      };
+      group = mkOption {
+        description = "Group to assign to the SEV device.";
+        type = types.str;
+        default = defaultGroup;
+      };
+      mode = mkOption {
+        description = "Mode to set for the SEV device.";
+        type = types.str;
+        default = "0660";
+      };
+    };
+
+    config = mkIf cfg.enable {
+      assertions = [
+        {
+          assertion = hasAttr cfg.user config.users.users;
+          message = "Given user does not exist";
+        }
+        {
+          assertion = (cfg.group == defaultGroup) || (hasAttr cfg.group config.users.groups);
+          message = "Given group does not exist";
+        }
+      ];
+
+      boot.extraModprobeConfig = ''
+        options kvm_amd sev=1
+      '';
+
+      users.groups = optionalAttrs (cfg.group == defaultGroup) {
+        "${cfg.group}" = {};
+      };
+
+      services.udev.extraRules = with cfg; ''
+        KERNEL=="sev", OWNER="${user}", GROUP="${group}", MODE="${mode}"
+      '';
+    };
+  }
diff --git a/nixos/modules/hardware/logitech.nix b/nixos/modules/hardware/logitech.nix
index 2e3a71c0415..70ca59a7dd3 100644
--- a/nixos/modules/hardware/logitech.nix
+++ b/nixos/modules/hardware/logitech.nix
@@ -32,10 +32,9 @@ in
       devices = mkOption {
         type = types.listOf types.str;
         default = [ "0a07" "c222" "c225" "c227" "c251" ];
-        description = ''
+        description = lib.mdDoc ''
           List of USB device ids supported by g15daemon.
-          </para>
-          <para>
+
           You most likely do not need to change this.
         '';
       };
diff --git a/nixos/modules/hardware/tuxedo-keyboard.nix b/nixos/modules/hardware/tuxedo-keyboard.nix
index 97af7c61f3c..7bcabde4890 100644
--- a/nixos/modules/hardware/tuxedo-keyboard.nix
+++ b/nixos/modules/hardware/tuxedo-keyboard.nix
@@ -13,7 +13,7 @@ in
 
           To configure the driver, pass the options to the <option>boot.kernelParams</option> configuration.
           There are several parameters you can change. It's best to check at the source code description which options are supported.
-          You can find all the supported parameters at: <link xlink:href="https://github.com/tuxedocomputers/tuxedo-keyboard#kernelparam" />
+          You can find all the supported parameters at: <link xlink:href="https://github.com/tuxedocomputers/tuxedo-keyboard#kernelparam"/>
 
           In order to use the <literal>custom</literal> lighting with the maximumg brightness and a color of <literal>0xff0a0a</literal> one would put pass <option>boot.kernelParams</option> like this:
 
diff --git a/nixos/modules/hardware/video/uvcvideo/default.nix b/nixos/modules/hardware/video/uvcvideo/default.nix
index bb59e2f2ed2..6cfb8cc6ad2 100644
--- a/nixos/modules/hardware/video/uvcvideo/default.nix
+++ b/nixos/modules/hardware/video/uvcvideo/default.nix
@@ -34,15 +34,15 @@ in
       packages = mkOption {
         type = types.listOf types.path;
         example = literalExpression "[ pkgs.tiscamera ]";
-        description = ''
-          List of packages containing <command>uvcvideo</command> dynamic controls
+        description = lib.mdDoc ''
+          List of packages containing {command}`uvcvideo` dynamic controls
           rules. All files found in
-          <filename><replaceable>pkg</replaceable>/share/uvcdynctrl/data</filename>
+          {file}`«pkg»/share/uvcdynctrl/data`
           will be included.
 
-          Note that these will serve as input to the <command>libwebcam</command>
-          package which through its own <command>udev</command> rule will register
-          the dynamic controls from specified packages to the <command>uvcvideo</command>
+          Note that these will serve as input to the {command}`libwebcam`
+          package which through its own {command}`udev` rule will register
+          the dynamic controls from specified packages to the {command}`uvcvideo`
           driver.
         '';
         apply = map getBin;
diff --git a/nixos/modules/hardware/xpadneo.nix b/nixos/modules/hardware/xpadneo.nix
index dbc4ba21256..092f36729b3 100644
--- a/nixos/modules/hardware/xpadneo.nix
+++ b/nixos/modules/hardware/xpadneo.nix
@@ -15,7 +15,8 @@ in
       # https://wiki.archlinux.org/index.php/Gamepad#Connect_Xbox_Wireless_Controller_with_Bluetooth
       extraModprobeConfig =
         mkIf
-          config.hardware.bluetooth.enable
+          (config.hardware.bluetooth.enable &&
+           (lib.versionOlder config.boot.kernelPackages.kernel.version "5.12"))
           "options bluetooth disable_ertm=1";
 
       extraModulePackages = with config.boot.kernelPackages; [ xpadneo ];
diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix
index 9309fe70a86..6d0a11b7491 100644
--- a/nixos/modules/installer/cd-dvd/iso-image.nix
+++ b/nixos/modules/installer/cd-dvd/iso-image.nix
@@ -454,23 +454,23 @@ in
 
     isoImage.isoName = mkOption {
       default = "${config.isoImage.isoBaseName}.iso";
-      description = ''
+      description = lib.mdDoc ''
         Name of the generated ISO image file.
       '';
     };
 
     isoImage.isoBaseName = mkOption {
       default = "nixos";
-      description = ''
+      description = lib.mdDoc ''
         Prefix of the name of the generated ISO image file.
       '';
     };
 
     isoImage.compressImage = mkOption {
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Whether the ISO image should be compressed using
-        <command>zstd</command>.
+        {command}`zstd`.
       '';
     };
 
@@ -481,7 +481,7 @@ in
                 + lib.optionalString isAarch "-Xbcj arm"
                 + lib.optionalString (isPower && is32bit && isBigEndian) "-Xbcj powerpc"
                 + lib.optionalString (isSparc) "-Xbcj sparc";
-      description = ''
+      description = lib.mdDoc ''
         Compression settings to use for the squashfs nix store.
       '';
       example = "zstd -Xcompression-level 6";
@@ -489,7 +489,7 @@ in
 
     isoImage.edition = mkOption {
       default = "";
-      description = ''
+      description = lib.mdDoc ''
         Specifies which edition string to use in the volume ID of the generated
         ISO image.
       '';
@@ -498,7 +498,7 @@ in
     isoImage.volumeID = mkOption {
       # nixos-$EDITION-$RELEASE-$ARCH
       default = "nixos${optionalString (config.isoImage.edition != "") "-${config.isoImage.edition}"}-${config.system.nixos.release}-${pkgs.stdenv.hostPlatform.uname.processor}";
-      description = ''
+      description = lib.mdDoc ''
         Specifies the label or volume ID of the generated ISO image.
         Note that the label is used by stage 1 of the boot process to
         mount the CD, so it should be reasonably distinctive.
@@ -512,7 +512,7 @@ in
           }
         ]
       '';
-      description = ''
+      description = lib.mdDoc ''
         This option lists files to be copied to fixed locations in the
         generated ISO image.
       '';
@@ -520,7 +520,7 @@ in
 
     isoImage.storeContents = mkOption {
       example = literalExpression "[ pkgs.stdenv ]";
-      description = ''
+      description = lib.mdDoc ''
         This option lists additional derivations to be included in the
         Nix store in the generated ISO image.
       '';
@@ -528,7 +528,7 @@ in
 
     isoImage.includeSystemBuildDependencies = mkOption {
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Set this option to include all the needed sources etc in the
         image. It significantly increases image size. Use that when
         you want to be able to keep all the sources needed to build your
@@ -539,14 +539,14 @@ in
 
     isoImage.makeEfiBootable = mkOption {
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Whether the ISO image should be an efi-bootable volume.
       '';
     };
 
     isoImage.makeUsbBootable = mkOption {
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Whether the ISO image should be bootable from CD as well as USB.
       '';
     };
@@ -556,7 +556,7 @@ in
           url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/a9e05d7deb38a8e005a2b52575a3f59a63a4dba0/bootloader/efi-background.png";
           sha256 = "18lfwmp8yq923322nlb9gxrh5qikj1wsk6g5qvdh31c4h5b1538x";
         };
-      description = ''
+      description = lib.mdDoc ''
         The splash image to use in the EFI bootloader.
       '';
     };
@@ -566,7 +566,7 @@ in
           url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/a9e05d7deb38a8e005a2b52575a3f59a63a4dba0/bootloader/isolinux/bios-boot.png";
           sha256 = "1wp822zrhbg4fgfbwkr7cbkr4labx477209agzc0hr6k62fr6rxd";
         };
-      description = ''
+      description = lib.mdDoc ''
         The splash image to use in the legacy-boot bootloader.
       '';
     };
@@ -574,7 +574,7 @@ in
     isoImage.grubTheme = mkOption {
       default = pkgs.nixos-grub2-theme;
       type = types.nullOr (types.either types.path types.package);
-      description = ''
+      description = lib.mdDoc ''
         The grub2 theme used for UEFI boot.
       '';
     };
@@ -605,7 +605,7 @@ in
         MENU COLOR SEL          7;37;40    #FFFFFFFF    #FF5277C3   std
       '';
       type = types.str;
-      description = ''
+      description = lib.mdDoc ''
         The syslinux theme used for BIOS boot.
       '';
     };
@@ -613,12 +613,12 @@ in
     isoImage.appendToMenuLabel = mkOption {
       default = " Installer";
       example = " Live System";
-      description = ''
+      description = lib.mdDoc ''
         The string to append after the menu label for the NixOS system.
         This will be directly appended (without whitespace) to the NixOS version
-        string, like for example if it is set to <literal>XXX</literal>:
+        string, like for example if it is set to `XXX`:
 
-        <para><literal>NixOS 99.99-pre666XXX</literal></para>
+        `NixOS 99.99-pre666XXX`
       '';
     };
 
diff --git a/nixos/modules/installer/netboot/netboot.nix b/nixos/modules/installer/netboot/netboot.nix
index fed6a7c3728..03bb529cd85 100644
--- a/nixos/modules/installer/netboot/netboot.nix
+++ b/nixos/modules/installer/netboot/netboot.nix
@@ -10,7 +10,7 @@ with lib;
 
     netboot.storeContents = mkOption {
       example = literalExpression "[ pkgs.stdenv ]";
-      description = ''
+      description = lib.mdDoc ''
         This option lists additional derivations to be included in the
         Nix store in the generated netboot image.
       '';
diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix
index 4490ad84e14..e46a2df8fa6 100644
--- a/nixos/modules/installer/tools/tools.nix
+++ b/nixos/modules/installer/tools/tools.nix
@@ -175,7 +175,7 @@ in
         # services.xserver.libinput.enable = true;
 
         # Define a user account. Don't forget to set a password with ‘passwd’.
-        # users.users.jane = {
+        # users.users.alice = {
         #   isNormalUser = true;
         #   extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
         #   packages = with pkgs; [
diff --git a/nixos/modules/misc/documentation.nix b/nixos/modules/misc/documentation.nix
index b031ff2f2be..5fb1ca4c4f5 100644
--- a/nixos/modules/misc/documentation.nix
+++ b/nixos/modules/misc/documentation.nix
@@ -1,4 +1,4 @@
-{ config, options, lib, pkgs, utils, modules, baseModules, extraModules, modulesPath, ... }:
+{ config, options, lib, pkgs, utils, modules, baseModules, extraModules, modulesPath, specialArgs, ... }:
 
 with lib;
 
@@ -7,9 +7,6 @@ let
   cfg = config.documentation;
   allOpts = options;
 
-  /* Modules for which to show options even when not imported. */
-  extraDocModules = [ ../virtualisation/qemu-vm.nix ];
-
   canCacheDocs = m:
     let
       f = import m;
@@ -23,7 +20,7 @@ let
 
   docModules =
     let
-      p = partition canCacheDocs (baseModules ++ extraDocModules);
+      p = partition canCacheDocs (baseModules ++ cfg.nixos.extraModules);
     in
       {
         lazy = p.right;
@@ -41,7 +38,7 @@ let
           modules = [ {
             _module.check = false;
           } ] ++ docModules.eager;
-          specialArgs = {
+          specialArgs = specialArgs // {
             pkgs = scrubDerivations "pkgs" pkgs;
             # allow access to arbitrary options for eager modules, eg for getting
             # option types from lazy modules
@@ -145,6 +142,12 @@ in
 
 {
   imports = [
+    ./man-db.nix
+    ./mandoc.nix
+    ./assertions.nix
+    ./meta.nix
+    ../config/system-path.nix
+    ../system/etc/etc.nix
     (mkRenamedOptionModule [ "programs" "info" "enable" ] [ "documentation" "info" "enable" ])
     (mkRenamedOptionModule [ "programs" "man"  "enable" ] [ "documentation" "man"  "enable" ])
     (mkRenamedOptionModule [ "services" "nixosManual" "enable" ] [ "documentation" "nixos" "enable" ])
@@ -157,9 +160,9 @@ in
       enable = mkOption {
         type = types.bool;
         default = true;
-        description = ''
+        description = lib.mdDoc ''
           Whether to install documentation of packages from
-          <option>environment.systemPackages</option> into the generated system path.
+          {option}`environment.systemPackages` into the generated system path.
 
           See "Multiple-output packages" chapter in the nixpkgs manual for more info.
         '';
@@ -169,9 +172,9 @@ in
       man.enable = mkOption {
         type = types.bool;
         default = true;
-        description = ''
+        description = lib.mdDoc ''
           Whether to install manual pages.
-          This also includes <literal>man</literal> outputs.
+          This also includes `man` outputs.
         '';
       };
 
@@ -190,8 +193,8 @@ in
       info.enable = mkOption {
         type = types.bool;
         default = true;
-        description = ''
-          Whether to install info pages and the <command>info</command> command.
+        description = lib.mdDoc ''
+          Whether to install info pages and the {command}`info` command.
           This also includes "info" outputs.
         '';
       };
@@ -199,8 +202,8 @@ in
       doc.enable = mkOption {
         type = types.bool;
         default = true;
-        description = ''
-          Whether to install documentation distributed in packages' <literal>/share/doc</literal>.
+        description = lib.mdDoc ''
+          Whether to install documentation distributed in packages' `/share/doc`.
           Usually plain text and/or HTML.
           This also includes "doc" outputs.
         '';
@@ -227,8 +230,7 @@ in
           Whether to install NixOS's own documentation.
           <itemizedlist>
           <listitem><para>This includes man pages like
-                    <citerefentry><refentrytitle>configuration.nix</refentrytitle>
-                    <manvolnum>5</manvolnum></citerefentry> if <option>documentation.man.enable</option> is
+                    <citerefentry><refentrytitle>configuration.nix</refentrytitle><manvolnum>5</manvolnum></citerefentry> if <option>documentation.man.enable</option> is
                     set.</para></listitem>
           <listitem><para>This includes the HTML manual and the <command>nixos-help</command> command if
                     <option>documentation.doc.enable</option> is set.</para></listitem>
@@ -236,10 +238,18 @@ in
         '';
       };
 
+      nixos.extraModules = mkOption {
+        type = types.listOf types.raw;
+        default = [];
+        description = ''
+          Modules for which to show options even when not imported.
+        '';
+      };
+
       nixos.options.splitBuild = mkOption {
         type = types.bool;
         default = true;
-        description = ''
+        description = lib.mdDoc ''
           Whether to split the option docs build into a cacheable and an uncacheable part.
           Splitting the build can substantially decrease the amount of time needed to build
           the manual, but some user modules may be incompatible with this splitting.
@@ -249,7 +259,7 @@ in
       nixos.options.warningsAreErrors = mkOption {
         type = types.bool;
         default = true;
-        description = ''
+        description = lib.mdDoc ''
           Treat warning emitted during the option documentation build (eg for missing option
           descriptions) as errors.
         '';
@@ -258,18 +268,18 @@ in
       nixos.includeAllModules = mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           Whether the generated NixOS's documentation should include documentation for all
           the options from all the NixOS modules included in the current
-          <literal>configuration.nix</literal>. Disabling this will make the manual
-          generator to ignore options defined outside of <literal>baseModules</literal>.
+          `configuration.nix`. Disabling this will make the manual
+          generator to ignore options defined outside of `baseModules`.
         '';
       };
 
       nixos.extraModuleSources = mkOption {
         type = types.listOf (types.either types.path types.str);
         default = [ ];
-        description = ''
+        description = lib.mdDoc ''
           Which extra NixOS module paths the generated NixOS's documentation should strip
           from options.
         '';
@@ -327,10 +337,6 @@ in
       environment.systemPackages = []
         ++ optional cfg.man.enable manual.manpages
         ++ optionals cfg.doc.enable [ manual.manualHTML nixos-help ];
-
-      services.getty.helpLine = mkIf cfg.doc.enable (
-          "\nRun 'nixos-help' for the NixOS manual."
-      );
     })
 
   ]);
diff --git a/nixos/modules/misc/documentation/test-dummy.chapter.xml b/nixos/modules/misc/documentation/test-dummy.chapter.xml
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/nixos/modules/misc/documentation/test-dummy.chapter.xml
diff --git a/nixos/modules/misc/documentation/test.nix b/nixos/modules/misc/documentation/test.nix
new file mode 100644
index 00000000000..1eaa63b1fb6
--- /dev/null
+++ b/nixos/modules/misc/documentation/test.nix
@@ -0,0 +1,49 @@
+{ nixosLib, pkgsModule, runCommand }:
+
+let
+  sys = nixosLib.evalModules rec {
+    modules = [
+      pkgsModule
+      ../documentation.nix
+      ../version.nix
+
+      ({ lib, someArg, ... }: {
+        # Make sure imports from specialArgs are respected
+        imports = [ someArg.myModule ];
+
+        # TODO test this
+        meta.doc = ./test-dummy.chapter.xml;
+      })
+
+      {
+        _module.args = {
+          baseModules = [
+            ../documentation.nix
+            ../version.nix
+          ];
+          extraModules = [ ];
+          inherit modules;
+        };
+        documentation.nixos.includeAllModules = true;
+      }
+    ];
+    specialArgs.someArg.myModule = { lib, ... }: {
+      options.foobar = lib.mkOption {
+        type = lib.types.str;
+        description = "The foobar option was added via specialArgs";
+        default = "qux";
+      };
+    };
+  };
+
+in
+runCommand "documentation-check"
+{
+  inherit (sys.config.system.build.manual) optionsJSON;
+} ''
+  json="$optionsJSON/share/doc/nixos/options.json"
+  echo checking $json
+
+  grep 'The foobar option was added via specialArgs' <"$json" >/dev/null
+  touch $out
+''
diff --git a/nixos/modules/misc/locate.nix b/nixos/modules/misc/locate.nix
index bba35b752c9..b83e280b284 100644
--- a/nixos/modules/misc/locate.nix
+++ b/nixos/modules/misc/locate.nix
@@ -39,16 +39,15 @@ in
       type = str;
       default = "02:15";
       example = "hourly";
-      description = ''
+      description = lib.mdDoc ''
         Update the locate database at this interval. Updates by
         default at 2:15 AM every day.
 
         The format is described in
-        <citerefentry><refentrytitle>systemd.time</refentrytitle>
-        <manvolnum>7</manvolnum></citerefentry>.
+        {manpage}`systemd.time(7)`.
 
-        To disable automatic updates, set to <literal>"never"</literal>
-        and run <command>updatedb</command> manually.
+        To disable automatic updates, set to `"never"`
+        and run {command}`updatedb` manually.
       '';
     };
 
diff --git a/nixos/modules/misc/nixpkgs.nix b/nixos/modules/misc/nixpkgs.nix
index e991ff42028..721a041a583 100644
--- a/nixos/modules/misc/nixpkgs.nix
+++ b/nixos/modules/misc/nixpkgs.nix
@@ -119,11 +119,11 @@ in
       example = literalExpression "import <nixpkgs> {}";
       description = ''
         If set, the pkgs argument to all NixOS modules is the value of
-        this option, extended with <code>nixpkgs.overlays</code>, if
-        that is also set. Either <code>nixpkgs.crossSystem</code> or
-        <code>nixpkgs.localSystem</code> will be used in an assertion
+        this option, extended with <literal>nixpkgs.overlays</literal>, if
+        that is also set. Either <literal>nixpkgs.crossSystem</literal> or
+        <literal>nixpkgs.localSystem</literal> will be used in an assertion
         to check that the NixOS and Nixpkgs architectures match. Any
-        other options in <code>nixpkgs.*</code>, notably <code>config</code>,
+        other options in <literal>nixpkgs.*</literal>, notably <literal>config</literal>,
         will be ignored.
 
         If unset, the pkgs argument to all NixOS modules is determined
@@ -132,18 +132,18 @@ in
         The default value imports the Nixpkgs source files
         relative to the location of this NixOS module, because
         NixOS and Nixpkgs are distributed together for consistency,
-        so the <code>nixos</code> in the default value is in fact a
-        relative path. The <code>config</code>, <code>overlays</code>,
-        <code>localSystem</code>, and <code>crossSystem</code> come
+        so the <literal>nixos</literal> in the default value is in fact a
+        relative path. The <literal>config</literal>, <literal>overlays</literal>,
+        <literal>localSystem</literal>, and <literal>crossSystem</literal> come
         from this option's siblings.
 
         This option can be used by applications like NixOps to increase
         the performance of evaluation, or to create packages that depend
         on a container that should be built with the exact same evaluation
         of Nixpkgs, for example. Applications like this should set
-        their default value using <code>lib.mkDefault</code>, so
+        their default value using <literal>lib.mkDefault</literal>, so
         user-provided configuration can override it without using
-        <code>lib</code>.
+        <literal>lib</literal>.
 
         Note that using a distinct version of Nixpkgs with NixOS may
         be an unexpected source of problems. Use this option with care.
@@ -157,12 +157,12 @@ in
           { allowBroken = true; allowUnfree = true; }
         '';
       type = configType;
-      description = ''
+      description = lib.mdDoc ''
         The configuration of the Nix Packages collection.  (For
         details, see the Nixpkgs documentation.)  It allows you to set
         package configuration options.
 
-        Ignored when <code>nixpkgs.pkgs</code> is set.
+        Ignored when `nixpkgs.pkgs` is set.
       '';
     };
 
@@ -180,17 +180,17 @@ in
           ]
         '';
       type = types.listOf overlayType;
-      description = ''
+      description = lib.mdDoc ''
         List of overlays to use with the Nix Packages collection.
         (For details, see the Nixpkgs documentation.)  It allows
         you to override packages globally. Each function in the list
-        takes as an argument the <emphasis>original</emphasis> Nixpkgs.
+        takes as an argument the *original* Nixpkgs.
         The first argument should be used for finding dependencies, and
         the second should be used for overriding recipes.
 
-        If <code>nixpkgs.pkgs</code> is set, overlays specified here
+        If `nixpkgs.pkgs` is set, overlays specified here
         will be applied after the overlays that were already present
-        in <code>nixpkgs.pkgs</code>.
+        in `nixpkgs.pkgs`.
       '';
     };
 
@@ -202,12 +202,12 @@ in
       apply = lib.systems.elaborate;
       defaultText = literalExpression
         ''(import "''${nixos}/../lib").lib.systems.examples.aarch64-multiplatform'';
-      description = ''
+      description = lib.mdDoc ''
         Specifies the platform where the NixOS configuration will run.
 
-        To cross-compile, set also <code>nixpkgs.buildPlatform</code>.
+        To cross-compile, set also `nixpkgs.buildPlatform`.
 
-        Ignored when <code>nixpkgs.pkgs</code> is set.
+        Ignored when `nixpkgs.pkgs` is set.
       '';
     };
 
@@ -220,7 +220,7 @@ in
       apply = lib.systems.elaborate;
       defaultText = literalExpression
         ''config.nixpkgs.hostPlatform'';
-      description = ''
+      description = lib.mdDoc ''
         Specifies the platform on which NixOS should be built.
         By default, NixOS is built on the system where it runs, but you can
         change where it's built. Setting this option will cause NixOS to be
@@ -230,7 +230,7 @@ in
         or if you're building machines, you can set this to match your
         development system and/or build farm.
 
-        Ignored when <code>nixpkgs.pkgs</code> is set.
+        Ignored when `nixpkgs.pkgs` is set.
       '';
     };
 
@@ -243,25 +243,25 @@ in
       apply = lib.systems.elaborate;
       defaultText = literalExpression
         ''(import "''${nixos}/../lib").lib.systems.examples.aarch64-multiplatform'';
-      description = ''
-        Systems with a recently generated <literal>hardware-configuration.nix</literal>
+      description = lib.mdDoc ''
+        Systems with a recently generated `hardware-configuration.nix`
         do not need to specify this option, unless cross-compiling, in which case
-        you should set <emphasis>only</emphasis> <option>nixpkgs.buildPlatform</option>.
+        you should set *only* {option}`nixpkgs.buildPlatform`.
 
         If this is somehow not feasible, you may fall back to removing the
-        <option>nixpkgs.hostPlatform</option> line from the generated config and
+        {option}`nixpkgs.hostPlatform` line from the generated config and
         use the old options.
 
         Specifies the platform on which NixOS should be built. When
-        <code>nixpkgs.crossSystem</code> is unset, it also specifies
-        the platform <emphasis>for</emphasis> which NixOS should be
+        `nixpkgs.crossSystem` is unset, it also specifies
+        the platform *for* which NixOS should be
         built.  If this option is unset, it defaults to the platform
         type of the machine where evaluation happens. Specifying this
         option is useful when doing distributed multi-platform
         deployment, or when building virtual machines. See its
         description in the Nixpkgs manual for more details.
 
-        Ignored when <code>nixpkgs.pkgs</code> or <code>hostPlatform</code> is set.
+        Ignored when `nixpkgs.pkgs` or `hostPlatform` is set.
       '';
     };
 
@@ -272,20 +272,20 @@ in
       type = types.nullOr types.attrs; # TODO utilize lib.systems.parsedPlatform
       default = null;
       example = { system = "aarch64-linux"; config = "aarch64-unknown-linux-gnu"; };
-      description = ''
-        Systems with a recently generated <literal>hardware-configuration.nix</literal>
-        may instead specify <emphasis>only</emphasis> <option>nixpkgs.buildPlatform</option>,
-        or fall back to removing the <option>nixpkgs.hostPlatform</option> line from the generated config.
+      description = lib.mdDoc ''
+        Systems with a recently generated `hardware-configuration.nix`
+        may instead specify *only* {option}`nixpkgs.buildPlatform`,
+        or fall back to removing the {option}`nixpkgs.hostPlatform` line from the generated config.
 
         Specifies the platform for which NixOS should be
         built. Specify this only if it is different from
-        <code>nixpkgs.localSystem</code>, the platform
-        <emphasis>on</emphasis> which NixOS should be built. In other
+        `nixpkgs.localSystem`, the platform
+        *on* which NixOS should be built. In other
         words, specify this to cross-compile NixOS. Otherwise it
         should be set as null, the default. See its description in the
         Nixpkgs manual for more details.
 
-        Ignored when <code>nixpkgs.pkgs</code> or <code>hostPlatform</code> is set.
+        Ignored when `nixpkgs.pkgs` or `hostPlatform` is set.
       '';
     };
 
@@ -316,7 +316,7 @@ in
         with a recently generated <literal>hardware-configuration.nix</literal>.
 
         Specifies the Nix platform type on which NixOS should be built.
-        It is better to specify <code>nixpkgs.localSystem</code> instead.
+        It is better to specify <literal>nixpkgs.localSystem</literal> instead.
         <programlisting>
         {
           nixpkgs.system = ..;
@@ -328,9 +328,9 @@ in
           nixpkgs.localSystem.system = ..;
         }
         </programlisting>
-        See <code>nixpkgs.localSystem</code> for more information.
+        See <literal>nixpkgs.localSystem</literal> for more information.
 
-        Ignored when <code>nixpkgs.pkgs</code>, <code>nixpkgs.localSystem</code> or <code>nixpkgs.hostPlatform</code> is set.
+        Ignored when <literal>nixpkgs.pkgs</literal>, <literal>nixpkgs.localSystem</literal> or <literal>nixpkgs.hostPlatform</literal> is set.
       '';
     };
   };
diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix
index bdc3e5623be..b3cdaf5568d 100644
--- a/nixos/modules/misc/version.nix
+++ b/nixos/modules/misc/version.nix
@@ -38,12 +38,19 @@ let
 in
 {
   imports = [
+    ./label.nix
     (mkRenamedOptionModule [ "system" "nixosVersion" ] [ "system" "nixos" "version" ])
     (mkRenamedOptionModule [ "system" "nixosVersionSuffix" ] [ "system" "nixos" "versionSuffix" ])
     (mkRenamedOptionModule [ "system" "nixosRevision" ] [ "system" "nixos" "revision" ])
     (mkRenamedOptionModule [ "system" "nixosLabel" ] [ "system" "nixos" "label" ])
   ];
 
+  options.boot.initrd.osRelease = mkOption {
+    internal = true;
+    readOnly = true;
+    default = initrdRelease;
+  };
+
   options.system = {
 
     nixos.version = mkOption {
@@ -142,11 +149,6 @@ in
       "os-release".text = attrsToText osReleaseContents;
     };
 
-    boot.initrd.systemd.contents = {
-      "/etc/os-release".source = initrdRelease;
-      "/etc/initrd-release".source = initrdRelease;
-    };
-
     # We have to use `warnings` because when warning in the default of the option
     # the warning would also be shown when building the manual since the manual
     # has to evaluate the default.
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 616f357663c..6e979561fa0 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -357,7 +357,7 @@
   ./services/databases/dgraph.nix
   ./services/databases/firebird.nix
   ./services/databases/foundationdb.nix
-  ./services/databases/hbase.nix
+  ./services/databases/hbase-standalone.nix
   ./services/databases/influxdb.nix
   ./services/databases/influxdb2.nix
   ./services/databases/memcached.nix
@@ -783,6 +783,7 @@
   ./services/networking/expressvpn.nix
   ./services/networking/fakeroute.nix
   ./services/networking/ferm.nix
+  ./services/networking/firefox-syncserver.nix
   ./services/networking/fireqos.nix
   ./services/networking/firewall.nix
   ./services/networking/flannel.nix
@@ -1107,7 +1108,6 @@
   ./services/web-apps/shiori.nix
   ./services/web-apps/snipe-it.nix
   ./services/web-apps/vikunja.nix
-  ./services/web-apps/virtlyst.nix
   ./services/web-apps/wiki-js.nix
   ./services/web-apps/whitebophir.nix
   ./services/web-apps/wordpress.nix
@@ -1288,4 +1288,5 @@
   ./virtualisation/waydroid.nix
   ./virtualisation/xen-dom0.nix
   ./virtualisation/xe-guest-utilities.nix
+  { documentation.nixos.extraModules = [ ./virtualisation/qemu-vm.nix ]; }
 ]
diff --git a/nixos/modules/profiles/all-hardware.nix b/nixos/modules/profiles/all-hardware.nix
index af1e3d32a0a..5fa64a6c52e 100644
--- a/nixos/modules/profiles/all-hardware.nix
+++ b/nixos/modules/profiles/all-hardware.nix
@@ -109,6 +109,9 @@ in
       # USB drivers
       "xhci-pci-renesas"
 
+      # Reset controllers
+      "reset-raspberrypi" # Triggers USB chip firmware load.
+
       # Misc "weak" dependencies
       "analogix-dp"
       "analogix-anx6345" # For DP or eDP (e.g. integrated display)
diff --git a/nixos/modules/profiles/clone-config.nix b/nixos/modules/profiles/clone-config.nix
index 3f669ba7d2e..ba65a250d25 100644
--- a/nixos/modules/profiles/clone-config.nix
+++ b/nixos/modules/profiles/clone-config.nix
@@ -61,7 +61,7 @@ in
 
     installer.cloneConfig = mkOption {
       default = true;
-      description = ''
+      description = lib.mdDoc ''
         Try to clone the installation-device configuration by re-using it's
         profile from the list of imported modules.
       '';
@@ -70,14 +70,14 @@ in
     installer.cloneConfigIncludes = mkOption {
       default = [];
       example = [ "./nixos/modules/hardware/network/rt73.nix" ];
-      description = ''
+      description = lib.mdDoc ''
         List of modules used to re-build this installation device profile.
       '';
     };
 
     installer.cloneConfigExtra = mkOption {
       default = "";
-      description = ''
+      description = lib.mdDoc ''
         Extra text to include in the cloned configuration.nix included in this
         installer.
       '';
diff --git a/nixos/modules/programs/adb.nix b/nixos/modules/programs/adb.nix
index 9e9e37f92a8..e5b0abd9fcf 100644
--- a/nixos/modules/programs/adb.nix
+++ b/nixos/modules/programs/adb.nix
@@ -11,10 +11,10 @@ with lib;
       enable = mkOption {
         default = false;
         type = types.bool;
-        description = ''
+        description = lib.mdDoc ''
           Whether to configure system to use Android Debug Bridge (adb).
           To grant access to a user, it must be part of adbusers group:
-          <code>users.users.alice.extraGroups = ["adbusers"];</code>
+          `users.users.alice.extraGroups = ["adbusers"];`
         '';
       };
     };
diff --git a/nixos/modules/programs/firejail.nix b/nixos/modules/programs/firejail.nix
index 76b42168c19..417eff91d3c 100644
--- a/nixos/modules/programs/firejail.nix
+++ b/nixos/modules/programs/firejail.nix
@@ -69,13 +69,12 @@ in {
           };
         }
       '';
-      description = ''
+      description = lib.mdDoc ''
         Wrap the binaries in firejail and place them in the global path.
-        </para>
-        <para>
+
         You will get file collisions if you put the actual application binary in
         the global environment (such as by adding the application package to
-        <code>environment.systemPackages</code>), and applications started via
+        `environment.systemPackages`), and applications started via
         .desktop files are not wrapped if they specify the absolute path to the
         binary.
       '';
diff --git a/nixos/modules/programs/gphoto2.nix b/nixos/modules/programs/gphoto2.nix
index 93923ff3133..f31b1863963 100644
--- a/nixos/modules/programs/gphoto2.nix
+++ b/nixos/modules/programs/gphoto2.nix
@@ -11,11 +11,11 @@ with lib;
       enable = mkOption {
         default = false;
         type = types.bool;
-        description = ''
+        description = lib.mdDoc ''
           Whether to configure system to use gphoto2.
           To grant digital camera access to a user, the user must
           be part of the camera group:
-          <code>users.users.alice.extraGroups = ["camera"];</code>
+          `users.users.alice.extraGroups = ["camera"];`
         '';
       };
     };
diff --git a/nixos/modules/programs/kdeconnect.nix b/nixos/modules/programs/kdeconnect.nix
index aa4302404ad..1f326c9e921 100644
--- a/nixos/modules/programs/kdeconnect.nix
+++ b/nixos/modules/programs/kdeconnect.nix
@@ -8,7 +8,7 @@ with lib;
       Note that it will open the TCP and UDP port from
       1714 to 1764 as they are needed for it to function properly.
       You can use the <option>package</option> to use
-      <code>gnomeExtensions.gsconnect</code> as an alternative
+      <literal>gnomeExtensions.gsconnect</literal> as an alternative
       implementation if you use Gnome.
     '';
     package = mkOption {
diff --git a/nixos/modules/programs/neovim.nix b/nixos/modules/programs/neovim.nix
index b1dbcd18130..85963159a72 100644
--- a/nixos/modules/programs/neovim.nix
+++ b/nixos/modules/programs/neovim.nix
@@ -72,9 +72,9 @@ in {
           };
         }
       '';
-      description = ''
+      description = lib.mdDoc ''
         Generate your init file from your list of plugins and custom commands.
-        Neovim will then be wrapped to load <command>nvim -u /nix/store/<replaceable>hash</replaceable>-vimrc</command>
+        Neovim will then be wrapped to load {command}`nvim -u /nix/store/«hash»-vimrc`
       '';
     };
 
diff --git a/nixos/modules/programs/nncp.nix b/nixos/modules/programs/nncp.nix
index f40e888dad8..a58748d2fe6 100644
--- a/nixos/modules/programs/nncp.nix
+++ b/nixos/modules/programs/nncp.nix
@@ -33,24 +33,24 @@ in {
     secrets = mkOption {
       type = with types; listOf str;
       example = [ "/run/keys/nncp.hjson" ];
-      description = ''
+      description = lib.mdDoc ''
         A list of paths to NNCP configuration files that should not be
         in the Nix store. These files are layered on top of the values at
-        <xref linkend="opt-programs.nncp.settings"/>.
+        [](#opt-programs.nncp.settings).
       '';
     };
 
     settings = mkOption {
       type = settingsFormat.type;
-      description = ''
+      description = lib.mdDoc ''
         NNCP configuration, see
-        <link xlink:href="http://www.nncpgo.org/Configuration.html"/>.
+        <http://www.nncpgo.org/Configuration.html>.
         At runtime these settings will be overlayed by the contents of
-        <xref linkend="opt-programs.nncp.secrets"/> into the file
-        <literal>${nncpCfgFile}</literal>. Node keypairs go in
-        <literal>secrets</literal>, do not specify them in
-        <literal>settings</literal> as they will be leaked into
-        <literal>/nix/store</literal>!
+        [](#opt-programs.nncp.secrets) into the file
+        `${nncpCfgFile}`. Node keypairs go in
+        `secrets`, do not specify them in
+        `settings` as they will be leaked into
+        `/nix/store`!
       '';
       default = { };
     };
diff --git a/nixos/modules/programs/noisetorch.nix b/nixos/modules/programs/noisetorch.nix
index c69b2581296..d5e004da73e 100644
--- a/nixos/modules/programs/noisetorch.nix
+++ b/nixos/modules/programs/noisetorch.nix
@@ -3,7 +3,8 @@
 with lib;
 
 let cfg = config.programs.noisetorch;
-in {
+in
+{
   options.programs.noisetorch = {
     enable = mkEnableOption "noisetorch + setcap wrapper";
 
@@ -24,5 +25,6 @@ in {
       capabilities = "cap_sys_resource=+ep";
       source = "${cfg.package}/bin/noisetorch";
     };
+    environment.systemPackages = [ cfg.package ];
   };
 }
diff --git a/nixos/modules/programs/ssh.nix b/nixos/modules/programs/ssh.nix
index e0da6ef3b3a..9c4a95ef22c 100644
--- a/nixos/modules/programs/ssh.nix
+++ b/nixos/modules/programs/ssh.nix
@@ -95,7 +95,7 @@ in
         default = "";
         description = ''
           Extra configuration text prepended to <filename>ssh_config</filename>. Other generated
-          options will be added after a <code>Host *</code> pattern.
+          options will be added after a <literal>Host *</literal> pattern.
           See <citerefentry><refentrytitle>ssh_config</refentrytitle><manvolnum>5</manvolnum></citerefentry>
           for help.
         '';
diff --git a/nixos/modules/programs/sway.nix b/nixos/modules/programs/sway.nix
index decae1b4d2d..af2b261d3c5 100644
--- a/nixos/modules/programs/sway.nix
+++ b/nixos/modules/programs/sway.nix
@@ -39,7 +39,7 @@ in {
       Sway, the i3-compatible tiling Wayland compositor. You can manually launch
       Sway by executing "exec sway" on a TTY. Copy /etc/sway/config to
       ~/.config/sway/config to modify the default configuration. See
-      <link xlink:href="https://github.com/swaywm/sway/wiki" /> and
+      <link xlink:href="https://github.com/swaywm/sway/wiki"/> and
       "man 5 sway" for more information'';
 
     wrapperFeatures = mkOption {
diff --git a/nixos/modules/programs/turbovnc.nix b/nixos/modules/programs/turbovnc.nix
index e6f8836aa36..a0e4a36cfd9 100644
--- a/nixos/modules/programs/turbovnc.nix
+++ b/nixos/modules/programs/turbovnc.nix
@@ -15,14 +15,14 @@ in
       ensureHeadlessSoftwareOpenGL = mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           Whether to set up NixOS such that TurboVNC's built-in software OpenGL
           implementation works.
 
-          This will enable <option>hardware.opengl.enable</option> so that OpenGL
+          This will enable {option}`hardware.opengl.enable` so that OpenGL
           programs can find Mesa's llvmpipe drivers.
 
-          Setting this option to <code>false</code> does not mean that software
+          Setting this option to `false` does not mean that software
           OpenGL won't work; it may still work depending on your system
           configuration.
 
diff --git a/nixos/modules/security/acme/default.nix b/nixos/modules/security/acme/default.nix
index 54b44dcab62..1df6d9eba95 100644
--- a/nixos/modules/security/acme/default.nix
+++ b/nixos/modules/security/acme/default.nix
@@ -451,10 +451,9 @@ let
       renewInterval = mkOption {
         type = types.str;
         inherit (defaultAndText "renewInterval" "daily") default defaultText;
-        description = ''
+        description = lib.mdDoc ''
           Systemd calendar expression when to check for renewal. See
-          <citerefentry><refentrytitle>systemd.time</refentrytitle>
-          <manvolnum>7</manvolnum></citerefentry>.
+          {manpage}`systemd.time(7)`.
         '';
       };
 
@@ -504,8 +503,8 @@ let
       reloadServices = mkOption {
         type = types.listOf types.str;
         inherit (defaultAndText "reloadServices" []) default defaultText;
-        description = ''
-          The list of systemd services to call <code>systemctl try-reload-or-restart</code>
+        description = lib.mdDoc ''
+          The list of systemd services to call `systemctl try-reload-or-restart`
           on.
         '';
       };
@@ -581,8 +580,8 @@ let
           Turns on the OCSP Must-Staple TLS extension.
           Make sure you know what you're doing! See:
           <itemizedlist>
-            <listitem><para><link xlink:href="https://blog.apnic.net/2019/01/15/is-the-web-ready-for-ocsp-must-staple/" /></para></listitem>
-            <listitem><para><link xlink:href="https://blog.hboeck.de/archives/886-The-Problem-with-OCSP-Stapling-and-Must-Staple-and-why-Certificate-Revocation-is-still-broken.html" /></para></listitem>
+            <listitem><para><link xlink:href="https://blog.apnic.net/2019/01/15/is-the-web-ready-for-ocsp-must-staple/"/></para></listitem>
+            <listitem><para><link xlink:href="https://blog.hboeck.de/archives/886-The-Problem-with-OCSP-Stapling-and-Must-Staple-and-why-Certificate-Revocation-is-still-broken.html"/></para></listitem>
           </itemizedlist>
         '';
       };
diff --git a/nixos/modules/security/apparmor.nix b/nixos/modules/security/apparmor.nix
index be1b0362fc1..c4eca453254 100644
--- a/nixos/modules/security/apparmor.nix
+++ b/nixos/modules/security/apparmor.nix
@@ -42,7 +42,7 @@ in
         if you want this service to do such killing
         by sending a <literal>SIGTERM</literal> to those running processes'';
       policies = mkOption {
-        description = ''
+        description = lib.mdDoc ''
           AppArmor policies.
         '';
         type = types.attrsOf (types.submodule ({ name, config, ... }: {
@@ -50,7 +50,7 @@ in
             enable = mkDisableOption "loading of the profile into the kernel";
             enforce = mkDisableOption "enforcing of the policy or only complain in the logs";
             profile = mkOption {
-              description = "The policy of the profile.";
+              description = lib.mdDoc "The policy of the profile.";
               type = types.lines;
               apply = pkgs.writeText name;
             };
@@ -61,16 +61,16 @@ in
       includes = mkOption {
         type = types.attrsOf types.lines;
         default = {};
-        description = ''
+        description = lib.mdDoc ''
           List of paths to be added to AppArmor's searched paths
-          when resolving <literal>include</literal> directives.
+          when resolving `include` directives.
         '';
         apply = mapAttrs pkgs.writeText;
       };
       packages = mkOption {
         type = types.listOf types.package;
         default = [];
-        description = "List of packages to be added to AppArmor's include path";
+        description = lib.mdDoc "List of packages to be added to AppArmor's include path";
       };
       enableCache = mkEnableOption ''
         caching of AppArmor policies
diff --git a/nixos/modules/security/dhparams.nix b/nixos/modules/security/dhparams.nix
index 720936e68d7..b3fce7e83af 100644
--- a/nixos/modules/security/dhparams.nix
+++ b/nixos/modules/security/dhparams.nix
@@ -61,7 +61,7 @@ in {
 
           The value is the size (in bits) of the DH params to generate. The
           generated DH params path can be found in
-          <literal>config.security.dhparams.params.<replaceable>name</replaceable>.path</literal>.
+          <literal>config.security.dhparams.params.«name».path</literal>.
 
           <note><para>The name of the DH params is taken as being the name of
           the service it serves and the params will be generated before the
diff --git a/nixos/modules/security/doas.nix b/nixos/modules/security/doas.nix
index d4b51b406e2..4d15ed9a802 100644
--- a/nixos/modules/security/doas.nix
+++ b/nixos/modules/security/doas.nix
@@ -62,19 +62,19 @@ in
     wheelNeedsPassword = mkOption {
       type = with types; bool;
       default = true;
-      description = ''
-        Whether users of the <code>wheel</code> group must provide a password to
-        run commands as super user via <command>doas</command>.
+      description = lib.mdDoc ''
+        Whether users of the `wheel` group must provide a password to
+        run commands as super user via {command}`doas`.
       '';
     };
 
     extraRules = mkOption {
       default = [];
-      description = ''
+      description = lib.mdDoc ''
         Define specific rules to be set in the
-        <filename>/etc/doas.conf</filename> file. More specific rules should
+        {file}`/etc/doas.conf` file. More specific rules should
         come after more general ones in order to yield the expected behavior.
-        You can use <code>mkBefore</code> and/or <code>mkAfter</code> to ensure
+        You can use `mkBefore` and/or `mkAfter` to ensure
         this is the case when configuration options are merged.
       '';
       example = literalExpression ''
@@ -113,8 +113,8 @@ in
             noPass = mkOption {
               type = with types; bool;
               default = false;
-              description = ''
-                If <code>true</code>, the user is not required to enter a
+              description = lib.mdDoc ''
+                If `true`, the user is not required to enter a
                 password.
               '';
             };
@@ -122,18 +122,18 @@ in
             noLog = mkOption {
               type = with types; bool;
               default = false;
-              description = ''
-                If <code>true</code>, successful executions will not be logged
+              description = lib.mdDoc ''
+                If `true`, successful executions will not be logged
                 to
-                <citerefentry><refentrytitle>syslogd</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
+                {manpage}`syslogd(8)`.
               '';
             };
 
             persist = mkOption {
               type = with types; bool;
               default = false;
-              description = ''
-                If <code>true</code>, do not ask for a password again for some
+              description = lib.mdDoc ''
+                If `true`, do not ask for a password again for some
                 time after the user successfully authenticates.
               '';
             };
@@ -141,10 +141,10 @@ in
             keepEnv = mkOption {
               type = with types; bool;
               default = false;
-              description = ''
-                If <code>true</code>, environment variables other than those
+              description = lib.mdDoc ''
+                If `true`, environment variables other than those
                 listed in
-                <citerefentry><refentrytitle>doas</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+                {manpage}`doas(1)`
                 are kept when creating the environment for the new process.
               '';
             };
@@ -152,18 +152,18 @@ in
             setEnv = mkOption {
               type = with types; listOf str;
               default = [];
-              description = ''
+              description = lib.mdDoc ''
                 Keep or set the specified variables. Variables may also be
                 removed with a leading '-' or set using
-                <code>variable=value</code>. If the first character of
-                <code>value</code> is a '$', the value to be set is taken from
+                `variable=value`. If the first character of
+                `value` is a '$', the value to be set is taken from
                 the existing environment variable of the indicated name. This
                 option is processed after the default environment has been
                 created.
 
-                NOTE: All rules have <code>setenv { SSH_AUTH_SOCK }</code> by
-                default. To prevent <code>SSH_AUTH_SOCK</code> from being
-                inherited, add <code>"-SSH_AUTH_SOCK"</code> anywhere in this
+                NOTE: All rules have `setenv { SSH_AUTH_SOCK }` by
+                default. To prevent `SSH_AUTH_SOCK` from being
+                inherited, add `"-SSH_AUTH_SOCK"` anywhere in this
                 list.
               '';
             };
@@ -183,23 +183,23 @@ in
             runAs = mkOption {
               type = with types; nullOr str;
               default = null;
-              description = ''
+              description = lib.mdDoc ''
                 Which user or group the specified command is allowed to run as.
-                When set to <code>null</code> (the default), all users are
+                When set to `null` (the default), all users are
                 allowed.
 
                 A user can be specified using just the username:
-                <code>"foo"</code>. It is also possible to only allow running as
-                a specific group with <code>":bar"</code>.
+                `"foo"`. It is also possible to only allow running as
+                a specific group with `":bar"`.
               '';
             };
 
             cmd = mkOption {
               type = with types; nullOr str;
               default = null;
-              description = ''
+              description = lib.mdDoc ''
                 The command the user is allowed to run. When set to
-                <code>null</code> (the default), all commands are allowed.
+                `null` (the default), all commands are allowed.
 
                 NOTE: It is best practice to specify absolute paths. If a
                 relative path is specified, only a restricted PATH will be
@@ -210,9 +210,9 @@ in
             args = mkOption {
               type = with types; nullOr (listOf str);
               default = null;
-              description = ''
+              description = lib.mdDoc ''
                 Arguments that must be provided to the command. When set to
-                <code>[]</code>, the command must be run without any arguments.
+                `[]`, the command must be run without any arguments.
               '';
             };
           };
diff --git a/nixos/modules/security/misc.nix b/nixos/modules/security/misc.nix
index 3c83ff8d773..6833452a570 100644
--- a/nixos/modules/security/misc.nix
+++ b/nixos/modules/security/misc.nix
@@ -52,7 +52,7 @@ with lib;
     security.allowSimultaneousMultithreading = mkOption {
       type = types.bool;
       default = true;
-      description = ''
+      description = lib.mdDoc ''
         Whether to allow SMT/hyperthreading.  Disabling SMT means that only
         physical CPU cores will be usable at runtime, potentially at
         significant performance cost.
@@ -62,7 +62,7 @@ with lib;
         e.g., shared caches).  This attack vector is unproven.
 
         Disabling SMT is a supplement to the L1 data cache flushing mitigation
-        (see <xref linkend="opt-security.virtualisation.flushL1DataCache"/>)
+        (see [](#opt-security.virtualisation.flushL1DataCache))
         versus malicious VM guests (SMT could "bring back" previously flushed
         data).
       '';
diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix
index 7903d333411..9a1acba00d0 100644
--- a/nixos/modules/security/pam.nix
+++ b/nixos/modules/security/pam.nix
@@ -314,8 +314,7 @@ let
           Attribute set describing resource limits.  Defaults to the
           value of <option>security.pam.loginLimits</option>.
           The meaning of the values is explained in <citerefentry>
-          <refentrytitle>limits.conf</refentrytitle><manvolnum>5</manvolnum>
-          </citerefentry>.
+          <refentrytitle>limits.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
         '';
       };
 
@@ -756,8 +755,7 @@ in
           <varname>domain</varname>, <varname>type</varname>,
           <varname>item</varname>, and <varname>value</varname>
           attribute.  The syntax and semantics of these attributes
-          must be that described in <citerefentry><refentrytitle>limits.conf</refentrytitle>
-          <manvolnum>5</manvolnum></citerefentry>.
+          must be that described in <citerefentry><refentrytitle>limits.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
 
           Note that these limits do not apply to systemd services,
           whose limits can be changed via <option>systemd.extraConfig</option>
@@ -807,14 +805,14 @@ in
         default = config.krb5.enable;
         defaultText = literalExpression "config.krb5.enable";
         type = types.bool;
-        description = ''
-          Enables Kerberos PAM modules (<literal>pam-krb5</literal>,
-          <literal>pam-ccreds</literal>).
+        description = lib.mdDoc ''
+          Enables Kerberos PAM modules (`pam-krb5`,
+          `pam-ccreds`).
 
           If set, users can authenticate with their Kerberos password.
           This requires a valid Kerberos configuration
-          (<literal>config.krb5.enable</literal> should be set to
-          <literal>true</literal>).
+          (`config.krb5.enable` should be set to
+          `true`).
 
           Note that the Kerberos PAM modules are not necessary when using SSS
           to handle Kerberos authentication.
@@ -826,30 +824,26 @@ in
       enable = mkOption {
         default = false;
         type = types.bool;
-        description = ''
-          Enables P11 PAM (<literal>pam_p11</literal>) module.
+        description = lib.mdDoc ''
+          Enables P11 PAM (`pam_p11`) module.
 
           If set, users can log in with SSH keys and PKCS#11 tokens.
 
-          More information can be found <link
-          xlink:href="https://github.com/OpenSC/pam_p11">here</link>.
+          More information can be found [here](https://github.com/OpenSC/pam_p11).
         '';
       };
 
       control = mkOption {
         default = "sufficient";
         type = types.enum [ "required" "requisite" "sufficient" "optional" ];
-        description = ''
+        description = lib.mdDoc ''
           This option sets pam "control".
           If you want to have multi factor authentication, use "required".
           If you want to use the PKCS#11 device instead of the regular password,
           use "sufficient".
 
           Read
-          <citerefentry>
-            <refentrytitle>pam.conf</refentrytitle>
-            <manvolnum>5</manvolnum>
-          </citerefentry>
+          {manpage}`pam.conf(5)`
           for better understanding of this option.
         '';
       };
@@ -859,93 +853,84 @@ in
       enable = mkOption {
         default = false;
         type = types.bool;
-        description = ''
-          Enables U2F PAM (<literal>pam-u2f</literal>) module.
+        description = lib.mdDoc ''
+          Enables U2F PAM (`pam-u2f`) module.
 
           If set, users listed in
-          <filename>$XDG_CONFIG_HOME/Yubico/u2f_keys</filename> (or
-          <filename>$HOME/.config/Yubico/u2f_keys</filename> if XDG variable is
+          {file}`$XDG_CONFIG_HOME/Yubico/u2f_keys` (or
+          {file}`$HOME/.config/Yubico/u2f_keys` if XDG variable is
           not set) are able to log in with the associated U2F key. The path can
-          be changed using <option>security.pam.u2f.authFile</option> option.
+          be changed using {option}`security.pam.u2f.authFile` option.
 
           File format is:
-          <literal>username:first_keyHandle,first_public_key: second_keyHandle,second_public_key</literal>
-          This file can be generated using <command>pamu2fcfg</command> command.
+          `username:first_keyHandle,first_public_key: second_keyHandle,second_public_key`
+          This file can be generated using {command}`pamu2fcfg` command.
 
-          More information can be found <link
-          xlink:href="https://developers.yubico.com/pam-u2f/">here</link>.
+          More information can be found [here](https://developers.yubico.com/pam-u2f/).
         '';
       };
 
       authFile = mkOption {
         default = null;
         type = with types; nullOr path;
-        description = ''
-          By default <literal>pam-u2f</literal> module reads the keys from
-          <filename>$XDG_CONFIG_HOME/Yubico/u2f_keys</filename> (or
-          <filename>$HOME/.config/Yubico/u2f_keys</filename> if XDG variable is
+        description = lib.mdDoc ''
+          By default `pam-u2f` module reads the keys from
+          {file}`$XDG_CONFIG_HOME/Yubico/u2f_keys` (or
+          {file}`$HOME/.config/Yubico/u2f_keys` if XDG variable is
           not set).
 
           If you want to change auth file locations or centralize database (for
-          example use <filename>/etc/u2f-mappings</filename>) you can set this
+          example use {file}`/etc/u2f-mappings`) you can set this
           option.
 
           File format is:
-          <literal>username:first_keyHandle,first_public_key: second_keyHandle,second_public_key</literal>
-          This file can be generated using <command>pamu2fcfg</command> command.
+          `username:first_keyHandle,first_public_key: second_keyHandle,second_public_key`
+          This file can be generated using {command}`pamu2fcfg` command.
 
-          More information can be found <link
-          xlink:href="https://developers.yubico.com/pam-u2f/">here</link>.
+          More information can be found [here](https://developers.yubico.com/pam-u2f/).
         '';
       };
 
       appId = mkOption {
         default = null;
         type = with types; nullOr str;
-        description = ''
-            By default <literal>pam-u2f</literal> module sets the application
-            ID to <literal>pam://$HOSTNAME</literal>.
+        description = lib.mdDoc ''
+            By default `pam-u2f` module sets the application
+            ID to `pam://$HOSTNAME`.
 
-            When using <command>pamu2fcfg</command>, you can specify your
-            application ID with the <literal>-i</literal> flag.
+            When using {command}`pamu2fcfg`, you can specify your
+            application ID with the `-i` flag.
 
-            More information can be found <link
-            xlink:href="https://developers.yubico.com/pam-u2f/Manuals/pam_u2f.8.html">
-            here</link>
+            More information can be found [here](https://developers.yubico.com/pam-u2f/Manuals/pam_u2f.8.html)
         '';
       };
 
       origin = mkOption {
         default = null;
         type = with types; nullOr str;
-        description = ''
-            By default <literal>pam-u2f</literal> module sets the origin
-            to <literal>pam://$HOSTNAME</literal>.
+        description = lib.mdDoc ''
+            By default `pam-u2f` module sets the origin
+            to `pam://$HOSTNAME`.
             Setting origin to an host independent value will allow you to
             reuse credentials across machines
 
-            When using <command>pamu2fcfg</command>, you can specify your
-            application ID with the <literal>-o</literal> flag.
+            When using {command}`pamu2fcfg`, you can specify your
+            application ID with the `-o` flag.
 
-            More information can be found <link
-            xlink:href="https://developers.yubico.com/pam-u2f/Manuals/pam_u2f.8.html">
-            here</link>
+            More information can be found [here](https://developers.yubico.com/pam-u2f/Manuals/pam_u2f.8.html)
         '';
       };
 
       control = mkOption {
         default = "sufficient";
         type = types.enum [ "required" "requisite" "sufficient" "optional" ];
-        description = ''
+        description = lib.mdDoc ''
           This option sets pam "control".
           If you want to have multi factor authentication, use "required".
           If you want to use U2F device instead of regular password, use "sufficient".
 
           Read
-          <citerefentry>
-            <refentrytitle>pam.conf</refentrytitle>
-            <manvolnum>5</manvolnum>
-          </citerefentry>
+          {manpage}`pam.conf(5)`
           for better understanding of this option.
         '';
       };
@@ -985,18 +970,17 @@ in
       enable = mkOption {
         default = false;
         type = types.bool;
-        description = ''
-          Enables Uber's USSH PAM (<literal>pam-ussh</literal>) module.
+        description = lib.mdDoc ''
+          Enables Uber's USSH PAM (`pam-ussh`) module.
 
-          This is similar to <literal>pam-ssh-agent</literal>, except that
+          This is similar to `pam-ssh-agent`, except that
           the presence of a CA-signed SSH key with a valid principal is checked
           instead.
 
           Note that this module must both be enabled using this option and on a
-          per-PAM-service level as well (using <literal>usshAuth</literal>).
+          per-PAM-service level as well (using `usshAuth`).
 
-          More information can be found <link
-          xlink:href="https://github.com/uber/pam-ussh">here</link>.
+          More information can be found [here](https://github.com/uber/pam-ussh).
         '';
       };
 
@@ -1055,17 +1039,14 @@ in
       control = mkOption {
         default = "sufficient";
         type = types.enum [ "required" "requisite" "sufficient" "optional" ];
-        description = ''
+        description = lib.mdDoc ''
           This option sets pam "control".
           If you want to have multi factor authentication, use "required".
           If you want to use the SSH certificate instead of the regular password,
           use "sufficient".
 
           Read
-          <citerefentry>
-            <refentrytitle>pam.conf</refentrytitle>
-            <manvolnum>5</manvolnum>
-          </citerefentry>
+          {manpage}`pam.conf(5)`
           for better understanding of this option.
         '';
       };
@@ -1075,32 +1056,28 @@ in
       enable = mkOption {
         default = false;
         type = types.bool;
-        description = ''
-          Enables Yubico PAM (<literal>yubico-pam</literal>) module.
+        description = lib.mdDoc ''
+          Enables Yubico PAM (`yubico-pam`) module.
 
           If set, users listed in
-          <filename>~/.yubico/authorized_yubikeys</filename>
+          {file}`~/.yubico/authorized_yubikeys`
           are able to log in with the associated Yubikey tokens.
 
           The file must have only one line:
-          <literal>username:yubikey_token_id1:yubikey_token_id2</literal>
-          More information can be found <link
-          xlink:href="https://developers.yubico.com/yubico-pam/">here</link>.
+          `username:yubikey_token_id1:yubikey_token_id2`
+          More information can be found [here](https://developers.yubico.com/yubico-pam/).
         '';
       };
       control = mkOption {
         default = "sufficient";
         type = types.enum [ "required" "requisite" "sufficient" "optional" ];
-        description = ''
+        description = lib.mdDoc ''
           This option sets pam "control".
           If you want to have multi factor authentication, use "required".
           If you want to use Yubikey instead of regular password, use "sufficient".
 
           Read
-          <citerefentry>
-            <refentrytitle>pam.conf</refentrytitle>
-            <manvolnum>5</manvolnum>
-          </citerefentry>
+          {manpage}`pam.conf(5)`
           for better understanding of this option.
         '';
       };
@@ -1120,7 +1097,7 @@ in
       mode = mkOption {
         default = "client";
         type = types.enum [ "client" "challenge-response" ];
-        description = ''
+        description = lib.mdDoc ''
           Mode of operation.
 
           Use "client" for online validation with a YubiKey validation service such as
@@ -1130,18 +1107,16 @@ in
           Challenge-Response configurations. See the man-page ykpamcfg(1) for further
           details on how to configure offline Challenge-Response validation.
 
-          More information can be found <link
-          xlink:href="https://developers.yubico.com/yubico-pam/Authentication_Using_Challenge-Response.html">here</link>.
+          More information can be found [here](https://developers.yubico.com/yubico-pam/Authentication_Using_Challenge-Response.html).
         '';
       };
       challengeResponsePath = mkOption {
         default = null;
         type = types.nullOr types.path;
-        description = ''
+        description = lib.mdDoc ''
           If not null, set the path used by yubico pam module where the challenge expected response is stored.
 
-          More information can be found <link
-          xlink:href="https://developers.yubico.com/yubico-pam/Authentication_Using_Challenge-Response.html">here</link>.
+          More information can be found [here](https://developers.yubico.com/yubico-pam/Authentication_Using_Challenge-Response.html).
         '';
       };
     };
diff --git a/nixos/modules/security/pam_mount.nix b/nixos/modules/security/pam_mount.nix
index e159a73b66a..11cc13a8cbe 100644
--- a/nixos/modules/security/pam_mount.nix
+++ b/nixos/modules/security/pam_mount.nix
@@ -31,10 +31,9 @@ in
       extraVolumes = mkOption {
         type = types.listOf types.str;
         default = [];
-        description = ''
+        description = lib.mdDoc ''
           List of volume definitions for pam_mount.
-          For more information, visit <link
-          xlink:href="http://pam-mount.sourceforge.net/pam_mount.conf.5.html" />.
+          For more information, visit <http://pam-mount.sourceforge.net/pam_mount.conf.5.html>.
         '';
       };
 
@@ -64,22 +63,20 @@ in
         type = types.int;
         default = 0;
         example = 1;
-        description = ''
+        description = lib.mdDoc ''
           Sets the Debug-Level. 0 disables debugging, 1 enables pam_mount tracing,
           and 2 additionally enables tracing in mount.crypt. The default is 0.
-          For more information, visit <link
-          xlink:href="http://pam-mount.sourceforge.net/pam_mount.conf.5.html" />.
+          For more information, visit <http://pam-mount.sourceforge.net/pam_mount.conf.5.html>.
         '';
       };
 
       logoutWait = mkOption {
         type = types.int;
         default = 0;
-        description = ''
+        description = lib.mdDoc ''
           Amount of microseconds to wait until killing remaining processes after
           final logout.
-          For more information, visit <link
-          xlink:href="http://pam-mount.sourceforge.net/pam_mount.conf.5.html" />.
+          For more information, visit <http://pam-mount.sourceforge.net/pam_mount.conf.5.html>.
         '';
       };
 
diff --git a/nixos/modules/security/pam_usb.nix b/nixos/modules/security/pam_usb.nix
index 51d81e823f8..4275c26c6bd 100644
--- a/nixos/modules/security/pam_usb.nix
+++ b/nixos/modules/security/pam_usb.nix
@@ -17,10 +17,9 @@ in
       enable = mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           Enable USB login for all login systems that support it.  For
-          more information, visit <link
-          xlink:href="https://github.com/aluzzardi/pam_usb/wiki/Getting-Started#setting-up-devices-and-users" />.
+          more information, visit <https://github.com/aluzzardi/pam_usb/wiki/Getting-Started#setting-up-devices-and-users>.
         '';
       };
 
diff --git a/nixos/modules/security/sudo.nix b/nixos/modules/security/sudo.nix
index 2e30a8915d8..faa99a31a6d 100644
--- a/nixos/modules/security/sudo.nix
+++ b/nixos/modules/security/sudo.nix
@@ -55,19 +55,19 @@ in
       type = types.bool;
       default = true;
       description =
-        ''
-          Whether users of the <code>wheel</code> group must
-          provide a password to run commands as super user via <command>sudo</command>.
+        lib.mdDoc ''
+          Whether users of the `wheel` group must
+          provide a password to run commands as super user via {command}`sudo`.
         '';
       };
 
     security.sudo.execWheelOnly = mkOption {
       type = types.bool;
       default = false;
-      description = ''
-        Only allow members of the <code>wheel</code> group to execute sudo by
+      description = lib.mdDoc ''
+        Only allow members of the `wheel` group to execute sudo by
         setting the executable's permissions accordingly.
-        This prevents users that are not members of <code>wheel</code> from
+        This prevents users that are not members of `wheel` from
         exploiting vulnerabilities in sudo such as CVE-2021-3156.
       '';
     };
@@ -139,12 +139,12 @@ in
           runAs = mkOption {
             type = with types; str;
             default = "ALL:ALL";
-            description = ''
+            description = lib.mdDoc ''
               Under which user/group the specified command is allowed to run.
 
-              A user can be specified using just the username: <code>"foo"</code>.
-              It is also possible to specify a user/group combination using <code>"foo:bar"</code>
-              or to only allow running as a specific group with <code>":bar"</code>.
+              A user can be specified using just the username: `"foo"`.
+              It is also possible to specify a user/group combination using `"foo:bar"`
+              or to only allow running as a specific group with `":bar"`.
             '';
           };
 
@@ -159,7 +159,7 @@ in
                   type = with types; str;
                   description = ''
                     A command being either just a path to a binary to allow any arguments,
-                    the full command with arguments pre-set or with <code>""</code> used as the argument,
+                    the full command with arguments pre-set or with <literal>""</literal> used as the argument,
                     not allowing arguments to the command at all.
                   '';
                 };
diff --git a/nixos/modules/security/systemd-confinement.nix b/nixos/modules/security/systemd-confinement.nix
index 07b725effb7..f5ed3d281a5 100644
--- a/nixos/modules/security/systemd-confinement.nix
+++ b/nixos/modules/security/systemd-confinement.nix
@@ -10,12 +10,10 @@ in {
       options.confinement.enable = lib.mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           If set, all the required runtime store paths for this service are
-          bind-mounted into a <literal>tmpfs</literal>-based <citerefentry>
-            <refentrytitle>chroot</refentrytitle>
-            <manvolnum>2</manvolnum>
-          </citerefentry>.
+          bind-mounted into a `tmpfs`-based
+          {manpage}`chroot(2)`.
         '';
       };
 
@@ -63,16 +61,13 @@ in {
         default = toplevelConfig.environment.binsh;
         defaultText = lib.literalExpression "config.environment.binsh";
         example = lib.literalExpression ''"''${pkgs.dash}/bin/dash"'';
-        description = ''
-          The program to make available as <filename>/bin/sh</filename> inside
-          the chroot. If this is set to <literal>null</literal>, no
-          <filename>/bin/sh</filename> is provided at all.
+        description = lib.mdDoc ''
+          The program to make available as {file}`/bin/sh` inside
+          the chroot. If this is set to `null`, no
+          {file}`/bin/sh` is provided at all.
 
           This is useful for some applications, which for example use the
-          <citerefentry>
-            <refentrytitle>system</refentrytitle>
-            <manvolnum>3</manvolnum>
-          </citerefentry> library function to execute commands.
+          {manpage}`system(3)` library function to execute commands.
         '';
       };
 
@@ -88,10 +83,8 @@ in {
           name space.
 
           If this is set to <literal>chroot-only</literal>, only the file
-          system name space is set up along with the call to <citerefentry>
-            <refentrytitle>chroot</refentrytitle>
-            <manvolnum>2</manvolnum>
-          </citerefentry>.
+          system name space is set up along with the call to
+          <citerefentry><refentrytitle>chroot</refentrytitle><manvolnum>2</manvolnum></citerefentry>.
 
           <note><para>This doesn't cover network namespaces and is solely for
           file system level isolation.</para></note>
diff --git a/nixos/modules/security/wrappers/default.nix b/nixos/modules/security/wrappers/default.nix
index cdf99e697f6..098ed85919f 100644
--- a/nixos/modules/security/wrappers/default.nix
+++ b/nixos/modules/security/wrappers/default.nix
@@ -54,10 +54,7 @@ let
         description = ''
           A comma-separated list of capabilities to be given to the wrapper
           program. For capabilities supported by the system check the
-          <citerefentry>
-            <refentrytitle>capabilities</refentrytitle>
-            <manvolnum>7</manvolnum>
-          </citerefentry>
+          <citerefentry><refentrytitle>capabilities</refentrytitle><manvolnum>7</manvolnum></citerefentry>
           manual page.
 
           <note><para>
diff --git a/nixos/modules/services/backup/borgbackup.nix b/nixos/modules/services/backup/borgbackup.nix
index 147b827497c..3abd33f5ae6 100644
--- a/nixos/modules/services/backup/borgbackup.nix
+++ b/nixos/modules/services/backup/borgbackup.nix
@@ -320,13 +320,12 @@ in {
           startAt = mkOption {
             type = with types; either str (listOf str);
             default = "daily";
-            description = ''
+            description = lib.mdDoc ''
               When or how often the backup should run.
               Must be in the format described in
-              <citerefentry><refentrytitle>systemd.time</refentrytitle>
-              <manvolnum>7</manvolnum></citerefentry>.
+              {manpage}`systemd.time(7)`.
               If you do not want the backup to start
-              automatically, use <literal>[ ]</literal>.
+              automatically, use `[ ]`.
               It will generate a systemd service borgbackup-job-NAME.
               You may trigger it manually via systemctl restart borgbackup-job-NAME.
             '';
@@ -336,10 +335,9 @@ in {
             default = false;
             type = types.bool;
             example = true;
-            description = ''
-              Set the <literal>persistentTimer</literal> option for the
-              <citerefentry><refentrytitle>systemd.timer</refentrytitle>
-              <manvolnum>5</manvolnum></citerefentry>
+            description = lib.mdDoc ''
+              Set the `persistentTimer` option for the
+              {manpage}`systemd.timer(5)`
               which triggers the backup immediately if the last trigger
               was missed (e.g. if the system was powered down).
             '';
diff --git a/nixos/modules/services/backup/duplicity.nix b/nixos/modules/services/backup/duplicity.nix
index 8c410595556..afa4f31b129 100644
--- a/nixos/modules/services/backup/duplicity.nix
+++ b/nixos/modules/services/backup/duplicity.nix
@@ -27,30 +27,27 @@ in
       type = types.listOf types.str;
       default = [ ];
       example = [ "/home" ];
-      description = ''
+      description = lib.mdDoc ''
         List of paths to include into the backups. See the FILE SELECTION
-        section in <citerefentry><refentrytitle>duplicity</refentrytitle>
-        <manvolnum>1</manvolnum></citerefentry> for details on the syntax.
+        section in {manpage}`duplicity(1)` for details on the syntax.
       '';
     };
 
     exclude = mkOption {
       type = types.listOf types.str;
       default = [ ];
-      description = ''
+      description = lib.mdDoc ''
         List of paths to exclude from backups. See the FILE SELECTION section in
-        <citerefentry><refentrytitle>duplicity</refentrytitle>
-        <manvolnum>1</manvolnum></citerefentry> for details on the syntax.
+        {manpage}`duplicity(1)` for details on the syntax.
       '';
     };
 
     targetUrl = mkOption {
       type = types.str;
       example = "s3://host:port/prefix";
-      description = ''
+      description = lib.mdDoc ''
         Target url to backup to. See the URL FORMAT section in
-        <citerefentry><refentrytitle>duplicity</refentrytitle>
-        <manvolnum>1</manvolnum></citerefentry> for supported urls.
+        {manpage}`duplicity(1)` for supported urls.
       '';
     };
 
@@ -60,12 +57,11 @@ in
       description = ''
         Path of a file containing secrets (gpg passphrase, access key...) in
         the format of EnvironmentFile as described by
-        <citerefentry><refentrytitle>systemd.exec</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry>. For example:
+        <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>. For example:
         <programlisting>
-        PASSPHRASE=<replaceable>...</replaceable>
-        AWS_ACCESS_KEY_ID=<replaceable>...</replaceable>
-        AWS_SECRET_ACCESS_KEY=<replaceable>...</replaceable>
+        PASSPHRASE=«...»
+        AWS_ACCESS_KEY_ID=«...»
+        AWS_SECRET_ACCESS_KEY=«...»
         </programlisting>
       '';
     };
@@ -73,10 +69,9 @@ in
     frequency = mkOption {
       type = types.nullOr types.str;
       default = "daily";
-      description = ''
+      description = lib.mdDoc ''
         Run duplicity with the given frequency (see
-        <citerefentry><refentrytitle>systemd.time</refentrytitle>
-        <manvolnum>7</manvolnum></citerefentry> for the format).
+        {manpage}`systemd.time(7)` for the format).
         If null, do not run automatically.
       '';
     };
@@ -85,10 +80,9 @@ in
       type = types.listOf types.str;
       default = [ ];
       example = [ "--backend-retry-delay" "100" ];
-      description = ''
+      description = lib.mdDoc ''
         Extra command-line flags passed to duplicity. See
-        <citerefentry><refentrytitle>duplicity</refentrytitle>
-        <manvolnum>1</manvolnum></citerefentry>.
+        {manpage}`duplicity(1)`.
       '';
     };
 
diff --git a/nixos/modules/services/backup/restic.nix b/nixos/modules/services/backup/restic.nix
index 76d7f093f21..2b0dcb16344 100644
--- a/nixos/modules/services/backup/restic.nix
+++ b/nixos/modules/services/backup/restic.nix
@@ -227,7 +227,7 @@ in
           type = types.package;
           default = pkgs.restic;
           defaultText = literalExpression "pkgs.restic";
-          description = ''
+          description = lib.mdDoc ''
             Restic package to use.
           '';
         };
@@ -321,7 +321,7 @@ in
               ''}
             '';
           } // optionalAttrs (backup.dynamicFilesFrom != null || backup.backupCleanupCommand != null) {
-            postStart = ''
+            postStop = ''
               ${optionalString (backup.backupCleanupCommand != null) ''
                 ${pkgs.writeScript "backupCleanupCommand" backup.backupCleanupCommand}
               ''}
diff --git a/nixos/modules/services/backup/sanoid.nix b/nixos/modules/services/backup/sanoid.nix
index 847b8507f70..0c01aa57f7e 100644
--- a/nixos/modules/services/backup/sanoid.nix
+++ b/nixos/modules/services/backup/sanoid.nix
@@ -118,12 +118,11 @@ in
       type = types.str;
       default = "hourly";
       example = "daily";
-      description = ''
+      description = lib.mdDoc ''
         Run sanoid at this interval. The default is to run hourly.
 
         The format is described in
-        <citerefentry><refentrytitle>systemd.time</refentrytitle>
-        <manvolnum>7</manvolnum></citerefentry>.
+        {manpage}`systemd.time(7)`.
       '';
     };
 
diff --git a/nixos/modules/services/backup/syncoid.nix b/nixos/modules/services/backup/syncoid.nix
index e53528fb66f..779c71a6ba9 100644
--- a/nixos/modules/services/backup/syncoid.nix
+++ b/nixos/modules/services/backup/syncoid.nix
@@ -89,12 +89,11 @@ in
       type = types.str;
       default = "hourly";
       example = "*-*-* *:15:00";
-      description = ''
+      description = lib.mdDoc ''
         Run syncoid at this interval. The default is to run hourly.
 
         The format is described in
-        <citerefentry><refentrytitle>systemd.time</refentrytitle>
-        <manvolnum>7</manvolnum></citerefentry>.
+        {manpage}`systemd.time(7)`.
       '';
     };
 
@@ -192,10 +191,10 @@ in
           target = mkOption {
             type = types.str;
             example = "user@server:pool/dataset";
-            description = ''
+            description = lib.mdDoc ''
               Target ZFS dataset. Can be either local
-              (<replaceable>pool/dataset</replaceable>) or remote
-              (<replaceable>user@server:pool/dataset</replaceable>).
+              («pool/dataset») or remote
+              («user@server:pool/dataset»).
             '';
           };
 
diff --git a/nixos/modules/services/backup/tarsnap.nix b/nixos/modules/services/backup/tarsnap.nix
index 965166479be..c2d4f87362e 100644
--- a/nixos/modules/services/backup/tarsnap.nix
+++ b/nixos/modules/services/backup/tarsnap.nix
@@ -140,12 +140,11 @@ in
                 type = types.str;
                 default = "01:15";
                 example = "hourly";
-                description = ''
+                description = lib.mdDoc ''
                   Create archive at this interval.
 
                   The format is described in
-                  <citerefentry><refentrytitle>systemd.time</refentrytitle>
-                  <manvolnum>7</manvolnum></citerefentry>.
+                  {manpage}`systemd.time(7)`.
                 '';
               };
 
diff --git a/nixos/modules/services/backup/zrepl.nix b/nixos/modules/services/backup/zrepl.nix
index e3a90091264..ea858a8b77d 100644
--- a/nixos/modules/services/backup/zrepl.nix
+++ b/nixos/modules/services/backup/zrepl.nix
@@ -22,9 +22,8 @@ in
 
       settings = mkOption {
         default = { };
-        description = ''
-          Configuration for zrepl. See <link
-          xlink:href="https://zrepl.github.io/configuration.html"/>
+        description = lib.mdDoc ''
+          Configuration for zrepl. See <https://zrepl.github.io/configuration.html>
           for more information.
         '';
         type = types.submodule {
diff --git a/nixos/modules/services/cluster/hadoop/conf.nix b/nixos/modules/services/cluster/hadoop/conf.nix
index e3c26a0d550..388eaafcc36 100644
--- a/nixos/modules/services/cluster/hadoop/conf.nix
+++ b/nixos/modules/services/cluster/hadoop/conf.nix
@@ -33,6 +33,7 @@ pkgs.runCommand "hadoop-conf" {} (with cfg; ''
   mkdir -p $out/
   cp ${siteXml "core-site.xml" (coreSite // coreSiteInternal)}/* $out/
   cp ${siteXml "hdfs-site.xml" (hdfsSiteDefault // hdfsSite // hdfsSiteInternal)}/* $out/
+  cp ${siteXml "hbase-site.xml" (hbaseSiteDefault // hbaseSite // hbaseSiteInternal)}/* $out/
   cp ${siteXml "mapred-site.xml" (mapredSiteDefault // mapredSite)}/* $out/
   cp ${siteXml "yarn-site.xml" (yarnSiteDefault // yarnSite // yarnSiteInternal)}/* $out/
   cp ${siteXml "httpfs-site.xml" httpfsSite}/* $out/
@@ -40,5 +41,5 @@ pkgs.runCommand "hadoop-conf" {} (with cfg; ''
   cp ${pkgs.writeTextDir "hadoop-user-functions.sh" userFunctions}/* $out/
   cp ${pkgs.writeTextDir "hadoop-env.sh" hadoopEnv}/* $out/
   cp ${log4jProperties} $out/log4j.properties
-  ${lib.concatMapStringsSep "\n" (dir: "cp -r ${dir}/* $out/") extraConfDirs}
+  ${lib.concatMapStringsSep "\n" (dir: "cp -f -r ${dir}/* $out/") extraConfDirs}
 '')
diff --git a/nixos/modules/services/cluster/hadoop/default.nix b/nixos/modules/services/cluster/hadoop/default.nix
index a4fdea81037..76e84c1111a 100644
--- a/nixos/modules/services/cluster/hadoop/default.nix
+++ b/nixos/modules/services/cluster/hadoop/default.nix
@@ -5,7 +5,7 @@ let
 in
 with lib;
 {
-  imports = [ ./yarn.nix ./hdfs.nix ];
+  imports = [ ./yarn.nix ./hdfs.nix ./hbase.nix ];
 
   options.services.hadoop = {
     coreSite = mkOption {
@@ -16,9 +16,9 @@ with lib;
           "fs.defaultFS" = "hdfs://localhost";
         }
       '';
-      description = ''
+      description = lib.mdDoc ''
         Hadoop core-site.xml definition
-        <link xlink:href="https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/core-default.xml"/>
+        <https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/core-default.xml>
       '';
     };
     coreSiteInternal = mkOption {
@@ -38,7 +38,7 @@ with lib;
         "dfs.namenode.http-bind-host" = "0.0.0.0";
       };
       type = types.attrsOf types.anything;
-      description = ''
+      description = lib.mdDoc ''
         Default options for hdfs-site.xml
       '';
     };
@@ -50,9 +50,9 @@ with lib;
           "dfs.nameservices" = "namenode1";
         }
       '';
-      description = ''
+      description = lib.mdDoc ''
         Additional options and overrides for hdfs-site.xml
-        <link xlink:href="https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml"/>
+        <https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml>
       '';
     };
     hdfsSiteInternal = mkOption {
@@ -80,7 +80,7 @@ with lib;
         }
       '';
       type = types.attrsOf types.anything;
-      description = ''
+      description = lib.mdDoc ''
         Default options for mapred-site.xml
       '';
     };
@@ -92,9 +92,9 @@ with lib;
           "mapreduce.map.java.opts" = "-Xmx900m -XX:+UseParallelGC";
         }
       '';
-      description = ''
+      description = lib.mdDoc ''
         Additional options and overrides for mapred-site.xml
-        <link xlink:href="https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml"/>
+        <https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml>
       '';
     };
 
@@ -113,7 +113,7 @@ with lib;
         "yarn.resourcemanager.scheduler.class" = "org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler";
       };
       type = types.attrsOf types.anything;
-      description = ''
+      description = lib.mdDoc ''
         Default options for yarn-site.xml
       '';
     };
@@ -125,9 +125,9 @@ with lib;
           "yarn.resourcemanager.hostname" = "''${config.networking.hostName}";
         }
       '';
-      description = ''
+      description = lib.mdDoc ''
         Additional options and overrides for yarn-site.xml
-        <link xlink:href="https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-common/yarn-default.xml"/>
+        <https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-common/yarn-default.xml>
       '';
     };
     yarnSiteInternal = mkOption {
@@ -147,9 +147,9 @@ with lib;
           "hadoop.http.max.threads" = 500;
         }
       '';
-      description = ''
+      description = lib.mdDoc ''
         Hadoop httpfs-site.xml definition
-        <link xlink:href="https://hadoop.apache.org/docs/current/hadoop-hdfs-httpfs/httpfs-default.html"/>
+        <https://hadoop.apache.org/docs/current/hadoop-hdfs-httpfs/httpfs-default.html>
       '';
     };
 
@@ -162,7 +162,7 @@ with lib;
       example = literalExpression ''
         "''${pkgs.hadoop}/lib/''${pkgs.hadoop.untarDir}/etc/hadoop/log4j.properties";
       '';
-      description = "log4j.properties file added to HADOOP_CONF_DIR";
+      description = lib.mdDoc "log4j.properties file added to HADOOP_CONF_DIR";
     };
 
     containerExecutorCfg = mkOption {
@@ -179,9 +179,9 @@ with lib;
           "feature.terminal.enabled" = 0;
         }
       '';
-      description = ''
+      description = lib.mdDoc ''
         Yarn container-executor.cfg definition
-        <link xlink:href="https://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-site/SecureContainer.html"/>
+        <https://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-site/SecureContainer.html>
       '';
     };
 
@@ -194,7 +194,7 @@ with lib;
           ./extraYARNConfs
         ]
       '';
-      description = "Directories containing additional config files to be added to HADOOP_CONF_DIR";
+      description = lib.mdDoc "Directories containing additional config files to be added to HADOOP_CONF_DIR";
     };
 
     gatewayRole.enable = mkEnableOption "gateway role for deploying hadoop configs";
diff --git a/nixos/modules/services/cluster/hadoop/hbase.nix b/nixos/modules/services/cluster/hadoop/hbase.nix
new file mode 100644
index 00000000000..246775dc898
--- /dev/null
+++ b/nixos/modules/services/cluster/hadoop/hbase.nix
@@ -0,0 +1,196 @@
+{ config, lib, pkgs, ...}:
+
+with lib;
+let
+  cfg = config.services.hadoop;
+  hadoopConf = "${import ./conf.nix { inherit cfg pkgs lib; }}/";
+  mkIfNotNull = x: mkIf (x != null) x;
+in
+{
+  options.services.hadoop = {
+
+    gatewayRole.enableHbaseCli = mkEnableOption "HBase CLI tools";
+
+    hbaseSiteDefault = mkOption {
+      default = {
+        "hbase.regionserver.ipc.address" = "0.0.0.0";
+        "hbase.master.ipc.address" = "0.0.0.0";
+        "hbase.master.info.bindAddress" = "0.0.0.0";
+        "hbase.regionserver.info.bindAddress" = "0.0.0.0";
+
+        "hbase.cluster.distributed" = "true";
+      };
+      type = types.attrsOf types.anything;
+      description = ''
+        Default options for hbase-site.xml
+      '';
+    };
+    hbaseSite = mkOption {
+      default = {};
+      type = with types; attrsOf anything;
+      example = literalExpression ''
+      '';
+      description = ''
+        Additional options and overrides for hbase-site.xml
+        <link xlink:href="https://github.com/apache/hbase/blob/rel/2.4.11/hbase-common/src/main/resources/hbase-default.xml"/>
+      '';
+    };
+    hbaseSiteInternal = mkOption {
+      default = {};
+      type = with types; attrsOf anything;
+      internal = true;
+      description = ''
+        Internal option to add configs to hbase-site.xml based on module options
+      '';
+    };
+
+    hbase = {
+
+      package = mkOption {
+        type = types.package;
+        default = pkgs.hbase;
+        defaultText = literalExpression "pkgs.hbase";
+        description = "HBase package";
+      };
+
+      rootdir = mkOption {
+        description = ''
+          This option will set "hbase.rootdir" in hbase-site.xml and determine
+          the directory shared by region servers and into which HBase persists.
+          The URL should be 'fully-qualified' to include the filesystem scheme.
+          If a core-site.xml is provided, the FS scheme defaults to the value
+          of "fs.defaultFS".
+
+          Filesystems other than HDFS (like S3, QFS, Swift) are also supported.
+        '';
+        type = types.str;
+        example = "hdfs://nameservice1/hbase";
+        default = "/hbase";
+      };
+      zookeeperQuorum = mkOption {
+        description = ''
+          This option will set "hbase.zookeeper.quorum" in hbase-site.xml.
+          Comma separated list of servers in the ZooKeeper ensemble.
+        '';
+        type = with types; nullOr commas;
+        example = "zk1.internal,zk2.internal,zk3.internal";
+        default = null;
+      };
+      master = {
+        enable = mkEnableOption "HBase Master";
+        initHDFS = mkEnableOption "initialization of the hbase directory on HDFS";
+
+        openFirewall = mkOption {
+          type = types.bool;
+          default = false;
+          description = ''
+            Open firewall ports for HBase master.
+          '';
+        };
+      };
+      regionServer = {
+        enable = mkEnableOption "HBase RegionServer";
+
+        overrideHosts = mkOption {
+          type = types.bool;
+          default = true;
+          description = ''
+            Remove /etc/hosts entries for "127.0.0.2" and "::1" defined in nixos/modules/config/networking.nix
+            Regionservers must be able to resolve their hostnames to their IP addresses, through PTR records
+            or /etc/hosts entries.
+
+          '';
+        };
+
+        openFirewall = mkOption {
+          type = types.bool;
+          default = false;
+          description = ''
+            Open firewall ports for HBase master.
+          '';
+        };
+      };
+    };
+  };
+
+  config = mkMerge [
+    (mkIf cfg.hbase.master.enable {
+      services.hadoop.gatewayRole = {
+        enable = true;
+        enableHbaseCli = mkDefault true;
+      };
+
+      systemd.services.hbase-master = {
+        description = "HBase master";
+        wantedBy = [ "multi-user.target" ];
+
+        preStart = mkIf cfg.hbase.master.initHDFS ''
+          HADOOP_USER_NAME=hdfs ${cfg.package}/bin/hdfs --config ${hadoopConf} dfsadmin -safemode wait
+          HADOOP_USER_NAME=hdfs ${cfg.package}/bin/hdfs --config ${hadoopConf} dfs -mkdir -p ${cfg.hbase.rootdir}
+          HADOOP_USER_NAME=hdfs ${cfg.package}/bin/hdfs --config ${hadoopConf} dfs -chown hbase ${cfg.hbase.rootdir}
+        '';
+
+        serviceConfig = {
+          User = "hbase";
+          SyslogIdentifier = "hbase-master";
+          ExecStart = "${cfg.hbase.package}/bin/hbase --config ${hadoopConf} " +
+                      "master start";
+          Restart = "always";
+        };
+      };
+
+      services.hadoop.hbaseSiteInternal."hbase.rootdir" = cfg.hbase.rootdir;
+
+      networking.firewall.allowedTCPPorts = (mkIf cfg.hbase.master.openFirewall [
+        16000 16010
+      ]);
+
+    })
+
+    (mkIf cfg.hbase.regionServer.enable {
+      services.hadoop.gatewayRole = {
+        enable = true;
+        enableHbaseCli = mkDefault true;
+      };
+
+      systemd.services.hbase-regionserver = {
+        description = "HBase RegionServer";
+        wantedBy = [ "multi-user.target" ];
+        serviceConfig = {
+          User = "hbase";
+          SyslogIdentifier = "hbase-regionserver";
+          ExecStart = "${cfg.hbase.package}/bin/hbase --config /etc/hadoop-conf/ " +
+                      "regionserver start";
+          Restart = "always";
+        };
+      };
+
+      services.hadoop.hbaseSiteInternal."hbase.rootdir" = cfg.hbase.rootdir;
+
+      networking = {
+        firewall.allowedTCPPorts = (mkIf cfg.hbase.regionServer.openFirewall [
+          16020 16030
+        ]);
+        hosts = mkIf cfg.hbase.regionServer.overrideHosts {
+          "127.0.0.2" = mkForce [ ];
+          "::1" = mkForce [ ];
+        };
+      };
+    })
+
+    (mkIf cfg.gatewayRole.enable {
+
+      environment.systemPackages = mkIf cfg.gatewayRole.enableHbaseCli [ cfg.hbase.package ];
+
+      services.hadoop.hbaseSiteInternal = with cfg.hbase; {
+        "hbase.zookeeper.quorum" = mkIfNotNull zookeeperQuorum;
+      };
+
+      users.users.hbase = {
+        description = "Hadoop HBase user";
+        group = "hadoop";
+        isSystemUser = true;
+      };
+    })
+  ];
+}
diff --git a/nixos/modules/services/cluster/hadoop/hdfs.nix b/nixos/modules/services/cluster/hadoop/hdfs.nix
index 6c185b9cd24..75a97e53547 100644
--- a/nixos/modules/services/cluster/hadoop/hdfs.nix
+++ b/nixos/modules/services/cluster/hadoop/hdfs.nix
@@ -158,8 +158,8 @@ in
         50010 # datanode.address
         50020 # datanode.ipc.address
       ];
-      extraConfig.services.hadoop.hdfsSiteInternal."dfs.datanode.data.dir" = let d = cfg.hdfs.datanode.dataDirs; in
-        if (d!= null) then (concatMapStringsSep "," (x: "["+x.type+"]file://"+x.path) cfg.hdfs.datanode.dataDirs) else d;
+      extraConfig.services.hadoop.hdfsSiteInternal."dfs.datanode.data.dir" = mkIf (cfg.hdfs.datanode.dataDirs!= null)
+        (concatMapStringsSep "," (x: "["+x.type+"]file://"+x.path) cfg.hdfs.datanode.dataDirs);
     })
 
     (hadoopServiceConfig {
diff --git a/nixos/modules/services/cluster/hadoop/yarn.nix b/nixos/modules/services/cluster/hadoop/yarn.nix
index 0a03fe6dab6..be0b9c13cd3 100644
--- a/nixos/modules/services/cluster/hadoop/yarn.nix
+++ b/nixos/modules/services/cluster/hadoop/yarn.nix
@@ -178,18 +178,18 @@ in
 
       services.hadoop.gatewayRole.enable = true;
 
-      services.hadoop.yarnSiteInternal = with cfg.yarn.nodemanager; {
-        "yarn.nodemanager.local-dirs" = localDir;
+      services.hadoop.yarnSiteInternal = with cfg.yarn.nodemanager; mkMerge [ ({
+        "yarn.nodemanager.local-dirs" = mkIf (localDir!= null) (concatStringsSep "," localDir);
         "yarn.scheduler.maximum-allocation-vcores" = resource.maximumAllocationVCores;
         "yarn.scheduler.maximum-allocation-mb" = resource.maximumAllocationMB;
         "yarn.nodemanager.resource.cpu-vcores" = resource.cpuVCores;
         "yarn.nodemanager.resource.memory-mb" = resource.memoryMB;
-      } // mkIf useCGroups {
+      }) (mkIf useCGroups {
         "yarn.nodemanager.linux-container-executor.cgroups.hierarchy" = "/hadoop-yarn";
         "yarn.nodemanager.linux-container-executor.resources-handler.class" = "org.apache.hadoop.yarn.server.nodemanager.util.CgroupsLCEResourcesHandler";
         "yarn.nodemanager.linux-container-executor.cgroups.mount" = "true";
         "yarn.nodemanager.linux-container-executor.cgroups.mount-path" = "/run/wrappers/yarn-nodemanager/cgroup";
-      };
+      })];
 
       networking.firewall.allowedTCPPortRanges = [
         (mkIf (cfg.yarn.nodemanager.openFirewall) {from = 1024; to = 65535;})
diff --git a/nixos/modules/services/computing/slurm/slurm.nix b/nixos/modules/services/computing/slurm/slurm.nix
index 785267d4b37..0860b9a220c 100644
--- a/nixos/modules/services/computing/slurm/slurm.nix
+++ b/nixos/modules/services/computing/slurm/slurm.nix
@@ -109,10 +109,9 @@ in
         extraConfig = mkOption {
           type = types.lines;
           default = "";
-          description = ''
-            Extra configuration for <literal>slurmdbd.conf</literal> See also:
-            <citerefentry><refentrytitle>slurmdbd.conf</refentrytitle>
-            <manvolnum>8</manvolnum></citerefentry>.
+          description = lib.mdDoc ''
+            Extra configuration for `slurmdbd.conf` See also:
+            {manpage}`slurmdbd.conf(8)`.
           '';
         };
       };
diff --git a/nixos/modules/services/continuous-integration/github-runner.nix b/nixos/modules/services/continuous-integration/github-runner.nix
index 2da18bbdb39..54003382368 100644
--- a/nixos/modules/services/continuous-integration/github-runner.nix
+++ b/nixos/modules/services/continuous-integration/github-runner.nix
@@ -18,12 +18,11 @@ in
     enable = mkOption {
       default = false;
       example = true;
-      description = ''
+      description = lib.mdDoc ''
         Whether to enable GitHub Actions runner.
 
         Note: GitHub recommends using self-hosted runners with private repositories only. Learn more here:
-        <link xlink:href="https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners"
-        >About self-hosted runners</link>.
+        [About self-hosted runners](https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners).
       '';
       type = lib.types.bool;
     };
diff --git a/nixos/modules/services/continuous-integration/gitlab-runner.nix b/nixos/modules/services/continuous-integration/gitlab-runner.nix
index 03d3d2d16e3..9f076e2d7a2 100644
--- a/nixos/modules/services/continuous-integration/gitlab-runner.nix
+++ b/nixos/modules/services/continuous-integration/gitlab-runner.nix
@@ -113,15 +113,15 @@ in
     configFile = mkOption {
       type = types.nullOr types.path;
       default = null;
-      description = ''
+      description = lib.mdDoc ''
         Configuration file for gitlab-runner.
 
-        <option>configFile</option> takes precedence over <option>services</option>.
-        <option>checkInterval</option> and <option>concurrent</option> will be ignored too.
+        {option}`configFile` takes precedence over {option}`services`.
+        {option}`checkInterval` and {option}`concurrent` will be ignored too.
 
-        This option is deprecated, please use <option>services</option> instead.
-        You can use <option>registrationConfigFile</option> and
-        <option>registrationFlags</option>
+        This option is deprecated, please use {option}`services` instead.
+        You can use {option}`registrationConfigFile` and
+        {option}`registrationFlags`
         for settings not covered by this module.
       '';
     };
@@ -130,16 +130,16 @@ in
         freeformType = (pkgs.formats.json { }).type;
       };
       default = { };
-      description = ''
+      description = lib.mdDoc ''
         Global gitlab-runner configuration. See
-        <link xlink:href="https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-global-section"/>
+        <https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-global-section>
         for supported values.
       '';
     };
     gracefulTermination = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Finish all remaining jobs before stopping.
         If not set gitlab-runner will stop immediatly without waiting
         for jobs to finish, which will lead to failed builds.
@@ -149,7 +149,7 @@ in
       type = types.str;
       default = "infinity";
       example = "5min 20s";
-      description = ''
+      description = lib.mdDoc ''
         Time to wait until a graceful shutdown is turned into a forceful one.
       '';
     };
@@ -158,17 +158,17 @@ in
       default = pkgs.gitlab-runner;
       defaultText = literalExpression "pkgs.gitlab-runner";
       example = literalExpression "pkgs.gitlab-runner_1_11";
-      description = "Gitlab Runner package to use.";
+      description = lib.mdDoc "Gitlab Runner package to use.";
     };
     extraPackages = mkOption {
       type = types.listOf types.package;
       default = [ ];
-      description = ''
+      description = lib.mdDoc ''
         Extra packages to add to PATH for the gitlab-runner process.
       '';
     };
     services = mkOption {
-      description = "GitLab Runner services.";
+      description = lib.mdDoc "GitLab Runner services.";
       default = { };
       example = literalExpression ''
         {
@@ -250,17 +250,17 @@ in
         options = {
           registrationConfigFile = mkOption {
             type = types.path;
-            description = ''
+            description = lib.mdDoc ''
               Absolute path to a file with environment variables
               used for gitlab-runner registration.
               A list of all supported environment variables can be found in
-              <literal>gitlab-runner register --help</literal>.
+              `gitlab-runner register --help`.
 
               Ones that you probably want to set is
 
-              <literal>CI_SERVER_URL=&lt;CI server URL&gt;</literal>
+              `CI_SERVER_URL=<CI server URL>`
 
-              <literal>REGISTRATION_TOKEN=&lt;registration secret&gt;</literal>
+              `REGISTRATION_TOKEN=<registration secret>`
 
               WARNING: make sure to use quoted absolute path,
               or it is going to be copied to Nix Store.
@@ -270,10 +270,10 @@ in
             type = types.listOf types.str;
             default = [ ];
             example = [ "--docker-helper-image my/gitlab-runner-helper" ];
-            description = ''
+            description = lib.mdDoc ''
               Extra command-line flags passed to
-              <literal>gitlab-runner register</literal>.
-              Execute <literal>gitlab-runner register --help</literal>
+              `gitlab-runner register`.
+              Execute `gitlab-runner register --help`
               for a list of supported flags.
             '';
           };
@@ -281,32 +281,32 @@ in
             type = types.attrsOf types.str;
             default = { };
             example = { NAME = "value"; };
-            description = ''
+            description = lib.mdDoc ''
               Custom environment variables injected to build environment.
-              For secrets you can use <option>registrationConfigFile</option>
-              with <literal>RUNNER_ENV</literal> variable set.
+              For secrets you can use {option}`registrationConfigFile`
+              with `RUNNER_ENV` variable set.
             '';
           };
           description = mkOption {
             type = types.nullOr types.str;
             default = null;
-            description = ''
+            description = lib.mdDoc ''
               Name/description of the runner.
             '';
           };
           executor = mkOption {
             type = types.str;
             default = "docker";
-            description = ''
+            description = lib.mdDoc ''
               Select executor, eg. shell, docker, etc.
-              See <link xlink:href="https://docs.gitlab.com/runner/executors/README.html">runner documentation</link> for more information.
+              See [runner documentation](https://docs.gitlab.com/runner/executors/README.html) for more information.
             '';
           };
           buildsDir = mkOption {
             type = types.nullOr types.path;
             default = null;
             example = "/var/lib/gitlab-runner/builds";
-            description = ''
+            description = lib.mdDoc ''
               Absolute path to a directory where builds will be stored
               in context of selected executor (Locally, Docker, SSH).
             '';
@@ -315,14 +315,14 @@ in
             type = types.nullOr types.str;
             default = null;
             example = "http://gitlab.example.local";
-            description = ''
+            description = lib.mdDoc ''
               Overwrite the URL for the GitLab instance. Used if the Runner can’t connect to GitLab on the URL GitLab exposes itself.
             '';
           };
           dockerImage = mkOption {
             type = types.nullOr types.str;
             default = null;
-            description = ''
+            description = lib.mdDoc ''
               Docker image to be used.
             '';
           };
@@ -330,7 +330,7 @@ in
             type = types.listOf types.str;
             default = [ ];
             example = [ "/var/run/docker.sock:/var/run/docker.sock" ];
-            description = ''
+            description = lib.mdDoc ''
               Bind-mount a volume and create it
               if it doesn't exist prior to mounting.
             '';
@@ -338,14 +338,14 @@ in
           dockerDisableCache = mkOption {
             type = types.bool;
             default = false;
-            description = ''
+            description = lib.mdDoc ''
               Disable all container caching.
             '';
           };
           dockerPrivileged = mkOption {
             type = types.bool;
             default = false;
-            description = ''
+            description = lib.mdDoc ''
               Give extended privileges to container.
             '';
           };
@@ -353,7 +353,7 @@ in
             type = types.listOf types.str;
             default = [ ];
             example = [ "other-host:127.0.0.1" ];
-            description = ''
+            description = lib.mdDoc ''
               Add a custom host-to-IP mapping.
             '';
           };
@@ -361,7 +361,7 @@ in
             type = types.listOf types.str;
             default = [ ];
             example = [ "ruby:*" "python:*" "php:*" "my.registry.tld:5000/*:*" ];
-            description = ''
+            description = lib.mdDoc ''
               Whitelist allowed images.
             '';
           };
@@ -369,21 +369,21 @@ in
             type = types.listOf types.str;
             default = [ ];
             example = [ "postgres:9" "redis:*" "mysql:*" ];
-            description = ''
+            description = lib.mdDoc ''
               Whitelist allowed services.
             '';
           };
           preCloneScript = mkOption {
             type = types.nullOr types.path;
             default = null;
-            description = ''
+            description = lib.mdDoc ''
               Runner-specific command script executed before code is pulled.
             '';
           };
           preBuildScript = mkOption {
             type = types.nullOr types.path;
             default = null;
-            description = ''
+            description = lib.mdDoc ''
               Runner-specific command script executed after code is pulled,
               just before build executes.
             '';
@@ -391,7 +391,7 @@ in
           postBuildScript = mkOption {
             type = types.nullOr types.path;
             default = null;
-            description = ''
+            description = lib.mdDoc ''
               Runner-specific command script executed after code is pulled
               and just after build executes.
             '';
@@ -399,22 +399,22 @@ in
           tagList = mkOption {
             type = types.listOf types.str;
             default = [ ];
-            description = ''
+            description = lib.mdDoc ''
               Tag list.
             '';
           };
           runUntagged = mkOption {
             type = types.bool;
             default = false;
-            description = ''
+            description = lib.mdDoc ''
               Register to run untagged builds; defaults to
-              <literal>true</literal> when <option>tagList</option> is empty.
+              `true` when {option}`tagList` is empty.
             '';
           };
           limit = mkOption {
             type = types.int;
             default = 0;
-            description = ''
+            description = lib.mdDoc ''
               Limit how many jobs can be handled concurrently by this service.
               0 (default) simply means don't limit.
             '';
@@ -422,14 +422,14 @@ in
           requestConcurrency = mkOption {
             type = types.int;
             default = 0;
-            description = ''
+            description = lib.mdDoc ''
               Limit number of concurrent requests for new jobs from GitLab.
             '';
           };
           maximumTimeout = mkOption {
             type = types.int;
             default = 0;
-            description = ''
+            description = lib.mdDoc ''
               What is the maximum timeout (in seconds) that will be set for
               job when using this Runner. 0 (default) simply means don't limit.
             '';
@@ -437,7 +437,7 @@ in
           protected = mkOption {
             type = types.bool;
             default = false;
-            description = ''
+            description = lib.mdDoc ''
               When set to true Runner will only run on pipelines
               triggered on protected branches.
             '';
@@ -445,9 +445,9 @@ in
           debugTraceDisabled = mkOption {
             type = types.bool;
             default = false;
-            description = ''
+            description = lib.mdDoc ''
               When set to true Runner will disable the possibility of
-              using the <literal>CI_DEBUG_TRACE</literal> feature.
+              using the `CI_DEBUG_TRACE` feature.
             '';
           };
         };
diff --git a/nixos/modules/services/continuous-integration/hydra/default.nix b/nixos/modules/services/continuous-integration/hydra/default.nix
index f4cdf690bb3..7159ec287fc 100644
--- a/nixos/modules/services/continuous-integration/hydra/default.nix
+++ b/nixos/modules/services/continuous-integration/hydra/default.nix
@@ -320,7 +320,7 @@ in
           ${optionalString haveLocalDB ''
             if ! [ -e ${baseDir}/.db-created ]; then
               runuser -u ${config.services.postgresql.superUser} ${config.services.postgresql.package}/bin/createuser hydra
-              runuser -u ${config.services.postgresql.superUser} ${config.services.postgresql.package}/bin/createdb -O hydra hydra
+              runuser -u ${config.services.postgresql.superUser} ${config.services.postgresql.package}/bin/createdb -- -O hydra hydra
               touch ${baseDir}/.db-created
             fi
             echo "create extension if not exists pg_trgm" | runuser -u ${config.services.postgresql.superUser} -- ${config.services.postgresql.package}/bin/psql hydra
diff --git a/nixos/modules/services/databases/firebird.nix b/nixos/modules/services/databases/firebird.nix
index 3a7ebd6bbd0..4aaf4ca12aa 100644
--- a/nixos/modules/services/databases/firebird.nix
+++ b/nixos/modules/services/databases/firebird.nix
@@ -47,9 +47,9 @@ in
         defaultText = literalExpression "pkgs.firebird";
         type = types.package;
         example = literalExpression "pkgs.firebird_3";
-        description = ''
-          Which Firebird package to be installed: <code>pkgs.firebird_3</code>
-          For SuperServer use override: <code>pkgs.firebird_3.override { superServer = true; };</code>
+        description = lib.mdDoc ''
+          Which Firebird package to be installed: `pkgs.firebird_3`
+          For SuperServer use override: `pkgs.firebird_3.override { superServer = true; };`
         '';
       };
 
diff --git a/nixos/modules/services/databases/hbase.nix b/nixos/modules/services/databases/hbase-standalone.nix
index 5cc5d97e798..ca891fe8a5c 100644
--- a/nixos/modules/services/databases/hbase.nix
+++ b/nixos/modules/services/databases/hbase-standalone.nix
@@ -3,8 +3,8 @@
 with lib;
 
 let
-  cfg = config.services.hbase;
-  opt = options.services.hbase;
+  cfg = config.services.hbase-standalone;
+  opt = options.services.hbase-standalone;
 
   buildProperty = configAttr:
     (builtins.concatStringsSep "\n"
@@ -32,19 +32,19 @@ let
 
 in {
 
+  imports = [
+    (mkRenamedOptionModule [ "services" "hbase" ] [ "services" "hbase-standalone" ])
+  ];
+
   ###### interface
 
   options = {
+    services.hbase-standalone = {
 
-    services.hbase = {
-
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = lib.mdDoc ''
-          Whether to run HBase.
-        '';
-      };
+      enable = mkEnableOption ''
+        HBase master in standalone mode with embedded regionserver and zookeper.
+        Do not use this configuration for production nor for evaluating HBase performance.
+      '';
 
       package = mkOption {
         type = types.package;
@@ -108,12 +108,11 @@ in {
       };
 
     };
-
   };
 
   ###### implementation
 
-  config = mkIf config.services.hbase.enable {
+  config = mkIf cfg.enable {
 
     systemd.tmpfiles.rules = [
       "d '${cfg.dataDir}' - ${cfg.user} ${cfg.group} - -"
diff --git a/nixos/modules/services/databases/mysql.nix b/nixos/modules/services/databases/mysql.nix
index b7a55900c12..1a096d2a88a 100644
--- a/nixos/modules/services/databases/mysql.nix
+++ b/nixos/modules/services/databases/mysql.nix
@@ -201,7 +201,7 @@ in
             ensurePermissions = mkOption {
               type = types.attrsOf types.str;
               default = {};
-              description = ''
+              description = lib.mdDoc ''
                 Permissions to ensure for the user, specified as attribute set.
                 The attribute names specify the database and tables to grant the permissions for,
                 separated by a dot. You may use wildcards here.
@@ -210,8 +210,8 @@ in
 
                 For more information on how to specify the target
                 and on which privileges exist, see the
-                <link xlink:href="https://mariadb.com/kb/en/library/grant/">GRANT syntax</link>.
-                The attributes are used as <code>GRANT ''${attrName} ON ''${attrValue}</code>.
+                [GRANT syntax](https://mariadb.com/kb/en/library/grant/).
+                The attributes are used as `GRANT ''${attrName} ON ''${attrValue}`.
               '';
               example = literalExpression ''
                 {
diff --git a/nixos/modules/services/databases/neo4j.nix b/nixos/modules/services/databases/neo4j.nix
index dbbb79f01eb..833e6606d98 100644
--- a/nixos/modules/services/databases/neo4j.nix
+++ b/nixos/modules/services/databases/neo4j.nix
@@ -36,48 +36,43 @@ let
   serverConfig = pkgs.writeText "neo4j.conf" ''
     # General
     dbms.allow_upgrade=${boolToString cfg.allowUpgrade}
-    dbms.connectors.default_listen_address=${cfg.defaultListenAddress}
-    dbms.read_only=${boolToString cfg.readOnly}
+    dbms.default_listen_address=${cfg.defaultListenAddress}
+    dbms.databases.default_to_read_only=${boolToString cfg.readOnly}
     ${optionalString (cfg.workerCount > 0) ''
       dbms.threads.worker_count=${toString cfg.workerCount}
     ''}
 
-    # Directories
+    # Directories (readonly)
     dbms.directories.certificates=${cfg.directories.certificates}
-    dbms.directories.data=${cfg.directories.data}
-    dbms.directories.logs=${cfg.directories.home}/logs
     dbms.directories.plugins=${cfg.directories.plugins}
+    dbms.directories.lib=${cfg.package}/share/neo4j/lib
     ${optionalString (cfg.constrainLoadCsv) ''
       dbms.directories.import=${cfg.directories.imports}
-    ''}
+   ''}
+
+    # Directories (read and write)
+    dbms.directories.data=${cfg.directories.data}
+    dbms.directories.logs=${cfg.directories.home}/logs
+    dbms.directories.run=${cfg.directories.home}/run
 
     # HTTP Connector
     ${optionalString (cfg.http.enable) ''
       dbms.connector.http.enabled=${boolToString cfg.http.enable}
       dbms.connector.http.listen_address=${cfg.http.listenAddress}
-    ''}
-    ${optionalString (!cfg.http.enable) ''
-      # It is not possible to disable the HTTP connector. To fully prevent
-      # clients from connecting to HTTP, block the HTTP port (7474 by default)
-      # via firewall. listen_address is set to the loopback interface to
-      # prevent remote clients from connecting.
-      dbms.connector.http.listen_address=127.0.0.1
+      dbms.connector.http.advertised_address=${cfg.http.listenAddress}
     ''}
 
     # HTTPS Connector
     dbms.connector.https.enabled=${boolToString cfg.https.enable}
     dbms.connector.https.listen_address=${cfg.https.listenAddress}
-    https.ssl_policy=${cfg.https.sslPolicy}
+    dbms.connector.https.advertised_address=${cfg.https.listenAddress}
 
     # BOLT Connector
     dbms.connector.bolt.enabled=${boolToString cfg.bolt.enable}
     dbms.connector.bolt.listen_address=${cfg.bolt.listenAddress}
-    bolt.ssl_policy=${cfg.bolt.sslPolicy}
+    dbms.connector.bolt.advertised_address=${cfg.bolt.listenAddress}
     dbms.connector.bolt.tls_level=${cfg.bolt.tlsLevel}
 
-    # neo4j-shell
-    dbms.shell.enabled=${boolToString cfg.shell.enable}
-
     # SSL Policies
     ${concatStringsSep "\n" sslPolicies}
 
@@ -95,8 +90,10 @@ let
     dbms.jvm.additional=-Djdk.tls.rejectClientInitiatedRenegotiation=true
     dbms.jvm.additional=-Dunsupported.dbms.udc.source=tarball
 
-    # Usage Data Collector
-    dbms.udc.enabled=${boolToString cfg.udc.enable}
+    #dbms.memory.heap.initial_size=12000m
+    #dbms.memory.heap.max_size=12000m
+    #dbms.memory.pagecache.size=4g
+    #dbms.tx_state.max_off_heap_memory=8000m
 
     # Extra Configuration
     ${cfg.extraServerConfig}
@@ -114,6 +111,8 @@ in {
     (mkRemovedOptionModule [ "services" "neo4j" "port" ] "Use services.neo4j.http.listenAddress instead.")
     (mkRemovedOptionModule [ "services" "neo4j" "boltPort" ] "Use services.neo4j.bolt.listenAddress instead.")
     (mkRemovedOptionModule [ "services" "neo4j" "httpsPort" ] "Use services.neo4j.https.listenAddress instead.")
+    (mkRemovedOptionModule [ "services" "neo4j" "shell" "enabled" ] "shell.enabled was removed upstream")
+    (mkRemovedOptionModule [ "services" "neo4j" "udc" "enabled" ] "udc.enabled was removed upstream")
   ];
 
   ###### interface
@@ -139,15 +138,14 @@ in {
     constrainLoadCsv = mkOption {
       type = types.bool;
       default = true;
-      description = ''
+      description = lib.mdDoc ''
         Sets the root directory for file URLs used with the Cypher
-        <literal>LOAD CSV</literal> clause to be that defined by
-        <option>directories.imports</option>. It restricts
+        `LOAD CSV` clause to be that defined by
+        {option}`directories.imports`. It restricts
         access to only those files within that directory and its
         subdirectories.
-        </para>
-        <para>
-        Setting this option to <literal>false</literal> introduces
+
+        Setting this option to `false` introduces
         possible security problems.
       '';
     };
@@ -155,15 +153,14 @@ in {
     defaultListenAddress = mkOption {
       type = types.str;
       default = "127.0.0.1";
-      description = ''
+      description = lib.mdDoc ''
         Default network interface to listen for incoming connections. To
         listen for connections on all interfaces, use "0.0.0.0".
-        </para>
-        <para>
+
         Specifies the default IP address and address part of connector
-        specific <option>listenAddress</option> options. To bind specific
+        specific {option}`listenAddress` options. To bind specific
         connectors to a specific network interfaces, specify the entire
-        <option>listenAddress</option> option for that connector.
+        {option}`listenAddress` option for that connector.
       '';
     };
 
@@ -227,20 +224,18 @@ in {
       sslPolicy = mkOption {
         type = types.str;
         default = "legacy";
-        description = ''
+        description = lib.mdDoc ''
           Neo4j SSL policy for BOLT traffic.
-          </para>
-          <para>
+
           The legacy policy is a special policy which is not defined in
           the policy configuration section, but rather derives from
-          <option>directories.certificates</option> and
-          associated files (by default: <filename>neo4j.key</filename> and
-          <filename>neo4j.cert</filename>). Its use will be deprecated.
-          </para>
-          <para>
+          {option}`directories.certificates` and
+          associated files (by default: {file}`neo4j.key` and
+          {file}`neo4j.cert`). Its use will be deprecated.
+
           Note: This connector must be configured to support/require
           SSL/TLS for the legacy policy to actually be utilized. See
-          <option>bolt.tlsLevel</option>.
+          {option}`bolt.tlsLevel`.
         '';
       };
 
@@ -258,21 +253,19 @@ in {
         type = types.path;
         default = "${cfg.directories.home}/certificates";
         defaultText = literalExpression ''"''${config.${opt.directories.home}}/certificates"'';
-        description = ''
+        description = lib.mdDoc ''
           Directory for storing certificates to be used by Neo4j for
           TLS connections.
-          </para>
-          <para>
+
           When setting this directory to something other than its default,
           ensure the directory's existence, and that read/write permissions are
-          given to the Neo4j daemon user <literal>neo4j</literal>.
-          </para>
-          <para>
+          given to the Neo4j daemon user `neo4j`.
+
           Note that changing this directory from its default will prevent
           the directory structure required for each SSL policy from being
           automatically generated. A policy's directory structure as defined by
-          its <option>baseDirectory</option>,<option>revokedDir</option> and
-          <option>trustedDir</option> must then be setup manually. The
+          its {option}`baseDirectory`,{option}`revokedDir` and
+          {option}`trustedDir` must then be setup manually. The
           existence of these directories is mandatory, as well as the presence
           of the certificate file and the private key. Ensure the correct
           permissions are set on these directories and files.
@@ -283,14 +276,13 @@ in {
         type = types.path;
         default = "${cfg.directories.home}/data";
         defaultText = literalExpression ''"''${config.${opt.directories.home}}/data"'';
-        description = ''
+        description = lib.mdDoc ''
           Path of the data directory. You must not configure more than one
           Neo4j installation to use the same data directory.
-          </para>
-          <para>
+
           When setting this directory to something other than its default,
           ensure the directory's existence, and that read/write permissions are
-          given to the Neo4j daemon user <literal>neo4j</literal>.
+          given to the Neo4j daemon user `neo4j`.
         '';
       };
 
@@ -309,16 +301,15 @@ in {
         type = types.path;
         default = "${cfg.directories.home}/import";
         defaultText = literalExpression ''"''${config.${opt.directories.home}}/import"'';
-        description = ''
+        description = lib.mdDoc ''
           The root directory for file URLs used with the Cypher
-          <literal>LOAD CSV</literal> clause. Only meaningful when
-          <option>constrainLoadCvs</option> is set to
-          <literal>true</literal>.
-          </para>
-          <para>
+          `LOAD CSV` clause. Only meaningful when
+          {option}`constrainLoadCvs` is set to
+          `true`.
+
           When setting this directory to something other than its default,
           ensure the directory's existence, and that read permission is
-          given to the Neo4j daemon user <literal>neo4j</literal>.
+          given to the Neo4j daemon user `neo4j`.
         '';
       };
 
@@ -326,15 +317,14 @@ in {
         type = types.path;
         default = "${cfg.directories.home}/plugins";
         defaultText = literalExpression ''"''${config.${opt.directories.home}}/plugins"'';
-        description = ''
+        description = lib.mdDoc ''
           Path of the database plugin directory. Compiled Java JAR files that
           contain database procedures will be loaded if they are placed in
           this directory.
-          </para>
-          <para>
+
           When setting this directory to something other than its default,
           ensure the directory's existence, and that read permission is
-          given to the Neo4j daemon user <literal>neo4j</literal>.
+          given to the Neo4j daemon user `neo4j`.
         '';
       };
     };
@@ -343,13 +333,10 @@ in {
       enable = mkOption {
         type = types.bool;
         default = true;
-        description = lib.mdDoc ''
-          The HTTP connector is required for Neo4j, and cannot be disabled.
-          Setting this option to `false` will force the HTTP
-          connector's {option}`listenAddress` to the loopback
-          interface to prevent connection of remote clients. To prevent all
-          clients from connecting, block the HTTP port (7474 by default) by
-          firewall.
+        description = ''
+          Enable the HTTP connector for Neo4j. Setting this option to
+          <literal>false</literal> will stop Neo4j from listening for incoming
+          connections on the HTTPS port (7474 by default).
         '';
       };
 
@@ -386,15 +373,14 @@ in {
       sslPolicy = mkOption {
         type = types.str;
         default = "legacy";
-        description = ''
+        description = lib.mdDoc ''
           Neo4j SSL policy for HTTPS traffic.
-          </para>
-          <para>
+
           The legacy policy is a special policy which is not defined in the
           policy configuration section, but rather derives from
-          <option>directories.certificates</option> and
-          associated files (by default: <filename>neo4j.key</filename> and
-          <filename>neo4j.cert</filename>). Its use will be deprecated.
+          {option}`directories.certificates` and
+          associated files (by default: {file}`neo4j.key` and
+          {file}`neo4j.cert`). Its use will be deprecated.
         '';
       };
     };
@@ -417,18 +403,16 @@ in {
           allowKeyGeneration = mkOption {
             type = types.bool;
             default = false;
-            description = ''
+            description = lib.mdDoc ''
               Allows the generation of a private key and associated self-signed
               certificate. Only performed when both objects cannot be found for
               this policy. It is recommended to turn this off again after keys
               have been generated.
-              </para>
-              <para>
+
               The public certificate is required to be duplicated to the
               directory holding trusted certificates as defined by the
-              <option>trustedDir</option> option.
-              </para>
-              <para>
+              {option}`trustedDir` option.
+
               Keys should in general be generated and distributed offline by a
               trusted certificate authority and not by utilizing this mode.
             '';
@@ -438,17 +422,16 @@ in {
             type = types.path;
             default = "${cfg.directories.certificates}/${name}";
             defaultText = literalExpression ''"''${config.${opt.directories.certificates}}/''${name}"'';
-            description = ''
+            description = lib.mdDoc ''
               The mandatory base directory for cryptographic objects of this
               policy. This path is only automatically generated when this
-              option as well as <option>directories.certificates</option> are
+              option as well as {option}`directories.certificates` are
               left at their default. Ensure read/write permissions are given
-              to the Neo4j daemon user <literal>neo4j</literal>.
-              </para>
-              <para>
+              to the Neo4j daemon user `neo4j`.
+
               It is also possible to override each individual
               configuration with absolute paths. See the
-              <option>privateKey</option> and <option>publicCertificate</option>
+              {option}`privateKey` and {option}`publicCertificate`
               policy options.
             '';
           };
@@ -483,16 +466,15 @@ in {
           publicCertificate = mkOption {
             type = types.str;
             default = "public.crt";
-            description = ''
+            description = lib.mdDoc ''
               The name of public X.509 certificate (chain) file in PEM format
-              for this policy to be found in the <option>baseDirectory</option>,
+              for this policy to be found in the {option}`baseDirectory`,
               or the absolute path to the certificate file. It is mandatory
               that a certificate can be found or generated.
-              </para>
-              <para>
+
               The public certificate is required to be duplicated to the
               directory holding trusted certificates as defined by the
-              <option>trustedDir</option> option.
+              {option}`trustedDir` option.
             '';
           };
 
@@ -536,19 +518,18 @@ in {
             type = types.path;
             default = "${config.baseDirectory}/trusted";
             defaultText = literalExpression ''"''${config.${options.baseDirectory}}/trusted"'';
-            description = ''
+            description = lib.mdDoc ''
               Path to directory of X.509 certificates in PEM format for
               trusted parties. Must be an absolute path. The existence of this
               directory is mandatory and will need to be created manually when:
               setting this option to something other than its default; setting
-              either this policy's <option>baseDirectory</option> or
-              <option>directories.certificates</option> to something other than
+              either this policy's {option}`baseDirectory` or
+              {option}`directories.certificates` to something other than
               their default. Ensure read/write permissions are given to the
-              Neo4j daemon user <literal>neo4j</literal>.
-              </para>
-              <para>
+              Neo4j daemon user `neo4j`.
+
               The public certificate as defined by
-              <option>publicCertificate</option> is required to be duplicated
+              {option}`publicCertificate` is required to be duplicated
               to this directory.
             '';
           };
@@ -583,19 +564,6 @@ in {
       '';
     };
 
-    udc = {
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = lib.mdDoc ''
-          Enable the Usage Data Collector which Neo4j uses to collect usage
-          data. Refer to the operations manual section on the
-          [Usage Data Collector](https://neo4j.com/docs/operations-manual/current/configuration/usage-data-collector/)
-          for more information.
-        '';
-      };
-    };
-
   };
 
   ###### implementation
@@ -627,7 +595,7 @@ in {
         wantedBy = [ "multi-user.target" ];
         after = [ "network.target" ];
         environment = {
-          NEO4J_HOME = "${cfg.package}/share/neo4j";
+          NEO4J_HOME = "${cfg.directories.home}";
           NEO4J_CONF = "${cfg.directories.home}/conf";
         };
         serviceConfig = {
@@ -668,6 +636,6 @@ in {
     };
 
   meta = {
-    maintainers = with lib.maintainers; [ patternspandemic ];
+    maintainers = with lib.maintainers; [ patternspandemic jonringer erictapen ];
   };
 }
diff --git a/nixos/modules/services/databases/openldap.nix b/nixos/modules/services/databases/openldap.nix
index a16a920dfdb..7a59de372f2 100644
--- a/nixos/modules/services/databases/openldap.nix
+++ b/nixos/modules/services/databases/openldap.nix
@@ -3,7 +3,6 @@
 with lib;
 let
   cfg = config.services.openldap;
-  legacyOptions = [ "rootpwFile" "suffix" "dataDir" "rootdn" "rootpw" ];
   openldap = cfg.package;
   configDir = if cfg.configDir != null then cfg.configDir else "/etc/openldap/slapd.d";
 
@@ -11,7 +10,15 @@ let
     # Can't do types.either with multiple non-overlapping submodules, so define our own
     singleLdapValueType = lib.mkOptionType rec {
       name = "LDAP";
-      description = "LDAP value";
+      # TODO: It would be nice to define a { secret = ...; } option, using
+      # systemd's LoadCredentials for secrets. That would remove the last
+      # barrier to using DynamicUser for openldap. This is blocked on
+      # systemd/systemd#19604
+      description = ''
+        LDAP value - either a string, or an attrset containing
+        <literal>path</literal> or <literal>base64</literal> for included
+        values or base-64 encoded values respectively.
+      '';
       check = x: lib.isString x || (lib.isAttrs x && (x ? path || x ? base64));
       merge = lib.mergeEqualOption;
     };
@@ -76,52 +83,12 @@ let
     lib.flatten (lib.mapAttrsToList (name: value: attrsToLdif "${name},${dn}" value) children)
   );
 in {
-  imports = let
-    deprecationNote = "This option is removed due to the deprecation of `slapd.conf` upstream. Please migrate to `services.openldap.settings`, see the release notes for advice with this process.";
-    mkDatabaseOption = old: new:
-      lib.mkChangedOptionModule [ "services" "openldap" old ] [ "services" "openldap" "settings" "children" ]
-        (config: let
-          database = lib.getAttrFromPath [ "services" "openldap" "database" ] config;
-          value = lib.getAttrFromPath [ "services" "openldap" old ] config;
-        in lib.setAttrByPath ([ "olcDatabase={1}${database}" "attrs" ] ++ new) value);
-  in [
-    (lib.mkRemovedOptionModule [ "services" "openldap" "extraConfig" ] deprecationNote)
-    (lib.mkRemovedOptionModule [ "services" "openldap" "extraDatabaseConfig" ] deprecationNote)
-
-    (lib.mkChangedOptionModule [ "services" "openldap" "logLevel" ] [ "services" "openldap" "settings" "attrs" "olcLogLevel" ]
-      (config: lib.splitString " " (lib.getAttrFromPath [ "services" "openldap" "logLevel" ] config)))
-    (lib.mkChangedOptionModule [ "services" "openldap" "defaultSchemas" ] [ "services" "openldap" "settings" "children" "cn=schema" "includes"]
-      (config: lib.optionals (lib.getAttrFromPath [ "services" "openldap" "defaultSchemas" ] config) (
-        map (schema: "${openldap}/etc/schema/${schema}.ldif") [ "core" "cosine" "inetorgperson" "nis" ])))
-
-    (lib.mkChangedOptionModule [ "services" "openldap" "database" ] [ "services" "openldap" "settings" "children" ]
-      (config: let
-        database = lib.getAttrFromPath [ "services" "openldap" "database" ] config;
-      in {
-        "olcDatabase={1}${database}".attrs = {
-          # objectClass is case-insensitive, so don't need to capitalize ${database}
-          objectClass = [ "olcdatabaseconfig" "olc${database}config" ];
-          olcDatabase = "{1}${database}";
-          olcDbDirectory = lib.mkDefault "/var/db/openldap";
-        };
-        "cn=schema".includes = lib.mkDefault (
-          map (schema: "${openldap}/etc/schema/${schema}.ldif") [ "core" "cosine" "inetorgperson" "nis" ]
-        );
-      }))
-    (mkDatabaseOption "rootpwFile" [ "olcRootPW" "path" ])
-    (mkDatabaseOption "suffix" [ "olcSuffix" ])
-    (mkDatabaseOption "dataDir" [ "olcDbDirectory" ])
-    (mkDatabaseOption "rootdn" [ "olcRootDN" ])
-    (mkDatabaseOption "rootpw" [ "olcRootPW" ])
-  ];
   options = {
     services.openldap = {
       enable = mkOption {
         type = types.bool;
         default = false;
-        description = "
-          Whether to enable the ldap server.
-        ";
+        description = lib.mdDoc "Whether to enable the ldap server.";
       };
 
       package = mkOption {
@@ -186,7 +153,7 @@ in {
                 attrs = {
                   objectClass = [ "olcDatabaseConfig" "olcMdbConfig" ];
                   olcDatabase = "{1}mdb";
-                  olcDbDirectory = "/var/db/ldap";
+                  olcDbDirectory = "/var/lib/openldap/ldap";
                   olcDbIndex = [
                     "objectClass eq"
                     "cn pres,eq"
@@ -206,12 +173,22 @@ in {
       configDir = mkOption {
         type = types.nullOr types.path;
         default = null;
-        description = ''
+        description = lib.mdDoc ''
           Use this config directory instead of generating one from the
-          <literal>settings</literal> option. Overrides all NixOS settings. If
-          you use this option,ensure `olcPidFile` is set to `/run/slapd/slapd.conf`.
+          `settings` option. Overrides all NixOS settings.
+        '';
+        example = "/var/lib/openldap/slapd.d";
+      };
+
+      mutableConfig = mkOption {
+        type = types.bool;
+        default = false;
+        description = lib.mdDoc ''
+          Whether to allow writable on-line configuration. If
+          `true`, the NixOS settings will only be used to
+          initialize the OpenLDAP configuration if it does not exist, and are
+          subsequently ignored.
         '';
-        example = "/var/db/slapd.d";
       };
 
       declarativeContents = mkOption {
@@ -225,6 +202,11 @@ in {
           reboot of the server. Performance-wise the database and indexes are
           rebuilt on each server startup, so this will slow down server startup,
           especially with large databases.
+
+          Note that the root of the DB must be defined in
+          `services.openldap.settings` and the
+          `olcDbDirectory` must begin with
+          `"/var/lib/openldap"`.
         '';
         example = lib.literalExpression ''
           {
@@ -247,11 +229,54 @@ in {
 
   meta.maintainers = with lib.maintainers; [ kwohlfahrt ];
 
-  config = mkIf cfg.enable {
-    assertions = map (opt: {
-      assertion = ((getAttr opt cfg) != "_mkMergedOptionModule") -> (cfg.database != "_mkMergedOptionModule");
-      message = "Legacy OpenLDAP option `services.openldap.${opt}` requires `services.openldap.database` (use value \"mdb\" if unsure)";
-    }) legacyOptions;
+  config = let
+    dbSettings = mapAttrs' (name: { attrs, ... }: nameValuePair attrs.olcSuffix attrs)
+      (filterAttrs (name: { attrs, ... }: (hasPrefix "olcDatabase=" name) && attrs ? olcSuffix) cfg.settings.children);
+    settingsFile = pkgs.writeText "config.ldif" (lib.concatStringsSep "\n" (attrsToLdif "cn=config" cfg.settings));
+    writeConfig = pkgs.writeShellScript "openldap-config" ''
+      set -euo pipefail
+
+      ${lib.optionalString (!cfg.mutableConfig) ''
+        chmod -R u+w ${configDir}
+        rm -rf ${configDir}/*
+      ''}
+      if [ ! -e "${configDir}/cn=config.ldif" ]; then
+        ${openldap}/bin/slapadd -F ${configDir} -bcn=config -l ${settingsFile}
+      fi
+      chmod -R ${if cfg.mutableConfig then "u+rw" else "u+r-w"} ${configDir}
+    '';
+
+    contentsFiles = mapAttrs (dn: ldif: pkgs.writeText "${dn}.ldif" ldif) cfg.declarativeContents;
+    writeContents = pkgs.writeShellScript "openldap-load" ''
+      set -euo pipefail
+
+      rm -rf $2/*
+      ${openldap}/bin/slapadd -F ${configDir} -b $1 -l $3
+    '';
+  in mkIf cfg.enable {
+    assertions = [{
+      assertion = (cfg.declarativeContents != {}) -> cfg.configDir == null;
+      message = ''
+        Declarative DB contents (${attrNames cfg.declarativeContents}) are not
+        supported with user-managed configuration.
+      '';
+    }] ++ (map (dn: {
+      assertion = (getAttr dn dbSettings) ? "olcDbDirectory";
+      # olcDbDirectory is necessary to prepopulate database using `slapadd`.
+      message = ''
+        Declarative DB ${dn} does not exist in `services.openldap.settings`, or does not have
+        `olcDbDirectory` configured.
+      '';
+    }) (attrNames cfg.declarativeContents)) ++ (mapAttrsToList (dn: { olcDbDirectory ? null, ... }: {
+      # For forward compatibility with `DynamicUser`, and to avoid accidentally clobbering
+      # directories with `declarativeContents`.
+      assertion = (olcDbDirectory != null) ->
+      ((hasPrefix "/var/lib/openldap/" olcDbDirectory) && (olcDbDirectory != "/var/lib/openldap/"));
+      message = ''
+        Database ${dn} has `olcDbDirectory` (${olcDbDirectory}) that is not a subdirectory of
+        `/var/lib/openldap/`.
+      '';
+    }) dbSettings);
     environment.systemPackages = [ openldap ];
 
     # Literal attributes must always be set
@@ -259,7 +284,6 @@ in {
       attrs = {
         objectClass = "olcGlobal";
         cn = "config";
-        olcPidFile = "/run/slapd/slapd.pid";
       };
       children."cn=schema".attrs = {
         cn = "schema";
@@ -276,44 +300,31 @@ in {
       ];
       wantedBy = [ "multi-user.target" ];
       after = [ "network-online.target" ];
-      preStart = let
-        settingsFile = pkgs.writeText "config.ldif" (lib.concatStringsSep "\n" (attrsToLdif "cn=config" cfg.settings));
-
-        dbSettings = lib.filterAttrs (name: value: lib.hasPrefix "olcDatabase=" name) cfg.settings.children;
-        dataDirs = lib.mapAttrs' (name: value: lib.nameValuePair value.attrs.olcSuffix value.attrs.olcDbDirectory)
-          (lib.filterAttrs (_: value: value.attrs ? olcDbDirectory) dbSettings);
-        dataFiles = lib.mapAttrs (dn: contents: pkgs.writeText "${dn}.ldif" contents) cfg.declarativeContents;
-        mkLoadScript = dn: let
-          dataDir = lib.escapeShellArg (getAttr dn dataDirs);
-        in  ''
-          rm -rf ${dataDir}/*
-          ${openldap}/bin/slapadd -F ${lib.escapeShellArg configDir} -b ${dn} -l ${getAttr dn dataFiles}
-          chown -R "${cfg.user}:${cfg.group}" ${dataDir}
-        '';
-      in ''
-        mkdir -p /run/slapd
-        chown -R "${cfg.user}:${cfg.group}" /run/slapd
-
-        mkdir -p ${lib.escapeShellArg configDir} ${lib.escapeShellArgs (lib.attrValues dataDirs)}
-        chown "${cfg.user}:${cfg.group}" ${lib.escapeShellArg configDir} ${lib.escapeShellArgs (lib.attrValues dataDirs)}
-
-        ${lib.optionalString (cfg.configDir == null) (''
-          rm -Rf ${configDir}/*
-          ${openldap}/bin/slapadd -F ${configDir} -bcn=config -l ${settingsFile}
-        '')}
-        chown -R "${cfg.user}:${cfg.group}" ${lib.escapeShellArg configDir}
-
-        ${lib.concatStrings (map mkLoadScript (lib.attrNames cfg.declarativeContents))}
-        ${openldap}/bin/slaptest -u -F ${lib.escapeShellArg configDir}
-      '';
       serviceConfig = {
+        User = cfg.user;
+        Group = cfg.group;
+        ExecStartPre = [
+          "!${pkgs.coreutils}/bin/mkdir -p ${configDir}"
+          "+${pkgs.coreutils}/bin/chown $USER ${configDir}"
+        ] ++ (lib.optional (cfg.configDir == null) writeConfig)
+        ++ (mapAttrsToList (dn: content: lib.escapeShellArgs [
+          writeContents dn (getAttr dn dbSettings).olcDbDirectory content
+        ]) contentsFiles)
+        ++ [ "${openldap}/bin/slaptest -u -F ${configDir}" ];
         ExecStart = lib.escapeShellArgs ([
-          "${openldap}/libexec/slapd" "-u" cfg.user "-g" cfg.group "-F" configDir
-          "-h" (lib.concatStringsSep " " cfg.urlList)
+          "${openldap}/libexec/slapd" "-d" "0" "-F" configDir "-h" (lib.concatStringsSep " " cfg.urlList)
         ]);
         Type = "notify";
+        # Fixes an error where openldap attempts to notify from a thread
+        # outside the main process:
+        #   Got notification message from PID 6378, but reception only permitted for main PID 6377
         NotifyAccess = "all";
-        PIDFile = cfg.settings.attrs.olcPidFile;
+        RuntimeDirectory = "openldap";
+        StateDirectory = ["openldap"]
+          ++ (map ({olcDbDirectory, ... }: removePrefix "/var/lib/" olcDbDirectory) (attrValues dbSettings));
+        StateDirectoryMode = "700";
+        AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ];
+        CapabilityBoundingSet = [ "CAP_NET_BIND_SERVICE" ];
       };
     };
 
diff --git a/nixos/modules/services/databases/pgmanage.nix b/nixos/modules/services/databases/pgmanage.nix
index f50e7244ee1..9ce2265a4de 100644
--- a/nixos/modules/services/databases/pgmanage.nix
+++ b/nixos/modules/services/databases/pgmanage.nix
@@ -62,12 +62,12 @@ in {
         nuc-server  = "hostaddr=192.168.0.100 port=5432 dbname=postgres";
         mini-server = "hostaddr=127.0.0.1 port=5432 dbname=postgres sslmode=require";
       };
-      description = ''
+      description = lib.mdDoc ''
         pgmanage requires at least one PostgreSQL server be defined.
-        </para><para>
+
         Detailed information about PostgreSQL connection strings is available at:
-        <link xlink:href="http://www.postgresql.org/docs/current/static/libpq-connect.html"/>
-        </para><para>
+        <http://www.postgresql.org/docs/current/static/libpq-connect.html>
+
         Note that you should not specify your user name or password. That
         information will be entered on the login screen. If you specify a
         username or password, it will be removed by pgmanage before attempting to
diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix
index e27f4518dfa..d0135647d6a 100644
--- a/nixos/modules/services/databases/postgresql.nix
+++ b/nixos/modules/services/databases/postgresql.nix
@@ -81,8 +81,7 @@ in
         default = "";
         description = ''
           Defines how users authenticate themselves to the server. See the
-          <link xlink:href="https://www.postgresql.org/docs/current/auth-pg-hba-conf.html">
-          PostgreSQL documentation for pg_hba.conf</link>
+          <link xlink:href="https://www.postgresql.org/docs/current/auth-pg-hba-conf.html">PostgreSQL documentation for pg_hba.conf</link>
           for details on the expected format of this option. By default,
           peer based authentication will be used for users connecting
           via the Unix socket, and md5 password authentication will be
@@ -150,7 +149,7 @@ in
             ensurePermissions = mkOption {
               type = types.attrsOf types.str;
               default = {};
-              description = ''
+              description = lib.mdDoc ''
                 Permissions to ensure for the user, specified as an attribute set.
                 The attribute names specify the database and tables to grant the permissions for.
                 The attribute values specify the permissions to grant. You may specify one or
@@ -158,8 +157,8 @@ in
 
                 For more information on how to specify the target
                 and on which privileges exist, see the
-                <link xlink:href="https://www.postgresql.org/docs/current/sql-grant.html">GRANT syntax</link>.
-                The attributes are used as <code>GRANT ''${attrValue} ON ''${attrName}</code>.
+                [GRANT syntax](https://www.postgresql.org/docs/current/sql-grant.html).
+                The attributes are used as `GRANT ''${attrValue} ON ''${attrName}`.
               '';
               example = literalExpression ''
                 {
diff --git a/nixos/modules/services/databases/rethinkdb.nix b/nixos/modules/services/databases/rethinkdb.nix
index c764d6c21c6..d93f15e8636 100644
--- a/nixos/modules/services/databases/rethinkdb.nix
+++ b/nixos/modules/services/databases/rethinkdb.nix
@@ -24,22 +24,22 @@ in
 
       user = mkOption {
         default = "rethinkdb";
-        description = "User account under which RethinkDB runs.";
+        description = lib.mdDoc "User account under which RethinkDB runs.";
       };
 
       group = mkOption {
         default = "rethinkdb";
-        description = "Group which rethinkdb user belongs to.";
+        description = lib.mdDoc "Group which rethinkdb user belongs to.";
       };
 
       dbpath = mkOption {
         default = "/var/db/rethinkdb";
-        description = "Location where RethinkDB stores its data, 1 data directory per instance.";
+        description = lib.mdDoc "Location where RethinkDB stores its data, 1 data directory per instance.";
       };
 
       pidpath = mkOption {
         default = "/run/rethinkdb";
-        description = "Location where each instance's pid file is located.";
+        description = lib.mdDoc "Location where each instance's pid file is located.";
       };
 
       #cfgpath = mkOption {
diff --git a/nixos/modules/services/databases/victoriametrics.nix b/nixos/modules/services/databases/victoriametrics.nix
index 28a6ccfd5e2..f87a5862f64 100644
--- a/nixos/modules/services/databases/victoriametrics.nix
+++ b/nixos/modules/services/databases/victoriametrics.nix
@@ -28,10 +28,10 @@ let cfg = config.services.victoriametrics; in
     extraOptions = mkOption {
       type = types.listOf types.str;
       default = [];
-      description = ''
-        Extra options to pass to VictoriaMetrics. See the README: <link
-        xlink:href="https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/README.md" />
-        or <command>victoriametrics -help</command> for more
+      description = lib.mdDoc ''
+        Extra options to pass to VictoriaMetrics. See the README:
+        <https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/README.md>
+        or {command}`victoriametrics -help` for more
         information.
       '';
     };
diff --git a/nixos/modules/services/desktops/geoclue2.nix b/nixos/modules/services/desktops/geoclue2.nix
index 58bebd9bd46..a9712b962ff 100644
--- a/nixos/modules/services/desktops/geoclue2.nix
+++ b/nixos/modules/services/desktops/geoclue2.nix
@@ -216,6 +216,7 @@ in
         # we can't be part of a system service, and the agent should
         # be okay with the main service coming and going
         wantedBy = [ "default.target" ];
+        after = lib.optionals cfg.enableWifi [ "network-online.target" ];
         unitConfig.ConditionUser = "!@system";
         serviceConfig = {
           Type = "exec";
diff --git a/nixos/modules/services/desktops/gvfs.nix b/nixos/modules/services/desktops/gvfs.nix
index 4aa6412aaa5..84cd2963872 100644
--- a/nixos/modules/services/desktops/gvfs.nix
+++ b/nixos/modules/services/desktops/gvfs.nix
@@ -56,6 +56,8 @@ in
 
     services.udev.packages = [ pkgs.libmtp.out ];
 
+    services.udisks2.enable = true;
+
     # Needed for unwrapped applications
     environment.sessionVariables.GIO_EXTRA_MODULES = [ "${cfg.package}/lib/gio/modules" ];
 
diff --git a/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix b/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
index 09761d6300e..203139294c6 100644
--- a/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
+++ b/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
@@ -39,14 +39,14 @@ in {
       enable = mkOption {
         type = types.bool;
         default = false;
-        description = "Whether to enable the deprecated example Pipewire session manager";
+        description = lib.mdDoc "Whether to enable the deprecated example Pipewire session manager";
       };
 
       package = mkOption {
         type = types.package;
         default = pkgs.pipewire-media-session;
         defaultText = literalExpression "pkgs.pipewire-media-session";
-        description = ''
+        description = lib.mdDoc ''
           The pipewire-media-session derivation to use.
         '';
       };
@@ -54,7 +54,7 @@ in {
       config = {
         media-session = mkOption {
           type = json.type;
-          description = ''
+          description = lib.mdDoc ''
             Configuration for the media session core. For details see
             https://gitlab.freedesktop.org/pipewire/media-session/-/blob/${cfg.package.version}/src/daemon/media-session.d/media-session.conf
           '';
@@ -63,7 +63,7 @@ in {
 
         alsa-monitor = mkOption {
           type = json.type;
-          description = ''
+          description = lib.mdDoc ''
             Configuration for the alsa monitor. For details see
             https://gitlab.freedesktop.org/pipewire/media-session/-/blob/${cfg.package.version}/src/daemon/media-session.d/alsa-monitor.conf
           '';
@@ -72,7 +72,7 @@ in {
 
         bluez-monitor = mkOption {
           type = json.type;
-          description = ''
+          description = lib.mdDoc ''
             Configuration for the bluez5 monitor. For details see
             https://gitlab.freedesktop.org/pipewire/media-session/-/blob/${cfg.package.version}/src/daemon/media-session.d/bluez-monitor.conf
           '';
@@ -81,7 +81,7 @@ in {
 
         v4l2-monitor = mkOption {
           type = json.type;
-          description = ''
+          description = lib.mdDoc ''
             Configuration for the V4L2 monitor. For details see
             https://gitlab.freedesktop.org/pipewire/media-session/-/blob/${cfg.package.version}/src/daemon/media-session.d/v4l2-monitor.conf
           '';
diff --git a/nixos/modules/services/development/jupyter/default.nix b/nixos/modules/services/development/jupyter/default.nix
index 7c86e8b6478..b77f5adbd5e 100644
--- a/nixos/modules/services/development/jupyter/default.nix
+++ b/nixos/modules/services/development/jupyter/default.nix
@@ -29,7 +29,7 @@ in {
     ip = mkOption {
       type = types.str;
       default = "localhost";
-      description = ''
+      description = lib.mdDoc ''
         IP address Jupyter will be listening on.
       '';
     };
@@ -41,7 +41,7 @@ in {
       # saving a rebuild.
       default = pkgs.python3.pkgs.notebook;
       defaultText = literalExpression "pkgs.python3.pkgs.notebook";
-      description = ''
+      description = lib.mdDoc ''
         Jupyter package to use.
       '';
     };
@@ -50,7 +50,7 @@ in {
       type = types.str;
       default = "jupyter-notebook";
       example = "jupyter-lab";
-      description = ''
+      description = lib.mdDoc ''
         Which command the service runs. Note that not all jupyter packages
         have all commands, e.g. jupyter-lab isn't present in the default package.
        '';
@@ -59,7 +59,7 @@ in {
     port = mkOption {
       type = types.int;
       default = 8888;
-      description = ''
+      description = lib.mdDoc ''
         Port number Jupyter will be listening on.
       '';
     };
@@ -67,7 +67,7 @@ in {
     notebookDir = mkOption {
       type = types.str;
       default = "~/";
-      description = ''
+      description = lib.mdDoc ''
         Root directory for notebooks.
       '';
     };
@@ -75,7 +75,7 @@ in {
     user = mkOption {
       type = types.str;
       default = "jupyter";
-      description = ''
+      description = lib.mdDoc ''
         Name of the user used to run the jupyter service.
         For security reason, jupyter should really not be run as root.
         If not set (jupyter), the service will create a jupyter user with appropriate settings.
@@ -86,7 +86,7 @@ in {
     group = mkOption {
       type = types.str;
       default = "jupyter";
-      description = ''
+      description = lib.mdDoc ''
         Name of the group used to run the jupyter service.
         Use this if you want to create a group of users that are able to view the notebook directory's content.
       '';
@@ -95,7 +95,7 @@ in {
 
     password = mkOption {
       type = types.str;
-      description = ''
+      description = lib.mdDoc ''
         Password to use with notebook.
         Can be generated using:
           In [1]: from notebook.auth import passwd
@@ -112,7 +112,7 @@ in {
     notebookConfig = mkOption {
       type = types.lines;
       default = "";
-      description = ''
+      description = lib.mdDoc ''
         Raw jupyter config.
       '';
     };
diff --git a/nixos/modules/services/development/jupyter/kernel-options.nix b/nixos/modules/services/development/jupyter/kernel-options.nix
index 0a9eaafa318..42af47aeb3c 100644
--- a/nixos/modules/services/development/jupyter/kernel-options.nix
+++ b/nixos/modules/services/development/jupyter/kernel-options.nix
@@ -13,7 +13,7 @@ with lib;
         "Python 3"
         "Python 3 for Data Science"
       '';
-      description = ''
+      description = lib.mdDoc ''
         Name that will be shown to the user.
       '';
     };
@@ -27,7 +27,7 @@ with lib;
         "-f"
         "{connection_file}"
       ];
-      description = ''
+      description = lib.mdDoc ''
         Command and arguments to start the kernel.
       '';
     };
@@ -35,7 +35,7 @@ with lib;
     language = mkOption {
       type = types.str;
       example = "python";
-      description = ''
+      description = lib.mdDoc ''
         Language of the environment. Typically the name of the binary.
       '';
     };
@@ -44,7 +44,7 @@ with lib;
       type = types.nullOr types.path;
       default = null;
       example = literalExpression ''"''${env.sitePackages}/ipykernel/resources/logo-32x32.png"'';
-      description = ''
+      description = lib.mdDoc ''
         Path to 32x32 logo png.
       '';
     };
@@ -52,7 +52,7 @@ with lib;
       type = types.nullOr types.path;
       default = null;
       example = literalExpression ''"''${env.sitePackages}/ipykernel/resources/logo-64x64.png"'';
-      description = ''
+      description = lib.mdDoc ''
         Path to 64x64 logo png.
       '';
     };
@@ -61,7 +61,7 @@ with lib;
       type = types.attrsOf types.path;
       default = { };
       example = literalExpression ''"{ examples = ''${env.sitePack}/IRkernel/kernelspec/kernel.js"; }'';
-      description = ''
+      description = lib.mdDoc ''
         Extra paths to link in kernel directory
       '';
     };
diff --git a/nixos/modules/services/development/jupyterhub/default.nix b/nixos/modules/services/development/jupyterhub/default.nix
index fa6b3be960a..bd8a5f0bd25 100644
--- a/nixos/modules/services/development/jupyterhub/default.nix
+++ b/nixos/modules/services/development/jupyterhub/default.nix
@@ -35,7 +35,7 @@ in {
     authentication = mkOption {
       type = types.str;
       default = "jupyterhub.auth.PAMAuthenticator";
-      description = ''
+      description = lib.mdDoc ''
         Jupyterhub authentication to use
 
         There are many authenticators available including: oauth, pam,
@@ -46,7 +46,7 @@ in {
     spawner = mkOption {
       type = types.str;
       default = "systemdspawner.SystemdSpawner";
-      description = ''
+      description = lib.mdDoc ''
         Jupyterhub spawner to use
 
         There are many spawners available including: local process,
@@ -57,7 +57,7 @@ in {
     extraConfig = mkOption {
       type = types.lines;
       default = "";
-      description = ''
+      description = lib.mdDoc ''
         Extra contents appended to the jupyterhub configuration
 
         Jupyterhub configuration is a normal python file using
@@ -84,7 +84,7 @@ in {
           jupyterhub-systemdspawner
         ])
       '';
-      description = ''
+      description = lib.mdDoc ''
         Python environment to run jupyterhub
 
         Customizing will affect the packages available in the hub and
@@ -106,7 +106,7 @@ in {
           jupyterlab
         ])
       '';
-      description = ''
+      description = lib.mdDoc ''
         Python environment to run jupyterlab
 
         Customizing will affect the packages available in the
@@ -146,7 +146,7 @@ in {
           };
         }
       '';
-      description = ''
+      description = lib.mdDoc ''
         Declarative kernel config
 
         Kernels can be declared in any language that supports and has
@@ -159,7 +159,7 @@ in {
     port = mkOption {
       type = types.port;
       default = 8000;
-      description = ''
+      description = lib.mdDoc ''
         Port number Jupyterhub will be listening on
       '';
     };
@@ -167,7 +167,7 @@ in {
     host = mkOption {
       type = types.str;
       default = "0.0.0.0";
-      description = ''
+      description = lib.mdDoc ''
         Bind IP JupyterHub will be listening on
       '';
     };
@@ -175,7 +175,7 @@ in {
     stateDirectory = mkOption {
       type = types.str;
       default = "jupyterhub";
-      description = ''
+      description = lib.mdDoc ''
         Directory for jupyterhub state (token + database)
       '';
     };
diff --git a/nixos/modules/services/development/zammad.nix b/nixos/modules/services/development/zammad.nix
index 503f54aee2c..e81eef3c0a5 100644
--- a/nixos/modules/services/development/zammad.nix
+++ b/nixos/modules/services/development/zammad.nix
@@ -139,7 +139,7 @@ in
           '';
           description = ''
             The <filename>database.yml</filename> configuration file as key value set.
-            See <link xlink:href='TODO' />
+            See <link xlink:href="TODO"/>
             for list of configuration parameters.
           '';
         };
diff --git a/nixos/modules/services/games/asf.nix b/nixos/modules/services/games/asf.nix
index 37247e195a7..b7892900376 100644
--- a/nixos/modules/services/games/asf.nix
+++ b/nixos/modules/services/games/asf.nix
@@ -136,7 +136,9 @@ in
           };
           settings = mkOption {
             type = types.attrs;
-            description = "Additional settings that are documented <link xlink:href=\"https://github.com/JustArchiNET/ArchiSteamFarm/wiki/Configuration#bot-config\">here</link>.";
+            description = lib.mdDoc ''
+              Additional settings that are documented [here](https://github.com/JustArchiNET/ArchiSteamFarm/wiki/Configuration#bot-config).
+            '';
             default = { };
           };
         };
diff --git a/nixos/modules/services/games/crossfire-server.nix b/nixos/modules/services/games/crossfire-server.nix
index 4b9813245fb..a0dc1e6c564 100644
--- a/nixos/modules/services/games/crossfire-server.nix
+++ b/nixos/modules/services/games/crossfire-server.nix
@@ -76,7 +76,7 @@ in {
         {
           dm_file = '''
             admin:secret_password:localhost
-            jane:xyzzy:*
+            alice:xyzzy:*
           ''';
           ban_file = '''
             # Bob is a jerk
diff --git a/nixos/modules/services/games/deliantra-server.nix b/nixos/modules/services/games/deliantra-server.nix
index 1a061860124..17bdf2aef77 100644
--- a/nixos/modules/services/games/deliantra-server.nix
+++ b/nixos/modules/services/games/deliantra-server.nix
@@ -73,7 +73,7 @@ in {
         {
           dm_file = '''
             admin:secret_password:localhost
-            jane:xyzzy:*
+            alice:xyzzy:*
           ''';
           motd = "Welcome to Deliantra!";
           settings = '''
diff --git a/nixos/modules/services/hardware/kanata.nix b/nixos/modules/services/hardware/kanata.nix
index f8250afa4a0..ccba87531e6 100644
--- a/nixos/modules/services/hardware/kanata.nix
+++ b/nixos/modules/services/hardware/kanata.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, ... }:
+{ config, lib, pkgs, utils, ... }:
 
 with lib;
 
@@ -7,10 +7,20 @@ let
 
   keyboard = {
     options = {
-      device = mkOption {
-        type = types.str;
-        example = "/dev/input/by-id/usb-0000_0000-event-kbd";
-        description = "Path to the keyboard device.";
+      devices = mkOption {
+        type = types.addCheck (types.listOf types.str)
+          (devices: (length devices) > 0);
+        example = [ "/dev/input/by-id/usb-0000_0000-event-kbd" ];
+        # TODO replace note with tip, which has not been implemented yet in
+        # nixos/lib/make-options-doc/mergeJSON.py
+        description = mdDoc ''
+          Paths to keyboard devices.
+
+          ::: {.note}
+          To avoid unnecessary triggers of the service unit, unplug devices in
+          the order of the list.
+          :::
+        '';
       };
       config = mkOption {
         type = types.lines;
@@ -33,18 +43,32 @@ let
             ;; tap within 100ms for capslk, hold more than 100ms for lctl
             cap (tap-hold 100 100 caps lctl))
         '';
-        description = ''
-          Configuration other than defcfg.
-          See <link xlink:href="https://github.com/jtroo/kanata"/> for more information.
+        description = mdDoc ''
+          Configuration other than `defcfg`. See [example config
+          files](https://github.com/jtroo/kanata) for more information.
         '';
       };
       extraDefCfg = mkOption {
         type = types.lines;
         default = "";
         example = "danger-enable-cmd yes";
-        description = ''
-          Configuration of defcfg other than linux-dev.
-          See <link xlink:href="https://github.com/jtroo/kanata"/> for more information.
+        description = mdDoc ''
+          Configuration of `defcfg` other than `linux-dev`. See [example
+          config files](https://github.com/jtroo/kanata) for more information.
+        '';
+      };
+      extraArgs = mkOption {
+        type = types.listOf types.str;
+        default = [ ];
+        description = mdDoc "Extra command line arguments passed to kanata.";
+      };
+      port = mkOption {
+        type = types.nullOr types.port;
+        default = null;
+        example = 6666;
+        description = mdDoc ''
+          Port to run the notification server on. `null` will not run the
+          server.
         '';
       };
     };
@@ -52,16 +76,18 @@ let
 
   mkName = name: "kanata-${name}";
 
+  mkDevices = devices: concatStringsSep ":" devices;
+
   mkConfig = name: keyboard: pkgs.writeText "${mkName name}-config.kdb" ''
     (defcfg
       ${keyboard.extraDefCfg}
-      linux-dev ${keyboard.device})
+      linux-dev ${mkDevices keyboard.devices})
 
     ${keyboard.config}
   '';
 
   mkService = name: keyboard: nameValuePair (mkName name) {
-    description = "kanata for ${keyboard.device}";
+    description = "kanata for ${mkDevices keyboard.devices}";
 
     # Because path units are used to activate service units, which
     # will start the old stopped services during "nixos-rebuild
@@ -72,10 +98,14 @@ let
     serviceConfig = {
       ExecStart = ''
         ${cfg.package}/bin/kanata \
-          --cfg ${mkConfig name keyboard}
+          --cfg ${mkConfig name keyboard} \
+          --symlink-path ''${RUNTIME_DIRECTORY}/${name} \
+          ${optionalString (keyboard.port != null) "--port ${toString keyboard.port}"} \
+          ${utils.escapeSystemdExecArgs keyboard.extraArgs}
       '';
 
       DynamicUser = true;
+      RuntimeDirectory = mkName name;
       SupplementaryGroups = with config.users.groups; [
         input.name
         uinput.name
@@ -83,15 +113,16 @@ let
 
       # hardening
       DeviceAllow = [
-        "/dev/uinput w"
+        "/dev/uinput rw"
         "char-input r"
       ];
-      CapabilityBoundingSet = "";
+      CapabilityBoundingSet = [ "" ];
       DevicePolicy = "closed";
-      IPAddressDeny = "any";
+      IPAddressAllow = optional (keyboard.port != null) "localhost";
+      IPAddressDeny = [ "any" ];
       LockPersonality = true;
       MemoryDenyWriteExecute = true;
-      PrivateNetwork = true;
+      PrivateNetwork = keyboard.port == null;
       PrivateUsers = true;
       ProcSubset = "pid";
       ProtectClock = true;
@@ -102,10 +133,11 @@ let
       ProtectKernelModules = true;
       ProtectKernelTunables = true;
       ProtectProc = "invisible";
-      RestrictAddressFamilies = "none";
+      RestrictAddressFamilies =
+        if (keyboard.port == null) then "none" else [ "AF_INET" ];
       RestrictNamespaces = true;
       RestrictRealtime = true;
-      SystemCallArchitectures = "native";
+      SystemCallArchitectures = [ "native" ];
       SystemCallFilter = [
         "@system-service"
         "~@privileged"
@@ -115,13 +147,32 @@ let
     };
   };
 
-  mkPath = name: keyboard: nameValuePair (mkName name) {
-    description = "kanata trigger for ${keyboard.device}";
-    wantedBy = [ "multi-user.target" ];
-    pathConfig = {
-      PathExists = keyboard.device;
+  mkPathName = i: name: "${mkName name}-${toString i}";
+
+  mkPath = name: n: i: device:
+    nameValuePair (mkPathName i name) {
+      description =
+        "${toString (i+1)}/${toString n} kanata trigger for ${name}, watching ${device}";
+      wantedBy = optional (i == 0) "multi-user.target";
+      pathConfig = {
+        PathExists = device;
+        # (ab)use systemd.path to construct a trigger chain so that the
+        # service unit is only started when all paths exist
+        # however, manual of systemd.path says Unit's suffix is not ".path"
+        Unit =
+          if (i + 1) == n
+          then "${mkName name}.service"
+          else "${mkPathName (i + 1) name}.path";
+      };
+      unitConfig.StopPropagatedFrom = optional (i > 0) "${mkName name}.service";
     };
-  };
+
+  mkPaths = name: keyboard:
+    let
+      n = length keyboard.devices;
+    in
+    imap0 (mkPath name n) keyboard.devices
+  ;
 in
 {
   options.services.kanata = {
@@ -131,15 +182,19 @@ in
       default = pkgs.kanata;
       defaultText = lib.literalExpression "pkgs.kanata";
       example = lib.literalExpression "pkgs.kanata-with-cmd";
-      description = ''
-        kanata package to use.
-        If you enable danger-enable-cmd, pkgs.kanata-with-cmd should be used.
+      description = mdDoc ''
+        The kanata package to use.
+
+        ::: {.note}
+        If `danger-enable-cmd` is enabled in any of the keyboards, the
+        `kanata-with-cmd` package should be used.
+        :::
       '';
     };
     keyboards = mkOption {
       type = types.attrsOf (types.submodule keyboard);
       default = { };
-      description = "Keyboard configurations.";
+      description = mdDoc "Keyboard configurations.";
     };
   };
 
@@ -147,7 +202,11 @@ in
     hardware.uinput.enable = true;
 
     systemd = {
-      paths = mapAttrs' mkPath cfg.keyboards;
+      paths = trivial.pipe cfg.keyboards [
+        (mapAttrsToList mkPaths)
+        concatLists
+        listToAttrs
+      ];
       services = mapAttrs' mkService cfg.keyboards;
     };
   };
diff --git a/nixos/modules/services/hardware/lcd.nix b/nixos/modules/services/hardware/lcd.nix
index ec4b27bd848..c817225c1f2 100644
--- a/nixos/modules/services/hardware/lcd.nix
+++ b/nixos/modules/services/hardware/lcd.nix
@@ -63,8 +63,7 @@ in with lib; {
           default = false;
           description = ''
             Set group-write permissions on a USB device.
-            </para>
-            <para>
+
             A USB connected LCD panel will most likely require having its
             permissions modified for lcdd to write to it. Enabling this option
             sets group-write permissions on the device identified by
@@ -72,13 +71,11 @@ in with lib; {
             <option>services.hardware.lcd.usbPid</option>. In order to find the
             values, you can run the <command>lsusb</command> command. Example
             output:
-            </para>
-            <para>
+
             <literal>
             Bus 005 Device 002: ID 0403:c630 Future Technology Devices International, Ltd lcd2usb interface
             </literal>
-            </para>
-            <para>
+
             In this case the vendor id is 0403 and the product id is c630.
           '';
         };
diff --git a/nixos/modules/services/hardware/pcscd.nix b/nixos/modules/services/hardware/pcscd.nix
index c4ae6e19b79..22e4ea49849 100644
--- a/nixos/modules/services/hardware/pcscd.nix
+++ b/nixos/modules/services/hardware/pcscd.nix
@@ -35,11 +35,10 @@ in
         LIBPATH           /path/to/serial_reader.so
         CHANNELID         1
       '';
-      description = ''
+      description = lib.mdDoc ''
         Configuration for devices that aren't hotpluggable.
 
-        See <citerefentry><refentrytitle>reader.conf</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for valid options.
+        See {manpage}`reader.conf(5)` for valid options.
       '';
     };
   };
diff --git a/nixos/modules/services/hardware/udev.nix b/nixos/modules/services/hardware/udev.nix
index 514763e409a..1723cb50848 100644
--- a/nixos/modules/services/hardware/udev.nix
+++ b/nixos/modules/services/hardware/udev.nix
@@ -209,11 +209,11 @@ in
       packages = mkOption {
         type = types.listOf types.path;
         default = [];
-        description = ''
-          List of packages containing <command>udev</command> rules.
+        description = lib.mdDoc ''
+          List of packages containing {command}`udev` rules.
           All files found in
-          <filename><replaceable>pkg</replaceable>/etc/udev/rules.d</filename> and
-          <filename><replaceable>pkg</replaceable>/lib/udev/rules.d</filename>
+          {file}`«pkg»/etc/udev/rules.d` and
+          {file}`«pkg»/lib/udev/rules.d`
           will be included.
         '';
         apply = map getBin;
@@ -281,16 +281,15 @@ in
     networking.usePredictableInterfaceNames = mkOption {
       default = true;
       type = types.bool;
-      description = ''
-        Whether to assign <link
-        xlink:href='http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames'>predictable
-        names to network interfaces</link>.  If enabled, interfaces
+      description = lib.mdDoc ''
+        Whether to assign [predictable names to network interfaces](http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames).
+        If enabled, interfaces
         are assigned names that contain topology information
-        (e.g. <literal>wlp3s0</literal>) and thus should be stable
+        (e.g. `wlp3s0`) and thus should be stable
         across reboots.  If disabled, names depend on the order in
         which interfaces are discovered by the kernel, which may
         change randomly across reboots; for instance, you may find
-        <literal>eth0</literal> and <literal>eth1</literal> flipping
+        `eth0` and `eth1` flipping
         unpredictably.
       '';
     };
@@ -306,8 +305,8 @@ in
 
           List of packages containing <command>udev</command> rules that will be copied to stage 1.
           All files found in
-          <filename><replaceable>pkg</replaceable>/etc/udev/rules.d</filename> and
-          <filename><replaceable>pkg</replaceable>/lib/udev/rules.d</filename>
+          <filename>«pkg»/etc/udev/rules.d</filename> and
+          <filename>«pkg»/lib/udev/rules.d</filename>
           will be included.
         '';
       };
diff --git a/nixos/modules/services/hardware/udisks2.nix b/nixos/modules/services/hardware/udisks2.nix
index f9b5afceac3..988e975d7e6 100644
--- a/nixos/modules/services/hardware/udisks2.nix
+++ b/nixos/modules/services/hardware/udisks2.nix
@@ -19,14 +19,7 @@ in
 
     services.udisks2 = {
 
-      enable = mkOption {
-        type = types.bool;
-        default = true;
-        description = lib.mdDoc ''
-          Whether to enable Udisks, a DBus service that allows
-          applications to query and manipulate storage devices.
-        '';
-      };
+      enable = mkEnableOption "udisks2, a DBus service that allows applications to query and manipulate storage devices.";
 
       settings = mkOption rec {
         type = types.attrsOf settingsFormat.type;
diff --git a/nixos/modules/services/home-automation/home-assistant.nix b/nixos/modules/services/home-automation/home-assistant.nix
index 6324965c621..2b812838363 100644
--- a/nixos/modules/services/home-automation/home-assistant.nix
+++ b/nixos/modules/services/home-automation/home-assistant.nix
@@ -411,12 +411,12 @@ in {
       ;
       serviceConfig = let
         # List of capabilities to equip home-assistant with, depending on configured components
-        capabilities = [
+        capabilities = lib.unique ([
           # Empty string first, so we will never accidentally have an empty capability bounding set
           # https://github.com/NixOS/nixpkgs/issues/120617#issuecomment-830685115
           ""
-        ] ++ (unique (optionals (useComponent "bluetooth_tracker" || useComponent "bluetooth_le_tracker") [
-          # Required for interaction with hci devices and bluetooth sockets
+        ] ++ lib.optionals (builtins.any useComponent [ "bluetooth" "bluetooth_le_tracker" "bluetooth_tracker" "eq3btsmart" "fjaraskupan" "govee_ble" "homekit_controller" "inkbird" "moat" "sensorpush" "switchbot" "xiaomi_ble" ]) [
+          # Required for interaction with hci devices and bluetooth sockets, identified by bluetooth-adapters dependency
           # https://www.home-assistant.io/integrations/bluetooth_le_tracker/#rootless-setup-on-core-installs
           "CAP_NET_ADMIN"
           "CAP_NET_RAW"
@@ -429,7 +429,7 @@ in {
           "CAP_NET_ADMIN"
           "CAP_NET_BIND_SERVICE"
           "CAP_NET_RAW"
-        ]));
+        ]);
         componentsUsingBluetooth = [
           # Components that require the AF_BLUETOOTH address family
           "bluetooth_tracker"
diff --git a/nixos/modules/services/logging/awstats.nix b/nixos/modules/services/logging/awstats.nix
index 8dbf895a769..ad87c3bd907 100644
--- a/nixos/modules/services/logging/awstats.nix
+++ b/nixos/modules/services/logging/awstats.nix
@@ -121,11 +121,9 @@ in
       type = types.nullOr types.str;
       default = null;
       example = "hourly";
-      description = ''
+      description = lib.mdDoc ''
         Specification of the time at which awstats will get updated.
-        (in the format described by <citerefentry>
-          <refentrytitle>systemd.time</refentrytitle>
-          <manvolnum>7</manvolnum></citerefentry>)
+        (in the format described by {manpage}`systemd.time(7)`)
       '';
     };
   };
diff --git a/nixos/modules/services/logging/filebeat.nix b/nixos/modules/services/logging/filebeat.nix
index ec8df0a7b87..3dc9df372ac 100644
--- a/nixos/modules/services/logging/filebeat.nix
+++ b/nixos/modules/services/logging/filebeat.nix
@@ -31,20 +31,20 @@ in
       };
 
       inputs = mkOption {
-        description = ''
+        description = lib.mdDoc ''
           Inputs specify how Filebeat locates and processes input data.
 
-          This is like <literal>services.filebeat.settings.filebeat.inputs</literal>,
+          This is like `services.filebeat.settings.filebeat.inputs`,
           but structured as an attribute set. This has the benefit
           that multiple NixOS modules can contribute settings to a
           single filebeat input.
 
           An input type can be specified multiple times by choosing a
-          different <literal>&lt;name></literal> for each, but setting
-          <xref linkend="opt-services.filebeat.inputs._name_.type"/>
+          different `<name>` for each, but setting
+          [](#opt-services.filebeat.inputs._name_.type)
           to the same value.
 
-          See <link xlink:href="https://www.elastic.co/guide/en/beats/filebeat/current/configuration-filebeat-options.html"/>.
+          See <https://www.elastic.co/guide/en/beats/filebeat/current/configuration-filebeat-options.html>.
         '';
         default = {};
         type = types.attrsOf (types.submodule ({ name, ... }: {
@@ -77,24 +77,24 @@ in
       };
 
       modules = mkOption {
-        description = ''
+        description = lib.mdDoc ''
           Filebeat modules provide a quick way to get started
           processing common log formats. They contain default
           configurations, Elasticsearch ingest pipeline definitions,
           and Kibana dashboards to help you implement and deploy a log
           monitoring solution.
 
-          This is like <literal>services.filebeat.settings.filebeat.modules</literal>,
+          This is like `services.filebeat.settings.filebeat.modules`,
           but structured as an attribute set. This has the benefit
           that multiple NixOS modules can contribute settings to a
           single filebeat module.
 
           A module can be specified multiple times by choosing a
-          different <literal>&lt;name></literal> for each, but setting
-          <xref linkend="opt-services.filebeat.modules._name_.module"/>
+          different `<name>` for each, but setting
+          [](#opt-services.filebeat.modules._name_.module)
           to the same value.
 
-          See <link xlink:href="https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-modules.html"/>.
+          See <https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-modules.html>.
         '';
         default = {};
         type = types.attrsOf (types.submodule ({ name, ... }: {
@@ -161,8 +161,7 @@ in
                 internal = true;
                 description = ''
                   Inputs specify how Filebeat locates and processes
-                  input data. Use <xref
-                  linkend="opt-services.filebeat.inputs"/> instead.
+                  input data. Use <xref linkend="opt-services.filebeat.inputs"/> instead.
 
                   See <link xlink:href="https://www.elastic.co/guide/en/beats/filebeat/current/configuration-filebeat-options.html"/>.
                 '';
diff --git a/nixos/modules/services/logging/logrotate.nix b/nixos/modules/services/logging/logrotate.nix
index a6eb08ac5ea..53230cc51e5 100644
--- a/nixos/modules/services/logging/logrotate.nix
+++ b/nixos/modules/services/logging/logrotate.nix
@@ -276,9 +276,9 @@ in
         defaultText = ''
           A configuration file automatically generated by NixOS.
         '';
-        description = ''
+        description = lib.mdDoc ''
           Override the configuration file used by MySQL. By default,
-          NixOS generates one automatically from <xref linkend="opt-services.logrotate.settings"/>.
+          NixOS generates one automatically from [](#opt-services.logrotate.settings).
         '';
         example = literalExpression ''
           pkgs.writeText "logrotate.conf" '''
@@ -346,11 +346,11 @@ in
       extraConfig = mkOption {
         default = "";
         type = types.lines;
-        description = ''
+        description = lib.mdDoc ''
           Extra contents to append to the logrotate configuration file. Refer to
-          <link xlink:href="https://linux.die.net/man/8/logrotate"/> for details.
+          <https://linux.die.net/man/8/logrotate> for details.
           This setting has been deprecated in favor of
-          <link linkend="opt-services.logrotate.settings">logrotate settings</link>.
+          [logrotate settings](#opt-services.logrotate.settings).
         '';
       };
     };
diff --git a/nixos/modules/services/mail/mailman.nix b/nixos/modules/services/mail/mailman.nix
index eb24f73c1da..c76d40a68c3 100644
--- a/nixos/modules/services/mail/mailman.nix
+++ b/nixos/modules/services/mail/mailman.nix
@@ -112,9 +112,9 @@ in {
         bindPasswordFile = mkOption {
           type = types.str;
           example = "/run/secrets/ldap-bind";
-          description = ''
+          description = lib.mdDoc ''
             Path to the file containing the bind password of the servie account
-            defined by <xref linkend="opt-services.mailman.ldap.bindDn" />.
+            defined by [](#opt-services.mailman.ldap.bindDn).
           '';
         };
         superUserGroup = mkOption {
diff --git a/nixos/modules/services/mail/mlmmj.nix b/nixos/modules/services/mail/mlmmj.nix
index 0a6c7eceaa6..642f8b20fe3 100644
--- a/nixos/modules/services/mail/mlmmj.nix
+++ b/nixos/modules/services/mail/mlmmj.nix
@@ -86,10 +86,9 @@ in
       maintInterval = mkOption {
         type = types.str;
         default = "20min";
-        description = ''
+        description = lib.mdDoc ''
           Time interval between mlmmj-maintd runs, see
-          <citerefentry><refentrytitle>systemd.time</refentrytitle>
-          <manvolnum>7</manvolnum></citerefentry> for format information.
+          {manpage}`systemd.time(7)` for format information.
         '';
       };
 
diff --git a/nixos/modules/services/mail/nullmailer.nix b/nixos/modules/services/mail/nullmailer.nix
index 59329667f7a..336c76c9850 100644
--- a/nixos/modules/services/mail/nullmailer.nix
+++ b/nixos/modules/services/mail/nullmailer.nix
@@ -38,11 +38,11 @@ with lib;
       remotesFile = mkOption {
         type = types.nullOr types.str;
         default = null;
-        description = ''
-          Path to the <code>remotes</code> control file. This file contains a
+        description = lib.mdDoc ''
+          Path to the `remotes` control file. This file contains a
           list of remote servers to which to send each message.
 
-          See <code>man 8 nullmailer-send</code> for syntax and available
+          See `man 8 nullmailer-send` for syntax and available
           options.
         '';
       };
@@ -153,17 +153,17 @@ with lib;
         remotes = mkOption {
           type = types.nullOr types.str;
           default = null;
-          description = ''
+          description = lib.mdDoc ''
             A list of remote servers to which to send each message. Each line
             contains a remote host name or address followed by an optional
             protocol string, separated by white space.
 
-            See <code>man 8 nullmailer-send</code> for syntax and available
+            See `man 8 nullmailer-send` for syntax and available
             options.
 
             WARNING: This is stored world-readable in the nix store. If you need
             to specify any secret credentials here, consider using the
-            <code>remotesFile</code> option instead.
+            `remotesFile` option instead.
           '';
         };
 
diff --git a/nixos/modules/services/mail/postfix.nix b/nixos/modules/services/mail/postfix.nix
index 2fc79949fbc..75ef09dbc6e 100644
--- a/nixos/modules/services/mail/postfix.nix
+++ b/nixos/modules/services/mail/postfix.nix
@@ -535,9 +535,8 @@ in
       canonical = mkOption {
         type = types.lines;
         default = "";
-        description = ''
-          Entries for the <citerefentry><refentrytitle>canonical</refentrytitle>
-          <manvolnum>5</manvolnum></citerefentry> table.
+        description = lib.mdDoc ''
+          Entries for the {manpage}`canonical(5)` table.
         '';
       };
 
diff --git a/nixos/modules/services/mail/postfixadmin.nix b/nixos/modules/services/mail/postfixadmin.nix
index 27b5c60ec07..b86428770cb 100644
--- a/nixos/modules/services/mail/postfixadmin.nix
+++ b/nixos/modules/services/mail/postfixadmin.nix
@@ -13,12 +13,12 @@ in
     enable = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Whether to enable postfixadmin.
 
         Also enables nginx virtual host management.
-        Further nginx configuration can be done by adapting <literal>services.nginx.virtualHosts.&lt;name&gt;</literal>.
-        See <xref linkend="opt-services.nginx.virtualHosts"/> for further information.
+        Further nginx configuration can be done by adapting `services.nginx.virtualHosts.<name>`.
+        See [](#opt-services.nginx.virtualHosts) for further information.
       '';
     };
 
diff --git a/nixos/modules/services/mail/public-inbox.nix b/nixos/modules/services/mail/public-inbox.nix
index bb835881ba0..a81dd1cdb37 100644
--- a/nixos/modules/services/mail/public-inbox.nix
+++ b/nixos/modules/services/mail/public-inbox.nix
@@ -23,10 +23,10 @@ let
     port = mkOption {
       type = with types; nullOr (either str port);
       default = defaultPort;
-      description = ''
+      description = lib.mdDoc ''
         Listening port.
         Beware that public-inbox uses well-known ports number to decide whether to enable TLS or not.
-        Set to null and use <code>systemd.sockets.public-inbox-${proto}d.listenStreams</code>
+        Set to null and use `systemd.sockets.public-inbox-${proto}d.listenStreams`
         if you need a more advanced listening.
       '';
     };
@@ -239,11 +239,11 @@ in
         type = with types; nullOr (either str port);
         default = 80;
         example = "/run/public-inbox-httpd.sock";
-        description = ''
+        description = lib.mdDoc ''
           Listening port or systemd's ListenStream= entry
           to be used as a reverse proxy, eg. in nginx:
-          <code>locations."/inbox".proxyPass = "http://unix:''${config.services.public-inbox.http.port}:/inbox";</code>
-          Set to null and use <code>systemd.sockets.public-inbox-httpd.listenStreams</code>
+          `locations."/inbox".proxyPass = "http://unix:''${config.services.public-inbox.http.port}:/inbox";`
+          Set to null and use `systemd.sockets.public-inbox-httpd.listenStreams`
           if you need a more advanced listening.
         '';
       };
diff --git a/nixos/modules/services/mail/roundcube.nix b/nixos/modules/services/mail/roundcube.nix
index 3b6c06d19e8..d8adf53e48a 100644
--- a/nixos/modules/services/mail/roundcube.nix
+++ b/nixos/modules/services/mail/roundcube.nix
@@ -14,12 +14,12 @@ in
     enable = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Whether to enable roundcube.
 
         Also enables nginx virtual host management.
-        Further nginx configuration can be done by adapting <literal>services.nginx.virtualHosts.&lt;name&gt;</literal>.
-        See <xref linkend="opt-services.nginx.virtualHosts"/> for further information.
+        Further nginx configuration can be done by adapting `services.nginx.virtualHosts.<name>`.
+        See [](#opt-services.nginx.virtualHosts) for further information.
       '';
     };
 
@@ -99,11 +99,11 @@ in
     maxAttachmentSize = mkOption {
       type = types.int;
       default = 18;
-      description = ''
+      description = lib.mdDoc ''
         The maximum attachment size in MB.
 
         Note: Since roundcube only uses 70% of max upload values configured in php
-        30% is added automatically to <xref linkend="opt-services.roundcube.maxAttachmentSize"/>.
+        30% is added automatically to [](#opt-services.roundcube.maxAttachmentSize).
       '';
       apply = configuredMaxAttachmentSize: "${toString (configuredMaxAttachmentSize * 1.3)}M";
     };
diff --git a/nixos/modules/services/mail/sympa.nix b/nixos/modules/services/mail/sympa.nix
index 1d46b090cd8..0014701d583 100644
--- a/nixos/modules/services/mail/sympa.nix
+++ b/nixos/modules/services/mail/sympa.nix
@@ -86,9 +86,9 @@ in
       type = str;
       default = "en_US";
       example = "cs";
-      description = ''
+      description = lib.mdDoc ''
         Default Sympa language.
-        See <link xlink:href='https://github.com/sympa-community/sympa/tree/sympa-6.2/po/sympa' />
+        See <https://github.com/sympa-community/sympa/tree/sympa-6.2/po/sympa>
         for available options.
       '';
     };
@@ -136,9 +136,9 @@ in
             example = {
               default_max_list_members = 3;
             };
-            description = ''
-              The <filename>robot.conf</filename> configuration file as key value set.
-              See <link xlink:href='https://sympa-community.github.io/gpldoc/man/sympa.conf.5.html' />
+            description = lib.mdDoc ''
+              The {file}`robot.conf` configuration file as key value set.
+              See <https://sympa-community.github.io/gpldoc/man/sympa.conf.5.html>
               for list of configuration parameters.
             '';
           };
@@ -242,7 +242,7 @@ in
         description = ''
           The webserver used for the Sympa web interface. Set it to `none` if you want to configure it yourself.
           Further nginx configuration can be done by adapting
-          <option>services.nginx.virtualHosts.<replaceable>name</replaceable></option>.
+          <option>services.nginx.virtualHosts.«name»</option>.
         '';
       };
 
@@ -285,9 +285,9 @@ in
           viewlogs_page_size = 50;
         }
       '';
-      description = ''
-        The <filename>sympa.conf</filename> configuration file as key value set.
-        See <link xlink:href='https://sympa-community.github.io/gpldoc/man/sympa.conf.5.html' />
+      description = lib.mdDoc ''
+        The {file}`sympa.conf` configuration file as key value set.
+        See <https://sympa-community.github.io/gpldoc/man/sympa.conf.5.html>
         for list of configuration parameters.
       '';
     };
diff --git a/nixos/modules/services/matrix/appservice-discord.nix b/nixos/modules/services/matrix/appservice-discord.nix
index fa55b3c5de7..c72a2123a92 100644
--- a/nixos/modules/services/matrix/appservice-discord.nix
+++ b/nixos/modules/services/matrix/appservice-discord.nix
@@ -40,23 +40,16 @@ in {
             };
           }
         '';
-        description = ''
-          <filename>config.yaml</filename> configuration as a Nix attribute set.
-          </para>
+        description = lib.mdDoc ''
+          {file}`config.yaml` configuration as a Nix attribute set.
 
-          <para>
           Configuration options should match those described in
-          <link xlink:href="https://github.com/Half-Shot/matrix-appservice-discord/blob/master/config/config.sample.yaml">
-          config.sample.yaml</link>.
-          </para>
+          [config.sample.yaml](https://github.com/Half-Shot/matrix-appservice-discord/blob/master/config/config.sample.yaml).
 
-          <para>
-          <option>config.bridge.domain</option> and <option>config.bridge.homeserverUrl</option>
+          {option}`config.bridge.domain` and {option}`config.bridge.homeserverUrl`
           should be set to match the public host name of the Matrix homeserver for webhooks and avatars to work.
-          </para>
 
-          <para>
-          Secret tokens should be specified using <option>environmentFile</option>
+          Secret tokens should be specified using {option}`environmentFile`
           instead of this world-readable attribute set.
         '';
       };
diff --git a/nixos/modules/services/matrix/dendrite.nix b/nixos/modules/services/matrix/dendrite.nix
index 4275950ec78..7cf9fd9e75f 100644
--- a/nixos/modules/services/matrix/dendrite.nix
+++ b/nixos/modules/services/matrix/dendrite.nix
@@ -52,8 +52,7 @@ in
       default = null;
       description = ''
         Environment file as defined in <citerefentry>
-        <refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum>
-        </citerefentry>.
+        <refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
         Secrets may be passed to the service without adding them to the world-readable
         Nix store, by specifying placeholder variables as the option value in Nix and
         setting these variables accordingly in the environment file. Currently only used
diff --git a/nixos/modules/services/matrix/mautrix-facebook.nix b/nixos/modules/services/matrix/mautrix-facebook.nix
index 55067abaa52..dfdf6e25021 100644
--- a/nixos/modules/services/matrix/mautrix-facebook.nix
+++ b/nixos/modules/services/matrix/mautrix-facebook.nix
@@ -75,15 +75,12 @@ in {
             };
           }
         '';
-        description = ''
-          <filename>config.yaml</filename> configuration as a Nix attribute set.
+        description = lib.mdDoc ''
+          {file}`config.yaml` configuration as a Nix attribute set.
           Configuration options should match those described in
-          <link xlink:href="https://github.com/mautrix/facebook/blob/master/mautrix_facebook/example-config.yaml">
-          example-config.yaml</link>.
-          </para>
+          [example-config.yaml](https://github.com/mautrix/facebook/blob/master/mautrix_facebook/example-config.yaml).
 
-          <para>
-          Secret tokens should be specified using <option>environmentFile</option>
+          Secret tokens should be specified using {option}`environmentFile`
           instead of this world-readable attribute set.
         '';
       };
diff --git a/nixos/modules/services/matrix/mautrix-telegram.nix b/nixos/modules/services/matrix/mautrix-telegram.nix
index c6527be5263..196100a531a 100644
--- a/nixos/modules/services/matrix/mautrix-telegram.nix
+++ b/nixos/modules/services/matrix/mautrix-telegram.nix
@@ -78,15 +78,12 @@ in {
             };
           }
         '';
-        description = ''
-          <filename>config.yaml</filename> configuration as a Nix attribute set.
+        description = lib.mdDoc ''
+          {file}`config.yaml` configuration as a Nix attribute set.
           Configuration options should match those described in
-          <link xlink:href="https://github.com/tulir/mautrix-telegram/blob/master/example-config.yaml">
-          example-config.yaml</link>.
-          </para>
+          [example-config.yaml](https://github.com/tulir/mautrix-telegram/blob/master/example-config.yaml).
 
-          <para>
-          Secret tokens should be specified using <option>environmentFile</option>
+          Secret tokens should be specified using {option}`environmentFile`
           instead of this world-readable attribute set.
         '';
       };
diff --git a/nixos/modules/services/matrix/mjolnir.nix b/nixos/modules/services/matrix/mjolnir.nix
index 278924b05cf..abbbb4030e5 100644
--- a/nixos/modules/services/matrix/mjolnir.nix
+++ b/nixos/modules/services/matrix/mjolnir.nix
@@ -70,27 +70,27 @@ in
     homeserverUrl = mkOption {
       type = types.str;
       default = "https://matrix.org";
-      description = ''
+      description = lib.mdDoc ''
         Where the homeserver is located (client-server URL).
 
-        If <literal>pantalaimon.enable</literal> is <literal>true</literal>, this option will become the homeserver to which <literal>pantalaimon</literal> connects.
-        The listen address of <literal>pantalaimon</literal> will then become the <literal>homeserverUrl</literal> of <literal>mjolnir</literal>.
+        If `pantalaimon.enable` is `true`, this option will become the homeserver to which `pantalaimon` connects.
+        The listen address of `pantalaimon` will then become the `homeserverUrl` of `mjolnir`.
       '';
     };
 
     accessTokenFile = mkOption {
       type = with types; nullOr path;
       default = null;
-      description = ''
-        File containing the matrix access token for the <literal>mjolnir</literal> user.
+      description = lib.mdDoc ''
+        File containing the matrix access token for the `mjolnir` user.
       '';
     };
 
     pantalaimon = mkOption {
-      description = ''
-        <literal>pantalaimon</literal> options (enables E2E Encryption support).
+      description = lib.mdDoc ''
+        `pantalaimon` options (enables E2E Encryption support).
 
-        This will create a <literal>pantalaimon</literal> instance with the name "mjolnir".
+        This will create a `pantalaimon` instance with the name "mjolnir".
       '';
       default = { };
       type = types.submodule {
@@ -102,22 +102,22 @@ in
 
           username = mkOption {
             type = types.str;
-            description = "The username to login with.";
+            description = lib.mdDoc "The username to login with.";
           };
 
           passwordFile = mkOption {
             type = with types; nullOr path;
             default = null;
-            description = ''
-              File containing the matrix password for the <literal>mjolnir</literal> user.
+            description = lib.mdDoc ''
+              File containing the matrix password for the `mjolnir` user.
             '';
           };
 
           options = mkOption {
             type = types.submodule (import ./pantalaimon-options.nix);
             default = { };
-            description = ''
-              passthrough additional options to the <literal>pantalaimon</literal> service.
+            description = lib.mdDoc ''
+              passthrough additional options to the `pantalaimon` service.
             '';
           };
         };
@@ -127,7 +127,7 @@ in
     dataPath = mkOption {
       type = types.path;
       default = "/var/lib/mjolnir";
-      description = ''
+      description = lib.mdDoc ''
         The directory the bot should store various bits of information in.
       '';
     };
@@ -135,11 +135,11 @@ in
     managementRoom = mkOption {
       type = types.str;
       default = "#moderators:example.org";
-      description = ''
+      description = lib.mdDoc ''
         The room ID where people can use the bot. The bot has no access controls, so
         anyone in this room can use the bot - secure your room!
         This should be a room alias or room ID - not a matrix.to URL.
-        Note: <literal>mjolnir</literal> is fairly verbose - expect a lot of messages from it.
+        Note: `mjolnir` is fairly verbose - expect a lot of messages from it.
       '';
     };
 
@@ -152,7 +152,7 @@ in
           "https://matrix.to/#/#anotherroom:example.org"
         ]
       '';
-      description = ''
+      description = lib.mdDoc ''
         A list of rooms to protect (matrix.to URLs).
       '';
     };
@@ -166,8 +166,8 @@ in
           automaticallyRedactForReasons = [ "spam" "advertising" ];
         }
       '';
-      description = ''
-        Additional settings (see <link xlink:href="https://github.com/matrix-org/mjolnir/blob/main/config/default.yaml">mjolnir default config</link> for available settings). These settings will override settings made by the module config.
+      description = lib.mdDoc ''
+        Additional settings (see [mjolnir default config](https://github.com/matrix-org/mjolnir/blob/main/config/default.yaml) for available settings). These settings will override settings made by the module config.
       '';
     };
   };
diff --git a/nixos/modules/services/matrix/pantalaimon-options.nix b/nixos/modules/services/matrix/pantalaimon-options.nix
index 035c57540d0..3945a70fc86 100644
--- a/nixos/modules/services/matrix/pantalaimon-options.nix
+++ b/nixos/modules/services/matrix/pantalaimon-options.nix
@@ -6,15 +6,15 @@ with lib;
     dataPath = mkOption {
       type = types.path;
       default = "/var/lib/pantalaimon-${name}";
-      description = ''
-        The directory where <literal>pantalaimon</literal> should store its state such as the database file.
+      description = lib.mdDoc ''
+        The directory where `pantalaimon` should store its state such as the database file.
       '';
     };
 
     logLevel = mkOption {
       type = types.enum [ "info" "warning" "error" "debug" ];
       default = "warning";
-      description = ''
+      description = lib.mdDoc ''
         Set the log level of the daemon.
       '';
     };
@@ -22,8 +22,8 @@ with lib;
     homeserver = mkOption {
       type = types.str;
       example = "https://matrix.org";
-      description = ''
-        The URI of the homeserver that the <literal>pantalaimon</literal> proxy should
+      description = lib.mdDoc ''
+        The URI of the homeserver that the `pantalaimon` proxy should
         forward requests to, without the matrix API path but including
         the http(s) schema.
       '';
@@ -32,7 +32,7 @@ with lib;
     ssl = mkOption {
       type = types.bool;
       default = true;
-      description = ''
+      description = lib.mdDoc ''
         Whether or not SSL verification should be enabled for outgoing
         connections to the homeserver.
       '';
@@ -41,7 +41,7 @@ with lib;
     listenAddress = mkOption {
       type = types.str;
       default = "localhost";
-      description = ''
+      description = lib.mdDoc ''
         The address where the daemon will listen to client connections
         for this homeserver.
       '';
@@ -50,7 +50,7 @@ with lib;
     listenPort = mkOption {
       type = types.port;
       default = 8009;
-      description = ''
+      description = lib.mdDoc ''
         The port where the daemon will listen to client connections for
         this homeserver. Note that the listen address/port combination
         needs to be unique between different homeservers.
@@ -60,9 +60,9 @@ with lib;
     extraSettings = mkOption {
       type = types.attrs;
       default = { };
-      description = ''
+      description = lib.mdDoc ''
         Extra configuration options. See
-        <link xlink:href="https://github.com/matrix-org/pantalaimon/blob/master/docs/man/pantalaimon.5.md">pantalaimon(5)</link>
+        [pantalaimon(5)](https://github.com/matrix-org/pantalaimon/blob/master/docs/man/pantalaimon.5.md)
         for available options.
       '';
     };
diff --git a/nixos/modules/services/matrix/pantalaimon.nix b/nixos/modules/services/matrix/pantalaimon.nix
index 63b40099ca5..591ba9a7ab5 100644
--- a/nixos/modules/services/matrix/pantalaimon.nix
+++ b/nixos/modules/services/matrix/pantalaimon.nix
@@ -51,11 +51,11 @@ in
   options.services.pantalaimon-headless.instances = mkOption {
     default = { };
     type = types.attrsOf (types.submodule (import ./pantalaimon-options.nix));
-    description = ''
+    description = lib.mdDoc ''
       Declarative instance config.
 
       Note: to use pantalaimon interactively, e.g. for a Matrix client which does not
-      support End-to-end encryption (like <literal>fractal</literal>), refer to the home-manager module.
+      support End-to-end encryption (like `fractal`), refer to the home-manager module.
     '';
   };
 
diff --git a/nixos/modules/services/matrix/synapse.nix b/nixos/modules/services/matrix/synapse.nix
index 3d5d10cdf07..0dbfcc17638 100644
--- a/nixos/modules/services/matrix/synapse.nix
+++ b/nixos/modules/services/matrix/synapse.nix
@@ -143,7 +143,7 @@ in {
       configFile = mkOption {
         type = types.path;
         readOnly = true;
-        description = ''
+        description = lib.mdDoc ''
           Path to the configuration file on the target system. Useful to configure e.g. workers
           that also need this.
         '';
@@ -153,7 +153,7 @@ in {
         type = types.package;
         default = pkgs.matrix-synapse;
         defaultText = literalExpression "pkgs.matrix-synapse";
-        description = ''
+        description = lib.mdDoc ''
           Overridable attribute of the matrix synapse server package to use.
         '';
       };
@@ -167,7 +167,7 @@ in {
             matrix-synapse-pam
           ];
         '';
-        description = ''
+        description = lib.mdDoc ''
           List of additional Matrix plugins to make available.
         '';
       };
@@ -175,7 +175,7 @@ in {
       withJemalloc = mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           Whether to preload jemalloc to reduce memory fragmentation and overall usage.
         '';
       };
@@ -183,7 +183,7 @@ in {
       dataDir = mkOption {
         type = types.str;
         default = "/var/lib/matrix-synapse";
-        description = ''
+        description = lib.mdDoc ''
           The directory where matrix-synapse stores its stateful data such as
           certificates, media and uploads.
         '';
@@ -210,7 +210,7 @@ in {
               example = "example.com";
               default = config.networking.hostName;
               defaultText = literalExpression "config.networking.hostName";
-              description = ''
+              description = lib.mdDoc ''
                 The domain name of the server, with optional explicit port.
                 This is used by remote servers to look up the server address.
                 This is also the last part of your UserID.
@@ -222,7 +222,7 @@ in {
             enable_registration = mkOption {
               type = types.bool;
               default = false;
-              description = ''
+              description = lib.mdDoc ''
                 Enable registration for new users.
               '';
             };
@@ -253,7 +253,7 @@ in {
             enable_metrics = mkOption {
               type = types.bool;
               default = false;
-              description = ''
+              description = lib.mdDoc ''
                 Enable collection and rendering of performance metrics
               '';
             };
@@ -261,7 +261,7 @@ in {
             report_stats = mkOption {
               type = types.bool;
               default = false;
-              description = ''
+              description = lib.mdDoc ''
                 Whether or not to report anonymized homeserver usage statistics.
               '';
             };
@@ -269,7 +269,7 @@ in {
             signing_key_path = mkOption {
               type = types.path;
               default = "${cfg.dataDir}/homeserver.signing.key";
-              description = ''
+              description = lib.mdDoc ''
                 Path to the signing key to sign messages with.
               '';
             };
@@ -278,7 +278,7 @@ in {
               type = types.path;
               default = "/run/matrix-synapse.pid";
               readOnly = true;
-              description = ''
+              description = lib.mdDoc ''
                 The file to store the PID in.
               '';
             };
@@ -286,7 +286,7 @@ in {
             log_config = mkOption {
               type = types.path;
               default = ./synapse-log_config.yaml;
-              description = ''
+              description = lib.mdDoc ''
                 The file that holds the logging configuration.
               '';
             };
@@ -297,7 +297,7 @@ in {
                 then "${cfg.dataDir}/media_store"
                 else "${cfg.dataDir}/media";
               defaultText = "${cfg.dataDir}/media_store for when system.stateVersion is at least 22.05, ${cfg.dataDir}/media when lower than 22.05";
-              description = ''
+              description = lib.mdDoc ''
                 Directory where uploaded images and attachments are stored.
               '';
             };
@@ -306,7 +306,7 @@ in {
               type = types.nullOr types.str;
               default = null;
               example = "https://example.com:8448/";
-              description = ''
+              description = lib.mdDoc ''
                 The public-facing base URL for the client API (not including _matrix/...)
               '';
             };
@@ -315,7 +315,7 @@ in {
               type = types.nullOr types.str;
               default = null;
               example = "/var/lib/acme/example.com/fullchain.pem";
-              description = ''
+              description = lib.mdDoc ''
                 PEM encoded X509 certificate for TLS.
                 You can replace the self-signed certificate that synapse
                 autogenerates on launch with your own SSL certificate + key pair
@@ -328,7 +328,7 @@ in {
               type = types.nullOr types.str;
               default = null;
               example = "/var/lib/acme/example.com/key.pem";
-              description = ''
+              description = lib.mdDoc ''
                 PEM encoded private key for TLS. Specify null if synapse is not
                 speaking TLS directly.
               '';
@@ -338,7 +338,7 @@ in {
               type = types.bool;
               default = true;
               example = false;
-              description = ''
+              description = lib.mdDoc ''
                 Whether to enable presence tracking.
 
                 Presence tracking allows users to see the state (e.g online/offline)
@@ -352,7 +352,7 @@ in {
                   port = mkOption {
                     type = types.port;
                     example = 8448;
-                    description = ''
+                    description = lib.mdDoc ''
                       The port to listen for HTTP(S) requests on.
                     '';
                   };
@@ -369,7 +369,7 @@ in {
                       "0.0.0.0"
                     ]
                     '';
-                    description = ''
+                    description = lib.mdDoc ''
                      IP addresses to bind the listener to.
                     '';
                   };
@@ -383,7 +383,7 @@ in {
                     ];
                     default = "http";
                     example = "metrics";
-                    description = ''
+                    description = lib.mdDoc ''
                       The type of the listener, usually http.
                     '';
                   };
@@ -392,7 +392,7 @@ in {
                     type = types.bool;
                     default = true;
                     example = false;
-                    description = ''
+                    description = lib.mdDoc ''
                       Whether to enable TLS on the listener socket.
                     '';
                   };
@@ -401,7 +401,7 @@ in {
                     type = types.bool;
                     default = false;
                     example = true;
-                    description = ''
+                    description = lib.mdDoc ''
                       Use the X-Forwarded-For (XFF) header as the client IP and not the
                       actual client IP.
                     '';
@@ -422,7 +422,7 @@ in {
                             "replication"
                             "static"
                           ]);
-                          description = ''
+                          description = lib.mdDoc ''
                             List of resources to host on this listener.
                           '';
                           example = [
@@ -431,7 +431,7 @@ in {
                         };
                         compress = mkOption {
                           type = types.bool;
-                          description = ''
+                          description = lib.mdDoc ''
                             Should synapse compress HTTP responses to clients that support it?
                             This should be disabled if running synapse behind a load balancer
                             that can do automatic compression.
@@ -439,7 +439,7 @@ in {
                         };
                       };
                     });
-                    description = ''
+                    description = lib.mdDoc ''
                       List of HTTP resources to serve on this listener.
                     '';
                   };
@@ -459,7 +459,7 @@ in {
                   compress = false;
                 } ];
               } ];
-              description = ''
+              description = lib.mdDoc ''
                 List of ports that Synapse should listen on, their purpose and their configuration.
               '';
             };
@@ -477,7 +477,7 @@ in {
                 then "psycopg2"
                 else "sqlite3"
               '';
-              description = ''
+              description = lib.mdDoc ''
                 The database engine name. Can be sqlite3 or psycopg2.
               '';
             };
@@ -494,7 +494,7 @@ in {
                 psycopg2 = "matrix-synapse";
               }.''${${options.services.matrix-synapse.settings}.database.name};
               '';
-              description = ''
+              description = lib.mdDoc ''
                 Name of the database when using the psycopg2 backend,
                 path to the database location when using sqlite3.
               '';
@@ -506,7 +506,7 @@ in {
                 sqlite3 = null;
                 psycopg2 = "matrix-synapse";
               }.${cfg.settings.database.name};
-              description = ''
+              description = lib.mdDoc ''
                 Username to connect with psycopg2, set to null
                 when using sqlite3.
               '';
@@ -546,7 +546,7 @@ in {
                 "fec0::/10"
                 "ff00::/8"
               ];
-              description = ''
+              description = lib.mdDoc ''
                 List of IP address CIDR ranges that the URL preview spider is denied
                 from accessing.
               '';
@@ -555,7 +555,7 @@ in {
             url_preview_ip_range_whitelist = mkOption {
               type = types.listOf types.str;
               default = [];
-              description = ''
+              description = lib.mdDoc ''
                 List of IP address CIDR ranges that the URL preview spider is allowed
                 to access even if they are specified in url_preview_ip_range_blacklist.
               '';
@@ -564,7 +564,7 @@ in {
             url_preview_url_blacklist = mkOption {
               type = types.listOf types.str;
               default = [];
-              description = ''
+              description = lib.mdDoc ''
                 Optional list of URL matches that the URL preview spider is
                 denied from accessing.
               '';
@@ -574,7 +574,7 @@ in {
               type = types.str;
               default = "50M";
               example = "100M";
-              description = ''
+              description = lib.mdDoc ''
                 The largest allowed upload size in bytes
               '';
             };
@@ -583,7 +583,7 @@ in {
               type = types.str;
               default = "32M";
               example = "64M";
-              description = ''
+              description = lib.mdDoc ''
                 Maximum number of pixels that will be thumbnailed
               '';
             };
@@ -592,7 +592,7 @@ in {
               type = types.bool;
               default = false;
               example = true;
-              description = ''
+              description = lib.mdDoc ''
                 Whether to generate new thumbnails on the fly to precisely match
                 the resolution requested by the client. If true then whenever
                 a new resolution is requested by the client the server will
@@ -610,7 +610,7 @@ in {
                 "turns:turn.example.com:5349?transport=udp"
                 "turns:turn.example.com:5349?transport=tcp"
               ];
-              description = ''
+              description = lib.mdDoc ''
                 The public URIs of the TURN server to give to clients
               '';
             };
@@ -633,7 +633,7 @@ in {
                   server_name = mkOption {
                     type = types.str;
                     example = "matrix.org";
-                    description = ''
+                    description = lib.mdDoc ''
                       Hostname of the trusted server.
                     '';
                   };
@@ -646,7 +646,7 @@ in {
                         "ed25519:auto" = "Noi6WqcDj0QmPxCNQqgezwTlBKrfqehY1u2FyWP9uYw";
                       }
                     '';
-                    description = ''
+                    description = lib.mdDoc ''
                       Attribute set from key id to base64 encoded public key.
 
                       If specified synapse will check that the response is signed
@@ -661,7 +661,7 @@ in {
                   "ed25519:auto" = "Noi6WqcDj0QmPxCNQqgezwTlBKrfqehY1u2FyWP9uYw";
                 };
               } ];
-              description = ''
+              description = lib.mdDoc ''
                 The trusted servers to download signing keys from.
               '';
             };
@@ -669,7 +669,7 @@ in {
             app_service_config_files = mkOption {
               type = types.listOf types.path;
               default = [ ];
-              description = ''
+              description = lib.mdDoc ''
                 A list of application service config file to use
               '';
             };
@@ -681,7 +681,7 @@ in {
       extraConfigFiles = mkOption {
         type = types.listOf types.path;
         default = [];
-        description = ''
+        description = lib.mdDoc ''
           Extra config files to include.
 
           The configuration files will be included based on the command line
diff --git a/nixos/modules/services/misc/autorandr.nix b/nixos/modules/services/misc/autorandr.nix
index 11dc915c2af..06f24d7c7e7 100644
--- a/nixos/modules/services/misc/autorandr.nix
+++ b/nixos/modules/services/misc/autorandr.nix
@@ -27,9 +27,9 @@ let
     options = {
       fingerprint = mkOption {
         type = types.attrsOf types.str;
-        description = ''
+        description = lib.mdDoc ''
           Output name to EDID mapping.
-          Use <code>autorandr --fingerprint</code> to get current setup values.
+          Use `autorandr --fingerprint` to get current setup values.
         '';
         default = { };
       };
@@ -114,12 +114,9 @@ let
             [ 0.0 0.0 1.0 ]
           ]
         '';
-        description = ''
+        description = lib.mdDoc ''
           Refer to
-          <citerefentry>
-            <refentrytitle>xrandr</refentrytitle>
-            <manvolnum>1</manvolnum>
-          </citerefentry>
+          {manpage}`xrandr(1)`
           for the documentation of the transform matrix.
         '';
       };
@@ -154,18 +151,15 @@ let
         });
         description = ''
           Output scale configuration.
-          </para><para>
+
           Either configure by pixels or a scaling factor. When using pixel method the
-          <citerefentry>
-            <refentrytitle>xrandr</refentrytitle>
-            <manvolnum>1</manvolnum>
-          </citerefentry>
+          <citerefentry><refentrytitle>xrandr</refentrytitle><manvolnum>1</manvolnum></citerefentry>
           option
           <parameter class="command">--scale-from</parameter>
           will be used; when using factor method the option
           <parameter class="command">--scale</parameter>
           will be used.
-          </para><para>
+
           This option is a shortcut version of the transform option and they are mutually
           exclusive.
         '';
diff --git a/nixos/modules/services/misc/bees.nix b/nixos/modules/services/misc/bees.nix
index 1b492315026..37f90c68222 100644
--- a/nixos/modules/services/misc/bees.nix
+++ b/nixos/modules/services/misc/bees.nix
@@ -11,14 +11,13 @@ let
   fsOptions = with types; {
     options.spec = mkOption {
       type = str;
-      description = ''
+      description = lib.mdDoc ''
         Description of how to identify the filesystem to be duplicated by this
         instance of bees. Note that deduplication crosses subvolumes; one must
         not configure multiple instances for subvolumes of the same filesystem
         (or block devices which are part of the same filesystem), but only for
         completely independent btrfs filesystems.
-        </para>
-        <para>
+
         This must be in a format usable by findmnt; that could be a key=value
         pair, or a bare path to a mount point.
         Using bare paths will allow systemd to start the beesd service only
@@ -29,14 +28,12 @@ let
     options.hashTableSizeMB = mkOption {
       type = types.addCheck types.int (n: mod n 16 == 0);
       default = 1024; # 1GB; default from upstream beesd script
-      description = ''
+      description = lib.mdDoc ''
         Hash table size in MB; must be a multiple of 16.
-        </para>
-        <para>
+
         A larger ratio of index size to storage size means smaller blocks of
         duplicate content are recognized.
-        </para>
-        <para>
+
         If you have 1TB of data, a 4GB hash table (which is to say, a value of
         4096) will permit 4KB extents (the smallest possible size) to be
         recognized, whereas a value of 1024 -- creating a 1GB hash table --
diff --git a/nixos/modules/services/misc/docker-registry.nix b/nixos/modules/services/misc/docker-registry.nix
index 5b32762a369..7a9907fd351 100644
--- a/nixos/modules/services/misc/docker-registry.nix
+++ b/nixos/modules/services/misc/docker-registry.nix
@@ -103,10 +103,9 @@ in {
     garbageCollectDates = mkOption {
       default = "daily";
       type = types.str;
-      description = ''
+      description = lib.mdDoc ''
         Specification (in the format described by
-        <citerefentry><refentrytitle>systemd.time</refentrytitle>
-        <manvolnum>7</manvolnum></citerefentry>) of the time at
+        {manpage}`systemd.time(7)`) of the time at
         which the garbage collect will occur.
       '';
     };
diff --git a/nixos/modules/services/misc/etcd.nix b/nixos/modules/services/misc/etcd.nix
index d589ad780c1..3343e94778a 100644
--- a/nixos/modules/services/misc/etcd.nix
+++ b/nixos/modules/services/misc/etcd.nix
@@ -125,9 +125,9 @@ in {
     };
 
     extraConf = mkOption {
-      description = ''
+      description = lib.mdDoc ''
         Etcd extra configuration. See
-        <link xlink:href='https://github.com/coreos/etcd/blob/master/Documentation/op-guide/configuration.md#configuration-flags' />
+        <https://github.com/coreos/etcd/blob/master/Documentation/op-guide/configuration.md#configuration-flags>
       '';
       type = types.attrsOf types.str;
       default = {};
diff --git a/nixos/modules/services/misc/etebase-server.nix b/nixos/modules/services/misc/etebase-server.nix
index 24be9e8e269..1359c265c8f 100644
--- a/nixos/modules/services/misc/etebase-server.nix
+++ b/nixos/modules/services/misc/etebase-server.nix
@@ -135,8 +135,8 @@ in
         default = {};
         description = ''
           Configuration for <package>etebase-server</package>. Refer to
-          <link xlink:href="https://github.com/etesync/server/blob/master/etebase-server.ini.example" />
-          and <link xlink:href="https://github.com/etesync/server/wiki" />
+          <link xlink:href="https://github.com/etesync/server/blob/master/etebase-server.ini.example"/>
+          and <link xlink:href="https://github.com/etesync/server/wiki"/>
           for details on supported values.
         '';
         example = {
diff --git a/nixos/modules/services/misc/fstrim.nix b/nixos/modules/services/misc/fstrim.nix
index a9fc04b46f0..83e7ca359b2 100644
--- a/nixos/modules/services/misc/fstrim.nix
+++ b/nixos/modules/services/misc/fstrim.nix
@@ -16,13 +16,12 @@ in {
       interval = mkOption {
         type = types.str;
         default = "weekly";
-        description = ''
+        description = lib.mdDoc ''
           How often we run fstrim. For most desktop and server systems
           a sufficient trimming frequency is once a week.
 
           The format is described in
-          <citerefentry><refentrytitle>systemd.time</refentrytitle>
-          <manvolnum>7</manvolnum></citerefentry>.
+          {manpage}`systemd.time(7)`.
         '';
       };
     };
diff --git a/nixos/modules/services/misc/geoipupdate.nix b/nixos/modules/services/misc/geoipupdate.nix
index 20bbba0aad9..c2007f25fb3 100644
--- a/nixos/modules/services/misc/geoipupdate.nix
+++ b/nixos/modules/services/misc/geoipupdate.nix
@@ -19,11 +19,10 @@ in
       interval = lib.mkOption {
         type = lib.types.str;
         default = "weekly";
-        description = ''
+        description = lib.mdDoc ''
           Update the GeoIP databases at this time / interval.
           The format is described in
-          <citerefentry><refentrytitle>systemd.time</refentrytitle>
-          <manvolnum>7</manvolnum></citerefentry>.
+          {manpage}`systemd.time(7)`.
         '';
       };
 
@@ -40,7 +39,7 @@ in
         description = ''
           <productname>geoipupdate</productname> configuration
           options. See
-          <link xlink:href="https://github.com/maxmind/geoipupdate/blob/main/doc/GeoIP.conf.md" />
+          <link xlink:href="https://github.com/maxmind/geoipupdate/blob/main/doc/GeoIP.conf.md"/>
           for a full list of available options.
 
           Settings containing secret data should be set to an
@@ -92,8 +91,7 @@ in
 
                 Always handled as a secret whether the value is
                 wrapped in a <literal>{ _secret = ...; }</literal>
-                attrset or not (refer to <xref
-                linkend="opt-services.geoipupdate.settings" /> for
+                attrset or not (refer to <xref linkend="opt-services.geoipupdate.settings"/> for
                 details).
               '';
               apply = x: if isAttrs x then x else { _secret = x; };
diff --git a/nixos/modules/services/misc/gitea.nix b/nixos/modules/services/misc/gitea.nix
index 82345ad7863..048ff321165 100644
--- a/nixos/modules/services/misc/gitea.nix
+++ b/nixos/modules/services/misc/gitea.nix
@@ -10,6 +10,7 @@ let
   useMysql = cfg.database.type == "mysql";
   usePostgresql = cfg.database.type == "postgres";
   useSqlite = cfg.database.type == "sqlite3";
+  format = pkgs.formats.ini { };
   configFile = pkgs.writeText "app.ini" ''
     APP_NAME = ${cfg.appName}
     RUN_USER = ${cfg.user}
@@ -22,6 +23,16 @@ let
 in
 
 {
+  imports = [
+    (mkRenamedOptionModule [ "services" "gitea" "cookieSecure" ] [ "services" "gitea" "settings" "session" "COOKIE_SECURE" ])
+    (mkRenamedOptionModule [ "services" "gitea" "disableRegistration" ] [ "services" "gitea" "settings" "service" "DISABLE_REGISTRATION" ])
+    (mkRenamedOptionModule [ "services" "gitea" "log" "level" ] [ "services" "gitea" "settings" "log" "LEVEL" ])
+    (mkRenamedOptionModule [ "services" "gitea" "log" "rootPath" ] [ "services" "gitea" "settings" "log" "ROOT_PATH" ])
+    (mkRenamedOptionModule [ "services" "gitea" "ssh" "clonePort" ] [ "services" "gitea" "settings" "server" "SSH_PORT" ])
+
+    (mkRemovedOptionModule [ "services" "gitea" "ssh" "enable" ] "services.gitea.ssh.enable has been migrated into freeform setting services.gitea.settings.server.DISABLE_SSH. Keep in mind that the setting is inverted")
+  ];
+
   options = {
     services.gitea = {
       enable = mkOption {
@@ -49,20 +60,6 @@ in
         description = lib.mdDoc "gitea data directory.";
       };
 
-      log = {
-        rootPath = mkOption {
-          default = "${cfg.stateDir}/log";
-          defaultText = literalExpression ''"''${config.${opt.stateDir}}/log"'';
-          type = types.str;
-          description = lib.mdDoc "Root path for log files.";
-        };
-        level = mkOption {
-          default = "Info";
-          type = types.enum [ "Trace" "Debug" "Info" "Warn" "Error" "Critical" ];
-          description = lib.mdDoc "General log level.";
-        };
-      };
-
       user = mkOption {
         type = types.str;
         default = "gitea";
@@ -85,7 +82,7 @@ in
 
         port = mkOption {
           type = types.port;
-          default = (if !usePostgresql then 3306 else pg.port);
+          default = if !usePostgresql then 3306 else pg.port;
           defaultText = literalExpression ''
             if config.${opt.database.type} != "postgresql"
             then 3306
@@ -162,12 +159,11 @@ in
           type = types.str;
           default = "04:31";
           example = "hourly";
-          description = ''
+          description = lib.mdDoc ''
             Run a gitea dump at this interval. Runs by default at 04:31 every day.
 
             The format is described in
-            <citerefentry><refentrytitle>systemd.time</refentrytitle>
-            <manvolnum>7</manvolnum></citerefentry>.
+            {manpage}`systemd.time(7)`.
           '';
         };
 
@@ -192,25 +188,6 @@ in
         };
       };
 
-      ssh = {
-        enable = mkOption {
-          type = types.bool;
-          default = true;
-          description = lib.mdDoc "Enable external SSH feature.";
-        };
-
-        clonePort = mkOption {
-          type = types.int;
-          default = 22;
-          example = 2222;
-          description = lib.mdDoc ''
-            SSH port displayed in clone URL.
-            The option is required to configure a service when the external visible port
-            differs from the local listening port i.e. if port forwarding is used.
-          '';
-        };
-      };
-
       lfs = {
         enable = mkOption {
           type = types.bool;
@@ -269,15 +246,6 @@ in
         description = lib.mdDoc "Configure Gitea to listen on a unix socket instead of the default TCP port.";
       };
 
-      cookieSecure = mkOption {
-        type = types.bool;
-        default = false;
-        description = lib.mdDoc ''
-          Marks session cookies as "secure" as a hint for browsers to only send
-          them via HTTPS. This option is recommend, if gitea is being served over HTTPS.
-        '';
-      };
-
       staticRootPath = mkOption {
         type = types.either types.str types.path;
         default = gitea.data;
@@ -293,20 +261,7 @@ in
         description = lib.mdDoc "Path to a file containing the SMTP password.";
       };
 
-      disableRegistration = mkEnableOption "the registration lock" // {
-        description = ''
-          By default any user can create an account on this <literal>gitea</literal> instance.
-          This can be disabled by using this option.
-
-          <emphasis>Note:</emphasis> please keep in mind that this should be added after the initial
-          deploy unless <link linkend="opt-services.gitea.useWizard">services.gitea.useWizard</link>
-          is <literal>true</literal> as the first registered user will be the administrator if
-          no install wizard is used.
-        '';
-      };
-
       settings = mkOption {
-        type = with types; attrsOf (attrsOf (oneOf [ bool int str ]));
         default = {};
         description = lib.mdDoc ''
           Gitea configuration. Refer to <https://docs.gitea.io/en-us/config-cheat-sheet/>
@@ -330,6 +285,68 @@ in
             };
           }
         '';
+        type = with types; submodule {
+          freeformType = format.type;
+          options = {
+            log = {
+              ROOT_PATH = mkOption {
+                default = "${cfg.stateDir}/log";
+                defaultText = literalExpression ''"''${config.${opt.stateDir}}/log"'';
+                type = types.str;
+                description = "Root path for log files.";
+              };
+              LEVEL = mkOption {
+                default = "Info";
+                type = types.enum [ "Trace" "Debug" "Info" "Warn" "Error" "Critical" ];
+                description = "General log level.";
+              };
+            };
+
+            server = {
+              DISABLE_SSH = mkOption {
+                type = types.bool;
+                default = false;
+                description = "Disable external SSH feature.";
+              };
+
+              SSH_PORT = mkOption {
+                type = types.int;
+                default = 22;
+                example = 2222;
+                description = ''
+                  SSH port displayed in clone URL.
+                  The option is required to configure a service when the external visible port
+                  differs from the local listening port i.e. if port forwarding is used.
+                '';
+              };
+            };
+
+            service = {
+              DISABLE_REGISTRATION = mkEnableOption "the registration lock" // {
+                description = ''
+                  By default any user can create an account on this <literal>gitea</literal> instance.
+                  This can be disabled by using this option.
+
+                  <emphasis>Note:</emphasis> please keep in mind that this should be added after the initial
+                  deploy unless <link linkend="opt-services.gitea.useWizard">services.gitea.useWizard</link>
+                  is <literal>true</literal> as the first registered user will be the administrator if
+                  no install wizard is used.
+                '';
+              };
+            };
+
+            session = {
+              COOKIE_SECURE = mkOption {
+                type = types.bool;
+                default = false;
+                description = ''
+                  Marks session cookies as "secure" as a hint for browsers to only send
+                  them via HTTPS. This option is recommend, if gitea is being served over HTTPS.
+                '';
+              };
+            };
+          };
+        };
       };
 
       extraConfig = mkOption {
@@ -385,13 +402,6 @@ in
           HTTP_ADDR = cfg.httpAddress;
           HTTP_PORT = cfg.httpPort;
         })
-        (mkIf cfg.ssh.enable {
-          DISABLE_SSH = false;
-          SSH_PORT = cfg.ssh.clonePort;
-        })
-        (mkIf (!cfg.ssh.enable) {
-          DISABLE_SSH = true;
-        })
         (mkIf cfg.lfs.enable {
           LFS_START_SERVER = true;
           LFS_CONTENT_PATH = cfg.lfs.contentDir;
@@ -400,8 +410,7 @@ in
       ];
 
       session = {
-        COOKIE_NAME = "session";
-        COOKIE_SECURE = cfg.cookieSecure;
+        COOKIE_NAME = lib.mkDefault "session";
       };
 
       security = {
@@ -410,15 +419,6 @@ in
         INSTALL_LOCK = true;
       };
 
-      log = {
-        ROOT_PATH = cfg.log.rootPath;
-        LEVEL = cfg.log.level;
-      };
-
-      service = {
-        DISABLE_REGISTRATION = cfg.disableRegistration;
-      };
-
       mailer = mkIf (cfg.mailerPasswordFile != null) {
         PASSWD = "#mailerpass#";
       };
@@ -502,7 +502,7 @@ in
         replaceSecretBin = "${pkgs.replace-secret}/bin/replace-secret";
       in ''
         # copy custom configuration and generate a random secret key if needed
-        ${optionalString (cfg.useWizard == false) ''
+        ${optionalString (!cfg.useWizard) ''
           function gitea_setup {
             cp -f ${configFile} ${runConfig}
 
@@ -622,10 +622,10 @@ in
 
     # Create database passwordFile default when password is configured.
     services.gitea.database.passwordFile =
-      (mkDefault (toString (pkgs.writeTextFile {
+      mkDefault (toString (pkgs.writeTextFile {
         name = "gitea-database-password";
         text = cfg.database.password;
-      })));
+      }));
 
     systemd.services.gitea-dump = mkIf cfg.dump.enable {
        description = "gitea dump";
diff --git a/nixos/modules/services/misc/gitit.nix b/nixos/modules/services/misc/gitit.nix
index 87dd97166b8..f00c03337d9 100644
--- a/nixos/modules/services/misc/gitit.nix
+++ b/nixos/modules/services/misc/gitit.nix
@@ -31,14 +31,14 @@ let
       enable = mkOption {
         type = types.bool;
         default = false;
-        description = "Enable the gitit service.";
+        description = lib.mdDoc "Enable the gitit service.";
       };
 
       haskellPackages = mkOption {
         default = pkgs.haskellPackages;
         defaultText = literalExpression "pkgs.haskellPackages";
         example = literalExpression "pkgs.haskell.packages.ghc784";
-        description = "haskellPackages used to build gitit and plugins.";
+        description = lib.mdDoc "haskellPackages used to build gitit and plugins.";
       };
 
       extraPackages = mkOption {
@@ -59,31 +59,31 @@ let
       address = mkOption {
         type = types.str;
         default = "0.0.0.0";
-        description = "IP address on which the web server will listen.";
+        description = lib.mdDoc "IP address on which the web server will listen.";
       };
 
       port = mkOption {
         type = types.int;
         default = 5001;
-        description = "Port on which the web server will run.";
+        description = lib.mdDoc "Port on which the web server will run.";
       };
 
       wikiTitle = mkOption {
         type = types.str;
         default = "Gitit!";
-        description = "The wiki title.";
+        description = lib.mdDoc "The wiki title.";
       };
 
       repositoryType = mkOption {
         type = types.enum ["git" "darcs" "mercurial"];
         default = "git";
-        description = "Specifies the type of repository used for wiki content.";
+        description = lib.mdDoc "Specifies the type of repository used for wiki content.";
       };
 
       repositoryPath = mkOption {
         type = types.path;
         default = homeDir + "/wiki";
-        description = ''
+        description = lib.mdDoc ''
           Specifies the path of the repository directory. If it does not
           exist, gitit will create it on startup.
         '';
@@ -92,7 +92,7 @@ let
       requireAuthentication = mkOption {
         type = types.enum [ "none" "modify" "read" ];
         default = "modify";
-        description = ''
+        description = lib.mdDoc ''
           If 'none', login is never required, and pages can be edited
           anonymously.  If 'modify', login is required to modify the wiki
           (edit, add, delete pages, upload files).  If 'read', login is
@@ -103,7 +103,7 @@ let
       authenticationMethod = mkOption {
         type = types.enum [ "form" "http" "generic" "github" ];
         default = "form";
-        description = ''
+        description = lib.mdDoc ''
           'form' means that users will be logged in and registered using forms
           in the gitit web interface.  'http' means that gitit will assume that
           HTTP authentication is in place and take the logged in username from
@@ -121,7 +121,7 @@ let
       userFile = mkOption {
         type = types.path;
         default = homeDir + "/gitit-users";
-        description = ''
+        description = lib.mdDoc ''
           Specifies the path of the file containing user login information.  If
           it does not exist, gitit will create it (with an empty user list).
           This file is not used if 'http' is selected for
@@ -132,7 +132,7 @@ let
       sessionTimeout = mkOption {
         type = types.int;
         default = 60;
-        description = ''
+        description = lib.mdDoc ''
           Number of minutes of inactivity before a session expires.
         '';
       };
@@ -140,7 +140,7 @@ let
       staticDir = mkOption {
         type = types.path;
         default = gititShared + "/data/static";
-        description = ''
+        description = lib.mdDoc ''
           Specifies the path of the static directory (containing javascript,
           css, and images).  If it does not exist, gitit will create it and
           populate it with required scripts, stylesheets, and images.
@@ -150,7 +150,7 @@ let
       defaultPageType = mkOption {
         type = types.enum [ "markdown" "rst" "latex" "html" "markdown+lhs" "rst+lhs" "latex+lhs" ];
         default = "markdown";
-        description = ''
+        description = lib.mdDoc ''
           Specifies the type of markup used to interpret pages in the wiki.
           Possible values are markdown, rst, latex, html, markdown+lhs,
           rst+lhs, and latex+lhs. (the +lhs variants treat the input as
@@ -166,7 +166,7 @@ let
       math = mkOption {
         type = types.enum [ "mathml" "raw" "mathjax" "jsmath" "google" ];
         default = "mathml";
-        description = ''
+        description = lib.mdDoc ''
           Specifies how LaTeX math is to be displayed.  Possible values are
           mathml, raw, mathjax, jsmath, and google.  If mathml is selected,
           gitit will convert LaTeX math to MathML and link in a script,
@@ -186,7 +186,7 @@ let
       mathJaxScript = mkOption {
         type = types.str;
         default = "https://d3eoax9i5htok0.cloudfront.net/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
-        description = ''
+        description = lib.mdDoc ''
           Specifies the path to MathJax rendering script.  You might want to
           use your own MathJax script to render formulas without Internet
           connection or if you want to use some special LaTeX packages.  Note:
@@ -202,7 +202,7 @@ let
       showLhsBirdTracks = mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           Specifies whether to show Haskell code blocks in "bird style", with
           "> " at the beginning of each line.
         '';
@@ -224,7 +224,7 @@ let
       logFile = mkOption {
         type = types.path;
         default = homeDir + "/gitit.log";
-        description = ''
+        description = lib.mdDoc ''
           Specifies the path of gitit's log file.  If it does not exist, gitit
           will create it. The log is in Apache combined log format.
         '';
@@ -233,7 +233,7 @@ let
       logLevel = mkOption {
         type = types.enum [ "DEBUG" "INFO" "NOTICE" "WARNING" "ERROR" "CRITICAL" "ALERT" "EMERGENCY" ];
         default = "ERROR";
-        description = ''
+        description = lib.mdDoc ''
           Determines how much information is logged.  Possible values (from
           most to least verbose) are DEBUG, INFO, NOTICE, WARNING, ERROR,
           CRITICAL, ALERT, EMERGENCY.
@@ -243,7 +243,7 @@ let
       frontPage = mkOption {
         type = types.str;
         default = "Front Page";
-        description = ''
+        description = lib.mdDoc ''
           Specifies which wiki page is to be used as the wiki's front page.
           Gitit creates a default front page on startup, if one does not exist
           already.
@@ -253,7 +253,7 @@ let
       noDelete = mkOption {
         type = types.str;
         default = "Front Page, Help";
-        description = ''
+        description = lib.mdDoc ''
           Specifies pages that cannot be deleted through the web interface.
           (They can still be deleted directly using git or darcs.) A
           comma-separated list of page names.  Leave blank to allow every page
@@ -264,7 +264,7 @@ let
       noEdit = mkOption {
         type = types.str;
         default = "Help";
-        description = ''
+        description = lib.mdDoc ''
           Specifies pages that cannot be edited through the web interface.
           Leave blank to allow every page to be edited.
         '';
@@ -273,7 +273,7 @@ let
       defaultSummary = mkOption {
         type = types.str;
         default = "";
-        description = ''
+        description = lib.mdDoc ''
           Specifies text to be used in the change description if the author
           leaves the "description" field blank.  If default-summary is blank
           (the default), the author will be required to fill in the description
@@ -284,7 +284,7 @@ let
       tableOfContents = mkOption {
         type = types.bool;
         default = true;
-        description = ''
+        description = lib.mdDoc ''
           Specifies whether to print a tables of contents (with links to
           sections) on each wiki page.
         '';
@@ -293,7 +293,7 @@ let
       plugins = mkOption {
         type = with types; listOf str;
         default = [ (gititShared + "/plugins/Dot.hs") ];
-        description = ''
+        description = lib.mdDoc ''
           Specifies a list of plugins to load. Plugins may be specified either
           by their path or by their module name. If the plugin name starts
           with Gitit.Plugin., gitit will assume that the plugin is an installed
@@ -304,7 +304,7 @@ let
       useCache = mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           Specifies whether to cache rendered pages.  Note that if use-feed is
           selected, feeds will be cached regardless of the value of use-cache.
         '';
@@ -313,13 +313,13 @@ let
       cacheDir = mkOption {
         type = types.path;
         default = homeDir + "/cache";
-        description = "Path where rendered pages will be cached.";
+        description = lib.mdDoc "Path where rendered pages will be cached.";
       };
 
       maxUploadSize = mkOption {
         type = types.str;
         default = "1000K";
-        description = ''
+        description = lib.mdDoc ''
           Specifies an upper limit on the size (in bytes) of files uploaded
           through the wiki's web interface.  To disable uploads, set this to
           0K.  This will result in the uploads link disappearing and the
@@ -330,19 +330,19 @@ let
       maxPageSize = mkOption {
         type = types.str;
         default = "1000K";
-        description = "Specifies an upper limit on the size (in bytes) of pages.";
+        description = lib.mdDoc "Specifies an upper limit on the size (in bytes) of pages.";
       };
 
       debugMode = mkOption {
         type = types.bool;
         default = false;
-        description = "Causes debug information to be logged while gitit is running.";
+        description = lib.mdDoc "Causes debug information to be logged while gitit is running.";
       };
 
       compressResponses = mkOption {
         type = types.bool;
         default = true;
-        description = "Specifies whether HTTP responses should be compressed.";
+        description = lib.mdDoc "Specifies whether HTTP responses should be compressed.";
       };
 
       mimeTypesFile = mkOption {
@@ -363,7 +363,7 @@ video/x-ms-wmx  wmx
       useReCaptcha = mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           If true, causes gitit to use the reCAPTCHA service
           (http://recaptcha.net) to prevent bots from creating accounts.
         '';
@@ -372,7 +372,7 @@ video/x-ms-wmx  wmx
       reCaptchaPrivateKey = mkOption {
         type = with types; nullOr str;
         default = null;
-        description = ''
+        description = lib.mdDoc ''
           Specifies the private key for the reCAPTCHA service.  To get
           these, you need to create an account at http://recaptcha.net.
         '';
@@ -381,7 +381,7 @@ video/x-ms-wmx  wmx
       reCaptchaPublicKey = mkOption {
         type = with types; nullOr str;
         default = null;
-        description = ''
+        description = lib.mdDoc ''
           Specifies the public key for the reCAPTCHA service.  To get
           these, you need to create an account at http://recaptcha.net.
         '';
@@ -390,7 +390,7 @@ video/x-ms-wmx  wmx
       accessQuestion = mkOption {
         type = types.str;
         default = "What is the code given to you by Ms. X?";
-        description = ''
+        description = lib.mdDoc ''
           Specifies a question that users must answer when they attempt to
           create an account
         '';
@@ -399,7 +399,7 @@ video/x-ms-wmx  wmx
       accessQuestionAnswers = mkOption {
         type = types.str;
         default = "RED DOG, red dog";
-        description = ''
+        description = lib.mdDoc ''
           Specifies a question that users must answer when they attempt to
           create an account, along with a comma-separated list of acceptable
           answers.  This can be used to institute a rudimentary password for
@@ -413,7 +413,7 @@ video/x-ms-wmx  wmx
       rpxDomain = mkOption {
         type = with types; nullOr str;
         default = null;
-        description = ''
+        description = lib.mdDoc ''
           Specifies the domain and key of your RPX account.  The domain is just
           the prefix of the complete RPX domain, so if your full domain is
           'https://foo.rpxnow.com/', use 'foo' as the value of rpx-domain.
@@ -423,13 +423,13 @@ video/x-ms-wmx  wmx
       rpxKey = mkOption {
         type = with types; nullOr str;
         default = null;
-        description = "RPX account access key.";
+        description = lib.mdDoc "RPX account access key.";
       };
 
       mailCommand = mkOption {
         type = types.str;
         default = "sendmail %s";
-        description = ''
+        description = lib.mdDoc ''
           Specifies the command to use to send notification emails.  '%s' will
           be replaced by the destination email address.  The body of the
           message will be read from stdin.  If this field is left blank,
@@ -451,7 +451,7 @@ video/x-ms-wmx  wmx
           >
           > Regards
         '';
-        description = ''
+        description = lib.mdDoc ''
           Gives the text of the message that will be sent to the user should
           she want to reset her password, or change other registration info.
           The lines must be indented, and must begin with '>'.  The initial
@@ -471,7 +471,7 @@ video/x-ms-wmx  wmx
       useFeed = mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           Specifies whether an ATOM feed should be enabled (for the site and
           for individual pages).
         '';
@@ -480,7 +480,7 @@ video/x-ms-wmx  wmx
       baseUrl = mkOption {
         type = with types; nullOr str;
         default = null;
-        description = ''
+        description = lib.mdDoc ''
           The base URL of the wiki, to be used in constructing feed IDs and RPX
           token_urls.  Set this if useFeed is false or authentication-method
           is 'rpx'.
@@ -502,19 +502,19 @@ video/x-ms-wmx  wmx
       feedDays = mkOption {
         type = types.int;
         default = 14;
-        description = "Number of days to be included in feeds.";
+        description = lib.mdDoc "Number of days to be included in feeds.";
       };
 
       feedRefreshTime = mkOption {
         type = types.int;
         default = 60;
-        description = "Number of minutes to cache feeds before refreshing.";
+        description = lib.mdDoc "Number of minutes to cache feeds before refreshing.";
       };
 
       pdfExport = mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           If true, PDF will appear in export options. PDF will be created using
           pdflatex, which must be installed and in the path. Note that PDF
           exports create significant additional server load.
@@ -524,7 +524,7 @@ video/x-ms-wmx  wmx
       pandocUserData = mkOption {
         type = with types; nullOr path;
         default = null;
-        description = ''
+        description = lib.mdDoc ''
           If a directory is specified, this will be searched for pandoc
           customizations. These can include a templates/ directory for custom
           templates for various export formats, an S5 directory for custom S5
@@ -537,7 +537,7 @@ video/x-ms-wmx  wmx
       xssSanitize = mkOption {
         type = types.bool;
         default = true;
-        description = ''
+        description = lib.mdDoc ''
           If true, all HTML (including that produced by pandoc) is filtered
           through xss-sanitize.  Set to no only if you trust all of your users.
         '';
@@ -546,37 +546,37 @@ video/x-ms-wmx  wmx
       oauthClientId = mkOption {
         type = with types; nullOr str;
         default = null;
-        description = "OAuth client ID";
+        description = lib.mdDoc "OAuth client ID";
       };
 
       oauthClientSecret = mkOption {
         type = with types; nullOr str;
         default = null;
-        description = "OAuth client secret";
+        description = lib.mdDoc "OAuth client secret";
       };
 
       oauthCallback = mkOption {
         type = with types; nullOr str;
         default = null;
-        description = "OAuth callback URL";
+        description = lib.mdDoc "OAuth callback URL";
       };
 
       oauthAuthorizeEndpoint = mkOption {
         type = with types; nullOr str;
         default = null;
-        description = "OAuth authorize endpoint";
+        description = lib.mdDoc "OAuth authorize endpoint";
       };
 
       oauthAccessTokenEndpoint = mkOption {
         type = with types; nullOr str;
         default = null;
-        description = "OAuth access token endpoint";
+        description = lib.mdDoc "OAuth access token endpoint";
       };
 
       githubOrg = mkOption {
         type = with types; nullOr str;
         default = null;
-        description = "Github organization";
+        description = lib.mdDoc "Github organization";
       };
   };
 
@@ -689,14 +689,14 @@ in
           ''
           if [ ! -d _darcs ]
           then
-            ${pkgs.darcs}/bin/darcs initialize
+            darcs initialize
             echo "${gm}" > _darcs/prefs/email
           ''
           else if repositoryType == "mercurial" then
           ''
           if [ ! -d .hg ]
           then
-            ${pkgs.mercurial}/bin/hg init
+            hg init
             cat >> .hg/hgrc <<NAMED
 [ui]
 username = gitit ${gm}
@@ -706,9 +706,9 @@ NAMED
           ''
           if [ ! -d  .git ]
           then
-            ${pkgs.git}/bin/git init
-            ${pkgs.git}/bin/git config user.email "${gm}"
-            ${pkgs.git}/bin/git config user.name "gitit"
+            git init
+            git config user.email "${gm}"
+            git config user.name "gitit"
           ''}
           chown ${uid}:${gid} -R ${repositoryPath}
           fi
diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix
index 938b1d4ed10..0bf2bca4a0b 100644
--- a/nixos/modules/services/misc/gitlab.nix
+++ b/nixos/modules/services/misc/gitlab.nix
@@ -319,11 +319,10 @@ in {
         type = with types; either str (listOf str);
         default = [];
         example = "03:00";
-        description = ''
+        description = lib.mdDoc ''
           The time(s) to run automatic backup of GitLab
           state. Specified in systemd's time format; see
-          <citerefentry><refentrytitle>systemd.time</refentrytitle>
-          <manvolnum>7</manvolnum></citerefentry>.
+          {manpage}`systemd.time(7)`.
         '';
       };
 
diff --git a/nixos/modules/services/misc/klipper.nix b/nixos/modules/services/misc/klipper.nix
index 52913369bbc..34e9acc7192 100644
--- a/nixos/modules/services/misc/klipper.nix
+++ b/nixos/modules/services/misc/klipper.nix
@@ -71,7 +71,7 @@ in
       };
 
       firmwares = mkOption {
-        description = "Firmwares klipper should manage";
+        description = lib.mdDoc "Firmwares klipper should manage";
         default = { };
         type = with types; attrsOf
           (submodule {
@@ -129,6 +129,11 @@ in
           RuntimeDirectory = "klipper";
           SupplementaryGroups = [ "dialout" ];
           WorkingDirectory = "${cfg.package}/lib";
+          OOMScoreAdjust = "-999";
+          CPUSchedulingPolicy = "rr";
+          CPUSchedulingPriority = 99;
+          IOSchedulingClass = "realtime";
+          IOSchedulingPriority = 0;
         } // (if cfg.user != null then {
           Group = cfg.group;
           User = cfg.user;
diff --git a/nixos/modules/services/misc/nitter.nix b/nixos/modules/services/misc/nitter.nix
index cb6ba7b739d..e6cf69d2356 100644
--- a/nixos/modules/services/misc/nitter.nix
+++ b/nixos/modules/services/misc/nitter.nix
@@ -347,8 +347,9 @@ in
         };
     };
 
-    services.redis = lib.mkIf (cfg.redisCreateLocally) {
+    services.redis.servers.nitter = lib.mkIf (cfg.redisCreateLocally) {
       enable = true;
+      port = cfg.cache.redisPort;
     };
 
     networking.firewall = mkIf cfg.openFirewall {
diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix
index c76aaaa559b..d299c4a0a8f 100644
--- a/nixos/modules/services/misc/nix-daemon.nix
+++ b/nixos/modules/services/misc/nix-daemon.nix
@@ -155,30 +155,29 @@ in
         type = types.enum [ "other" "batch" "idle" ];
         default = "other";
         example = "batch";
-        description = ''
+        description = lib.mdDoc ''
           Nix daemon process CPU scheduling policy. This policy propagates to
-          build processes. <literal>other</literal> is the default scheduling
-          policy for regular tasks. The <literal>batch</literal> policy is
-          similar to <literal>other</literal>, but optimised for
-          non-interactive tasks. <literal>idle</literal> is for extremely
+          build processes. `other` is the default scheduling
+          policy for regular tasks. The `batch` policy is
+          similar to `other`, but optimised for
+          non-interactive tasks. `idle` is for extremely
           low-priority tasks that should only be run when no other task
           requires CPU time.
 
-          Please note that while using the <literal>idle</literal> policy may
+          Please note that while using the `idle` policy may
           greatly improve responsiveness of a system performing expensive
           builds, it may also slow down and potentially starve crucial
           configuration updates during load.
 
-          <literal>idle</literal> may therefore be a sensible policy for
+          `idle` may therefore be a sensible policy for
           systems that experience only intermittent phases of high CPU load,
           such as desktop or portable computers used interactively. Other
-          systems should use the <literal>other</literal> or
-          <literal>batch</literal> policy instead.
+          systems should use the `other` or
+          `batch` policy instead.
 
           For more fine-grained resource control, please refer to
-          <citerefentry><refentrytitle>systemd.resource-control
-          </refentrytitle><manvolnum>5</manvolnum></citerefentry> and adjust
-          <option>systemd.services.nix-daemon</option> directly.
+          {manpage}`systemd.resource-control(5)` and adjust
+          {option}`systemd.services.nix-daemon` directly.
       '';
       };
 
@@ -631,17 +630,12 @@ in
         description = ''
           Configuration for Nix, see
           <link xlink:href="https://nixos.org/manual/nix/stable/#sec-conf-file"/> or
-          <citerefentry>
-            <refentrytitle>nix.conf</refentrytitle>
-            <manvolnum>5</manvolnum>
-          </citerefentry> for avalaible options.
+          <citerefentry><refentrytitle>nix.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry> for avalaible options.
           The value declared here will be translated directly to the key-value pairs Nix expects.
-          </para>
-          <para>
+
           You can use <command>nix-instantiate --eval --strict '&lt;nixpkgs/nixos&gt;' -A config.nix.settings</command>
           to view the current value. By default it is empty.
-          </para>
-          <para>
+
           Nix configurations defined under <option>nix.*</option> will be translated and applied to this
           option. In addition, configuration specified in <option>nix.extraOptions</option> which will be appended
           verbatim to the resulting config file.
diff --git a/nixos/modules/services/misc/nix-gc.nix b/nixos/modules/services/misc/nix-gc.nix
index ac554dcea8d..97596d28cd8 100644
--- a/nixos/modules/services/misc/nix-gc.nix
+++ b/nixos/modules/services/misc/nix-gc.nix
@@ -24,13 +24,12 @@ in
         type = types.str;
         default = "03:15";
         example = "weekly";
-        description = ''
+        description = lib.mdDoc ''
           How often or when garbage collection is performed. For most desktop and server systems
           a sufficient garbage collection is once a week.
 
           The format is described in
-          <citerefentry><refentrytitle>systemd.time</refentrytitle>
-          <manvolnum>7</manvolnum></citerefentry>.
+          {manpage}`systemd.time(7)`.
         '';
       };
 
@@ -38,12 +37,11 @@ in
         default = "0";
         type = types.str;
         example = "45min";
-        description = ''
+        description = lib.mdDoc ''
           Add a randomized delay before each garbage collection.
           The delay will be chosen between zero and this value.
           This value must be a time span in the format specified by
-          <citerefentry><refentrytitle>systemd.time</refentrytitle>
-          <manvolnum>7</manvolnum></citerefentry>
+          {manpage}`systemd.time(7)`
         '';
       };
 
diff --git a/nixos/modules/services/misc/nix-optimise.nix b/nixos/modules/services/misc/nix-optimise.nix
index bcfc69c521d..db8148c060e 100644
--- a/nixos/modules/services/misc/nix-optimise.nix
+++ b/nixos/modules/services/misc/nix-optimise.nix
@@ -23,10 +23,9 @@ in
       dates = mkOption {
         default = ["03:45"];
         type = types.listOf types.str;
-        description = ''
+        description = lib.mdDoc ''
           Specification (in the format described by
-          <citerefentry><refentrytitle>systemd.time</refentrytitle>
-          <manvolnum>7</manvolnum></citerefentry>) of the time at
+          {manpage}`systemd.time(7)`) of the time at
           which the optimiser will run.
         '';
       };
diff --git a/nixos/modules/services/misc/persistent-evdev.nix b/nixos/modules/services/misc/persistent-evdev.nix
index 401d20010b1..fd6e298ef65 100644
--- a/nixos/modules/services/misc/persistent-evdev.nix
+++ b/nixos/modules/services/misc/persistent-evdev.nix
@@ -22,8 +22,8 @@ in
         Physical devices should already exist in <filename class="devicefile">/dev/input/by-id/</filename>.
         Proxy devices will be automatically given a <literal>uinput-</literal> prefix.
 
-        See the <link xlink:href="https://github.com/aiberia/persistent-evdev#example-usage-with-libvirt">
-        project page</link> for example configuration of virtual devices with libvirt
+        See the <link xlink:href="https://github.com/aiberia/persistent-evdev#example-usage-with-libvirt">project page</link>
+        for example configuration of virtual devices with libvirt
         and remember to add <literal>uinput-*</literal> devices to the qemu
         <literal>cgroup_device_acl</literal> list (see <xref linkend="opt-virtualisation.libvirtd.qemu.verbatimConfig"/>).
       '';
diff --git a/nixos/modules/services/misc/snapper.nix b/nixos/modules/services/misc/snapper.nix
index 7d7e3db3ce0..cfdfa2830ce 100644
--- a/nixos/modules/services/misc/snapper.nix
+++ b/nixos/modules/services/misc/snapper.nix
@@ -20,24 +20,22 @@ in
     snapshotInterval = mkOption {
       type = types.str;
       default = "hourly";
-      description = ''
+      description = lib.mdDoc ''
         Snapshot interval.
 
         The format is described in
-        <citerefentry><refentrytitle>systemd.time</refentrytitle>
-        <manvolnum>7</manvolnum></citerefentry>.
+        {manpage}`systemd.time(7)`.
       '';
     };
 
     cleanupInterval = mkOption {
       type = types.str;
       default = "1d";
-      description = ''
+      description = lib.mdDoc ''
         Cleanup interval.
 
         The format is described in
-        <citerefentry><refentrytitle>systemd.time</refentrytitle>
-        <manvolnum>7</manvolnum></citerefentry>.
+        {manpage}`systemd.time(7)`.
       '';
     };
 
diff --git a/nixos/modules/services/misc/sourcehut/default.nix b/nixos/modules/services/misc/sourcehut/default.nix
index 3ff2837900e..113c53f7395 100644
--- a/nixos/modules/services/misc/sourcehut/default.nix
+++ b/nixos/modules/services/misc/sourcehut/default.nix
@@ -47,33 +47,33 @@ let
     })));
   commonServiceSettings = srv: {
     origin = mkOption {
-      description = "URL ${srv}.sr.ht is being served at (protocol://domain)";
+      description = lib.mdDoc "URL ${srv}.sr.ht is being served at (protocol://domain)";
       type = types.str;
       default = "https://${srv}.${domain}";
       defaultText = "https://${srv}.example.com";
     };
     debug-host = mkOption {
-      description = "Address to bind the debug server to.";
+      description = lib.mdDoc "Address to bind the debug server to.";
       type = with types; nullOr str;
       default = null;
     };
     debug-port = mkOption {
-      description = "Port to bind the debug server to.";
+      description = lib.mdDoc "Port to bind the debug server to.";
       type = with types; nullOr str;
       default = null;
     };
     connection-string = mkOption {
-      description = "SQLAlchemy connection string for the database.";
+      description = lib.mdDoc "SQLAlchemy connection string for the database.";
       type = types.str;
       default = "postgresql:///localhost?user=${srv}srht&host=/run/postgresql";
     };
     migrate-on-upgrade = mkEnableOption "automatic migrations on package upgrade" // { default = true; };
     oauth-client-id = mkOption {
-      description = "${srv}.sr.ht's OAuth client id for meta.sr.ht.";
+      description = lib.mdDoc "${srv}.sr.ht's OAuth client id for meta.sr.ht.";
       type = types.str;
     };
     oauth-client-secret = mkOption {
-      description = "${srv}.sr.ht's OAuth client secret for meta.sr.ht.";
+      description = lib.mdDoc "${srv}.sr.ht's OAuth client secret for meta.sr.ht.";
       type = types.path;
       apply = s: "<" + toString s;
     };
@@ -117,7 +117,7 @@ in
       type = with types; listOf (enum
         [ "builds" "dispatch" "git" "hg" "hub" "lists" "man" "meta" "pages" "paste" "todo" ]);
       defaultText = "locally enabled services";
-      description = ''
+      description = lib.mdDoc ''
         Services that may be displayed as links in the title bar of the Web interface.
       '';
     };
@@ -125,7 +125,7 @@ in
     listenAddress = mkOption {
       type = types.str;
       default = "localhost";
-      description = "Address to bind to.";
+      description = lib.mdDoc "Address to bind to.";
     };
 
     python = mkOption {
@@ -147,7 +147,7 @@ in
       virtualHost = mkOption {
         type = types.attrs;
         default = {};
-        description = "Virtual-host configuration merged with all Sourcehut's virtual-hosts.";
+        description = lib.mdDoc "Virtual-host configuration merged with all Sourcehut's virtual-hosts.";
       };
     };
 
@@ -168,48 +168,48 @@ in
         freeformType = settingsFormat.type;
         options."sr.ht" = {
           global-domain = mkOption {
-            description = "Global domain name.";
+            description = lib.mdDoc "Global domain name.";
             type = types.str;
             example = "example.com";
           };
           environment = mkOption {
-            description = "Values other than \"production\" adds a banner to each page.";
+            description = lib.mdDoc "Values other than \"production\" adds a banner to each page.";
             type = types.enum [ "development" "production" ];
             default = "development";
           };
           network-key = mkOption {
-            description = ''
+            description = lib.mdDoc ''
               An absolute file path (which should be outside the Nix-store)
-              to a secret key to encrypt internal messages with. Use <code>srht-keygen network</code> to
+              to a secret key to encrypt internal messages with. Use `srht-keygen network` to
               generate this key. It must be consistent between all services and nodes.
             '';
             type = types.path;
             apply = s: "<" + toString s;
           };
           owner-email = mkOption {
-            description = "Owner's email.";
+            description = lib.mdDoc "Owner's email.";
             type = types.str;
             default = "contact@example.com";
           };
           owner-name = mkOption {
-            description = "Owner's name.";
+            description = lib.mdDoc "Owner's name.";
             type = types.str;
             default = "John Doe";
           };
           site-blurb = mkOption {
-            description = "Blurb for your site.";
+            description = lib.mdDoc "Blurb for your site.";
             type = types.str;
             default = "the hacker's forge";
           };
           site-info = mkOption {
-            description = "The top-level info page for your site.";
+            description = lib.mdDoc "The top-level info page for your site.";
             type = types.str;
             default = "https://sourcehut.org";
           };
           service-key = mkOption {
-            description = ''
+            description = lib.mdDoc ''
               An absolute file path (which should be outside the Nix-store)
-              to a key used for encrypting session cookies. Use <code>srht-keygen service</code> to
+              to a key used for encrypting session cookies. Use `srht-keygen service` to
               generate the service key. This must be shared between each node of the same
               service (e.g. git1.sr.ht and git2.sr.ht), but different services may use
               different keys. If you configure all of your services with the same
@@ -219,12 +219,12 @@ in
             apply = s: "<" + toString s;
           };
           site-name = mkOption {
-            description = "The name of your network of sr.ht-based sites.";
+            description = lib.mdDoc "The name of your network of sr.ht-based sites.";
             type = types.str;
             default = "sourcehut";
           };
           source-url = mkOption {
-            description = "The source code for your fork of sr.ht.";
+            description = lib.mdDoc "The source code for your fork of sr.ht.";
             type = types.str;
             default = "https://git.sr.ht/~sircmpwn/srht";
           };
@@ -232,7 +232,7 @@ in
         options.mail = {
           smtp-host = mkOptionNullOrStr "Outgoing SMTP host.";
           smtp-port = mkOption {
-            description = "Outgoing SMTP port.";
+            description = lib.mdDoc "Outgoing SMTP port.";
             type = with types; nullOr port;
             default = null;
           };
@@ -240,44 +240,44 @@ in
           smtp-password = mkOptionNullOrStr "Outgoing SMTP password.";
           smtp-from = mkOption {
             type = types.str;
-            description = "Outgoing SMTP FROM.";
+            description = lib.mdDoc "Outgoing SMTP FROM.";
           };
           error-to = mkOptionNullOrStr "Address receiving application exceptions";
           error-from = mkOptionNullOrStr "Address sending application exceptions";
           pgp-privkey = mkOption {
             type = types.str;
-            description = ''
+            description = lib.mdDoc ''
               An absolute file path (which should be outside the Nix-store)
               to an OpenPGP private key.
 
               Your PGP key information (DO NOT mix up pub and priv here)
               You must remove the password from your secret key, if present.
-              You can do this with <code>gpg --edit-key [key-id]</code>,
-              then use the <code>passwd</code> command and do not enter a new password.
+              You can do this with `gpg --edit-key [key-id]`,
+              then use the `passwd` command and do not enter a new password.
             '';
           };
           pgp-pubkey = mkOption {
             type = with types; either path str;
-            description = "OpenPGP public key.";
+            description = lib.mdDoc "OpenPGP public key.";
           };
           pgp-key-id = mkOption {
             type = types.str;
-            description = "OpenPGP key identifier.";
+            description = lib.mdDoc "OpenPGP key identifier.";
           };
         };
         options.objects = {
           s3-upstream = mkOption {
-            description = "Configure the S3-compatible object storage service.";
+            description = lib.mdDoc "Configure the S3-compatible object storage service.";
             type = with types; nullOr str;
             default = null;
           };
           s3-access-key = mkOption {
-            description = "Access key to the S3-compatible object storage service";
+            description = lib.mdDoc "Access key to the S3-compatible object storage service";
             type = with types; nullOr str;
             default = null;
           };
           s3-secret-key = mkOption {
-            description = ''
+            description = lib.mdDoc ''
               An absolute file path (which should be outside the Nix-store)
               to the secret key of the S3-compatible object storage service.
             '';
@@ -288,13 +288,13 @@ in
         };
         options.webhooks = {
           private-key = mkOption {
-            description = ''
+            description = lib.mdDoc ''
               An absolute file path (which should be outside the Nix-store)
               to a base64-encoded Ed25519 key for signing webhook payloads.
               This should be consistent for all *.sr.ht sites,
               as this key will be used to verify signatures
               from other sites in your network.
-              Use the <code>srht-keygen webhook</code> command to generate a key.
+              Use the `srht-keygen webhook` command to generate a key.
             '';
             type = types.path;
             apply = s: "<" + toString s;
@@ -311,17 +311,17 @@ in
           enabled = mkEnableOption "GitLab integration";
           canonical-upstream = mkOption {
             type = types.str;
-            description = "Canonical upstream.";
+            description = lib.mdDoc "Canonical upstream.";
             default = "gitlab.com";
           };
           repo-cache = mkOption {
             type = types.str;
-            description = "Repository cache directory.";
+            description = lib.mdDoc "Repository cache directory.";
             default = "./repo-cache";
           };
           "gitlab.com" = mkOption {
             type = with types; nullOr str;
-            description = "GitLab id and secret.";
+            description = lib.mdDoc "GitLab id and secret.";
             default = null;
             example = "GitLab:application id:secret";
           };
@@ -330,17 +330,17 @@ in
         options."builds.sr.ht" = commonServiceSettings "builds" // {
           allow-free = mkEnableOption "nonpaying users to submit builds";
           redis = mkOption {
-            description = "The Redis connection used for the Celery worker.";
+            description = lib.mdDoc "The Redis connection used for the Celery worker.";
             type = types.str;
             default = "redis+socket:///run/redis-sourcehut-buildsrht/redis.sock?virtual_host=2";
           };
           shell = mkOption {
-            description = ''
+            description = lib.mdDoc ''
               Scripts used to launch on SSH connection.
-              <literal>/usr/bin/master-shell</literal> on master,
-              <literal>/usr/bin/runner-shell</literal> on runner.
+              `/usr/bin/master-shell` on master,
+              `/usr/bin/runner-shell` on runner.
               If master and worker are on the same system
-              set to <literal>/usr/bin/runner-shell</literal>.
+              set to `/usr/bin/runner-shell`.
             '';
             type = types.enum ["/usr/bin/master-shell" "/usr/bin/runner-shell"];
             default = "/usr/bin/master-shell";
@@ -348,19 +348,19 @@ in
         };
         options."builds.sr.ht::worker" = {
           bind-address = mkOption {
-            description = ''
+            description = lib.mdDoc ''
               HTTP bind address for serving local build information/monitoring.
             '';
             type = types.str;
             default = "localhost:8080";
           };
           buildlogs = mkOption {
-            description = "Path to write build logs.";
+            description = lib.mdDoc "Path to write build logs.";
             type = types.str;
             default = "/var/log/sourcehut/buildsrht-worker";
           };
           name = mkOption {
-            description = ''
+            description = lib.mdDoc ''
               Listening address and listening port
               of the build runner (with HTTP port if not 80).
             '';
@@ -368,9 +368,9 @@ in
             default = "localhost:5020";
           };
           timeout = mkOption {
-            description = ''
+            description = lib.mdDoc ''
               Max build duration.
-              See <link xlink:href="https://golang.org/pkg/time/#ParseDuration"/>.
+              See <https://golang.org/pkg/time/#ParseDuration>.
             '';
             type = types.str;
             default = "3m";
@@ -379,12 +379,12 @@ in
 
         options."git.sr.ht" = commonServiceSettings "git" // {
           outgoing-domain = mkOption {
-            description = "Outgoing domain.";
+            description = lib.mdDoc "Outgoing domain.";
             type = types.str;
             default = "https://git.localhost.localdomain";
           };
           post-update-script = mkOption {
-            description = ''
+            description = lib.mdDoc ''
               A post-update script which is installed in every git repo.
               This setting is propagated to newer and existing repositories.
             '';
@@ -393,7 +393,7 @@ in
             defaultText = "\${pkgs.sourcehut.gitsrht}/bin/gitsrht-update-hook";
           };
           repos = mkOption {
-            description = ''
+            description = lib.mdDoc ''
               Path to git repositories on disk.
               If changing the default, you must ensure that
               the gitsrht's user as read and write access to it.
@@ -402,18 +402,18 @@ in
             default = "/var/lib/sourcehut/gitsrht/repos";
           };
           webhooks = mkOption {
-            description = "The Redis connection used for the webhooks worker.";
+            description = lib.mdDoc "The Redis connection used for the webhooks worker.";
             type = types.str;
             default = "redis+socket:///run/redis-sourcehut-gitsrht/redis.sock?virtual_host=1";
           };
         };
         options."git.sr.ht::api" = {
           internal-ipnet = mkOption {
-            description = ''
+            description = lib.mdDoc ''
               Set of IP subnets which are permitted to utilize internal API
               authentication. This should be limited to the subnets
               from which your *.sr.ht services are running.
-              See <xref linkend="opt-services.sourcehut.listenAddress"/>.
+              See [](#opt-services.sourcehut.listenAddress).
             '';
             type = with types; listOf str;
             default = [ "127.0.0.0/8" "::1/128" ];
@@ -422,7 +422,7 @@ in
 
         options."hg.sr.ht" = commonServiceSettings "hg" // {
           changegroup-script = mkOption {
-            description = ''
+            description = lib.mdDoc ''
               A changegroup script which is installed in every mercurial repo.
               This setting is propagated to newer and existing repositories.
             '';
@@ -431,7 +431,7 @@ in
             defaultText = "\${cfg.python}/bin/hgsrht-hook-changegroup";
           };
           repos = mkOption {
-            description = ''
+            description = lib.mdDoc ''
               Path to mercurial repositories on disk.
               If changing the default, you must ensure that
               the hgsrht's user as read and write access to it.
@@ -444,18 +444,18 @@ in
             (defaults to where the hgsrht code is)
           '';
           clone_bundle_threshold = mkOption {
-            description = ".hg/store size (in MB) past which the nightly job generates clone bundles.";
+            description = lib.mdDoc ".hg/store size (in MB) past which the nightly job generates clone bundles.";
             type = types.ints.unsigned;
             default = 50;
           };
           hg_ssh = mkOption {
-            description = "Path to hg-ssh (if not in $PATH).";
+            description = lib.mdDoc "Path to hg-ssh (if not in $PATH).";
             type = types.str;
             default = "${pkgs.mercurial}/bin/hg-ssh";
             defaultText = "\${pkgs.mercurial}/bin/hg-ssh";
           };
           webhooks = mkOption {
-            description = "The Redis connection used for the webhooks worker.";
+            description = lib.mdDoc "The Redis connection used for the webhooks worker.";
             type = types.str;
             default = "redis+socket:///run/redis-sourcehut-hgsrht/redis.sock?virtual_host=1";
           };
@@ -467,29 +467,29 @@ in
         options."lists.sr.ht" = commonServiceSettings "lists" // {
           allow-new-lists = mkEnableOption "Allow creation of new lists.";
           notify-from = mkOption {
-            description = "Outgoing email for notifications generated by users.";
+            description = lib.mdDoc "Outgoing email for notifications generated by users.";
             type = types.str;
             default = "lists-notify@localhost.localdomain";
           };
           posting-domain = mkOption {
-            description = "Posting domain.";
+            description = lib.mdDoc "Posting domain.";
             type = types.str;
             default = "lists.localhost.localdomain";
           };
           redis = mkOption {
-            description = "The Redis connection used for the Celery worker.";
+            description = lib.mdDoc "The Redis connection used for the Celery worker.";
             type = types.str;
             default = "redis+socket:///run/redis-sourcehut-listssrht/redis.sock?virtual_host=2";
           };
           webhooks = mkOption {
-            description = "The Redis connection used for the webhooks worker.";
+            description = lib.mdDoc "The Redis connection used for the webhooks worker.";
             type = types.str;
             default = "redis+socket:///run/redis-sourcehut-listssrht/redis.sock?virtual_host=1";
           };
         };
         options."lists.sr.ht::worker" = {
           reject-mimetypes = mkOption {
-            description = ''
+            description = lib.mdDoc ''
               Comma-delimited list of Content-Types to reject. Messages with Content-Types
               included in this list are rejected. Multipart messages are always supported,
               and each part is checked against this list.
@@ -500,12 +500,12 @@ in
             default = ["text/html"];
           };
           reject-url = mkOption {
-            description = "Reject URL.";
+            description = lib.mdDoc "Reject URL.";
             type = types.str;
             default = "https://man.sr.ht/lists.sr.ht/etiquette.md";
           };
           sock = mkOption {
-            description = ''
+            description = lib.mdDoc ''
               Path for the lmtp daemon's unix socket. Direct incoming mail to this socket.
               Alternatively, specify IP:PORT and an SMTP server will be run instead.
             '';
@@ -513,7 +513,7 @@ in
             default = "/tmp/lists.sr.ht-lmtp.sock";
           };
           sock-group = mkOption {
-            description = ''
+            description = lib.mdDoc ''
               The lmtp daemon will make the unix socket group-read/write
               for users in this group.
             '';
@@ -529,13 +529,13 @@ in
           removeAttrs (commonServiceSettings "meta")
             ["oauth-client-id" "oauth-client-secret"] // {
           api-origin = mkOption {
-            description = "Origin URL for API, 100 more than web.";
+            description = lib.mdDoc "Origin URL for API, 100 more than web.";
             type = types.str;
             default = "http://${cfg.listenAddress}:${toString (cfg.meta.port + 100)}";
             defaultText = ''http://<xref linkend="opt-services.sourcehut.listenAddress"/>:''${toString (<xref linkend="opt-services.sourcehut.meta.port"/> + 100)}'';
           };
           webhooks = mkOption {
-            description = "The Redis connection used for the webhooks worker.";
+            description = lib.mdDoc "The Redis connection used for the webhooks worker.";
             type = types.str;
             default = "redis+socket:///run/redis-sourcehut-metasrht/redis.sock?virtual_host=1";
           };
@@ -543,18 +543,18 @@ in
         };
         options."meta.sr.ht::api" = {
           internal-ipnet = mkOption {
-            description = ''
+            description = lib.mdDoc ''
               Set of IP subnets which are permitted to utilize internal API
               authentication. This should be limited to the subnets
               from which your *.sr.ht services are running.
-              See <xref linkend="opt-services.sourcehut.listenAddress"/>.
+              See [](#opt-services.sourcehut.listenAddress).
             '';
             type = with types; listOf str;
             default = [ "127.0.0.0/8" "::1/128" ];
           };
         };
         options."meta.sr.ht::aliases" = mkOption {
-          description = "Aliases for the client IDs of commonly used OAuth clients.";
+          description = lib.mdDoc "Aliases for the client IDs of commonly used OAuth clients.";
           type = with types; attrsOf int;
           default = {};
           example = { "git.sr.ht" = 12345; };
@@ -572,12 +572,12 @@ in
         options."meta.sr.ht::settings" = {
           registration = mkEnableOption "public registration";
           onboarding-redirect = mkOption {
-            description = "Where to redirect new users upon registration.";
+            description = lib.mdDoc "Where to redirect new users upon registration.";
             type = types.str;
             default = "https://meta.localhost.localdomain";
           };
           user-invites = mkOption {
-            description = ''
+            description = lib.mdDoc ''
               How many invites each user is issued upon registration
               (only applicable if open registration is disabled).
             '';
@@ -588,7 +588,7 @@ in
 
         options."pages.sr.ht" = commonServiceSettings "pages" // {
           gemini-certs = mkOption {
-            description = ''
+            description = lib.mdDoc ''
               An absolute file path (which should be outside the Nix-store)
               to Gemini certificates.
             '';
@@ -596,7 +596,7 @@ in
             default = null;
           };
           max-site-size = mkOption {
-            description = "Maximum size of any given site (post-gunzip), in MiB.";
+            description = lib.mdDoc "Maximum size of any given site (post-gunzip), in MiB.";
             type = types.int;
             default = 1024;
           };
@@ -611,11 +611,11 @@ in
         };
         options."pages.sr.ht::api" = {
           internal-ipnet = mkOption {
-            description = ''
+            description = lib.mdDoc ''
               Set of IP subnets which are permitted to utilize internal API
               authentication. This should be limited to the subnets
               from which your *.sr.ht services are running.
-              See <xref linkend="opt-services.sourcehut.listenAddress"/>.
+              See [](#opt-services.sourcehut.listenAddress).
             '';
             type = with types; listOf str;
             default = [ "127.0.0.0/8" "::1/128" ];
@@ -627,24 +627,24 @@ in
 
         options."todo.sr.ht" = commonServiceSettings "todo" // {
           notify-from = mkOption {
-            description = "Outgoing email for notifications generated by users.";
+            description = lib.mdDoc "Outgoing email for notifications generated by users.";
             type = types.str;
             default = "todo-notify@localhost.localdomain";
           };
           webhooks = mkOption {
-            description = "The Redis connection used for the webhooks worker.";
+            description = lib.mdDoc "The Redis connection used for the webhooks worker.";
             type = types.str;
             default = "redis+socket:///run/redis-sourcehut-todosrht/redis.sock?virtual_host=1";
           };
         };
         options."todo.sr.ht::mail" = {
           posting-domain = mkOption {
-            description = "Posting domain.";
+            description = lib.mdDoc "Posting domain.";
             type = types.str;
             default = "todo.localhost.localdomain";
           };
           sock = mkOption {
-            description = ''
+            description = lib.mdDoc ''
               Path for the lmtp daemon's unix socket. Direct incoming mail to this socket.
               Alternatively, specify IP:PORT and an SMTP server will be run instead.
             '';
@@ -652,7 +652,7 @@ in
             default = "/tmp/todo.sr.ht-lmtp.sock";
           };
           sock-group = mkOption {
-            description = ''
+            description = lib.mdDoc ''
               The lmtp daemon will make the unix socket group-read/write
               for users in this group.
             '';
@@ -662,7 +662,7 @@ in
         };
       };
       default = { };
-      description = ''
+      description = lib.mdDoc ''
         The configuration for the sourcehut network.
       '';
     };
@@ -698,7 +698,7 @@ in
             nixos.unstable.x86_64 = image_from_nixpkgs;
           }
         )'';
-        description = ''
+        description = lib.mdDoc ''
           Images for builds.sr.ht. Each package should be distro.release.arch and point to a /nix/store/package/root.img.qcow2.
         '';
       };
@@ -710,12 +710,12 @@ in
         default = pkgs.git;
         defaultText = literalExpression "pkgs.git";
         example = literalExpression "pkgs.gitFull";
-        description = ''
+        description = lib.mdDoc ''
           Git package for git.sr.ht. This can help silence collisions.
         '';
       };
       fcgiwrap.preforkProcess = mkOption {
-        description = "Number of fcgiwrap processes to prefork.";
+        description = lib.mdDoc "Number of fcgiwrap processes to prefork.";
         type = types.int;
         default = 4;
       };
@@ -726,14 +726,14 @@ in
         type = types.package;
         default = pkgs.mercurial;
         defaultText = literalExpression "pkgs.mercurial";
-        description = ''
+        description = lib.mdDoc ''
           Mercurial package for hg.sr.ht. This can help silence collisions.
         '';
       };
       cloneBundles = mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           Generate clonebundles (which require more disk space but dramatically speed up cloning large repositories).
         '';
       };
@@ -744,12 +744,12 @@ in
         extraArgs = mkOption {
           type = with types; listOf str;
           default = [ "--loglevel DEBUG" "--pool eventlet" "--without-heartbeat" ];
-          description = "Extra arguments passed to the Celery responsible for processing mails.";
+          description = lib.mdDoc "Extra arguments passed to the Celery responsible for processing mails.";
         };
         celeryConfig = mkOption {
           type = types.lines;
           default = "";
-          description = "Content of the <literal>celeryconfig.py</literal> used by the Celery of <literal>listssrht-process</literal>.";
+          description = lib.mdDoc "Content of the `celeryconfig.py` used by the Celery of `listssrht-process`.";
         };
       };
     };
diff --git a/nixos/modules/services/misc/sourcehut/service.nix b/nixos/modules/services/misc/sourcehut/service.nix
index 4ecc7a72669..243a9cef590 100644
--- a/nixos/modules/services/misc/sourcehut/service.nix
+++ b/nixos/modules/services/misc/sourcehut/service.nix
@@ -122,7 +122,7 @@ in
     user = mkOption {
       type = types.str;
       default = srvsrht;
-      description = ''
+      description = lib.mdDoc ''
         User for ${srv}.sr.ht.
       '';
     };
@@ -130,7 +130,7 @@ in
     group = mkOption {
       type = types.str;
       default = srvsrht;
-      description = ''
+      description = lib.mdDoc ''
         Group for ${srv}.sr.ht.
         Membership grants access to the Git/Mercurial repositories by default,
         but not to the config.ini file (where secrets are).
@@ -140,7 +140,7 @@ in
     port = mkOption {
       type = types.port;
       default = port;
-      description = ''
+      description = lib.mdDoc ''
         Port on which the "${srv}" backend should listen.
       '';
     };
@@ -150,7 +150,7 @@ in
         type = types.str;
         default = "unix:///run/redis-sourcehut-${srvsrht}/redis.sock?db=0";
         example = "redis://shared.wireguard:6379/0";
-        description = ''
+        description = lib.mdDoc ''
           The redis host URL. This is used for caching and temporary storage, and must
           be shared between nodes (e.g. git1.sr.ht and git2.sr.ht), but need not be
           shared between services. It may be shared between services, however, with no
@@ -163,9 +163,9 @@ in
       database = mkOption {
         type = types.str;
         default = "${srv}.sr.ht";
-        description = ''
+        description = lib.mdDoc ''
           PostgreSQL database name for the ${srv}.sr.ht service,
-          used if <xref linkend="opt-services.sourcehut.postgresql.enable"/> is <literal>true</literal>.
+          used if [](#opt-services.sourcehut.postgresql.enable) is `true`.
         '';
       };
     };
@@ -174,7 +174,7 @@ in
       extraArgs = mkOption {
         type = with types; listOf str;
         default = ["--timeout 120" "--workers 1" "--log-level=info"];
-        description = "Extra arguments passed to Gunicorn.";
+        description = lib.mdDoc "Extra arguments passed to Gunicorn.";
       };
     };
   } // optionalAttrs webhooks {
@@ -182,12 +182,12 @@ in
       extraArgs = mkOption {
         type = with types; listOf str;
         default = ["--loglevel DEBUG" "--pool eventlet" "--without-heartbeat"];
-        description = "Extra arguments passed to the Celery responsible for webhooks.";
+        description = lib.mdDoc "Extra arguments passed to the Celery responsible for webhooks.";
       };
       celeryConfig = mkOption {
         type = types.lines;
         default = "";
-        description = "Content of the <literal>celeryconfig.py</literal> used by the Celery responsible for webhooks.";
+        description = lib.mdDoc "Content of the `celeryconfig.py` used by the Celery responsible for webhooks.";
       };
     };
   };
diff --git a/nixos/modules/services/misc/sssd.nix b/nixos/modules/services/misc/sssd.nix
index 3f6b96258f1..70afbe0433a 100644
--- a/nixos/modules/services/misc/sssd.nix
+++ b/nixos/modules/services/misc/sssd.nix
@@ -42,7 +42,7 @@ in {
       kcm = mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           Whether to use SSS as a Kerberos Cache Manager (KCM).
           Kerberos will be configured to cache credentials in SSS.
         '';
diff --git a/nixos/modules/services/misc/taskserver/default.nix b/nixos/modules/services/misc/taskserver/default.nix
index d9572f006ee..ad4ab93a872 100644
--- a/nixos/modules/services/misc/taskserver/default.nix
+++ b/nixos/modules/services/misc/taskserver/default.nix
@@ -227,11 +227,8 @@ in {
       queueSize = mkOption {
         type = types.int;
         default = 10;
-        description = ''
-          Size of the connection backlog, see <citerefentry>
-            <refentrytitle>listen</refentrytitle>
-            <manvolnum>2</manvolnum>
-          </citerefentry>.
+        description = lib.mdDoc ''
+          Size of the connection backlog, see {manpage}`listen(2)`.
         '';
       };
 
@@ -324,18 +321,16 @@ in {
       config = mkOption {
         type = types.attrs;
         example.client.cert = "/tmp/debugging.cert";
-        description = ''
+        description = lib.mdDoc ''
           Configuration options to pass to Taskserver.
 
-          The options here are the same as described in <citerefentry>
-            <refentrytitle>taskdrc</refentrytitle>
-            <manvolnum>5</manvolnum>
-          </citerefentry>, but with one difference:
+          The options here are the same as described in
+          {manpage}`taskdrc(5)`, but with one difference:
 
-          The <literal>server</literal> option is
-          <literal>server.listen</literal> here, because the
-          <literal>server</literal> option would collide with other options
-          like <literal>server.cert</literal> and we would run in a type error
+          The `server` option is
+          `server.listen` here, because the
+          `server` option would collide with other options
+          like `server.cert` and we would run in a type error
           (attribute set versus string).
 
           Nix types like integers or booleans are automatically converted to
diff --git a/nixos/modules/services/misc/tautulli.nix b/nixos/modules/services/misc/tautulli.nix
index 3f6633c9a57..78f9429c9aa 100644
--- a/nixos/modules/services/misc/tautulli.nix
+++ b/nixos/modules/services/misc/tautulli.nix
@@ -32,6 +32,12 @@ in
         description = lib.mdDoc "TCP port where Tautulli listens.";
       };
 
+      openFirewall = mkOption {
+        type = types.bool;
+        default = false;
+        description = lib.mdDoc "Open ports in the firewall for Tautulli.";
+      };
+
       user = mkOption {
         type = types.str;
         default = "plexpy";
@@ -74,6 +80,8 @@ in
       };
     };
 
+    networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.port ];
+
     users.users = mkIf (cfg.user == "plexpy") {
       plexpy = { group = cfg.group; uid = config.ids.uids.plexpy; };
     };
diff --git a/nixos/modules/services/misc/zoneminder.nix b/nixos/modules/services/misc/zoneminder.nix
index ab24372037e..ef3f6c1a0fd 100644
--- a/nixos/modules/services/misc/zoneminder.nix
+++ b/nixos/modules/services/misc/zoneminder.nix
@@ -68,7 +68,7 @@ in {
     services.zoneminder = with lib; {
       enable = lib.mkEnableOption ''
         ZoneMinder
-        </para><para>
+
         If you intend to run the database locally, you should set
         `config.services.zoneminder.database.createLocally` to true. Otherwise,
         when set to `false` (the default), you will have to create the database
@@ -82,8 +82,6 @@ in {
         default = "nginx";
         description = ''
           The webserver to configure for the PHP frontend.
-          </para>
-          <para>
 
           Set it to `none` if you want to configure it yourself. PRs are welcome
           for support for other web servers.
diff --git a/nixos/modules/services/monitoring/cadvisor.nix b/nixos/modules/services/monitoring/cadvisor.nix
index c844b1599dd..d5e44031016 100644
--- a/nixos/modules/services/monitoring/cadvisor.nix
+++ b/nixos/modules/services/monitoring/cadvisor.nix
@@ -66,16 +66,16 @@ in {
 
       storageDriverPasswordFile = mkOption {
         type = types.str;
-        description = ''
+        description = lib.mdDoc ''
           File that contains the cadvisor storage driver password.
 
-          <option>storageDriverPasswordFile</option> takes precedence over <option>storageDriverPassword</option>
+          {option}`storageDriverPasswordFile` takes precedence over {option}`storageDriverPassword`
 
-          Warning: when <option>storageDriverPassword</option> is non-empty this defaults to a file in the
-          world-readable Nix store that contains the value of <option>storageDriverPassword</option>.
+          Warning: when {option}`storageDriverPassword` is non-empty this defaults to a file in the
+          world-readable Nix store that contains the value of {option}`storageDriverPassword`.
 
           It's recommended to override this with a path not in the Nix store.
-          Tip: use <link xlink:href='https://nixos.org/nixops/manual/#idm140737318306400'>nixops key management</link>
+          Tip: use [nixops key management](https://nixos.org/nixops/manual/#idm140737318306400)
         '';
       };
 
@@ -88,10 +88,10 @@ in {
       extraOptions = mkOption {
         type = types.listOf types.str;
         default = [];
-        description = ''
+        description = lib.mdDoc ''
           Additional cadvisor options.
 
-          See <link xlink:href='https://github.com/google/cadvisor/blob/master/docs/runtime_options.md'/> for available options.
+          See <https://github.com/google/cadvisor/blob/master/docs/runtime_options.md> for available options.
         '';
       };
     };
diff --git a/nixos/modules/services/monitoring/grafana-image-renderer.nix b/nixos/modules/services/monitoring/grafana-image-renderer.nix
index 97488f2653a..4820b194698 100644
--- a/nixos/modules/services/monitoring/grafana-image-renderer.nix
+++ b/nixos/modules/services/monitoring/grafana-image-renderer.nix
@@ -92,7 +92,7 @@ in {
       description = ''
         Configuration attributes for <package>grafana-image-renderer</package>.
 
-        See <link xlink:href="https://github.com/grafana/grafana-image-renderer/blob/ce1f81438e5f69c7fd7c73ce08bab624c4c92e25/default.json" />
+        See <link xlink:href="https://github.com/grafana/grafana-image-renderer/blob/ce1f81438e5f69c7fd7c73ce08bab624c4c92e25/default.json"/>
         for supported values.
       '';
     };
diff --git a/nixos/modules/services/monitoring/graphite.nix b/nixos/modules/services/monitoring/graphite.nix
index 73b509202df..8edb2ca0997 100644
--- a/nixos/modules/services/monitoring/graphite.nix
+++ b/nixos/modules/services/monitoring/graphite.nix
@@ -251,9 +251,9 @@ in {
 
       extraConfig = mkOption {
         default = {};
-        description = ''
+        description = lib.mdDoc ''
           Extra seyren configuration. See
-          <link xlink:href='https://github.com/scobal/seyren#config' />
+          <https://github.com/scobal/seyren#config>
         '';
         type = types.attrsOf types.str;
         example = literalExpression ''
diff --git a/nixos/modules/services/monitoring/metricbeat.nix b/nixos/modules/services/monitoring/metricbeat.nix
index 0968d25c2ad..14066da1be8 100644
--- a/nixos/modules/services/monitoring/metricbeat.nix
+++ b/nixos/modules/services/monitoring/metricbeat.nix
@@ -32,17 +32,17 @@ in
       };
 
       modules = mkOption {
-        description = ''
+        description = lib.mdDoc ''
           Metricbeat modules are responsible for reading metrics from the various sources.
 
-          This is like <literal>services.metricbeat.settings.metricbeat.modules</literal>,
+          This is like `services.metricbeat.settings.metricbeat.modules`,
           but structured as an attribute set. This has the benefit that multiple
           NixOS modules can contribute settings to a single metricbeat module.
 
-          A module can be specified multiple times by choosing a different <literal>&lt;name></literal>
-          for each, but setting <xref linkend="opt-services.metricbeat.modules._name_.module"/> to the same value.
+          A module can be specified multiple times by choosing a different `<name>`
+          for each, but setting [](#opt-services.metricbeat.modules._name_.module) to the same value.
 
-          See <link xlink:href="https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-modules.html"/>.
+          See <https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-modules.html>.
         '';
         default = {};
         type = types.attrsOf (types.submodule ({ name, ... }: {
diff --git a/nixos/modules/services/monitoring/munin.nix b/nixos/modules/services/monitoring/munin.nix
index c77ae7b3b6e..9461bd3f35b 100644
--- a/nixos/modules/services/monitoring/munin.nix
+++ b/nixos/modules/services/monitoring/munin.nix
@@ -138,29 +138,29 @@ in
       enable = mkOption {
         default = false;
         type = types.bool;
-        description = ''
+        description = lib.mdDoc ''
           Enable Munin Node agent. Munin node listens on 0.0.0.0 and
           by default accepts connections only from 127.0.0.1 for security reasons.
 
-          See <link xlink:href='http://guide.munin-monitoring.org/en/latest/architecture/index.html' />.
+          See <http://guide.munin-monitoring.org/en/latest/architecture/index.html>.
         '';
       };
 
       extraConfig = mkOption {
         default = "";
         type = types.lines;
-        description = ''
-          <filename>munin-node.conf</filename> extra configuration. See
-          <link xlink:href='http://guide.munin-monitoring.org/en/latest/reference/munin-node.conf.html' />
+        description = lib.mdDoc ''
+          {file}`munin-node.conf` extra configuration. See
+          <http://guide.munin-monitoring.org/en/latest/reference/munin-node.conf.html>
         '';
       };
 
       extraPluginConfig = mkOption {
         default = "";
         type = types.lines;
-        description = ''
-          <filename>plugin-conf.d</filename> extra plugin configuration. See
-          <link xlink:href='http://guide.munin-monitoring.org/en/latest/plugin/use.html' />
+        description = lib.mdDoc ''
+          {file}`plugin-conf.d` extra plugin configuration. See
+          <http://guide.munin-monitoring.org/en/latest/plugin/use.html>
         '';
         example = ''
           [fail2ban_*]
@@ -266,11 +266,11 @@ in
       extraGlobalConfig = mkOption {
         default = "";
         type = types.lines;
-        description = ''
-          <filename>munin.conf</filename> extra global configuration.
-          See <link xlink:href='http://guide.munin-monitoring.org/en/latest/reference/munin.conf.html' />.
+        description = lib.mdDoc ''
+          {file}`munin.conf` extra global configuration.
+          See <http://guide.munin-monitoring.org/en/latest/reference/munin.conf.html>.
           Useful to setup notifications, see
-          <link xlink:href='http://guide.munin-monitoring.org/en/latest/tutorial/alert.html' />
+          <http://guide.munin-monitoring.org/en/latest/tutorial/alert.html>
         '';
         example = ''
           contact.email.command mail -s "Munin notification for ''${var:host}" someone@example.com
@@ -280,10 +280,10 @@ in
       hosts = mkOption {
         default = "";
         type = types.lines;
-        description = ''
+        description = lib.mdDoc ''
           Definitions of hosts of nodes to collect data from. Needs at least one
           host for cron to succeed. See
-          <link xlink:href='http://guide.munin-monitoring.org/en/latest/reference/munin.conf.html' />
+          <http://guide.munin-monitoring.org/en/latest/reference/munin.conf.html>
         '';
         example = literalExpression ''
           '''
diff --git a/nixos/modules/services/monitoring/nagios.nix b/nixos/modules/services/monitoring/nagios.nix
index 69173ce4e44..a45d0c0e070 100644
--- a/nixos/modules/services/monitoring/nagios.nix
+++ b/nixos/modules/services/monitoring/nagios.nix
@@ -88,7 +88,7 @@ in
 
   options = {
     services.nagios = {
-      enable = mkEnableOption "<link xlink:href='http://www.nagios.org/'>Nagios</link> to monitor your system or network.";
+      enable = mkEnableOption ''<link xlink:href="http://www.nagios.org/">Nagios</link> to monitor your system or network.'';
 
       objectDefs = mkOption {
         description = "
@@ -125,14 +125,14 @@ in
           debug_file = "/var/log/nagios/debug.log";
         };
         default = {};
-        description = "Configuration to add to /etc/nagios.cfg";
+        description = lib.mdDoc "Configuration to add to /etc/nagios.cfg";
       };
 
       validateConfig = mkOption {
         type = types.bool;
         default = pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform;
         defaultText = literalExpression "pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform";
-        description = "if true, the syntax of the nagios configuration file is checked at build time";
+        description = lib.mdDoc "if true, the syntax of the nagios configuration file is checked at build time";
       };
 
       cgiConfigFile = mkOption {
@@ -164,9 +164,9 @@ in
             sslServerKey = "/var/lib/acme/example.org/key.pem";
           }
         '';
-        description = ''
-          Apache configuration can be done by adapting <option>services.httpd.virtualHosts</option>.
-          See <xref linkend="opt-services.httpd.virtualHosts"/> for further information.
+        description = lib.mdDoc ''
+          Apache configuration can be done by adapting {option}`services.httpd.virtualHosts`.
+          See [](#opt-services.httpd.virtualHosts) for further information.
         '';
       };
     };
diff --git a/nixos/modules/services/monitoring/netdata.nix b/nixos/modules/services/monitoring/netdata.nix
index 4fd07a4ba14..e20eaf3b144 100644
--- a/nixos/modules/services/monitoring/netdata.nix
+++ b/nixos/modules/services/monitoring/netdata.nix
@@ -114,14 +114,14 @@ in {
         example = literalExpression ''
           [ "/path/to/plugins.d" ]
         '';
-        description = ''
+        description = lib.mdDoc ''
           Extra paths to add to the netdata global "plugins directory"
           option.  Useful for when you want to include your own
           collection scripts.
-          </para><para>
+
           Details about writing a custom netdata plugin are available at:
-          <link xlink:href="https://docs.netdata.cloud/collectors/plugins.d/"/>
-          </para><para>
+          <https://docs.netdata.cloud/collectors/plugins.d/>
+
           Cannot be combined with configText.
         '';
       };
diff --git a/nixos/modules/services/monitoring/parsedmarc.nix b/nixos/modules/services/monitoring/parsedmarc.nix
index 736718c2535..b0858184b5f 100644
--- a/nixos/modules/services/monitoring/parsedmarc.nix
+++ b/nixos/modules/services/monitoring/parsedmarc.nix
@@ -29,11 +29,11 @@ in
         enable = lib.mkOption {
           type = lib.types.bool;
           default = false;
-          description = ''
+          description = lib.mdDoc ''
             Whether Postfix and Dovecot should be set up to receive
             mail locally. parsedmarc will be configured to watch the
             local inbox as the automatically created user specified in
-            <xref linkend="opt-services.parsedmarc.provision.localMail.recipientName" />
+            [](#opt-services.parsedmarc.provision.localMail.recipientName)
           '';
         };
 
@@ -68,15 +68,13 @@ in
       geoIp = lib.mkOption {
         type = lib.types.bool;
         default = true;
-        description = ''
-          Whether to enable and configure the <link
-          linkend="opt-services.geoipupdate.enable">geoipupdate</link>
+        description = lib.mdDoc ''
+          Whether to enable and configure the [geoipupdate](#opt-services.geoipupdate.enable)
           service to automatically fetch GeoIP databases. Not crucial,
           but recommended for full functionality.
 
-          To finish the setup, you need to manually set the <xref
-          linkend="opt-services.geoipupdate.settings.AccountID" /> and
-          <xref linkend="opt-services.geoipupdate.settings.LicenseKey" />
+          To finish the setup, you need to manually set the [](#opt-services.geoipupdate.settings.AccountID) and
+          [](#opt-services.geoipupdate.settings.LicenseKey)
           options.
         '';
       };
@@ -97,11 +95,11 @@ in
             config.${opt.provision.elasticsearch} && config.${options.services.grafana.enable}
           '';
           apply = x: x && cfg.provision.elasticsearch;
-          description = ''
+          description = lib.mdDoc ''
             Whether the automatically provisioned Elasticsearch
             instance should be added as a grafana datasource. Has no
             effect unless
-            <xref linkend="opt-services.parsedmarc.provision.elasticsearch" />
+            [](#opt-services.parsedmarc.provision.elasticsearch)
             is also enabled.
           '';
         };
@@ -208,13 +206,12 @@ in
             password = lib.mkOption {
               type = with lib.types; nullOr (either path (attrsOf path));
               default = null;
-              description = ''
+              description = lib.mdDoc ''
                 The IMAP server password.
 
                 Always handled as a secret whether the value is
-                wrapped in a <literal>{ _secret = ...; }</literal>
-                attrset or not (refer to <xref
-                linkend="opt-services.parsedmarc.settings" /> for
+                wrapped in a `{ _secret = ...; }`
+                attrset or not (refer to [](#opt-services.parsedmarc.settings) for
                 details).
               '';
               apply = x: if isAttrs x || x == null then x else { _secret = x; };
@@ -273,13 +270,12 @@ in
             password = lib.mkOption {
               type = with lib.types; nullOr (either path (attrsOf path));
               default = null;
-              description = ''
+              description = lib.mdDoc ''
                 The SMTP server password.
 
                 Always handled as a secret whether the value is
-                wrapped in a <literal>{ _secret = ...; }</literal>
-                attrset or not (refer to <xref
-                linkend="opt-services.parsedmarc.settings" /> for
+                wrapped in a `{ _secret = ...; }`
+                attrset or not (refer to [](#opt-services.parsedmarc.settings) for
                 details).
               '';
               apply = x: if isAttrs x || x == null then x else { _secret = x; };
@@ -326,14 +322,13 @@ in
             password = lib.mkOption {
               type = with lib.types; nullOr (either path (attrsOf path));
               default = null;
-              description = ''
+              description = lib.mdDoc ''
                 The password to use when connecting to Elasticsearch,
                 if required.
 
                 Always handled as a secret whether the value is
-                wrapped in a <literal>{ _secret = ...; }</literal>
-                attrset or not (refer to <xref
-                linkend="opt-services.parsedmarc.settings" /> for
+                wrapped in a `{ _secret = ...; }`
+                attrset or not (refer to [](#opt-services.parsedmarc.settings) for
                 details).
               '';
               apply = x: if isAttrs x || x == null then x else { _secret = x; };
diff --git a/nixos/modules/services/monitoring/prometheus/default.nix b/nixos/modules/services/monitoring/prometheus/default.nix
index db4286b66a5..3bc61fba158 100644
--- a/nixos/modules/services/monitoring/prometheus/default.nix
+++ b/nixos/modules/services/monitoring/prometheus/default.nix
@@ -379,9 +379,8 @@ let
       gce_sd_configs = mkOpt (types.listOf promTypes.gce_sd_config) ''
         List of Google Compute Engine service discovery configurations.
 
-        See <link
-        xlink:href="https://prometheus.io/docs/prometheus/latest/configuration/configuration/#gce_sd_config">the
-        relevant Prometheus configuration docs</link> for more detail.
+        See <link xlink:href="https://prometheus.io/docs/prometheus/latest/configuration/configuration/#gce_sd_config">the relevant Prometheus configuration docs</link>
+        for more detail.
       '';
 
       hetzner_sd_configs = mkOpt (types.listOf promTypes.hetzner_sd_config) ''
@@ -807,9 +806,7 @@ let
       filter = mkOpt types.str ''
         Filter can be used optionally to filter the instance list by other
         criteria Syntax of this filter string is described here in the filter
-        query parameter section: <link
-        xlink:href="https://cloud.google.com/compute/docs/reference/latest/instances/list"
-        />.
+        query parameter section: <link xlink:href="https://cloud.google.com/compute/docs/reference/latest/instances/list"/>.
       '';
 
       refresh_interval = mkDefOpt types.str "60s" ''
@@ -825,7 +822,7 @@ let
         The tag separator used to separate concatenated GCE instance network tags.
 
         See the GCP documentation on network tags for more information:
-        <link xlink:href="https://cloud.google.com/vpc/docs/add-remove-network-tags" />
+        <link xlink:href="https://cloud.google.com/vpc/docs/add-remove-network-tags"/>
       '';
     };
   };
@@ -1033,13 +1030,13 @@ let
 
     auth_token = mkOpt types.str ''
       Optional authentication information for token-based authentication:
-      <link xlink:href="https://docs.mesosphere.com/1.11/security/ent/iam-api/#passing-an-authentication-token" />
+      <link xlink:href="https://docs.mesosphere.com/1.11/security/ent/iam-api/#passing-an-authentication-token"/>
       It is mutually exclusive with <literal>auth_token_file</literal> and other authentication mechanisms.
     '';
 
     auth_token_file = mkOpt types.str ''
       Optional authentication information for token-based authentication:
-      <link xlink:href="https://docs.mesosphere.com/1.11/security/ent/iam-api/#passing-an-authentication-token" />
+      <link xlink:href="https://docs.mesosphere.com/1.11/security/ent/iam-api/#passing-an-authentication-token"/>
       It is mutually exclusive with <literal>auth_token</literal> and other authentication mechanisms.
     '';
   };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters.nix b/nixos/modules/services/monitoring/prometheus/exporters.nix
index 41302d6d3ce..47c30a0f24b 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters.nix
@@ -84,28 +84,28 @@ let
     port = mkOption {
       type = types.port;
       default = port;
-      description = ''
+      description = lib.mdDoc ''
         Port to listen on.
       '';
     };
     listenAddress = mkOption {
       type = types.str;
       default = "0.0.0.0";
-      description = ''
+      description = lib.mdDoc ''
         Address to listen on.
       '';
     };
     extraFlags = mkOption {
       type = types.listOf types.str;
       default = [];
-      description = ''
+      description = lib.mdDoc ''
         Extra commandline options to pass to the ${name} exporter.
       '';
     };
     openFirewall = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Open port in firewall for incoming connections.
       '';
     };
@@ -124,14 +124,14 @@ let
     user = mkOption {
       type = types.str;
       default = "${name}-exporter";
-      description = ''
+      description = lib.mdDoc ''
         User name under which the ${name} exporter shall be run.
       '';
     };
     group = mkOption {
       type = types.str;
       default = "${name}-exporter";
-      description = ''
+      description = lib.mdDoc ''
         Group under which the ${name} exporter shall be run.
       '';
     };
@@ -227,7 +227,7 @@ in
     type = types.submodule {
       options = (mkSubModules);
     };
-    description = "Prometheus exporter configuration";
+    description = lib.mdDoc "Prometheus exporter configuration";
     default = {};
     example = literalExpression ''
       {
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/apcupsd.nix b/nixos/modules/services/monitoring/prometheus/exporters/apcupsd.nix
index 57c35a742c5..a8a9f84ea8e 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/apcupsd.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/apcupsd.nix
@@ -11,7 +11,7 @@ in
     apcupsdAddress = mkOption {
       type = types.str;
       default = ":3551";
-      description = ''
+      description = lib.mdDoc ''
         Address of the apcupsd Network Information Server (NIS).
       '';
     };
@@ -19,7 +19,7 @@ in
     apcupsdNetwork = mkOption {
       type = types.enum ["tcp" "tcp4" "tcp6"];
       default = "tcp";
-      description = ''
+      description = lib.mdDoc ''
         Network of the apcupsd Network Information Server (NIS): one of "tcp", "tcp4", or "tcp6".
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/artifactory.nix b/nixos/modules/services/monitoring/prometheus/exporters/artifactory.nix
index 2adcecc728b..bc67fe59b3b 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/artifactory.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/artifactory.nix
@@ -11,14 +11,14 @@ in
     scrapeUri = mkOption {
       type = types.str;
       default = "http://localhost:8081/artifactory";
-      description = ''
+      description = lib.mdDoc ''
         URI on which to scrape JFrog Artifactory.
       '';
     };
 
     artiUsername = mkOption {
       type = types.str;
-      description = ''
+      description = lib.mdDoc ''
         Username for authentication against JFrog Artifactory API.
       '';
     };
@@ -26,7 +26,7 @@ in
     artiPassword = mkOption {
       type = types.str;
       default = "";
-      description = ''
+      description = lib.mdDoc ''
         Password for authentication against JFrog Artifactory API.
         One of the password or access token needs to be set.
       '';
@@ -35,7 +35,7 @@ in
     artiAccessToken = mkOption {
       type = types.str;
       default = "";
-      description = ''
+      description = lib.mdDoc ''
         Access token for authentication against JFrog Artifactory API.
         One of the password or access token needs to be set.
       '';
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/bind.nix b/nixos/modules/services/monitoring/prometheus/exporters/bind.nix
index 16c2920751d..bd2003f0650 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/bind.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/bind.nix
@@ -11,28 +11,28 @@ in
     bindURI = mkOption {
       type = types.str;
       default = "http://localhost:8053/";
-      description = ''
+      description = lib.mdDoc ''
         HTTP XML API address of an Bind server.
       '';
     };
     bindTimeout = mkOption {
       type = types.str;
       default = "10s";
-      description = ''
+      description = lib.mdDoc ''
         Timeout for trying to get stats from Bind.
       '';
     };
     bindVersion = mkOption {
       type = types.enum [ "xml.v2" "xml.v3" "auto" ];
       default = "auto";
-      description = ''
+      description = lib.mdDoc ''
         BIND statistics version. Can be detected automatically.
       '';
     };
     bindGroups = mkOption {
       type = types.listOf (types.enum [ "server" "view" "tasks" ]);
       default = [ "server" "view" ];
-      description = ''
+      description = lib.mdDoc ''
         List of statistics to collect. Available: [server, view, tasks]
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/bird.nix b/nixos/modules/services/monitoring/prometheus/exporters/bird.nix
index 5fda4c980eb..5f6c36f4c56 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/bird.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/bird.nix
@@ -11,21 +11,21 @@ in
     birdVersion = mkOption {
       type = types.enum [ 1 2 ];
       default = 2;
-      description = ''
+      description = lib.mdDoc ''
         Specifies whether BIRD1 or BIRD2 is in use.
       '';
     };
     birdSocket = mkOption {
       type = types.path;
       default = "/run/bird/bird.ctl";
-      description = ''
+      description = lib.mdDoc ''
         Path to BIRD2 (or BIRD1 v4) socket.
       '';
     };
     newMetricFormat = mkOption {
       type = types.bool;
       default = true;
-      description = ''
+      description = lib.mdDoc ''
         Enable the new more-generic metric format.
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/bitcoin.nix b/nixos/modules/services/monitoring/prometheus/exporters/bitcoin.nix
index 43721f70b49..330d5412644 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/bitcoin.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/bitcoin.nix
@@ -11,14 +11,14 @@ in
     rpcUser = mkOption {
       type = types.str;
       default = "bitcoinrpc";
-      description = ''
+      description = lib.mdDoc ''
         RPC user name.
       '';
     };
 
     rpcPasswordFile = mkOption {
       type = types.path;
-      description = ''
+      description = lib.mdDoc ''
         File containing RPC password.
       '';
     };
@@ -26,7 +26,7 @@ in
     rpcScheme = mkOption {
       type = types.enum [ "http" "https" ];
       default = "http";
-      description = ''
+      description = lib.mdDoc ''
         Whether to connect to bitcoind over http or https.
       '';
     };
@@ -34,7 +34,7 @@ in
     rpcHost = mkOption {
       type = types.str;
       default = "localhost";
-      description = ''
+      description = lib.mdDoc ''
         RPC host.
       '';
     };
@@ -42,7 +42,7 @@ in
     rpcPort = mkOption {
       type = types.port;
       default = 8332;
-      description = ''
+      description = lib.mdDoc ''
         RPC port number.
       '';
     };
@@ -50,7 +50,7 @@ in
     refreshSeconds = mkOption {
       type = types.ints.unsigned;
       default = 300;
-      description = ''
+      description = lib.mdDoc ''
         How often to ask bitcoind for metrics.
       '';
     };
@@ -58,7 +58,7 @@ in
     extraEnv = mkOption {
       type = types.attrsOf types.str;
       default = {};
-      description = ''
+      description = lib.mdDoc ''
         Extra environment variables for the exporter.
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix b/nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix
index fe8d905da3f..66eaed51d2e 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix
@@ -35,14 +35,14 @@ in {
   extraOpts = {
     configFile = mkOption {
       type = types.path;
-      description = ''
+      description = lib.mdDoc ''
         Path to configuration file.
       '';
     };
     enableConfigCheck = mkOption {
       type = types.bool;
       default = true;
-      description = ''
+      description = lib.mdDoc ''
         Whether to run a correctness check for the configuration file. This depends
         on the configuration file residing in the nix-store. Paths passed as string will
         be copied to the store.
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/buildkite-agent.nix b/nixos/modules/services/monitoring/prometheus/exporters/buildkite-agent.nix
index e9be39608fc..0515b72b13f 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/buildkite-agent.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/buildkite-agent.nix
@@ -11,7 +11,7 @@ in
     tokenPath = mkOption {
       type = types.nullOr types.path;
       apply = final: if final == null then null else toString final;
-      description = ''
+      description = lib.mdDoc ''
         The token from your Buildkite "Agents" page.
 
         A run-time path to the token file, which is supposed to be provisioned
@@ -22,14 +22,14 @@ in
       type = types.str;
       default = "30s";
       example = "1min";
-      description = ''
+      description = lib.mdDoc ''
         How often to update metrics.
       '';
     };
     endpoint = mkOption {
       type = types.str;
       default = "https://agent.buildkite.com/v3";
-      description = ''
+      description = lib.mdDoc ''
         The Buildkite Agent API endpoint.
       '';
     };
@@ -37,7 +37,7 @@ in
       type = with types; nullOr (listOf str);
       default = null;
       example = literalExpression ''[ "my-queue1" "my-queue2" ]'';
-      description = ''
+      description = lib.mdDoc ''
         Which specific queues to process.
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/collectd.nix b/nixos/modules/services/monitoring/prometheus/exporters/collectd.nix
index a7f4d3e096f..eab1f9e7b4d 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/collectd.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/collectd.nix
@@ -14,19 +14,19 @@ in
       authFile = mkOption {
         default = null;
         type = types.nullOr types.path;
-        description = "File mapping user names to pre-shared keys (passwords).";
+        description = lib.mdDoc "File mapping user names to pre-shared keys (passwords).";
       };
 
       port = mkOption {
         type = types.int;
         default = 25826;
-        description = "Network address on which to accept collectd binary network packets.";
+        description = lib.mdDoc "Network address on which to accept collectd binary network packets.";
       };
 
       listenAddress = mkOption {
         type = types.str;
         default = "0.0.0.0";
-        description = ''
+        description = lib.mdDoc ''
           Address to listen on for binary network packets.
           '';
       };
@@ -34,7 +34,7 @@ in
       securityLevel = mkOption {
         type = types.enum ["None" "Sign" "Encrypt"];
         default = "None";
-        description = ''
+        description = lib.mdDoc ''
           Minimum required security level for accepted packets.
         '';
       };
@@ -44,7 +44,7 @@ in
       type = types.enum [ "logfmt" "json" ];
       default = "logfmt";
       example = "json";
-      description = ''
+      description = lib.mdDoc ''
         Set the log format.
       '';
     };
@@ -52,7 +52,7 @@ in
     logLevel = mkOption {
       type = types.enum ["debug" "info" "warn" "error" "fatal"];
       default = "info";
-      description = ''
+      description = lib.mdDoc ''
         Only log messages with the given severity or above.
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/dmarc.nix b/nixos/modules/services/monitoring/prometheus/exporters/dmarc.nix
index 25950e1ece9..437cece588a 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/dmarc.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/dmarc.nix
@@ -24,28 +24,28 @@ in {
       host = mkOption {
         type = types.str;
         default = "localhost";
-        description = ''
+        description = lib.mdDoc ''
           Hostname of IMAP server to connect to.
         '';
       };
       port = mkOption {
         type = types.port;
         default = 993;
-        description = ''
+        description = lib.mdDoc ''
           Port of the IMAP server to connect to.
         '';
       };
       username = mkOption {
         type = types.str;
         example = "postmaster@example.org";
-        description = ''
+        description = lib.mdDoc ''
           Login username for the IMAP connection.
         '';
       };
       passwordFile = mkOption {
         type = types.str;
         example = "/run/secrets/dovecot_pw";
-        description = ''
+        description = lib.mdDoc ''
           File containing the login password for the IMAP connection.
         '';
       };
@@ -54,21 +54,21 @@ in {
       inbox = mkOption {
         type = types.str;
         default = "INBOX";
-        description = ''
+        description = lib.mdDoc ''
           IMAP mailbox that is checked for incoming DMARC aggregate reports
         '';
       };
       done = mkOption {
         type = types.str;
         default = "Archive";
-        description = ''
+        description = lib.mdDoc ''
           IMAP mailbox that successfully processed reports are moved to.
         '';
       };
       error = mkOption {
         type = types.str;
         default = "Invalid";
-        description = ''
+        description = lib.mdDoc ''
           IMAP mailbox that emails are moved to that could not be processed.
         '';
       };
@@ -76,7 +76,7 @@ in {
     pollIntervalSeconds = mkOption {
       type = types.ints.unsigned;
       default = 60;
-      description = ''
+      description = lib.mdDoc ''
         How often to poll the IMAP server in seconds.
       '';
     };
@@ -84,7 +84,7 @@ in {
       type = types.ints.unsigned;
       default = 604800;
       defaultText = "7 days (in seconds)";
-      description = ''
+      description = lib.mdDoc ''
         How long individual report IDs will be remembered to avoid
         counting double delivered reports twice.
       '';
@@ -92,8 +92,8 @@ in {
     debug = mkOption {
       type = types.bool;
       default = false;
-      description = ''
-        Whether to declare enable <literal>--debug</literal>.
+      description = lib.mdDoc ''
+        Whether to declare enable `--debug`.
       '';
     };
   };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/dnsmasq.nix b/nixos/modules/services/monitoring/prometheus/exporters/dnsmasq.nix
index 68afba21d64..ece42a34cb0 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/dnsmasq.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/dnsmasq.nix
@@ -11,7 +11,7 @@ in
     dnsmasqListenAddress = mkOption {
       type = types.str;
       default = "localhost:53";
-      description = ''
+      description = lib.mdDoc ''
         Address on which dnsmasq listens.
       '';
     };
@@ -19,8 +19,8 @@ in
       type = types.path;
       default = "/var/lib/misc/dnsmasq.leases";
       example = "/var/lib/dnsmasq/dnsmasq.leases";
-      description = ''
-        Path to the <literal>dnsmasq.leases</literal> file.
+      description = lib.mdDoc ''
+        Path to the `dnsmasq.leases` file.
       '';
     };
   };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix b/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix
index 092ac6fea7d..d86b750ba5f 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix
@@ -11,7 +11,7 @@ in
     telemetryPath = mkOption {
       type = types.str;
       default = "/metrics";
-      description = ''
+      description = lib.mdDoc ''
         Path under which to expose metrics.
       '';
     };
@@ -33,10 +33,10 @@ in
         work with this exporter:
         <programlisting>
         {
-          <xref linkend="opt-services.prometheus.exporters.dovecot.enable" /> = true;
-          <xref linkend="opt-services.prometheus.exporters.dovecot.socketPath" /> = "/var/run/dovecot2/old-stats";
-          <xref linkend="opt-services.dovecot2.mailPlugins.globally.enable" /> = [ "old_stats" ];
-          <xref linkend="opt-services.dovecot2.extraConfig" /> = '''
+          <xref linkend="opt-services.prometheus.exporters.dovecot.enable"/> = true;
+          <xref linkend="opt-services.prometheus.exporters.dovecot.socketPath"/> = "/var/run/dovecot2/old-stats";
+          <xref linkend="opt-services.dovecot2.mailPlugins.globally.enable"/> = [ "old_stats" ];
+          <xref linkend="opt-services.dovecot2.extraConfig"/> = '''
             service old-stats {
               unix_listener old-stats {
                 user = dovecot-exporter
@@ -67,7 +67,7 @@ in
       type = types.listOf types.str;
       default = [ "user" ];
       example = [ "user" "global" ];
-      description = ''
+      description = lib.mdDoc ''
         Stats scopes to query.
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/fastly.nix b/nixos/modules/services/monitoring/prometheus/exporters/fastly.nix
index 55a61c4949e..182a1131c05 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/fastly.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/fastly.nix
@@ -12,9 +12,9 @@ in
     configFile = mkOption {
       type = types.nullOr types.path;
       default = null;
-      description = ''
+      description = lib.mdDoc ''
         Path to a fastly-exporter configuration file.
-        Example one can be generated with <literal>fastly-exporter --config-file-example</literal>.
+        Example one can be generated with `fastly-exporter --config-file-example`.
       '';
       example = "./fastly-exporter-config.txt";
     };
@@ -22,7 +22,7 @@ in
     tokenPath = mkOption {
       type = types.nullOr types.path;
       apply = final: if final == null then null else toString final;
-      description = ''
+      description = lib.mdDoc ''
         A run-time path to the token file, which is supposed to be provisioned
         outside of Nix store.
       '';
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/flow.nix b/nixos/modules/services/monitoring/prometheus/exporters/flow.nix
index b85e5461f21..81099aaf170 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/flow.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/flow.nix
@@ -10,19 +10,19 @@ in {
     brokers = mkOption {
       type = types.listOf types.str;
       example = literalExpression ''[ "kafka.example.org:19092" ]'';
-      description = "List of Kafka brokers to connect to.";
+      description = lib.mdDoc "List of Kafka brokers to connect to.";
     };
 
     asn = mkOption {
       type = types.ints.positive;
       example = 65542;
-      description = "The ASN being monitored.";
+      description = lib.mdDoc "The ASN being monitored.";
     };
 
     partitions = mkOption {
       type = types.listOf types.int;
       default = [];
-      description = ''
+      description = lib.mdDoc ''
         The number of the partitions to consume, none means all.
       '';
     };
@@ -30,7 +30,7 @@ in {
     topic = mkOption {
       type = types.str;
       example = "pmacct.acct";
-      description = "The Kafka topic to consume from.";
+      description = lib.mdDoc "The Kafka topic to consume from.";
     };
   };
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/fritzbox.nix b/nixos/modules/services/monitoring/prometheus/exporters/fritzbox.nix
index 9526597b8c9..dc53d21406f 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/fritzbox.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/fritzbox.nix
@@ -11,7 +11,7 @@ in
     gatewayAddress = mkOption {
       type = types.str;
       default = "fritz.box";
-      description = ''
+      description = lib.mdDoc ''
         The hostname or IP of the FRITZ!Box.
       '';
     };
@@ -19,7 +19,7 @@ in
     gatewayPort = mkOption {
       type = types.int;
       default = 49000;
-      description = ''
+      description = lib.mdDoc ''
         The port of the FRITZ!Box UPnP service.
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/influxdb.nix b/nixos/modules/services/monitoring/prometheus/exporters/influxdb.nix
index ba45173e946..61c0c08d225 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/influxdb.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/influxdb.nix
@@ -12,13 +12,13 @@ in
       type = types.str;
       default = "5m";
       example = "10m";
-      description = "How long a sample is valid for";
+      description = lib.mdDoc "How long a sample is valid for";
     };
     udpBindAddress = mkOption {
       type = types.str;
       default = ":9122";
       example = "192.0.2.1:9122";
-      description = "Address on which to listen for udp packets";
+      description = lib.mdDoc "Address on which to listen for udp packets";
     };
   };
   serviceOpts = {
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/jitsi.nix b/nixos/modules/services/monitoring/prometheus/exporters/jitsi.nix
index c93a8f98e55..02460271860 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/jitsi.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/jitsi.nix
@@ -11,7 +11,7 @@ in
     url = mkOption {
       type = types.str;
       default = "http://localhost:8080/colibri/stats";
-      description = ''
+      description = lib.mdDoc ''
         Jitsi Videobridge metrics URL to monitor.
         This is usually /colibri/stats on port 8080 of the jitsi videobridge host.
       '';
@@ -20,7 +20,7 @@ in
       type = types.str;
       default = "30s";
       example = "1min";
-      description = ''
+      description = lib.mdDoc ''
         How often to scrape new data
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/json.nix b/nixos/modules/services/monitoring/prometheus/exporters/json.nix
index 1800da69a25..473f3a7e47e 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/json.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/json.nix
@@ -10,7 +10,7 @@ in
   extraOpts = {
     configFile = mkOption {
       type = types.path;
-      description = ''
+      description = lib.mdDoc ''
         Path to configuration file.
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/kea.nix b/nixos/modules/services/monitoring/prometheus/exporters/kea.nix
index e0ee90d9b97..0682f9da400 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/kea.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/kea.nix
@@ -19,7 +19,7 @@ in {
           "/run/kea/kea-dhcp6.socket"
         ]
       '';
-      description = ''
+      description = lib.mdDoc ''
         Paths to kea control sockets
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/knot.nix b/nixos/modules/services/monitoring/prometheus/exporters/knot.nix
index 29e543f1013..2df0ab93bde 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/knot.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/knot.nix
@@ -19,16 +19,15 @@ in {
     knotSocketPath = mkOption {
       type = types.str;
       default = "/run/knot/knot.sock";
-      description = ''
-        Socket path of <citerefentry><refentrytitle>knotd</refentrytitle>
-        <manvolnum>8</manvolnum></citerefentry>.
+      description = lib.mdDoc ''
+        Socket path of {manpage}`knotd(8)`.
       '';
     };
 
     knotSocketTimeout = mkOption {
       type = types.int;
       default = 2000;
-      description = ''
+      description = lib.mdDoc ''
         Timeout in seconds.
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/lnd.nix b/nixos/modules/services/monitoring/prometheus/exporters/lnd.nix
index 35f97202057..9f914b1dc14 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/lnd.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/lnd.nix
@@ -11,21 +11,21 @@ in
     lndHost = mkOption {
       type = types.str;
       default = "localhost:10009";
-      description = ''
+      description = lib.mdDoc ''
         lnd instance gRPC address:port.
       '';
     };
 
     lndTlsPath = mkOption {
       type = types.path;
-      description = ''
+      description = lib.mdDoc ''
         Path to lnd TLS certificate.
       '';
     };
 
     lndMacaroonDir = mkOption {
       type = types.path;
-      description = ''
+      description = lib.mdDoc ''
         Path to lnd macaroons.
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/mail.nix b/nixos/modules/services/monitoring/prometheus/exporters/mail.nix
index a60f47f6393..205188538a2 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/mail.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/mail.nix
@@ -22,41 +22,41 @@ let
   serverOptions.options = {
     name = mkOption {
       type = types.str;
-      description = ''
+      description = lib.mdDoc ''
         Value for label 'configname' which will be added to all metrics.
       '';
     };
     server = mkOption {
       type = types.str;
-      description = ''
+      description = lib.mdDoc ''
         Hostname of the server that should be probed.
       '';
     };
     port = mkOption {
       type = types.int;
       example = 587;
-      description = ''
+      description = lib.mdDoc ''
         Port to use for SMTP.
       '';
     };
     from = mkOption {
       type = types.str;
       example = "exporteruser@domain.tld";
-      description = ''
+      description = lib.mdDoc ''
         Content of 'From' Header for probing mails.
       '';
     };
     to = mkOption {
       type = types.str;
       example = "exporteruser@domain.tld";
-      description = ''
+      description = lib.mdDoc ''
         Content of 'To' Header for probing mails.
       '';
     };
     detectionDir = mkOption {
       type = types.path;
       example = "/var/spool/mail/exporteruser/new";
-      description = ''
+      description = lib.mdDoc ''
         Directory in which new mails for the exporter user are placed.
         Note that this needs to exist when the exporter starts.
       '';
@@ -65,14 +65,14 @@ let
       type = types.nullOr types.str;
       default = null;
       example = "exporteruser@domain.tld";
-      description = ''
+      description = lib.mdDoc ''
         Username to use for SMTP authentication.
       '';
     };
     passphrase = mkOption {
       type = types.nullOr types.str;
       default = null;
-      description = ''
+      description = lib.mdDoc ''
         Password to use for SMTP authentication.
       '';
     };
@@ -82,20 +82,20 @@ let
     monitoringInterval = mkOption {
       type = types.str;
       example = "10s";
-      description = ''
+      description = lib.mdDoc ''
         Time interval between two probe attempts.
       '';
     };
     mailCheckTimeout = mkOption {
       type = types.str;
-      description = ''
+      description = lib.mdDoc ''
         Timeout until mails are considered "didn't make it".
       '';
     };
     disableFileDeletion = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Disables the exporter's function to delete probing mails.
       '';
     };
@@ -115,8 +115,7 @@ let
       description = ''
         List of servers that should be probed.
 
-        <emphasis>Note:</emphasis> if your mailserver has <citerefentry>
-        <refentrytitle>rspamd</refentrytitle><manvolnum>8</manvolnum></citerefentry> configured,
+        <emphasis>Note:</emphasis> if your mailserver has <citerefentry><refentrytitle>rspamd</refentrytitle><manvolnum>8</manvolnum></citerefentry> configured,
         it can happen that emails from this exporter are marked as spam.
 
         It's possible to work around the issue with a config like this:
@@ -142,28 +141,28 @@ in
     environmentFile = mkOption {
       type = types.nullOr types.str;
       default = null;
-      description = ''
+      description = lib.mdDoc ''
         File containing env-vars to be substituted into the exporter's config.
       '';
     };
     configFile = mkOption {
       type = types.nullOr types.path;
       default = null;
-      description = ''
+      description = lib.mdDoc ''
         Specify the mailexporter configuration file to use.
       '';
     };
     configuration = mkOption {
       type = types.nullOr (types.submodule exporterOptions);
       default = null;
-      description = ''
+      description = lib.mdDoc ''
         Specify the mailexporter configuration file to use.
       '';
     };
     telemetryPath = mkOption {
       type = types.str;
       default = "/metrics";
-      description = ''
+      description = lib.mdDoc ''
         Path under which to expose metrics.
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/mikrotik.nix b/nixos/modules/services/monitoring/prometheus/exporters/mikrotik.nix
index 8f9536b702a..54dab4b5581 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/mikrotik.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/mikrotik.nix
@@ -11,9 +11,9 @@ in
     configFile = mkOption {
       type = types.nullOr types.path;
       default = null;
-      description = ''
+      description = lib.mdDoc ''
         Path to a mikrotik exporter configuration file. Mutually exclusive with
-        <option>configuration</option> option.
+        {option}`configuration` option.
       '';
       example = literalExpression "./mikrotik.yml";
     };
@@ -21,11 +21,11 @@ in
     configuration = mkOption {
       type = types.nullOr types.attrs;
       default = null;
-      description = ''
+      description = lib.mdDoc ''
         Mikrotik exporter configuration as nix attribute set. Mutually exclusive with
-        <option>configFile</option> option.
+        {option}`configFile` option.
 
-        See <link xlink:href="https://github.com/nshttpd/mikrotik-exporter/blob/master/README.md"/>
+        See <https://github.com/nshttpd/mikrotik-exporter/blob/master/README.md>
         for the description of the configuration file format.
       '';
       example = literalExpression ''
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/minio.nix b/nixos/modules/services/monitoring/prometheus/exporters/minio.nix
index d6dd62f871b..82cc3fc314f 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/minio.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/minio.nix
@@ -11,7 +11,7 @@ in
     minioAddress = mkOption {
       type = types.str;
       example = "https://10.0.0.1:9000";
-      description = ''
+      description = lib.mdDoc ''
         The URL of the minio server.
         Use HTTPS if Minio accepts secure connections only.
         By default this connects to the local minio server if enabled.
@@ -21,28 +21,28 @@ in
     minioAccessKey = mkOption {
       type = types.str;
       example = "yourMinioAccessKey";
-      description = ''
+      description = lib.mdDoc ''
         The value of the Minio access key.
         It is required in order to connect to the server.
         By default this uses the one from the local minio server if enabled
-        and <literal>config.services.minio.accessKey</literal>.
+        and `config.services.minio.accessKey`.
       '';
     };
 
     minioAccessSecret = mkOption {
       type = types.str;
-      description = ''
+      description = lib.mdDoc ''
         The value of the Minio access secret.
         It is required in order to connect to the server.
         By default this uses the one from the local minio server if enabled
-        and <literal>config.services.minio.secretKey</literal>.
+        and `config.services.minio.secretKey`.
       '';
     };
 
     minioBucketStats = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Collect statistics about the buckets and files in buckets.
         It requires more computation, use it carefully in case of large buckets..
       '';
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/modemmanager.nix b/nixos/modules/services/monitoring/prometheus/exporters/modemmanager.nix
index afd03f6c270..222ea3e5384 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/modemmanager.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/modemmanager.nix
@@ -11,7 +11,7 @@ in
     refreshRate = mkOption {
       type = types.str;
       default = "5s";
-      description = ''
+      description = lib.mdDoc ''
         How frequently ModemManager will refresh the extended signal quality
         information for each modem. The duration should be specified in seconds
         ("5s"), minutes ("1m"), or hours ("1h").
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/nextcloud.nix b/nixos/modules/services/monitoring/prometheus/exporters/nextcloud.nix
index ce7125bf5a8..7808c8861a7 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/nextcloud.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/nextcloud.nix
@@ -11,16 +11,16 @@ in
     url = mkOption {
       type = types.str;
       example = "https://domain.tld";
-      description = ''
+      description = lib.mdDoc ''
         URL to the Nextcloud serverinfo page.
         Adding the path to the serverinfo API is optional, it defaults
-        to <literal>/ocs/v2.php/apps/serverinfo/api/v1/info</literal>.
+        to `/ocs/v2.php/apps/serverinfo/api/v1/info`.
       '';
     };
     username = mkOption {
       type = types.str;
       default = "nextcloud-exporter";
-      description = ''
+      description = lib.mdDoc ''
         Username for connecting to Nextcloud.
         Note that this account needs to have admin privileges in Nextcloud.
       '';
@@ -28,7 +28,7 @@ in
     passwordFile = mkOption {
       type = types.path;
       example = "/path/to/password-file";
-      description = ''
+      description = lib.mdDoc ''
         File containing the password for connecting to Nextcloud.
         Make sure that this file is readable by the exporter user.
       '';
@@ -36,7 +36,7 @@ in
     timeout = mkOption {
       type = types.str;
       default = "5s";
-      description = ''
+      description = lib.mdDoc ''
         Timeout for getting server info document.
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix b/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix
index 6f69f5919d1..3158e71f046 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix
@@ -11,7 +11,7 @@ in
     scrapeUri = mkOption {
       type = types.str;
       default = "http://localhost/nginx_status";
-      description = ''
+      description = lib.mdDoc ''
         Address to access the nginx status page.
         Can be enabled with services.nginx.statusPage = true.
       '';
@@ -19,14 +19,14 @@ in
     telemetryPath = mkOption {
       type = types.str;
       default = "/metrics";
-      description = ''
+      description = lib.mdDoc ''
         Path under which to expose metrics.
       '';
     };
     sslVerify = mkOption {
       type = types.bool;
       default = true;
-      description = ''
+      description = lib.mdDoc ''
         Whether to perform certificate verification for https.
       '';
     };
@@ -37,7 +37,7 @@ in
         "label1=value1"
         "label2=value2"
       ];
-      description = ''
+      description = lib.mdDoc ''
         A list of constant labels that will be used in every metric.
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/nginxlog.nix b/nixos/modules/services/monitoring/prometheus/exporters/nginxlog.nix
index 8c1f552d58a..9967d3647e0 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/nginxlog.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/nginxlog.nix
@@ -24,7 +24,7 @@ in {
     metricsEndpoint = mkOption {
       type = types.str;
       default = "/metrics";
-      description = ''
+      description = lib.mdDoc ''
         Path under which to expose metrics.
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/node.nix b/nixos/modules/services/monitoring/prometheus/exporters/node.nix
index 417920402f3..ae69c29d0a5 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/node.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/node.nix
@@ -12,7 +12,7 @@ in
       type = types.listOf types.str;
       default = [];
       example = [ "systemd" ];
-      description = ''
+      description = lib.mdDoc ''
         Collectors to enable. The collectors listed here are enabled in addition to the default ones.
       '';
     };
@@ -20,7 +20,7 @@ in
       type = types.listOf types.str;
       default = [];
       example = [ "timex" ];
-      description = ''
+      description = lib.mdDoc ''
         Collectors to disable which are enabled by default.
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/openldap.nix b/nixos/modules/services/monitoring/prometheus/exporters/openldap.nix
index 888611ee6fa..59fcedef9dd 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/openldap.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/openldap.nix
@@ -40,7 +40,7 @@ in {
     metricsPath = mkOption {
       default = "/metrics";
       type = types.str;
-      description = ''
+      description = lib.mdDoc ''
         URL path where metrics should be exposed.
       '';
     };
@@ -48,7 +48,7 @@ in {
       default = "30s";
       type = types.str;
       example = "1m";
-      description = ''
+      description = lib.mdDoc ''
         Scrape interval of the exporter.
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/openvpn.nix b/nixos/modules/services/monitoring/prometheus/exporters/openvpn.nix
index a97a753ebc3..5b54dad9980 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/openvpn.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/openvpn.nix
@@ -9,15 +9,15 @@ in {
   extraOpts = {
     statusPaths = mkOption {
       type = types.listOf types.str;
-      description = ''
+      description = lib.mdDoc ''
         Paths to OpenVPN status files. Please configure the OpenVPN option
-        <literal>status</literal> accordingly.
+        `status` accordingly.
       '';
     };
     telemetryPath = mkOption {
       type = types.str;
       default = "/metrics";
-      description = ''
+      description = lib.mdDoc ''
         Path under which to expose metrics.
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/pihole.nix b/nixos/modules/services/monitoring/prometheus/exporters/pihole.nix
index 4bc27ebc32f..537d72e85c8 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/pihole.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/pihole.nix
@@ -12,7 +12,7 @@ in
       type = types.str;
       default = "";
       example = "580a770cb40511eb85290242ac130003580a770cb40511eb85290242ac130003";
-      description = ''
+      description = lib.mdDoc ''
         pi-hole API token which can be used instead of a password
       '';
     };
@@ -20,7 +20,7 @@ in
       type = types.str;
       default = "10s";
       example = "30s";
-      description = ''
+      description = lib.mdDoc ''
         How often to scrape new data
       '';
     };
@@ -28,7 +28,7 @@ in
       type = types.str;
       default = "";
       example = "password";
-      description = ''
+      description = lib.mdDoc ''
         The password to login into pihole. An api token can be used instead.
       '';
     };
@@ -36,7 +36,7 @@ in
       type = types.str;
       default = "pihole";
       example = "127.0.0.1";
-      description = ''
+      description = lib.mdDoc ''
         Hostname or address where to find the pihole webinterface
       '';
     };
@@ -44,7 +44,7 @@ in
       type = types.port;
       default = 80;
       example = 443;
-      description = ''
+      description = lib.mdDoc ''
         The port pihole webinterface is reachable on
       '';
     };
@@ -52,7 +52,7 @@ in
       type = types.enum [ "http" "https" ];
       default = "http";
       example = "https";
-      description = ''
+      description = lib.mdDoc ''
         The protocol which is used to connect to pihole
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/postfix.nix b/nixos/modules/services/monitoring/prometheus/exporters/postfix.nix
index 53509b7a385..9f402b12311 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/postfix.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/postfix.nix
@@ -10,17 +10,17 @@ in
   extraOpts = {
     group = mkOption {
       type = types.str;
-      description = ''
+      description = lib.mdDoc ''
         Group under which the postfix exporter shall be run.
         It should match the group that is allowed to access the
-        <literal>showq</literal> socket in the <literal>queue/public/</literal> directory.
-        Defaults to <literal>services.postfix.setgidGroup</literal> when postfix is enabled.
+        `showq` socket in the `queue/public/` directory.
+        Defaults to `services.postfix.setgidGroup` when postfix is enabled.
       '';
     };
     telemetryPath = mkOption {
       type = types.str;
       default = "/metrics";
-      description = ''
+      description = lib.mdDoc ''
         Path under which to expose metrics.
       '';
     };
@@ -28,7 +28,7 @@ in
       type = types.path;
       default = "/var/log/postfix_exporter_input.log";
       example = "/var/log/mail.log";
-      description = ''
+      description = lib.mdDoc ''
         Path where Postfix writes log entries.
         This file will be truncated by this exporter!
       '';
@@ -37,7 +37,7 @@ in
       type = types.path;
       default = "/var/lib/postfix/queue/public/showq";
       example = "/var/spool/postfix/public/showq";
-      description = ''
+      description = lib.mdDoc ''
         Path where Postfix places its showq socket.
       '';
     };
@@ -45,29 +45,29 @@ in
       enable = mkOption {
         type = types.bool;
         default = true;
-        description = ''
+        description = lib.mdDoc ''
           Whether to enable reading metrics from the systemd journal instead of from a logfile
         '';
       };
       unit = mkOption {
         type = types.str;
         default = "postfix.service";
-        description = ''
+        description = lib.mdDoc ''
           Name of the postfix systemd unit.
         '';
       };
       slice = mkOption {
         type = types.nullOr types.str;
         default = null;
-        description = ''
+        description = lib.mdDoc ''
           Name of the postfix systemd slice.
-          This overrides the <option>systemd.unit</option>.
+          This overrides the {option}`systemd.unit`.
         '';
       };
       journalPath = mkOption {
         type = types.nullOr types.path;
         default = null;
-        description = ''
+        description = lib.mdDoc ''
           Path to the systemd journal.
         '';
       };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/postgres.nix b/nixos/modules/services/monitoring/prometheus/exporters/postgres.nix
index 3f9a32ef399..5e8dd21af85 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/postgres.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/postgres.nix
@@ -11,7 +11,7 @@ in
     telemetryPath = mkOption {
       type = types.str;
       default = "/metrics";
-      description = ''
+      description = lib.mdDoc ''
         Path under which to expose metrics.
       '';
     };
@@ -19,14 +19,14 @@ in
       type = types.str;
       default = "user=postgres database=postgres host=/run/postgresql sslmode=disable";
       example = "postgresql://username:password@localhost:5432/postgres?sslmode=disable";
-      description = ''
+      description = lib.mdDoc ''
         Accepts PostgreSQL URI form and key=value form arguments.
       '';
     };
     runAsLocalSuperUser = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Whether to run the exporter as the local 'postgres' super user.
       '';
     };
@@ -37,9 +37,7 @@ in
       default = null;
       example = "/root/prometheus-postgres-exporter.env";
       description = ''
-        Environment file as defined in <citerefentry>
-        <refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum>
-        </citerefentry>.
+        Environment file as defined in <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
 
         Secrets may be passed to the service without adding them to the
         world-readable Nix store, by specifying placeholder variables as
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/process.nix b/nixos/modules/services/monitoring/prometheus/exporters/process.nix
index 1e9c402fb55..278d6cd7807 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/process.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/process.nix
@@ -18,11 +18,11 @@ in
           { name = "{{.Matches.Wrapped}} {{ .Matches.Args }}"; cmdline = [ "^/nix/store[^ ]*/(?P<Wrapped>[^ /]*) (?P<Args>.*)" ]; }
         ]
       '';
-      description = ''
+      description = lib.mdDoc ''
         All settings expressed as an Nix attrset.
 
         Check the official documentation for the corresponding YAML
-        settings that can all be used here: <link xlink:href="https://github.com/ncabatoff/process-exporter" />
+        settings that can all be used here: <https://github.com/ncabatoff/process-exporter>
       '';
     };
   };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/pve.nix b/nixos/modules/services/monitoring/prometheus/exporters/pve.nix
index ef708414c95..8e2573d084b 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/pve.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/pve.nix
@@ -20,7 +20,7 @@ in
       default = pkgs.prometheus-pve-exporter;
       defaultText = literalExpression "pkgs.prometheus-pve-exporter";
       example = literalExpression "pkgs.prometheus-pve-exporter";
-      description = ''
+      description = lib.mdDoc ''
         The package to use for prometheus-pve-exporter
       '';
     };
@@ -29,7 +29,7 @@ in
       type = with types; nullOr path;
       default = null;
       example = "/etc/prometheus-pve-exporter/pve.env";
-      description = ''
+      description = lib.mdDoc ''
         Path to the service's environment file. This path can either be a computed path in /nix/store or a path in the local filesystem.
 
         The environment file should NOT be stored in /nix/store as it contains passwords and/or keys in plain text.
@@ -42,7 +42,7 @@ in
       type = with types; nullOr path;
       default = null;
       example = "/etc/prometheus-pve-exporter/pve.yml";
-      description = ''
+      description = lib.mdDoc ''
         Path to the service's config file. This path can either be a computed path in /nix/store or a path in the local filesystem.
 
         The config file should NOT be stored in /nix/store as it will contain passwords and/or keys in plain text.
@@ -57,42 +57,42 @@ in
       status = mkOption {
         type = types.bool;
         default = true;
-        description = ''
+        description = lib.mdDoc ''
           Collect Node/VM/CT status
         '';
       };
       version = mkOption {
         type = types.bool;
         default = true;
-        description = ''
+        description = lib.mdDoc ''
           Collect PVE version info
         '';
       };
       node = mkOption {
         type = types.bool;
         default = true;
-        description = ''
+        description = lib.mdDoc ''
           Collect PVE node info
         '';
       };
       cluster = mkOption {
         type = types.bool;
         default = true;
-        description = ''
+        description = lib.mdDoc ''
           Collect PVE cluster info
         '';
       };
       resources = mkOption {
         type = types.bool;
         default = true;
-        description = ''
+        description = lib.mdDoc ''
           Collect PVE resources info
         '';
       };
       config = mkOption {
         type = types.bool;
         default = true;
-        description = ''
+        description = lib.mdDoc ''
           Collect PVE onboot status
         '';
       };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/py-air-control.nix b/nixos/modules/services/monitoring/prometheus/exporters/py-air-control.nix
index d9ab99221d9..f03b3c4df91 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/py-air-control.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/py-air-control.nix
@@ -14,14 +14,14 @@ in
     deviceHostname = mkOption {
       type = types.str;
       example = "192.168.1.123";
-      description = ''
+      description = lib.mdDoc ''
         The hostname of the air purification device from which to scrape the metrics.
       '';
     };
     protocol = mkOption {
       type = types.str;
       default = "http";
-      description = ''
+      description = lib.mdDoc ''
         The protocol to use when communicating with the air purification device.
         Available: [http, coap, plain_coap]
       '';
@@ -29,8 +29,8 @@ in
     stateDir = mkOption {
       type = types.str;
       default = "prometheus-py-air-control-exporter";
-      description = ''
-        Directory below <literal>/var/lib</literal> to store runtime data.
+      description = lib.mdDoc ''
+        Directory below `/var/lib` to store runtime data.
         This directory will be created automatically using systemd's StateDirectory mechanism.
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/rspamd.nix b/nixos/modules/services/monitoring/prometheus/exporters/rspamd.nix
index ed985751e42..0b48827f43f 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/rspamd.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/rspamd.nix
@@ -69,7 +69,7 @@ in
           custom_label = "some_value";
         }
       '';
-      description = "Set of labels added to each metric.";
+      description = lib.mdDoc "Set of labels added to each metric.";
     };
   };
   serviceOpts.serviceConfig.ExecStart = ''
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/rtl_433.nix b/nixos/modules/services/monitoring/prometheus/exporters/rtl_433.nix
index ef829a1b7d0..42bf1788aea 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/rtl_433.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/rtl_433.nix
@@ -12,7 +12,7 @@ in
         options = {
           name = lib.mkOption {
             type = str;
-            description = "Name to match.";
+            description = lib.mdDoc "Name to match.";
           };
           "${field}" = lib.mkOption {
             type = int;
@@ -20,7 +20,7 @@ in
           };
           location = lib.mkOption {
             type = str;
-            description = "Location to match.";
+            description = lib.mdDoc "Location to match.";
           };
         };
       });
@@ -30,9 +30,9 @@ in
       type = lib.types.str;
       default = "-C si";
       example = "-C si -R 19";
-      description = ''
+      description = lib.mdDoc ''
         Flags passed verbatim to rtl_433 binary.
-        Having <literal>-C si</literal> (the default) is recommended since only Celsius temperatures are parsed.
+        Having `-C si` (the default) is recommended since only Celsius temperatures are parsed.
       '';
     };
     channels = lib.mkOption {
@@ -41,7 +41,7 @@ in
       example = [
         { name = "Acurite"; channel = 6543; location = "Kitchen"; }
       ];
-      description = ''
+      description = lib.mdDoc ''
         List of channel matchers to export.
       '';
     };
@@ -51,7 +51,7 @@ in
       example = [
         { name = "Nexus"; id = 1; location = "Bedroom"; }
       ];
-      description = ''
+      description = lib.mdDoc ''
         List of ID matchers to export.
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/script.nix b/nixos/modules/services/monitoring/prometheus/exporters/script.nix
index a805a0ad335..eab0e1d8a6b 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/script.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/script.nix
@@ -15,18 +15,18 @@ in
           name = mkOption {
             type = str;
             example = "sleep";
-            description = "Name of the script.";
+            description = lib.mdDoc "Name of the script.";
           };
           script = mkOption {
             type = str;
             example = "sleep 5";
-            description = "Shell script to execute when metrics are requested.";
+            description = lib.mdDoc "Shell script to execute when metrics are requested.";
           };
           timeout = mkOption {
             type = nullOr int;
             default = null;
             example = 60;
-            description = "Optional timeout for the script in seconds.";
+            description = lib.mdDoc "Optional timeout for the script in seconds.";
           };
         };
       });
@@ -37,11 +37,11 @@ in
           ];
         }
       '';
-      description = ''
+      description = lib.mdDoc ''
         All settings expressed as an Nix attrset.
 
         Check the official documentation for the corresponding YAML
-        settings that can all be used here: <link xlink:href="https://github.com/adhocteam/script_exporter#sample-configuration" />
+        settings that can all be used here: <https://github.com/adhocteam/script_exporter#sample-configuration>
       '';
     };
   };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix b/nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix
index bac98364538..8906c25d503 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix
@@ -24,7 +24,7 @@ in {
       example = literalExpression ''
         [ "/dev/sda", "/dev/nvme0n1" ];
       '';
-      description = ''
+      description = lib.mdDoc ''
         Paths to the disks that will be monitored. Will autodiscover
         all disks if none given.
       '';
@@ -33,7 +33,7 @@ in {
       type = types.str;
       default = "60s";
       example = "2m";
-      description = ''
+      description = lib.mdDoc ''
         Interval that limits how often a disk can be queried.
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/smokeping.nix b/nixos/modules/services/monitoring/prometheus/exporters/smokeping.nix
index 0181c341a7e..459f5842f54 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/smokeping.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/smokeping.nix
@@ -17,27 +17,27 @@ in
     telemetryPath = mkOption {
       type = types.str;
       default = "/metrics";
-      description = ''
+      description = lib.mdDoc ''
         Path under which to expose metrics.
       '';
     };
     pingInterval = mkOption {
       type = goDuration;
       default = "1s";
-      description = ''
+      description = lib.mdDoc ''
         Interval between pings.
       '';
     };
     buckets = mkOption {
       type = types.commas;
       default = "5e-05,0.0001,0.0002,0.0004,0.0008,0.0016,0.0032,0.0064,0.0128,0.0256,0.0512,0.1024,0.2048,0.4096,0.8192,1.6384,3.2768,6.5536,13.1072,26.2144";
-      description = ''
+      description = lib.mdDoc ''
         List of buckets to use for the response duration histogram.
       '';
     };
     hosts = mkOption {
       type = with types; listOf str;
-      description = ''
+      description = lib.mdDoc ''
         List of endpoints to probe.
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/snmp.nix b/nixos/modules/services/monitoring/prometheus/exporters/snmp.nix
index de42663e67f..edc6e4b5022 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/snmp.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/snmp.nix
@@ -11,7 +11,7 @@ in
     configurationPath = mkOption {
       type = types.nullOr types.path;
       default = null;
-      description = ''
+      description = lib.mdDoc ''
         Path to a snmp exporter configuration file. Mutually exclusive with 'configuration' option.
       '';
       example = literalExpression "./snmp.yml";
@@ -20,7 +20,7 @@ in
     configuration = mkOption {
       type = types.nullOr types.attrs;
       default = null;
-      description = ''
+      description = lib.mdDoc ''
         Snmp exporter configuration as nix attribute set. Mutually exclusive with 'configurationPath' option.
       '';
       example = {
@@ -36,7 +36,7 @@ in
     logFormat = mkOption {
       type = types.enum ["logfmt" "json"];
       default = "logfmt";
-      description = ''
+      description = lib.mdDoc ''
         Output format of log messages.
       '';
     };
@@ -44,7 +44,7 @@ in
     logLevel = mkOption {
       type = types.enum ["debug" "info" "warn" "error"];
       default = "info";
-      description = ''
+      description = lib.mdDoc ''
         Only log messages with the given severity or above.
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/sql.nix b/nixos/modules/services/monitoring/prometheus/exporters/sql.nix
index 3496fd9541f..678bc348679 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/sql.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/sql.nix
@@ -7,7 +7,7 @@ let
       jobs = mkOption {
         type = attrsOf (submodule jobOptions);
         default = { };
-        description = "An attrset of metrics scraping jobs to run.";
+        description = lib.mdDoc "An attrset of metrics scraping jobs to run.";
       };
     };
   };
@@ -15,23 +15,23 @@ let
     options = with types; {
       interval = mkOption {
         type = str;
-        description = ''
+        description = lib.mdDoc ''
           How often to run this job, specified in
-          <link xlink:href="https://golang.org/pkg/time/#ParseDuration">Go duration</link> format.
+          [Go duration](https://golang.org/pkg/time/#ParseDuration) format.
         '';
       };
       connections = mkOption {
         type = listOf str;
-        description = "A list of connection strings of the SQL servers to scrape metrics from";
+        description = lib.mdDoc "A list of connection strings of the SQL servers to scrape metrics from";
       };
       startupSql = mkOption {
         type = listOf str;
         default = [];
-        description = "A list of SQL statements to execute once after making a connection.";
+        description = lib.mdDoc "A list of SQL statements to execute once after making a connection.";
       };
       queries = mkOption {
         type = attrsOf (submodule queryOptions);
-        description = "SQL queries to run.";
+        description = lib.mdDoc "SQL queries to run.";
       };
     };
   };
@@ -40,20 +40,20 @@ let
       help = mkOption {
         type = nullOr str;
         default = null;
-        description = "A human-readable description of this metric.";
+        description = lib.mdDoc "A human-readable description of this metric.";
       };
       labels = mkOption {
         type = listOf str;
         default = [ ];
-        description = "A set of columns that will be used as Prometheus labels.";
+        description = lib.mdDoc "A set of columns that will be used as Prometheus labels.";
       };
       query = mkOption {
         type = str;
-        description = "The SQL query to run.";
+        description = lib.mdDoc "The SQL query to run.";
       };
       values = mkOption {
         type = listOf str;
-        description = "A set of columns that will be used as values of this metric.";
+        description = lib.mdDoc "A set of columns that will be used as values of this metric.";
       };
     };
   };
@@ -77,14 +77,14 @@ in
     configFile = mkOption {
       type = with types; nullOr path;
       default = null;
-      description = ''
+      description = lib.mdDoc ''
         Path to configuration file.
       '';
     };
     configuration = mkOption {
       type = with types; nullOr (submodule cfgOptions);
       default = null;
-      description = ''
+      description = lib.mdDoc ''
         Exporter configuration as nix attribute set. Mutually exclusive with 'configFile' option.
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/surfboard.nix b/nixos/modules/services/monitoring/prometheus/exporters/surfboard.nix
index 81c5c70ed93..b1d6760b40b 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/surfboard.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/surfboard.nix
@@ -11,7 +11,7 @@ in
     modemAddress = mkOption {
       type = types.str;
       default = "192.168.100.1";
-      description = ''
+      description = lib.mdDoc ''
         The hostname or IP of the cable modem.
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/tor.nix b/nixos/modules/services/monitoring/prometheus/exporters/tor.nix
index 36c473677ef..edf9b57607a 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/tor.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/tor.nix
@@ -11,7 +11,7 @@ in
     torControlAddress = mkOption {
       type = types.str;
       default = "127.0.0.1";
-      description = ''
+      description = lib.mdDoc ''
         Tor control IP address or hostname.
       '';
     };
@@ -19,7 +19,7 @@ in
     torControlPort = mkOption {
       type = types.int;
       default = 9051;
-      description = ''
+      description = lib.mdDoc ''
         Tor control port.
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/unbound.nix b/nixos/modules/services/monitoring/prometheus/exporters/unbound.nix
index cf0efddd340..f52d92a73d5 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/unbound.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/unbound.nix
@@ -12,7 +12,7 @@ in
       # TODO: add shm when upstream implemented it
       type = types.enum [ "tcp" "uds" ];
       default = "uds";
-      description = ''
+      description = lib.mdDoc ''
         Which methods the exporter uses to get the information from unbound.
       '';
     };
@@ -20,7 +20,7 @@ in
     telemetryPath = mkOption {
       type = types.str;
       default = "/metrics";
-      description = ''
+      description = lib.mdDoc ''
         Path under which to expose metrics.
       '';
     };
@@ -29,7 +29,7 @@ in
       type = types.nullOr types.str;
       default = null;
       example = "/run/unbound/unbound.socket";
-      description = ''
+      description = lib.mdDoc ''
         Path to the unbound socket for uds mode or the control interface port for tcp mode.
 
         Example:
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/unifi.nix b/nixos/modules/services/monitoring/prometheus/exporters/unifi.nix
index 8d0e8764001..70f26d9783b 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/unifi.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/unifi.nix
@@ -11,7 +11,7 @@ in
     unifiAddress = mkOption {
       type = types.str;
       example = "https://10.0.0.1:8443";
-      description = ''
+      description = lib.mdDoc ''
         URL of the UniFi Controller API.
       '';
     };
@@ -19,7 +19,7 @@ in
     unifiInsecure = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         If enabled skip the verification of the TLS certificate of the UniFi Controller API.
         Use with caution.
       '';
@@ -28,14 +28,14 @@ in
     unifiUsername = mkOption {
       type = types.str;
       example = "ReadOnlyUser";
-      description = ''
+      description = lib.mdDoc ''
         username for authentication against UniFi Controller API.
       '';
     };
 
     unifiPassword = mkOption {
       type = types.str;
-      description = ''
+      description = lib.mdDoc ''
         Password for authentication against UniFi Controller API.
       '';
     };
@@ -44,7 +44,7 @@ in
       type = types.str;
       default = "5s";
       example = "2m";
-      description = ''
+      description = lib.mdDoc ''
         Timeout including unit for UniFi Controller API requests.
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix b/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix
index ede6028933a..a7e5b41dffc 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix
@@ -11,35 +11,35 @@ in
     noExit = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Do not exit server on Varnish scrape errors.
       '';
     };
     withGoMetrics = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Export go runtime and http handler metrics.
       '';
     };
     verbose = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Enable verbose logging.
       '';
     };
     raw = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Enable raw stdout logging without timestamps.
       '';
     };
     varnishStatPath = mkOption {
       type = types.str;
       default = "varnishstat";
-      description = ''
+      description = lib.mdDoc ''
         Path to varnishstat.
       '';
     };
@@ -47,21 +47,21 @@ in
       type = types.nullOr types.str;
       default = config.services.varnish.stateDir;
       defaultText = lib.literalExpression "config.services.varnish.stateDir";
-      description = ''
+      description = lib.mdDoc ''
         varnishstat -n value.
       '';
     };
     healthPath = mkOption {
       type = types.nullOr types.str;
       default = null;
-      description = ''
+      description = lib.mdDoc ''
         Path under which to expose healthcheck. Disabled unless configured.
       '';
     };
     telemetryPath = mkOption {
       type = types.str;
       default = "/metrics";
-      description = ''
+      description = lib.mdDoc ''
         Path under which to expose metrics.
       '';
     };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix b/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix
index 2d329a1af1c..20631f2af93 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix
@@ -17,13 +17,13 @@ in {
       type = with types; nullOr (either path str);
       default = null;
 
-      description = ''
+      description = lib.mdDoc ''
         Path to the Wireguard Config to
-        <link xlink:href="https://github.com/MindFlavor/prometheus_wireguard_exporter/tree/2.0.0#usage">add the peer's name to the stats of a peer</link>.
+        [add the peer's name to the stats of a peer](https://github.com/MindFlavor/prometheus_wireguard_exporter/tree/2.0.0#usage).
 
-        Please note that <literal>networking.wg-quick</literal> is required for this feature
-        as <literal>networking.wireguard</literal> uses
-        <citerefentry><refentrytitle>wg</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+        Please note that `networking.wg-quick` is required for this feature
+        as `networking.wireguard` uses
+        {manpage}`wg(8)`
         to set the peers up.
       '';
     };
@@ -31,18 +31,18 @@ in {
     singleSubnetPerField = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         By default, all allowed IPs and subnets are comma-separated in the
-        <literal>allowed_ips</literal> field. With this option enabled,
-        a single IP and subnet will be listed in fields like <literal>allowed_ip_0</literal>,
-        <literal>allowed_ip_1</literal> and so on.
+        `allowed_ips` field. With this option enabled,
+        a single IP and subnet will be listed in fields like `allowed_ip_0`,
+        `allowed_ip_1` and so on.
       '';
     };
 
     withRemoteIp = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Whether or not the remote IP of a WireGuard peer should be exposed via prometheus.
       '';
     };
diff --git a/nixos/modules/services/network-filesystems/litestream/default.nix b/nixos/modules/services/network-filesystems/litestream/default.nix
index 25744b91964..92ae1d0fd3b 100644
--- a/nixos/modules/services/network-filesystems/litestream/default.nix
+++ b/nixos/modules/services/network-filesystems/litestream/default.nix
@@ -41,9 +41,7 @@ in
       default = null;
       example = "/run/secrets/litestream";
       description = ''
-        Environment file as defined in <citerefentry>
-        <refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum>
-        </citerefentry>.
+        Environment file as defined in <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
 
         Secrets may be passed to the service without adding them to the
         world-readable Nix store, by specifying placeholder variables as
diff --git a/nixos/modules/services/network-filesystems/netatalk.nix b/nixos/modules/services/network-filesystems/netatalk.nix
index e870056e1d1..838a374ba6c 100644
--- a/nixos/modules/services/network-filesystems/netatalk.nix
+++ b/nixos/modules/services/network-filesystems/netatalk.nix
@@ -32,20 +32,18 @@ in {
             "read only" = true;
           };
         };
-        description = ''
+        description = lib.mdDoc ''
           Configuration for Netatalk. See
-          <citerefentry><refentrytitle>afp.conf</refentrytitle>
-          <manvolnum>5</manvolnum></citerefentry>.
+          {manpage}`afp.conf(5)`.
         '';
       };
 
       extmap = mkOption {
         type = types.lines;
         default = "";
-        description = ''
+        description = lib.mdDoc ''
           File name extension mappings.
-          See <citerefentry><refentrytitle>extmap.conf</refentrytitle>
-          <manvolnum>5</manvolnum></citerefentry>. for more information.
+          See {manpage}`extmap.conf(5)`. for more information.
         '';
       };
 
diff --git a/nixos/modules/services/network-filesystems/nfsd.nix b/nixos/modules/services/network-filesystems/nfsd.nix
index 22c7c8790c2..c9e1cbcbbda 100644
--- a/nixos/modules/services/network-filesystems/nfsd.nix
+++ b/nixos/modules/services/network-filesystems/nfsd.nix
@@ -42,21 +42,19 @@ in
         exports = mkOption {
           type = types.lines;
           default = "";
-          description = ''
+          description = lib.mdDoc ''
             Contents of the /etc/exports file.  See
-            <citerefentry><refentrytitle>exports</refentrytitle>
-            <manvolnum>5</manvolnum></citerefentry> for the format.
+            {manpage}`exports(5)` for the format.
           '';
         };
 
         hostName = mkOption {
           type = types.nullOr types.str;
           default = null;
-          description = ''
+          description = lib.mdDoc ''
             Hostname or address on which NFS requests will be accepted.
-            Default is all.  See the <option>-H</option> option in
-            <citerefentry><refentrytitle>nfsd</refentrytitle>
-            <manvolnum>8</manvolnum></citerefentry>.
+            Default is all.  See the {option}`-H` option in
+            {manpage}`nfsd(8)`.
           '';
         };
 
diff --git a/nixos/modules/services/network-filesystems/openafs/client.nix b/nixos/modules/services/network-filesystems/openafs/client.nix
index c8cc5052c2a..bb0fee087e6 100644
--- a/nixos/modules/services/network-filesystems/openafs/client.nix
+++ b/nixos/modules/services/network-filesystems/openafs/client.nix
@@ -33,29 +33,29 @@ in
       enable = mkOption {
         default = false;
         type = types.bool;
-        description = "Whether to enable the OpenAFS client.";
+        description = lib.mdDoc "Whether to enable the OpenAFS client.";
       };
 
       afsdb = mkOption {
         default = true;
         type = types.bool;
-        description = "Resolve cells via AFSDB DNS records.";
+        description = lib.mdDoc "Resolve cells via AFSDB DNS records.";
       };
 
       cellName = mkOption {
         default = "";
         type = types.str;
-        description = "Cell name.";
+        description = lib.mdDoc "Cell name.";
         example = "grand.central.org";
       };
 
       cellServDB = mkOption {
         default = [];
         type = with types; listOf (submodule { options = cellServDBConfig; });
-        description = ''
+        description = lib.mdDoc ''
           This cell's database server records, added to the global
           CellServDB. See CellServDB(5) man page for syntax. Ignored when
-          <literal>afsdb</literal> is set to <literal>true</literal>.
+          `afsdb` is set to `true`.
         '';
         example = [
           { ip = "1.2.3.4"; dnsname = "first.afsdb.server.dns.fqdn.org"; }
@@ -67,15 +67,15 @@ in
         blocks = mkOption {
           default = 100000;
           type = types.int;
-          description = "Cache size in 1KB blocks.";
+          description = lib.mdDoc "Cache size in 1KB blocks.";
         };
 
         chunksize = mkOption {
           default = 0;
           type = types.ints.between 0 30;
-          description = ''
+          description = lib.mdDoc ''
             Size of each cache chunk given in powers of
-            2. <literal>0</literal> resets the chunk size to its default
+            2. `0` resets the chunk size to its default
             values (13 (8 KB) for memcache, 18-20 (256 KB to 1 MB) for
             diskcache). Maximum value is 30. Important performance
             parameter. Set to higher values when dealing with large files.
@@ -85,13 +85,13 @@ in
         directory = mkOption {
           default = "/var/cache/openafs";
           type = types.str;
-          description = "Cache directory.";
+          description = lib.mdDoc "Cache directory.";
         };
 
         diskless = mkOption {
           default = false;
           type = types.bool;
-          description = ''
+          description = lib.mdDoc ''
             Use in-memory cache for diskless machines. Has no real
             performance benefit anymore.
           '';
@@ -101,13 +101,13 @@ in
       crypt = mkOption {
         default = true;
         type = types.bool;
-        description = "Whether to enable (weak) protocol encryption.";
+        description = lib.mdDoc "Whether to enable (weak) protocol encryption.";
       };
 
       daemons = mkOption {
         default = 2;
         type = types.int;
-        description = ''
+        description = lib.mdDoc ''
           Number of daemons to serve user requests. Numbers higher than 6
           usually do no increase performance. Default is sufficient for up
           to five concurrent users.
@@ -117,9 +117,9 @@ in
       fakestat = mkOption {
         default = false;
         type = types.bool;
-        description = ''
-          Return fake data on stat() calls. If <literal>true</literal>,
-          always do so. If <literal>false</literal>, only do so for
+        description = lib.mdDoc ''
+          Return fake data on stat() calls. If `true`,
+          always do so. If `false`, only do so for
           cross-cell mounts (as these are potentially expensive).
         '';
       };
@@ -127,9 +127,9 @@ in
       inumcalc = mkOption {
         default = "compat";
         type = types.strMatching "compat|md5";
-        description = ''
-          Inode calculation method. <literal>compat</literal> is
-          computationally less expensive, but <literal>md5</literal> greatly
+        description = lib.mdDoc ''
+          Inode calculation method. `compat` is
+          computationally less expensive, but `md5` greatly
           reduces the likelihood of inode collisions in larger scenarios
           involving multiple cells mounted into one AFS space.
         '';
@@ -138,9 +138,9 @@ in
       mountPoint = mkOption {
         default = "/afs";
         type = types.str;
-        description = ''
+        description = lib.mdDoc ''
           Mountpoint of the AFS file tree, conventionally
-          <literal>/afs</literal>. When set to a different value, only
+          `/afs`. When set to a different value, only
           cross-cells that use the same value can be accessed.
         '';
       };
@@ -150,28 +150,28 @@ in
           default = config.boot.kernelPackages.openafs;
           defaultText = literalExpression "config.boot.kernelPackages.openafs";
           type = types.package;
-          description = "OpenAFS kernel module package. MUST match the userland package!";
+          description = lib.mdDoc "OpenAFS kernel module package. MUST match the userland package!";
         };
         programs = mkOption {
           default = getBin pkgs.openafs;
           defaultText = literalExpression "getBin pkgs.openafs";
           type = types.package;
-          description = "OpenAFS programs package. MUST match the kernel module package!";
+          description = lib.mdDoc "OpenAFS programs package. MUST match the kernel module package!";
         };
       };
 
       sparse = mkOption {
         default = true;
         type = types.bool;
-        description = "Minimal cell list in /afs.";
+        description = lib.mdDoc "Minimal cell list in /afs.";
       };
 
       startDisconnected = mkOption {
         default = false;
         type = types.bool;
-        description = ''
+        description = lib.mdDoc ''
           Start up in disconnected mode.  You need to execute
-          <literal>fs disco online</literal> (as root) to switch to
+          `fs disco online` (as root) to switch to
           connected mode. Useful for roaming devices.
         '';
       };
diff --git a/nixos/modules/services/network-filesystems/openafs/lib.nix b/nixos/modules/services/network-filesystems/openafs/lib.nix
index e068ee761c2..80628f4dfaf 100644
--- a/nixos/modules/services/network-filesystems/openafs/lib.nix
+++ b/nixos/modules/services/network-filesystems/openafs/lib.nix
@@ -17,13 +17,13 @@ in {
       type = types.str;
       default = "";
       example = "1.2.3.4";
-      description = "IP Address of a database server";
+      description = lib.mdDoc "IP Address of a database server";
     };
     dnsname = mkOption {
       type = types.str;
       default = "";
       example = "afs.example.org";
-      description = "DNS full-qualified domain name of a database server";
+      description = lib.mdDoc "DNS full-qualified domain name of a database server";
     };
   };
 
diff --git a/nixos/modules/services/network-filesystems/openafs/server.nix b/nixos/modules/services/network-filesystems/openafs/server.nix
index 9c974335def..1c615d3bfb6 100644
--- a/nixos/modules/services/network-filesystems/openafs/server.nix
+++ b/nixos/modules/services/network-filesystems/openafs/server.nix
@@ -49,13 +49,13 @@ in {
       enable = mkOption {
         default = false;
         type = types.bool;
-        description = ''
+        description = lib.mdDoc ''
           Whether to enable the OpenAFS server. An OpenAFS server needs a
           complex setup. So, be aware that enabling this service and setting
           some options does not give you a turn-key-ready solution. You need
           at least a running Kerberos 5 setup, as OpenAFS relies on it for
           authentication. See the Guide "QuickStartUnix" coming with
-          <literal>pkgs.openafs.doc</literal> for complete setup
+          `pkgs.openafs.doc` for complete setup
           instructions.
         '';
       };
@@ -63,27 +63,27 @@ in {
       advertisedAddresses = mkOption {
         type = types.listOf types.str;
         default = [];
-        description = "List of IP addresses this server is advertised under. See NetInfo(5)";
+        description = lib.mdDoc "List of IP addresses this server is advertised under. See NetInfo(5)";
       };
 
       cellName = mkOption {
         default = "";
         type = types.str;
-        description = "Cell name, this server will serve.";
+        description = lib.mdDoc "Cell name, this server will serve.";
         example = "grand.central.org";
       };
 
       cellServDB = mkOption {
         default = [];
         type = with types; listOf (submodule [ { options = cellServDBConfig;} ]);
-        description = "Definition of all cell-local database server machines.";
+        description = lib.mdDoc "Definition of all cell-local database server machines.";
       };
 
       package = mkOption {
         default = pkgs.openafs.server or pkgs.openafs;
         defaultText = literalExpression "pkgs.openafs.server or pkgs.openafs";
         type = types.package;
-        description = "OpenAFS package for the server binaries";
+        description = lib.mdDoc "OpenAFS package for the server binaries";
       };
 
       roles = {
@@ -91,33 +91,33 @@ in {
           enable = mkOption {
             default = true;
             type = types.bool;
-            description = "Fileserver role, serves files and volumes from its local storage.";
+            description = lib.mdDoc "Fileserver role, serves files and volumes from its local storage.";
           };
 
           fileserverArgs = mkOption {
             default = "-vattachpar 128 -vhashsize 11 -L -rxpck 400 -cb 1000000";
             type = types.str;
-            description = "Arguments to the dafileserver process. See its man page.";
+            description = lib.mdDoc "Arguments to the dafileserver process. See its man page.";
           };
 
           volserverArgs = mkOption {
             default = "";
             type = types.str;
-            description = "Arguments to the davolserver process. See its man page.";
+            description = lib.mdDoc "Arguments to the davolserver process. See its man page.";
             example = "-sync never";
           };
 
           salvageserverArgs = mkOption {
             default = "";
             type = types.str;
-            description = "Arguments to the salvageserver process. See its man page.";
+            description = lib.mdDoc "Arguments to the salvageserver process. See its man page.";
             example = "-showlog";
           };
 
           salvagerArgs = mkOption {
             default = "";
             type = types.str;
-            description = "Arguments to the dasalvager process. See its man page.";
+            description = lib.mdDoc "Arguments to the dasalvager process. See its man page.";
             example = "-showlog -showmounts";
           };
         };
@@ -126,10 +126,10 @@ in {
           enable = mkOption {
             default = true;
             type = types.bool;
-            description = ''
+            description = lib.mdDoc ''
               Database server role, maintains the Volume Location Database,
               Protection Database (and Backup Database, see
-              <literal>backup</literal> role). There can be multiple
+              `backup` role). There can be multiple
               servers in the database role for replication, which then need
               reliable network connection to each other.
 
@@ -141,14 +141,14 @@ in {
           vlserverArgs = mkOption {
             default = "";
             type = types.str;
-            description = "Arguments to the vlserver process. See its man page.";
+            description = lib.mdDoc "Arguments to the vlserver process. See its man page.";
             example = "-rxbind";
           };
 
           ptserverArgs = mkOption {
             default = "";
             type = types.str;
-            description = "Arguments to the ptserver process. See its man page.";
+            description = lib.mdDoc "Arguments to the ptserver process. See its man page.";
             example = "-restricted -default_access S---- S-M---";
           };
         };
@@ -157,9 +157,9 @@ in {
           enable = mkOption {
             default = false;
             type = types.bool;
-            description = ''
+            description = lib.mdDoc ''
               Backup server role. Use in conjunction with the
-              <literal>database</literal> role to maintain the Backup
+              `database` role to maintain the Backup
               Database. Normally only used in conjunction with tape storage
               or IBM's Tivoli Storage Manager.
             '';
@@ -168,14 +168,14 @@ in {
           buserverArgs = mkOption {
             default = "";
             type = types.str;
-            description = "Arguments to the buserver process. See its man page.";
+            description = lib.mdDoc "Arguments to the buserver process. See its man page.";
             example = "-p 8";
           };
 
           cellServDB = mkOption {
             default = [];
             type = with types; listOf (submodule [ { options = cellServDBConfig;} ]);
-            description = ''
+            description = lib.mdDoc ''
               Definition of all cell-local backup database server machines.
               Use this when your cell uses less backup database servers than
               other database server machines.
@@ -187,7 +187,7 @@ in {
       dottedPrincipals= mkOption {
         default = false;
         type = types.bool;
-        description = ''
+        description = lib.mdDoc ''
           If enabled, allow principal names containing (.) dots. Enabling
           this has security implications!
         '';
@@ -196,11 +196,11 @@ in {
       udpPacketSize = mkOption {
         default = 1310720;
         type = types.int;
-        description = ''
+        description = lib.mdDoc ''
           UDP packet size to use in Bytes. Higher values can speed up
           communications. The default of 1 MB is a sufficient in most
           cases. Make sure to increase the kernel's UDP buffer size
-          accordingly via <literal>net.core(w|r|opt)mem_max</literal>
+          accordingly via `net.core(w|r|opt)mem_max`
           sysctl.
         '';
       };
diff --git a/nixos/modules/services/network-filesystems/rsyncd.nix b/nixos/modules/services/network-filesystems/rsyncd.nix
index ab24ebfee27..d65113c84b3 100644
--- a/nixos/modules/services/network-filesystems/rsyncd.nix
+++ b/nixos/modules/services/network-filesystems/rsyncd.nix
@@ -39,10 +39,9 @@ in {
             "secrets file" = "/etc/rsyncd.secrets";
           };
         };
-        description = ''
+        description = lib.mdDoc ''
           Configuration for rsyncd. See
-          <citerefentry><refentrytitle>rsyncd.conf</refentrytitle>
-          <manvolnum>5</manvolnum></citerefentry>.
+          {manpage}`rsyncd.conf(5)`.
         '';
       };
 
diff --git a/nixos/modules/services/network-filesystems/webdav.nix b/nixos/modules/services/network-filesystems/webdav.nix
index 5628fd1e6c6..b7c07b8c12c 100644
--- a/nixos/modules/services/network-filesystems/webdav.nix
+++ b/nixos/modules/services/network-filesystems/webdav.nix
@@ -67,10 +67,8 @@ in
       environmentFile = mkOption {
         type = types.nullOr types.path;
         default = null;
-        description = ''
-          Environment file as defined in <citerefentry>
-          <refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum>
-          </citerefentry>.
+        description = lib.mdDoc ''
+          Environment file as defined in {manpage}`systemd.exec(5)`.
         '';
       };
     };
diff --git a/nixos/modules/services/networking/avahi-daemon.nix b/nixos/modules/services/networking/avahi-daemon.nix
index 498e5a47670..56113bd3459 100644
--- a/nixos/modules/services/networking/avahi-daemon.nix
+++ b/nixos/modules/services/networking/avahi-daemon.nix
@@ -150,10 +150,9 @@ in
           ''';
         }
       '';
-      description = ''
+      description = lib.mdDoc ''
         Specify custom service definitions which are placed in the avahi service directory.
-        See the <citerefentry><refentrytitle>avahi.service</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> manpage for detailed information.
+        See the {manpage}`avahi.service(5)` manpage for detailed information.
       '';
     };
 
diff --git a/nixos/modules/services/networking/biboumi.nix b/nixos/modules/services/networking/biboumi.nix
index 7e603300883..24e0c0328fe 100644
--- a/nixos/modules/services/networking/biboumi.nix
+++ b/nixos/modules/services/networking/biboumi.nix
@@ -83,13 +83,13 @@ in
           };
           options.password = mkOption {
             type = with types; nullOr str;
-            description = ''
+            description = lib.mdDoc ''
               The password used to authenticate the XMPP component to your XMPP server.
               This password must be configured in the XMPP server,
               associated with the external component on
-              <link linkend="opt-services.biboumi.settings.hostname">hostname</link>.
+              [hostname](#opt-services.biboumi.settings.hostname).
 
-              Set it to null and use <link linkend="opt-services.biboumi.credentialsFile">credentialsFile</link>
+              Set it to null and use [credentialsFile](#opt-services.biboumi.credentialsFile)
               if you do not want this password to go into the Nix store.
             '';
           };
@@ -155,12 +155,12 @@ in
 
       credentialsFile = mkOption {
         type = types.path;
-        description = ''
+        description = lib.mdDoc ''
           Path to a configuration file to be merged with the settings.
           Beware not to surround "=" with spaces when setting biboumi's options in this file.
           Useful to merge a file which is better kept out of the Nix store
           because it contains sensible data like
-          <link linkend="opt-services.biboumi.settings.password">password</link>.
+          [password](#opt-services.biboumi.settings.password).
         '';
         default = "/dev/null";
         example = "/run/keys/biboumi.cfg";
diff --git a/nixos/modules/services/networking/bird-lg.nix b/nixos/modules/services/networking/bird-lg.nix
index db4a4140dd4..1440deb62b4 100644
--- a/nixos/modules/services/networking/bird-lg.nix
+++ b/nixos/modules/services/networking/bird-lg.nix
@@ -136,9 +136,9 @@ in
         extraArgs = mkOption {
           type = types.lines;
           default = "";
-          description = "
-            Extra parameters documented <link xlink:href=\"https://github.com/xddxdd/bird-lg-go#frontend\">here</link>.
-          ";
+          description = lib.mdDoc ''
+            Extra parameters documented [here](https://github.com/xddxdd/bird-lg-go#frontend).
+          '';
         };
       };
 
@@ -183,9 +183,9 @@ in
         extraArgs = mkOption {
           type = types.lines;
           default = "";
-          description = "
-            Extra parameters documented <link xlink:href=\"https://github.com/xddxdd/bird-lg-go#proxy\">here</link>.
-          ";
+          description = lib.mdDoc ''
+            Extra parameters documented [here](https://github.com/xddxdd/bird-lg-go#proxy).
+          '';
         };
       };
     };
diff --git a/nixos/modules/services/networking/bird.nix b/nixos/modules/services/networking/bird.nix
index d409f060228..7708aaa476f 100644
--- a/nixos/modules/services/networking/bird.nix
+++ b/nixos/modules/services/networking/bird.nix
@@ -13,18 +13,18 @@ in
       enable = mkEnableOption "BIRD Internet Routing Daemon";
       config = mkOption {
         type = types.lines;
-        description = ''
+        description = lib.mdDoc ''
           BIRD Internet Routing Daemon configuration file.
-          <link xlink:href='http://bird.network.cz/'/>
+          <http://bird.network.cz/>
         '';
       };
       checkConfig = mkOption {
         type = types.bool;
         default = true;
-        description = ''
+        description = lib.mdDoc ''
           Whether the config should be checked at build time.
           When the config can't be checked during build time, for example when it includes
-          other files, either disable this option or use <code>preCheckConfig</code> to create
+          other files, either disable this option or use `preCheckConfig` to create
           the included files before checking.
         '';
       };
@@ -34,9 +34,9 @@ in
         example = ''
           echo "cost 100;" > include.conf
         '';
-        description = ''
+        description = lib.mdDoc ''
           Commands to execute before the config file check. The file to be checked will be
-          available as <code>bird2.conf</code> in the current directory.
+          available as `bird2.conf` in the current directory.
 
           Files created with this option will not be available at service runtime, only during
           build time checking.
diff --git a/nixos/modules/services/networking/coredns.nix b/nixos/modules/services/networking/coredns.nix
index 9a4140e9d58..deaba69e99f 100644
--- a/nixos/modules/services/networking/coredns.nix
+++ b/nixos/modules/services/networking/coredns.nix
@@ -17,7 +17,10 @@ in {
         }
       '';
       type = types.lines;
-      description = "Verbatim Corefile to use. See <link xlink:href=\"https://coredns.io/manual/toc/#configuration\"/> for details.";
+      description = lib.mdDoc ''
+        Verbatim Corefile to use.
+        See <https://coredns.io/manual/toc/#configuration> for details.
+      '';
     };
 
     package = mkOption {
diff --git a/nixos/modules/services/networking/firefox-syncserver.md b/nixos/modules/services/networking/firefox-syncserver.md
new file mode 100644
index 00000000000..3ee863343ec
--- /dev/null
+++ b/nixos/modules/services/networking/firefox-syncserver.md
@@ -0,0 +1,55 @@
+# Firefox Sync server {#module-services-firefox-syncserver}
+
+A storage server for Firefox Sync that you can easily host yourself.
+
+## Quickstart {#module-services-firefox-syncserver-quickstart}
+
+The absolute minimal configuration for the sync server looks like this:
+
+```nix
+services.mysql.package = pkgs.mariadb;
+
+services.firefox-syncserver = {
+  enable = true;
+  secrets = builtins.toFile "sync-secrets" ''
+    SYNC_MASTER_SECRET=this-secret-is-actually-leaked-to-/nix/store
+  '';
+  singleNode = {
+    enable = true;
+    hostname = "localhost";
+    url = "http://localhost:5000";
+  };
+};
+```
+
+This will start a sync server that is only accessible locally. Once the services is
+running you can navigate to `about:config` in your Firefox profile and set
+`identity.sync.tokenserver.uri` to `http://localhost:5000/1.0/sync/1.5`. Your browser
+will now use your local sync server for data storage.
+
+::: {.warning}
+This configuration should never be used in production. It is not encrypted and
+stores its secrets in a world-readable location.
+:::
+
+## More detailed setup {#module-services-firefox-syncserver-configuration}
+
+The `firefox-syncserver` service provides a number of options to make setting up
+small deployment easier. These are grouped under the `singleNode` element of the
+option tree and allow simple configuration of the most important parameters.
+
+Single node setup is split into two kinds of options: those that affect the sync
+server itself, and those that affect its surroundings. Options that affect the
+sync server are `capacity`, which configures how many accounts may be active on
+this instance, and `url`, which holds the URL under which the sync server can be
+accessed. The `url` can be configured automatically when using nginx.
+
+Options that affect the surroundings of the sync server are `enableNginx`,
+`enableTLS` and `hostnam`. If `enableNginx` is set the sync server module will
+automatically add an nginx virtual host to the system using `hostname` as the
+domain and set `url` accordingly. If `enableTLS` is set the module will also
+enable ACME certificates on the new virtual host and force all connections to
+be made via TLS.
+
+For actual deployment it is also recommended to store the `secrets` file in a
+secure location.
diff --git a/nixos/modules/services/networking/firefox-syncserver.nix b/nixos/modules/services/networking/firefox-syncserver.nix
new file mode 100644
index 00000000000..254d5c1dc67
--- /dev/null
+++ b/nixos/modules/services/networking/firefox-syncserver.nix
@@ -0,0 +1,328 @@
+{ config, pkgs, lib, options, ... }:
+
+let
+  cfg = config.services.firefox-syncserver;
+  opt = options.services.firefox-syncserver;
+  defaultDatabase = "firefox_syncserver";
+  defaultUser = "firefox-syncserver";
+
+  dbIsLocal = cfg.database.host == "localhost";
+  dbURL = "mysql://${cfg.database.user}@${cfg.database.host}/${cfg.database.name}";
+
+  format = pkgs.formats.toml {};
+  settings = {
+    database_url = dbURL;
+    human_logs = true;
+    tokenserver = {
+      node_type = "mysql";
+      database_url = dbURL;
+      fxa_email_domain = "api.accounts.firefox.com";
+      fxa_oauth_server_url = "https://oauth.accounts.firefox.com/v1";
+      run_migrations = true;
+    } // lib.optionalAttrs cfg.singleNode.enable {
+      # Single-node mode is likely to be used on small instances with little
+      # capacity. The default value (0.1) can only ever release capacity when
+      # accounts are removed if the total capacity is 10 or larger to begin
+      # with.
+      # https://github.com/mozilla-services/syncstorage-rs/issues/1313#issuecomment-1145293375
+      node_capacity_release_rate = 1;
+    };
+  };
+  configFile = format.generate "syncstorage.toml" (lib.recursiveUpdate settings cfg.settings);
+in
+
+{
+  options = {
+    services.firefox-syncserver = {
+      enable = lib.mkEnableOption ''
+        the Firefox Sync storage service.
+
+        Out of the box this will not be very useful unless you also configure at least
+        one service and one nodes by inserting them into the mysql database manually, e.g.
+        by running
+
+        <programlisting>
+          INSERT INTO `services` (`id`, `service`, `pattern`) VALUES ('1', 'sync-1.5', '{node}/1.5/{uid}');
+          INSERT INTO `nodes` (`id`, `service`, `node`, `available`, `current_load`,
+              `capacity`, `downed`, `backoff`)
+            VALUES ('1', '1', 'https://mydomain.tld', '1', '0', '10', '0', '0');
+        </programlisting>
+
+        <option>${opt.singleNode.enable}</option> does this automatically when enabled
+      '';
+
+      package = lib.mkOption {
+        type = lib.types.package;
+        default = pkgs.syncstorage-rs;
+        defaultText = lib.literalExpression "pkgs.syncstorage-rs";
+        description = ''
+          Package to use.
+        '';
+      };
+
+      database.name = lib.mkOption {
+        # the mysql module does not allow `-quoting without resorting to shell
+        # escaping, so we restrict db names for forward compaitiblity should this
+        # behavior ever change.
+        type = lib.types.strMatching "[a-z_][a-z0-9_]*";
+        default = defaultDatabase;
+        description = ''
+          Database to use for storage. Will be created automatically if it does not exist
+          and <literal>config.${opt.database.createLocally}</literal> is set.
+        '';
+      };
+
+      database.user = lib.mkOption {
+        type = lib.types.str;
+        default = defaultUser;
+        description = ''
+          Username for database connections.
+        '';
+      };
+
+      database.host = lib.mkOption {
+        type = lib.types.str;
+        default = "localhost";
+        description = ''
+          Database host name. <literal>localhost</literal> is treated specially and inserts
+          systemd dependencies, other hostnames or IP addresses of the local machine do not.
+        '';
+      };
+
+      database.createLocally = lib.mkOption {
+        type = lib.types.bool;
+        default = true;
+        description = ''
+          Whether to create database and user on the local machine if they do not exist.
+          This includes enabling unix domain socket authentication for the configured user.
+        '';
+      };
+
+      logLevel = lib.mkOption {
+        type = lib.types.str;
+        default = "error";
+        description = ''
+          Log level to run with. This can be a simple log level like <literal>error</literal>
+          or <literal>trace</literal>, or a more complicated logging expression.
+        '';
+      };
+
+      secrets = lib.mkOption {
+        type = lib.types.path;
+        description = ''
+          A file containing the various secrets. Should be in the format expected by systemd's
+          <literal>EnvironmentFile</literal> directory. Two secrets are currently available:
+          <literal>SYNC_MASTER_SECRET</literal> and
+          <literal>SYNC_TOKENSERVER__FXA_METRICS_HASH_SECRET</literal>.
+        '';
+      };
+
+      singleNode = {
+        enable = lib.mkEnableOption "auto-configuration for a simple single-node setup";
+
+        enableTLS = lib.mkEnableOption "automatic TLS setup";
+
+        enableNginx = lib.mkEnableOption "nginx virtualhost definitions";
+
+        hostname = lib.mkOption {
+          type = lib.types.str;
+          description = ''
+            Host name to use for this service.
+          '';
+        };
+
+        capacity = lib.mkOption {
+          type = lib.types.ints.unsigned;
+          default = 10;
+          description = ''
+            How many sync accounts are allowed on this server. Setting this value
+            equal to or less than the number of currently active accounts will
+            effectively deny service to accounts not yet registered here.
+          '';
+        };
+
+        url = lib.mkOption {
+          type = lib.types.str;
+          default = "${if cfg.singleNode.enableTLS then "https" else "http"}://${cfg.singleNode.hostname}";
+          defaultText = lib.literalExpression ''
+            ''${if cfg.singleNode.enableTLS then "https" else "http"}://''${config.${opt.singleNode.hostname}}
+          '';
+          description = ''
+            URL of the host. If you are not using the automatic webserver proxy setup you will have
+            to change this setting or your sync server may not be functional.
+          '';
+        };
+      };
+
+      settings = lib.mkOption {
+        type = lib.types.submodule {
+          freeformType = format.type;
+
+          options = {
+            port = lib.mkOption {
+              type = lib.types.port;
+              default = 5000;
+              description = ''
+                Port to bind to.
+              '';
+            };
+
+            tokenserver.enabled = lib.mkOption {
+              type = lib.types.bool;
+              default = true;
+              description = ''
+                Whether to enable the token service as well.
+              '';
+            };
+          };
+        };
+        default = { };
+        description = ''
+          Settings for the sync server. These take priority over values computed
+          from NixOS options.
+
+          See the doc comments on the <literal>Settings</literal> structs in
+          <link xlink:href="https://github.com/mozilla-services/syncstorage-rs/blob/master/syncstorage/src/settings.rs" />
+          and
+          <link xlink:href="https://github.com/mozilla-services/syncstorage-rs/blob/master/syncstorage/src/tokenserver/settings.rs" />
+          for available options.
+        '';
+      };
+    };
+  };
+
+  config = lib.mkIf cfg.enable {
+    services.mysql = lib.mkIf cfg.database.createLocally {
+      enable = true;
+      ensureDatabases = [ cfg.database.name ];
+      ensureUsers = [{
+        name = cfg.database.user;
+        ensurePermissions = {
+          "${cfg.database.name}.*" = "all privileges";
+        };
+      }];
+    };
+
+    systemd.services.firefox-syncserver = {
+      wantedBy = [ "multi-user.target" ];
+      requires = lib.mkIf dbIsLocal [ "mysql.service" ];
+      after = lib.mkIf dbIsLocal [ "mysql.service" ];
+      environment.RUST_LOG = cfg.logLevel;
+      serviceConfig = {
+        User = defaultUser;
+        Group = defaultUser;
+        ExecStart = "${cfg.package}/bin/syncstorage --config ${configFile}";
+        Stderr = "journal";
+        EnvironmentFile = lib.mkIf (cfg.secrets != null) "${cfg.secrets}";
+
+        # hardening
+        RemoveIPC = true;
+        CapabilityBoundingSet = [ "" ];
+        DynamicUser = true;
+        NoNewPrivileges = true;
+        PrivateDevices = true;
+        ProtectClock = true;
+        ProtectKernelLogs = true;
+        ProtectControlGroups = true;
+        ProtectKernelModules = true;
+        SystemCallArchitectures = "native";
+        # syncstorage-rs uses python-cffi internally, and python-cffi does not
+        # work with MemoryDenyWriteExecute=true
+        MemoryDenyWriteExecute = false;
+        RestrictNamespaces = true;
+        RestrictSUIDSGID = true;
+        ProtectHostname = true;
+        LockPersonality = true;
+        ProtectKernelTunables = true;
+        RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ];
+        RestrictRealtime = true;
+        ProtectSystem = "strict";
+        ProtectProc = "invisible";
+        ProcSubset = "pid";
+        ProtectHome = true;
+        PrivateUsers = true;
+        PrivateTmp = true;
+        SystemCallFilter = [ "@system-service" "~ @privileged @resources" ];
+        UMask = "0077";
+      };
+    };
+
+    systemd.services.firefox-syncserver-setup = lib.mkIf cfg.singleNode.enable {
+      wantedBy = [ "firefox-syncserver.service" ];
+      requires = [ "firefox-syncserver.service" ] ++ lib.optional dbIsLocal "mysql.service";
+      after = [ "firefox-syncserver.service" ] ++ lib.optional dbIsLocal "mysql.service";
+      path = [ config.services.mysql.package ];
+      script = ''
+        set -euo pipefail
+        shopt -s inherit_errexit
+
+        schema_configured() {
+          mysql ${cfg.database.name} -Ne 'SHOW TABLES' | grep -q services
+        }
+
+        services_configured() {
+          [ 1 != $(mysql ${cfg.database.name} -Ne 'SELECT COUNT(*) < 1 FROM `services`') ]
+        }
+
+        create_services() {
+          mysql ${cfg.database.name} <<"EOF"
+            BEGIN;
+
+            INSERT INTO `services` (`id`, `service`, `pattern`)
+              VALUES (1, 'sync-1.5', '{node}/1.5/{uid}');
+            INSERT INTO `nodes` (`id`, `service`, `node`, `available`, `current_load`,
+                                 `capacity`, `downed`, `backoff`)
+              VALUES (1, 1, '${cfg.singleNode.url}', ${toString cfg.singleNode.capacity},
+                      0, ${toString cfg.singleNode.capacity}, 0, 0);
+
+            COMMIT;
+        EOF
+        }
+
+        update_nodes() {
+          mysql ${cfg.database.name} <<"EOF"
+            UPDATE `nodes`
+              SET `capacity` = ${toString cfg.singleNode.capacity}
+              WHERE `id` = 1;
+        EOF
+        }
+
+        for (( try = 0; try < 60; try++ )); do
+          if ! schema_configured; then
+            sleep 2
+          elif services_configured; then
+            update_nodes
+            exit 0
+          else
+            create_services
+            exit 0
+          fi
+        done
+
+        echo "Single-node setup failed"
+        exit 1
+      '';
+    };
+
+    services.nginx.virtualHosts = lib.mkIf cfg.singleNode.enableNginx {
+      ${cfg.singleNode.hostname} = {
+        enableACME = cfg.singleNode.enableTLS;
+        forceSSL = cfg.singleNode.enableTLS;
+        locations."/" = {
+          proxyPass = "http://localhost:${toString cfg.settings.port}";
+          # source mentions that this header should be set
+          extraConfig = ''
+            add_header X-Content-Type-Options nosniff;
+          '';
+        };
+      };
+    };
+  };
+
+  meta = {
+    maintainers = with lib.maintainers; [ pennae ];
+    # Don't edit the docbook xml directly, edit the md and generate it:
+    # `pandoc firefox-syncserver.md -t docbook --top-level-division=chapter --extract-media=media -f markdown+smart > firefox-syncserver.xml`
+    doc = ./firefox-syncserver.xml;
+  };
+}
diff --git a/nixos/modules/services/networking/firefox-syncserver.xml b/nixos/modules/services/networking/firefox-syncserver.xml
new file mode 100644
index 00000000000..66c81226695
--- /dev/null
+++ b/nixos/modules/services/networking/firefox-syncserver.xml
@@ -0,0 +1,77 @@
+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-firefox-syncserver">
+  <title>Firefox Sync server</title>
+  <para>
+    A storage server for Firefox Sync that you can easily host yourself.
+  </para>
+  <section xml:id="module-services-firefox-syncserver-quickstart">
+    <title>Quickstart</title>
+    <para>
+      The absolute minimal configuration for the sync server looks like
+      this:
+    </para>
+    <programlisting language="nix">
+services.mysql.package = pkgs.mariadb;
+
+services.firefox-syncserver = {
+  enable = true;
+  secrets = builtins.toFile &quot;sync-secrets&quot; ''
+    SYNC_MASTER_SECRET=this-secret-is-actually-leaked-to-/nix/store
+  '';
+  singleNode = {
+    enable = true;
+    hostname = &quot;localhost&quot;;
+    url = &quot;http://localhost:5000&quot;;
+  };
+};
+</programlisting>
+    <para>
+      This will start a sync server that is only accessible locally.
+      Once the services is running you can navigate to
+      <literal>about:config</literal> in your Firefox profile and set
+      <literal>identity.sync.tokenserver.uri</literal> to
+      <literal>http://localhost:5000/1.0/sync/1.5</literal>. Your
+      browser will now use your local sync server for data storage.
+    </para>
+    <warning>
+      <para>
+        This configuration should never be used in production. It is not
+        encrypted and stores its secrets in a world-readable location.
+      </para>
+    </warning>
+  </section>
+  <section xml:id="module-services-firefox-syncserver-configuration">
+    <title>More detailed setup</title>
+    <para>
+      The <literal>firefox-syncserver</literal> service provides a
+      number of options to make setting up small deployment easier.
+      These are grouped under the <literal>singleNode</literal> element
+      of the option tree and allow simple configuration of the most
+      important parameters.
+    </para>
+    <para>
+      Single node setup is split into two kinds of options: those that
+      affect the sync server itself, and those that affect its
+      surroundings. Options that affect the sync server are
+      <literal>capacity</literal>, which configures how many accounts
+      may be active on this instance, and <literal>url</literal>, which
+      holds the URL under which the sync server can be accessed. The
+      <literal>url</literal> can be configured automatically when using
+      nginx.
+    </para>
+    <para>
+      Options that affect the surroundings of the sync server are
+      <literal>enableNginx</literal>, <literal>enableTLS</literal> and
+      <literal>hostnam</literal>. If <literal>enableNginx</literal> is
+      set the sync server module will automatically add an nginx virtual
+      host to the system using <literal>hostname</literal> as the domain
+      and set <literal>url</literal> accordingly. If
+      <literal>enableTLS</literal> is set the module will also enable
+      ACME certificates on the new virtual host and force all
+      connections to be made via TLS.
+    </para>
+    <para>
+      For actual deployment it is also recommended to store the
+      <literal>secrets</literal> file in a secure location.
+    </para>
+  </section>
+</chapter>
diff --git a/nixos/modules/services/networking/ghostunnel.nix b/nixos/modules/services/networking/ghostunnel.nix
index 6cac6a69b06..79cf80e57be 100644
--- a/nixos/modules/services/networking/ghostunnel.nix
+++ b/nixos/modules/services/networking/ghostunnel.nix
@@ -40,37 +40,37 @@ let
           description = ''
             Path to keystore (combined PEM with cert/key, or PKCS12 keystore).
 
-            NB: storepass is not supported because it would expose credentials via <code>/proc/*/cmdline</code>.
+            NB: storepass is not supported because it would expose credentials via <literal>/proc/*/cmdline</literal>.
 
-            Specify this or <code>cert</code> and <code>key</code>.
+            Specify this or <literal>cert</literal> and <literal>key</literal>.
           '';
           type = types.nullOr types.str;
           default = null;
         };
 
         cert = mkOption {
-          description = ''
+          description = lib.mdDoc ''
             Path to certificate (PEM with certificate chain).
 
-            Not required if <code>keystore</code> is set.
+            Not required if `keystore` is set.
           '';
           type = types.nullOr types.str;
           default = null;
         };
 
         key = mkOption {
-          description = ''
+          description = lib.mdDoc ''
             Path to certificate private key (PEM with private key).
 
-            Not required if <code>keystore</code> is set.
+            Not required if `keystore` is set.
           '';
           type = types.nullOr types.str;
           default = null;
         };
 
         cacert = mkOption {
-          description = ''
-            Path to CA bundle file (PEM/X509). Uses system trust store if <code>null</code>.
+          description = lib.mdDoc ''
+            Path to CA bundle file (PEM/X509). Uses system trust store if `null`.
           '';
           type = types.nullOr types.str;
         };
@@ -124,7 +124,7 @@ let
         };
 
         extraArguments = mkOption {
-          description = "Extra arguments to pass to <code>ghostunnel server</code>";
+          description = lib.mdDoc "Extra arguments to pass to `ghostunnel server`";
           type = types.separatedString " ";
           default = "";
         };
diff --git a/nixos/modules/services/networking/hans.nix b/nixos/modules/services/networking/hans.nix
index f74d602be93..ffb2ee841c6 100644
--- a/nixos/modules/services/networking/hans.nix
+++ b/nixos/modules/services/networking/hans.nix
@@ -19,12 +19,12 @@ in
     services.hans = {
       clients = mkOption {
         default = {};
-        description = ''
+        description = lib.mdDoc ''
           Each attribute of this option defines a systemd service that
           runs hans. Many or none may be defined.
           The name of each service is
-          <literal>hans-<replaceable>name</replaceable></literal>
-          where <replaceable>name</replaceable> is the name of the
+          `hans-«name»`
+          where «name» is the name of the
           corresponding attribute name.
         '';
         example = literalExpression ''
diff --git a/nixos/modules/services/networking/iodine.nix b/nixos/modules/services/networking/iodine.nix
index c24f118ce89..ea2fa3ac4be 100644
--- a/nixos/modules/services/networking/iodine.nix
+++ b/nixos/modules/services/networking/iodine.nix
@@ -28,12 +28,12 @@ in
     services.iodine = {
       clients = mkOption {
         default = {};
-        description = ''
+        description = lib.mdDoc ''
           Each attribute of this option defines a systemd service that
           runs iodine. Many or none may be defined.
           The name of each service is
-          <literal>iodine-<replaceable>name</replaceable></literal>
-          where <replaceable>name</replaceable> is the name of the
+          `iodine-«name»`
+          where «name» is the name of the
           corresponding attribute name.
         '';
         example = literalExpression ''
diff --git a/nixos/modules/services/networking/kea.nix b/nixos/modules/services/networking/kea.nix
index d9d6e3f42ce..d674a97391c 100644
--- a/nixos/modules/services/networking/kea.nix
+++ b/nixos/modules/services/networking/kea.nix
@@ -54,11 +54,11 @@ in
           configFile = mkOption {
             type = nullOr path;
             default = null;
-            description = ''
-              Kea Control Agent configuration as a path, see <link xlink:href="https://kea.readthedocs.io/en/kea-${package.version}/arm/agent.html"/>.
+            description = lib.mdDoc ''
+              Kea Control Agent configuration as a path, see <https://kea.readthedocs.io/en/kea-${package.version}/arm/agent.html>.
 
-              Takes preference over <link linkend="opt-services.kea.ctrl-agent.settings">settings</link>.
-              Most users should prefer using <link linkend="opt-services.kea.ctrl-agent.settings">settings</link> instead.
+              Takes preference over [settings](#opt-services.kea.ctrl-agent.settings).
+              Most users should prefer using [settings](#opt-services.kea.ctrl-agent.settings) instead.
             '';
           };
 
@@ -93,11 +93,11 @@ in
           configFile = mkOption {
             type = nullOr path;
             default = null;
-            description = ''
-              Kea DHCP4 configuration as a path, see <link xlink:href="https://kea.readthedocs.io/en/kea-${package.version}/arm/dhcp4-srv.html"/>.
+            description = lib.mdDoc ''
+              Kea DHCP4 configuration as a path, see <https://kea.readthedocs.io/en/kea-${package.version}/arm/dhcp4-srv.html>.
 
-              Takes preference over <link linkend="opt-services.kea.dhcp4.settings">settings</link>.
-              Most users should prefer using <link linkend="opt-services.kea.dhcp4.settings">settings</link> instead.
+              Takes preference over [settings](#opt-services.kea.dhcp4.settings).
+              Most users should prefer using [settings](#opt-services.kea.dhcp4.settings) instead.
             '';
           };
 
@@ -153,11 +153,11 @@ in
           configFile = mkOption {
             type = nullOr path;
             default = null;
-            description = ''
-              Kea DHCP6 configuration as a path, see <link xlink:href="https://kea.readthedocs.io/en/kea-${package.version}/arm/dhcp6-srv.html"/>.
+            description = lib.mdDoc ''
+              Kea DHCP6 configuration as a path, see <https://kea.readthedocs.io/en/kea-${package.version}/arm/dhcp6-srv.html>.
 
-              Takes preference over <link linkend="opt-services.kea.dhcp6.settings">settings</link>.
-              Most users should prefer using <link linkend="opt-services.kea.dhcp6.settings">settings</link> instead.
+              Takes preference over [settings](#opt-services.kea.dhcp6.settings).
+              Most users should prefer using [settings](#opt-services.kea.dhcp6.settings) instead.
             '';
           };
 
@@ -214,11 +214,11 @@ in
           configFile = mkOption {
             type = nullOr path;
             default = null;
-            description = ''
-              Kea DHCP-DDNS configuration as a path, see <link xlink:href="https://kea.readthedocs.io/en/kea-${package.version}/arm/ddns.html"/>.
+            description = lib.mdDoc ''
+              Kea DHCP-DDNS configuration as a path, see <https://kea.readthedocs.io/en/kea-${package.version}/arm/ddns.html>.
 
-              Takes preference over <link linkend="opt-services.kea.dhcp-ddns.settings">settings</link>.
-              Most users should prefer using <link linkend="opt-services.kea.dhcp-ddns.settings">settings</link> instead.
+              Takes preference over [settings](#opt-services.kea.dhcp-ddns.settings).
+              Most users should prefer using [settings](#opt-services.kea.dhcp-ddns.settings) instead.
             '';
           };
 
diff --git a/nixos/modules/services/networking/keepalived/default.nix b/nixos/modules/services/networking/keepalived/default.nix
index c9ac2ee2599..768c8e4b13c 100644
--- a/nixos/modules/services/networking/keepalived/default.nix
+++ b/nixos/modules/services/networking/keepalived/default.nix
@@ -147,7 +147,7 @@ in
       enable = mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           Whether to enable Keepalived.
         '';
       };
@@ -155,7 +155,7 @@ in
       enableScriptSecurity = mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           Don't run scripts configured to be run as root if any part of the path is writable by a non-root user.
         '';
       };
@@ -165,7 +165,7 @@ in
         enable = mkOption {
           type = types.bool;
           default = false;
-          description = ''
+          description = lib.mdDoc ''
             Whether to enable the builtin AgentX subagent.
           '';
         };
@@ -173,7 +173,7 @@ in
         socket = mkOption {
           type = types.nullOr types.str;
           default = null;
-          description = ''
+          description = lib.mdDoc ''
             Socket to use for connecting to SNMP master agent. If this value is
             set to null, keepalived's default will be used, which is
             unix:/var/agentx/master, unless using a network namespace, when the
@@ -184,7 +184,7 @@ in
         enableKeepalived = mkOption {
           type = types.bool;
           default = false;
-          description = ''
+          description = lib.mdDoc ''
             Enable SNMP handling of vrrp element of KEEPALIVED MIB.
           '';
         };
@@ -192,7 +192,7 @@ in
         enableChecker = mkOption {
           type = types.bool;
           default = false;
-          description = ''
+          description = lib.mdDoc ''
             Enable SNMP handling of checker element of KEEPALIVED MIB.
           '';
         };
@@ -200,7 +200,7 @@ in
         enableRfc = mkOption {
           type = types.bool;
           default = false;
-          description = ''
+          description = lib.mdDoc ''
             Enable SNMP handling of RFC2787 and RFC6527 VRRP MIBs.
           '';
         };
@@ -208,7 +208,7 @@ in
         enableRfcV2 = mkOption {
           type = types.bool;
           default = false;
-          description = ''
+          description = lib.mdDoc ''
             Enable SNMP handling of RFC2787 VRRP MIB.
           '';
         };
@@ -216,7 +216,7 @@ in
         enableRfcV3 = mkOption {
           type = types.bool;
           default = false;
-          description = ''
+          description = lib.mdDoc ''
             Enable SNMP handling of RFC6527 VRRP MIB.
           '';
         };
@@ -224,7 +224,7 @@ in
         enableTraps = mkOption {
           type = types.bool;
           default = false;
-          description = ''
+          description = lib.mdDoc ''
             Enable SNMP traps.
           '';
         };
@@ -236,7 +236,7 @@ in
           inherit lib;
         }));
         default = {};
-        description = "Declarative vrrp script config";
+        description = lib.mdDoc "Declarative vrrp script config";
       };
 
       vrrpInstances = mkOption {
@@ -244,13 +244,13 @@ in
           inherit lib;
         }));
         default = {};
-        description = "Declarative vhost config";
+        description = lib.mdDoc "Declarative vhost config";
       };
 
       extraGlobalDefs = mkOption {
         type = types.lines;
         default = "";
-        description = ''
+        description = lib.mdDoc ''
           Extra lines to be added verbatim to the 'global_defs' block of the
           configuration file
         '';
@@ -259,7 +259,7 @@ in
       extraConfig = mkOption {
         type = types.lines;
         default = "";
-        description = ''
+        description = lib.mdDoc ''
           Extra lines to be added verbatim to the configuration file.
         '';
       };
diff --git a/nixos/modules/services/networking/keepalived/virtual-ip-options.nix b/nixos/modules/services/networking/keepalived/virtual-ip-options.nix
index 1b8889b1b47..1fa6a0ee3bf 100644
--- a/nixos/modules/services/networking/keepalived/virtual-ip-options.nix
+++ b/nixos/modules/services/networking/keepalived/virtual-ip-options.nix
@@ -6,7 +6,7 @@ with lib;
 
     addr = mkOption {
       type = types.str;
-      description = ''
+      description = lib.mdDoc ''
         IP address, optionally with a netmask: IPADDR[/MASK]
       '';
     };
@@ -14,7 +14,7 @@ with lib;
     brd = mkOption {
       type = types.nullOr types.str;
       default = null;
-      description = ''
+      description = lib.mdDoc ''
         The broadcast address on the interface.
       '';
     };
@@ -22,7 +22,7 @@ with lib;
     dev = mkOption {
       type = types.nullOr types.str;
       default = null;
-      description = ''
+      description = lib.mdDoc ''
         The name of the device to add the address to.
       '';
     };
@@ -30,7 +30,7 @@ with lib;
     scope = mkOption {
       type = types.nullOr types.str;
       default = null;
-      description = ''
+      description = lib.mdDoc ''
         The scope of the area where this address is valid.
       '';
     };
@@ -38,7 +38,7 @@ with lib;
     label = mkOption {
       type = types.nullOr types.str;
       default = null;
-      description = ''
+      description = lib.mdDoc ''
         Each address may be tagged with a label string. In order to preserve
         compatibility with Linux-2.0 net aliases, this string must coincide with
         the name of the device or must be prefixed with the device name followed
diff --git a/nixos/modules/services/networking/keepalived/vrrp-instance-options.nix b/nixos/modules/services/networking/keepalived/vrrp-instance-options.nix
index e96dde5fa89..20e5558d782 100644
--- a/nixos/modules/services/networking/keepalived/vrrp-instance-options.nix
+++ b/nixos/modules/services/networking/keepalived/vrrp-instance-options.nix
@@ -6,7 +6,7 @@ with lib;
 
     interface = mkOption {
       type = types.str;
-      description = ''
+      description = lib.mdDoc ''
         Interface for inside_network, bound by vrrp.
       '';
     };
@@ -14,7 +14,7 @@ with lib;
     state = mkOption {
       type = types.enum [ "MASTER" "BACKUP" ];
       default = "BACKUP";
-      description = ''
+      description = lib.mdDoc ''
         Initial state. As soon as the other machine(s) come up, an election will
         be held and the machine with the highest "priority" will become MASTER.
         So the entry here doesn't matter a whole lot.
@@ -23,7 +23,7 @@ with lib;
 
     virtualRouterId = mkOption {
       type = types.int;
-      description = ''
+      description = lib.mdDoc ''
         Arbitrary unique number 0..255. Used to differentiate multiple instances
         of vrrpd running on the same NIC (and hence same socket).
       '';
@@ -32,7 +32,7 @@ with lib;
     priority = mkOption {
       type = types.int;
       default = 100;
-      description = ''
+      description = lib.mdDoc ''
         For electing MASTER, highest priority wins. To be MASTER, make 50 more
         than other machines.
       '';
@@ -41,7 +41,7 @@ with lib;
     noPreempt = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         VRRP will normally preempt a lower priority machine when a higher
         priority machine comes online. "nopreempt" allows the lower priority
         machine to maintain the master role, even when a higher priority machine
@@ -53,7 +53,7 @@ with lib;
     useVmac = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Use VRRP Virtual MAC.
       '';
     };
@@ -61,7 +61,7 @@ with lib;
     vmacInterface = mkOption {
       type = types.nullOr types.str;
       default = null;
-      description = ''
+      description = lib.mdDoc ''
          Name of the vmac interface to use. keepalived will come up with a name
          if you don't specify one.
       '';
@@ -70,7 +70,7 @@ with lib;
     vmacXmitBase = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Send/Recv VRRP messages from base interface instead of VMAC interface.
       '';
     };
@@ -78,7 +78,7 @@ with lib;
     unicastSrcIp = mkOption {
       type = types.nullOr types.str;
       default = null;
-      description = ''
+      description = lib.mdDoc ''
          Default IP for binding vrrpd is the primary IP on interface. If you
          want to hide location of vrrpd, use this IP as src_addr for unicast
          vrrp packets.
@@ -88,7 +88,7 @@ with lib;
     unicastPeers = mkOption {
       type = types.listOf types.str;
       default = [];
-      description = ''
+      description = lib.mdDoc ''
         Do not send VRRP adverts over VRRP multicast group. Instead it sends
         adverts to the following list of ip addresses using unicast design
         fashion. It can be cool to use VRRP FSM and features in a networking
@@ -103,27 +103,27 @@ with lib;
       }));
       default = [];
       # TODO: example
-      description = "Declarative vhost config";
+      description = lib.mdDoc "Declarative vhost config";
     };
 
     trackScripts = mkOption {
       type = types.listOf types.str;
       default = [];
       example = [ "chk_cmd1" "chk_cmd2" ];
-      description = "List of script names to invoke for health tracking.";
+      description = lib.mdDoc "List of script names to invoke for health tracking.";
     };
 
     trackInterfaces = mkOption {
       type = types.listOf types.str;
       default = [];
       example = [ "eth0" "eth1" ];
-      description = "List of network interfaces to monitor for health tracking.";
+      description = lib.mdDoc "List of network interfaces to monitor for health tracking.";
     };
 
     extraConfig = mkOption {
       type = types.lines;
       default = "";
-      description = ''
+      description = lib.mdDoc ''
         Extra lines to be added verbatim to the vrrp_instance section.
       '';
     };
diff --git a/nixos/modules/services/networking/keepalived/vrrp-script-options.nix b/nixos/modules/services/networking/keepalived/vrrp-script-options.nix
index df7a89cff8c..852d6b0ec26 100644
--- a/nixos/modules/services/networking/keepalived/vrrp-script-options.nix
+++ b/nixos/modules/services/networking/keepalived/vrrp-script-options.nix
@@ -8,55 +8,55 @@ with lib.types;
     script = mkOption {
       type = str;
       example = literalExpression ''"''${pkgs.curl} -f http://localhost:80"'';
-      description = "(Path of) Script command to execute followed by args, i.e. cmd [args]...";
+      description = lib.mdDoc "(Path of) Script command to execute followed by args, i.e. cmd [args]...";
     };
 
     interval = mkOption {
       type = int;
       default = 1;
-      description = "Seconds between script invocations.";
+      description = lib.mdDoc "Seconds between script invocations.";
     };
 
     timeout = mkOption {
       type = int;
       default = 5;
-      description = "Seconds after which script is considered to have failed.";
+      description = lib.mdDoc "Seconds after which script is considered to have failed.";
     };
 
     weight = mkOption {
       type = int;
       default = 0;
-      description = "Following a failure, adjust the priority by this weight.";
+      description = lib.mdDoc "Following a failure, adjust the priority by this weight.";
     };
 
     rise = mkOption {
       type = int;
       default = 5;
-      description = "Required number of successes for OK transition.";
+      description = lib.mdDoc "Required number of successes for OK transition.";
     };
 
     fall = mkOption {
       type = int;
       default = 3;
-      description = "Required number of failures for KO transition.";
+      description = lib.mdDoc "Required number of failures for KO transition.";
     };
 
     user = mkOption {
       type = str;
       default = "keepalived_script";
-      description = "Name of user to run the script under.";
+      description = lib.mdDoc "Name of user to run the script under.";
     };
 
     group = mkOption {
       type = nullOr str;
       default = null;
-      description = "Name of group to run the script under. Defaults to user group.";
+      description = lib.mdDoc "Name of group to run the script under. Defaults to user group.";
     };
 
     extraConfig = mkOption {
       type = lines;
       default = "";
-      description = "Extra lines to be added verbatim to the vrrp_script section.";
+      description = lib.mdDoc "Extra lines to be added verbatim to the vrrp_script section.";
     };
 
   };
diff --git a/nixos/modules/services/networking/murmur.nix b/nixos/modules/services/networking/murmur.nix
index 3bff9faa6a3..807caceb5bf 100644
--- a/nixos/modules/services/networking/murmur.nix
+++ b/nixos/modules/services/networking/murmur.nix
@@ -262,9 +262,7 @@ in
         default = null;
         example = "/var/lib/murmur/murmurd.env";
         description = ''
-          Environment file as defined in <citerefentry>
-          <refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum>
-          </citerefentry>.
+          Environment file as defined in <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
 
           Secrets may be passed to the service without adding them to the world-readable
           Nix store, by specifying placeholder variables as the option value in Nix and
diff --git a/nixos/modules/services/networking/nbd.nix b/nixos/modules/services/networking/nbd.nix
index 3a813d10257..76ca11dfea7 100644
--- a/nixos/modules/services/networking/nbd.nix
+++ b/nixos/modules/services/networking/nbd.nix
@@ -56,10 +56,9 @@ in
           default = {
             allowlist = false;
           };
-          description = ''
+          description = lib.mdDoc ''
             Extra options for the server. See
-            <citerefentry><refentrytitle>nbd-server</refentrytitle>
-            <manvolnum>5</manvolnum></citerefentry>.
+            {manpage}`nbd-server(5)`.
           '';
         };
 
@@ -88,10 +87,9 @@ in
                     flush = true;
                     fua = true;
                   };
-                  description = ''
+                  description = lib.mdDoc ''
                     Extra options for this export. See
-                    <citerefentry><refentrytitle>nbd-server</refentrytitle>
-                    <manvolnum>5</manvolnum></citerefentry>.
+                    {manpage}`nbd-server(5)`.
                   '';
                 };
               };
diff --git a/nixos/modules/services/networking/ncdns.nix b/nixos/modules/services/networking/ncdns.nix
index 8ee787b7d79..958231963c6 100644
--- a/nixos/modules/services/networking/ncdns.nix
+++ b/nixos/modules/services/networking/ncdns.nix
@@ -176,11 +176,11 @@ in
             certstore.nssdbdir = "../../home/alice/.pki/nssdb";
           }
         '';
-        description = ''
+        description = lib.mdDoc ''
           ncdns settings. Use this option to configure ncds
           settings not exposed in a NixOS option or to bypass one.
-          See the example ncdns.conf file at <link xlink:href="
-          https://git.io/JfX7g"/> for the available options.
+          See the example ncdns.conf file at <https://github.com/namecoin/ncdns/blob/master/_doc/ncdns.conf.example>
+          for the available options.
         '';
       };
 
diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix
index 7abdf16b153..d5d562e7ba5 100644
--- a/nixos/modules/services/networking/networkmanager.nix
+++ b/nixos/modules/services/networking/networkmanager.nix
@@ -173,17 +173,14 @@ in {
           str
         ]));
         default = {};
-        description = ''
+        description = lib.mdDoc ''
           Configuration for the [connection] section of NetworkManager.conf.
           Refer to
-          <link xlink:href="https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html">
+          [
             https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html#id-1.2.3.11
-          </link>
+          ](https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html)
           or
-          <citerefentry>
-            <refentrytitle>NetworkManager.conf</refentrytitle>
-            <manvolnum>5</manvolnum>
-          </citerefentry>
+          {manpage}`NetworkManager.conf(5)`
           for more information.
         '';
       };
@@ -191,17 +188,14 @@ in {
       extraConfig = mkOption {
         type = types.lines;
         default = "";
-        description = ''
+        description = lib.mdDoc ''
           Configuration appended to the generated NetworkManager.conf.
           Refer to
-          <link xlink:href="https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html">
+          [
             https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html
-          </link>
+          ](https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html)
           or
-          <citerefentry>
-            <refentrytitle>NetworkManager.conf</refentrytitle>
-            <manvolnum>5</manvolnum>
-          </citerefentry>
+          {manpage}`NetworkManager.conf(5)`
           for more information.
         '';
       };
@@ -209,18 +203,15 @@ in {
       unmanaged = mkOption {
         type = types.listOf types.str;
         default = [];
-        description = ''
+        description = lib.mdDoc ''
           List of interfaces that will not be managed by NetworkManager.
           Interface name can be specified here, but if you need more fidelity,
           refer to
-          <link xlink:href="https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html#device-spec">
+          [
             https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html#device-spec
-          </link>
+          ](https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html#device-spec)
           or the "Device List Format" Appendix of
-          <citerefentry>
-            <refentrytitle>NetworkManager.conf</refentrytitle>
-            <manvolnum>5</manvolnum>
-          </citerefentry>.
+          {manpage}`NetworkManager.conf(5)`.
         '';
       };
 
@@ -327,19 +318,15 @@ in {
       dns = mkOption {
         type = types.enum [ "default" "dnsmasq" "unbound" "systemd-resolved" "none" ];
         default = "default";
-        description = ''
-          Set the DNS (<literal>resolv.conf</literal>) processing mode.
-          </para>
-          <para>
+        description = lib.mdDoc ''
+          Set the DNS (`resolv.conf`) processing mode.
+
           A description of these modes can be found in the main section of
-          <link xlink:href="https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html">
+          [
             https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html
-          </link>
+          ](https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html)
           or in
-          <citerefentry>
-            <refentrytitle>NetworkManager.conf</refentrytitle>
-            <manvolnum>5</manvolnum>
-          </citerefentry>.
+          {manpage}`NetworkManager.conf(5)`.
         '';
       };
 
@@ -388,12 +375,12 @@ in {
       enableStrongSwan = mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           Enable the StrongSwan plugin.
-          </para><para>
+
           If you enable this option the
-          <literal>networkmanager_strongswan</literal> plugin will be added to
-          the <option>networking.networkmanager.plugins</option> option
+          `networkmanager_strongswan` plugin will be added to
+          the {option}`networking.networkmanager.plugins` option
           so you don't need to to that yourself.
         '';
       };
diff --git a/nixos/modules/services/networking/nghttpx/backend-submodule.nix b/nixos/modules/services/networking/nghttpx/backend-submodule.nix
index eb559e926e7..af99b21c9ab 100644
--- a/nixos/modules/services/networking/nghttpx/backend-submodule.nix
+++ b/nixos/modules/services/networking/nghttpx/backend-submodule.nix
@@ -13,7 +13,7 @@
         host = "127.0.0.1";
         port = 80;
       };
-      description = ''
+      description = lib.mdDoc ''
         Backend server location specified as either a host:port pair
         or a unix domain docket.
       '';
@@ -27,7 +27,7 @@
         "/somepath"
       ];
       default     = [];
-      description = ''
+      description = lib.mdDoc ''
         List of nghttpx backend patterns.
 
         Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-b
@@ -42,7 +42,7 @@
         tls   = true;
       };
       default     = null;
-      description = ''
+      description = lib.mdDoc ''
         Parameters to configure a backend.
       '';
     };
diff --git a/nixos/modules/services/networking/nghttpx/frontend-submodule.nix b/nixos/modules/services/networking/nghttpx/frontend-submodule.nix
index 887ef450213..3175df20eec 100644
--- a/nixos/modules/services/networking/nghttpx/frontend-submodule.nix
+++ b/nixos/modules/services/networking/nghttpx/frontend-submodule.nix
@@ -13,7 +13,7 @@
         host = "127.0.0.1";
         port = 80;
       };
-      description = ''
+      description = lib.mdDoc ''
         Frontend server interface binding specification as either a
         host:port pair or a unix domain docket.
 
@@ -28,7 +28,7 @@
         tls   = "tls";
       };
       default     = null;
-      description = ''
+      description = lib.mdDoc ''
         Parameters to configure a backend.
       '';
     };
diff --git a/nixos/modules/services/networking/nghttpx/nghttpx-options.nix b/nixos/modules/services/networking/nghttpx/nghttpx-options.nix
index 51f1d081b97..13c328b4180 100644
--- a/nixos/modules/services/networking/nghttpx/nghttpx-options.nix
+++ b/nixos/modules/services/networking/nghttpx/nghttpx-options.nix
@@ -4,7 +4,7 @@
 
     frontends = lib.mkOption {
       type        = lib.types.listOf (lib.types.submodule (import ./frontend-submodule.nix));
-      description = ''
+      description = lib.mdDoc ''
         A list of frontend listener specifications.
       '';
       example = [
@@ -22,7 +22,7 @@
 
     backends  = lib.mkOption {
       type = lib.types.listOf (lib.types.submodule (import ./backend-submodule.nix));
-      description = ''
+      description = lib.mdDoc ''
         A list of backend specifications.
       '';
       example = [
@@ -42,10 +42,10 @@
     tls = lib.mkOption {
       type        = lib.types.nullOr (lib.types.submodule (import ./tls-submodule.nix));
       default     = null;
-      description = ''
+      description = lib.mdDoc ''
         TLS certificate and key paths. Note that this does not enable
         TLS for a frontend listener, to do so, a frontend
-        specification must set <literal>params.tls</literal> to true.
+        specification must set `params.tls` to true.
       '';
       example = {
         key = "/etc/ssl/keys/server.key";
@@ -56,7 +56,7 @@
     extraConfig = lib.mkOption {
       type        = lib.types.lines;
       default     = "";
-      description = ''
+      description = lib.mdDoc ''
         Extra configuration options to be appended to the generated
         configuration file.
       '';
@@ -65,7 +65,7 @@
     single-process = lib.mkOption {
       type        = lib.types.bool;
       default     = false;
-      description = ''
+      description = lib.mdDoc ''
         Run this program in a single process mode for debugging
         purpose. Without this option, nghttpx creates at least 2
         processes: master and worker processes. If this option is
@@ -81,7 +81,7 @@
     backlog = lib.mkOption {
       type        = lib.types.int;
       default     = 65536;
-      description = ''
+      description = lib.mdDoc ''
         Listen backlog size.
 
         Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx--backlog
@@ -95,7 +95,7 @@
         "IPv6"
       ];
       default = "auto";
-      description = ''
+      description = lib.mdDoc ''
         Specify address family of backend connections. If "auto" is
         given, both IPv4 and IPv6 are considered. If "IPv4" is given,
         only IPv4 address is considered. If "IPv6" is given, only IPv6
@@ -108,7 +108,7 @@
     workers = lib.mkOption {
       type        = lib.types.int;
       default     = 1;
-      description = ''
+      description = lib.mdDoc ''
         Set the number of worker threads.
 
         Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-n
@@ -118,7 +118,7 @@
     single-thread = lib.mkOption {
       type        = lib.types.bool;
       default     = false;
-      description = ''
+      description = lib.mdDoc ''
         Run everything in one thread inside the worker process. This
         feature is provided for better debugging experience, or for
         the platforms which lack thread support. If threading is
diff --git a/nixos/modules/services/networking/nntp-proxy.nix b/nixos/modules/services/networking/nntp-proxy.nix
index 618ed0a93f1..4dd2922e83f 100644
--- a/nixos/modules/services/networking/nntp-proxy.nix
+++ b/nixos/modules/services/networking/nntp-proxy.nix
@@ -167,9 +167,9 @@ in
             passwordHash = mkOption {
               type = types.str;
               example = "$6$GtzE7FrpE$wwuVgFYU.TZH4Rz.Snjxk9XGua89IeVwPQ/fEUD8eujr40q5Y021yhn0aNcsQ2Ifw.BLclyzvzgegopgKcneL0";
-              description = ''
+              description = lib.mdDoc ''
                 SHA-512 password hash (can be generated by
-                <code>mkpasswd -m sha-512 &lt;password&gt;</code>)
+                `mkpasswd -m sha-512 <password>`)
               '';
             };
 
diff --git a/nixos/modules/services/networking/nsd.nix b/nixos/modules/services/networking/nsd.nix
index 1102fc85d40..cf2afcacc52 100644
--- a/nixos/modules/services/networking/nsd.nix
+++ b/nixos/modules/services/networking/nsd.nix
@@ -392,8 +392,8 @@ let
       requestXFR = mkOption {
         type = types.listOf types.str;
         default = [];
-        description = ''
-          Format: <code>[AXFR|UDP] &lt;ip-address&gt; &lt;key-name | NOKEY&gt;</code>
+        description = lib.mdDoc ''
+          Format: `[AXFR|UDP] <ip-address> <key-name | NOKEY>`
         '';
       };
 
diff --git a/nixos/modules/services/networking/ntp/ntpd.nix b/nixos/modules/services/networking/ntp/ntpd.nix
index 47922f5e149..a9dae2c8667 100644
--- a/nixos/modules/services/networking/ntp/ntpd.nix
+++ b/nixos/modules/services/networking/ntp/ntpd.nix
@@ -40,21 +40,19 @@ in
       enable = mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           Whether to synchronise your machine's time using ntpd, as a peer in
           the NTP network.
-          </para>
-          <para>
-          Disables <literal>systemd.timesyncd</literal> if enabled.
+
+          Disables `systemd.timesyncd` if enabled.
         '';
       };
 
       restrictDefault = mkOption {
         type = types.listOf types.str;
-        description = ''
+        description = lib.mdDoc ''
           The restriction flags to be set by default.
-          </para>
-          <para>
+
           The default flags prevent external hosts from using ntpd as a DDoS
           reflector, setting system time, and querying OS/ntpd version. As
           recommended in section 6.5.1.1.3, answer "No" of
@@ -65,10 +63,9 @@ in
 
       restrictSource = mkOption {
         type = types.listOf types.str;
-        description = ''
+        description = lib.mdDoc ''
           The restriction flags to be set on source.
-          </para>
-          <para>
+
           The default flags allow peers to be added by ntpd from configured
           pool(s), but not by other means.
         '';
diff --git a/nixos/modules/services/networking/openconnect.nix b/nixos/modules/services/networking/openconnect.nix
index c5313bb305a..469f0a3bc3b 100644
--- a/nixos/modules/services/networking/openconnect.nix
+++ b/nixos/modules/services/networking/openconnect.nix
@@ -38,10 +38,10 @@ let
       # set an authentication cookie, because they have to be requested
       # for every new connection and would only work once.
       passwordFile = mkOption {
-        description = ''
+        description = lib.mdDoc ''
           File containing the password to authenticate with. This
-          is passed to <code>openconnect</code> via the
-          <code>--passwd-on-stdin</code> option.
+          is passed to `openconnect` via the
+          `--passwd-on-stdin` option.
         '';
         default = null;
         example = "/var/lib/secrets/openconnect-passwd";
@@ -63,13 +63,13 @@ let
       };
 
       extraOptions = mkOption {
-        description = ''
+        description = lib.mdDoc ''
           Extra config to be appended to the interface config. It should
           contain long-format options as would be accepted on the command
-          line by <code>openconnect</code>
+          line by `openconnect`
           (see https://www.infradead.org/openconnect/manual.html).
-          Non-key-value options like <code>deflate</code> can be used by
-          declaring them as booleans, i. e. <code>deflate = true;</code>.
+          Non-key-value options like `deflate` can be used by
+          declaring them as booleans, i. e. `deflate = true;`.
         '';
         default = { };
         example = {
diff --git a/nixos/modules/services/networking/openvpn.nix b/nixos/modules/services/networking/openvpn.nix
index 752b4d67d47..492a0936fdb 100644
--- a/nixos/modules/services/networking/openvpn.nix
+++ b/nixos/modules/services/networking/openvpn.nix
@@ -115,12 +115,12 @@ in
         }
       '';
 
-      description = ''
+      description = lib.mdDoc ''
         Each attribute of this option defines a systemd service that
         runs an OpenVPN instance.  These can be OpenVPN servers or
         clients.  The name of each systemd service is
-        <literal>openvpn-<replaceable>name</replaceable>.service</literal>,
-        where <replaceable>name</replaceable> is the corresponding
+        `openvpn-«name».service`,
+        where «name» is the corresponding
         attribute name.
       '';
 
diff --git a/nixos/modules/services/networking/pleroma.nix b/nixos/modules/services/networking/pleroma.nix
index 03868c8cc76..de9d0821c63 100644
--- a/nixos/modules/services/networking/pleroma.nix
+++ b/nixos/modules/services/networking/pleroma.nix
@@ -34,7 +34,7 @@ in {
 
       configs = mkOption {
         type = with types; listOf str;
-        description = ''
+        description = lib.mdDoc ''
           Pleroma public configuration.
 
           This list gets appended from left to
@@ -42,9 +42,9 @@ in {
           configuration imperatively, meaning you can override a
           setting by appending a new str to this NixOS option list.
 
-          <emphasis>DO NOT STORE ANY PLEROMA SECRET
-          HERE</emphasis>, use
-          <link linkend="opt-services.pleroma.secretConfigFile">services.pleroma.secretConfigFile</link>
+          *DO NOT STORE ANY PLEROMA SECRET
+          HERE*, use
+          [services.pleroma.secretConfigFile](#opt-services.pleroma.secretConfigFile)
           instead.
 
           This setting is going to be stored in a file part of
diff --git a/nixos/modules/services/networking/seafile.nix b/nixos/modules/services/networking/seafile.nix
index 7cda71458dd..d9617952ea5 100644
--- a/nixos/modules/services/networking/seafile.nix
+++ b/nixos/modules/services/networking/seafile.nix
@@ -133,7 +133,7 @@ in {
       type = types.lines;
       description = ''
         Extra config to append to `seahub_settings.py` file.
-        Refer to <link xlink:href="https://manual.seafile.com/config/seahub_settings_py/" />
+        Refer to <link xlink:href="https://manual.seafile.com/config/seahub_settings_py/"/>
         for all available options.
       '';
     };
diff --git a/nixos/modules/services/networking/smokeping.nix b/nixos/modules/services/networking/smokeping.nix
index 217c16c8f37..7f1abcc6824 100644
--- a/nixos/modules/services/networking/smokeping.nix
+++ b/nixos/modules/services/networking/smokeping.nix
@@ -156,7 +156,7 @@ in
       owner = mkOption {
         type = types.str;
         default = "nobody";
-        example = "Joe Admin";
+        example = "Bob Foobawr";
         description = lib.mdDoc "Real name of the owner of the instance";
       };
       ownerEmail = mkOption {
diff --git a/nixos/modules/services/networking/soju.nix b/nixos/modules/services/networking/soju.nix
index a92d274aea2..dddacea2004 100644
--- a/nixos/modules/services/networking/soju.nix
+++ b/nixos/modules/services/networking/soju.nix
@@ -32,11 +32,10 @@ in
     listen = mkOption {
       type = types.listOf types.str;
       default = [ ":6697" ];
-      description = ''
+      description = lib.mdDoc ''
         Where soju should listen for incoming connections. See the
-        <literal>listen</literal> directive in
-        <citerefentry><refentrytitle>soju</refentrytitle>
-        <manvolnum>1</manvolnum></citerefentry>.
+        `listen` directive in
+        {manpage}`soju(1)`.
       '';
     };
 
@@ -49,12 +48,14 @@ in
 
     tlsCertificate = mkOption {
       type = types.nullOr types.path;
+      default = null;
       example = "/var/host.cert";
       description = lib.mdDoc "Path to server TLS certificate.";
     };
 
     tlsCertificateKey = mkOption {
       type = types.nullOr types.path;
+      default = null;
       example = "/var/host.key";
       description = lib.mdDoc "Path to server TLS certificate key.";
     };
@@ -68,11 +69,10 @@ in
     httpOrigins = mkOption {
       type = types.listOf types.str;
       default = [];
-      description = ''
+      description = lib.mdDoc ''
         List of allowed HTTP origins for WebSocket listeners. The parameters are
         interpreted as shell patterns, see
-        <citerefentry><refentrytitle>glob</refentrytitle>
-        <manvolnum>7</manvolnum></citerefentry>.
+        {manpage}`glob(7)`.
       '';
     };
 
@@ -97,6 +97,16 @@ in
   ###### implementation
 
   config = mkIf cfg.enable {
+    assertions = [
+      {
+        assertion = (cfg.tlsCertificate != null) == (cfg.tlsCertificateKey != null);
+        message = ''
+          services.soju.tlsCertificate and services.soju.tlsCertificateKey
+          must both be specified to enable TLS.
+        '';
+      }
+    ];
+
     systemd.services.soju = {
       description = "soju IRC bouncer";
       wantedBy = [ "multi-user.target" ];
diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix
index c6386ed6823..af8200c7e29 100644
--- a/nixos/modules/services/networking/ssh/sshd.nix
+++ b/nixos/modules/services/networking/ssh/sshd.nix
@@ -156,11 +156,10 @@ in
       gatewayPorts = mkOption {
         type = types.str;
         default = "no";
-        description = ''
+        description = lib.mdDoc ''
           Specifies whether remote hosts are allowed to connect to
           ports forwarded for the client.  See
-          <citerefentry><refentrytitle>sshd_config</refentrytitle>
-          <manvolnum>5</manvolnum></citerefentry>.
+          {manpage}`sshd_config(5)`.
         '';
       };
 
@@ -237,11 +236,10 @@ in
           [ { type = "rsa"; bits = 4096; path = "/etc/ssh/ssh_host_rsa_key"; rounds = 100; openSSHFormat = true; }
             { type = "ed25519"; path = "/etc/ssh/ssh_host_ed25519_key"; rounds = 100; comment = "key comment"; }
           ];
-        description = ''
+        description = lib.mdDoc ''
           NixOS can automatically generate SSH host keys.  This option
           specifies the path, type and size of each key.  See
-          <citerefentry><refentrytitle>ssh-keygen</refentrytitle>
-          <manvolnum>1</manvolnum></citerefentry> for supported types
+          {manpage}`ssh-keygen(1)` for supported types
           and sizes.
         '';
       };
@@ -257,12 +255,12 @@ in
       authorizedKeysFiles = mkOption {
         type = types.listOf types.str;
         default = [];
-        description = ''
+        description = lib.mdDoc ''
           Specify the rules for which files to read on the host.
 
           This is an advanced option. If you're looking to configure user
-          keys, you can generally use <xref linkend="opt-users.users._name_.openssh.authorizedKeys.keys"/>
-          or <xref linkend="opt-users.users._name_.openssh.authorizedKeys.keyFiles"/>.
+          keys, you can generally use [](#opt-users.users._name_.openssh.authorizedKeys.keys)
+          or [](#opt-users.users._name_.openssh.authorizedKeys.keyFiles).
 
           These are paths relative to the host root file system or home
           directories and they are subject to certain token expansion rules.
@@ -298,14 +296,13 @@ in
           "curve25519-sha256@libssh.org"
           "diffie-hellman-group-exchange-sha256"
         ];
-        description = ''
+        description = lib.mdDoc ''
           Allowed key exchange algorithms
-          </para>
-          <para>
+
           Uses the lower bound recommended in both
-          <link xlink:href="https://stribika.github.io/2015/01/04/secure-secure-shell.html" />
+          <https://stribika.github.io/2015/01/04/secure-secure-shell.html>
           and
-          <link xlink:href="https://infosec.mozilla.org/guidelines/openssh#modern-openssh-67" />
+          <https://infosec.mozilla.org/guidelines/openssh#modern-openssh-67>
         '';
       };
 
@@ -319,14 +316,13 @@ in
           "aes192-ctr"
           "aes128-ctr"
         ];
-        description = ''
+        description = lib.mdDoc ''
           Allowed ciphers
-          </para>
-          <para>
+
           Defaults to recommended settings from both
-          <link xlink:href="https://stribika.github.io/2015/01/04/secure-secure-shell.html" />
+          <https://stribika.github.io/2015/01/04/secure-secure-shell.html>
           and
-          <link xlink:href="https://infosec.mozilla.org/guidelines/openssh#modern-openssh-67" />
+          <https://infosec.mozilla.org/guidelines/openssh#modern-openssh-67>
         '';
       };
 
@@ -340,14 +336,13 @@ in
           "hmac-sha2-256"
           "umac-128@openssh.com"
         ];
-        description = ''
+        description = lib.mdDoc ''
           Allowed MACs
-          </para>
-          <para>
+
           Defaults to recommended settings from both
-          <link xlink:href="https://stribika.github.io/2015/01/04/secure-secure-shell.html" />
+          <https://stribika.github.io/2015/01/04/secure-secure-shell.html>
           and
-          <link xlink:href="https://infosec.mozilla.org/guidelines/openssh#modern-openssh-67" />
+          <https://infosec.mozilla.org/guidelines/openssh#modern-openssh-67>
         '';
       };
 
@@ -438,13 +433,12 @@ in
                 # socket activation, it goes to the remote side (#19589).
                 exec >&2
 
-                mkdir -m 0755 -p /etc/ssh
-
                 ${flip concatMapStrings cfg.hostKeys (k: ''
                   if ! [ -s "${k.path}" ]; then
                       if ! [ -h "${k.path}" ]; then
                           rm -f "${k.path}"
                       fi
+                      mkdir -m 0755 -p "$(dirname '${k.path}')"
                       ssh-keygen \
                         -t "${k.type}" \
                         ${if k ? bits then "-b ${toString k.bits}" else ""} \
diff --git a/nixos/modules/services/networking/strongswan-swanctl/module.nix b/nixos/modules/services/networking/strongswan-swanctl/module.nix
index 9287943fcde..a92834f0ecf 100644
--- a/nixos/modules/services/networking/strongswan-swanctl/module.nix
+++ b/nixos/modules/services/networking/strongswan-swanctl/module.nix
@@ -14,7 +14,7 @@ in  {
       type = types.package;
       default = pkgs.strongswan;
       defaultText = literalExpression "pkgs.strongswan";
-      description = ''
+      description = lib.mdDoc ''
         The strongswan derivation to use.
       '';
     };
@@ -22,8 +22,8 @@ in  {
     strongswan.extraConfig = mkOption {
       type = types.str;
       default = "";
-      description = ''
-        Contents of the <literal>strongswan.conf</literal> file.
+      description = lib.mdDoc ''
+        Contents of the `strongswan.conf` file.
       '';
     };
 
diff --git a/nixos/modules/services/networking/strongswan-swanctl/param-constructors.nix b/nixos/modules/services/networking/strongswan-swanctl/param-constructors.nix
index dfdfc50d8ae..d5a8daf98ec 100644
--- a/nixos/modules/services/networking/strongswan-swanctl/param-constructors.nix
+++ b/nixos/modules/services/networking/strongswan-swanctl/param-constructors.nix
@@ -59,7 +59,8 @@ rec {
     if strongswanDefault == null
     then description
     else description + ''
-      </para><para>
+
+
       StrongSwan default: <literal><![CDATA[${builtins.toJSON strongswanDefault}]]></literal>
     '';
 
diff --git a/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix b/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix
index cca61b9ce93..737d0331f19 100644
--- a/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix
+++ b/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix
@@ -15,14 +15,14 @@ let
     file = mkOptionalStrParam ''
       Absolute path to the certificate to load. Passed as-is to the daemon, so
       it must be readable by it.
-      </para><para>
+
       Configure either this or <option>handle</option>, but not both, in one section.
     '';
 
     handle = mkOptionalHexParam ''
       Hex-encoded CKA_ID or handle of the certificate on a token or TPM,
       respectively.
-      </para><para>
+
       Configure either this or <option>file</option>, but not both, in one section.
     '';
 
@@ -40,7 +40,7 @@ in {
     cacert = mkOptionalStrParam ''
       The certificates may use a relative path from the swanctl
       <literal>x509ca</literal> directory or an absolute path.
-      </para><para>
+
       Configure one of <option>cacert</option>,
       <option>file</option>, or
       <option>handle</option> per section.
@@ -82,11 +82,11 @@ in {
     local_addrs	= mkCommaSepListParam [] ''
       Local address(es) to use for IKE communication. Takes
       single IPv4/IPv6 addresses, DNS names, CIDR subnets or IP address ranges.
-      </para><para>
+
       As initiator, the first non-range/non-subnet is used to initiate the
       connection from. As responder, the local destination address must match at
       least to one of the specified addresses, subnets or ranges.
-      </para><para>
+
       If FQDNs are assigned they are resolved every time a configuration lookup
       is done. If DNS resolution times out, the lookup is delayed for that time.
     '';
@@ -94,11 +94,11 @@ in {
     remote_addrs = mkCommaSepListParam [] ''
       Remote address(es) to use for IKE communication. Takes
       single IPv4/IPv6 addresses, DNS names, CIDR subnets or IP address ranges.
-      </para><para>
+
       As initiator, the first non-range/non-subnet is used to initiate the
       connection to. As responder, the initiator source address must match at
       least to one of the specified addresses, subnets or ranges.
-      </para><para>
+
       If FQDNs are assigned they are resolved every time a configuration lookup
       is done. If DNS resolution times out, the lookup is delayed for that time.
       To initiate a connection, at least one specific address or DNS name must
@@ -110,7 +110,7 @@ in {
       backend is used, which is usually <literal>500</literal>. If port
       <literal>500</literal> is used, automatic IKE port floating to port
       <literal>4500</literal> is used to work around NAT issues.
-      </para><para>
+
       Using a non-default local IKE port requires support from the socket
       backend in use (socket-dynamic).
     '';
@@ -126,13 +126,13 @@ in {
       for IKE an encryption algorithm, an integrity algorithm, a pseudo random
       function and a Diffie-Hellman group. For AEAD algorithms, instead of
       encryption and integrity algorithms, a combined algorithm is used.
-      </para><para>
+
       In IKEv2, multiple algorithms of the same kind can be specified in a
       single proposal, from which one gets selected. In IKEv1, only one
       algorithm per kind is allowed per proposal, more algorithms get implicitly
       stripped. Use multiple proposals to offer different algorithms
       combinations in IKEv1.
-      </para><para>
+
       Algorithm keywords get separated using dashes. Multiple proposals may be
       specified in a list. The special value <literal>default</literal> forms a
       default proposal of supported algorithms considered safe, and is usually a
@@ -159,7 +159,7 @@ in {
       If the default of yes is used, Mode Config works in pull mode, where the
       initiator actively requests a virtual IP. With no, push mode is used,
       where the responder pushes down a virtual IP to the initiating peer.
-      </para><para>
+
       Push mode is currently supported for IKEv1, but not in IKEv2. It is used
       by a few implementations only, pull mode is recommended.
     '';
@@ -174,7 +174,7 @@ in {
       To enforce UDP encapsulation of ESP packets, the IKE daemon can fake the
       NAT detection payloads. This makes the peer believe that NAT takes place
       on the path, forcing it to encapsulate ESP packets in UDP.
-      </para><para>
+
       Usually this is not required, but it can help to work around connectivity
       issues with too restrictive intermediary firewalls.
     '';
@@ -183,7 +183,7 @@ in {
       Enables MOBIKE on IKEv2 connections. MOBIKE is enabled by default on IKEv2
       connections, and allows mobility of clients and multi-homing on servers by
       migrating active IPsec tunnels.
-      </para><para>
+
       Usually keeping MOBIKE enabled is unproblematic, as it is not used if the
       peer does not indicate support for it. However, due to the design of
       MOBIKE, IKEv2 always floats to port 4500 starting from the second
@@ -222,7 +222,7 @@ in {
       <listitem><para>Finally, setting the option to <literal>no</literal> will disable announcing
       support for this feature.</para></listitem>
       </itemizedlist>
-      </para><para>
+
       Note that fragmented IKE messages sent by a peer are always processed
       irrespective of the value of this option (even when set to no).
     '';
@@ -284,7 +284,7 @@ in {
     unique = mkEnumParam ["no" "never" "keep" "replace"] "no" ''
       Connection uniqueness policy to enforce. To avoid multiple connections
       from the same user, a uniqueness policy can be enforced.
-      </para><para>
+
       <itemizedlist>
       <listitem><para>
       The value <literal>never</literal> does never enforce such a policy, even
@@ -306,7 +306,7 @@ in {
       To compare connections for uniqueness, the remote IKE identity is used. If
       EAP or XAuth authentication is involved, the EAP-Identity or XAuth
       username is used to enforce the uniqueness policy instead.
-      </para><para>
+
       On initiators this setting specifies whether an INITIAL_CONTACT notify is
       sent during IKE_AUTH if no existing connection is found with the remote
       peer (determined by the identities of the first authentication
@@ -320,7 +320,7 @@ in {
       possible to actively reauthenticate as responder. The IKEv2
       reauthentication lifetime negotiation can instruct the client to perform
       reauthentication.
-      </para><para>
+
       Reauthentication is disabled by default. Enabling it usually may lead to
       small connection interruptions, as strongSwan uses a break-before-make
       policy with IKEv2 to avoid any conflicts with associated tunnel resources.
@@ -330,7 +330,7 @@ in {
       IKE rekeying refreshes key material using a Diffie-Hellman exchange, but
       does not re-check associated credentials. It is supported in IKEv2 only,
       IKEv1 performs a reauthentication procedure instead.
-      </para><para>
+
       With the default value IKE rekeying is scheduled every 4 hours, minus the
       configured rand_time. If a reauth_time is configured, rekey_time defaults
       to zero, disabling rekeying; explicitly set both to enforce rekeying and
@@ -343,10 +343,10 @@ in {
       perpetually, a maximum hard lifetime may be specified. If the IKE_SA fails
       to rekey or reauthenticate within the specified time, the IKE_SA gets
       closed.
-      </para><para>
+
       In contrast to CHILD_SA rekeying, over_time is relative in time to the
       rekey_time and reauth_time values, as it applies to both.
-      </para><para>
+
       The default is 10% of the longer of <option>rekey_time</option> and
       <option>reauth_time</option>.
     '';
@@ -356,7 +356,7 @@ in {
       rekey/reauth times. To avoid having both peers initiating the rekey/reauth
       procedure simultaneously, a random time gets subtracted from the
       rekey/reauth times.
-      </para><para>
+
       The default is equal to the configured <option>over_time</option>.
     '';
 
@@ -410,7 +410,7 @@ in {
         List of certificate candidates to use for
         authentication. The certificates may use a relative path from the
         swanctl <literal>x509</literal> directory or an absolute path.
-        </para><para>
+
         The certificate used for authentication is selected based on the
         received certificate request payloads. If no appropriate CA can be
         located, the first certificate is used.
@@ -426,7 +426,7 @@ in {
         List of raw public key candidates to use for
         authentication. The public keys may use a relative path from the swanctl
         <literal>pubkey</literal> directory or an absolute path.
-        </para><para>
+
         Even though multiple local public keys could be defined in principle,
         only the first public key in the list is used for authentication.
       '';
@@ -504,7 +504,7 @@ in {
         authentication. This identity may differ from the IKE identity,
         especially when EAP authentication is delegated from the IKE responder
         to an AAA backend.
-        </para><para>
+
         For EAP-(T)TLS, this defines the identity for which the server must
         provide a certificate in the TLS exchange.
       '';
@@ -518,7 +518,7 @@ in {
       defines the rules how authentication is performed for the local
       peer. Multiple rounds may be defined to use IKEv2 RFC 4739 Multiple
       Authentication or IKEv1 XAuth.
-      </para><para>
+
       Each round is defined in a section having <literal>local</literal> as
       prefix, and an optional unique suffix. To define a single authentication
       round, the suffix may be omitted.
@@ -620,7 +620,7 @@ in {
         Authentication to expect from remote. See the <option>local</option>
         section's <option>auth</option> keyword description about the details of
         supported mechanisms.
-        </para><para>
+
         Since 5.4.0, to require a trustchain public key strength for the remote
         side, specify the key type followed by the minimum strength in bits (for
         example <literal>ecdsa-384</literal> or
@@ -641,7 +641,7 @@ in {
         <literal>pubkey</literal> or <literal>rsa</literal> constraints are
         configured RSASSA-PSS signatures will only be accepted if enabled in
         <literal>strongswan.conf</literal>(5).
-        </para><para>
+
         To specify trust chain constraints for EAP-(T)TLS, append a colon to the
         EAP method, followed by the key type/size and hash algorithm as
         discussed above (e.g. <literal>eap-tls:ecdsa-384-sha384</literal>).
@@ -652,7 +652,7 @@ in {
       defines the constraints how the peers must authenticate to use this
       connection. Multiple rounds may be defined to use IKEv2 RFC 4739 Multiple
       Authentication or IKEv1 XAuth.
-      </para><para>
+
       Each round is defined in a section having <literal>remote</literal> as
       prefix, and an optional unique suffix. To define a single authentication
       round, the suffix may be omitted.
@@ -665,13 +665,13 @@ in {
         Diffie-Hellman group. If a DH group is specified, CHILD_SA/Quick Mode
         rekeying and initial negotiation uses a separate Diffie-Hellman exchange
         using the specified group (refer to esp_proposals for details).
-        </para><para>
+
         In IKEv2, multiple algorithms of the same kind can be specified in a
         single proposal, from which one gets selected. In IKEv1, only one
         algorithm per kind is allowed per proposal, more algorithms get
         implicitly stripped. Use multiple proposals to offer different algorithms
         combinations in IKEv1.
-        </para><para>
+
         Algorithm keywords get separated using dashes. Multiple proposals may be
         specified in a list. The special value <literal>default</literal> forms
         a default proposal of supported algorithms considered safe, and is
@@ -686,7 +686,7 @@ in {
         an optional Extended Sequence Number Mode indicator. For AEAD proposals,
         a combined mode algorithm is used instead of the separate
         encryption/integrity algorithms.
-        </para><para>
+
         If a DH group is specified, CHILD_SA/Quick Mode rekeying and initial
         negotiation use a separate Diffie-Hellman exchange using the specified
         group. However, for IKEv2, the keys of the CHILD_SA created implicitly
@@ -695,18 +695,18 @@ in {
         rekeyed or is created with a separate CREATE_CHILD_SA exchange. A
         proposal mismatch might, therefore, not immediately be noticed when the
         SA is established, but may later cause rekeying to fail.
-        </para><para>
+
         Extended Sequence Number support may be indicated with the
         <literal>esn</literal> and <literal>noesn</literal> values, both may be
         included to indicate support for both modes. If omitted,
         <literal>noesn</literal> is assumed.
-        </para><para>
+
         In IKEv2, multiple algorithms of the same kind can be specified in a
         single proposal, from which one gets selected. In IKEv1, only one
         algorithm per kind is allowed per proposal, more algorithms get
         implicitly stripped. Use multiple proposals to offer different algorithms
         combinations in IKEv1.
-        </para><para>
+
         Algorithm keywords get separated using dashes. Multiple proposals may be
         specified as a list. The special value <literal>default</literal> forms
         a default proposal of supported algorithms considered safe, and is
@@ -729,7 +729,7 @@ in {
         selector. The special value <literal>dynamic</literal> may be used
         instead of a subnet definition, which gets replaced by the tunnel outer
         address or the virtual IP, if negotiated. This is the default.
-        </para><para>
+
         A protocol/port selector is surrounded by opening and closing square
         brackets. Between these brackets, a numeric or getservent(3) protocol
         name may be specified. After the optional protocol restriction, an
@@ -738,7 +738,7 @@ in {
         special value <literal>opaque</literal> for RFC 4301 OPAQUE
         selectors. Port ranges may be specified as well, none of the kernel
         backends currently support port ranges, though.
-        </para><para>
+
         When IKEv1 is used only the first selector is interpreted, except if the
         Cisco Unity extension plugin is used. This is due to a limitation of the
         IKEv1 protocol, which only allows a single pair of selectors per
@@ -761,7 +761,7 @@ in {
         specified in the proposal.  To avoid rekey collisions initiated by both
         ends simultaneously, a value in the range of <option>rand_time</option>
         gets subtracted to form the effective soft lifetime.
-        </para><para>
+
         By default CHILD_SA rekeying is scheduled every hour, minus
         <option>rand_time</option>.
       '';
@@ -783,11 +783,11 @@ in {
         Number of bytes processed before initiating CHILD_SA rekeying. CHILD_SA
         rekeying refreshes key material, optionally using a Diffie-Hellman
         exchange if a group is specified in the proposal.
-        </para><para>
+
         To avoid rekey collisions initiated by both ends simultaneously, a value
         in the range of <option>rand_bytes</option> gets subtracted to form the
         effective soft volume limit.
-        </para><para>
+
         Volume based CHILD_SA rekeying is disabled by default.
       '';
 
@@ -808,11 +808,11 @@ in {
         Number of packets processed before initiating CHILD_SA rekeying. CHILD_SA
         rekeying refreshes key material, optionally using a Diffie-Hellman
         exchange if a group is specified in the proposal.
-        </para><para>
+
         To avoid rekey collisions initiated by both ends simultaneously, a value
         in the range of <option>rand_packets</option> gets subtracted to form
         the effective soft packet count limit.
-        </para><para>
+
         Packet count based CHILD_SA rekeying is disabled by default.
       '';
 
@@ -821,7 +821,7 @@ in {
         this hard packets limit is never reached, because the CHILD_SA gets
         rekeyed before. If that fails for whatever reason, this limit closes the
         CHILD_SA.
-        </para><para>
+
         The default is 10% more than <option>rekey_bytes</option>.
       '';
 
@@ -936,7 +936,7 @@ in {
         <literal>%unique</literal> sets a unique mark on each CHILD_SA instance,
         beyond that the value <literal>%unique-dir</literal> assigns a different
         unique mark for each
-        </para><para>
+
         An additional mask may be appended to the mark, separated by
         <literal>/</literal>. The default mask if omitted is
         <literal>0xffffffff</literal>.
@@ -960,7 +960,7 @@ in {
         value <literal>%unique</literal> sets a unique mark on each CHILD_SA
         instance, beyond that the value <literal>%unique-dir</literal> assigns a
         different unique mark for each CHILD_SA direction (in/out).
-        </para><para>
+
         An additional mask may be appended to the mark, separated by
         <literal>/</literal>. The default mask if omitted is
         <literal>0xffffffff</literal>.
@@ -1102,7 +1102,7 @@ in {
         <literal>start</literal> tries to re-create the CHILD_SA.
         </para></listitem>
         </itemizedlist>
-        </para><para>
+
         <option>close_action</option> does not provide any guarantee that the
         CHILD_SA is kept alive. It acts on explicit close messages only, but not
         on negotiation failures. Use trap policies to reliably re-create failed
diff --git a/nixos/modules/services/networking/stunnel.nix b/nixos/modules/services/networking/stunnel.nix
index d7311a24bb3..3bd0367a0bb 100644
--- a/nixos/modules/services/networking/stunnel.nix
+++ b/nixos/modules/services/networking/stunnel.nix
@@ -77,11 +77,10 @@ in
 
 
       servers = mkOption {
-        description = ''
+        description = lib.mdDoc ''
           Define the server configuations.
 
-          See "SERVICE-LEVEL OPTIONS" in <citerefentry><refentrytitle>stunnel</refentrytitle>
-          <manvolnum>8</manvolnum></citerefentry>.
+          See "SERVICE-LEVEL OPTIONS" in {manpage}`stunnel(8)`.
         '';
         type = with types; attrsOf (attrsOf (nullOr (oneOf [bool int str])));
         example = {
@@ -95,13 +94,12 @@ in
       };
 
       clients = mkOption {
-        description = ''
+        description = lib.mdDoc ''
           Define the client configurations.
 
           By default, verifyChain and OCSPaia are enabled and a CAFile is provided from pkgs.cacert.
 
-          See "SERVICE-LEVEL OPTIONS" in <citerefentry><refentrytitle>stunnel</refentrytitle>
-          <manvolnum>8</manvolnum></citerefentry>.
+          See "SERVICE-LEVEL OPTIONS" in {manpage}`stunnel(8)`.
         '';
         type = with types; attrsOf (attrsOf (nullOr (oneOf [bool int str])));
 
diff --git a/nixos/modules/services/networking/unbound.nix b/nixos/modules/services/networking/unbound.nix
index 7460ba3df7b..5bbb0f79d57 100644
--- a/nixos/modules/services/networking/unbound.nix
+++ b/nixos/modules/services/networking/unbound.nix
@@ -150,10 +150,9 @@ in {
             remote-control.control-enable = true;
           };
         '';
-        description = ''
+        description = lib.mdDoc ''
           Declarative Unbound configuration
-          See the <citerefentry><refentrytitle>unbound.conf</refentrytitle>
-          <manvolnum>5</manvolnum></citerefentry> manpage for a list of
+          See the {manpage}`unbound.conf(5)` manpage for a list of
           available options.
         '';
       };
diff --git a/nixos/modules/services/networking/wireguard.nix b/nixos/modules/services/networking/wireguard.nix
index 412e9c921f5..9017c53f4e5 100644
--- a/nixos/modules/services/networking/wireguard.nix
+++ b/nixos/modules/services/networking/wireguard.nix
@@ -118,12 +118,11 @@ let
         default = null;
         type = with types; nullOr str;
         example = "container";
-        description = ''The pre-existing network namespace in which the
+        description = lib.mdDoc ''The pre-existing network namespace in which the
         WireGuard interface is created, and which retains the socket even if the
-        interface is moved via <option>interfaceNamespace</option>. When
-        <literal>null</literal>, the interface is created in the init namespace.
-        See <link
-        xlink:href="https://www.wireguard.com/netns/">documentation</link>.
+        interface is moved via {option}`interfaceNamespace`. When
+        `null`, the interface is created in the init namespace.
+        See [documentation](https://www.wireguard.com/netns/).
         '';
       };
 
@@ -131,12 +130,11 @@ let
         default = null;
         type = with types; nullOr str;
         example = "init";
-        description = ''The pre-existing network namespace the WireGuard
-        interface is moved to. The special value <literal>init</literal> means
-        the init namespace. When <literal>null</literal>, the interface is not
+        description = lib.mdDoc ''The pre-existing network namespace the WireGuard
+        interface is moved to. The special value `init` means
+        the init namespace. When `null`, the interface is not
         moved.
-        See <link
-        xlink:href="https://www.wireguard.com/netns/">documentation</link>.
+        See [documentation](https://www.wireguard.com/netns/).
         '';
       };
     };
diff --git a/nixos/modules/services/networking/wpa_supplicant.nix b/nixos/modules/services/networking/wpa_supplicant.nix
index e21c25e2f78..59e408f6319 100644
--- a/nixos/modules/services/networking/wpa_supplicant.nix
+++ b/nixos/modules/services/networking/wpa_supplicant.nix
@@ -190,7 +190,7 @@ in {
         description = ''
           Whether to allow configuring networks "imperatively" (e.g. via
           <package>wpa_supplicant_gui</package>) and declaratively via
-          <xref linkend="opt-networking.wireless.networks" />.
+          <xref linkend="opt-networking.wireless.networks"/>.
 
           Please note that this adds a custom patch to <package>wpa_supplicant</package>.
         '';
@@ -226,9 +226,7 @@ in {
           File consisting of lines of the form <literal>varname=value</literal>
           to define variables for the wireless configuration.
 
-          See section "EnvironmentFile=" in <citerefentry>
-          <refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum>
-          </citerefentry> for a syntax reference.
+          See section "EnvironmentFile=" in <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry> for a syntax reference.
 
           Secrets (PSKs, passwords, etc.) can be provided without adding them to
           the world-readable Nix store by defining them in the environment file and
@@ -348,10 +346,7 @@ in {
               description = ''
                 Use this option to configure advanced authentication methods like EAP.
                 See
-                <citerefentry>
-                  <refentrytitle>wpa_supplicant.conf</refentrytitle>
-                  <manvolnum>5</manvolnum>
-                </citerefentry>
+                <citerefentry><refentrytitle>wpa_supplicant.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
                 for example configurations.
 
                 <warning><para>
@@ -401,13 +396,10 @@ in {
               example = ''
                 bssid_blacklist=02:11:22:33:44:55 02:22:aa:44:55:66
               '';
-              description = ''
+              description = lib.mdDoc ''
                 Extra configuration lines appended to the network block.
                 See
-                <citerefentry>
-                  <refentrytitle>wpa_supplicant.conf</refentrytitle>
-                  <manvolnum>5</manvolnum>
-                </citerefentry>
+                {manpage}`wpa_supplicant.conf(5)`
                 for available options.
               '';
             };
@@ -478,13 +470,10 @@ in {
         example = ''
           p2p_disabled=1
         '';
-        description = ''
+        description = lib.mdDoc ''
           Extra lines appended to the configuration file.
           See
-          <citerefentry>
-            <refentrytitle>wpa_supplicant.conf</refentrytitle>
-            <manvolnum>5</manvolnum>
-          </citerefentry>
+          {manpage}`wpa_supplicant.conf(5)`
           for available options.
         '';
       };
diff --git a/nixos/modules/services/networking/yggdrasil.nix b/nixos/modules/services/networking/yggdrasil.nix
index 07b2e2a2daf..81ed6d1dd56 100644
--- a/nixos/modules/services/networking/yggdrasil.nix
+++ b/nixos/modules/services/networking/yggdrasil.nix
@@ -4,16 +4,23 @@ let
   keysPath = "/var/lib/yggdrasil/keys.json";
 
   cfg = config.services.yggdrasil;
-  configProvided = cfg.config != { };
+  settingsProvided = cfg.settings != { };
   configFileProvided = cfg.configFile != null;
 
+  format = pkgs.formats.json { };
 in {
+  imports = [
+    (mkRenamedOptionModule
+      [ "services" "yggdrasil" "config" ]
+      [ "services" "yggdrasil" "settings" ])
+  ];
+
   options = with types; {
     services.yggdrasil = {
       enable = mkEnableOption "the yggdrasil system service";
 
-      config = mkOption {
-        type = attrs;
+      settings = mkOption {
+        type = format.type;
         default = {};
         example = {
           Peers = [
@@ -44,8 +51,8 @@ in {
           are supplied, they will be combined, with values from
           <option>configFile</option> taking precedence.
 
-          You can use the command <code>nix-shell -p yggdrasil --run
-          "yggdrasil -genconf"</code> to generate default
+          You can use the command <literal>nix-shell -p yggdrasil --run
+          "yggdrasil -genconf"</literal> to generate default
           configuration values with documentation.
         '';
       };
@@ -64,21 +71,21 @@ in {
         type = types.nullOr types.str;
         default = null;
         example = "wheel";
-        description = "Group to grant access to the Yggdrasil control socket. If <code>null</code>, only root can access the socket.";
+        description = lib.mdDoc "Group to grant access to the Yggdrasil control socket. If `null`, only root can access the socket.";
       };
 
       openMulticastPort = mkOption {
         type = bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           Whether to open the UDP port used for multicast peer
           discovery. The NixOS firewall blocks link-local
           communication, so in order to make local peering work you
-          will also need to set <code>LinkLocalTCPPort</code> in your
-          yggdrasil configuration (<option>config</option> or
-          <option>configFile</option>) to a port number other than 0,
+          will also need to set `LinkLocalTCPPort` in your
+          yggdrasil configuration ({option}`config` or
+          {option}`configFile`) to a port number other than 0,
           and then add that port to
-          <option>networking.firewall.allowedTCPPorts</option>.
+          {option}`networking.firewall.allowedTCPPorts`.
         '';
       };
 
@@ -132,16 +139,17 @@ in {
 
     systemd.services.yggdrasil = {
       description = "Yggdrasil Network Service";
-      bindsTo = [ "network-online.target" ];
-      after = [ "network-online.target" ];
+      after = [ "network-pre.target" ];
+      wants = [ "network.target" ];
+      before = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
 
       preStart =
-        (if configProvided || configFileProvided || cfg.persistentKeys then
+        (if settingsProvided || configFileProvided || cfg.persistentKeys then
           "echo "
 
-          + (lib.optionalString configProvided
-            "'${builtins.toJSON cfg.config}'")
+          + (lib.optionalString settingsProvided
+            "'${builtins.toJSON cfg.settings}'")
           + (lib.optionalString configFileProvided "$(cat ${cfg.configFile})")
           + (lib.optionalString cfg.persistentKeys "$(cat ${keysPath})")
           + " | ${pkgs.jq}/bin/jq -s add | ${binYggdrasil} -normaliseconf -useconf"
diff --git a/nixos/modules/services/networking/znc/default.nix b/nixos/modules/services/networking/znc/default.nix
index a98f92d2d71..7ca28700dae 100644
--- a/nixos/modules/services/networking/znc/default.nix
+++ b/nixos/modules/services/networking/znc/default.nix
@@ -87,7 +87,7 @@ in
         default = "znc";
         example = "john";
         type = types.str;
-        description = ''
+        description = lib.mdDoc ''
           The name of an existing user account to use to own the ZNC server
           process. If not specified, a default user will be created.
         '';
@@ -97,7 +97,7 @@ in
         default = defaultUser;
         example = "users";
         type = types.str;
-        description = ''
+        description = lib.mdDoc ''
           Group to own the ZNC process.
         '';
       };
@@ -106,7 +106,7 @@ in
         default = "/var/lib/znc";
         example = "/home/john/.znc";
         type = types.path;
-        description = ''
+        description = lib.mdDoc ''
           The state directory for ZNC. The config and the modules will be linked
           to from this directory as well.
         '';
@@ -115,10 +115,10 @@ in
       openFirewall = mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           Whether to open ports in the firewall for ZNC. Does work with
           ports for listeners specified in
-          <option>services.znc.config.Listener</option>.
+          {option}`services.znc.config.Listener`.
         '';
       };
 
@@ -156,22 +156,18 @@ in
           format ZNC expects. This is much more flexible than the legacy options
           under <option>services.znc.confOptions.*</option>, but also can't do
           any type checking.
-          </para>
-          <para>
+
           You can use <command>nix-instantiate --eval --strict '&lt;nixpkgs/nixos&gt;' -A config.services.znc.config</command>
           to view the current value. By default it contains a listener for port
           5000 with SSL enabled.
-          </para>
-          <para>
+
           Nix attributes called <literal>extraConfig</literal> will be inserted
           verbatim into the resulting config file.
-          </para>
-          <para>
+
           If <option>services.znc.useLegacyConfig</option> is turned on, the
           option values in <option>services.znc.confOptions.*</option> will be
           gracefully be applied to this option.
-          </para>
-          <para>
+
           If you intend to update the configuration through this option, be sure
           to enable <option>services.znc.mutable</option>, otherwise none of the
           changes here will be applied after the initial deploy.
@@ -181,13 +177,12 @@ in
       configFile = mkOption {
         type = types.path;
         example = literalExpression "~/.znc/configs/znc.conf";
-        description = ''
+        description = lib.mdDoc ''
           Configuration file for ZNC. It is recommended to use the
-          <option>config</option> option instead.
-          </para>
-          <para>
+          {option}`config` option instead.
+
           Setting this option will override any auto-generated config file
-          through the <option>confOptions</option> or <option>config</option>
+          through the {option}`confOptions` or {option}`config`
           options.
         '';
       };
@@ -196,7 +191,7 @@ in
         type = types.listOf types.package;
         default = [ ];
         example = literalExpression "[ pkgs.zncModules.fish pkgs.zncModules.push ]";
-        description = ''
+        description = lib.mdDoc ''
           A list of global znc module packages to add to znc.
         '';
       };
@@ -204,17 +199,15 @@ in
       mutable = mkOption {
         default = true; # TODO: Default to true when config is set, make sure to not delete the old config if present
         type = types.bool;
-        description = ''
+        description = lib.mdDoc ''
           Indicates whether to allow the contents of the
-          <literal>dataDir</literal> directory to be changed by the user at
+          `dataDir` directory to be changed by the user at
           run-time.
-          </para>
-          <para>
+
           If enabled, modifications to the ZNC configuration after its initial
           creation are not overwritten by a NixOS rebuild. If disabled, the
           ZNC configuration is rebuilt on every NixOS rebuild.
-          </para>
-          <para>
+
           If the user wants to manage the ZNC service using the web admin
           interface, this option should be enabled.
         '';
@@ -224,7 +217,7 @@ in
         default = [ ];
         example = [ "--debug" ];
         type = types.listOf types.str;
-        description = ''
+        description = lib.mdDoc ''
           Extra arguments to use for executing znc.
         '';
       };
diff --git a/nixos/modules/services/networking/znc/options.nix b/nixos/modules/services/networking/znc/options.nix
index 830df809155..021fea9819a 100644
--- a/nixos/modules/services/networking/znc/options.nix
+++ b/nixos/modules/services/networking/znc/options.nix
@@ -106,8 +106,7 @@ in
           <option>services.znc.confOptions.*</option> options.
           You can use <command>nix-instantiate --eval --strict '&lt;nixpkgs/nixos&gt;' -A config.services.znc.config</command>
           to view the current value of the config.
-          </para>
-          <para>
+
           In any case, if you need more flexibility,
           <option>services.znc.config</option> can be used to override/add to
           all of the legacy options.
diff --git a/nixos/modules/services/security/privacyidea.nix b/nixos/modules/services/security/privacyidea.nix
index 599ade003c0..29c499e33ab 100644
--- a/nixos/modules/services/security/privacyidea.nix
+++ b/nixos/modules/services/security/privacyidea.nix
@@ -78,7 +78,7 @@ in
           using <package>envsubst</package> which is helpful for specifying
           secrets:
           <programlisting>
-          { <xref linkend="opt-services.privacyidea.secretKey" /> = "$SECRET"; }
+          { <xref linkend="opt-services.privacyidea.secretKey"/> = "$SECRET"; }
           </programlisting>
 
           The environment-file can now specify the actual secret key:
@@ -207,7 +207,7 @@ in
           description = ''
             Attribute-set containing the settings for <package>privacyidea-ldap-proxy</package>.
             It's possible to pass secrets using env-vars as substitutes and
-            use the option <xref linkend="opt-services.privacyidea.ldap-proxy.environmentFile" />
+            use the option <xref linkend="opt-services.privacyidea.ldap-proxy.environmentFile"/>
             to inject them via <package>envsubst</package>.
           '';
         };
@@ -215,9 +215,9 @@ in
         environmentFile = mkOption {
           default = null;
           type = types.nullOr types.str;
-          description = ''
+          description = lib.mdDoc ''
             Environment file containing secrets to be substituted into
-            <xref linkend="opt-services.privacyidea.ldap-proxy.settings" />.
+            [](#opt-services.privacyidea.ldap-proxy.settings).
           '';
         };
       };
diff --git a/nixos/modules/services/security/step-ca.nix b/nixos/modules/services/security/step-ca.nix
index 9b9b53f1351..1afcf659632 100644
--- a/nixos/modules/services/security/step-ca.nix
+++ b/nixos/modules/services/security/step-ca.nix
@@ -36,8 +36,8 @@ in
         type = with lib.types; attrsOf anything;
         description = ''
           Settings that go into <filename>ca.json</filename>. See
-          <link xlink:href="https://smallstep.com/docs/step-ca/configuration">
-          the step-ca manual</link> for more information. The easiest way to
+          <link xlink:href="https://smallstep.com/docs/step-ca/configuration">the step-ca manual</link>
+          for more information. The easiest way to
           configure this module would be to run <literal>step ca init</literal>
           to generate <filename>ca.json</filename> and then import it using
           <literal>builtins.fromJSON</literal>.
diff --git a/nixos/modules/services/security/tor.nix b/nixos/modules/services/security/tor.nix
index f611fee6908..84f577c3853 100644
--- a/nixos/modules/services/security/tor.nix
+++ b/nixos/modules/services/security/tor.nix
@@ -287,7 +287,7 @@ in
       relay = {
         enable = mkEnableOption ''relaying of Tor traffic for others.
 
-          See <link xlink:href="https://www.torproject.org/docs/tor-doc-relay" />
+          See <link xlink:href="https://www.torproject.org/docs/tor-doc-relay"/>
           for details.
 
           Setting this to true requires setting
@@ -348,7 +348,7 @@ in
 
                 <para>
                   See
-                  <link xlink:href="https://www.torproject.org/docs/tor-doc-relay.html.en" />
+                  <link xlink:href="https://www.torproject.org/docs/tor-doc-relay.html.en"/>
                   for more info.
                 </para>
               </listitem>
@@ -366,7 +366,7 @@ in
                 <para>
                   Using this option will make Tor advertise your bridge
                   to users through various mechanisms like
-                  <link xlink:href="https://bridges.torproject.org/" />, though.
+                  <link xlink:href="https://bridges.torproject.org/"/>, though.
                 </para>
 
                 <important>
@@ -384,7 +384,7 @@ in
                 </important>
 
                 <para>
-                  See <link xlink:href="https://www.torproject.org/docs/bridges.html.en" />
+                  See <link xlink:href="https://www.torproject.org/docs/bridges.html.en"/>
                   for more info.
                 </para>
               </listitem>
@@ -419,7 +419,7 @@ in
                 </para>
 
                 <para>
-                  See <link xlink:href="https://www.torproject.org/docs/bridges.html.en" />
+                  See <link xlink:href="https://www.torproject.org/docs/bridges.html.en"/>
                   for more info.
                 </para>
               </listitem>
@@ -476,11 +476,11 @@ in
                   };
                   clientNames = mkOption {
                     type = with types; nonEmptyListOf (strMatching "[A-Za-z0-9+-_]+");
-                    description = ''
+                    description = lib.mdDoc ''
                       Only clients that are listed here are authorized to access the hidden service.
-                      Generated authorization data can be found in <filename>${stateDir}/onion/$name/hostname</filename>.
+                      Generated authorization data can be found in {file}`${stateDir}/onion/$name/hostname`.
                       Clients need to put this authorization data in their configuration file using
-                      <xref linkend="opt-services.tor.settings.HidServAuth"/>.
+                      [](#opt-services.tor.settings.HidServAuth).
                     '';
                   };
                 };
diff --git a/nixos/modules/services/security/usbguard.nix b/nixos/modules/services/security/usbguard.nix
index eb3c335d974..24247593906 100644
--- a/nixos/modules/services/security/usbguard.nix
+++ b/nixos/modules/services/security/usbguard.nix
@@ -57,21 +57,19 @@ in
         example = ''
           allow with-interface equals { 08:*:* }
         '';
-        description = ''
+        description = lib.mdDoc ''
           The USBGuard daemon will load this as the policy rule set.
           As these rules are NixOS managed they are immutable and can't
           be changed by the IPC interface.
 
           If you do not set this option, the USBGuard daemon will load
-          it's policy rule set from <literal>${defaultRuleFile}</literal>.
+          it's policy rule set from `${defaultRuleFile}`.
           This file can be changed manually or via the IPC interface.
 
-          Running <literal>usbguard generate-policy</literal> as root will
+          Running `usbguard generate-policy` as root will
           generate a config for your currently plugged in devices.
 
-          For more details see <citerefentry>
-          <refentrytitle>usbguard-rules.conf</refentrytitle>
-          <manvolnum>5</manvolnum></citerefentry>.
+          For more details see {manpage}`usbguard-rules.conf(5)`.
         '';
       };
 
diff --git a/nixos/modules/services/security/vault.nix b/nixos/modules/services/security/vault.nix
index e4777910b6d..ef982963029 100644
--- a/nixos/modules/services/security/vault.nix
+++ b/nixos/modules/services/security/vault.nix
@@ -116,13 +116,13 @@ in
       storageConfig = mkOption {
         type = types.nullOr types.lines;
         default = null;
-        description = ''
+        description = lib.mdDoc ''
           HCL configuration to insert in the storageBackend section.
 
           Confidential values should not be specified here because this option's
           value is written to the Nix store, which is publicly readable.
           Provide credentials and such in a separate file using
-          <xref linkend="opt-services.vault.extraSettingsPaths"/>.
+          [](#opt-services.vault.extraSettingsPaths).
         '';
       };
 
diff --git a/nixos/modules/services/security/vaultwarden/default.nix b/nixos/modules/services/security/vaultwarden/default.nix
index 7e5389d78f4..3aa38ed819f 100644
--- a/nixos/modules/services/security/vaultwarden/default.nix
+++ b/nixos/modules/services/security/vaultwarden/default.nix
@@ -116,7 +116,7 @@ in {
         The available configuration options can be found in
         <link xlink:href="https://github.com/dani-garcia/vaultwarden/blob/${vaultwarden.version}/.env.template">the environment template file</link>.
 
-        See <xref linkend="opt-services.vaultwarden.environmentFile" /> for how
+        See <xref linkend="opt-services.vaultwarden.environmentFile"/> for how
         to set up access to the Admin UI to invite initial users.
       '';
     };
@@ -126,9 +126,7 @@ in {
       default = null;
       example = "/var/lib/vaultwarden.env";
       description = ''
-        Additional environment file as defined in <citerefentry>
-        <refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum>
-        </citerefentry>.
+        Additional environment file as defined in <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
 
         Secrets like <envar>ADMIN_TOKEN</envar> and <envar>SMTP_PASSWORD</envar>
         may be passed to the service without adding them to the world-readable Nix store.
diff --git a/nixos/modules/services/system/dbus.nix b/nixos/modules/services/system/dbus.nix
index c02e0905f1c..def04d944f0 100644
--- a/nixos/modules/services/system/dbus.nix
+++ b/nixos/modules/services/system/dbus.nix
@@ -38,17 +38,17 @@ in
       packages = mkOption {
         type = types.listOf types.path;
         default = [ ];
-        description = ''
+        description = lib.mdDoc ''
           Packages whose D-Bus configuration files should be included in
           the configuration of the D-Bus system-wide or session-wide
           message bus.  Specifically, files in the following directories
           will be included into their respective DBus configuration paths:
-          <filename><replaceable>pkg</replaceable>/etc/dbus-1/system.d</filename>
-          <filename><replaceable>pkg</replaceable>/share/dbus-1/system.d</filename>
-          <filename><replaceable>pkg</replaceable>/share/dbus-1/system-services</filename>
-          <filename><replaceable>pkg</replaceable>/etc/dbus-1/session.d</filename>
-          <filename><replaceable>pkg</replaceable>/share/dbus-1/session.d</filename>
-          <filename><replaceable>pkg</replaceable>/share/dbus-1/services</filename>
+          {file}`«pkg»/etc/dbus-1/system.d`
+          {file}`«pkg»/share/dbus-1/system.d`
+          {file}`«pkg»/share/dbus-1/system-services`
+          {file}`«pkg»/etc/dbus-1/session.d`
+          {file}`«pkg»/share/dbus-1/session.d`
+          {file}`«pkg»/share/dbus-1/services`
         '';
       };
 
diff --git a/nixos/modules/services/system/earlyoom.nix b/nixos/modules/services/system/earlyoom.nix
index 3e361fce00f..b2e2d21002c 100644
--- a/nixos/modules/services/system/earlyoom.nix
+++ b/nixos/modules/services/system/earlyoom.nix
@@ -32,32 +32,32 @@ in
     freeMemKillThreshold = mkOption {
       type = types.nullOr (types.ints.between 1 100);
       default = null;
-      description = ''
+      description = lib.mdDoc ''
         Minimum available memory (in percent) before sending SIGKILL.
-        If unset, this defaults to half of <option>freeMemThreshold</option>.
+        If unset, this defaults to half of {option}`freeMemThreshold`.
 
-        See the description of <xref linkend="opt-services.earlyoom.freeMemThreshold"/>.
+        See the description of [](#opt-services.earlyoom.freeMemThreshold).
       '';
     };
 
     freeSwapThreshold = mkOption {
       type = types.ints.between 1 100;
       default = 10;
-      description = ''
+      description = lib.mdDoc ''
         Minimum free swap space (in percent) before sending SIGTERM.
 
-        See the description of <xref linkend="opt-services.earlyoom.freeMemThreshold"/>.
+        See the description of [](#opt-services.earlyoom.freeMemThreshold).
       '';
     };
 
     freeSwapKillThreshold = mkOption {
       type = types.nullOr (types.ints.between 1 100);
       default = null;
-      description = ''
+      description = lib.mdDoc ''
         Minimum free swap space (in percent) before sending SIGKILL.
-        If unset, this defaults to half of <option>freeSwapThreshold</option>.
+        If unset, this defaults to half of {option}`freeSwapThreshold`.
 
-        See the description of <xref linkend="opt-services.earlyoom.freeMemThreshold"/>.
+        See the description of [](#opt-services.earlyoom.freeMemThreshold).
       '';
     };
 
diff --git a/nixos/modules/services/system/kerberos/default.nix b/nixos/modules/services/system/kerberos/default.nix
index 9a1e6739901..3ace9de5ea7 100644
--- a/nixos/modules/services/system/kerberos/default.nix
+++ b/nixos/modules/services/system/kerberos/default.nix
@@ -9,19 +9,19 @@ let
     options = {
       principal = mkOption {
         type = types.str;
-        description = "Which principal the rule applies to";
+        description = lib.mdDoc "Which principal the rule applies to";
       };
       access = mkOption {
         type = types.either
           (types.listOf (types.enum ["add" "cpw" "delete" "get" "list" "modify"]))
           (types.enum ["all"]);
         default = "all";
-        description = "The changes the principal is allowed to make.";
+        description = lib.mdDoc "The changes the principal is allowed to make.";
       };
       target = mkOption {
         type = types.str;
         default = "*";
-        description = "The principals that 'access' applies to.";
+        description = lib.mdDoc "The principals that 'access' applies to.";
       };
     };
   };
@@ -34,7 +34,7 @@ let
           { principal = "*/admin"; access = "all"; }
           { principal = "admin"; access = "all"; }
         ];
-        description = ''
+        description = lib.mdDoc ''
           The privileges granted to a user.
         '';
       };
@@ -55,7 +55,7 @@ in
 
       realms = mkOption {
         type = types.attrsOf (types.submodule realm);
-        description = ''
+        description = lib.mdDoc ''
           The realm(s) to serve keys for.
         '';
       };
diff --git a/nixos/modules/services/system/nscd.nix b/nixos/modules/services/system/nscd.nix
index 002c4092780..c3046a5b4cf 100644
--- a/nixos/modules/services/system/nscd.nix
+++ b/nixos/modules/services/system/nscd.nix
@@ -20,7 +20,7 @@ in
       enable = mkOption {
         type = types.bool;
         default = true;
-        description = ''
+        description = lib.mdDoc ''
           Whether to enable the Name Service Cache Daemon.
           Disabling this is strongly discouraged, as this effectively disables NSS Lookups
           from all non-glibc NSS modules, including the ones provided by systemd.
@@ -30,7 +30,7 @@ in
       config = mkOption {
         type = types.lines;
         default = builtins.readFile ./nscd.conf;
-        description = "Configuration to use for Name Service Cache Daemon.";
+        description = lib.mdDoc "Configuration to use for Name Service Cache Daemon.";
       };
 
       package = mkOption {
@@ -43,7 +43,7 @@ in
             then pkgs.stdenv.cc.libc.bin
             else pkgs.glibc.bin;
         '';
-        description = "package containing the nscd binary to be used by the service";
+        description = lib.mdDoc "package containing the nscd binary to be used by the service";
       };
 
     };
diff --git a/nixos/modules/services/torrent/transmission.nix b/nixos/modules/services/torrent/transmission.nix
index 9777964386c..6a038dc0a32 100644
--- a/nixos/modules/services/torrent/transmission.nix
+++ b/nixos/modules/services/torrent/transmission.nix
@@ -55,13 +55,13 @@ in
             type = types.path;
             default = "${cfg.home}/${incompleteDir}";
             defaultText = literalExpression ''"''${config.${opt.home}}/${incompleteDir}"'';
-            description = ''
+            description = lib.mdDoc ''
               When enabled with
               services.transmission.home
-              <xref linkend="opt-services.transmission.settings.incomplete-dir-enabled"/>,
+              [](#opt-services.transmission.settings.incomplete-dir-enabled),
               new torrents will download the files to this directory.
               When complete, the files will be moved to download-dir
-              <xref linkend="opt-services.transmission.settings.download-dir"/>.
+              [](#opt-services.transmission.settings.download-dir).
             '';
           };
           options.incomplete-dir-enabled = mkOption {
@@ -82,17 +82,17 @@ in
           options.peer-port-random-high = mkOption {
             type = types.port;
             default = 65535;
-            description = ''
+            description = lib.mdDoc ''
               The maximum peer port to listen to for incoming connections
-              when <xref linkend="opt-services.transmission.settings.peer-port-random-on-start"/> is enabled.
+              when [](#opt-services.transmission.settings.peer-port-random-on-start) is enabled.
             '';
           };
           options.peer-port-random-low = mkOption {
             type = types.port;
             default = 65535;
-            description = ''
+            description = lib.mdDoc ''
               The minimal peer port to listen to for incoming connections
-              when <xref linkend="opt-services.transmission.settings.peer-port-random-on-start"/> is enabled.
+              when [](#opt-services.transmission.settings.peer-port-random-on-start) is enabled.
             '';
           };
           options.peer-port-random-on-start = mkOption {
@@ -117,9 +117,9 @@ in
           options.script-torrent-done-enabled = mkOption {
             type = types.bool;
             default = false;
-            description = ''
+            description = lib.mdDoc ''
               Whether to run
-              <xref linkend="opt-services.transmission.settings.script-torrent-done-filename"/>
+              [](#opt-services.transmission.settings.script-torrent-done-filename)
               at torrent completion.
             '';
           };
@@ -156,15 +156,15 @@ in
           options.watch-dir-enabled = mkOption {
             type = types.bool;
             default = false;
-            description = ''Whether to enable the
-              <xref linkend="opt-services.transmission.settings.watch-dir"/>.
+            description = lib.mdDoc ''Whether to enable the
+              [](#opt-services.transmission.settings.watch-dir).
             '';
           };
           options.trash-original-torrent-files = mkOption {
             type = types.bool;
             default = false;
-            description = ''Whether to delete torrents added from the
-              <xref linkend="opt-services.transmission.settings.watch-dir"/>.
+            description = lib.mdDoc ''Whether to delete torrents added from the
+              [](#opt-services.transmission.settings.watch-dir).
             '';
           };
         };
@@ -174,26 +174,26 @@ in
         type = with types; nullOr str;
         default = null;
         example = "770";
-        description = ''
-          If not <code>null</code>, is used as the permissions
-          set by <literal>systemd.activationScripts.transmission-daemon</literal>
-          on the directories <xref linkend="opt-services.transmission.settings.download-dir"/>,
-          <xref linkend="opt-services.transmission.settings.incomplete-dir"/>.
-          and <xref linkend="opt-services.transmission.settings.watch-dir"/>.
+        description = lib.mdDoc ''
+          If not `null`, is used as the permissions
+          set by `systemd.activationScripts.transmission-daemon`
+          on the directories [](#opt-services.transmission.settings.download-dir),
+          [](#opt-services.transmission.settings.incomplete-dir).
+          and [](#opt-services.transmission.settings.watch-dir).
           Note that you may also want to change
-          <xref linkend="opt-services.transmission.settings.umask"/>.
+          [](#opt-services.transmission.settings.umask).
         '';
       };
 
       home = mkOption {
         type = types.path;
         default = "/var/lib/transmission";
-        description = ''
-          The directory where Transmission will create <literal>${settingsDir}</literal>.
-          as well as <literal>${downloadsDir}/</literal> unless
-          <xref linkend="opt-services.transmission.settings.download-dir"/> is changed,
-          and <literal>${incompleteDir}/</literal> unless
-          <xref linkend="opt-services.transmission.settings.incomplete-dir"/> is changed.
+        description = lib.mdDoc ''
+          The directory where Transmission will create `${settingsDir}`.
+          as well as `${downloadsDir}/` unless
+          [](#opt-services.transmission.settings.download-dir) is changed,
+          and `${incompleteDir}/` unless
+          [](#opt-services.transmission.settings.incomplete-dir) is changed.
         '';
       };
 
@@ -211,10 +211,10 @@ in
 
       credentialsFile = mkOption {
         type = types.path;
-        description = ''
+        description = lib.mdDoc ''
           Path to a JSON file to be merged with the settings.
           Useful to merge a file which is better kept out of the Nix store
-          to set secret config parameters like <code>rpc-password</code>.
+          to set secret config parameters like `rpc-password`.
         '';
         default = "/dev/null";
         example = "/var/lib/secrets/transmission/settings.json";
@@ -237,7 +237,7 @@ in
         to open many more connections at the same time.
 
         Note that you may also want to increase
-        <code>peer-limit-global"</code>.
+        <literal>peer-limit-global"</literal>.
         And be aware that these settings are quite aggressive
         and might not suite your regular desktop use.
         For instance, SSH sessions may time out more easily'';
diff --git a/nixos/modules/services/ttys/getty.nix b/nixos/modules/services/ttys/getty.nix
index d2bebb9c245..aec65903cec 100644
--- a/nixos/modules/services/ttys/getty.nix
+++ b/nixos/modules/services/ttys/getty.nix
@@ -52,15 +52,13 @@ in
       loginOptions = mkOption {
         type = types.nullOr types.str;
         default = null;
-        description = ''
+        description = lib.mdDoc ''
           Template for arguments to be passed to
-          <citerefentry><refentrytitle>login</refentrytitle>
-          <manvolnum>1</manvolnum></citerefentry>.
+          {manpage}`login(1)`.
 
-          See <citerefentry><refentrytitle>agetty</refentrytitle>
-          <manvolnum>1</manvolnum></citerefentry> for details,
+          See {manpage}`agetty(1)` for details,
           including security considerations.  If unspecified, agetty
-          will not be invoked with a <option>--login-options</option>
+          will not be invoked with a {option}`--login-options`
           option.
         '';
         example = "-h darkstar -- \\u";
@@ -104,6 +102,7 @@ in
     # Note: this is set here rather than up there so that changing
     # nixos.label would not rebuild manual pages
     services.getty.greetingLine = mkDefault ''<<< Welcome to NixOS ${config.system.nixos.label} (\m) - \l >>>'';
+    services.getty.helpLine = mkIf (config.documentation.nixos.enable && config.documentation.doc.enable) "\nRun 'nixos-help' for the NixOS manual.";
 
     systemd.services."getty@" =
       { serviceConfig.ExecStart = [
diff --git a/nixos/modules/services/web-apps/bookstack.nix b/nixos/modules/services/web-apps/bookstack.nix
index 64a2767fab6..b939adc50fa 100644
--- a/nixos/modules/services/web-apps/bookstack.nix
+++ b/nixos/modules/services/web-apps/bookstack.nix
@@ -38,21 +38,21 @@ in {
 
     user = mkOption {
       default = "bookstack";
-      description = "User bookstack runs as.";
+      description = lib.mdDoc "User bookstack runs as.";
       type = types.str;
     };
 
     group = mkOption {
       default = "bookstack";
-      description = "Group bookstack runs as.";
+      description = lib.mdDoc "Group bookstack runs as.";
       type = types.str;
     };
 
     appKeyFile = mkOption {
-      description = ''
+      description = lib.mdDoc ''
         A file containing the Laravel APP_KEY - a 32 character long,
         base64 encoded key used for encryption where needed. Can be
-        generated with <code>head -c 32 /dev/urandom | base64</code>.
+        generated with `head -c 32 /dev/urandom | base64`.
       '';
       example = "/run/keys/bookstack-appkey";
       type = types.path;
@@ -66,15 +66,15 @@ in {
                   config.networking.hostName;
       defaultText = lib.literalExpression "config.networking.fqdn";
       example = "bookstack.example.com";
-      description = ''
+      description = lib.mdDoc ''
         The hostname to serve BookStack on.
       '';
     };
 
     appURL = mkOption {
-      description = ''
+      description = lib.mdDoc ''
         The root URL that you want to host BookStack on. All URLs in BookStack will be generated using this value.
-        If you change this in the future you may need to run a command to update stored URLs in the database. Command example: <code>php artisan bookstack:update-url https://old.example.com https://new.example.com</code>
+        If you change this in the future you may need to run a command to update stored URLs in the database. Command example: `php artisan bookstack:update-url https://old.example.com https://new.example.com`
       '';
       default = "http${lib.optionalString tlsEnabled "s"}://${cfg.hostname}";
       defaultText = ''http''${lib.optionalString tlsEnabled "s"}://''${cfg.hostname}'';
@@ -83,7 +83,7 @@ in {
     };
 
     dataDir = mkOption {
-      description = "BookStack data directory";
+      description = lib.mdDoc "BookStack data directory";
       default = "/var/lib/bookstack";
       type = types.path;
     };
@@ -92,37 +92,37 @@ in {
       host = mkOption {
         type = types.str;
         default = "localhost";
-        description = "Database host address.";
+        description = lib.mdDoc "Database host address.";
       };
       port = mkOption {
         type = types.port;
         default = 3306;
-        description = "Database host port.";
+        description = lib.mdDoc "Database host port.";
       };
       name = mkOption {
         type = types.str;
         default = "bookstack";
-        description = "Database name.";
+        description = lib.mdDoc "Database name.";
       };
       user = mkOption {
         type = types.str;
         default = user;
         defaultText = literalExpression "user";
-        description = "Database username.";
+        description = lib.mdDoc "Database username.";
       };
       passwordFile = mkOption {
         type = with types; nullOr path;
         default = null;
         example = "/run/keys/bookstack-dbpassword";
-        description = ''
+        description = lib.mdDoc ''
           A file containing the password corresponding to
-          <option>database.user</option>.
+          {option}`database.user`.
         '';
       };
       createLocally = mkOption {
         type = types.bool;
         default = false;
-        description = "Create the database and database user locally.";
+        description = lib.mdDoc "Create the database and database user locally.";
       };
     };
 
@@ -130,47 +130,47 @@ in {
       driver = mkOption {
         type = types.enum [ "smtp" "sendmail" ];
         default = "smtp";
-        description = "Mail driver to use.";
+        description = lib.mdDoc "Mail driver to use.";
       };
       host = mkOption {
         type = types.str;
         default = "localhost";
-        description = "Mail host address.";
+        description = lib.mdDoc "Mail host address.";
       };
       port = mkOption {
         type = types.port;
         default = 1025;
-        description = "Mail host port.";
+        description = lib.mdDoc "Mail host port.";
       };
       fromName = mkOption {
         type = types.str;
         default = "BookStack";
-        description = "Mail \"from\" name.";
+        description = lib.mdDoc "Mail \"from\" name.";
       };
       from = mkOption {
         type = types.str;
         default = "mail@bookstackapp.com";
-        description = "Mail \"from\" email.";
+        description = lib.mdDoc "Mail \"from\" email.";
       };
       user = mkOption {
         type = with types; nullOr str;
         default = null;
         example = "bookstack";
-        description = "Mail username.";
+        description = lib.mdDoc "Mail username.";
       };
       passwordFile = mkOption {
         type = with types; nullOr path;
         default = null;
         example = "/run/keys/bookstack-mailpassword";
-        description = ''
+        description = lib.mdDoc ''
           A file containing the password corresponding to
-          <option>mail.user</option>.
+          {option}`mail.user`.
         '';
       };
       encryption = mkOption {
         type = with types; nullOr (enum [ "tls" ]);
         default = null;
-        description = "SMTP encryption mechanism to use.";
+        description = lib.mdDoc "SMTP encryption mechanism to use.";
       };
     };
 
@@ -178,7 +178,7 @@ in {
       type = types.str;
       default = "18M";
       example = "1G";
-      description = "The maximum size for uploads (e.g. images).";
+      description = lib.mdDoc "The maximum size for uploads (e.g. images).";
     };
 
     poolConfig = mkOption {
@@ -191,8 +191,8 @@ in {
         "pm.max_spare_servers" = 4;
         "pm.max_requests" = 500;
       };
-      description = ''
-        Options for the bookstack PHP pool. See the documentation on <literal>php-fpm.conf</literal>
+      description = lib.mdDoc ''
+        Options for the bookstack PHP pool. See the documentation on `php-fpm.conf`
         for details on configuration directives.
       '';
     };
@@ -213,7 +213,7 @@ in {
           enableACME = true;
         }
       '';
-      description = ''
+      description = lib.mdDoc ''
         With this option, you can customize the nginx virtualHost settings.
       '';
     };
@@ -256,20 +256,20 @@ in {
           OIDC_ISSUER_DISCOVER = true;
         }
       '';
-      description = ''
+      description = lib.mdDoc ''
         BookStack configuration options to set in the
-        <filename>.env</filename> file.
+        {file}`.env` file.
 
-        Refer to <link xlink:href="https://www.bookstackapp.com/docs/"/>
+        Refer to <https://www.bookstackapp.com/docs/>
         for details on supported values.
 
         Settings containing secret data should be set to an attribute
-        set containing the attribute <literal>_secret</literal> - a
+        set containing the attribute `_secret` - a
         string pointing to a file containing the value the option
         should be set to. See the example to get a better picture of
-        this: in the resulting <filename>.env</filename> file, the
-        <literal>OIDC_CLIENT_SECRET</literal> key will be set to the
-        contents of the <filename>/run/keys/oidc_secret</filename>
+        this: in the resulting {file}`.env` file, the
+        `OIDC_CLIENT_SECRET` key will be set to the
+        contents of the {file}`/run/keys/oidc_secret`
         file.
       '';
     };
diff --git a/nixos/modules/services/web-apps/dokuwiki.nix b/nixos/modules/services/web-apps/dokuwiki.nix
index 49865b962d1..a148dec8199 100644
--- a/nixos/modules/services/web-apps/dokuwiki.nix
+++ b/nixos/modules/services/web-apps/dokuwiki.nix
@@ -260,14 +260,14 @@ in
       webserver = mkOption {
         type = types.enum [ "nginx" "caddy" ];
         default = "nginx";
-        description = ''
+        description = lib.mdDoc ''
           Whether to use nginx or caddy for virtual host management.
 
-          Further nginx configuration can be done by adapting <literal>services.nginx.virtualHosts.&lt;name&gt;</literal>.
-          See <xref linkend="opt-services.nginx.virtualHosts"/> for further information.
+          Further nginx configuration can be done by adapting `services.nginx.virtualHosts.<name>`.
+          See [](#opt-services.nginx.virtualHosts) for further information.
 
-          Further apache2 configuration can be done by adapting <literal>services.httpd.virtualHosts.&lt;name&gt;</literal>.
-          See <xref linkend="opt-services.httpd.virtualHosts"/> for further information.
+          Further apache2 configuration can be done by adapting `services.httpd.virtualHosts.<name>`.
+          See [](#opt-services.httpd.virtualHosts) for further information.
         '';
       };
 
diff --git a/nixos/modules/services/web-apps/fluidd.nix b/nixos/modules/services/web-apps/fluidd.nix
index 6ac1acc9d03..8d6d48b3dd2 100644
--- a/nixos/modules/services/web-apps/fluidd.nix
+++ b/nixos/modules/services/web-apps/fluidd.nix
@@ -10,7 +10,7 @@ in
 
     package = mkOption {
       type = types.package;
-      description = "Fluidd package to be used in the module";
+      description = lib.mdDoc "Fluidd package to be used in the module";
       default = pkgs.fluidd;
       defaultText = literalExpression "pkgs.fluidd";
     };
@@ -18,7 +18,7 @@ in
     hostName = mkOption {
       type = types.str;
       default = "localhost";
-      description = "Hostname to serve fluidd on";
+      description = lib.mdDoc "Hostname to serve fluidd on";
     };
 
     nginx = mkOption {
@@ -30,7 +30,7 @@ in
           serverAliases = [ "fluidd.''${config.networking.domain}" ];
         }
       '';
-      description = "Extra configuration for the nginx virtual host of fluidd.";
+      description = lib.mdDoc "Extra configuration for the nginx virtual host of fluidd.";
     };
   };
 
diff --git a/nixos/modules/services/web-apps/hedgedoc.nix b/nixos/modules/services/web-apps/hedgedoc.nix
index b8d83984ca7..348192ea848 100644
--- a/nixos/modules/services/web-apps/hedgedoc.nix
+++ b/nixos/modules/services/web-apps/hedgedoc.nix
@@ -150,10 +150,9 @@ in
             addDefaults = true;
           }
         '';
-        description = ''
+        description = lib.mdDoc ''
           Specify the Content Security Policy which is passed to Helmet.
-          For configuration details see <link xlink:href="https://helmetjs.github.io/docs/csp/"
-          >https://helmetjs.github.io/docs/csp/</link>.
+          For configuration details see <https://helmetjs.github.io/docs/csp/>.
         '';
       };
       protocolUseSSL = mkOption {
@@ -984,9 +983,7 @@ in
       default = null;
       example = "/var/lib/hedgedoc/hedgedoc.env";
       description = ''
-        Environment file as defined in <citerefentry>
-        <refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum>
-        </citerefentry>.
+        Environment file as defined in <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
 
         Secrets may be passed to the service without adding them to the world-readable
         Nix store, by specifying placeholder variables as the option value in Nix and
diff --git a/nixos/modules/services/web-apps/jirafeau.nix b/nixos/modules/services/web-apps/jirafeau.nix
index 328c61c8e64..c95d8ffd524 100644
--- a/nixos/modules/services/web-apps/jirafeau.nix
+++ b/nixos/modules/services/web-apps/jirafeau.nix
@@ -25,7 +25,7 @@ in
     adminPasswordSha256 = mkOption {
       type = types.str;
       default = "";
-      description = ''
+      description = lib.mdDoc ''
         SHA-256 of the desired administration password. Leave blank/unset for no password.
       '';
     };
@@ -33,7 +33,7 @@ in
     dataDir = mkOption {
       type = types.path;
       default = "/var/lib/jirafeau/data/";
-      description = "Location of Jirafeau storage directory.";
+      description = lib.mdDoc "Location of Jirafeau storage directory.";
     };
 
     enable = mkEnableOption "Jirafeau file upload application.";
@@ -58,13 +58,13 @@ in
     hostName = mkOption {
       type = types.str;
       default = "localhost";
-      description = "URL of instance. Must have trailing slash.";
+      description = lib.mdDoc "URL of instance. Must have trailing slash.";
     };
 
     maxUploadSizeMegabytes = mkOption {
       type = types.int;
       default = 0;
-      description = "Maximum upload size of accepted files.";
+      description = lib.mdDoc "Maximum upload size of accepted files.";
     };
 
     maxUploadTimeout = mkOption {
@@ -89,14 +89,14 @@ in
           serverAliases = [ "wiki.''${config.networking.domain}" ];
         }
       '';
-      description = "Extra configuration for the nginx virtual host of Jirafeau.";
+      description = lib.mdDoc "Extra configuration for the nginx virtual host of Jirafeau.";
     };
 
     package = mkOption {
       type = types.package;
       default = pkgs.jirafeau;
       defaultText = literalExpression "pkgs.jirafeau";
-      description = "Jirafeau package to use";
+      description = lib.mdDoc "Jirafeau package to use";
     };
 
     poolConfig = mkOption {
@@ -109,8 +109,8 @@ in
         "pm.max_spare_servers" = 4;
         "pm.max_requests" = 500;
       };
-      description = ''
-        Options for Jirafeau PHP pool. See documentation on <literal>php-fpm.conf</literal> for
+      description = lib.mdDoc ''
+        Options for Jirafeau PHP pool. See documentation on `php-fpm.conf` for
         details on configuration directives.
       '';
     };
diff --git a/nixos/modules/services/web-apps/keycloak.nix b/nixos/modules/services/web-apps/keycloak.nix
index de76babbaed..c1091bc09a0 100644
--- a/nixos/modules/services/web-apps/keycloak.nix
+++ b/nixos/modules/services/web-apps/keycloak.nix
@@ -210,14 +210,13 @@ in
         name = mkOption {
           type = str;
           default = "keycloak";
-          description = ''
+          description = lib.mdDoc ''
             Database name to use when connecting to an external or
             manually provisioned database; has no effect when a local
             database is automatically provisioned.
 
-            To use this with a local database, set <xref
-            linkend="opt-services.keycloak.database.createLocally" /> to
-            <literal>false</literal> and create the database and user
+            To use this with a local database, set [](#opt-services.keycloak.database.createLocally) to
+            `false` and create the database and user
             manually.
           '';
         };
@@ -225,14 +224,13 @@ in
         username = mkOption {
           type = str;
           default = "keycloak";
-          description = ''
+          description = lib.mdDoc ''
             Username to use when connecting to an external or manually
             provisioned database; has no effect when a local database is
             automatically provisioned.
 
-            To use this with a local database, set <xref
-            linkend="opt-services.keycloak.database.createLocally" /> to
-            <literal>false</literal> and create the database and user
+            To use this with a local database, set [](#opt-services.keycloak.database.createLocally) to
+            `false` and create the database and user
             manually.
           '';
         };
@@ -329,10 +327,8 @@ in
                     want to set this to <literal>/auth</literal> to
                     keep compatibility with your clients.
 
-                    See <link
-                    xlink:href="https://www.keycloak.org/migration/migrating-to-quarkus"
-                    /> for more information on migrating from Wildfly
-                    to Quarkus.
+                    See <link xlink:href="https://www.keycloak.org/migration/migrating-to-quarkus"/>
+                    for more information on migrating from Wildfly to Quarkus.
                   </para>
                 </note>
               '';
@@ -404,9 +400,7 @@ in
                   </varlistentry>
                 </variablelist>
 
-                See <link
-                xlink:href="https://www.keycloak.org/server/reverseproxy"
-                /> for more information.
+                See <link xlink:href="https://www.keycloak.org/server/reverseproxy"/> for more information.
               '';
             };
           };
@@ -421,22 +415,21 @@ in
           }
         '';
 
-        description = ''
+        description = lib.mdDoc ''
           Configuration options corresponding to parameters set in
-          <filename>conf/keycloak.conf</filename>.
+          {file}`conf/keycloak.conf`.
 
-          Most available options are documented at <link
-          xlink:href="https://www.keycloak.org/server/all-config" />.
+          Most available options are documented at <https://www.keycloak.org/server/all-config>.
 
           Options containing secret data should be set to an attribute
-          set containing the attribute <literal>_secret</literal> - a
+          set containing the attribute `_secret` - a
           string pointing to a file containing the value the option
           should be set to. See the example to get a better picture of
           this: in the resulting
-          <filename>conf/keycloak.conf</filename> file, the
-          <literal>https-key-store-password</literal> key will be set
+          {file}`conf/keycloak.conf` file, the
+          `https-key-store-password` key will be set
           to the contents of the
-          <filename>/run/keys/store_password</filename> file.
+          {file}`/run/keys/store_password` file.
         '';
       };
     };
diff --git a/nixos/modules/services/web-apps/limesurvey.nix b/nixos/modules/services/web-apps/limesurvey.nix
index 5ccd742a303..e0995e0b5a4 100644
--- a/nixos/modules/services/web-apps/limesurvey.nix
+++ b/nixos/modules/services/web-apps/limesurvey.nix
@@ -39,41 +39,41 @@ in
         type = types.enum [ "mysql" "pgsql" "odbc" "mssql" ];
         example = "pgsql";
         default = "mysql";
-        description = "Database engine to use.";
+        description = lib.mdDoc "Database engine to use.";
       };
 
       host = mkOption {
         type = types.str;
         default = "localhost";
-        description = "Database host address.";
+        description = lib.mdDoc "Database host address.";
       };
 
       port = mkOption {
         type = types.int;
         default = if cfg.database.type == "pgsql" then 5442 else 3306;
         defaultText = literalExpression "3306";
-        description = "Database host port.";
+        description = lib.mdDoc "Database host port.";
       };
 
       name = mkOption {
         type = types.str;
         default = "limesurvey";
-        description = "Database name.";
+        description = lib.mdDoc "Database name.";
       };
 
       user = mkOption {
         type = types.str;
         default = "limesurvey";
-        description = "Database user.";
+        description = lib.mdDoc "Database user.";
       };
 
       passwordFile = mkOption {
         type = types.nullOr types.path;
         default = null;
         example = "/run/keys/limesurvey-dbpassword";
-        description = ''
+        description = lib.mdDoc ''
           A file containing the password corresponding to
-          <option>database.user</option>.
+          {option}`database.user`.
         '';
       };
 
@@ -85,14 +85,14 @@ in
           else null
         ;
         defaultText = literalExpression "/run/mysqld/mysqld.sock";
-        description = "Path to the unix socket file to use for authentication.";
+        description = lib.mdDoc "Path to the unix socket file to use for authentication.";
       };
 
       createLocally = mkOption {
         type = types.bool;
         default = cfg.database.type == "mysql";
         defaultText = literalExpression "true";
-        description = ''
+        description = lib.mdDoc ''
           Create the database and database user locally.
           This currently only applies if database type "mysql" is selected.
         '';
@@ -109,9 +109,9 @@ in
           enableACME = true;
         }
       '';
-      description = ''
-        Apache configuration can be done by adapting <literal>services.httpd.virtualHosts.&lt;name&gt;</literal>.
-        See <xref linkend="opt-services.httpd.virtualHosts"/> for further information.
+      description = lib.mdDoc ''
+        Apache configuration can be done by adapting `services.httpd.virtualHosts.<name>`.
+        See [](#opt-services.httpd.virtualHosts) for further information.
       '';
     };
 
@@ -125,8 +125,8 @@ in
         "pm.max_spare_servers" = 4;
         "pm.max_requests" = 500;
       };
-      description = ''
-        Options for the LimeSurvey PHP pool. See the documentation on <literal>php-fpm.conf</literal>
+      description = lib.mdDoc ''
+        Options for the LimeSurvey PHP pool. See the documentation on `php-fpm.conf`
         for details on configuration directives.
       '';
     };
@@ -134,9 +134,9 @@ in
     config = mkOption {
       type = configType;
       default = {};
-      description = ''
+      description = lib.mdDoc ''
         LimeSurvey configuration. Refer to
-        <link xlink:href="https://manual.limesurvey.org/Optional_settings"/>
+        <https://manual.limesurvey.org/Optional_settings>
         for details on supported values.
       '';
     };
diff --git a/nixos/modules/services/web-apps/mastodon.nix b/nixos/modules/services/web-apps/mastodon.nix
index f3f0fb7cb53..d0594ff7419 100644
--- a/nixos/modules/services/web-apps/mastodon.nix
+++ b/nixos/modules/services/web-apps/mastodon.nix
@@ -113,17 +113,17 @@ in {
           affect other virtualHosts running on your nginx instance, if any.
           Alternatively you can configure a reverse-proxy of your choice to serve these paths:
 
-          <code>/ -> $(nix-instantiate --eval '&lt;nixpkgs&gt;' -A mastodon.outPath)/public</code>
+          <literal>/ -> $(nix-instantiate --eval '&lt;nixpkgs&gt;' -A mastodon.outPath)/public</literal>
 
-          <code>/ -> 127.0.0.1:{{ webPort }} </code>(If there was no file in the directory above.)
+          <literal>/ -> 127.0.0.1:{{ webPort }} </literal>(If there was no file in the directory above.)
 
-          <code>/system/ -> /var/lib/mastodon/public-system/</code>
+          <literal>/system/ -> /var/lib/mastodon/public-system/</literal>
 
-          <code>/api/v1/streaming/ -> 127.0.0.1:{{ streamingPort }}</code>
+          <literal>/api/v1/streaming/ -> 127.0.0.1:{{ streamingPort }}</literal>
 
           Make sure that websockets are forwarded properly. You might want to set up caching
           of some requests. Take a look at mastodon's provided nginx configuration at
-          <code>https://github.com/mastodon/mastodon/blob/master/dist/nginx.conf</code>.
+          <literal>https://github.com/mastodon/mastodon/blob/master/dist/nginx.conf</literal>.
         '';
         type = lib.types.bool;
         default = false;
@@ -135,13 +135,13 @@ in {
           that user will be created, otherwise it should be set to the
           name of a user created elsewhere.  In both cases,
           <package>mastodon</package> and a package containing only
-          the shell script <code>mastodon-env</code> will be added to
+          the shell script <literal>mastodon-env</literal> will be added to
           the user's package set. To run a command from
-          <package>mastodon</package> such as <code>tootctl</code>
+          <package>mastodon</package> such as <literal>tootctl</literal>
           with the environment configured by this module use
-          <code>mastodon-env</code>, as in:
+          <literal>mastodon-env</literal>, as in:
 
-          <code>mastodon-env tootctl accounts create newuser --email newuser@example.com</code>
+          <literal>mastodon-env tootctl accounts create newuser --email newuser@example.com</literal>
         '';
         type = lib.types.str;
         default = "mastodon";
@@ -197,14 +197,14 @@ in {
       };
 
       vapidPublicKeyFile = lib.mkOption {
-        description = ''
+        description = lib.mdDoc ''
           Path to file containing the public key used for Web Push
           Voluntary Application Server Identification.  A new keypair can
           be generated by running:
 
-          <code>nix build -f '&lt;nixpkgs&gt;' mastodon; cd result; bin/rake webpush:generate_keys</code>
+          `nix build -f '<nixpkgs>' mastodon; cd result; bin/rake webpush:generate_keys`
 
-          If <option>mastodon.vapidPrivateKeyFile</option>does not
+          If {option}`mastodon.vapidPrivateKeyFile`does not
           exist, it and this file will be created with a new keypair.
         '';
         default = "/var/lib/mastodon/secrets/vapid-public-key";
@@ -218,11 +218,11 @@ in {
       };
 
       secretKeyBaseFile = lib.mkOption {
-        description = ''
+        description = lib.mdDoc ''
           Path to file containing the secret key base.
           A new secret key base can be generated by running:
 
-          <code>nix build -f '&lt;nixpkgs&gt;' mastodon; cd result; bin/rake secret</code>
+          `nix build -f '<nixpkgs>' mastodon; cd result; bin/rake secret`
 
           If this file does not exist, it will be created with a new secret key base.
         '';
@@ -231,11 +231,11 @@ in {
       };
 
       otpSecretFile = lib.mkOption {
-        description = ''
+        description = lib.mdDoc ''
           Path to file containing the OTP secret.
           A new OTP secret can be generated by running:
 
-          <code>nix build -f '&lt;nixpkgs&gt;' mastodon; cd result; bin/rake secret</code>
+          `nix build -f '<nixpkgs>' mastodon; cd result; bin/rake secret`
 
           If this file does not exist, it will be created with a new OTP secret.
         '';
@@ -244,12 +244,12 @@ in {
       };
 
       vapidPrivateKeyFile = lib.mkOption {
-        description = ''
+        description = lib.mdDoc ''
           Path to file containing the private key used for Web Push
           Voluntary Application Server Identification.  A new keypair can
           be generated by running:
 
-          <code>nix build -f '&lt;nixpkgs&gt;' mastodon; cd result; bin/rake webpush:generate_keys</code>
+          `nix build -f '<nixpkgs>' mastodon; cd result; bin/rake webpush:generate_keys`
 
           If this file does not exist, it will be created with a new
           private key.
diff --git a/nixos/modules/services/web-apps/matomo.nix b/nixos/modules/services/web-apps/matomo.nix
index c6d4ed6d39d..80c4db1263e 100644
--- a/nixos/modules/services/web-apps/matomo.nix
+++ b/nixos/modules/services/web-apps/matomo.nix
@@ -32,7 +32,7 @@ in {
       enable = mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           Enable Matomo web analytics with php-fpm backend.
           Either the nginx option or the webServerUser option is mandatory.
         '';
@@ -40,7 +40,7 @@ in {
 
       package = mkOption {
         type = types.package;
-        description = ''
+        description = lib.mdDoc ''
           Matomo package for the service to use.
           This can be used to point to newer releases from nixos-unstable,
           as they don't get backported if they are not security-relevant.
@@ -64,13 +64,13 @@ in {
       periodicArchiveProcessing = mkOption {
         type = types.bool;
         default = true;
-        description = ''
+        description = lib.mdDoc ''
           Enable periodic archive processing, which generates aggregated reports from the visits.
 
           This means that you can safely disable browser triggers for Matomo archiving,
           and safely enable to delete old visitor logs.
           Before deleting visitor logs,
-          make sure though that you run <literal>systemctl start matomo-archive-processing.service</literal>
+          make sure though that you run `systemctl start matomo-archive-processing.service`
           at least once without errors if you have already collected data before.
         '';
       };
@@ -84,7 +84,7 @@ in {
           else "${user}.''${config.${options.networking.hostName}}"
         '';
         example = "matomo.yourdomain.org";
-        description = ''
+        description = lib.mdDoc ''
           URL of the host, without https prefix. You may want to change it if you
           run Matomo on a different URL than matomo.yourdomain.
         '';
@@ -112,12 +112,12 @@ in {
             enableACME = false;
           }
         '';
-        description = ''
+        description = lib.mdDoc ''
             With this option, you can customize an nginx virtualHost which already has sensible defaults for Matomo.
             Either this option or the webServerUser option is mandatory.
             Set this to {} to just enable the virtualHost if you don't need any customization.
-            If enabled, then by default, the <option>serverName</option> is
-            <literal>''${user}.''${config.networking.hostName}.''${config.networking.domain}</literal>,
+            If enabled, then by default, the {option}`serverName` is
+            `''${user}.''${config.networking.hostName}.''${config.networking.domain}`,
             SSL is active, and certificates are acquired via ACME.
             If this is set to null (the default), no nginx virtualHost will be configured.
         '';
diff --git a/nixos/modules/services/web-apps/mediawiki.nix b/nixos/modules/services/web-apps/mediawiki.nix
index 977b6f60b23..01083eff612 100644
--- a/nixos/modules/services/web-apps/mediawiki.nix
+++ b/nixos/modules/services/web-apps/mediawiki.nix
@@ -177,20 +177,20 @@ in
         type = types.package;
         default = pkgs.mediawiki;
         defaultText = literalExpression "pkgs.mediawiki";
-        description = "Which MediaWiki package to use.";
+        description = lib.mdDoc "Which MediaWiki package to use.";
       };
 
       name = mkOption {
         type = types.str;
         default = "MediaWiki";
         example = "Foobar Wiki";
-        description = "Name of the wiki.";
+        description = lib.mdDoc "Name of the wiki.";
       };
 
       uploadsDir = mkOption {
         type = types.nullOr types.path;
         default = "${stateDir}/uploads";
-        description = ''
+        description = lib.mdDoc ''
           This directory is used for uploads of pictures. The directory passed here is automatically
           created and permissions adjusted as required.
         '';
@@ -198,15 +198,15 @@ in
 
       passwordFile = mkOption {
         type = types.path;
-        description = "A file containing the initial password for the admin user.";
+        description = lib.mdDoc "A file containing the initial password for the admin user.";
         example = "/run/keys/mediawiki-password";
       };
 
       skins = mkOption {
         default = {};
         type = types.attrsOf types.path;
-        description = ''
-          Attribute set of paths whose content is copied to the <filename>skins</filename>
+        description = lib.mdDoc ''
+          Attribute set of paths whose content is copied to the {file}`skins`
           subdirectory of the MediaWiki installation in addition to the default skins.
         '';
       };
@@ -214,11 +214,11 @@ in
       extensions = mkOption {
         default = {};
         type = types.attrsOf (types.nullOr types.path);
-        description = ''
-          Attribute set of paths whose content is copied to the <filename>extensions</filename>
+        description = lib.mdDoc ''
+          Attribute set of paths whose content is copied to the {file}`extensions`
           subdirectory of the MediaWiki installation and enabled in configuration.
 
-          Use <literal>null</literal> instead of path to enable extensions that are part of MediaWiki.
+          Use `null` instead of path to enable extensions that are part of MediaWiki.
         '';
         example = literalExpression ''
           {
@@ -235,52 +235,52 @@ in
         type = mkOption {
           type = types.enum [ "mysql" "postgres" "sqlite" "mssql" "oracle" ];
           default = "mysql";
-          description = "Database engine to use. MySQL/MariaDB is the database of choice by MediaWiki developers.";
+          description = lib.mdDoc "Database engine to use. MySQL/MariaDB is the database of choice by MediaWiki developers.";
         };
 
         host = mkOption {
           type = types.str;
           default = "localhost";
-          description = "Database host address.";
+          description = lib.mdDoc "Database host address.";
         };
 
         port = mkOption {
           type = types.port;
           default = 3306;
-          description = "Database host port.";
+          description = lib.mdDoc "Database host port.";
         };
 
         name = mkOption {
           type = types.str;
           default = "mediawiki";
-          description = "Database name.";
+          description = lib.mdDoc "Database name.";
         };
 
         user = mkOption {
           type = types.str;
           default = "mediawiki";
-          description = "Database user.";
+          description = lib.mdDoc "Database user.";
         };
 
         passwordFile = mkOption {
           type = types.nullOr types.path;
           default = null;
           example = "/run/keys/mediawiki-dbpassword";
-          description = ''
+          description = lib.mdDoc ''
             A file containing the password corresponding to
-            <option>database.user</option>.
+            {option}`database.user`.
           '';
         };
 
         tablePrefix = mkOption {
           type = types.nullOr types.str;
           default = null;
-          description = ''
+          description = lib.mdDoc ''
             If you only have access to a single database and wish to install more than
             one version of MediaWiki, or have other applications that also use the
             database, you can give the table names a unique prefix to stop any naming
             conflicts or confusion.
-            See <link xlink:href='https://www.mediawiki.org/wiki/Manual:$wgDBprefix'/>.
+            See <https://www.mediawiki.org/wiki/Manual:$wgDBprefix>.
           '';
         };
 
@@ -288,14 +288,14 @@ in
           type = types.nullOr types.path;
           default = if cfg.database.createLocally then "/run/mysqld/mysqld.sock" else null;
           defaultText = literalExpression "/run/mysqld/mysqld.sock";
-          description = "Path to the unix socket file to use for authentication.";
+          description = lib.mdDoc "Path to the unix socket file to use for authentication.";
         };
 
         createLocally = mkOption {
           type = types.bool;
           default = cfg.database.type == "mysql";
           defaultText = literalExpression "true";
-          description = ''
+          description = lib.mdDoc ''
             Create the database and database user locally.
             This currently only applies if database type "mysql" is selected.
           '';
@@ -312,9 +312,9 @@ in
             enableACME = true;
           }
         '';
-        description = ''
-          Apache configuration can be done by adapting <option>services.httpd.virtualHosts</option>.
-          See <xref linkend="opt-services.httpd.virtualHosts"/> for further information.
+        description = lib.mdDoc ''
+          Apache configuration can be done by adapting {option}`services.httpd.virtualHosts`.
+          See [](#opt-services.httpd.virtualHosts) for further information.
         '';
       };
 
@@ -328,18 +328,18 @@ in
           "pm.max_spare_servers" = 4;
           "pm.max_requests" = 500;
         };
-        description = ''
-          Options for the MediaWiki PHP pool. See the documentation on <literal>php-fpm.conf</literal>
+        description = lib.mdDoc ''
+          Options for the MediaWiki PHP pool. See the documentation on `php-fpm.conf`
           for details on configuration directives.
         '';
       };
 
       extraConfig = mkOption {
         type = types.lines;
-        description = ''
+        description = lib.mdDoc ''
           Any additional text to be appended to MediaWiki's
           LocalSettings.php configuration file. For configuration
-          settings, see <link xlink:href="https://www.mediawiki.org/wiki/Manual:Configuration_settings"/>.
+          settings, see <https://www.mediawiki.org/wiki/Manual:Configuration_settings>.
         '';
         default = "";
         example = ''
diff --git a/nixos/modules/services/web-apps/moodle.nix b/nixos/modules/services/web-apps/moodle.nix
index 55e5ac9281e..6d1a9839ca1 100644
--- a/nixos/modules/services/web-apps/moodle.nix
+++ b/nixos/modules/services/web-apps/moodle.nix
@@ -68,13 +68,13 @@ in
       type = types.package;
       default = pkgs.moodle;
       defaultText = literalExpression "pkgs.moodle";
-      description = "The Moodle package to use.";
+      description = lib.mdDoc "The Moodle package to use.";
     };
 
     initialPassword = mkOption {
       type = types.str;
       example = "correcthorsebatterystaple";
-      description = ''
+      description = lib.mdDoc ''
         Specifies the initial password for the admin, i.e. the password assigned if the user does not already exist.
         The password specified here is world-readable in the Nix store, so it should be changed promptly.
       '';
@@ -84,18 +84,18 @@ in
       type = mkOption {
         type = types.enum [ "mysql" "pgsql" ];
         default = "mysql";
-        description = "Database engine to use.";
+        description = lib.mdDoc "Database engine to use.";
       };
 
       host = mkOption {
         type = types.str;
         default = "localhost";
-        description = "Database host address.";
+        description = lib.mdDoc "Database host address.";
       };
 
       port = mkOption {
         type = types.int;
-        description = "Database host port.";
+        description = lib.mdDoc "Database host port.";
         default = {
           mysql = 3306;
           pgsql = 5432;
@@ -106,22 +106,22 @@ in
       name = mkOption {
         type = types.str;
         default = "moodle";
-        description = "Database name.";
+        description = lib.mdDoc "Database name.";
       };
 
       user = mkOption {
         type = types.str;
         default = "moodle";
-        description = "Database user.";
+        description = lib.mdDoc "Database user.";
       };
 
       passwordFile = mkOption {
         type = types.nullOr types.path;
         default = null;
         example = "/run/keys/moodle-dbpassword";
-        description = ''
+        description = lib.mdDoc ''
           A file containing the password corresponding to
-          <option>database.user</option>.
+          {option}`database.user`.
         '';
       };
 
@@ -132,7 +132,7 @@ in
           else if pgsqlLocal then "/run/postgresql"
           else null;
         defaultText = literalExpression "/run/mysqld/mysqld.sock";
-        description = "Path to the unix socket file to use for authentication.";
+        description = lib.mdDoc "Path to the unix socket file to use for authentication.";
       };
 
       createLocally = mkOption {
@@ -152,9 +152,9 @@ in
           enableACME = true;
         }
       '';
-      description = ''
-        Apache configuration can be done by adapting <option>services.httpd.virtualHosts</option>.
-        See <xref linkend="opt-services.httpd.virtualHosts"/> for further information.
+      description = lib.mdDoc ''
+        Apache configuration can be done by adapting {option}`services.httpd.virtualHosts`.
+        See [](#opt-services.httpd.virtualHosts) for further information.
       '';
     };
 
@@ -168,8 +168,8 @@ in
         "pm.max_spare_servers" = 4;
         "pm.max_requests" = 500;
       };
-      description = ''
-        Options for the Moodle PHP pool. See the documentation on <literal>php-fpm.conf</literal>
+      description = lib.mdDoc ''
+        Options for the Moodle PHP pool. See the documentation on `php-fpm.conf`
         for details on configuration directives.
       '';
     };
@@ -177,10 +177,10 @@ in
     extraConfig = mkOption {
       type = types.lines;
       default = "";
-      description = ''
+      description = lib.mdDoc ''
         Any additional text to be appended to the config.php
         configuration file. This is a PHP script. For configuration
-        details, see <link xlink:href="https://docs.moodle.org/37/en/Configuration_file"/>.
+        details, see <https://docs.moodle.org/37/en/Configuration_file>.
       '';
       example = ''
         $CFG->disableupdatenotifications = true;
diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix
index 618ad85b860..feee7494a71 100644
--- a/nixos/modules/services/web-apps/nextcloud.nix
+++ b/nixos/modules/services/web-apps/nextcloud.nix
@@ -93,8 +93,8 @@ in {
       type = types.str;
       default = config.services.nextcloud.home;
       defaultText = literalExpression "config.services.nextcloud.home";
-      description = ''
-        Data storage path of nextcloud.  Will be <xref linkend="opt-services.nextcloud.home" /> by default.
+      description = lib.mdDoc ''
+        Data storage path of nextcloud.  Will be [](#opt-services.nextcloud.home) by default.
         This folder will be populated with a config.php and data folder which contains the state of the instance (excl the database).";
       '';
       example = "/mnt/nextcloud-file";
@@ -102,10 +102,10 @@ in {
     extraApps = mkOption {
       type = types.attrsOf types.package;
       default = { };
-      description = ''
+      description = lib.mdDoc ''
         Extra apps to install. Should be an attrSet of appid to packages generated by fetchNextcloudApp.
         The appid must be identical to the "id" value in the apps appinfo/info.xml.
-        Using this will disable the appstore to prevent Nextcloud from updating these apps (see <xref linkend="opt-services.nextcloud.appstoreEnable" />).
+        Using this will disable the appstore to prevent Nextcloud from updating these apps (see [](#opt-services.nextcloud.appstoreEnable)).
       '';
       example = literalExpression ''
         {
@@ -127,8 +127,8 @@ in {
     extraAppsEnable = mkOption {
       type = types.bool;
       default = true;
-      description = ''
-        Automatically enable the apps in <xref linkend="opt-services.nextcloud.extraApps" /> every time nextcloud starts.
+      description = lib.mdDoc ''
+        Automatically enable the apps in [](#opt-services.nextcloud.extraApps) every time nextcloud starts.
         If set to false, apps need to be enabled in the Nextcloud user interface or with nextcloud-occ app:enable.
       '';
     };
@@ -136,10 +136,10 @@ in {
       type = types.nullOr types.bool;
       default = null;
       example = true;
-      description = ''
+      description = lib.mdDoc ''
         Allow the installation of apps and app updates from the store.
-        Enabled by default unless there are packages in <xref linkend="opt-services.nextcloud.extraApps" />.
-        Set to true to force enable the store even if <xref linkend="opt-services.nextcloud.extraApps" /> is used.
+        Enabled by default unless there are packages in [](#opt-services.nextcloud.extraApps).
+        Set to true to force enable the store even if [](#opt-services.nextcloud.extraApps) is used.
         Set to false to disable the installation of apps from the global appstore. App management is always enabled regardless of this setting.
       '';
     };
@@ -467,7 +467,7 @@ in {
         This is used by the theming app and for generating previews of certain images (e.g. SVG and HEIF).
         You may want to disable it for increased security. In that case, previews will still be available
         for some images (e.g. JPEG and PNG).
-        See <link xlink:href="https://github.com/nextcloud/server/issues/13099" />.
+        See <link xlink:href="https://github.com/nextcloud/server/issues/13099"/>.
     '' // {
       default = true;
     };
@@ -585,9 +585,9 @@ in {
       hstsMaxAge = mkOption {
         type = types.ints.positive;
         default = 15552000;
-        description = ''
-          Value for the <code>max-age</code> directive of the HTTP
-          <code>Strict-Transport-Security</code> header.
+        description = lib.mdDoc ''
+          Value for the `max-age` directive of the HTTP
+          `Strict-Transport-Security` header.
 
           See section 6.1.1 of IETF RFC 6797 for detailed information on this
           directive and header.
diff --git a/nixos/modules/services/web-apps/node-red.nix b/nixos/modules/services/web-apps/node-red.nix
index 1b9d14ecf4f..e5b0998d3c4 100644
--- a/nixos/modules/services/web-apps/node-red.nix
+++ b/nixos/modules/services/web-apps/node-red.nix
@@ -47,10 +47,9 @@ in
       type = types.path;
       default = "${cfg.package}/lib/node_modules/node-red/settings.js";
       defaultText = literalExpression ''"''${package}/lib/node_modules/node-red/settings.js"'';
-      description = ''
+      description = lib.mdDoc ''
         Path to the JavaScript configuration file.
-        See <link
-        xlink:href="https://github.com/node-red/node-red/blob/master/packages/node_modules/node-red/settings.js"/>
+        See <https://github.com/node-red/node-red/blob/master/packages/node_modules/node-red/settings.js>
         for a configuration example.
       '';
     };
diff --git a/nixos/modules/services/web-apps/peertube.nix b/nixos/modules/services/web-apps/peertube.nix
index 2fb05209c5c..c5a80e2d7d9 100644
--- a/nixos/modules/services/web-apps/peertube.nix
+++ b/nixos/modules/services/web-apps/peertube.nix
@@ -11,6 +11,7 @@ let
     NODE_CONFIG_DIR = "/var/lib/peertube/config";
     NODE_ENV = "production";
     NODE_EXTRA_CA_CERTS = "/etc/ssl/certs/ca-certificates.crt";
+    NPM_CONFIG_CACHE = "/var/cache/peertube/.npm";
     NPM_CONFIG_PREFIX = cfg.package;
     HOME = cfg.package;
   };
@@ -425,6 +426,9 @@ in {
         # State directory and mode
         StateDirectory = "peertube";
         StateDirectoryMode = "0750";
+        # Cache directory and mode
+        CacheDirectory = "peertube";
+        CacheDirectoryMode = "0750";
         # Access write directories
         ReadWritePaths = cfg.dataDirs;
         # Environment
diff --git a/nixos/modules/services/web-apps/snipe-it.nix b/nixos/modules/services/web-apps/snipe-it.nix
index 842e0715c02..c0d29b048a3 100644
--- a/nixos/modules/services/web-apps/snipe-it.nix
+++ b/nixos/modules/services/web-apps/snipe-it.nix
@@ -32,21 +32,21 @@ in {
 
     user = mkOption {
       default = "snipeit";
-      description = "User snipe-it runs as.";
+      description = lib.mdDoc "User snipe-it runs as.";
       type = types.str;
     };
 
     group = mkOption {
       default = "snipeit";
-      description = "Group snipe-it runs as.";
+      description = lib.mdDoc "Group snipe-it runs as.";
       type = types.str;
     };
 
     appKeyFile = mkOption {
-      description = ''
+      description = lib.mdDoc ''
         A file containing the Laravel APP_KEY - a 32 character long,
         base64 encoded key used for encryption where needed. Can be
-        generated with <code>head -c 32 /dev/urandom | base64</code>.
+        generated with `head -c 32 /dev/urandom | base64`.
       '';
       example = "/run/keys/snipe-it/appkey";
       type = types.path;
@@ -60,16 +60,16 @@ in {
                   config.networking.hostName;
       defaultText = lib.literalExpression "config.networking.fqdn";
       example = "snipe-it.example.com";
-      description = ''
+      description = lib.mdDoc ''
         The hostname to serve Snipe-IT on.
       '';
     };
 
     appURL = mkOption {
-      description = ''
+      description = lib.mdDoc ''
         The root URL that you want to host Snipe-IT on. All URLs in Snipe-IT will be generated using this value.
         If you change this in the future you may need to run a command to update stored URLs in the database.
-        Command example: <code>snipe-it snipe-it:update-url https://old.example.com https://new.example.com</code>
+        Command example: `snipe-it snipe-it:update-url https://old.example.com https://new.example.com`
       '';
       default = "http${lib.optionalString tlsEnabled "s"}://${cfg.hostName}";
       defaultText = ''
@@ -80,7 +80,7 @@ in {
     };
 
     dataDir = mkOption {
-      description = "snipe-it data directory";
+      description = lib.mdDoc "snipe-it data directory";
       default = "/var/lib/snipe-it";
       type = types.path;
     };
@@ -89,37 +89,37 @@ in {
       host = mkOption {
         type = types.str;
         default = "localhost";
-        description = "Database host address.";
+        description = lib.mdDoc "Database host address.";
       };
       port = mkOption {
         type = types.port;
         default = 3306;
-        description = "Database host port.";
+        description = lib.mdDoc "Database host port.";
       };
       name = mkOption {
         type = types.str;
         default = "snipeit";
-        description = "Database name.";
+        description = lib.mdDoc "Database name.";
       };
       user = mkOption {
         type = types.str;
         default = user;
         defaultText = literalExpression "user";
-        description = "Database username.";
+        description = lib.mdDoc "Database username.";
       };
       passwordFile = mkOption {
         type = with types; nullOr path;
         default = null;
         example = "/run/keys/snipe-it/dbpassword";
-        description = ''
+        description = lib.mdDoc ''
           A file containing the password corresponding to
-          <option>database.user</option>.
+          {option}`database.user`.
         '';
       };
       createLocally = mkOption {
         type = types.bool;
         default = false;
-        description = "Create the database and database user locally.";
+        description = lib.mdDoc "Create the database and database user locally.";
       };
     };
 
@@ -127,65 +127,65 @@ in {
       driver = mkOption {
         type = types.enum [ "smtp" "sendmail" ];
         default = "smtp";
-        description = "Mail driver to use.";
+        description = lib.mdDoc "Mail driver to use.";
       };
       host = mkOption {
         type = types.str;
         default = "localhost";
-        description = "Mail host address.";
+        description = lib.mdDoc "Mail host address.";
       };
       port = mkOption {
         type = types.port;
         default = 1025;
-        description = "Mail host port.";
+        description = lib.mdDoc "Mail host port.";
       };
       encryption = mkOption {
         type = with types; nullOr (enum [ "tls" "ssl" ]);
         default = null;
-        description = "SMTP encryption mechanism to use.";
+        description = lib.mdDoc "SMTP encryption mechanism to use.";
       };
       user = mkOption {
         type = with types; nullOr str;
         default = null;
         example = "snipeit";
-        description = "Mail username.";
+        description = lib.mdDoc "Mail username.";
       };
       passwordFile = mkOption {
         type = with types; nullOr path;
         default = null;
         example = "/run/keys/snipe-it/mailpassword";
-        description = ''
+        description = lib.mdDoc ''
           A file containing the password corresponding to
-          <option>mail.user</option>.
+          {option}`mail.user`.
         '';
       };
       backupNotificationAddress = mkOption {
         type = types.str;
         default = "backup@example.com";
-        description = "Email Address to send Backup Notifications to.";
+        description = lib.mdDoc "Email Address to send Backup Notifications to.";
       };
       from = {
         name = mkOption {
           type = types.str;
           default = "Snipe-IT Asset Management";
-          description = "Mail \"from\" name.";
+          description = lib.mdDoc "Mail \"from\" name.";
         };
         address = mkOption {
           type = types.str;
           default = "mail@example.com";
-          description = "Mail \"from\" address.";
+          description = lib.mdDoc "Mail \"from\" address.";
         };
       };
       replyTo = {
         name = mkOption {
           type = types.str;
           default = "Snipe-IT Asset Management";
-          description = "Mail \"reply-to\" name.";
+          description = lib.mdDoc "Mail \"reply-to\" name.";
         };
         address = mkOption {
           type = types.str;
           default = "mail@example.com";
-          description = "Mail \"reply-to\" address.";
+          description = lib.mdDoc "Mail \"reply-to\" address.";
         };
       };
     };
@@ -194,7 +194,7 @@ in {
       type = types.str;
       default = "18M";
       example = "1G";
-      description = "The maximum size for uploads (e.g. images).";
+      description = lib.mdDoc "The maximum size for uploads (e.g. images).";
     };
 
     poolConfig = mkOption {
@@ -207,8 +207,8 @@ in {
         "pm.max_spare_servers" = 4;
         "pm.max_requests" = 500;
       };
-      description = ''
-        Options for the snipe-it PHP pool. See the documentation on <literal>php-fpm.conf</literal>
+      description = lib.mdDoc ''
+        Options for the snipe-it PHP pool. See the documentation on `php-fpm.conf`
         for details on configuration directives.
       '';
     };
@@ -229,7 +229,7 @@ in {
           enableACME = true;
         }
       '';
-      description = ''
+      description = lib.mdDoc ''
         With this option, you can customize the nginx virtualHost settings.
       '';
     };
@@ -272,19 +272,19 @@ in {
           OIDC_ISSUER_DISCOVER = true;
         }
       '';
-      description = ''
+      description = lib.mdDoc ''
         Snipe-IT configuration options to set in the
-        <filename>.env</filename> file.
-        Refer to <link xlink:href="https://snipe-it.readme.io/docs/configuration"/>
+        {file}`.env` file.
+        Refer to <https://snipe-it.readme.io/docs/configuration>
         for details on supported values.
 
         Settings containing secret data should be set to an attribute
-        set containing the attribute <literal>_secret</literal> - a
+        set containing the attribute `_secret` - a
         string pointing to a file containing the value the option
         should be set to. See the example to get a better picture of
-        this: in the resulting <filename>.env</filename> file, the
-        <literal>OIDC_CLIENT_SECRET</literal> key will be set to the
-        contents of the <filename>/run/keys/oidc_secret</filename>
+        this: in the resulting {file}`.env` file, the
+        `OIDC_CLIENT_SECRET` key will be set to the
+        contents of the {file}`/run/keys/oidc_secret`
         file.
       '';
     };
@@ -472,6 +472,7 @@ in {
       "d ${cfg.dataDir}/storage/framework/views    0700 ${user} ${group} - -"
       "d ${cfg.dataDir}/storage/logs               0700 ${user} ${group} - -"
       "d ${cfg.dataDir}/storage/uploads            0700 ${user} ${group} - -"
+      "d ${cfg.dataDir}/storage/private_uploads    0700 ${user} ${group} - -"
     ];
 
     users = {
diff --git a/nixos/modules/services/web-apps/trilium.nix b/nixos/modules/services/web-apps/trilium.nix
index 75464b21fd4..bb1061cf278 100644
--- a/nixos/modules/services/web-apps/trilium.nix
+++ b/nixos/modules/services/web-apps/trilium.nix
@@ -53,7 +53,7 @@ in
     noAuthentication = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         If set to true, no password is required to access the web frontend.
       '';
     };
diff --git a/nixos/modules/services/web-apps/virtlyst.nix b/nixos/modules/services/web-apps/virtlyst.nix
deleted file mode 100644
index 5094367a493..00000000000
--- a/nixos/modules/services/web-apps/virtlyst.nix
+++ /dev/null
@@ -1,73 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-
-  cfg = config.services.virtlyst;
-  stateDir = "/var/lib/virtlyst";
-
-  ini = pkgs.writeText "virtlyst-config.ini" ''
-    [wsgi]
-    master = true
-    threads = auto
-    http-socket = ${cfg.httpSocket}
-    application = ${pkgs.virtlyst}/lib/libVirtlyst.so
-    chdir2 = ${stateDir}
-    static-map = /static=${pkgs.virtlyst}/root/static
-
-    [Cutelyst]
-    production = true
-    DatabasePath = virtlyst.sqlite
-    TemplatePath = ${pkgs.virtlyst}/root/src
-
-    [Rules]
-    cutelyst.* = true
-    virtlyst.* = true
-  '';
-
-in
-
-{
-
-  options.services.virtlyst = {
-    enable = mkEnableOption "Virtlyst libvirt web interface";
-
-    adminPassword = mkOption {
-      type = types.str;
-      description = lib.mdDoc ''
-        Initial admin password with which the database will be seeded.
-      '';
-    };
-
-    httpSocket = mkOption {
-      type = types.str;
-      default = "localhost:3000";
-      description = lib.mdDoc ''
-        IP and/or port to which to bind the http socket.
-      '';
-    };
-  };
-
-  config = mkIf cfg.enable {
-    users.users.virtlyst = {
-      home = stateDir;
-      createHome = true;
-      group = mkIf config.virtualisation.libvirtd.enable "libvirtd";
-      isSystemUser = true;
-    };
-
-    systemd.services.virtlyst = {
-      wantedBy = [ "multi-user.target" ];
-      environment = {
-        VIRTLYST_ADMIN_PASSWORD = cfg.adminPassword;
-      };
-      serviceConfig = {
-        ExecStart = "${pkgs.cutelyst}/bin/cutelyst-wsgi2 --ini ${ini}";
-        User = "virtlyst";
-        WorkingDirectory = stateDir;
-      };
-    };
-  };
-
-}
diff --git a/nixos/modules/services/web-apps/wiki-js.nix b/nixos/modules/services/web-apps/wiki-js.nix
index 474fbb8f13c..5dc0bb73259 100644
--- a/nixos/modules/services/web-apps/wiki-js.nix
+++ b/nixos/modules/services/web-apps/wiki-js.nix
@@ -95,12 +95,11 @@ in {
       };
       description = ''
         Settings to configure <package>wiki-js</package>. This directly
-        corresponds to <link xlink:href="https://docs.requarks.io/install/config">the upstream
-        configuration options</link>.
+        corresponds to <link xlink:href="https://docs.requarks.io/install/config">the upstream configuration options</link>.
 
         Secrets can be injected via the environment by
         <itemizedlist>
-          <listitem><para>specifying <xref linkend="opt-services.wiki-js.environmentFile" />
+          <listitem><para>specifying <xref linkend="opt-services.wiki-js.environmentFile"/>
           to contain secrets</para></listitem>
           <listitem><para>and setting sensitive values to <literal>$(ENVIRONMENT_VAR)</literal>
           with this value defined in the environment-file.</para></listitem>
diff --git a/nixos/modules/services/web-apps/wordpress.nix b/nixos/modules/services/web-apps/wordpress.nix
index 59471a739cb..c841ded353e 100644
--- a/nixos/modules/services/web-apps/wordpress.nix
+++ b/nixos/modules/services/web-apps/wordpress.nix
@@ -82,13 +82,13 @@ let
           type = types.package;
           default = pkgs.wordpress;
           defaultText = literalExpression "pkgs.wordpress";
-          description = "Which WordPress package to use.";
+          description = lib.mdDoc "Which WordPress package to use.";
         };
 
         uploadsDir = mkOption {
           type = types.path;
           default = "/var/lib/wordpress/${name}/uploads";
-          description = ''
+          description = lib.mdDoc ''
             This directory is used for uploads of pictures. The directory passed here is automatically
             created and permissions adjusted as required.
           '';
@@ -152,47 +152,47 @@ let
           host = mkOption {
             type = types.str;
             default = "localhost";
-            description = "Database host address.";
+            description = lib.mdDoc "Database host address.";
           };
 
           port = mkOption {
             type = types.port;
             default = 3306;
-            description = "Database host port.";
+            description = lib.mdDoc "Database host port.";
           };
 
           name = mkOption {
             type = types.str;
             default = "wordpress";
-            description = "Database name.";
+            description = lib.mdDoc "Database name.";
           };
 
           user = mkOption {
             type = types.str;
             default = "wordpress";
-            description = "Database user.";
+            description = lib.mdDoc "Database user.";
           };
 
           passwordFile = mkOption {
             type = types.nullOr types.path;
             default = null;
             example = "/run/keys/wordpress-dbpassword";
-            description = ''
+            description = lib.mdDoc ''
               A file containing the password corresponding to
-              <option>database.user</option>.
+              {option}`database.user`.
             '';
           };
 
           tablePrefix = mkOption {
             type = types.str;
             default = "wp_";
-            description = ''
+            description = lib.mdDoc ''
               The $table_prefix is the value placed in the front of your database tables.
               Change the value if you want to use something other than wp_ for your database
               prefix. Typically this is changed if you are installing multiple WordPress blogs
               in the same database.
 
-              See <link xlink:href='https://codex.wordpress.org/Editing_wp-config.php#table_prefix'/>.
+              See <https://codex.wordpress.org/Editing_wp-config.php#table_prefix>.
             '';
           };
 
@@ -200,13 +200,13 @@ let
             type = types.nullOr types.path;
             default = null;
             defaultText = literalExpression "/run/mysqld/mysqld.sock";
-            description = "Path to the unix socket file to use for authentication.";
+            description = lib.mdDoc "Path to the unix socket file to use for authentication.";
           };
 
           createLocally = mkOption {
             type = types.bool;
             default = true;
-            description = "Create the database and database user locally.";
+            description = lib.mdDoc "Create the database and database user locally.";
           };
         };
 
@@ -219,8 +219,8 @@ let
               enableACME = true;
             }
           '';
-          description = ''
-            Apache configuration can be done by adapting <option>services.httpd.virtualHosts</option>.
+          description = lib.mdDoc ''
+            Apache configuration can be done by adapting {option}`services.httpd.virtualHosts`.
           '';
         };
 
@@ -234,8 +234,8 @@ let
             "pm.max_spare_servers" = 4;
             "pm.max_requests" = 500;
           };
-          description = ''
-            Options for the WordPress PHP pool. See the documentation on <literal>php-fpm.conf</literal>
+          description = lib.mdDoc ''
+            Options for the WordPress PHP pool. See the documentation on `php-fpm.conf`
             for details on configuration directives.
           '';
         };
@@ -243,10 +243,10 @@ let
         extraConfig = mkOption {
           type = types.lines;
           default = "";
-          description = ''
+          description = lib.mdDoc ''
             Any additional text to be appended to the wp-config.php
             configuration file. This is a PHP script. For configuration
-            settings, see <link xlink:href='https://codex.wordpress.org/Editing_wp-config.php'/>.
+            settings, see <https://codex.wordpress.org/Editing_wp-config.php>.
           '';
           example = ''
             define( 'AUTOSAVE_INTERVAL', 60 ); // Seconds
@@ -265,20 +265,20 @@ in
       sites = mkOption {
         type = types.attrsOf (types.submodule siteOpts);
         default = {};
-        description = "Specification of one or more WordPress sites to serve";
+        description = lib.mdDoc "Specification of one or more WordPress sites to serve";
       };
 
       webserver = mkOption {
         type = types.enum [ "httpd" "nginx" "caddy" ];
         default = "httpd";
-        description = ''
+        description = lib.mdDoc ''
           Whether to use apache2 or nginx for virtual host management.
 
-          Further nginx configuration can be done by adapting <literal>services.nginx.virtualHosts.&lt;name&gt;</literal>.
-          See <xref linkend="opt-services.nginx.virtualHosts"/> for further information.
+          Further nginx configuration can be done by adapting `services.nginx.virtualHosts.<name>`.
+          See [](#opt-services.nginx.virtualHosts) for further information.
 
-          Further apache2 configuration can be done by adapting <literal>services.httpd.virtualHosts.&lt;name&gt;</literal>.
-          See <xref linkend="opt-services.httpd.virtualHosts"/> for further information.
+          Further apache2 configuration can be done by adapting `services.httpd.virtualHosts.<name>`.
+          See [](#opt-services.httpd.virtualHosts) for further information.
         '';
       };
 
diff --git a/nixos/modules/services/web-apps/zabbix.nix b/nixos/modules/services/web-apps/zabbix.nix
index 538dac0d5be..c6ac809a73b 100644
--- a/nixos/modules/services/web-apps/zabbix.nix
+++ b/nixos/modules/services/web-apps/zabbix.nix
@@ -46,19 +46,19 @@ in
         type = types.package;
         default = pkgs.zabbix.web;
         defaultText = literalExpression "zabbix.web";
-        description = "Which Zabbix package to use.";
+        description = lib.mdDoc "Which Zabbix package to use.";
       };
 
       server = {
         port = mkOption {
           type = types.int;
-          description = "The port of the Zabbix server to connect to.";
+          description = lib.mdDoc "The port of the Zabbix server to connect to.";
           default = 10051;
         };
 
         address = mkOption {
           type = types.str;
-          description = "The IP address or hostname of the Zabbix server to connect to.";
+          description = lib.mdDoc "The IP address or hostname of the Zabbix server to connect to.";
           default = "localhost";
         };
       };
@@ -68,13 +68,13 @@ in
           type = types.enum [ "mysql" "pgsql" "oracle" ];
           example = "mysql";
           default = "pgsql";
-          description = "Database engine to use.";
+          description = lib.mdDoc "Database engine to use.";
         };
 
         host = mkOption {
           type = types.str;
           default = "";
-          description = "Database host address.";
+          description = lib.mdDoc "Database host address.";
         };
 
         port = mkOption {
@@ -88,28 +88,28 @@ in
             else if config.${opt.database.type} == "pgsql" then config.${options.services.postgresql.port}
             else 1521
           '';
-          description = "Database host port.";
+          description = lib.mdDoc "Database host port.";
         };
 
         name = mkOption {
           type = types.str;
           default = "zabbix";
-          description = "Database name.";
+          description = lib.mdDoc "Database name.";
         };
 
         user = mkOption {
           type = types.str;
           default = "zabbix";
-          description = "Database user.";
+          description = lib.mdDoc "Database user.";
         };
 
         passwordFile = mkOption {
           type = types.nullOr types.path;
           default = null;
           example = "/run/keys/zabbix-dbpassword";
-          description = ''
+          description = lib.mdDoc ''
             A file containing the password corresponding to
-            <option>database.user</option>.
+            {option}`database.user`.
           '';
         };
 
@@ -117,7 +117,7 @@ in
           type = types.nullOr types.path;
           default = null;
           example = "/run/postgresql";
-          description = "Path to the unix socket file to use for authentication.";
+          description = lib.mdDoc "Path to the unix socket file to use for authentication.";
         };
       };
 
@@ -131,9 +131,9 @@ in
             enableACME = true;
           }
         '';
-        description = ''
-          Apache configuration can be done by adapting <literal>services.httpd.virtualHosts.&lt;name&gt;</literal>.
-          See <xref linkend="opt-services.httpd.virtualHosts"/> for further information.
+        description = lib.mdDoc ''
+          Apache configuration can be done by adapting `services.httpd.virtualHosts.<name>`.
+          See [](#opt-services.httpd.virtualHosts) for further information.
         '';
       };
 
@@ -147,16 +147,16 @@ in
           "pm.max_spare_servers" = 4;
           "pm.max_requests" = 500;
         };
-        description = ''
-          Options for the Zabbix PHP pool. See the documentation on <literal>php-fpm.conf</literal> for details on configuration directives.
+        description = lib.mdDoc ''
+          Options for the Zabbix PHP pool. See the documentation on `php-fpm.conf` for details on configuration directives.
         '';
       };
 
       extraConfig = mkOption {
         type = types.lines;
         default = "";
-        description = ''
-          Additional configuration to be copied verbatim into <filename>zabbix.conf.php</filename>.
+        description = lib.mdDoc ''
+          Additional configuration to be copied verbatim into {file}`zabbix.conf.php`.
         '';
       };
 
diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix
index 3099705acbe..a8c9fe26369 100644
--- a/nixos/modules/services/web-servers/apache-httpd/default.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/default.nix
@@ -410,7 +410,7 @@ in
         type = types.package;
         default = pkgs.apacheHttpd;
         defaultText = literalExpression "pkgs.apacheHttpd";
-        description = ''
+        description = lib.mdDoc ''
           Overridable attribute of the Apache HTTP Server package to use.
         '';
       };
@@ -420,7 +420,7 @@ in
         default = confFile;
         defaultText = literalExpression "confFile";
         example = literalExpression ''pkgs.writeText "httpd.conf" "# my custom config file ..."'';
-        description = ''
+        description = lib.mdDoc ''
           Override the configuration file used by Apache. By default,
           NixOS generates one automatically.
         '';
@@ -429,10 +429,10 @@ in
       extraConfig = mkOption {
         type = types.lines;
         default = "";
-        description = ''
+        description = lib.mdDoc ''
           Configuration lines appended to the generated Apache
           configuration file. Note that this mechanism will not work
-          when <option>configFile</option> is overridden.
+          when {option}`configFile` is overridden.
         '';
       };
 
@@ -457,27 +457,27 @@ in
       adminAddr = mkOption {
         type = types.str;
         example = "admin@example.org";
-        description = "E-mail address of the server administrator.";
+        description = lib.mdDoc "E-mail address of the server administrator.";
       };
 
       logFormat = mkOption {
         type = types.str;
         default = "common";
         example = "combined";
-        description = ''
+        description = lib.mdDoc ''
           Log format for log files. Possible values are: combined, common, referer, agent, none.
-          See <link xlink:href="https://httpd.apache.org/docs/2.4/logs.html"/> for more details.
+          See <https://httpd.apache.org/docs/2.4/logs.html> for more details.
         '';
       };
 
       logPerVirtualHost = mkOption {
         type = types.bool;
         default = true;
-        description = ''
+        description = lib.mdDoc ''
           If enabled, each virtual host gets its own
-          <filename>access.log</filename> and
-          <filename>error.log</filename>, namely suffixed by the
-          <option>hostName</option> of the virtual host.
+          {file}`access.log` and
+          {file}`error.log`, namely suffixed by the
+          {option}`hostName` of the virtual host.
         '';
       };
 
@@ -498,7 +498,7 @@ in
       group = mkOption {
         type = types.str;
         default = "wwwrun";
-        description = ''
+        description = lib.mdDoc ''
           Group under which httpd children processes run.
         '';
       };
@@ -506,7 +506,7 @@ in
       logDir = mkOption {
         type = types.path;
         default = "/var/log/httpd";
-        description = ''
+        description = lib.mdDoc ''
           Directory for Apache's log files. It is created automatically.
         '';
       };
@@ -537,7 +537,7 @@ in
             };
           }
         '';
-        description = ''
+        description = lib.mdDoc ''
           Specification of the virtual hosts served by Apache. Each
           element should be an attribute set specifying the
           configuration of the virtual host.
@@ -547,20 +547,20 @@ in
       enableMellon = mkOption {
         type = types.bool;
         default = false;
-        description = "Whether to enable the mod_auth_mellon module.";
+        description = lib.mdDoc "Whether to enable the mod_auth_mellon module.";
       };
 
       enablePHP = mkOption {
         type = types.bool;
         default = false;
-        description = "Whether to enable the PHP module.";
+        description = lib.mdDoc "Whether to enable the PHP module.";
       };
 
       phpPackage = mkOption {
         type = types.package;
         default = pkgs.php;
         defaultText = literalExpression "pkgs.php";
-        description = ''
+        description = lib.mdDoc ''
           Overridable attribute of the PHP package to use.
         '';
       };
@@ -568,7 +568,7 @@ in
       enablePerl = mkOption {
         type = types.bool;
         default = false;
-        description = "Whether to enable the Perl module (mod_perl).";
+        description = lib.mdDoc "Whether to enable the Perl module (mod_perl).";
       };
 
       phpOptions = mkOption {
@@ -578,8 +578,8 @@ in
           ''
             date.timezone = "CET"
           '';
-        description = ''
-          Options appended to the PHP configuration file <filename>php.ini</filename>.
+        description = lib.mdDoc ''
+          Options appended to the PHP configuration file {file}`php.ini`.
         '';
       };
 
@@ -588,13 +588,13 @@ in
         default = "event";
         example = "worker";
         description =
-          ''
+          lib.mdDoc ''
             Multi-processing module to be used by Apache. Available
-            modules are <literal>prefork</literal> (handles each
-            request in a separate child process), <literal>worker</literal>
+            modules are `prefork` (handles each
+            request in a separate child process), `worker`
             (hybrid approach that starts a number of child processes
-            each running a number of threads) and <literal>event</literal>
-            (the default; a recent variant of <literal>worker</literal>
+            each running a number of threads) and `event`
+            (the default; a recent variant of `worker`
             that handles persistent connections more efficiently).
           '';
       };
@@ -603,14 +603,14 @@ in
         type = types.int;
         default = 150;
         example = 8;
-        description = "Maximum number of httpd processes (prefork)";
+        description = lib.mdDoc "Maximum number of httpd processes (prefork)";
       };
 
       maxRequestsPerChild = mkOption {
         type = types.int;
         default = 0;
         example = 500;
-        description = ''
+        description = lib.mdDoc ''
           Maximum number of httpd requests answered per httpd child (prefork), 0 means unlimited.
         '';
       };
@@ -618,14 +618,14 @@ in
       sslCiphers = mkOption {
         type = types.str;
         default = "HIGH:!aNULL:!MD5:!EXP";
-        description = "Cipher Suite available for negotiation in SSL proxy handshake.";
+        description = lib.mdDoc "Cipher Suite available for negotiation in SSL proxy handshake.";
       };
 
       sslProtocols = mkOption {
         type = types.str;
         default = "All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1";
         example = "All -SSLv2 -SSLv3";
-        description = "Allowed SSL/TLS protocol versions.";
+        description = lib.mdDoc "Allowed SSL/TLS protocol versions.";
       };
     };
 
diff --git a/nixos/modules/services/web-servers/apache-httpd/vhost-options.nix b/nixos/modules/services/web-servers/apache-httpd/vhost-options.nix
index c52ab2c596e..4f84cad7351 100644
--- a/nixos/modules/services/web-servers/apache-httpd/vhost-options.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/vhost-options.nix
@@ -8,14 +8,14 @@ in
     hostName = mkOption {
       type = types.str;
       default = name;
-      description = "Canonical hostname for the server.";
+      description = lib.mdDoc "Canonical hostname for the server.";
     };
 
     serverAliases = mkOption {
       type = types.listOf types.str;
       default = [];
       example = ["www.example.org" "www.example.org:8080" "example.org"];
-      description = ''
+      description = lib.mdDoc ''
         Additional names of virtual hosts served by this virtual host configuration.
       '';
     };
@@ -25,17 +25,17 @@ in
         options = {
           port = mkOption {
             type = types.port;
-            description = "Port to listen on";
+            description = lib.mdDoc "Port to listen on";
           };
           ip = mkOption {
             type = types.str;
             default = "*";
-            description = "IP to listen on. 0.0.0.0 for IPv4 only, * for all.";
+            description = lib.mdDoc "IP to listen on. 0.0.0.0 for IPv4 only, * for all.";
           };
           ssl = mkOption {
             type = types.bool;
             default = false;
-            description = "Whether to enable SSL (https) support.";
+            description = lib.mdDoc "Whether to enable SSL (https) support.";
           };
         };
       }));
@@ -61,9 +61,9 @@ in
     listenAddresses = mkOption {
       type = with types; nonEmptyListOf str;
 
-      description = ''
+      description = lib.mdDoc ''
         Listen addresses for this virtual host.
-        Compared to <literal>listen</literal> this only sets the addreses
+        Compared to `listen` this only sets the addreses
         and the ports are chosen automatically.
       '';
       default = [ "*" ];
@@ -79,9 +79,9 @@ in
     addSSL = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Whether to enable HTTPS in addition to plain HTTP. This will set defaults for
-        <literal>listen</literal> to listen on all interfaces on the respective default
+        `listen` to listen on all interfaces on the respective default
         ports (80, 443).
       '';
     };
@@ -89,19 +89,19 @@ in
     onlySSL = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Whether to enable HTTPS and reject plain HTTP connections. This will set
-        defaults for <literal>listen</literal> to listen on all interfaces on port 443.
+        defaults for `listen` to listen on all interfaces on port 443.
       '';
     };
 
     forceSSL = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Whether to add a separate nginx server block that permanently redirects (301)
         all plain HTTP traffic to HTTPS. This will set defaults for
-        <literal>listen</literal> to listen on all interfaces on the respective default
+        `listen` to listen on all interfaces on the respective default
         ports (80, 443), where the non-SSL listens are used for the redirect vhosts.
       '';
     };
@@ -109,9 +109,9 @@ in
     enableACME = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Whether to ask Let's Encrypt to sign a certificate for this vhost.
-        Alternately, you can use an existing certificate through <option>useACMEHost</option>.
+        Alternately, you can use an existing certificate through {option}`useACMEHost`.
       '';
     };
 
@@ -130,7 +130,7 @@ in
     acmeRoot = mkOption {
       type = types.nullOr types.str;
       default = "/var/lib/acme/acme-challenge";
-      description = ''
+      description = lib.mdDoc ''
         Directory for the acme challenge which is PUBLIC, don't put certs or keys in here.
         Set to null to inherit from config.security.acme.
       '';
@@ -139,28 +139,28 @@ in
     sslServerCert = mkOption {
       type = types.path;
       example = "/var/host.cert";
-      description = "Path to server SSL certificate.";
+      description = lib.mdDoc "Path to server SSL certificate.";
     };
 
     sslServerKey = mkOption {
       type = types.path;
       example = "/var/host.key";
-      description = "Path to server SSL certificate key.";
+      description = lib.mdDoc "Path to server SSL certificate key.";
     };
 
     sslServerChain = mkOption {
       type = types.nullOr types.path;
       default = null;
       example = "/var/ca.pem";
-      description = "Path to server SSL chain file.";
+      description = lib.mdDoc "Path to server SSL chain file.";
     };
 
     http2 = mkOption {
       type = types.bool;
       default = true;
-      description = ''
-        Whether to enable HTTP 2. HTTP/2 is supported in all multi-processing modules that come with httpd. <emphasis>However, if you use the prefork mpm, there will
-        be severe restrictions.</emphasis> Refer to <link xlink:href="https://httpd.apache.org/docs/2.4/howto/http2.html#mpm-config"/> for details.
+      description = lib.mdDoc ''
+        Whether to enable HTTP 2. HTTP/2 is supported in all multi-processing modules that come with httpd. *However, if you use the prefork mpm, there will
+        be severe restrictions.* Refer to <https://httpd.apache.org/docs/2.4/howto/http2.html#mpm-config> for details.
       '';
     };
 
@@ -168,14 +168,14 @@ in
       type = types.nullOr types.str;
       default = null;
       example = "admin@example.org";
-      description = "E-mail address of the server administrator.";
+      description = lib.mdDoc "E-mail address of the server administrator.";
     };
 
     documentRoot = mkOption {
       type = types.nullOr types.path;
       default = null;
       example = "/data/webserver/docs";
-      description = ''
+      description = lib.mdDoc ''
         The path of Apache's document root directory.  If left undefined,
         an empty directory in the Nix store will be used as root.
       '';
@@ -189,7 +189,7 @@ in
           dir = "/home/eelco/Dev/nix-homepage";
         }
       ];
-      description = ''
+      description = lib.mdDoc ''
         This option provides a simple way to serve static directories.
       '';
     };
@@ -222,7 +222,7 @@ in
           AllowOverride All
         </Directory>
       '';
-      description = ''
+      description = lib.mdDoc ''
         These lines go to httpd.conf verbatim. They will go after
         directories and directory aliases defined by default.
       '';
@@ -231,9 +231,9 @@ in
     enableUserDir = mkOption {
       type = types.bool;
       default = false;
-      description = ''
-        Whether to enable serving <filename>~/public_html</filename> as
-        <literal>/~<replaceable>username</replaceable></literal>.
+      description = lib.mdDoc ''
+        Whether to enable serving {file}`~/public_html` as
+        `/~«username»`.
       '';
     };
 
@@ -241,7 +241,7 @@ in
       type = types.nullOr types.str;
       default = null;
       example = "http://newserver.example.org/";
-      description = ''
+      description = lib.mdDoc ''
         If set, all requests for this host are redirected permanently to
         the given URL.
       '';
@@ -251,7 +251,7 @@ in
       type = types.str;
       default = "common";
       example = "combined";
-      description = ''
+      description = lib.mdDoc ''
         Log format for Apache's log files. Possible values are: combined, common, referer, agent.
       '';
     };
@@ -260,9 +260,8 @@ in
       type = types.lines;
       default = "";
       example = "Disallow: /foo/";
-      description = ''
-        Specification of pages to be ignored by web crawlers. See <link
-        xlink:href='http://www.robotstxt.org/'/> for details.
+      description = lib.mdDoc ''
+        Specification of pages to be ignored by web crawlers. See <http://www.robotstxt.org/> for details.
       '';
     };
 
@@ -279,9 +278,8 @@ in
           };
         };
       '';
-      description = ''
-        Declarative location config. See <link
-        xlink:href="https://httpd.apache.org/docs/2.4/mod/core.html#location"/> for details.
+      description = lib.mdDoc ''
+        Declarative location config. See <https://httpd.apache.org/docs/2.4/mod/core.html#location> for details.
       '';
     };
 
diff --git a/nixos/modules/services/web-servers/caddy/default.nix b/nixos/modules/services/web-servers/caddy/default.nix
index b262313577f..7f6bc3c4a4d 100644
--- a/nixos/modules/services/web-servers/caddy/default.nix
+++ b/nixos/modules/services/web-servers/caddy/default.nix
@@ -86,7 +86,7 @@ in
       default = pkgs.caddy;
       defaultText = literalExpression "pkgs.caddy";
       type = types.package;
-      description = ''
+      description = lib.mdDoc ''
         Caddy package to use.
       '';
     };
@@ -133,9 +133,9 @@ in
       example = literalExpression ''
         mkForce "level INFO";
       '';
-      description = ''
+      description = lib.mdDoc ''
         Configuration for the default logger. See
-        <link xlink:href="https://caddyserver.com/docs/caddyfile/options#log"/>
+        <https://caddyserver.com/docs/caddyfile/options#log>
         for details.
       '';
     };
@@ -153,7 +153,7 @@ in
           file_server
         ''';
       '';
-      description = ''
+      description = lib.mdDoc ''
         Override the configuration file used by Caddy. By default,
         NixOS generates one automatically.
       '';
@@ -178,8 +178,8 @@ in
     resume = mkOption {
       default = false;
       type = types.bool;
-      description = ''
-        Use saved config, if any (and prefer over any specified configuration passed with <literal>--config</literal>).
+      description = lib.mdDoc ''
+        Use saved config, if any (and prefer over any specified configuration passed with `--config`).
       '';
     };
 
@@ -194,11 +194,11 @@ in
           }
         }
       '';
-      description = ''
+      description = lib.mdDoc ''
         Additional lines of configuration appended to the global config section
-        of the <literal>Caddyfile</literal>.
+        of the `Caddyfile`.
 
-        Refer to <link xlink:href="https://caddyserver.com/docs/caddyfile/options#global-options"/>
+        Refer to <https://caddyserver.com/docs/caddyfile/options#global-options>
         for details on supported values.
       '';
     };
@@ -213,9 +213,9 @@ in
           root /srv/http
         }
       '';
-      description = ''
+      description = lib.mdDoc ''
         Additional lines of configuration appended to the automatically
-        generated <literal>Caddyfile</literal>.
+        generated `Caddyfile`.
       '';
     };
 
@@ -233,7 +233,7 @@ in
           };
         };
       '';
-      description = ''
+      description = lib.mdDoc ''
         Declarative specification of virtual hosts served by Caddy.
       '';
     };
@@ -242,11 +242,11 @@ in
       default = "https://acme-v02.api.letsencrypt.org/directory";
       example = "https://acme-staging-v02.api.letsencrypt.org/directory";
       type = with types; nullOr str;
-      description = ''
+      description = lib.mdDoc ''
         The URL to the ACME CA's directory. It is strongly recommended to set
         this to Let's Encrypt's staging endpoint for testing or development.
 
-        Set it to <literal>null</literal> if you want to write a more
+        Set it to `null` if you want to write a more
         fine-grained configuration manually.
       '';
     };
@@ -254,7 +254,7 @@ in
     email = mkOption {
       default = null;
       type = with types; nullOr str;
-      description = ''
+      description = lib.mdDoc ''
         Your email address. Mainly used when creating an ACME account with your
         CA, and is highly recommended in case there are problems with your
         certificates.
diff --git a/nixos/modules/services/web-servers/caddy/vhost-options.nix b/nixos/modules/services/web-servers/caddy/vhost-options.nix
index f240ec605c2..ed4902b0372 100644
--- a/nixos/modules/services/web-servers/caddy/vhost-options.nix
+++ b/nixos/modules/services/web-servers/caddy/vhost-options.nix
@@ -9,21 +9,21 @@ in
     hostName = mkOption {
       type = types.str;
       default = name;
-      description = "Canonical hostname for the server.";
+      description = lib.mdDoc "Canonical hostname for the server.";
     };
 
     serverAliases = mkOption {
       type = with types; listOf str;
       default = [ ];
       example = [ "www.example.org" "example.org" ];
-      description = ''
+      description = lib.mdDoc ''
         Additional names of virtual hosts served by this virtual host configuration.
       '';
     };
 
     listenAddresses = mkOption {
       type = with types; listOf str;
-      description = ''
+      description = lib.mdDoc ''
         A list of host interfaces to bind to for this virtual host.
       '';
       default = [ ];
@@ -59,9 +59,9 @@ in
           output discard
         ''';
       '';
-      description = ''
+      description = lib.mdDoc ''
         Configuration for HTTP request logging (also known as access logs). See
-        <link xlink:href="https://caddyserver.com/docs/caddyfile/directives/log#log"/>
+        <https://caddyserver.com/docs/caddyfile/directives/log#log>
         for details.
       '';
     };
@@ -69,9 +69,9 @@ in
     extraConfig = mkOption {
       type = types.lines;
       default = "";
-      description = ''
+      description = lib.mdDoc ''
         Additional lines of configuration appended to this virtual host in the
-        automatically generated <literal>Caddyfile</literal>.
+        automatically generated `Caddyfile`.
       '';
     };
 
diff --git a/nixos/modules/services/web-servers/hydron.nix b/nixos/modules/services/web-servers/hydron.nix
index 046d527b2ab..292493c4c7b 100644
--- a/nixos/modules/services/web-servers/hydron.nix
+++ b/nixos/modules/services/web-servers/hydron.nix
@@ -17,12 +17,11 @@ in with lib; {
       type = types.str;
       default = "weekly";
       example = "06:00";
-      description = ''
+      description = lib.mdDoc ''
         How often we run hydron import and possibly fetch tags. Runs by default every week.
 
         The format is described in
-        <citerefentry><refentrytitle>systemd.time</refentrytitle>
-        <manvolnum>7</manvolnum></citerefentry>.
+        {manpage}`systemd.time(7)`.
       '';
     };
 
diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix
index 5ccbaf77481..72b91c37f8a 100644
--- a/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixos/modules/services/web-servers/nginx/default.nix
@@ -464,10 +464,10 @@ in
         default = [];
         type = types.listOf (types.attrsOf types.anything);
         example = literalExpression "[ pkgs.nginxModules.brotli ]";
-        description = ''
-          Additional <link xlink:href="https://www.nginx.com/resources/wiki/modules/">third-party nginx modules</link>
+        description = lib.mdDoc ''
+          Additional [third-party nginx modules](https://www.nginx.com/resources/wiki/modules/)
           to install. Packaged modules are available in
-          <literal>pkgs.nginxModules</literal>.
+          `pkgs.nginxModules`.
         '';
       };
 
@@ -504,28 +504,28 @@ in
           This is mutually exclusive to any other config option for
           <filename>nginx.conf</filename> except for
           <itemizedlist>
-          <listitem><para><xref linkend="opt-services.nginx.appendConfig" />
+          <listitem><para><xref linkend="opt-services.nginx.appendConfig"/>
           </para></listitem>
-          <listitem><para><xref linkend="opt-services.nginx.httpConfig" />
+          <listitem><para><xref linkend="opt-services.nginx.httpConfig"/>
           </para></listitem>
-          <listitem><para><xref linkend="opt-services.nginx.logError" />
+          <listitem><para><xref linkend="opt-services.nginx.logError"/>
           </para></listitem>
           </itemizedlist>
 
           If additional verbatim config in addition to other options is needed,
-          <xref linkend="opt-services.nginx.appendConfig" /> should be used instead.
+          <xref linkend="opt-services.nginx.appendConfig"/> should be used instead.
         '';
       };
 
       appendConfig = mkOption {
         type = types.lines;
         default = "";
-        description = ''
+        description = lib.mdDoc ''
           Configuration lines appended to the generated Nginx
           configuration file. Commonly used by different modules
-          providing http snippets. <option>appendConfig</option>
+          providing http snippets. {option}`appendConfig`
           can be specified more than once and it's value will be
-          concatenated (contrary to <option>config</option> which
+          concatenated (contrary to {option}`config` which
           can be set only once).
         '';
       };
@@ -540,7 +540,7 @@ in
                               '"$request" $status $body_bytes_sent '
                               '"$http_referer" "$http_user_agent"';
         '';
-        description = ''
+        description = lib.mdDoc ''
           With nginx you must provide common http context definitions before
           they are used, e.g. log_format, resolver, etc. inside of server
           or location contexts. Use this attribute to set these definitions
@@ -577,7 +577,7 @@ in
       eventsConfig = mkOption {
         type = types.lines;
         default = "";
-        description = ''
+        description = lib.mdDoc ''
           Configuration lines to be set inside the events block.
         '';
       };
@@ -605,52 +605,52 @@ in
       user = mkOption {
         type = types.str;
         default = "nginx";
-        description = "User account under which nginx runs.";
+        description = lib.mdDoc "User account under which nginx runs.";
       };
 
       group = mkOption {
         type = types.str;
         default = "nginx";
-        description = "Group account under which nginx runs.";
+        description = lib.mdDoc "Group account under which nginx runs.";
       };
 
       serverTokens = mkOption {
         type = types.bool;
         default = false;
-        description = "Show nginx version in headers and error pages.";
+        description = lib.mdDoc "Show nginx version in headers and error pages.";
       };
 
       clientMaxBodySize = mkOption {
         type = types.str;
         default = "10m";
-        description = "Set nginx global client_max_body_size.";
+        description = lib.mdDoc "Set nginx global client_max_body_size.";
       };
 
       sslCiphers = mkOption {
         type = types.nullOr types.str;
         # Keep in sync with https://ssl-config.mozilla.org/#server=nginx&config=intermediate
         default = "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384";
-        description = "Ciphers to choose from when negotiating TLS handshakes.";
+        description = lib.mdDoc "Ciphers to choose from when negotiating TLS handshakes.";
       };
 
       sslProtocols = mkOption {
         type = types.str;
         default = "TLSv1.2 TLSv1.3";
         example = "TLSv1 TLSv1.1 TLSv1.2 TLSv1.3";
-        description = "Allowed TLS protocol versions.";
+        description = lib.mdDoc "Allowed TLS protocol versions.";
       };
 
       sslDhparam = mkOption {
         type = types.nullOr types.path;
         default = null;
         example = "/path/to/dhparams.pem";
-        description = "Path to DH parameters file.";
+        description = lib.mdDoc "Path to DH parameters file.";
       };
 
       proxyResolveWhileRunning = mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           Resolves domains of proxyPass targets at runtime
           and not only at start, you have to set
           services.nginx.resolver, too.
@@ -660,7 +660,7 @@ in
       mapHashBucketSize = mkOption {
         type = types.nullOr (types.enum [ 32 64 128 ]);
         default = null;
-        description = ''
+        description = lib.mdDoc ''
             Sets the bucket size for the map variables hash tables. Default
             value depends on the processor’s cache line size.
           '';
@@ -669,7 +669,7 @@ in
       mapHashMaxSize = mkOption {
         type = types.nullOr types.ints.positive;
         default = null;
-        description = ''
+        description = lib.mdDoc ''
             Sets the maximum size of the map variables hash tables.
           '';
       };
@@ -677,7 +677,7 @@ in
       serverNamesHashBucketSize = mkOption {
         type = types.nullOr types.ints.positive;
         default = null;
-        description = ''
+        description = lib.mdDoc ''
             Sets the bucket size for the server names hash tables. Default
             value depends on the processor’s cache line size.
           '';
@@ -686,7 +686,7 @@ in
       serverNamesHashMaxSize = mkOption {
         type = types.nullOr types.ints.positive;
         default = null;
-        description = ''
+        description = lib.mdDoc ''
             Sets the maximum size of the server names hash tables.
           '';
       };
@@ -698,13 +698,13 @@ in
               type = types.listOf types.str;
               default = [];
               example = literalExpression ''[ "[::1]" "127.0.0.1:5353" ]'';
-              description = "List of resolvers to use";
+              description = lib.mdDoc "List of resolvers to use";
             };
             valid = mkOption {
               type = types.str;
               default = "";
               example = "30s";
-              description = ''
+              description = lib.mdDoc ''
                 By default, nginx caches answers using the TTL value of a response.
                 An optional valid parameter allows overriding it
               '';
@@ -712,7 +712,7 @@ in
             ipv6 = mkOption {
               type = types.bool;
               default = true;
-              description = ''
+              description = lib.mdDoc ''
                 By default, nginx will look up both IPv4 and IPv6 addresses while resolving.
                 If looking up of IPv6 addresses is not desired, the ipv6=off parameter can be
                 specified.
@@ -720,7 +720,7 @@ in
             };
           };
         };
-        description = ''
+        description = lib.mdDoc ''
           Configures name servers used to resolve names of upstream servers into addresses
         '';
         default = {};
@@ -735,14 +735,14 @@ in
                   backup = mkOption {
                     type = types.bool;
                     default = false;
-                    description = ''
+                    description = lib.mdDoc ''
                       Marks the server as a backup server. It will be passed
                       requests when the primary servers are unavailable.
                     '';
                   };
                 };
               });
-              description = ''
+              description = lib.mdDoc ''
                 Defines the address and other parameters of the upstream servers.
               '';
               default = {};
@@ -751,13 +751,13 @@ in
             extraConfig = mkOption {
               type = types.lines;
               default = "";
-              description = ''
+              description = lib.mdDoc ''
                 These lines go to the end of the upstream verbatim.
               '';
             };
           };
         });
-        description = ''
+        description = lib.mdDoc ''
           Defines a group of servers to use as proxy target.
         '';
         default = {};
@@ -789,7 +789,7 @@ in
             };
           };
         '';
-        description = "Declarative vhost config";
+        description = lib.mdDoc "Declarative vhost config";
       };
     };
   };
diff --git a/nixos/modules/services/web-servers/nginx/location-options.nix b/nixos/modules/services/web-servers/nginx/location-options.nix
index 49dd8893015..dc68194f752 100644
--- a/nixos/modules/services/web-servers/nginx/location-options.nix
+++ b/nixos/modules/services/web-servers/nginx/location-options.nix
@@ -17,7 +17,7 @@ with lib;
           user = "password";
         };
       '';
-      description = ''
+      description = lib.mdDoc ''
         Basic Auth protection for a vhost.
 
         WARNING: This is implemented to store the password in plain text in the
@@ -28,9 +28,9 @@ with lib;
     basicAuthFile = mkOption {
       type = types.nullOr types.path;
       default = null;
-      description = ''
+      description = lib.mdDoc ''
         Basic Auth password file for a vhost.
-        Can be created via: <command>htpasswd -c &lt;filename&gt; &lt;username&gt;</command>.
+        Can be created via: {command}`htpasswd -c <filename> <username>`.
 
         WARNING: The generate file contains the users' passwords in a
         non-cryptographically-securely hashed way.
@@ -41,7 +41,7 @@ with lib;
       type = types.nullOr types.str;
       default = null;
       example = "http://www.example.org/";
-      description = ''
+      description = lib.mdDoc ''
         Adds proxy_pass directive and sets recommended proxy headers if
         recommendedProxySettings is enabled.
       '';
@@ -51,7 +51,7 @@ with lib;
       type = types.bool;
       default = false;
       example = true;
-      description = ''
+      description = lib.mdDoc ''
         Whether to support proxying websocket connections with HTTP/1.1.
       '';
     };
@@ -60,7 +60,7 @@ with lib;
       type = types.nullOr types.str;
       default = null;
       example = "index.php index.html";
-      description = ''
+      description = lib.mdDoc ''
         Adds index directive.
       '';
     };
@@ -69,7 +69,7 @@ with lib;
       type = types.nullOr types.str;
       default = null;
       example = "$uri =404";
-      description = ''
+      description = lib.mdDoc ''
         Adds try_files directive.
       '';
     };
@@ -78,7 +78,7 @@ with lib;
       type = types.nullOr types.path;
       default = null;
       example = "/your/root/directory";
-      description = ''
+      description = lib.mdDoc ''
         Root directory for requests.
       '';
     };
@@ -87,7 +87,7 @@ with lib;
       type = types.nullOr types.path;
       default = null;
       example = "/your/alias/directory";
-      description = ''
+      description = lib.mdDoc ''
         Alias directory for requests.
       '';
     };
@@ -96,7 +96,7 @@ with lib;
       type = types.nullOr types.str;
       default = null;
       example = "301 http://example.com$request_uri";
-      description = ''
+      description = lib.mdDoc ''
         Adds a return directive, for e.g. redirections.
       '';
     };
@@ -104,7 +104,7 @@ with lib;
     fastcgiParams = mkOption {
       type = types.attrsOf (types.either types.str types.path);
       default = {};
-      description = ''
+      description = lib.mdDoc ''
         FastCGI parameters to override.  Unlike in the Nginx
         configuration file, overriding only some default parameters
         won't unset the default values for other parameters.
@@ -114,7 +114,7 @@ with lib;
     extraConfig = mkOption {
       type = types.lines;
       default = "";
-      description = ''
+      description = lib.mdDoc ''
         These lines go to the end of the location verbatim.
       '';
     };
@@ -133,7 +133,7 @@ with lib;
       type = types.bool;
       default = config.services.nginx.recommendedProxySettings;
       defaultText = literalExpression "config.services.nginx.recommendedProxySettings";
-      description = ''
+      description = lib.mdDoc ''
         Enable recommended proxy settings.
       '';
     };
diff --git a/nixos/modules/services/web-servers/nginx/vhost-options.nix b/nixos/modules/services/web-servers/nginx/vhost-options.nix
index 61eef9f7ac9..a749f8bc20f 100644
--- a/nixos/modules/services/web-servers/nginx/vhost-options.nix
+++ b/nixos/modules/services/web-servers/nginx/vhost-options.nix
@@ -11,7 +11,7 @@ with lib;
     serverName = mkOption {
       type = types.nullOr types.str;
       default = null;
-      description = ''
+      description = lib.mdDoc ''
         Name of this virtual host. Defaults to attribute name in virtualHosts.
       '';
       example = "example.org";
@@ -21,43 +21,43 @@ with lib;
       type = types.listOf types.str;
       default = [];
       example = [ "www.example.org" "example.org" ];
-      description = ''
+      description = lib.mdDoc ''
         Additional names of virtual hosts served by this virtual host configuration.
       '';
     };
 
     listen = mkOption {
       type = with types; listOf (submodule { options = {
-        addr = mkOption { type = str;  description = "IP address.";  };
-        port = mkOption { type = int;  description = "Port number."; default = 80; };
-        ssl  = mkOption { type = bool; description = "Enable SSL.";  default = false; };
-        extraParameters = mkOption { type = listOf str; description = "Extra parameters of this listen directive."; default = []; example = [ "backlog=1024" "deferred" ]; };
+        addr = mkOption { type = str;  description = lib.mdDoc "IP address.";  };
+        port = mkOption { type = int;  description = lib.mdDoc "Port number."; default = 80; };
+        ssl  = mkOption { type = bool; description = lib.mdDoc "Enable SSL.";  default = false; };
+        extraParameters = mkOption { type = listOf str; description = lib.mdDoc "Extra parameters of this listen directive."; default = []; example = [ "backlog=1024" "deferred" ]; };
       }; });
       default = [];
       example = [
         { addr = "195.154.1.1"; port = 443; ssl = true; }
         { addr = "192.154.1.1"; port = 80; }
       ];
-      description = ''
+      description = lib.mdDoc ''
         Listen addresses and ports for this virtual host.
         IPv6 addresses must be enclosed in square brackets.
-        Note: this option overrides <literal>addSSL</literal>
-        and <literal>onlySSL</literal>.
+        Note: this option overrides `addSSL`
+        and `onlySSL`.
 
         If you only want to set the addresses manually and not
-        the ports, take a look at <literal>listenAddresses</literal>
+        the ports, take a look at `listenAddresses`
       '';
     };
 
     listenAddresses = mkOption {
       type = with types; listOf str;
 
-      description = ''
+      description = lib.mdDoc ''
         Listen addresses for this virtual host.
-        Compared to <literal>listen</literal> this only sets the addreses
+        Compared to `listen` this only sets the addreses
         and the ports are choosen automatically.
 
-        Note: This option overrides <literal>enableIPv6</literal>
+        Note: This option overrides `enableIPv6`
       '';
       default = [];
       example = [ "127.0.0.1" "[::1]" ];
@@ -66,9 +66,9 @@ with lib;
     enableACME = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Whether to ask Let's Encrypt to sign a certificate for this vhost.
-        Alternately, you can use an existing certificate through <option>useACMEHost</option>.
+        Alternately, you can use an existing certificate through {option}`useACMEHost`.
       '';
     };
 
@@ -87,7 +87,7 @@ with lib;
     acmeRoot = mkOption {
       type = types.nullOr types.str;
       default = "/var/lib/acme/acme-challenge";
-      description = ''
+      description = lib.mdDoc ''
         Directory for the acme challenge which is PUBLIC, don't put certs or keys in here.
         Set to null to inherit from config.security.acme.
       '';
@@ -96,7 +96,7 @@ with lib;
     acmeFallbackHost = mkOption {
       type = types.nullOr types.str;
       default = null;
-      description = ''
+      description = lib.mdDoc ''
         Host which to proxy requests to if acme challenge is not found. Useful
         if you want multiple hosts to be able to verify the same domain name.
       '';
@@ -105,9 +105,9 @@ with lib;
     addSSL = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Whether to enable HTTPS in addition to plain HTTP. This will set defaults for
-        <literal>listen</literal> to listen on all interfaces on the respective default
+        `listen` to listen on all interfaces on the respective default
         ports (80, 443).
       '';
     };
@@ -115,9 +115,9 @@ with lib;
     onlySSL = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Whether to enable HTTPS and reject plain HTTP connections. This will set
-        defaults for <literal>listen</literal> to listen on all interfaces on port 443.
+        defaults for `listen` to listen on all interfaces on port 443.
       '';
     };
 
@@ -130,10 +130,10 @@ with lib;
     forceSSL = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Whether to add a separate nginx server block that permanently redirects (301)
         all plain HTTP traffic to HTTPS. This will set defaults for
-        <literal>listen</literal> to listen on all interfaces on the respective default
+        `listen` to listen on all interfaces on the respective default
         ports (80, 443), where the non-SSL listens are used for the redirect vhosts.
       '';
     };
@@ -141,11 +141,11 @@ with lib;
     rejectSSL = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Whether to listen for and reject all HTTPS connections to this vhost. Useful in
-        <link linkend="opt-services.nginx.virtualHosts._name_.default">default</link>
+        [default](#opt-services.nginx.virtualHosts._name_.default)
         server blocks to avoid serving the certificate for another vhost. Uses the
-        <literal>ssl_reject_handshake</literal> directive available in nginx versions
+        `ssl_reject_handshake` directive available in nginx versions
         1.19.4 and above.
       '';
     };
@@ -153,7 +153,7 @@ with lib;
     kTLS = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Whether to enable kTLS support.
         Implementing TLS in the kernel (kTLS) improves performance by significantly
         reducing the need for copying operations between user space and the kernel.
@@ -164,26 +164,26 @@ with lib;
     sslCertificate = mkOption {
       type = types.path;
       example = "/var/host.cert";
-      description = "Path to server SSL certificate.";
+      description = lib.mdDoc "Path to server SSL certificate.";
     };
 
     sslCertificateKey = mkOption {
       type = types.path;
       example = "/var/host.key";
-      description = "Path to server SSL certificate key.";
+      description = lib.mdDoc "Path to server SSL certificate key.";
     };
 
     sslTrustedCertificate = mkOption {
       type = types.nullOr types.path;
       default = null;
       example = literalExpression ''"''${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"'';
-      description = "Path to root SSL certificate for stapling and client certificates.";
+      description = lib.mdDoc "Path to root SSL certificate for stapling and client certificates.";
     };
 
     http2 = mkOption {
       type = types.bool;
       default = true;
-      description = ''
+      description = lib.mdDoc ''
         Whether to enable HTTP 2.
         Note that (as of writing) due to nginx's implementation, to disable
         HTTP 2 you have to disable it on all vhosts that use a given
@@ -210,7 +210,7 @@ with lib;
     reuseport = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Create an individual listening socket .
         It is required to specify only once on one of the hosts.
       '';
@@ -220,7 +220,7 @@ with lib;
       type = types.nullOr types.path;
       default = null;
       example = "/data/webserver/docs";
-      description = ''
+      description = lib.mdDoc ''
         The path of the web root directory.
       '';
     };
@@ -228,7 +228,7 @@ with lib;
     default = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Makes this vhost the default.
       '';
     };
@@ -236,7 +236,7 @@ with lib;
     extraConfig = mkOption {
       type = types.lines;
       default = "";
-      description = ''
+      description = lib.mdDoc ''
         These lines go to the end of the vhost verbatim.
       '';
     };
@@ -245,7 +245,7 @@ with lib;
       type = types.nullOr types.str;
       default = null;
       example = "newserver.example.org";
-      description = ''
+      description = lib.mdDoc ''
         If set, all requests for this host are redirected permanently to
         the given hostname.
       '';
@@ -259,7 +259,7 @@ with lib;
           user = "password";
         };
       '';
-      description = ''
+      description = lib.mdDoc ''
         Basic Auth protection for a vhost.
 
         WARNING: This is implemented to store the password in plain text in the
@@ -270,9 +270,9 @@ with lib;
     basicAuthFile = mkOption {
       type = types.nullOr types.path;
       default = null;
-      description = ''
+      description = lib.mdDoc ''
         Basic Auth password file for a vhost.
-        Can be created via: <command>htpasswd -c &lt;filename&gt; &lt;username&gt;</command>.
+        Can be created via: {command}`htpasswd -c <filename> <username>`.
 
         WARNING: The generate file contains the users' passwords in a
         non-cryptographically-securely hashed way.
@@ -291,7 +291,7 @@ with lib;
           };
         };
       '';
-      description = "Declarative location config";
+      description = lib.mdDoc "Declarative location config";
     };
   };
 }
diff --git a/nixos/modules/services/web-servers/uwsgi.nix b/nixos/modules/services/web-servers/uwsgi.nix
index c76eb795a9e..af6c6c06612 100644
--- a/nixos/modules/services/web-servers/uwsgi.nix
+++ b/nixos/modules/services/web-servers/uwsgi.nix
@@ -179,8 +179,7 @@ in {
             <para>
               When in Emperor mode, any capability to be inherited by a vassal must
               be specified again in the vassal configuration using <literal>cap</literal>.
-              See the uWSGI <link
-              xlink:href="https://uwsgi-docs.readthedocs.io/en/latest/Capabilities.html">docs</link>
+              See the uWSGI <link xlink:href="https://uwsgi-docs.readthedocs.io/en/latest/Capabilities.html">docs</link>
               for more information.
             </para>
           </note>
diff --git a/nixos/modules/services/x11/desktop-managers/cinnamon.nix b/nixos/modules/services/x11/desktop-managers/cinnamon.nix
index d54f99c2cd5..5a7d9e28b5c 100644
--- a/nixos/modules/services/x11/desktop-managers/cinnamon.nix
+++ b/nixos/modules/services/x11/desktop-managers/cinnamon.nix
@@ -82,6 +82,7 @@ in
       '';
 
       # Default services
+      services.blueman.enable = mkDefault true;
       hardware.bluetooth.enable = mkDefault true;
       hardware.pulseaudio.enable = mkDefault true;
       security.polkit.enable = true;
@@ -91,7 +92,7 @@ in
         cinnamon-common
         cinnamon-screensaver
         nemo
-        xapps
+        xapp
       ];
       services.cinnamon.apps.enable = mkDefault true;
       services.gnome.glib-networking.enable = true;
@@ -199,13 +200,12 @@ in
       environment.systemPackages = with pkgs // pkgs.gnome // pkgs.cinnamon; utils.removePackagesByName [
         # cinnamon team apps
         bulky
-        blueberry
         warpinator
 
-        # cinnamon xapps
+        # cinnamon xapp
         xviewer
         xreader
-        xed
+        xed-editor
         xplayer
         pix
 
diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix
index ffdf7e9a86e..a0fc3e4b5ab 100644
--- a/nixos/modules/services/x11/desktop-managers/default.nix
+++ b/nixos/modules/services/x11/desktop-managers/default.nix
@@ -33,25 +33,25 @@ in
           type = types.enum [ "center" "fill" "max" "scale" "tile" ];
           default = "scale";
           example = "fill";
-          description = ''
-            The file <filename>~/.background-image</filename> is used as a background image.
+          description = lib.mdDoc ''
+            The file {file}`~/.background-image` is used as a background image.
             This option specifies the placement of this image onto your desktop.
 
             Possible values:
-            <literal>center</literal>: Center the image on the background. If it is too small, it will be surrounded by a black border.
-            <literal>fill</literal>: Like <literal>scale</literal>, but preserves aspect ratio by zooming the image until it fits. Either a horizontal or a vertical part of the image will be cut off.
-            <literal>max</literal>: Like <literal>fill</literal>, but scale the image to the maximum size that fits the screen with black borders on one side.
-            <literal>scale</literal>: Fit the file into the background without repeating it, cutting off stuff or using borders. But the aspect ratio is not preserved either.
-            <literal>tile</literal>: Tile (repeat) the image in case it is too small for the screen.
+            `center`: Center the image on the background. If it is too small, it will be surrounded by a black border.
+            `fill`: Like `scale`, but preserves aspect ratio by zooming the image until it fits. Either a horizontal or a vertical part of the image will be cut off.
+            `max`: Like `fill`, but scale the image to the maximum size that fits the screen with black borders on one side.
+            `scale`: Fit the file into the background without repeating it, cutting off stuff or using borders. But the aspect ratio is not preserved either.
+            `tile`: Tile (repeat) the image in case it is too small for the screen.
           '';
         };
 
         combineScreens = mkOption {
           type = types.bool;
           default = false;
-          description = ''
-            When set to <literal>true</literal> the wallpaper will stretch across all screens.
-            When set to <literal>false</literal> the wallpaper is duplicated to all screens.
+          description = lib.mdDoc ''
+            When set to `true` the wallpaper will stretch across all screens.
+            When set to `false` the wallpaper is duplicated to all screens.
           '';
         };
       };
diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix
index 0a599992316..2c4b0b8f3ba 100644
--- a/nixos/modules/services/x11/desktop-managers/plasma5.nix
+++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix
@@ -170,10 +170,9 @@ in
     supportDDC = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Support setting monitor brightness via DDC.
-        </para>
-        <para>
+
         This is not needed for controlling brightness of the internal monitor
         of a laptop and as it is considered experimental by upstream, it is
         disabled by default.
@@ -189,7 +188,7 @@ in
     runUsingSystemd = mkOption {
       description = lib.mdDoc "Use systemd to manage the Plasma session";
       type = types.bool;
-      default = false;
+      default = true;
     };
 
     excludePackages = mkOption {
diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix
index 020bce8f719..c050367e74d 100644
--- a/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix
+++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix
@@ -158,7 +158,7 @@ in
   config = mkIf (ldmcfg.enable && cfg.enable) {
 
     services.xserver.displayManager.lightdm.greeter = mkDefault {
-      package = pkgs.lightdm_gtk_greeter.xgreeters;
+      package = pkgs.lightdm-gtk-greeter.xgreeters;
       name = "lightdm-gtk-greeter";
     };
 
diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix
index 00a47e7814f..f4195c4c2dc 100644
--- a/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix
+++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix
@@ -55,12 +55,12 @@ in
       enable = mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           Whether to enable lightdm-mini-greeter as the lightdm greeter.
 
           Note that this greeter starts only the default X session.
           You can configure the default X session using
-          <xref linkend="opt-services.xserver.displayManager.defaultSession"/>.
+          [](#opt-services.xserver.displayManager.defaultSession).
         '';
       };
 
diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/tiny.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/tiny.nix
index e8f799e2729..8d6bfa98a7e 100644
--- a/nixos/modules/services/x11/display-managers/lightdm-greeters/tiny.nix
+++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/tiny.nix
@@ -17,12 +17,12 @@ in
       enable = mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           Whether to enable lightdm-tiny-greeter as the lightdm greeter.
 
           Note that this greeter starts only the default X session.
           You can configure the default X session using
-          <xref linkend="opt-services.xserver.displayManager.defaultSession"/>.
+          [](#opt-services.xserver.displayManager.defaultSession).
         '';
       };
 
diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix
index 302c8fe0d91..2d1ae0ed0a3 100644
--- a/nixos/modules/services/x11/display-managers/lightdm.nix
+++ b/nixos/modules/services/x11/display-managers/lightdm.nix
@@ -105,7 +105,7 @@ in
       enable = mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           Whether to enable lightdm as the display manager.
         '';
       };
@@ -114,14 +114,14 @@ in
         enable = mkOption {
           type = types.bool;
           default = true;
-          description = ''
+          description = lib.mdDoc ''
             If set to false, run lightdm in greeterless mode. This only works if autologin
             is enabled and autoLogin.timeout is zero.
           '';
         };
         package = mkOption {
           type = types.package;
-          description = ''
+          description = lib.mdDoc ''
             The LightDM greeter to login via. The package should be a directory
             containing a .desktop file matching the name in the 'name' option.
           '';
@@ -129,7 +129,7 @@ in
         };
         name = mkOption {
           type = types.str;
-          description = ''
+          description = lib.mdDoc ''
             The name of a .desktop file in the directory specified
             in the 'package' option.
           '';
@@ -142,14 +142,14 @@ in
         example = ''
           user-authority-in-system-dir = true
         '';
-        description = "Extra lines to append to LightDM section.";
+        description = lib.mdDoc "Extra lines to append to LightDM section.";
       };
 
       background = mkOption {
         type = types.either types.path (types.strMatching "^#[0-9]\{6\}$");
         # Manual cannot depend on packages, we are actually setting the default in config below.
         defaultText = literalExpression "pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom.gnomeFilePath";
-        description = ''
+        description = lib.mdDoc ''
           The background image or color to use.
         '';
       };
@@ -160,14 +160,14 @@ in
         example = ''
           greeter-show-manual-login=true
         '';
-        description = "Extra lines to append to SeatDefaults section.";
+        description = lib.mdDoc "Extra lines to append to SeatDefaults section.";
       };
 
       # Configuration for automatic login specific to LightDM
       autoLogin.timeout = mkOption {
         type = types.int;
         default = 0;
-        description = ''
+        description = lib.mdDoc ''
           Show the greeter for this many seconds before automatic login occurs.
         '';
       };
diff --git a/nixos/modules/services/x11/window-managers/default.nix b/nixos/modules/services/x11/window-managers/default.nix
index 4e56b393e2e..52083dcaaa2 100644
--- a/nixos/modules/services/x11/window-managers/default.nix
+++ b/nixos/modules/services/x11/window-managers/default.nix
@@ -21,6 +21,7 @@ in
     ./fluxbox.nix
     ./fvwm2.nix
     ./fvwm3.nix
+    ./hackedbox.nix
     ./herbstluftwm.nix
     ./i3.nix
     ./jwm.nix
diff --git a/nixos/modules/services/x11/window-managers/fvwm2.nix b/nixos/modules/services/x11/window-managers/fvwm2.nix
index 909b3a475a9..b5ef36f58d5 100644
--- a/nixos/modules/services/x11/window-managers/fvwm2.nix
+++ b/nixos/modules/services/x11/window-managers/fvwm2.nix
@@ -24,7 +24,7 @@ in
       gestures = mkOption {
         default = false;
         type = types.bool;
-        description = "Whether or not to enable libstroke for gesture support";
+        description = lib.mdDoc "Whether or not to enable libstroke for gesture support";
       };
     };
   };
diff --git a/nixos/modules/services/x11/window-managers/hackedbox.nix b/nixos/modules/services/x11/window-managers/hackedbox.nix
new file mode 100644
index 00000000000..641cf1bdcbe
--- /dev/null
+++ b/nixos/modules/services/x11/window-managers/hackedbox.nix
@@ -0,0 +1,25 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.xserver.windowManager.hackedbox;
+in
+{
+  ###### interface
+  options = {
+    services.xserver.windowManager.hackedbox.enable = mkEnableOption "hackedbox";
+  };
+
+  ###### implementation
+  config = mkIf cfg.enable {
+    services.xserver.windowManager.session = singleton {
+      name = "hackedbox";
+      start = ''
+        ${pkgs.hackedbox}/bin/hackedbox &
+        waitPID=$!
+      '';
+    };
+    environment.systemPackages = [ pkgs.hackedbox ];
+  };
+}
diff --git a/nixos/modules/services/x11/window-managers/xmonad.nix b/nixos/modules/services/x11/window-managers/xmonad.nix
index 476621bad77..f616802acc4 100644
--- a/nixos/modules/services/x11/window-managers/xmonad.nix
+++ b/nixos/modules/services/x11/window-managers/xmonad.nix
@@ -30,7 +30,7 @@ let
         install -D ${xmonadEnv}/share/man/man1/xmonad.1.gz $out/share/man/man1/xmonad.1.gz
         makeWrapper ${configured}/bin/xmonad $out/bin/xmonad \
       '' + optionalString cfg.enableConfiguredRecompile ''
-          --set NIX_GHC "${xmonadEnv}/bin/ghc" \
+          --set XMONAD_GHC "${xmonadEnv}/bin/ghc" \
       '' + ''
           --set XMONAD_XMESSAGE "${pkgs.xorg.xmessage}/bin/xmessage"
       '');
@@ -46,7 +46,7 @@ in {
       haskellPackages = mkOption {
         default = pkgs.haskellPackages;
         defaultText = literalExpression "pkgs.haskellPackages";
-        example = literalExpression "pkgs.haskell.packages.ghc784";
+        example = literalExpression "pkgs.haskell.packages.ghc8107";
         type = types.attrs;
         description = ''
           haskellPackages used to build Xmonad and other packages.
diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix
index d488e9b55d4..dc48f3ac030 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -37,18 +37,16 @@ let
     output = mkOption {
       type = types.str;
       example = "DVI-0";
-      description = ''
-        The output name of the monitor, as shown by <citerefentry>
-          <refentrytitle>xrandr</refentrytitle>
-          <manvolnum>1</manvolnum>
-        </citerefentry> invoked without arguments.
+      description = lib.mdDoc ''
+        The output name of the monitor, as shown by
+        {manpage}`xrandr(1)` invoked without arguments.
       '';
     };
 
     primary = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Whether this head is treated as the primary monitor,
       '';
     };
@@ -60,11 +58,10 @@ let
         DisplaySize 408 306
         Option "DPMS" "false"
       '';
-      description = ''
-        Extra lines to append to the <literal>Monitor</literal> section
+      description = lib.mdDoc ''
+        Extra lines to append to the `Monitor` section
         verbatim. Available options are documented in the MONITOR section in
-        <citerefentry><refentrytitle>xorg.conf</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry>.
+        {manpage}`xorg.conf(5)`.
       '';
     };
   };
@@ -168,7 +165,7 @@ in
       enable = mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           Whether to enable the X server.
         '';
       };
@@ -176,7 +173,7 @@ in
       autorun = mkOption {
         type = types.bool;
         default = true;
-        description = ''
+        description = lib.mdDoc ''
           Whether to start the X server automatically.
         '';
       };
@@ -185,22 +182,22 @@ in
         default = [];
         example = literalExpression "[ pkgs.xterm ]";
         type = types.listOf types.package;
-        description = "Which X11 packages to exclude from the default environment";
+        description = lib.mdDoc "Which X11 packages to exclude from the default environment";
       };
 
       exportConfiguration = mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           Whether to symlink the X server configuration under
-          <filename>/etc/X11/xorg.conf</filename>.
+          {file}`/etc/X11/xorg.conf`.
         '';
       };
 
       enableTCP = mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           Whether to allow the X server to accept TCP connections.
         '';
       };
@@ -208,7 +205,7 @@ in
       autoRepeatDelay = mkOption {
         type = types.nullOr types.int;
         default = null;
-        description = ''
+        description = lib.mdDoc ''
           Sets the autorepeat delay (length of time in milliseconds that a key must be depressed before autorepeat starts).
         '';
       };
@@ -216,7 +213,7 @@ in
       autoRepeatInterval = mkOption {
         type = types.nullOr types.int;
         default = null;
-        description = ''
+        description = lib.mdDoc ''
           Sets the autorepeat interval (length of time in milliseconds that should elapse between autorepeat-generated keystrokes).
         '';
       };
@@ -234,21 +231,21 @@ in
             '''
           ]
         '';
-        description = "Content of additional InputClass sections of the X server configuration file.";
+        description = lib.mdDoc "Content of additional InputClass sections of the X server configuration file.";
       };
 
       modules = mkOption {
         type = types.listOf types.path;
         default = [];
         example = literalExpression "[ pkgs.xf86_input_wacom ]";
-        description = "Packages to be added to the module search path of the X server.";
+        description = lib.mdDoc "Packages to be added to the module search path of the X server.";
       };
 
       resolutions = mkOption {
         type = types.listOf types.attrs;
         default = [];
         example = [ { x = 1600; y = 1200; } { x = 1024; y = 786; } ];
-        description = ''
+        description = lib.mdDoc ''
           The screen resolutions for the X server.  The first element
           is the default resolution.  If this list is empty, the X
           server will automatically configure the resolution.
@@ -269,7 +266,7 @@ in
               path  = [ "xorg" n ];
               title = removePrefix "xf86video" n;
             }) pkgs.xorg);
-        description = ''
+        description = lib.mdDoc ''
           The names of the video drivers the configuration
           supports. They will be tried in order until one that
           supports your card is found.
@@ -285,10 +282,10 @@ in
         type = types.nullOr types.str;
         default = null;
         example = "i810";
-        description = ''
+        description = lib.mdDoc ''
           The name of the video driver for your graphics card.  This
           option is obsolete; please set the
-          <option>services.xserver.videoDrivers</option> instead.
+          {option}`services.xserver.videoDrivers` instead.
         '';
       };
 
@@ -304,17 +301,17 @@ in
       dpi = mkOption {
         type = types.nullOr types.int;
         default = null;
-        description = ''
+        description = lib.mdDoc ''
           Force global DPI resolution to use for X server. It's recommended to
           use this only when DPI is detected incorrectly; also consider using
-          <literal>Monitor</literal> section in configuration file instead.
+          `Monitor` section in configuration file instead.
         '';
       };
 
       updateDbusEnvironment = mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           Whether to update the DBus activation environment after launching the
           desktop manager.
         '';
@@ -323,7 +320,7 @@ in
       layout = mkOption {
         type = types.str;
         default = "us";
-        description = ''
+        description = lib.mdDoc ''
           Keyboard layout, or multiple keyboard layouts separated by commas.
         '';
       };
@@ -332,7 +329,7 @@ in
         type = types.str;
         default = "pc104";
         example = "presario";
-        description = ''
+        description = lib.mdDoc ''
           Keyboard model.
         '';
       };
@@ -341,7 +338,7 @@ in
         type = types.commas;
         default = "terminate:ctrl_alt_bksp";
         example = "grp:caps_toggle,grp_led:scroll";
-        description = ''
+        description = lib.mdDoc ''
           X keyboard options; layout switching goes here.
         '';
       };
@@ -350,7 +347,7 @@ in
         type = types.str;
         default = "";
         example = "colemak";
-        description = ''
+        description = lib.mdDoc ''
           X keyboard variant.
         '';
       };
@@ -359,22 +356,22 @@ in
         type = types.path;
         default = "${pkgs.xkeyboard_config}/etc/X11/xkb";
         defaultText = literalExpression ''"''${pkgs.xkeyboard_config}/etc/X11/xkb"'';
-        description = ''
+        description = lib.mdDoc ''
           Path used for -xkbdir xserver parameter.
         '';
       };
 
       config = mkOption {
         type = types.lines;
-        description = ''
+        description = lib.mdDoc ''
           The contents of the configuration file of the X server
-          (<filename>xorg.conf</filename>).
+          ({file}`xorg.conf`).
 
           This option is set by multiple modules, and the configs are
           concatenated together.
 
           In Xorg configs the last config entries take precedence,
-          so you may want to use <literal>lib.mkAfter</literal> on this option
+          so you may want to use `lib.mkAfter` on this option
           to override NixOS's defaults.
         '';
       };
@@ -383,14 +380,14 @@ in
         type = types.lines;
         default = "";
         example = ''FontPath "/path/to/my/fonts"'';
-        description = "Contents of the first <literal>Files</literal> section of the X server configuration file.";
+        description = lib.mdDoc "Contents of the first `Files` section of the X server configuration file.";
       };
 
       deviceSection = mkOption {
         type = types.lines;
         default = "";
         example = "VideoRAM 131072";
-        description = "Contents of the first Device section of the X server configuration file.";
+        description = lib.mdDoc "Contents of the first Device section of the X server configuration file.";
       };
 
       screenSection = mkOption {
@@ -399,20 +396,20 @@ in
         example = ''
           Option "RandRRotation" "on"
         '';
-        description = "Contents of the first Screen section of the X server configuration file.";
+        description = lib.mdDoc "Contents of the first Screen section of the X server configuration file.";
       };
 
       monitorSection = mkOption {
         type = types.lines;
         default = "";
         example = "HorizSync 28-49";
-        description = "Contents of the first Monitor section of the X server configuration file.";
+        description = lib.mdDoc "Contents of the first Monitor section of the X server configuration file.";
       };
 
       extraConfig = mkOption {
         type = types.lines;
         default = "";
-        description = "Additional contents (sections) included in the X server configuration file";
+        description = lib.mdDoc "Additional contents (sections) included in the X server configuration file";
       };
 
       xrandrHeads = mkOption {
@@ -466,7 +463,7 @@ in
           Option "SuspendTime" "0"
           Option "OffTime" "0"
           '';
-        description = "Contents of the ServerFlags section of the X server configuration file.";
+        description = lib.mdDoc "Contents of the ServerFlags section of the X server configuration file.";
       };
 
       moduleSection = mkOption {
@@ -477,7 +474,7 @@ in
             SubSection "extmod"
             EndSubsection
           '';
-        description = "Contents of the Module section of the X server configuration file.";
+        description = lib.mdDoc "Contents of the Module section of the X server configuration file.";
       };
 
       serverLayoutSection = mkOption {
@@ -487,28 +484,28 @@ in
           ''
             Option "AIGLX" "true"
           '';
-        description = "Contents of the ServerLayout section of the X server configuration file.";
+        description = lib.mdDoc "Contents of the ServerLayout section of the X server configuration file.";
       };
 
       extraDisplaySettings = mkOption {
         type = types.lines;
         default = "";
         example = "Virtual 2048 2048";
-        description = "Lines to be added to every Display subsection of the Screen section.";
+        description = lib.mdDoc "Lines to be added to every Display subsection of the Screen section.";
       };
 
       defaultDepth = mkOption {
         type = types.int;
         default = 0;
         example = 8;
-        description = "Default colour depth.";
+        description = lib.mdDoc "Default colour depth.";
       };
 
       fontPath = mkOption {
         type = types.nullOr types.str;
         default = null;
         example = "unix/:7100";
-        description = ''
+        description = lib.mdDoc ''
           Set the X server FontPath. Defaults to null, which
           means the compiled in defaults will be used. See
           man xorg.conf for details.
@@ -518,20 +515,20 @@ in
       tty = mkOption {
         type = types.nullOr types.int;
         default = 7;
-        description = "Virtual console for the X server.";
+        description = lib.mdDoc "Virtual console for the X server.";
       };
 
       display = mkOption {
         type = types.nullOr types.int;
         default = 0;
-        description = "Display number for the X server.";
+        description = lib.mdDoc "Display number for the X server.";
       };
 
       virtualScreen = mkOption {
         type = types.nullOr types.attrs;
         default = null;
         example = { x = 2048; y = 2048; };
-        description = ''
+        description = lib.mdDoc ''
           Virtual screen size for Xrandr.
         '';
       };
@@ -540,12 +537,12 @@ in
         type = types.nullOr types.str;
         default = "/dev/null";
         example = "/var/log/Xorg.0.log";
-        description = ''
+        description = lib.mdDoc ''
           Controls the file Xorg logs to.
 
-          The default of <literal>/dev/null</literal> is set so that systemd services (like <literal>displayManagers</literal>) only log to the journal and don't create their own log files.
+          The default of `/dev/null` is set so that systemd services (like `displayManagers`) only log to the journal and don't create their own log files.
 
-          Setting this to <literal>null</literal> will not pass the <literal>-logfile</literal> argument to Xorg which allows it to log to its default logfile locations instead (see <literal>man Xorg</literal>). You probably only want this behaviour when running Xorg manually (e.g. via <literal>startx</literal>).
+          Setting this to `null` will not pass the `-logfile` argument to Xorg which allows it to log to its default logfile locations instead (see `man Xorg`). You probably only want this behaviour when running Xorg manually (e.g. via `startx`).
         '';
       };
 
@@ -553,7 +550,7 @@ in
         type = types.nullOr types.int;
         default = 3;
         example = 7;
-        description = ''
+        description = lib.mdDoc ''
           Controls verbosity of X logging.
         '';
       };
@@ -561,7 +558,7 @@ in
       useGlamor = mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           Whether to use the Glamor module for 2D acceleration,
           if possible.
         '';
@@ -570,7 +567,7 @@ in
       enableCtrlAltBackspace = mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           Whether to enable the DontZap option, which binds Ctrl+Alt+Backspace
           to forcefully kill X. This can lead to data loss and is disabled
           by default.
@@ -580,7 +577,7 @@ in
       terminateOnReset = mkOption {
         type = types.bool;
         default = true;
-        description = ''
+        description = lib.mdDoc ''
           Whether to terminate X upon server reset.
         '';
       };
diff --git a/nixos/modules/system/activation/switch-to-configuration.pl b/nixos/modules/system/activation/switch-to-configuration.pl
index 3f0d976e70b..f39549db883 100755
--- a/nixos/modules/system/activation/switch-to-configuration.pl
+++ b/nixos/modules/system/activation/switch-to-configuration.pl
@@ -18,7 +18,8 @@ use Config::IniFiles;
 use File::Path qw(make_path);
 use File::Basename;
 use File::Slurp qw(read_file write_file edit_file);
-use Net::DBus;
+use JSON::PP;
+use IPC::Cmd;
 use Sys::Syslog qw(:standard :macros);
 use Cwd qw(abs_path);
 
@@ -124,12 +125,29 @@ EOF
 # virtual console 1 and we restart the "tty1" unit.
 $SIG{PIPE} = "IGNORE";
 
+# Replacement for Net::DBus that calls busctl of the current systemd, parses
+# it's json output and returns the response using only core modules to reduce
+# dependencies on perlPackages in baseSystem
+sub busctl_call_systemd1_mgr {
+    my (@args) = @_;
+    my $cmd = [
+        "$cur_systemd/busctl", "--json=short", "call", "org.freedesktop.systemd1",
+        "/org/freedesktop/systemd1", "org.freedesktop.systemd1.Manager",
+        @args
+    ];
+
+    my ($ok, $err, undef, $stdout) = IPC::Cmd::run(command => $cmd);
+    die $err unless $ok;
+
+    my $res = decode_json(join "", @$stdout);
+    return $res;
+}
+
 # Asks the currently running systemd instance via dbus which units are active.
 # Returns a hash where the key is the name of each unit and the value a hash
 # of load, state, substate.
 sub get_active_units {
-    my $mgr = Net::DBus->system->get_service("org.freedesktop.systemd1")->get_object("/org/freedesktop/systemd1");
-    my $units = $mgr->ListUnitsByPatterns([], []);
+    my $units = busctl_call_systemd1_mgr("ListUnitsByPatterns", "asas", 0, 0)->{data}->[0];
     my $res = {};
     for my $item (@{$units}) {
         my ($id, $description, $load_state, $active_state, $sub_state,
@@ -149,9 +167,7 @@ sub get_active_units {
 # Takes the name of the unit as an argument and returns a bool whether the unit is active or not.
 sub unit_is_active {
     my ($unit_name) = @_;
-
-    my $mgr = Net::DBus->system->get_service("org.freedesktop.systemd1")->get_object("/org/freedesktop/systemd1");
-    my $units = $mgr->ListUnitsByNames([$unit_name]);
+    my $units = busctl_call_systemd1_mgr("ListUnitsByNames", "as", 1, $unit_name)->{data}->[0];
     if (scalar(@{$units}) == 0) {
         return 0;
     }
diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix
index 84f560691fc..76150cc9599 100644
--- a/nixos/modules/system/activation/top-level.nix
+++ b/nixos/modules/system/activation/top-level.nix
@@ -124,7 +124,7 @@ let
     configurationName = config.boot.loader.grub.configurationName;
 
     # Needed by switch-to-configuration.
-    perl = pkgs.perl.withPackages (p: with p; [ ConfigIniFiles FileSlurp NetDBus ]);
+    perl = pkgs.perl.withPackages (p: with p; [ ConfigIniFiles FileSlurp ]);
   };
 
   # Handle assertions and warnings
@@ -185,12 +185,12 @@ in
           options.inheritParentConfig = mkOption {
             type = types.bool;
             default = true;
-            description = "Include the entire system's configuration. Set to false to make a completely differently configured system.";
+            description = lib.mdDoc "Include the entire system's configuration. Set to false to make a completely differently configured system.";
           };
 
           options.configuration = mkOption {
             default = {};
-            description = ''
+            description = lib.mdDoc ''
               Arbitrary NixOS configuration.
 
               Anything you can add to a normal NixOS configuration, you can add
@@ -255,7 +255,7 @@ in
       toplevel = mkOption {
         type = types.package;
         readOnly = true;
-        description = ''
+        description = lib.mdDoc ''
           This option contains the store path that typically represents a NixOS system.
 
           You can read this path in a custom deployment tool for example.
@@ -267,11 +267,11 @@ in
     system.copySystemConfiguration = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         If enabled, copies the NixOS configuration file
-        (usually <filename>/etc/nixos/configuration.nix</filename>)
+        (usually {file}`/etc/nixos/configuration.nix`)
         and links it from the resulting system
-        (getting to <filename>/run/current-system/configuration.nix</filename>).
+        (getting to {file}`/run/current-system/configuration.nix`).
         Note that only this single file is copied, even if it imports others.
       '';
     };
@@ -288,7 +288,7 @@ in
     system.extraDependencies = mkOption {
       type = types.listOf types.package;
       default = [];
-      description = ''
+      description = lib.mdDoc ''
         A list of packages that should be included in the system
         closure but not otherwise made available to users. This is
         primarily used by the installation tests.
@@ -302,12 +302,12 @@ in
         { ... }: {
           options.original = mkOption {
             type = types.package;
-            description = "The original package to override.";
+            description = lib.mdDoc "The original package to override.";
           };
 
           options.replacement = mkOption {
             type = types.package;
-            description = "The replacement package.";
+            description = lib.mdDoc "The replacement package.";
           };
         })
       );
@@ -315,7 +315,7 @@ in
         oldDependency = original;
         newDependency = replacement;
       });
-      description = ''
+      description = lib.mdDoc ''
         List of packages to override without doing a full rebuild.
         The original derivation and replacement derivation must have the same
         name length, and ideally should have close-to-identical directory layout.
@@ -333,11 +333,11 @@ in
         then "unnamed"
         else config.networking.hostName;
       '';
-      description = ''
-        The name of the system used in the <option>system.build.toplevel</option> derivation.
-        </para><para>
+      description = lib.mdDoc ''
+        The name of the system used in the {option}`system.build.toplevel` derivation.
+
         That derivation has the following name:
-        <literal>"nixos-system-''${config.system.name}-''${config.system.nixos.label}"</literal>
+        `"nixos-system-''${config.system.name}-''${config.system.nixos.label}"`
       '';
     };
 
diff --git a/nixos/modules/system/boot/initrd-network.nix b/nixos/modules/system/boot/initrd-network.nix
index 43327fdd9da..a1017c3e242 100644
--- a/nixos/modules/system/boot/initrd-network.nix
+++ b/nixos/modules/system/boot/initrd-network.nix
@@ -50,18 +50,17 @@ in
     boot.initrd.network.enable = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Add network connectivity support to initrd. The network may be
-        configured using the <literal>ip</literal> kernel parameter,
-        as described in <link
-        xlink:href="https://www.kernel.org/doc/Documentation/filesystems/nfs/nfsroot.txt">the
-        kernel documentation</link>.  Otherwise, if
-        <option>networking.useDHCP</option> is enabled, an IP address
+        configured using the `ip` kernel parameter,
+        as described in [the kernel documentation](https://www.kernel.org/doc/Documentation/filesystems/nfs/nfsroot.txt).
+        Otherwise, if
+        {option}`networking.useDHCP` is enabled, an IP address
         is acquired using DHCP.
 
         You should add the module(s) required for your network card to
         boot.initrd.availableKernelModules.
-        <literal>lspci -v | grep -iA8 'network\|ethernet'</literal>
+        `lspci -v | grep -iA8 'network\|ethernet'`
         will tell you which.
       '';
     };
diff --git a/nixos/modules/system/boot/loader/generic-extlinux-compatible/default.nix b/nixos/modules/system/boot/loader/generic-extlinux-compatible/default.nix
index 545b594674f..5ef3c5cd52a 100644
--- a/nixos/modules/system/boot/loader/generic-extlinux-compatible/default.nix
+++ b/nixos/modules/system/boot/loader/generic-extlinux-compatible/default.nix
@@ -20,12 +20,12 @@ in
       enable = mkOption {
         default = false;
         type = types.bool;
-        description = ''
+        description = lib.mdDoc ''
           Whether to generate an extlinux-compatible configuration file
-          under <literal>/boot/extlinux.conf</literal>.  For instance,
+          under `/boot/extlinux.conf`.  For instance,
           U-Boot's generic distro boot support uses this file format.
 
-          See <link xlink:href="http://git.denx.de/?p=u-boot.git;a=blob;f=doc/README.distro;hb=refs/heads/master">U-boot's documentation</link>
+          See [U-boot's documentation](http://git.denx.de/?p=u-boot.git;a=blob;f=doc/README.distro;hb=refs/heads/master)
           for more information.
         '';
       };
@@ -33,7 +33,7 @@ in
       useGenerationDeviceTree = mkOption {
         default = true;
         type = types.bool;
-        description = ''
+        description = lib.mdDoc ''
           Whether to generate Device Tree-related directives in the
           extlinux configuration.
 
@@ -49,7 +49,7 @@ in
         default = 20;
         example = 10;
         type = types.int;
-        description = ''
+        description = lib.mdDoc ''
           Maximum number of configurations in the boot menu.
         '';
       };
@@ -57,9 +57,9 @@ in
       populateCmd = mkOption {
         type = types.str;
         readOnly = true;
-        description = ''
+        description = lib.mdDoc ''
           Contains the builder command used to populate an image,
-          honoring all options except the <literal>-c &lt;path-to-default-configuration&gt;</literal>
+          honoring all options except the `-c <path-to-default-configuration>`
           argument.
           Useful to have for sdImage.populateRootCommands
         '';
diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix
index 00ec3d237d5..1ad7cd81094 100644
--- a/nixos/modules/system/boot/loader/grub/grub.nix
+++ b/nixos/modules/system/boot/loader/grub/grub.nix
@@ -624,9 +624,9 @@ in
         type = types.bool;
         description = ''
           Whether to invoke <literal>grub-install</literal> with
-          <literal>--removable</literal>.</para>
+          <literal>--removable</literal>.
 
-          <para>Unless you turn this on, GRUB will install itself somewhere in
+          Unless you turn this on, GRUB will install itself somewhere in
           <literal>boot.loader.efi.efiSysMountPoint</literal> (exactly where
           depends on other config variables). If you've set
           <literal>boot.loader.efi.canTouchEfiVariables</literal> *AND* you
@@ -637,14 +637,14 @@ in
           NVRAM will not be modified, and your system will not find GRUB at
           boot time. However, GRUB will still return success so you may miss
           the warning that gets printed ("<literal>efibootmgr: EFI variables
-          are not supported on this system.</literal>").</para>
+          are not supported on this system.</literal>").
 
-          <para>If you turn this feature on, GRUB will install itself in a
+          If you turn this feature on, GRUB will install itself in a
           special location within <literal>efiSysMountPoint</literal> (namely
           <literal>EFI/boot/boot$arch.efi</literal>) which the firmwares
-          are hardcoded to try first, regardless of NVRAM EFI variables.</para>
+          are hardcoded to try first, regardless of NVRAM EFI variables.
 
-          <para>To summarize, turn this on if:
+          To summarize, turn this on if:
           <itemizedlist>
             <listitem><para>You are installing NixOS and want it to boot in UEFI mode,
             but you are currently booted in legacy mode</para></listitem>
diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix
index 95556710bde..78301a57bd9 100644
--- a/nixos/modules/system/boot/luksroot.nix
+++ b/nixos/modules/system/boot/luksroot.nix
@@ -433,7 +433,7 @@ let
           echo "Please move your mouse to create needed randomness."
         ''}
           echo "Waiting for your FIDO2 device..."
-          fido2luks open ${dev.device} ${dev.name} ${dev.fido2.credential} --await-dev ${toString dev.fido2.gracePeriod} --salt string:$passphrase
+          fido2luks open${optionalString dev.allowDiscards " --allow-discards"} ${dev.device} ${dev.name} ${dev.fido2.credential} --await-dev ${toString dev.fido2.gracePeriod} --salt string:$passphrase
         if [ $? -ne 0 ]; then
           echo "No FIDO2 key found, falling back to normal open procedure"
           open_normally
@@ -548,11 +548,11 @@ in
     boot.initrd.luks.devices = mkOption {
       default = { };
       example = { luksroot.device = "/dev/disk/by-uuid/430e9eff-d852-4f68-aa3b-2fa3599ebe08"; };
-      description = ''
+      description = lib.mdDoc ''
         The encrypted disk that should be opened before the root
         filesystem is mounted. Both LVM-over-LUKS and LUKS-over-LVM
         setups are supported. The unencrypted devices can be accessed as
-        <filename>/dev/mapper/<replaceable>name</replaceable></filename>.
+        {file}`/dev/mapper/«name»`.
       '';
 
       type = with types; attrsOf (submodule (
diff --git a/nixos/modules/system/boot/modprobe.nix b/nixos/modules/system/boot/modprobe.nix
index 4438afe4b3d..c8ab3b0d8e4 100644
--- a/nixos/modules/system/boot/modprobe.nix
+++ b/nixos/modules/system/boot/modprobe.nix
@@ -24,12 +24,11 @@ with lib;
         ''
           options parport_pc io=0x378 irq=7 dma=1
         '';
-      description = ''
+      description = lib.mdDoc ''
         Any additional configuration to be appended to the generated
-        <filename>modprobe.conf</filename>.  This is typically used to
+        {file}`modprobe.conf`.  This is typically used to
         specify module options.  See
-        <citerefentry><refentrytitle>modprobe.d</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        {manpage}`modprobe.d(5)` for details.
       '';
       type = types.lines;
     };
diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix
index 3511351443b..337d238f910 100644
--- a/nixos/modules/system/boot/networkd.nix
+++ b/nixos/modules/system/boot/networkd.nix
@@ -454,12 +454,14 @@ let
           "RequiredForOnline"
           "RequiredFamilyForOnline"
           "ActivationPolicy"
+          "Promiscuous"
         ])
         (assertMacAddress "MACAddress")
         (assertByteFormat "MTUBytes")
         (assertValueOneOf "ARP" boolValues)
         (assertValueOneOf "Multicast" boolValues)
         (assertValueOneOf "AllMulticast" boolValues)
+        (assertValueOneOf "Promiscuous" boolValues)
         (assertValueOneOf "Unmanaged" boolValues)
         (assertValueOneOf "RequiredForOnline" (boolValues ++ [
           "missing"
@@ -914,11 +916,10 @@ let
       default = {};
       example = { SpeedMeter = true; ManageForeignRoutingPolicyRules = false; };
       type = types.addCheck (types.attrsOf unitOption) check.global.sectionNetwork;
-      description = ''
+      description = lib.mdDoc ''
         Each attribute in this set specifies an option in the
-        <literal>[Network]</literal> section of the networkd config.
-        See <citerefentry><refentrytitle>networkd.conf</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        `[Network]` section of the networkd config.
+        See {manpage}`networkd.conf(5)` for details.
       '';
     };
 
@@ -926,11 +927,10 @@ let
       default = {};
       example = { DUIDType = "vendor"; };
       type = types.addCheck (types.attrsOf unitOption) check.global.sectionDHCPv4;
-      description = ''
+      description = lib.mdDoc ''
         Each attribute in this set specifies an option in the
-        <literal>[DHCPv4]</literal> section of the networkd config.
-        See <citerefentry><refentrytitle>networkd.conf</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        `[DHCPv4]` section of the networkd config.
+        See {manpage}`networkd.conf(5)` for details.
       '';
     };
 
@@ -938,11 +938,10 @@ let
       default = {};
       example = { DUIDType = "vendor"; };
       type = types.addCheck (types.attrsOf unitOption) check.global.sectionDHCPv6;
-      description = ''
+      description = lib.mdDoc ''
         Each attribute in this set specifies an option in the
-        <literal>[DHCPv6]</literal> section of the networkd config.
-        See <citerefentry><refentrytitle>networkd.conf</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        `[DHCPv6]` section of the networkd config.
+        See {manpage}`networkd.conf(5)` for details.
       '';
     };
   };
@@ -961,11 +960,10 @@ let
       default = {};
       example = { MACAddress = "00:ff:ee:aa:cc:dd"; };
       type = types.addCheck (types.attrsOf unitOption) check.link.sectionLink;
-      description = ''
+      description = lib.mdDoc ''
         Each attribute in this set specifies an option in the
-        <literal>[Link]</literal> section of the unit.  See
-        <citerefentry><refentrytitle>systemd.link</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        `[Link]` section of the unit.  See
+        {manpage}`systemd.link(5)` for details.
       '';
     };
 
@@ -976,11 +974,10 @@ let
       wireguardPeerConfig = mkOption {
         default = {};
         type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionWireGuardPeer;
-        description = ''
+        description = lib.mdDoc ''
           Each attribute in this set specifies an option in the
-          <literal>[WireGuardPeer]</literal> section of the unit.  See
-          <citerefentry><refentrytitle>systemd.network</refentrytitle>
-          <manvolnum>5</manvolnum></citerefentry> for details.
+          `[WireGuardPeer]` section of the unit.  See
+          {manpage}`systemd.network(5)` for details.
         '';
       };
     };
@@ -991,11 +988,10 @@ let
     netdevConfig = mkOption {
       example = { Name = "mybridge"; Kind = "bridge"; };
       type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionNetdev;
-      description = ''
+      description = lib.mdDoc ''
         Each attribute in this set specifies an option in the
-        <literal>[Netdev]</literal> section of the unit.  See
-        <citerefentry><refentrytitle>systemd.netdev</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        `[Netdev]` section of the unit.  See
+        {manpage}`systemd.netdev(5)` for details.
       '';
     };
 
@@ -1003,11 +999,10 @@ let
       default = {};
       example = { Id = 4; };
       type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionVLAN;
-      description = ''
+      description = lib.mdDoc ''
         Each attribute in this set specifies an option in the
-        <literal>[VLAN]</literal> section of the unit.  See
-        <citerefentry><refentrytitle>systemd.netdev</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        `[VLAN]` section of the unit.  See
+        {manpage}`systemd.netdev(5)` for details.
       '';
     };
 
@@ -1015,22 +1010,20 @@ let
       default = {};
       example = { Mode = "private"; };
       type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionMACVLAN;
-      description = ''
+      description = lib.mdDoc ''
         Each attribute in this set specifies an option in the
-        <literal>[MACVLAN]</literal> section of the unit.  See
-        <citerefentry><refentrytitle>systemd.netdev</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        `[MACVLAN]` section of the unit.  See
+        {manpage}`systemd.netdev(5)` for details.
       '';
     };
 
     vxlanConfig = mkOption {
       default = {};
       type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionVXLAN;
-      description = ''
+      description = lib.mdDoc ''
         Each attribute in this set specifies an option in the
-        <literal>[VXLAN]</literal> section of the unit.  See
-        <citerefentry><refentrytitle>systemd.netdev</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        `[VXLAN]` section of the unit.  See
+        {manpage}`systemd.netdev(5)` for details.
       '';
     };
 
@@ -1038,11 +1031,10 @@ let
       default = {};
       example = { Remote = "192.168.1.1"; };
       type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionTunnel;
-      description = ''
+      description = lib.mdDoc ''
         Each attribute in this set specifies an option in the
-        <literal>[Tunnel]</literal> section of the unit.  See
-        <citerefentry><refentrytitle>systemd.netdev</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        `[Tunnel]` section of the unit.  See
+        {manpage}`systemd.netdev(5)` for details.
       '';
     };
 
@@ -1050,11 +1042,10 @@ let
       default = { };
       example = { Port = 9001; };
       type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionFooOverUDP;
-      description = ''
+      description = lib.mdDoc ''
         Each attribute in this set specifies an option in the
-        <literal>[FooOverUDP]</literal> section of the unit.  See
-        <citerefentry><refentrytitle>systemd.netdev</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        `[FooOverUDP]` section of the unit.  See
+        {manpage}`systemd.netdev(5)` for details.
       '';
     };
 
@@ -1062,11 +1053,10 @@ let
       default = {};
       example = { Name = "veth2"; };
       type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionPeer;
-      description = ''
+      description = lib.mdDoc ''
         Each attribute in this set specifies an option in the
-        <literal>[Peer]</literal> section of the unit.  See
-        <citerefentry><refentrytitle>systemd.netdev</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        `[Peer]` section of the unit.  See
+        {manpage}`systemd.netdev(5)` for details.
       '';
     };
 
@@ -1074,11 +1064,10 @@ let
       default = {};
       example = { User = "openvpn"; };
       type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionTun;
-      description = ''
+      description = lib.mdDoc ''
         Each attribute in this set specifies an option in the
-        <literal>[Tun]</literal> section of the unit.  See
-        <citerefentry><refentrytitle>systemd.netdev</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        `[Tun]` section of the unit.  See
+        {manpage}`systemd.netdev(5)` for details.
       '';
     };
 
@@ -1086,11 +1075,10 @@ let
       default = {};
       example = { User = "openvpn"; };
       type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionTap;
-      description = ''
+      description = lib.mdDoc ''
         Each attribute in this set specifies an option in the
-        <literal>[Tap]</literal> section of the unit.  See
-        <citerefentry><refentrytitle>systemd.netdev</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        `[Tap]` section of the unit.  See
+        {manpage}`systemd.netdev(5)` for details.
       '';
     };
 
@@ -1102,13 +1090,12 @@ let
         FirewallMark = 42;
       };
       type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionWireGuard;
-      description = ''
+      description = lib.mdDoc ''
         Each attribute in this set specifies an option in the
-        <literal>[WireGuard]</literal> section of the unit. See
-        <citerefentry><refentrytitle>systemd.netdev</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
-        Use <literal>PrivateKeyFile</literal> instead of
-        <literal>PrivateKey</literal>: the nix store is
+        `[WireGuard]` section of the unit. See
+        {manpage}`systemd.netdev(5)` for details.
+        Use `PrivateKeyFile` instead of
+        `PrivateKey`: the nix store is
         world-readable.
       '';
     };
@@ -1123,13 +1110,12 @@ let
         PersistentKeepalive = 15;
       };}];
       type = with types; listOf (submodule wireguardPeerOptions);
-      description = ''
+      description = lib.mdDoc ''
         Each item in this array specifies an option in the
-        <literal>[WireGuardPeer]</literal> section of the unit. See
-        <citerefentry><refentrytitle>systemd.netdev</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
-        Use <literal>PresharedKeyFile</literal> instead of
-        <literal>PresharedKey</literal>: the nix store is
+        `[WireGuardPeer]` section of the unit. See
+        {manpage}`systemd.netdev(5)` for details.
+        Use `PresharedKeyFile` instead of
+        `PresharedKey`: the nix store is
         world-readable.
       '';
     };
@@ -1138,11 +1124,10 @@ let
       default = {};
       example = { Mode = "802.3ad"; };
       type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionBond;
-      description = ''
+      description = lib.mdDoc ''
         Each attribute in this set specifies an option in the
-        <literal>[Bond]</literal> section of the unit.  See
-        <citerefentry><refentrytitle>systemd.netdev</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        `[Bond]` section of the unit.  See
+        {manpage}`systemd.netdev(5)` for details.
       '';
     };
 
@@ -1150,11 +1135,10 @@ let
       default = {};
       example = { InterfaceId = 1; };
       type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionXfrm;
-      description = ''
+      description = lib.mdDoc ''
         Each attribute in this set specifies an option in the
-        <literal>[Xfrm]</literal> section of the unit.  See
-        <citerefentry><refentrytitle>systemd.netdev</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        `[Xfrm]` section of the unit.  See
+        {manpage}`systemd.netdev(5)` for details.
       '';
     };
 
@@ -1162,14 +1146,12 @@ let
       default = {};
       example = { Table = 2342; };
       type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionVRF;
-      description = ''
+      description = lib.mdDoc ''
         Each attribute in this set specifies an option in the
-        <literal>[VRF]</literal> section of the unit. See
-        <citerefentry><refentrytitle>systemd.netdev</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        `[VRF]` section of the unit. See
+        {manpage}`systemd.netdev(5)` for details.
         A detailed explanation about how VRFs work can be found in the
-        <link xlink:href="https://www.kernel.org/doc/Documentation/networking/vrf.txt">kernel
-        docs</link>.
+        [kernel docs](https://www.kernel.org/doc/Documentation/networking/vrf.txt).
       '';
     };
 
@@ -1180,11 +1162,10 @@ let
         RoutingAlgorithm = "batman-v";
       };
       type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionBatmanAdvanced;
-      description = ''
+      description = lib.mdDoc ''
         Each attribute in this set specifies an option in the
-        <literal>[BatmanAdvanced]</literal> section of the unit. See
-        <citerefentry><refentrytitle>systemd.netdev</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        `[BatmanAdvanced]` section of the unit. See
+        {manpage}`systemd.netdev(5)` for details.
       '';
     };
 
@@ -1195,11 +1176,10 @@ let
       addressConfig = mkOption {
         example = { Address = "192.168.0.100/24"; };
         type = types.addCheck (types.attrsOf unitOption) check.network.sectionAddress;
-        description = ''
+        description = lib.mdDoc ''
           Each attribute in this set specifies an option in the
-          <literal>[Address]</literal> section of the unit.  See
-          <citerefentry><refentrytitle>systemd.network</refentrytitle>
-          <manvolnum>5</manvolnum></citerefentry> for details.
+          `[Address]` section of the unit.  See
+          {manpage}`systemd.network(5)` for details.
         '';
       };
     };
@@ -1211,11 +1191,10 @@ let
         default = { };
         example = { Table = 10; IncomingInterface = "eth1"; Family = "both"; };
         type = types.addCheck (types.attrsOf unitOption) check.network.sectionRoutingPolicyRule;
-        description = ''
+        description = lib.mdDoc ''
           Each attribute in this set specifies an option in the
-          <literal>[RoutingPolicyRule]</literal> section of the unit.  See
-          <citerefentry><refentrytitle>systemd.network</refentrytitle>
-          <manvolnum>5</manvolnum></citerefentry> for details.
+          `[RoutingPolicyRule]` section of the unit.  See
+          {manpage}`systemd.network(5)` for details.
         '';
       };
     };
@@ -1227,11 +1206,10 @@ let
         default = {};
         example = { Gateway = "192.168.0.1"; };
         type = types.addCheck (types.attrsOf unitOption) check.network.sectionRoute;
-        description = ''
+        description = lib.mdDoc ''
           Each attribute in this set specifies an option in the
-          <literal>[Route]</literal> section of the unit.  See
-          <citerefentry><refentrytitle>systemd.network</refentrytitle>
-          <manvolnum>5</manvolnum></citerefentry> for details.
+          `[Route]` section of the unit.  See
+          {manpage}`systemd.network(5)` for details.
         '';
       };
     };
@@ -1243,11 +1221,10 @@ let
         default = {};
         example = { Prefix = "fd00::/64"; };
         type = types.addCheck (types.attrsOf unitOption) check.network.sectionIPv6Prefix;
-        description = ''
+        description = lib.mdDoc ''
           Each attribute in this set specifies an option in the
-          <literal>[IPv6Prefix]</literal> section of the unit.  See
-          <citerefentry><refentrytitle>systemd.network</refentrytitle>
-          <manvolnum>5</manvolnum></citerefentry> for details.
+          `[IPv6Prefix]` section of the unit.  See
+          {manpage}`systemd.network(5)` for details.
         '';
       };
     };
@@ -1259,14 +1236,13 @@ let
         default = {};
         example = { MACAddress = "65:43:4a:5b:d8:5f"; Address = "192.168.1.42"; };
         type = types.addCheck (types.attrsOf unitOption) check.network.sectionDHCPServerStaticLease;
-        description = ''
+        description = lib.mdDoc ''
           Each attribute in this set specifies an option in the
-          <literal>[DHCPServerStaticLease]</literal> section of the unit.  See
-          <citerefentry><refentrytitle>systemd.network</refentrytitle>
-          <manvolnum>5</manvolnum></citerefentry> for details.
+          `[DHCPServerStaticLease]` section of the unit.  See
+          {manpage}`systemd.network(5)` for details.
 
           Make sure to configure the corresponding client interface to use
-          <literal>ClientIdentifier=mac</literal>.
+          `ClientIdentifier=mac`.
         '';
       };
     };
@@ -1278,11 +1254,10 @@ let
       default = {};
       example = { Unmanaged = true; };
       type = types.addCheck (types.attrsOf unitOption) check.network.sectionLink;
-      description = ''
+      description = lib.mdDoc ''
         Each attribute in this set specifies an option in the
-        <literal>[Link]</literal> section of the unit.  See
-        <citerefentry><refentrytitle>systemd.network</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        `[Link]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
       '';
     };
 
@@ -1290,11 +1265,10 @@ let
       default = {};
       example = { Description = "My Network"; };
       type = types.addCheck (types.attrsOf unitOption) check.network.sectionNetwork;
-      description = ''
+      description = lib.mdDoc ''
         Each attribute in this set specifies an option in the
-        <literal>[Network]</literal> section of the unit.  See
-        <citerefentry><refentrytitle>systemd.network</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        `[Network]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
       '';
     };
 
@@ -1309,11 +1283,10 @@ let
       default = {};
       example = { UseDNS = true; UseRoutes = true; };
       type = types.addCheck (types.attrsOf unitOption) check.network.sectionDHCPv4;
-      description = ''
+      description = lib.mdDoc ''
         Each attribute in this set specifies an option in the
-        <literal>[DHCPv4]</literal> section of the unit.  See
-        <citerefentry><refentrytitle>systemd.network</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        `[DHCPv4]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
       '';
     };
 
@@ -1321,11 +1294,10 @@ let
       default = {};
       example = { UseDNS = true; };
       type = types.addCheck (types.attrsOf unitOption) check.network.sectionDHCPv6;
-      description = ''
+      description = lib.mdDoc ''
         Each attribute in this set specifies an option in the
-        <literal>[DHCPv6]</literal> section of the unit.  See
-        <citerefentry><refentrytitle>systemd.network</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        `[DHCPv6]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
       '';
     };
 
@@ -1333,11 +1305,10 @@ let
       default = {};
       example = { SubnetId = "auto"; Announce = true; };
       type = types.addCheck (types.attrsOf unitOption) check.network.sectionDHCPv6PrefixDelegation;
-      description = ''
+      description = lib.mdDoc ''
         Each attribute in this set specifies an option in the
-        <literal>[DHCPv6PrefixDelegation]</literal> section of the unit. See
-        <citerefentry><refentrytitle>systemd.network</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        `[DHCPv6PrefixDelegation]` section of the unit. See
+        {manpage}`systemd.network(5)` for details.
       '';
     };
 
@@ -1345,11 +1316,10 @@ let
       default = {};
       example = { UseDNS = true; DHCPv6Client = "always"; };
       type = types.addCheck (types.attrsOf unitOption) check.network.sectionIPv6AcceptRA;
-      description = ''
+      description = lib.mdDoc ''
         Each attribute in this set specifies an option in the
-        <literal>[IPv6AcceptRA]</literal> section of the unit. See
-        <citerefentry><refentrytitle>systemd.network</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        `[IPv6AcceptRA]` section of the unit. See
+        {manpage}`systemd.network(5)` for details.
       '';
     };
 
@@ -1357,11 +1327,10 @@ let
       default = {};
       example = { PoolOffset = 50; EmitDNS = false; };
       type = types.addCheck (types.attrsOf unitOption) check.network.sectionDHCPServer;
-      description = ''
+      description = lib.mdDoc ''
         Each attribute in this set specifies an option in the
-        <literal>[DHCPServer]</literal> section of the unit.  See
-        <citerefentry><refentrytitle>systemd.network</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        `[DHCPServer]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
       '';
     };
 
@@ -1376,33 +1345,30 @@ let
       default = {};
       example = { EmitDNS = true; Managed = true; OtherInformation = true; };
       type = types.addCheck (types.attrsOf unitOption) check.network.sectionIPv6SendRA;
-      description = ''
+      description = lib.mdDoc ''
         Each attribute in this set specifies an option in the
-        <literal>[IPv6SendRA]</literal> section of the unit.  See
-        <citerefentry><refentrytitle>systemd.network</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        `[IPv6SendRA]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
       '';
     };
 
     dhcpServerStaticLeases = mkOption {
       default = [];
-      example = [ { MACAddress = "65:43:4a:5b:d8:5f"; Address = "192.168.1.42"; } ];
+      example = [ { dhcpServerStaticLeaseConfig = { MACAddress = "65:43:4a:5b:d8:5f"; Address = "192.168.1.42"; }; } ];
       type = with types; listOf (submodule dhcpServerStaticLeaseOptions);
-      description = ''
+      description = lib.mdDoc ''
         A list of DHCPServerStaticLease sections to be added to the unit.  See
-        <citerefentry><refentrytitle>systemd.network</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        {manpage}`systemd.network(5)` for details.
       '';
     };
 
     ipv6Prefixes = mkOption {
       default = [];
-      example = [ { AddressAutoconfiguration = true; OnLink = true; } ];
+      example = [ { ipv6PrefixConfig = { AddressAutoconfiguration = true; OnLink = true; }; } ];
       type = with types; listOf (submodule ipv6PrefixOptions);
-      description = ''
+      description = lib.mdDoc ''
         A list of ipv6Prefix sections to be added to the unit.  See
-        <citerefentry><refentrytitle>systemd.network</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        {manpage}`systemd.network(5)` for details.
       '';
     };
 
@@ -1433,150 +1399,135 @@ let
     address = mkOption {
       default = [ ];
       type = types.listOf types.str;
-      description = ''
+      description = lib.mdDoc ''
         A list of addresses to be added to the network section of the
-        unit.  See <citerefentry><refentrytitle>systemd.network</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        unit.  See {manpage}`systemd.network(5)` for details.
       '';
     };
 
     gateway = mkOption {
       default = [ ];
       type = types.listOf types.str;
-      description = ''
+      description = lib.mdDoc ''
         A list of gateways to be added to the network section of the
-        unit.  See <citerefentry><refentrytitle>systemd.network</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        unit.  See {manpage}`systemd.network(5)` for details.
       '';
     };
 
     dns = mkOption {
       default = [ ];
       type = types.listOf types.str;
-      description = ''
+      description = lib.mdDoc ''
         A list of dns servers to be added to the network section of the
-        unit.  See <citerefentry><refentrytitle>systemd.network</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        unit.  See {manpage}`systemd.network(5)` for details.
       '';
     };
 
     ntp = mkOption {
       default = [ ];
       type = types.listOf types.str;
-      description = ''
+      description = lib.mdDoc ''
         A list of ntp servers to be added to the network section of the
-        unit.  See <citerefentry><refentrytitle>systemd.network</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        unit.  See {manpage}`systemd.network(5)` for details.
       '';
     };
 
     bridge = mkOption {
       default = [ ];
       type = types.listOf types.str;
-      description = ''
+      description = lib.mdDoc ''
         A list of bridge interfaces to be added to the network section of the
-        unit.  See <citerefentry><refentrytitle>systemd.network</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        unit.  See {manpage}`systemd.network(5)` for details.
       '';
     };
 
     bond = mkOption {
       default = [ ];
       type = types.listOf types.str;
-      description = ''
+      description = lib.mdDoc ''
         A list of bond interfaces to be added to the network section of the
-        unit.  See <citerefentry><refentrytitle>systemd.network</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        unit.  See {manpage}`systemd.network(5)` for details.
       '';
     };
 
     vrf = mkOption {
       default = [ ];
       type = types.listOf types.str;
-      description = ''
+      description = lib.mdDoc ''
         A list of vrf interfaces to be added to the network section of the
-        unit.  See <citerefentry><refentrytitle>systemd.network</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        unit.  See {manpage}`systemd.network(5)` for details.
       '';
     };
 
     vlan = mkOption {
       default = [ ];
       type = types.listOf types.str;
-      description = ''
+      description = lib.mdDoc ''
         A list of vlan interfaces to be added to the network section of the
-        unit.  See <citerefentry><refentrytitle>systemd.network</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        unit.  See {manpage}`systemd.network(5)` for details.
       '';
     };
 
     macvlan = mkOption {
       default = [ ];
       type = types.listOf types.str;
-      description = ''
+      description = lib.mdDoc ''
         A list of macvlan interfaces to be added to the network section of the
-        unit.  See <citerefentry><refentrytitle>systemd.network</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        unit.  See {manpage}`systemd.network(5)` for details.
       '';
     };
 
     vxlan = mkOption {
       default = [ ];
       type = types.listOf types.str;
-      description = ''
+      description = lib.mdDoc ''
         A list of vxlan interfaces to be added to the network section of the
-        unit.  See <citerefentry><refentrytitle>systemd.network</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        unit.  See {manpage}`systemd.network(5)` for details.
       '';
     };
 
     tunnel = mkOption {
       default = [ ];
       type = types.listOf types.str;
-      description = ''
+      description = lib.mdDoc ''
         A list of tunnel interfaces to be added to the network section of the
-        unit.  See <citerefentry><refentrytitle>systemd.network</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        unit.  See {manpage}`systemd.network(5)` for details.
       '';
     };
 
     xfrm = mkOption {
       default = [ ];
       type = types.listOf types.str;
-      description = ''
+      description = lib.mdDoc ''
         A list of xfrm interfaces to be added to the network section of the
-        unit.  See <citerefentry><refentrytitle>systemd.network</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        unit.  See {manpage}`systemd.network(5)` for details.
       '';
     };
 
     addresses = mkOption {
       default = [ ];
       type = with types; listOf (submodule addressOptions);
-      description = ''
+      description = lib.mdDoc ''
         A list of address sections to be added to the unit.  See
-        <citerefentry><refentrytitle>systemd.network</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        {manpage}`systemd.network(5)` for details.
       '';
     };
 
     routingPolicyRules = mkOption {
       default = [ ];
       type = with types; listOf (submodule routingPolicyRulesOptions);
-      description = ''
+      description = lib.mdDoc ''
         A list of routing policy rules sections to be added to the unit.  See
-        <citerefentry><refentrytitle>systemd.network</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        {manpage}`systemd.network(5)` for details.
       '';
     };
 
     routes = mkOption {
       default = [ ];
       type = with types; listOf (submodule routeOptions);
-      description = ''
+      description = lib.mdDoc ''
         A list of route sections to be added to the unit.  See
-        <citerefentry><refentrytitle>systemd.network</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
+        {manpage}`systemd.network(5)` for details.
       '';
     };
 
@@ -1601,10 +1552,9 @@ let
         default = {};
         example = { foo = 27; };
         type = with types; attrsOf int;
-        description = ''
+        description = lib.mdDoc ''
           Defines route table names as an attrset of name to number.
-          See <citerefentry><refentrytitle>networkd.conf</refentrytitle>
-          <manvolnum>5</manvolnum></citerefentry> for details.
+          See {manpage}`networkd.conf(5)` for details.
         '';
       };
 
@@ -1903,13 +1853,11 @@ in
       };
 
       extraArgs = mkOption {
-        description = ''
+        description = lib.mdDoc ''
           Extra command-line arguments to pass to systemd-networkd-wait-online.
-          These also affect per-interface <literal>systemd-network-wait-online@</literal> services.
+          These also affect per-interface `systemd-network-wait-online@` services.
 
-          See <link xlink:href="https://www.freedesktop.org/software/systemd/man/systemd-networkd-wait-online.service.html">
-          <citerefentry><refentrytitle>systemd-networkd-wait-online.service</refentrytitle><manvolnum>8</manvolnum>
-          </citerefentry></link> for all available options.
+          See [{manpage}`systemd-networkd-wait-online.service(8)`](https://www.freedesktop.org/software/systemd/man/systemd-networkd-wait-online.service.html) for all available options.
         '';
         type = with types; listOf str;
         default = [];
diff --git a/nixos/modules/system/boot/plymouth.nix b/nixos/modules/system/boot/plymouth.nix
index 366d6ee4328..02d8fcf4799 100644
--- a/nixos/modules/system/boot/plymouth.nix
+++ b/nixos/modules/system/boot/plymouth.nix
@@ -184,9 +184,14 @@ in
           mkdir $out
           cp -r ${themesEnv}/share/plymouth/themes/${cfg.theme} $out
           # Copy more themes if the theme depends on others
-          for theme in $(grep -hRo '/etc/plymouth/themes/.*$' ${themesEnv} | xargs -n1 basename); do
-              if [[ -d "${themesEnv}/theme" ]]; then
-                  cp -r "${themesEnv}/theme" $out
+          for theme in $(grep -hRo '/etc/plymouth/themes/.*$' $out | xargs -n1 basename); do
+              if [[ -d "${themesEnv}/share/plymouth/themes/$theme" ]]; then
+                  if [[ ! -d "$out/$theme" ]]; then
+                    echo "Adding dependent theme: $theme"
+                    cp -r "${themesEnv}/share/plymouth/themes/$theme" $out
+                  fi
+              else
+                echo "Missing theme dependency: $theme"
               fi
           done
         '';
diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix
index f3b9d798f61..37adcc531d3 100644
--- a/nixos/modules/system/boot/stage-1.nix
+++ b/nixos/modules/system/boot/stage-1.nix
@@ -219,7 +219,7 @@ let
 
       # Strip binaries further than normal.
       chmod -R u+w $out
-      stripDirs "$STRIP" "lib bin" "-s"
+      stripDirs "$STRIP" "$RANLIB" "lib bin" "-s"
 
       # Run patchelf to make the programs refer to the copied libraries.
       find $out/bin $out/lib -type f | while read i; do
@@ -480,7 +480,7 @@ in
         if you want to resume from file. If left empty, the swap partitions are used.
         Specify here the device where the file resides.
         You should also use <varname>boot.kernelParams</varname> to specify
-        <literal><replaceable>resume_offset</replaceable></literal>.
+        <literal>«resume_offset»</literal>.
       '';
     };
 
diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix
index c7b62871eb4..35280ee0736 100644
--- a/nixos/modules/system/boot/systemd.nix
+++ b/nixos/modules/system/boot/systemd.nix
@@ -592,6 +592,12 @@ in
     systemd.services.systemd-importd.environment = proxy_env;
     systemd.services.systemd-pstore.wantedBy = [ "sysinit.target" ]; # see #81138
 
+    # NixOS has kernel modules in a different location, so override that here.
+    systemd.services.kmod-static-nodes.unitConfig.ConditionFileNotEmpty = [
+      ""  # required to unset the previous value!
+      "/run/booted-system/kernel-modules/lib/modules/%v/modules.devname"
+    ];
+
     # Don't bother with certain units in containers.
     systemd.services.systemd-remount-fs.unitConfig.ConditionVirtualization = "!container";
     systemd.services.systemd-random-seed.unitConfig.ConditionVirtualization = "!container";
diff --git a/nixos/modules/system/boot/systemd/coredump.nix b/nixos/modules/system/boot/systemd/coredump.nix
index ea4f9f79b8d..c2ca973d380 100644
--- a/nixos/modules/system/boot/systemd/coredump.nix
+++ b/nixos/modules/system/boot/systemd/coredump.nix
@@ -28,30 +28,37 @@ in {
     };
   };
 
-  config = {
-    systemd.additionalUpstreamSystemUnits = [
-      "systemd-coredump.socket"
-      "systemd-coredump@.service"
-    ];
-
-    environment.etc = {
-      "systemd/coredump.conf".text =
-      ''
-        [Coredump]
-        ${cfg.extraConfig}
-      '';
+  config = mkMerge [
 
-      # install provided sysctl snippets
-      "sysctl.d/50-coredump.conf".source = "${systemd}/example/sysctl.d/50-coredump.conf";
-      "sysctl.d/50-default.conf".source = "${systemd}/example/sysctl.d/50-default.conf";
-    };
+    (mkIf cfg.enable {
+      systemd.additionalUpstreamSystemUnits = [
+        "systemd-coredump.socket"
+        "systemd-coredump@.service"
+      ];
 
-    users.users.systemd-coredump = {
-      uid = config.ids.uids.systemd-coredump;
-      group = "systemd-coredump";
-    };
-    users.groups.systemd-coredump = {};
+      environment.etc = {
+        "systemd/coredump.conf".text =
+        ''
+          [Coredump]
+          ${cfg.extraConfig}
+        '';
+
+        # install provided sysctl snippets
+        "sysctl.d/50-coredump.conf".source = "${systemd}/example/sysctl.d/50-coredump.conf";
+        "sysctl.d/50-default.conf".source = "${systemd}/example/sysctl.d/50-default.conf";
+      };
+
+      users.users.systemd-coredump = {
+        uid = config.ids.uids.systemd-coredump;
+        group = "systemd-coredump";
+      };
+      users.groups.systemd-coredump = {};
+    })
+
+    (mkIf (!cfg.enable) {
+     boot.kernel.sysctl."kernel.core_pattern" = mkDefault "core";
+    })
+
+  ];
 
-    boot.kernel.sysctl."kernel.core_pattern" = mkIf (!cfg.enable) "core";
-  };
 }
diff --git a/nixos/modules/system/boot/systemd/initrd.nix b/nixos/modules/system/boot/systemd/initrd.nix
index 88e2bf9ac70..888653469ed 100644
--- a/nixos/modules/system/boot/systemd/initrd.nix
+++ b/nixos/modules/system/boot/systemd/initrd.nix
@@ -103,7 +103,8 @@ let
   fstab = pkgs.writeText "initrd-fstab" (lib.concatMapStringsSep "\n"
     ({ fsType, mountPoint, device, options, autoFormat, autoResize, ... }@fs: let
         opts = options ++ optional autoFormat "x-systemd.makefs" ++ optional autoResize "x-systemd.growfs";
-      in "${device} /sysroot${mountPoint} ${fsType} ${lib.concatStringsSep "," opts}") fileSystems);
+        finalDevice = if (lib.elem "bind" options) then "/sysroot${device}" else device;
+      in "${finalDevice} /sysroot${mountPoint} ${fsType} ${lib.concatStringsSep "," opts}") fileSystems);
 
   needMakefs = lib.any (fs: fs.autoFormat) fileSystems;
   needGrowfs = lib.any (fs: fs.autoResize) fileSystems;
@@ -129,6 +130,7 @@ let
   initialRamdisk = pkgs.makeInitrdNG {
     name = "initrd-${kernel-name}";
     inherit (config.boot.initrd) compressor compressorArgs prepend;
+    inherit (cfg) strip;
 
     contents = map (path: { object = path; symlink = ""; }) (subtractLists cfg.suppressedStorePaths cfg.storePaths)
       ++ mapAttrsToList (_: v: { object = v.source; symlink = v.target; }) (filterAttrs (_: v: v.enable) cfg.contents);
@@ -169,6 +171,19 @@ in {
       default = [];
     };
 
+    strip = mkOption {
+      description = lib.mdDoc ''
+        Whether to completely strip executables and libraries copied to the initramfs.
+
+        Setting this to false may save on the order of 30MiB on the
+        machine building the system (by avoiding a binutils
+        reference), at the cost of ~1MiB of initramfs size. This puts
+        this option firmly in the territory of micro-optimisation.
+      '';
+      type = types.bool;
+      default = true;
+    };
+
     extraBin = mkOption {
       description = lib.mdDoc ''
         Tools to add to /bin
@@ -359,6 +374,9 @@ in {
         '';
         "/etc/modprobe.d/debian.conf".source = pkgs.kmod-debian-aliases;
 
+        "/etc/os-release".source = config.boot.initrd.osRelease;
+        "/etc/initrd-release".source = config.boot.initrd.osRelease;
+
       };
 
       storePaths = [
@@ -420,6 +438,9 @@ in {
       services."systemd-makefs@" = lib.mkIf needMakefs { unitConfig.IgnoreOnIsolate = true; };
       services."systemd-growfs@" = lib.mkIf needGrowfs { unitConfig.IgnoreOnIsolate = true; };
 
+      # make sure all the /dev nodes are set up
+      services.systemd-tmpfiles-setup-dev.wantedBy = ["sysinit.target"];
+
       services.initrd-nixos-activation = {
         after = [ "initrd-fs.target" ];
         requiredBy = [ "initrd.target" ];
diff --git a/nixos/modules/system/boot/systemd/logind.nix b/nixos/modules/system/boot/systemd/logind.nix
index cb8fc448a9e..59801603213 100644
--- a/nixos/modules/system/boot/systemd/logind.nix
+++ b/nixos/modules/system/boot/systemd/logind.nix
@@ -26,17 +26,14 @@ in
     services.logind.killUserProcesses = mkOption {
       default = false;
       type = types.bool;
-      description = ''
+      description = lib.mdDoc ''
         Specifies whether the processes of a user should be killed
         when the user logs out.  If true, the scope unit corresponding
         to the session and all processes inside that scope will be
         terminated.  If false, the scope is "abandoned" (see
-        <link xlink:href="https://www.freedesktop.org/software/systemd/man/systemd.scope.html#">
-        systemd.scope(5)</link>), and processes are not killed.
-        </para>
+        [systemd.scope(5)](https://www.freedesktop.org/software/systemd/man/systemd.scope.html#)), and processes are not killed.
 
-        <para>
-        See <link xlink:href="https://www.freedesktop.org/software/systemd/man/logind.conf.html#KillUserProcesses=">logind.conf(5)</link>
+        See [logind.conf(5)](https://www.freedesktop.org/software/systemd/man/logind.conf.html#KillUserProcesses=)
         for more details.
       '';
     };
diff --git a/nixos/modules/system/boot/systemd/nspawn.nix b/nixos/modules/system/boot/systemd/nspawn.nix
index c17dc951cc5..0d06fb3c032 100644
--- a/nixos/modules/system/boot/systemd/nspawn.nix
+++ b/nixos/modules/system/boot/systemd/nspawn.nix
@@ -50,11 +50,10 @@ let
         default = {};
         example = { Parameters = "/bin/sh"; };
         type = types.addCheck (types.attrsOf unitOption) checkExec;
-        description = ''
+        description = lib.mdDoc ''
           Each attribute in this set specifies an option in the
-          <literal>[Exec]</literal> section of this unit. See
-          <citerefentry><refentrytitle>systemd.nspawn</refentrytitle>
-          <manvolnum>5</manvolnum></citerefentry> for details.
+          `[Exec]` section of this unit. See
+          {manpage}`systemd.nspawn(5)` for details.
         '';
       };
 
@@ -62,11 +61,10 @@ let
         default = {};
         example = { Bind = [ "/home/alice" ]; };
         type = types.addCheck (types.attrsOf unitOption) checkFiles;
-        description = ''
+        description = lib.mdDoc ''
           Each attribute in this set specifies an option in the
-          <literal>[Files]</literal> section of this unit. See
-          <citerefentry><refentrytitle>systemd.nspawn</refentrytitle>
-          <manvolnum>5</manvolnum></citerefentry> for details.
+          `[Files]` section of this unit. See
+          {manpage}`systemd.nspawn(5)` for details.
         '';
       };
 
@@ -74,11 +72,10 @@ let
         default = {};
         example = { Private = false; };
         type = types.addCheck (types.attrsOf unitOption) checkNetwork;
-        description = ''
+        description = lib.mdDoc ''
           Each attribute in this set specifies an option in the
-          <literal>[Network]</literal> section of this unit. See
-          <citerefentry><refentrytitle>systemd.nspawn</refentrytitle>
-          <manvolnum>5</manvolnum></citerefentry> for details.
+          `[Network]` section of this unit. See
+          {manpage}`systemd.nspawn(5)` for details.
         '';
       };
     };
diff --git a/nixos/modules/system/boot/systemd/tmpfiles.nix b/nixos/modules/system/boot/systemd/tmpfiles.nix
index eaa0ddf6387..e990e953b05 100644
--- a/nixos/modules/system/boot/systemd/tmpfiles.nix
+++ b/nixos/modules/system/boot/systemd/tmpfiles.nix
@@ -25,16 +25,16 @@ in
       default = [];
       example = literalExpression "[ pkgs.lvm2 ]";
       apply = map getLib;
-      description = ''
-        List of packages containing <command>systemd-tmpfiles</command> rules.
+      description = lib.mdDoc ''
+        List of packages containing {command}`systemd-tmpfiles` rules.
 
         All files ending in .conf found in
-        <filename><replaceable>pkg</replaceable>/lib/tmpfiles.d</filename>
+        {file}`«pkg»/lib/tmpfiles.d`
         will be included.
         If this folder does not exist or does not contain any files an error will be returned instead.
 
-        If a <filename>lib</filename> output is available, rules are searched there and only there.
-        If there is no <filename>lib</filename> output it will fall back to <filename>out</filename>
+        If a {file}`lib` output is available, rules are searched there and only there.
+        If there is no {file}`lib` output it will fall back to {file}`out`
         and if that does not exist either, the default output will be used.
       '';
     };
diff --git a/nixos/modules/tasks/auto-upgrade.nix b/nixos/modules/tasks/auto-upgrade.nix
index 46a30c53ea8..bfc5265518d 100644
--- a/nixos/modules/tasks/auto-upgrade.nix
+++ b/nixos/modules/tasks/auto-upgrade.nix
@@ -25,10 +25,10 @@ in {
         type = types.enum ["switch" "boot"];
         default = "switch";
         example = "boot";
-        description = ''
+        description = lib.mdDoc ''
           Whether to run
-          <literal>nixos-rebuild switch --upgrade</literal> or run
-          <literal>nixos-rebuild boot --upgrade</literal>
+          `nixos-rebuild switch --upgrade` or run
+          `nixos-rebuild boot --upgrade`
         '';
       };
 
@@ -77,13 +77,12 @@ in {
         type = types.str;
         default = "04:40";
         example = "daily";
-        description = ''
+        description = lib.mdDoc ''
           How often or when upgrade occurs. For most desktop and server systems
           a sufficient upgrade frequency is once a day.
 
           The format is described in
-          <citerefentry><refentrytitle>systemd.time</refentrytitle>
-          <manvolnum>7</manvolnum></citerefentry>.
+          {manpage}`systemd.time(7)`.
         '';
       };
 
@@ -102,12 +101,11 @@ in {
         default = "0";
         type = types.str;
         example = "45min";
-        description = ''
+        description = lib.mdDoc ''
           Add a randomized delay before each automatic upgrade.
           The delay will be chosen between zero and this value.
           This value must be a time span in the format specified by
-          <citerefentry><refentrytitle>systemd.time</refentrytitle>
-          <manvolnum>7</manvolnum></citerefentry>
+          {manpage}`systemd.time(7)`
         '';
       };
 
diff --git a/nixos/modules/tasks/filesystems/btrfs.nix b/nixos/modules/tasks/filesystems/btrfs.nix
index 4e5180f2135..32bfaba95c2 100644
--- a/nixos/modules/tasks/filesystems/btrfs.nix
+++ b/nixos/modules/tasks/filesystems/btrfs.nix
@@ -36,14 +36,12 @@ in
         default = "monthly";
         type = types.str;
         example = "weekly";
-        description = ''
+        description = lib.mdDoc ''
           Systemd calendar expression for when to scrub btrfs filesystems.
           The recommended period is a month but could be less
-          (<citerefentry><refentrytitle>btrfs-scrub</refentrytitle>
-          <manvolnum>8</manvolnum></citerefentry>).
+          ({manpage}`btrfs-scrub(8)`).
           See
-          <citerefentry><refentrytitle>systemd.time</refentrytitle>
-          <manvolnum>7</manvolnum></citerefentry>
+          {manpage}`systemd.time(7)`
           for more information on the syntax.
         '';
       };
diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix
index 795879c6764..2ff6c1067c7 100644
--- a/nixos/modules/tasks/filesystems/zfs.nix
+++ b/nixos/modules/tasks/filesystems/zfs.nix
@@ -388,13 +388,12 @@ in
         default = "weekly";
         type = types.str;
         example = "daily";
-        description = ''
+        description = lib.mdDoc ''
           How often we run trim. For most desktop and server systems
           a sufficient trimming frequency is once a week.
 
           The format is described in
-          <citerefentry><refentrytitle>systemd.time</refentrytitle>
-          <manvolnum>7</manvolnum></citerefentry>.
+          {manpage}`systemd.time(7)`.
         '';
       };
     };
@@ -406,10 +405,9 @@ in
         default = "Sun, 02:00";
         type = types.str;
         example = "daily";
-        description = ''
+        description = lib.mdDoc ''
           Systemd calendar expression when to scrub ZFS pools. See
-          <citerefentry><refentrytitle>systemd.time</refentrytitle>
-          <manvolnum>7</manvolnum></citerefentry>.
+          {manpage}`systemd.time(7)`.
         '';
       };
 
@@ -714,6 +712,8 @@ in
             RemainAfterExit = true;
           };
 
+          path = lib.optionals (cfgExpandOnBoot == "all") [ cfgZfs.package ];
+
           script = ''
             for pool in ${poolListProvider}; do
               systemctl start --no-block "zpool-expand@$pool"
@@ -765,10 +765,10 @@ in
         description = "ZFS pools scrubbing";
         after = [ "zfs-import.target" ];
         serviceConfig = {
-          Type = "oneshot";
+          Type = "simple";
         };
         script = ''
-          ${cfgZfs.package}/bin/zpool scrub ${
+          ${cfgZfs.package}/bin/zpool scrub -w ${
             if cfgScrub.pools != [] then
               (concatStringsSep " " cfgScrub.pools)
             else
diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix
index e6cb2daaffc..fabddece376 100644
--- a/nixos/modules/tasks/network-interfaces.nix
+++ b/nixos/modules/tasks/network-interfaces.nix
@@ -876,10 +876,9 @@ in
           primary = { port = 9001; local = { address = "192.0.2.1"; dev = "eth0"; }; };
           backup =  { port = 9002; };
         };
-      description = ''
+      description = lib.mdDoc ''
         This option allows you to configure Foo Over UDP and Generic UDP Encapsulation
-        endpoints. See <citerefentry><refentrytitle>ip-fou</refentrytitle>
-        <manvolnum>8</manvolnum></citerefentry> for details.
+        endpoints. See {manpage}`ip-fou(8)` for details.
       '';
       type = with types; attrsOf (submodule {
         options = {
@@ -998,10 +997,9 @@ in
               options = {
                 type = mkOption {
                   type = enum [ "fou" "gue" ];
-                  description = ''
+                  description = lib.mdDoc ''
                     Selects encapsulation type. See
-                    <citerefentry><refentrytitle>ip-link</refentrytitle>
-                    <manvolnum>8</manvolnum></citerefentry> for details.
+                    {manpage}`ip-link(8)` for details.
                   '';
                 };
 
@@ -1292,7 +1290,7 @@ in
       description = ''
         Whether to enable IPv6 Privacy Extensions for interfaces not
         configured explicitly in
-        <xref linkend="opt-networking.interfaces._name_.tempAddress" />.
+        <xref linkend="opt-networking.interfaces._name_.tempAddress"/>.
 
         This sets the ipv6.conf.*.use_tempaddr sysctl for all
         interfaces. Possible values are:
diff --git a/nixos/modules/tasks/scsi-link-power-management.nix b/nixos/modules/tasks/scsi-link-power-management.nix
index a9d987780ee..a5395657e99 100644
--- a/nixos/modules/tasks/scsi-link-power-management.nix
+++ b/nixos/modules/tasks/scsi-link-power-management.nix
@@ -25,10 +25,10 @@ in
     powerManagement.scsiLinkPolicy = mkOption {
       default = null;
       type = types.nullOr (types.enum allowedValues);
-      description = ''
+      description = lib.mdDoc ''
         SCSI link power management policy. The kernel default is
         "max_performance".
-        </para><para>
+
         "med_power_with_dipm" is supported by kernel versions
         4.15 and newer.
       '';
diff --git a/nixos/modules/virtualisation/azure-agent.nix b/nixos/modules/virtualisation/azure-agent.nix
index e2425b44eac..31047c4ddc0 100644
--- a/nixos/modules/virtualisation/azure-agent.nix
+++ b/nixos/modules/virtualisation/azure-agent.nix
@@ -60,15 +60,15 @@ in
   options.virtualisation.azure.agent = {
     enable = mkOption {
       default = false;
-      description = "Whether to enable the Windows Azure Linux Agent.";
+      description = lib.mdDoc "Whether to enable the Windows Azure Linux Agent.";
     };
     verboseLogging = mkOption {
       default = false;
-      description = "Whether to enable verbose logging.";
+      description = lib.mdDoc "Whether to enable verbose logging.";
     };
     mountResourceDisk = mkOption {
       default = true;
-      description = "Whether the agent should format (ext4) and mount the resource disk to /mnt/resource.";
+      description = lib.mdDoc "Whether the agent should format (ext4) and mount the resource disk to /mnt/resource.";
     };
   };
 
diff --git a/nixos/modules/virtualisation/container-config.nix b/nixos/modules/virtualisation/container-config.nix
index 0966ef84827..94f28ea80d0 100644
--- a/nixos/modules/virtualisation/container-config.nix
+++ b/nixos/modules/virtualisation/container-config.nix
@@ -8,7 +8,6 @@ with lib;
 
     # Disable some features that are not useful in a container.
     nix.optimise.automatic = mkDefault false; # the store is host managed
-    services.udisks2.enable = mkDefault false;
     powerManagement.enable = mkDefault false;
     documentation.nixos.enable = mkDefault false;
 
diff --git a/nixos/modules/virtualisation/docker.nix b/nixos/modules/virtualisation/docker.nix
index 062ad7f53cf..66c94f30088 100644
--- a/nixos/modules/virtualisation/docker.nix
+++ b/nixos/modules/virtualisation/docker.nix
@@ -142,10 +142,9 @@ in
       dates = mkOption {
         default = "weekly";
         type = types.str;
-        description = ''
+        description = lib.mdDoc ''
           Specification (in the format described by
-          <citerefentry><refentrytitle>systemd.time</refentrytitle>
-          <manvolnum>7</manvolnum></citerefentry>) of the time at
+          {manpage}`systemd.time(7)`) of the time at
           which the prune will occur.
         '';
       };
diff --git a/nixos/modules/virtualisation/lxc.nix b/nixos/modules/virtualisation/lxc.nix
index 2b184960daa..d7bbc3f8414 100644
--- a/nixos/modules/virtualisation/lxc.nix
+++ b/nixos/modules/virtualisation/lxc.nix
@@ -31,10 +31,9 @@ in
         type = types.lines;
         default = "";
         description =
-          ''
+          lib.mdDoc ''
             This is the system-wide LXC config. See
-            <citerefentry><refentrytitle>lxc.system.conf</refentrytitle>
-            <manvolnum>5</manvolnum></citerefentry>.
+            {manpage}`lxc.system.conf(5)`.
           '';
       };
 
@@ -43,10 +42,9 @@ in
         type = types.lines;
         default = "";
         description =
-          ''
+          lib.mdDoc ''
             Default config (default.conf) for new containers, i.e. for
-            network config. See <citerefentry><refentrytitle>lxc.container.conf
-            </refentrytitle><manvolnum>5</manvolnum></citerefentry>.
+            network config. See {manpage}`lxc.container.conf(5)`.
           '';
       };
 
@@ -57,8 +55,7 @@ in
         description =
           ''
             This is the config file for managing unprivileged user network
-            administration access in LXC. See <citerefentry>
-            <refentrytitle>lxc-usernet</refentrytitle><manvolnum>5</manvolnum>
+            administration access in LXC. See <citerefentry><refentrytitle>lxc-usernet</refentrytitle><manvolnum>5</manvolnum>
             </citerefentry>.
           '';
       };
diff --git a/nixos/modules/virtualisation/nixos-containers.nix b/nixos/modules/virtualisation/nixos-containers.nix
index e2fb28ed633..1285563c646 100644
--- a/nixos/modules/virtualisation/nixos-containers.nix
+++ b/nixos/modules/virtualisation/nixos-containers.nix
@@ -579,11 +579,11 @@ in
             privateNetwork = mkOption {
               type = types.bool;
               default = false;
-              description = ''
+              description = lib.mdDoc ''
                 Whether to give the container its own private virtual
                 Ethernet interface.  The interface is called
-                <literal>eth0</literal>, and is hooked up to the interface
-                <literal>ve-<replaceable>container-name</replaceable></literal>
+                `eth0`, and is hooked up to the interface
+                `ve-«container-name»`
                 on the host.  If this option is not set, then the
                 container shares the network interfaces of the host,
                 and can bind to any port on any interface.
@@ -629,11 +629,10 @@ in
             timeoutStartSec = mkOption {
               type = types.str;
               default = "1min";
-              description = ''
+              description = lib.mdDoc ''
                 Time for the container to start. In case of a timeout,
                 the container processes get killed.
-                See <citerefentry><refentrytitle>systemd.time</refentrytitle>
-                <manvolnum>7</manvolnum></citerefentry>
+                See {manpage}`systemd.time(7)`
                 for more information about the format.
                '';
             };
@@ -728,12 +727,12 @@ in
               };
           }
         '';
-      description = ''
+      description = lib.mdDoc ''
         A set of NixOS system configurations to be run as lightweight
         containers.  Each container appears as a service
-        <literal>container-<replaceable>name</replaceable></literal>
+        `container-«name»`
         on the host system, allowing it to be started and stopped via
-        <command>systemctl</command>.
+        {command}`systemctl`.
       '';
     };
 
@@ -742,12 +741,6 @@ in
 
   config = mkIf (config.boot.enableContainers) (let
 
-    warnings = flatten [
-      (optional (config.virtualisation.containers.enable && versionOlder config.system.stateVersion "22.05") ''
-        Enabling both boot.enableContainers & virtualisation.containers on system.stateVersion < 22.05 is unsupported.
-      '')
-    ];
-
     unit = {
       description = "Container '%i'";
 
@@ -771,6 +764,11 @@ in
       serviceConfig = serviceDirectives dummyConfig;
     };
   in {
+    warnings =
+      (optional (config.virtualisation.containers.enable && versionOlder config.system.stateVersion "22.05") ''
+        Enabling both boot.enableContainers & virtualisation.containers on system.stateVersion < 22.05 is unsupported.
+      '');
+
     systemd.targets.multi-user.wants = [ "machines.target" ];
 
     systemd.services = listToAttrs (filter (x: x.value != null) (
diff --git a/nixos/modules/virtualisation/podman/default.nix b/nixos/modules/virtualisation/podman/default.nix
index 361caeff70b..47d95d28faf 100644
--- a/nixos/modules/virtualisation/podman/default.nix
+++ b/nixos/modules/virtualisation/podman/default.nix
@@ -57,24 +57,24 @@ in
       mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           This option enables Podman, a daemonless container engine for
           developing, managing, and running OCI Containers on your Linux System.
 
-          It is a drop-in replacement for the <command>docker</command> command.
+          It is a drop-in replacement for the {command}`docker` command.
         '';
       };
 
     dockerSocket.enable = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Make the Podman socket available in place of the Docker socket, so
         Docker tools can find the Podman socket.
 
         Podman implements the Docker API.
 
-        Users must be in the <code>podman</code> group in order to connect. As
+        Users must be in the `podman` group in order to connect. As
         with Docker, members of this group can gain root access.
       '';
     };
@@ -82,15 +82,15 @@ in
     dockerCompat = mkOption {
       type = types.bool;
       default = false;
-      description = ''
-        Create an alias mapping <command>docker</command> to <command>podman</command>.
+      description = lib.mdDoc ''
+        Create an alias mapping {command}`docker` to {command}`podman`.
       '';
     };
 
     enableNvidia = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Enable use of NVidia GPUs from within podman containers.
       '';
     };
@@ -103,7 +103,7 @@ in
           pkgs.gvisor
         ]
       '';
-      description = ''
+      description = lib.mdDoc ''
         Extra packages to be installed in the Podman wrapper.
       '';
     };
@@ -120,7 +120,7 @@ in
     defaultNetwork.extraPlugins = lib.mkOption {
       type = types.listOf json.type;
       default = [];
-      description = ''
+      description = lib.mdDoc ''
         Extra CNI plugin configurations to add to podman's default network.
       '';
     };
diff --git a/nixos/modules/virtualisation/podman/network-socket.nix b/nixos/modules/virtualisation/podman/network-socket.nix
index 94d8da9d2b6..6e46b9c4556 100644
--- a/nixos/modules/virtualisation/podman/network-socket.nix
+++ b/nixos/modules/virtualisation/podman/network-socket.nix
@@ -22,7 +22,7 @@ in
         with TLS client certificate authentication.
 
         This allows Docker clients to connect with the equivalents of the Docker
-        CLI <code>-H</code> and <code>--tls*</code> family of options.
+        CLI <literal>-H</literal> and <literal>--tls*</literal> family of options.
 
         For certificate setup, see https://docs.docker.com/engine/security/protect-access/
 
@@ -32,7 +32,7 @@ in
 
     server = mkOption {
       type = types.enum [];
-      description = ''
+      description = lib.mdDoc ''
         Choice of TLS proxy server.
       '';
       example = "ghostunnel";
@@ -41,28 +41,28 @@ in
     openFirewall = mkOption {
       type = types.bool;
       default = false;
-      description = ''
+      description = lib.mdDoc ''
         Whether to open the port in the firewall.
       '';
     };
 
     tls.cacert = mkOption {
       type = types.path;
-      description = ''
+      description = lib.mdDoc ''
         Path to CA certificate to use for client authentication.
       '';
     };
 
     tls.cert = mkOption {
       type = types.path;
-      description = ''
+      description = lib.mdDoc ''
         Path to certificate describing the server.
       '';
     };
 
     tls.key = mkOption {
       type = types.path;
-      description = ''
+      description = lib.mdDoc ''
         Path to the private key corresponding to the server certificate.
 
         Use a string for this setting. Otherwise it will be copied to the Nix
@@ -73,14 +73,14 @@ in
     port = mkOption {
       type = types.port;
       default = 2376;
-      description = ''
+      description = lib.mdDoc ''
         TCP port number for receiving TLS connections.
       '';
     };
     listenAddress = mkOption {
       type = types.str;
       default = "0.0.0.0";
-      description = ''
+      description = lib.mdDoc ''
         Interface address for receiving TLS connections.
       '';
     };
diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix
index 5b2d81eeb68..ab007834220 100644
--- a/nixos/modules/virtualisation/qemu-vm.nix
+++ b/nixos/modules/virtualisation/qemu-vm.nix
@@ -27,26 +27,26 @@ let
 
       file = mkOption {
         type = types.str;
-        description = "The file image used for this drive.";
+        description = lib.mdDoc "The file image used for this drive.";
       };
 
       driveExtraOpts = mkOption {
         type = types.attrsOf types.str;
         default = {};
-        description = "Extra options passed to drive flag.";
+        description = lib.mdDoc "Extra options passed to drive flag.";
       };
 
       deviceExtraOpts = mkOption {
         type = types.attrsOf types.str;
         default = {};
-        description = "Extra options passed to device flag.";
+        description = lib.mdDoc "Extra options passed to device flag.";
       };
 
       name = mkOption {
         type = types.nullOr types.str;
         default = null;
         description =
-          "A name for the drive. Must be unique in the drives list. Not passed to qemu.";
+          lib.mdDoc "A name for the drive. Must be unique in the drives list. Not passed to qemu.";
       };
 
     };
@@ -298,7 +298,7 @@ in
         type = types.ints.positive;
         default = 1024;
         description =
-          ''
+          lib.mdDoc ''
             The memory size in megabytes of the virtual machine.
           '';
       };
@@ -308,7 +308,7 @@ in
         type = types.ints.positive;
         default = 16384;
         description =
-          ''
+          lib.mdDoc ''
             The msize (maximum packet size) option passed to 9p file systems, in
             bytes. Increasing this should increase performance significantly,
             at the cost of higher RAM usage.
@@ -320,7 +320,7 @@ in
         type = types.nullOr types.ints.positive;
         default = 1024;
         description =
-          ''
+          lib.mdDoc ''
             The disk size in megabytes of the virtual machine.
           '';
       };
@@ -331,7 +331,7 @@ in
         default = "./${config.system.name}.qcow2";
         defaultText = literalExpression ''"./''${config.system.name}.qcow2"'';
         description =
-          ''
+          lib.mdDoc ''
             Path to the disk image containing the root filesystem.
             The image will be created on startup if it does not
             exist.
@@ -343,7 +343,7 @@ in
         type = types.path;
         example = "/dev/vda";
         description =
-          ''
+          lib.mdDoc ''
             The disk to be used for the root filesystem.
           '';
       };
@@ -353,7 +353,7 @@ in
         type = types.listOf types.ints.positive;
         default = [];
         description =
-          ''
+          lib.mdDoc ''
             Additional disk images to provide to the VM. The value is
             a list of size in megabytes of each disk. These disks are
             writeable by the VM.
@@ -365,7 +365,7 @@ in
         type = types.bool;
         default = true;
         description =
-          ''
+          lib.mdDoc ''
             Whether to run QEMU with a graphics window, or in nographic mode.
             Serial console will be enabled on both settings, but this will
             change the preferred console.
@@ -377,7 +377,7 @@ in
         type = options.services.xserver.resolutions.type.nestedTypes.elemType;
         default = { x = 1024; y = 768; };
         description =
-          ''
+          lib.mdDoc ''
             The resolution of the virtual machine display.
           '';
       };
@@ -387,7 +387,7 @@ in
         type = types.ints.positive;
         default = 1;
         description =
-          ''
+          lib.mdDoc ''
             Specify the number of cores the guest is permitted to use.
             The number can be higher than the available cores on the
             host system.
@@ -400,11 +400,11 @@ in
           (types.submodule {
             options.source = mkOption {
               type = types.str;
-              description = "The path of the directory to share, can be a shell variable";
+              description = lib.mdDoc "The path of the directory to share, can be a shell variable";
             };
             options.target = mkOption {
               type = types.path;
-              description = "The mount point of the directory inside the virtual machine";
+              description = lib.mdDoc "The mount point of the directory inside the virtual machine";
             };
           });
         default = { };
@@ -412,7 +412,7 @@ in
           my-share = { source = "/path/to/be/shared"; target = "/mnt/shared"; };
         };
         description =
-          ''
+          lib.mdDoc ''
             An attributes set of directories that will be shared with the
             virtual machine using VirtFS (9P filesystem over VirtIO).
             The attribute name will be used as the 9P mount tag.
@@ -424,7 +424,7 @@ in
         type = types.listOf types.path;
         default = [];
         description =
-          ''
+          lib.mdDoc ''
             A list of paths whose closure should be made available to
             the VM.
 
@@ -434,7 +434,7 @@ in
             garbage (because they are not registered in the Nix
             database of the guest).
 
-            When <option>virtualisation.useNixStoreImage</option> is
+            When {option}`virtualisation.useNixStoreImage` is
             set, the closure is copied to the Nix store image.
           '';
       };
@@ -459,25 +459,25 @@ in
           options.proto = mkOption {
             type = types.enum [ "tcp" "udp" ];
             default = "tcp";
-            description = "The protocol to forward.";
+            description = lib.mdDoc "The protocol to forward.";
           };
           options.host.address = mkOption {
             type = types.str;
             default = "";
-            description = "The IPv4 address of the host.";
+            description = lib.mdDoc "The IPv4 address of the host.";
           };
           options.host.port = mkOption {
             type = types.port;
-            description = "The host port to be mapped.";
+            description = lib.mdDoc "The host port to be mapped.";
           };
           options.guest.address = mkOption {
             type = types.str;
             default = "";
-            description = "The IPv4 address on the guest VLAN.";
+            description = lib.mdDoc "The IPv4 address on the guest VLAN.";
           };
           options.guest.port = mkOption {
             type = types.port;
-            description = "The guest port to be mapped.";
+            description = lib.mdDoc "The guest port to be mapped.";
           };
         });
       default = [];
@@ -514,14 +514,14 @@ in
         default = [ 1 ];
         example = [ 1 2 ];
         description =
-          ''
+          lib.mdDoc ''
             Virtual networks to which the VM is connected.  Each
-            number <replaceable>N</replaceable> in this list causes
+            number «N» in this list causes
             the VM to have a virtual Ethernet interface attached to a
             separate virtual network on which it will be assigned IP
             address
-            <literal>192.168.<replaceable>N</replaceable>.<replaceable>M</replaceable></literal>,
-            where <replaceable>M</replaceable> is the index of this VM
+            `192.168.«N».«M»`,
+            where «M» is the index of this VM
             in the list of VMs.
           '';
       };
@@ -531,7 +531,7 @@ in
         type = types.bool;
         default = true; # FIXME
         description =
-          ''
+          lib.mdDoc ''
             If enabled, the Nix store in the VM is made writable by
             layering an overlay filesystem on top of the host's Nix
             store.
@@ -543,7 +543,7 @@ in
         type = types.bool;
         default = true;
         description =
-          ''
+          lib.mdDoc ''
             Use a tmpfs for the writable store instead of writing to the VM's
             own filesystem.
           '';
@@ -563,7 +563,7 @@ in
           type = types.package;
           default = pkgs.qemu_kvm;
           example = "pkgs.qemu_test";
-          description = "QEMU package to use.";
+          description = lib.mdDoc "QEMU package to use.";
         };
 
       options =
@@ -571,7 +571,7 @@ in
           type = types.listOf types.str;
           default = [];
           example = [ "-vga std" ];
-          description = "Options passed to QEMU.";
+          description = lib.mdDoc "Options passed to QEMU.";
         };
 
       consoles = mkOption {
@@ -580,14 +580,14 @@ in
           consoles = [ "${qemu-common.qemuSerialDevice},115200n8" "tty0" ];
         in if cfg.graphics then consoles else reverseList consoles;
         example = [ "console=tty1" ];
-        description = ''
+        description = lib.mdDoc ''
           The output console devices to pass to the kernel command line via the
-          <literal>console</literal> parameter, the primary console is the last
+          `console` parameter, the primary console is the last
           item of this list.
 
           By default it enables both serial console and
-          <literal>tty0</literal>. The preferred console (last one) is based on
-          the value of <option>virtualisation.graphics</option>.
+          `tty0`. The preferred console (last one) is based on
+          the value of {option}`virtualisation.graphics`.
         '';
       };
 
@@ -599,7 +599,7 @@ in
             "-net nic,netdev=user.0,model=virtio"
             "-netdev user,id=user.0,\${QEMU_NET_OPTS:+,$QEMU_NET_OPTS}"
           ];
-          description = ''
+          description = lib.mdDoc ''
             Networking-related command-line options that should be passed to qemu.
             The default is to use userspace networking (SLiRP).
 
@@ -612,7 +612,7 @@ in
       drives =
         mkOption {
           type = types.listOf (types.submodule driveOpts);
-          description = "Drives passed to qemu.";
+          description = lib.mdDoc "Drives passed to qemu.";
           apply = addDeviceNames;
         };
 
@@ -621,14 +621,14 @@ in
           type = types.enum [ "virtio" "scsi" "ide" ];
           default = "virtio";
           example = "scsi";
-          description = "The interface used for the virtual hard disks.";
+          description = lib.mdDoc "The interface used for the virtual hard disks.";
         };
 
       guestAgent.enable =
         mkOption {
           type = types.bool;
           default = true;
-          description = ''
+          description = lib.mdDoc ''
             Enable the Qemu guest agent.
           '';
         };
@@ -637,7 +637,7 @@ in
         mkOption {
           type = types.bool;
           default = true;
-          description = ''
+          description = lib.mdDoc ''
             Enable the virtio-keyboard device.
           '';
         };
@@ -647,7 +647,7 @@ in
       mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = lib.mdDoc ''
           Build and use a disk image for the Nix store, instead of
           accessing the host's one through 9p.
 
@@ -662,7 +662,7 @@ in
         type = types.bool;
         default = false;
         description =
-          ''
+          lib.mdDoc ''
             If enabled, the virtual machine will be booted using the
             regular boot loader (i.e., GRUB 1 or 2).  This allows
             testing of the boot loader.  If
@@ -677,7 +677,7 @@ in
         type = types.bool;
         default = false;
         description =
-          ''
+          lib.mdDoc ''
             If enabled, the virtual machine will provide a EFI boot
             manager.
             useEFIBoot is ignored if useBootLoader == false.
@@ -689,7 +689,7 @@ in
         type = types.bool;
         default = true;
         description =
-          ''
+          lib.mdDoc ''
             If enabled, the boot disk of the virtual machine will be
             formatted and mounted with the default filesystems for
             testing. Swap devices and LUKS will be disabled.
@@ -705,7 +705,7 @@ in
         default = "./${config.system.name}-efi-vars.fd";
         defaultText = literalExpression ''"./''${config.system.name}-efi-vars.fd"'';
         description =
-          ''
+          lib.mdDoc ''
             Path to nvram image containing UEFI variables.  The will be created
             on startup if it does not exist.
           '';
diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix
index 7f81ca1c69b..e8677f7e1e9 100644
--- a/nixos/release-combined.nix
+++ b/nixos/release-combined.nix
@@ -43,7 +43,7 @@ in rec {
       name = "nixos-${nixos.channel.version}";
       meta = {
         description = "Release-critical builds for the NixOS channel";
-        maintainers = with pkgs.lib.maintainers; [ eelco fpletz ];
+        maintainers = with pkgs.lib.maintainers; [ eelco ];
       };
       constituents = pkgs.lib.concatLists [
         [ "nixos.channel" ]
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index ff54a327424..affb179a92d 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -127,6 +127,7 @@ in {
   docker-tools-cross = handleTestOn ["x86_64-linux" "aarch64-linux"] ./docker-tools-cross.nix {};
   docker-tools-overlay = handleTestOn ["x86_64-linux"] ./docker-tools-overlay.nix {};
   documize = handleTest ./documize.nix {};
+  documentation = pkgs.callPackage ../modules/misc/documentation/test.nix { inherit nixosLib; };
   doh-proxy-rust = handleTest ./doh-proxy-rust.nix {};
   dokuwiki = handleTest ./dokuwiki.nix {};
   domination = handleTest ./domination.nix {};
@@ -537,6 +538,7 @@ in {
   systemd-binfmt = handleTestOn ["x86_64-linux"] ./systemd-binfmt.nix {};
   systemd-boot = handleTest ./systemd-boot.nix {};
   systemd-confinement = handleTest ./systemd-confinement.nix {};
+  systemd-coredump = handleTest ./systemd-coredump.nix {};
   systemd-cryptenroll = handleTest ./systemd-cryptenroll.nix {};
   systemd-escaping = handleTest ./systemd-escaping.nix {};
   systemd-initrd-btrfs-raid = handleTest ./systemd-initrd-btrfs-raid.nix {};
diff --git a/nixos/tests/convos.nix b/nixos/tests/convos.nix
index cc0c2e75893..a5dafed8f6f 100644
--- a/nixos/tests/convos.nix
+++ b/nixos/tests/convos.nix
@@ -24,7 +24,7 @@ in
   testScript = ''
     machine.wait_for_unit("convos")
     machine.wait_for_open_port(${toString port})
-    machine.succeed("journalctl -u convos | grep -q 'Listening at.*${toString port}'")
+    machine.succeed("journalctl -u convos | grep -q 'application available at.*${toString port}'")
     machine.succeed("curl -f http://localhost:${toString port}/")
   '';
 })
diff --git a/nixos/tests/couchdb.nix b/nixos/tests/couchdb.nix
index 453f5dcd66e..b57072d6be2 100644
--- a/nixos/tests/couchdb.nix
+++ b/nixos/tests/couchdb.nix
@@ -20,7 +20,7 @@ with lib;
 {
   name = "couchdb";
   meta = with pkgs.lib.maintainers; {
-    maintainers = [ fpletz ];
+    maintainers = [ ];
   };
 
   nodes = {
diff --git a/nixos/tests/docker-tools.nix b/nixos/tests/docker-tools.nix
index 99a968f17af..d76f70b791c 100644
--- a/nixos/tests/docker-tools.nix
+++ b/nixos/tests/docker-tools.nix
@@ -346,7 +346,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
             "docker load --input='${examples.layeredImageWithFakeRootCommands}'"
         )
         docker.succeed(
-            "docker run --rm ${examples.layeredImageWithFakeRootCommands.imageName} sh -c 'stat -c '%u' /home/jane | grep -E ^1000$'"
+            "docker run --rm ${examples.layeredImageWithFakeRootCommands.imageName} sh -c 'stat -c '%u' /home/alice | grep -E ^1000$'"
         )
 
     with subtest("Ensure docker load on merged images loads all of the constituent images"):
@@ -389,7 +389,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
             "docker load --input='${examples.mergedBashFakeRoot}'"
         )
         docker.succeed(
-            "docker run --rm ${examples.layeredImageWithFakeRootCommands.imageName} sh -c 'stat -c '%u' /home/jane | grep -E ^1000$'"
+            "docker run --rm ${examples.layeredImageWithFakeRootCommands.imageName} sh -c 'stat -c '%u' /home/alice | grep -E ^1000$'"
         )
 
     with subtest("The image contains store paths referenced by the fakeRootCommands output"):
diff --git a/nixos/tests/documize.nix b/nixos/tests/documize.nix
index 528bf5338ce..fda79b1a093 100644
--- a/nixos/tests/documize.nix
+++ b/nixos/tests/documize.nix
@@ -47,9 +47,9 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
             " --data 'dbhash={}'"
             " --data 'title=NixOS'"
             " --data 'message=Docs'"
-            " --data 'firstname=John'"
-            " --data 'lastname=Doe'"
-            " --data 'email=john.doe@nixos.org'"
+            " --data 'firstname=Bob'"
+            " --data 'lastname=Foobar'"
+            " --data 'email=bob.foobar@nixos.org'"
             " --data 'password=verysafe'"
             " -f localhost:3000/api/setup"
         ).format(dbhash)
diff --git a/nixos/tests/firefox.nix b/nixos/tests/firefox.nix
index 9bb78a97f36..3f9cea6662f 100644
--- a/nixos/tests/firefox.nix
+++ b/nixos/tests/firefox.nix
@@ -8,7 +8,7 @@ let firefoxPackage' = firefoxPackage.override (args: {
 
 in
 {
-  name = firefoxPackage'.unwrapped.binaryName;
+  name = firefoxPackage'.unwrapped.pname;
   meta = with pkgs.lib.maintainers; {
     maintainers = [ eelco shlevy ];
   };
diff --git a/nixos/tests/hadoop/default.nix b/nixos/tests/hadoop/default.nix
index d2a97cbeffb..479690adc06 100644
--- a/nixos/tests/hadoop/default.nix
+++ b/nixos/tests/hadoop/default.nix
@@ -4,4 +4,5 @@
   all = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./hadoop.nix { inherit package; };
   hdfs = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./hdfs.nix { inherit package; };
   yarn = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./yarn.nix { inherit package; };
+  hbase = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./hbase.nix { inherit package; };
 }
diff --git a/nixos/tests/hadoop/hbase.nix b/nixos/tests/hadoop/hbase.nix
new file mode 100644
index 00000000000..d9d2dac0f65
--- /dev/null
+++ b/nixos/tests/hadoop/hbase.nix
@@ -0,0 +1,84 @@
+# Test a minimal hbase cluster
+{ pkgs, ... }:
+import ../make-test-python.nix ({ hadoop ? pkgs.hadoop, hbase ? pkgs.hbase, ... }:
+with pkgs.lib;
+{
+  name = "hadoop-hbase";
+
+  nodes = let
+    coreSite = {
+      "fs.defaultFS" = "hdfs://namenode:8020";
+    };
+    defOpts = {
+      enable = true;
+      openFirewall = true;
+    };
+    zookeeperQuorum = "zookeeper";
+  in {
+    zookeeper = { ... }: {
+      services.zookeeper.enable = true;
+      networking.firewall.allowedTCPPorts = [ 2181 ];
+    };
+    namenode = { ... }: {
+      services.hadoop = {
+        hdfs = {
+          namenode = defOpts // { formatOnInit = true; };
+        };
+        inherit coreSite;
+      };
+    };
+    datanode = { ... }: {
+      virtualisation.diskSize = 8192;
+      services.hadoop = {
+        hdfs.datanode = defOpts;
+        inherit coreSite;
+      };
+    };
+
+    master = { ... }:{
+      services.hadoop = {
+        inherit coreSite;
+        hbase = {
+          inherit zookeeperQuorum;
+          master = defOpts // { initHDFS = true; };
+        };
+      };
+    };
+    regionserver = { ... }:{
+      services.hadoop = {
+        inherit coreSite;
+        hbase = {
+          inherit zookeeperQuorum;
+          regionServer = defOpts;
+        };
+      };
+    };
+  };
+
+  testScript = ''
+    start_all()
+
+    # wait for HDFS cluster
+    namenode.wait_for_unit("hdfs-namenode")
+    namenode.wait_for_unit("network.target")
+    namenode.wait_for_open_port(8020)
+    namenode.wait_for_open_port(9870)
+    datanode.wait_for_unit("hdfs-datanode")
+    datanode.wait_for_unit("network.target")
+    datanode.wait_for_open_port(9864)
+    datanode.wait_for_open_port(9866)
+    datanode.wait_for_open_port(9867)
+
+    # wait for ZK
+    zookeeper.wait_for_unit("zookeeper")
+    zookeeper.wait_for_open_port(2181)
+
+    # wait for HBase to start up
+    master.wait_for_unit("hbase-master")
+    regionserver.wait_for_unit("hbase-regionserver")
+
+    assert "1 active master, 0 backup masters, 1 servers" in master.succeed("echo status | HADOOP_USER_NAME=hbase hbase shell -n")
+    regionserver.wait_until_succeeds("echo \"create 't1','f1'\" | HADOOP_USER_NAME=hbase hbase shell -n")
+    assert "NAME => 'f1'" in regionserver.succeed("echo \"describe 't1'\" | HADOOP_USER_NAME=hbase hbase shell -n")
+  '';
+})
diff --git a/nixos/tests/hadoop/yarn.nix b/nixos/tests/hadoop/yarn.nix
index 1bf8e3831f6..08c8ff857d8 100644
--- a/nixos/tests/hadoop/yarn.nix
+++ b/nixos/tests/hadoop/yarn.nix
@@ -19,7 +19,7 @@ import ../make-test-python.nix ({ package, ... }: {
           enable = true;
           openFirewall = true;
         };
-        yarnSite = options.services.hadoop.yarnSite.default // {
+        yarnSite = {
           "yarn.resourcemanager.hostname" = "resourcemanager";
           "yarn.nodemanager.log-dirs" = "/tmp/userlogs";
         };
diff --git a/nixos/tests/hbase.nix b/nixos/tests/hbase.nix
index a449d24dd6f..7d8e32f8160 100644
--- a/nixos/tests/hbase.nix
+++ b/nixos/tests/hbase.nix
@@ -1,6 +1,6 @@
 import ./make-test-python.nix ({ pkgs, lib, package ? pkgs.hbase, ... }:
 {
-  name = "hbase";
+  name = "hbase-standalone";
 
   meta = with lib.maintainers; {
     maintainers = [ illustris ];
@@ -8,7 +8,7 @@ import ./make-test-python.nix ({ pkgs, lib, package ? pkgs.hbase, ... }:
 
   nodes = {
     hbase = { pkgs, ... }: {
-      services.hbase = {
+      services.hbase-standalone = {
         enable = true;
         inherit package;
         # Needed for standalone mode in hbase 2+
diff --git a/nixos/tests/neo4j.nix b/nixos/tests/neo4j.nix
index 8329e5630d7..0b57f5b2e03 100644
--- a/nixos/tests/neo4j.nix
+++ b/nixos/tests/neo4j.nix
@@ -2,19 +2,25 @@ import ./make-test-python.nix {
   name = "neo4j";
 
   nodes = {
-    master =
+    server =
       { ... }:
 
       {
+        virtualisation.memorySize = 4096;
+        virtualisation.diskSize = 1024;
+
         services.neo4j.enable = true;
+        # require tls certs to be available
+        services.neo4j.https.enable = false;
+        services.neo4j.bolt.enable = false;
       };
   };
 
   testScript = ''
     start_all()
 
-    master.wait_for_unit("neo4j")
-    master.wait_for_open_port(7474)
-    master.succeed("curl -f http://localhost:7474/")
+    server.wait_for_unit("neo4j.service")
+    server.wait_for_open_port(7474)
+    server.succeed("curl -f http://localhost:7474/")
   '';
 }
diff --git a/nixos/tests/nginx-auth.nix b/nixos/tests/nginx-auth.nix
index c0d24a20ddb..a85426dda87 100644
--- a/nixos/tests/nginx-auth.nix
+++ b/nixos/tests/nginx-auth.nix
@@ -13,14 +13,14 @@ import ./make-test-python.nix ({ pkgs, ... }: {
 
         virtualHosts.lockedroot = {
           inherit root;
-          basicAuth.alice = "jane";
+          basicAuth.alice = "pwofa";
         };
 
         virtualHosts.lockedsubdir = {
           inherit root;
           locations."/sublocation/" = {
             alias = "${root}/";
-            basicAuth.bob = "john";
+            basicAuth.bob = "pwofb";
           };
         };
       };
@@ -33,7 +33,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
 
     webserver.fail("curl --fail --resolve lockedroot:80:127.0.0.1 http://lockedroot")
     webserver.succeed(
-        "curl --fail --resolve lockedroot:80:127.0.0.1 http://alice:jane@lockedroot"
+        "curl --fail --resolve lockedroot:80:127.0.0.1 http://alice:pwofa@lockedroot"
     )
 
     webserver.succeed("curl --fail --resolve lockedsubdir:80:127.0.0.1 http://lockedsubdir")
@@ -41,7 +41,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
         "curl --fail --resolve lockedsubdir:80:127.0.0.1 http://lockedsubdir/sublocation/index.html"
     )
     webserver.succeed(
-        "curl --fail --resolve lockedsubdir:80:127.0.0.1 http://bob:john@lockedsubdir/sublocation/index.html"
+        "curl --fail --resolve lockedsubdir:80:127.0.0.1 http://bob:pwofb@lockedsubdir/sublocation/index.html"
     )
   '';
 })
diff --git a/nixos/tests/openldap.nix b/nixos/tests/openldap.nix
index 3c388119d5d..075bb5d1f64 100644
--- a/nixos/tests/openldap.nix
+++ b/nixos/tests/openldap.nix
@@ -1,9 +1,4 @@
-{ pkgs ? (import ../.. { inherit system; config = { }; })
-, system ? builtins.currentSystem
-, ...
-}:
-
-let
+import ./make-test-python.nix ({ pkgs, ... }: let
   dbContents = ''
     dn: dc=example
     objectClass: domain
@@ -13,118 +8,149 @@ let
     objectClass: organizationalUnit
     ou: users
   '';
-  testScript = ''
-    machine.wait_for_unit("openldap.service")
-    machine.succeed(
-        'ldapsearch -LLL -D "cn=root,dc=example" -w notapassword -b "dc=example"',
-    )
+
+  ldifConfig = ''
+    dn: cn=config
+    cn: config
+    objectClass: olcGlobal
+    olcLogLevel: stats
+
+    dn: cn=schema,cn=config
+    cn: schema
+    objectClass: olcSchemaConfig
+
+    include: file://${pkgs.openldap}/etc/schema/core.ldif
+    include: file://${pkgs.openldap}/etc/schema/cosine.ldif
+    include: file://${pkgs.openldap}/etc/schema/inetorgperson.ldif
+
+    dn: olcDatabase={0}config,cn=config
+    olcDatabase: {0}config
+    objectClass: olcDatabaseConfig
+    olcRootDN: cn=root,cn=config
+    olcRootPW: configpassword
+
+    dn: olcDatabase={1}mdb,cn=config
+    objectClass: olcDatabaseConfig
+    objectClass: olcMdbConfig
+    olcDatabase: {1}mdb
+    olcDbDirectory: /var/db/openldap
+    olcDbIndex: objectClass eq
+    olcSuffix: dc=example
+    olcRootDN: cn=root,dc=example
+    olcRootPW: notapassword
   '';
+
+  ldapClientConfig = {
+    enable = true;
+    loginPam = false;
+    nsswitch = false;
+    server = "ldap://";
+    base = "dc=example";
+  };
+
 in {
-  # New-style configuration
-  current = import ./make-test-python.nix ({ pkgs, ... }: {
-    inherit testScript;
-    name = "openldap";
+  name = "openldap";
+
+  nodes.machine = { pkgs, ... }: {
+    environment.etc."openldap/root_password".text = "notapassword";
 
-    nodes.machine = { pkgs, ... }: {
-      environment.etc."openldap/root_password".text = "notapassword";
-      services.openldap = {
-        enable = true;
-        settings = {
-          children = {
-            "cn=schema".includes = [
-              "${pkgs.openldap}/etc/schema/core.ldif"
-              "${pkgs.openldap}/etc/schema/cosine.ldif"
-              "${pkgs.openldap}/etc/schema/inetorgperson.ldif"
-              "${pkgs.openldap}/etc/schema/nis.ldif"
-            ];
-            "olcDatabase={1}mdb" = {
-              # This tests string, base64 and path values, as well as lists of string values
-              attrs = {
-                objectClass = [ "olcDatabaseConfig" "olcMdbConfig" ];
-                olcDatabase = "{1}mdb";
-                olcDbDirectory = "/var/db/openldap";
-                olcSuffix = "dc=example";
-                olcRootDN = {
-                  # cn=root,dc=example
-                  base64 = "Y249cm9vdCxkYz1leGFtcGxl";
-                };
-                olcRootPW = {
-                  path = "/etc/openldap/root_password";
-                };
+    users.ldap = ldapClientConfig;
+
+    services.openldap = {
+      enable = true;
+      urlList = [ "ldapi:///" "ldap://" ];
+      settings = {
+        children = {
+          "cn=schema".includes = [
+            "${pkgs.openldap}/etc/schema/core.ldif"
+            "${pkgs.openldap}/etc/schema/cosine.ldif"
+            "${pkgs.openldap}/etc/schema/inetorgperson.ldif"
+            "${pkgs.openldap}/etc/schema/nis.ldif"
+          ];
+          "olcDatabase={0}config" = {
+            attrs = {
+              objectClass = [ "olcDatabaseConfig" ];
+              olcDatabase = "{0}config";
+              olcRootDN = "cn=root,cn=config";
+              olcRootPW = "configpassword";
+            };
+          };
+          "olcDatabase={1}mdb" = {
+            # This tests string, base64 and path values, as well as lists of string values
+            attrs = {
+              objectClass = [ "olcDatabaseConfig" "olcMdbConfig" ];
+              olcDatabase = "{1}mdb";
+              olcDbDirectory = "/var/lib/openldap/db";
+              olcSuffix = "dc=example";
+              olcRootDN = {
+                # cn=root,dc=example
+                base64 = "Y249cm9vdCxkYz1leGFtcGxl";
+              };
+              olcRootPW = {
+                path = "/etc/openldap/root_password";
               };
             };
           };
         };
-        declarativeContents."dc=example" = dbContents;
       };
     };
-  }) { inherit pkgs system; };
-
-  # Old-style configuration
-  oldOptions = import ./make-test-python.nix ({ pkgs, ... }: {
-    inherit testScript;
-    name = "openldap";
 
-    nodes.machine = { pkgs, ... }: {
-      services.openldap = {
-        enable = true;
-        logLevel = "stats acl";
-        defaultSchemas = true;
-        database = "mdb";
-        suffix = "dc=example";
-        rootdn = "cn=root,dc=example";
-        rootpw = "notapassword";
-        declarativeContents."dc=example" = dbContents;
+    specialisation = {
+      declarativeContents.configuration = { ... }: {
+        services.openldap.declarativeContents."dc=example" = dbContents;
       };
-    };
-  }) { inherit system pkgs; };
-
-  # Manually managed configDir, for example if dynamic config is essential
-  manualConfigDir = import ./make-test-python.nix ({ pkgs, ... }: {
-    name = "openldap";
-
-    nodes.machine = { pkgs, ... }: {
-      services.openldap = {
-        enable = true;
-        configDir = "/var/db/slapd.d";
+      mutableConfig.configuration = { ... }: {
+        services.openldap = {
+          declarativeContents."dc=example" = dbContents;
+          mutableConfig = true;
+        };
+      };
+      manualConfigDir = {
+        inheritParentConfig = false;
+        configuration = { ... }: {
+          users.ldap = ldapClientConfig;
+          services.openldap = {
+            enable = true;
+            configDir = "/var/db/slapd.d";
+          };
+        };
       };
     };
+  };
+  testScript = { nodes, ... }: let
+    specializations = "${nodes.machine.config.system.build.toplevel}/specialisation";
+    changeRootPw = ''
+      dn: olcDatabase={1}mdb,cn=config
+      changetype: modify
+      replace: olcRootPW
+      olcRootPW: foobar
+    '';
+  in ''
+    # Test startup with empty DB
+    machine.wait_for_unit("openldap.service")
 
-    testScript = let
-      contents = pkgs.writeText "data.ldif" dbContents;
-      config = pkgs.writeText "config.ldif" ''
-        dn: cn=config
-        cn: config
-        objectClass: olcGlobal
-        olcLogLevel: stats
-        olcPidFile: /run/slapd/slapd.pid
-
-        dn: cn=schema,cn=config
-        cn: schema
-        objectClass: olcSchemaConfig
+    with subtest("declarative contents"):
+      machine.succeed('${specializations}/declarativeContents/bin/switch-to-configuration test')
+      machine.wait_for_unit("openldap.service")
+      machine.succeed('ldapsearch -LLL -D "cn=root,dc=example" -w notapassword')
+      machine.fail('ldapmodify -D cn=root,cn=config -w configpassword -f ${pkgs.writeText "rootpw.ldif" changeRootPw}')
 
-        include: file://${pkgs.openldap}/etc/schema/core.ldif
-        include: file://${pkgs.openldap}/etc/schema/cosine.ldif
-        include: file://${pkgs.openldap}/etc/schema/inetorgperson.ldif
+    with subtest("mutable config"):
+      machine.succeed('${specializations}/mutableConfig/bin/switch-to-configuration test')
+      machine.succeed('ldapsearch -LLL -D "cn=root,dc=example" -w notapassword')
+      machine.succeed('ldapmodify -D cn=root,cn=config -w configpassword -f ${pkgs.writeText "rootpw.ldif" changeRootPw}')
+      machine.succeed('ldapsearch -LLL -D "cn=root,dc=example" -w foobar')
 
-        dn: olcDatabase={1}mdb,cn=config
-        objectClass: olcDatabaseConfig
-        objectClass: olcMdbConfig
-        olcDatabase: {1}mdb
-        olcDbDirectory: /var/db/openldap
-        olcDbIndex: objectClass eq
-        olcSuffix: dc=example
-        olcRootDN: cn=root,dc=example
-        olcRootPW: notapassword
-      '';
-    in ''
+    with subtest("manual config dir"):
       machine.succeed(
-          "mkdir -p /var/db/slapd.d /var/db/openldap",
-          "slapadd -F /var/db/slapd.d -n0 -l ${config}",
-          "slapadd -F /var/db/slapd.d -n1 -l ${contents}",
-          "chown -R openldap:openldap /var/db/slapd.d /var/db/openldap",
-          "systemctl restart openldap",
+        'mkdir /var/db/slapd.d /var/db/openldap',
+        'slapadd -F /var/db/slapd.d -n0 -l ${pkgs.writeText "config.ldif" ldifConfig}',
+        'slapadd -F /var/db/slapd.d -n1 -l ${pkgs.writeText "contents.ldif" dbContents}',
+        'chown -R openldap:openldap /var/db/slapd.d /var/db/openldap',
+        '${specializations}/manualConfigDir/bin/switch-to-configuration test',
       )
-    '' + testScript;
-  }) { inherit system pkgs; };
-}
+      machine.succeed('ldapsearch -LLL -D "cn=root,dc=example" -w notapassword')
+      machine.succeed('ldapmodify -D cn=root,cn=config -w configpassword -f ${pkgs.writeText "rootpw.ldif" changeRootPw}')
+      machine.succeed('ldapsearch -LLL -D "cn=root,dc=example" -w foobar')
+  '';
+})
diff --git a/nixos/tests/privacyidea.nix b/nixos/tests/privacyidea.nix
index fb072514dd9..401ad72c37b 100644
--- a/nixos/tests/privacyidea.nix
+++ b/nixos/tests/privacyidea.nix
@@ -3,7 +3,7 @@
 import ./make-test-python.nix ({ pkgs, ...} : rec {
   name = "privacyidea";
   meta = with pkgs.lib.maintainers; {
-    maintainers = [ fpletz ];
+    maintainers = [ ];
   };
 
   nodes.machine = { ... }: {
diff --git a/nixos/tests/prometheus-exporters.nix b/nixos/tests/prometheus-exporters.nix
index 0a1ec824986..4fdff7dbdab 100644
--- a/nixos/tests/prometheus-exporters.nix
+++ b/nixos/tests/prometheus-exporters.nix
@@ -35,7 +35,7 @@ let
     *      };
     *      exporterTest = ''
     *        wait_for_unit("prometheus-<exporterName>-exporter.service")
-    *        wait_for_open_port("1234")
+    *        wait_for_open_port(1234)
     *        succeed("curl -sSf 'localhost:1234/metrics'")
     *      '';
     *    };
@@ -1063,7 +1063,7 @@ let
       };
       exporterTest = ''
         wait_for_unit("prometheus-smartctl-exporter.service")
-        wait_for_open_port("9633")
+        wait_for_open_port(9633)
         wait_until_succeeds(
           "curl -sSf 'localhost:9633/metrics'"
         )
@@ -1181,21 +1181,21 @@ let
         enable = true;
 
         extraFlags = [
-          "--collector.enable-restart-count"
+          "--systemd.collector.enable-restart-count"
         ];
       };
       metricProvider = { };
       exporterTest = ''
         wait_for_unit("prometheus-systemd-exporter.service")
         wait_for_open_port(9558)
-        succeed(
+        wait_until_succeeds(
             "curl -sSf localhost:9558/metrics | grep '{}'".format(
                 'systemd_unit_state{name="basic.target",state="active",type="target"} 1'
             )
         )
         succeed(
             "curl -sSf localhost:9558/metrics | grep '{}'".format(
-                'systemd_service_restart_total{state="prometheus-systemd-exporter.service"} 0'
+                'systemd_service_restart_total{name="prometheus-systemd-exporter.service"} 0'
             )
         )
       '';
diff --git a/nixos/tests/sympa.nix b/nixos/tests/sympa.nix
index 76ca17d0a18..80daa4134f7 100644
--- a/nixos/tests/sympa.nix
+++ b/nixos/tests/sympa.nix
@@ -13,7 +13,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
             webHost = "localhost";
           };
         };
-        listMasters = [ "joe@example.org" ];
+        listMasters = [ "bob@example.org" ];
         web.enable = true;
         web.https = false;
         database = {
diff --git a/nixos/tests/systemd-coredump.nix b/nixos/tests/systemd-coredump.nix
new file mode 100644
index 00000000000..62137820878
--- /dev/null
+++ b/nixos/tests/systemd-coredump.nix
@@ -0,0 +1,44 @@
+import ./make-test-python.nix ({ pkgs, ... }:
+
+let
+
+  crasher = pkgs.writeCBin "crasher" "int main;";
+
+  commonConfig = {
+    systemd.services.crasher.serviceConfig = {
+      ExecStart = "${crasher}/bin/crasher";
+      StateDirectory = "crasher";
+      WorkingDirectory = "%S/crasher";
+      Restart = "no";
+    };
+  };
+
+in
+
+{
+  name = "systemd-coredump";
+  meta = with pkgs.lib.maintainers; {
+    maintainers = [ squalus ];
+  };
+
+  nodes.machine1 = { pkgs, lib, ... }: commonConfig;
+  nodes.machine2 = { pkgs, lib, ... }: lib.recursiveUpdate commonConfig {
+    systemd.coredump.enable = false;
+    systemd.package = pkgs.systemd.override {
+      withCoredump = false;
+    };
+  };
+
+  testScript = ''
+    with subtest("systemd-coredump enabled"):
+      machine1.wait_for_unit("multi-user.target")
+      machine1.wait_for_unit("systemd-coredump.socket")
+      machine1.systemctl("start crasher");
+      machine1.wait_until_succeeds("coredumpctl list | grep crasher", timeout=10)
+      machine1.fail("stat /var/lib/crasher/core")
+
+    with subtest("systemd-coredump disabled"):
+      machine2.systemctl("start crasher");
+      machine2.wait_until_succeeds("stat /var/lib/crasher/core", timeout=10)
+  '';
+})
diff --git a/nixos/tests/systemd-nspawn.nix b/nixos/tests/systemd-nspawn.nix
index c2cb92d1130..bc77ee2a4d1 100644
--- a/nixos/tests/systemd-nspawn.nix
+++ b/nixos/tests/systemd-nspawn.nix
@@ -10,8 +10,8 @@ let
       Key-Length: 1024
       Subkey-Type: ELG-E
       Subkey-Length: 1024
-      Name-Real: Joe Tester
-      Name-Email: joe@foo.bar
+      Name-Real: Bob Foobar
+      Name-Email: bob@foo.bar
       Expire-Date: 0
       # Do a commit here, so that we can later print "done"
       %commit
@@ -19,7 +19,7 @@ let
     EOF
     gpg --batch --generate-key foo
     rm $out/S.gpg-agent $out/S.gpg-agent.*
-    gpg --export joe@foo.bar -a > $out/pubkey.gpg
+    gpg --export bob@foo.bar -a > $out/pubkey.gpg
   '');
 
   nspawnImages = (pkgs.runCommand "localhost" { buildInputs = [ pkgs.coreutils pkgs.gnupg ]; } ''
diff --git a/nixos/tests/xmpp/xmpp-sendmessage.nix b/nixos/tests/xmpp/xmpp-sendmessage.nix
index 80dfcff2d0e..4c009464b70 100644
--- a/nixos/tests/xmpp/xmpp-sendmessage.nix
+++ b/nixos/tests/xmpp/xmpp-sendmessage.nix
@@ -6,7 +6,7 @@ let
     Please find this *really* important attachment.
 
     Yours truly,
-    John
+    Bob
   '';
 in writeScriptBin "send-message" ''
 #!${(python3.withPackages (ps: [ ps.slixmpp ])).interpreter}
diff --git a/nixos/tests/yggdrasil.nix b/nixos/tests/yggdrasil.nix
index b409d9ed785..b60a0e6b06c 100644
--- a/nixos/tests/yggdrasil.nix
+++ b/nixos/tests/yggdrasil.nix
@@ -42,7 +42,7 @@ in import ./make-test-python.nix ({ pkgs, ...} : {
 
         services.yggdrasil = {
           enable = true;
-          config = {
+          settings = {
             Listen = ["tcp://0.0.0.0:12345"];
             MulticastInterfaces = [ ];
           };
@@ -112,7 +112,7 @@ in import ./make-test-python.nix ({ pkgs, ...} : {
         services.yggdrasil = {
           enable = true;
           denyDhcpcdInterfaces = [ "ygg0" ];
-          config = {
+          settings = {
             IfTAPMode = true;
             IfName = "ygg0";
             MulticastInterfaces = [ "eth1" ];
diff --git a/pkgs/applications/audio/amberol/default.nix b/pkgs/applications/audio/amberol/default.nix
index 757c3dcf5db..0c5523c0a35 100644
--- a/pkgs/applications/audio/amberol/default.nix
+++ b/pkgs/applications/audio/amberol/default.nix
@@ -19,20 +19,20 @@
 
 stdenv.mkDerivation rec {
   pname = "amberol";
-  version = "0.8.1";
+  version = "0.9.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = pname;
     rev = version;
-    hash = "sha256-27jXpx79JNF5FjVKERNrQFS7VHZHWh57jjBWvX5IRio=";
+    hash = "sha256-/kZYzUzycHKre6/dvZgeqXu6mrkblftV51Z7866fZVY=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-M5T+imP7up3RRiXOJRrqimcjs8r81V5jfQMjR02skko=";
+    hash = "sha256-1+RWL9MD6aX+zI2rtQUQCqemCephLKGEAf5xNCb+jo4=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/audio/audacious/0001-Set-plugindir-to-PREFIX-lib-audacious.patch b/pkgs/applications/audio/audacious/0001-Set-plugindir-to-PREFIX-lib-audacious.patch
new file mode 100644
index 00000000000..49f1208eb11
--- /dev/null
+++ b/pkgs/applications/audio/audacious/0001-Set-plugindir-to-PREFIX-lib-audacious.patch
@@ -0,0 +1,25 @@
+From b64b03be9edf23a80fce0c76de61ffff0914ddce Mon Sep 17 00:00:00 2001
+From: Thiago Kenji Okada <thiagokokada@gmail.com>
+Date: Mon, 8 Aug 2022 10:28:33 +0100
+Subject: [PATCH] Set plugindir to $PREFIX/lib/audacious
+
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 3f7996f72..ab09d6476 100644
+--- a/meson.build
++++ b/meson.build
+@@ -160,7 +160,7 @@ if (cxx.has_header('libintl.h'))
+ endif
+ 
+ 
+-install_plugindir = audacious_dep.get_variable(pkgconfig: 'plugin_dir')
++install_plugindir = join_paths(get_option('prefix'), 'lib/audacious')
+ 
+ 
+ conf.set_quoted('INSTALL_PLUGINDIR', install_plugindir)
+-- 
+2.36.0
+
diff --git a/pkgs/applications/audio/audacious/default.nix b/pkgs/applications/audio/audacious/default.nix
index 7ccdc4eced6..eb404041d97 100644
--- a/pkgs/applications/audio/audacious/default.nix
+++ b/pkgs/applications/audio/audacious/default.nix
@@ -1,15 +1,16 @@
-{
-  mkDerivation, lib, fetchurl, fetchpatch,
-  gettext, pkg-config,
-  qtbase,
-  alsa-lib, curl, faad2, ffmpeg, flac, fluidsynth, gdk-pixbuf, lame, libbs2b,
-  libcddb, libcdio, libcdio-paranoia, libcue, libjack2, libmad, libmms, libmodplug,
-  libmowgli, libnotify, libogg, libpulseaudio, libsamplerate, libsidplayfp,
-  libsndfile, libvorbis, libxml2, lirc, mpg123, neon, qtmultimedia, soxr,
-  wavpack, libopenmpt
+{ lib
+, stdenv
+, audacious-plugins
+, fetchurl
+, gettext
+, meson
+, ninja
+, pkg-config
+, qtbase
+, wrapQtAppsHook
 }:
 
-mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "audacious";
   version = "4.2";
 
@@ -17,54 +18,39 @@ mkDerivation rec {
     url = "http://distfiles.audacious-media-player.org/audacious-${version}.tar.bz2";
     sha256 = "sha256-/rME5HCkgf4rPEyhycs7I+wmJUDBLQ0ebCKl62JeBLM=";
   };
-  pluginsSrc = fetchurl {
-    url = "http://distfiles.audacious-media-player.org/audacious-plugins-${version}.tar.bz2";
-    sha256 = "sha256-b6D2nDoQQeuHfDcQlROrSioKVqd9nowToVgc8UOaQX8=";
-  };
 
-  nativeBuildInputs = [ gettext pkg-config ];
+  nativeBuildInputs = [
+    gettext
+    meson
+    ninja
+    pkg-config
+    wrapQtAppsHook
+  ];
 
   buildInputs = [
-    # Core dependencies
     qtbase
-
-    # Plugin dependencies
-    alsa-lib curl faad2 ffmpeg flac fluidsynth gdk-pixbuf lame libbs2b libcddb
-    libcdio libcdio-paranoia libcue libjack2 libmad libmms libmodplug libmowgli
-    libnotify libogg libpulseaudio libsamplerate libsidplayfp libsndfile
-    libvorbis libxml2 lirc mpg123 neon qtmultimedia soxr wavpack
-    libopenmpt
   ];
 
-  configureFlags = [ "--disable-gtk" ];
+  mesonFlags = [
+    "-Dgtk=false"
+    "-Dbuildstamp=NixOS"
+  ];
 
-  # Here we build both audacious and audacious-plugins in one
-  # derivation, since they really expect to be in the same prefix.
-  # This is slighly tricky.
-  builder = builtins.toFile "builder.sh" ''
-    # First build audacious.
-    (
-      source $stdenv/setup
-      genericBuild
-    )
-    # Then build the plugins.
-    (
-      nativeBuildInputs="$out $nativeBuildInputs" # to find audacious
-      source $stdenv/setup
-      rm -rfv audacious-*
-      src=$pluginsSrc
-      genericBuild
-    )
+  postInstall = lib.optionalString (audacious-plugins != null) ''
+    ln -s ${audacious-plugins}/lib/audacious $out/lib
   '';
 
   meta = with lib; {
-    description = "Audio player";
+    description = "A lightweight and versatile audio player";
     homepage = "https://audacious-media-player.org/";
-    maintainers = with maintainers; [ eelco ramkromberg ttuegel ];
+    maintainers = with maintainers; [ eelco ramkromberg ttuegel thiagokokada ];
     platforms = with platforms; linux;
     license = with licenses; [
-      bsd2 bsd3 #https://github.com/audacious-media-player/audacious/blob/master/COPYING
-      gpl2 gpl3 lgpl2Plus #http://redmine.audacious-media-player.org/issues/46
+      bsd2
+      bsd3 #https://github.com/audacious-media-player/audacious/blob/master/COPYING
+      gpl2
+      gpl3
+      lgpl2Plus #http://redmine.audacious-media-player.org/issues/46
     ];
   };
 }
diff --git a/pkgs/applications/audio/audacious/plugins.nix b/pkgs/applications/audio/audacious/plugins.nix
new file mode 100644
index 00000000000..90214046533
--- /dev/null
+++ b/pkgs/applications/audio/audacious/plugins.nix
@@ -0,0 +1,111 @@
+{ stdenv
+, fetchurl
+, alsa-lib
+, audacious
+, curl
+, faad2
+, ffmpeg
+, flac
+, fluidsynth
+, gdk-pixbuf
+, gettext
+, lame
+, libbs2b
+, libcddb
+, libcdio
+, libcdio-paranoia
+, libcue
+, libjack2
+, libmad
+, libmms
+, libmodplug
+, libmowgli
+, libnotify
+, libogg
+, libopenmpt
+, libpulseaudio
+, libsamplerate
+, libsidplayfp
+, libsndfile
+, libvorbis
+, libxml2
+, lirc
+, meson
+, mpg123
+, neon
+, ninja
+, pkg-config
+, qtbase
+, qtmultimedia
+, qtx11extras
+, soxr
+, wavpack
+}:
+
+stdenv.mkDerivation rec {
+  pname = "audacious-plugins";
+  version = "4.2";
+
+  src = fetchurl {
+    url = "http://distfiles.audacious-media-player.org/audacious-plugins-${version}.tar.bz2";
+    sha256 = "sha256-b6D2nDoQQeuHfDcQlROrSioKVqd9nowToVgc8UOaQX8=";
+  };
+
+  patches = [ ./0001-Set-plugindir-to-PREFIX-lib-audacious.patch ];
+
+  nativeBuildInputs = [
+    gettext
+    meson
+    ninja
+    pkg-config
+  ];
+
+  buildInputs = [
+    audacious
+    alsa-lib
+    curl
+    faad2
+    ffmpeg
+    flac
+    fluidsynth
+    gdk-pixbuf
+    lame
+    libbs2b
+    libcddb
+    libcdio
+    libcdio-paranoia
+    libcue
+    libjack2
+    libmad
+    libmms
+    libmodplug
+    libmowgli
+    libnotify
+    libogg
+    libpulseaudio
+    libsamplerate
+    libsidplayfp
+    libsndfile
+    libvorbis
+    libxml2
+    lirc
+    mpg123
+    neon
+    qtbase
+    qtmultimedia
+    qtx11extras
+    soxr
+    wavpack
+    libopenmpt
+  ];
+
+  mesonFlags = [
+    "-Dgtk=false"
+  ];
+
+  dontWrapQtApps = true;
+
+  meta = audacious.meta // {
+    description = "Plugins for Audacious music player";
+  };
+}
diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix
index 1d822f4687e..2ad0b6bf6af 100644
--- a/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix
+++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bitwig-studio";
-  version = "4.3.2";
+  version = "4.3.4";
 
   src = fetchurl {
     url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb";
-    sha256 = "sha256-vR5C7imMA5oJ5F3Q/tmVNN/FLhFjegFjls9HR4CYoVk=";
+    sha256 = "sha256-2CCxpQPZB5F5jwJCux1OqGuxCuFZus5vlCrmStmI0F8=";
   };
 
   nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ];
diff --git a/pkgs/applications/audio/exaile/default.nix b/pkgs/applications/audio/exaile/default.nix
index eb6dd471055..5ac4e1cbf4b 100644
--- a/pkgs/applications/audio/exaile/default.nix
+++ b/pkgs/applications/audio/exaile/default.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals documentationSupport [
     help2man
     python3.pkgs.sphinx
-    python3.pkgs.sphinx_rtd_theme
+    python3.pkgs.sphinx-rtd-theme
   ] ++ lib.optional translationSupport gettext;
 
   buildInputs = [
diff --git a/pkgs/applications/audio/fluidsynth/default.nix b/pkgs/applications/audio/fluidsynth/default.nix
index 06129a4814a..45b25ec3d8a 100644
--- a/pkgs/applications/audio/fluidsynth/default.nix
+++ b/pkgs/applications/audio/fluidsynth/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fluidsynth";
-  version = "2.2.7";
+  version = "2.2.8";
 
   src = fetchFromGitHub {
     owner = "FluidSynth";
     repo = "fluidsynth";
     rev = "v${version}";
-    sha256 = "sha256-4uo+Ldrp66dmemulKqofX2pz8tE73/5zGtmnY5BHjs8=";
+    sha256 = "sha256-zJMe2skFeXhrAx9vBcTXWJLfivI/iXyc0JFlNKpBETQ=";
   };
 
   nativeBuildInputs = [ buildPackages.stdenv.cc pkg-config cmake ];
diff --git a/pkgs/applications/audio/kid3/default.nix b/pkgs/applications/audio/kid3/default.nix
index 37bb05d9038..b4961384080 100644
--- a/pkgs/applications/audio/kid3/default.nix
+++ b/pkgs/applications/audio/kid3/default.nix
@@ -27,11 +27,11 @@
 
 stdenv.mkDerivation rec {
   pname = "kid3";
-  version = "3.9.1";
+  version = "3.9.2";
 
   src = fetchurl {
     url = "https://download.kde.org/stable/${pname}/${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-N/HDwfJn7Py4y/GZcIDbeoMEqG+SuRGO23ITZMot8cc=";
+    sha256 = "sha256-R4Xv+PmzKZQF1tFtSQTFjaisGug2EKM6mPVoGutNnok=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/lollypop/default.nix b/pkgs/applications/audio/lollypop/default.nix
index 8b6e1c7aa4c..9557aa65c19 100644
--- a/pkgs/applications/audio/lollypop/default.nix
+++ b/pkgs/applications/audio/lollypop/default.nix
@@ -25,7 +25,7 @@
 
 python3.pkgs.buildPythonApplication rec  {
   pname = "lollypop";
-  version = "1.4.31";
+  version = "1.4.34";
 
   format = "other";
   doCheck = false;
@@ -34,7 +34,7 @@ python3.pkgs.buildPythonApplication rec  {
     url = "https://gitlab.gnome.org/World/lollypop";
     rev = "refs/tags/${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-kWqTDhk7QDmN0yr6x8ER5oHkUAkP3i5yOabnNXSHSqA=";
+    sha256 = "sha256-nkrnmpM/mVrXVGkfwzmbSxsO1L890LgsjxSXAYjevCs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/lv2lint/default.nix b/pkgs/applications/audio/lv2lint/default.nix
index ada996866c8..e643343d8b4 100644
--- a/pkgs/applications/audio/lv2lint/default.nix
+++ b/pkgs/applications/audio/lv2lint/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "lv2lint";
-  version = "0.14.0";
+  version = "0.16.2";
 
   src = fetchurl {
     url = "https://git.open-music-kontrollers.ch/lv2/${pname}/snapshot/${pname}-${version}.tar.xz";
-    sha256 = "sha256-yPKM7RToLNBT+AXSjfxxpncESmv89/wcGCt//pnEGqI=";
+    sha256 = "sha256-sjgQVx8uGNPWcUwKzGUhChpfzXj/8D8cggVTpcHEXPQ=";
   };
 
   nativeBuildInputs = [ pkg-config meson ninja ];
diff --git a/pkgs/applications/audio/mixxx/default.nix b/pkgs/applications/audio/mixxx/default.nix
index 8b1acc9d0bc..ce12b239e5a 100644
--- a/pkgs/applications/audio/mixxx/default.nix
+++ b/pkgs/applications/audio/mixxx/default.nix
@@ -53,13 +53,13 @@
 
 mkDerivation rec {
   pname = "mixxx";
-  version = "2.3.2";
+  version = "2.3.3";
 
   src = fetchFromGitHub {
     owner = "mixxxdj";
     repo = "mixxx";
     rev = version;
-    sha256 = "sha256-EnOO5OGcaIITqfF9gpGktarzYOx128C1M2VmYNzdRsA=";
+    sha256 = "sha256-NRtrEobdJMFgDXrEeb2t1zeVN8pQP7+pda2DSU/yNX8=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
@@ -117,7 +117,7 @@ mkDerivation rec {
 
   # mixxx installs udev rules to DATADIR instead of SYSCONFDIR
   # let's disable this and install udev rules manually via postInstall
-  # see https://github.com/mixxxdj/mixxx/blob/2.3.2/CMakeLists.txt#L1381-L1392
+  # see https://github.com/mixxxdj/mixxx/blob/2.3.3/CMakeLists.txt#L1381-L1392
   cmakeFlags = [
     "-DINSTALL_USER_UDEV_RULES=OFF"
   ];
diff --git a/pkgs/applications/audio/ncmpc/default.nix b/pkgs/applications/audio/ncmpc/default.nix
index 67c4efc04be..739d0c3c499 100644
--- a/pkgs/applications/audio/ncmpc/default.nix
+++ b/pkgs/applications/audio/ncmpc/default.nix
@@ -18,13 +18,13 @@ assert pcreSupport -> pcre != null;
 
 stdenv.mkDerivation rec {
   pname = "ncmpc";
-  version = "0.46";
+  version = "0.47";
 
   src = fetchFromGitHub {
     owner  = "MusicPlayerDaemon";
     repo   = "ncmpc";
     rev    = "v${version}";
-    sha256 = "sha256-FyuN0jkHaJLXqcVbW+OggHkNBjmqH7bS7W/QXUoDjJk=";
+    sha256 = "sha256-7vywLMiIUfRx9/fCmUH1AGUB63bT8z7wabgm3CuLLUs=";
   };
 
   buildInputs = [ glib ncurses libmpdclient boost ]
diff --git a/pkgs/applications/audio/noise-repellent/default.nix b/pkgs/applications/audio/noise-repellent/default.nix
index 9a2a2f109b0..bcd2f8e4c42 100644
--- a/pkgs/applications/audio/noise-repellent/default.nix
+++ b/pkgs/applications/audio/noise-repellent/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "noise-repellent";
-  version = "0.2.1";
+  version = "0.2.3";
 
   src = fetchFromGitHub {
     owner = "lucianodato";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-hMNVzhJZFGFeu5aygLkfq495O0zpaIk41ddzejvDITE=";
+    sha256 = "sha256-d8csYC3z3vXdmN/G6mAK+H8ia0vOCsoUpoA3W8/OADc=";
   };
 
   mesonFlags = [
diff --git a/pkgs/applications/audio/pianoteq/default.nix b/pkgs/applications/audio/pianoteq/default.nix
index 9c258f69f66..26c62f3e30b 100644
--- a/pkgs/applications/audio/pianoteq/default.nix
+++ b/pkgs/applications/audio/pianoteq/default.nix
@@ -162,20 +162,20 @@ in {
   # TODO currently can't install more than one because `lame` clashes
   stage-trial = mkPianoteq rec {
     name = "stage-trial";
-    version = "7.4.1";
+    version = "7.5.4";
     archdir = "x86-64bit";
     src = fetchPianoteqTrial {
       name = "pianoteq_stage_linux_trial_v${versionForFile version}.7z";
-      sha256 = "14mbaz6i1rxqayrjjkck9yx8iijkm4q1qz29ymkd7sz2gpk7fcpa";
+      sha256 = "sha256-ybtq+hjnaQxpLxv2KE0ZcbQXtn5DJJsnMwCmh3rlrIc=";
     };
   };
   standard-trial = mkPianoteq rec {
     name = "standard-trial";
-    version = "7.4.1";
+    version = "7.5.4";
     archdir = "x86-64bit";
     src = fetchPianoteqTrial {
       name = "pianoteq_linux_trial_v${versionForFile version}.7z";
-      sha256 = "01xh4n0h7dd3xqhm0bx0a62mqmfvxvmr5cm5r2g249c9wqg5i32a";
+      sha256 = "sha256-3a3+SKTEhvDtqK5Kg4E6KiLvn5+j6JN6ntIb72u2bdQ=";
     };
   };
   stage-6 = mkPianoteq rec {
diff --git a/pkgs/applications/audio/pipecontrol/default.nix b/pkgs/applications/audio/pipecontrol/default.nix
index 4acba5d75ee..a2abab72ec6 100644
--- a/pkgs/applications/audio/pipecontrol/default.nix
+++ b/pkgs/applications/audio/pipecontrol/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pipecontrol";
-  version = "0.2.2";
+  version = "0.2.4";
 
   src = fetchFromGitHub {
     owner = "portaloffreedom";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-BeubRDx82MQX1gB7GnGJlQ2FyYX1S83C3gqPZgIjgoM=";
+    sha256 = "sha256-F3faJMkvjAY6A5ieNpAxjk6BHPb6uCvYYfwrI9/Iskg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/plexamp/default.nix b/pkgs/applications/audio/plexamp/default.nix
index 91634cdf3fa..ed20c1d7a73 100644
--- a/pkgs/applications/audio/plexamp/default.nix
+++ b/pkgs/applications/audio/plexamp/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "plexamp";
-  version = "4.2.1";
+  version = "4.3.0";
 
   src = fetchurl {
     url = "https://plexamp.plex.tv/plexamp.plex.tv/desktop/Plexamp-${version}.AppImage";
     name="${pname}-${version}.AppImage";
-    sha512 = "S2/T+T24X6D0oTbGPMp2BVfWTvzsUCWS1xsigLT/vFr12PlZgPfOWgo987W3YE30WJJDdybLqnkTl+uhNndC+A==";
+    sha512 = "c9d2rp7tibb73tZdoFONW7eoy+u+GaUZ0RPhYWCBk5MYwtY81xrsdka64x60xzxOopWZ6JkmGs9AWI1XifqBTQ==";
   };
 
   appimageContents = appimageTools.extractType2 {
@@ -33,7 +33,7 @@ in appimageTools.wrapType2 {
   meta = with lib; {
     description = "A beautiful Plex music player for audiophiles, curators, and hipsters";
     homepage = "https://plexamp.com/";
-    changelog = "https://forums.plex.tv/t/plexamp-release-notes/221280/44";
+    changelog = "https://forums.plex.tv/t/plexamp-release-notes/221280/45";
     license = licenses.unfree;
     maintainers = with maintainers; [ killercup synthetica ];
     platforms = [ "x86_64-linux" ];
diff --git a/pkgs/applications/audio/radioboat/default.nix b/pkgs/applications/audio/radioboat/default.nix
index f96339848dd..e1215271520 100644
--- a/pkgs/applications/audio/radioboat/default.nix
+++ b/pkgs/applications/audio/radioboat/default.nix
@@ -11,13 +11,13 @@
 
 buildGoModule rec {
   pname = "radioboat";
-  version = "0.2.1";
+  version = "0.2.2";
 
   src = fetchFromGitHub {
     owner = "slashformotion";
     repo = "radioboat";
     rev = "v${version}";
-    sha256 = "sha256-ZAKTWmK3hCJxm/578cjtdgMA2ZRhCFtzfGdta0gmuFY=";
+    sha256 = "sha256-e6SZv5gb7NOpCU3blFsH7A6ETWL8QlxtpDmmk8DKn8I=";
   };
 
   vendorSha256 = "sha256-X3KiqaiOQYQBfVckh50C+4oxIVN6gXyNuQtBwGvjdFQ=";
diff --git a/pkgs/applications/audio/sptlrx/default.nix b/pkgs/applications/audio/sptlrx/default.nix
index 4daab470473..7b31325164b 100644
--- a/pkgs/applications/audio/sptlrx/default.nix
+++ b/pkgs/applications/audio/sptlrx/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "sptlrx";
-  version = "0.2.0";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "raitonoberu";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-b38DACSdnjwPsLMrkt0Ubpqpn/4SDAgrdSlp9iAcxfE=";
+    sha256 = "sha256-UDxmUc902A6+DC254wyvjSzNs95K7QIuDW+24o8VCCc=";
   };
 
-  vendorSha256 = "sha256-/fqWnRQBpLNoTwqrFDKqQuv1r9do1voysBhLuj223S0=";
+  vendorSha256 = "sha256-t9Mkszzuw7YtBnADsZDjwN2AA6MuQH4+zzDiHe302A4=";
 
   ldflags = [ "-s" "-w" ];
 
@@ -19,8 +19,7 @@ buildGoModule rec {
     updateScript = nix-update-script { attrPath = pname; };
     tests.version = testers.testVersion {
       package = sptlrx;
-      # TODO Wrong version in `0.2.0`. Has been fixed upstream.
-      version = "v0.1.0";
+      version = "v${version}"; # needed because testVersion uses grep -Fw
     };
   };
 
diff --git a/pkgs/applications/audio/ssrc/default.nix b/pkgs/applications/audio/ssrc/default.nix
index 3516c6e4db0..1ac1d6658f8 100644
--- a/pkgs/applications/audio/ssrc/default.nix
+++ b/pkgs/applications/audio/ssrc/default.nix
@@ -36,6 +36,6 @@ stdenv.mkDerivation rec {
     homepage = "http://shibatch.sourceforge.net/";
     license = licenses.gpl2;
     maintainers = with maintainers; [ leenaars];
-    platforms = with platforms; [ linux ] ;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/termusic/default.nix b/pkgs/applications/audio/termusic/default.nix
index 3d89289c747..8734d7d1f65 100644
--- a/pkgs/applications/audio/termusic/default.nix
+++ b/pkgs/applications/audio/termusic/default.nix
@@ -7,14 +7,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "termusic";
-  version = "0.6.17";
+  version = "0.7.2";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-diZl+izb55EFQaL6soLVNrFhoi7AOFkFnVcAU2XlI+c=";
+    sha256 = "sha256-4o36h/x4+h2H4xpgPfOgIza6zNANyhmSM3Cm1XwWb7w=";
   };
 
-  cargoHash = "sha256-VW+tMnjuVnf/PsBAoMnOxbyNna1UpGB/5V52XSzBJr8=";
+  cargoHash = "sha256-WHxrMD6W7UyJg8HhjxWlm9KQ5SKsM6fLdvhDzBb16pI=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ alsa-lib ];
diff --git a/pkgs/applications/audio/tidal-hifi/default.nix b/pkgs/applications/audio/tidal-hifi/default.nix
index 09b5c3f410c..1af5357cf0e 100644
--- a/pkgs/applications/audio/tidal-hifi/default.nix
+++ b/pkgs/applications/audio/tidal-hifi/default.nix
@@ -36,11 +36,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tidal-hifi";
-  version = "4.0.1";
+  version = "4.1.0";
 
   src = fetchurl {
     url = "https://github.com/Mastermindzh/tidal-hifi/releases/download/${version}/tidal-hifi_${version}_amd64.deb";
-    sha256 = "1azxdr2m84ci6ppzy0j17wmza7prlnw055fks6s4i77sjw45rhlq";
+    sha256 = "1lvdym7wcg9042an03zxvckq6kmcd5v5snp2ma54f4knj9kmzwyf";
   };
 
   nativeBuildInputs = [ autoPatchelfHook dpkg makeWrapper ];
diff --git a/pkgs/applications/audio/touchosc/default.nix b/pkgs/applications/audio/touchosc/default.nix
new file mode 100644
index 00000000000..1a2cc43e4d8
--- /dev/null
+++ b/pkgs/applications/audio/touchosc/default.nix
@@ -0,0 +1,108 @@
+{ lib
+, stdenv
+, fetchurl
+, makeWrapper
+, autoPatchelfHook
+, dpkg
+, alsa-lib
+, curl
+, avahi
+, jack2
+, libxcb
+, libX11
+, libXcursor
+, libXext
+, libXi
+, libXinerama
+, libXrandr
+, libXrender
+, libXxf86vm
+, libglvnd
+, gnome
+}:
+
+let
+  runLibDeps = [
+    curl
+    avahi
+    jack2
+    libxcb
+    libX11
+    libXcursor
+    libXext
+    libXi
+    libXinerama
+    libXrandr
+    libXrender
+    libXxf86vm
+    libglvnd
+  ];
+
+  runBinDeps = [
+    gnome.zenity
+  ];
+in
+
+stdenv.mkDerivation rec {
+  pname = "touchosc";
+  version = "1.1.4.143";
+
+  suffix = {
+    aarch64-linux = "linux-arm64";
+    armv7l-linux  = "linux-armhf";
+    x86_64-linux  = "linux-x86_64";
+  }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+
+  src = fetchurl {
+    url = "https://hexler.net/pub/${pname}/${pname}-${version}-${suffix}.deb";
+    hash = {
+      aarch64-linux = "sha256-BLPTCaFtsvYzesFvOJVCCofgRVpT2hCvrpYbceh95J4=";
+      armv7l-linux  = "sha256-RpHAXj2biZDqeE9xy3Q+fcGTIvCXfTJNn/jMObfL44g=";
+      x86_64-linux  = "sha256-CD8JR1QVMBe//MyrNfo8RE1ogoVU0H87IU5rTg5rDAU=";
+    }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+  };
+
+  unpackCmd = "mkdir root; dpkg-deb -x $curSrc root";
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    makeWrapper
+    autoPatchelfHook
+    dpkg
+  ];
+
+  buildInputs = [
+    stdenv.cc.cc.lib
+    alsa-lib
+  ];
+
+  dontConfigure = true;
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out
+    cp -r usr/share $out/share
+
+    mkdir -p $out/bin
+    cp opt/touchosc/TouchOSC $out/bin/TouchOSC
+
+    wrapProgram $out/bin/TouchOSC \
+      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath runLibDeps} \
+      --prefix PATH : ${lib.makeBinPath runBinDeps}
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://hexler.net/touchosc";
+    description = "Next generation modular control surface";
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
+    license = licenses.unfree;
+    maintainers = with maintainers; [ lilyinstarlight ];
+    platforms = [ "aarch64-linux" "armv7l-linux" "x86_64-linux" ];
+    mainProgram = "TouchOSC";
+  };
+}
diff --git a/pkgs/applications/backup/pika-backup/default.nix b/pkgs/applications/backup/pika-backup/default.nix
index 868241b9232..fbe09b8aac0 100644
--- a/pkgs/applications/backup/pika-backup/default.nix
+++ b/pkgs/applications/backup/pika-backup/default.nix
@@ -18,20 +18,20 @@
 
 stdenv.mkDerivation rec {
   pname = "pika-backup";
-  version = "0.4.1";
+  version = "0.4.2";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = "pika-backup";
     rev = "v${version}";
-    hash = "sha256-D5QkNgscvNaPEykbcR451Wx8Mvn7HTuQE/22lp95Kbo=";
+    hash = "sha256-EiXu5xv42at4NBwpCbij0+YsxVlNvIYrnxmlB9ItqZc=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-c4nYlPyc7D1AMOfHjhoDJox+i83+H1YKfWzR3i6bmng=";
+    hash = "sha256-2IDkVkzH5qQM+XiyxuST5p0y4N/Sz+4+Sj3Smotaf8M=";
   };
 
   patches = [
diff --git a/pkgs/applications/backup/timeshift/unwrapped.nix b/pkgs/applications/backup/timeshift/unwrapped.nix
index 65db2406262..61964370b3e 100644
--- a/pkgs/applications/backup/timeshift/unwrapped.nix
+++ b/pkgs/applications/backup/timeshift/unwrapped.nix
@@ -10,18 +10,18 @@
 , libgee
 , util-linux
 , vte
-, xapps
+, xapp
 }:
 
 stdenv.mkDerivation rec {
   pname = "timeshift";
-  version = "22.06.1";
+  version = "22.06.5";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "timeshift";
-    rev = "v${version}";
-    sha256 = "XcxwVBKMv2YwbrI3FFWDQFs8hHruhkZq3YqzkptE6KE=";
+    rev = version;
+    sha256 = "IHX/F3tnl3ckX20mnPHmuK/W4pRTFHzBUfaJg2sMpqc=";
   };
 
   patches = [
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
     json-glib
     libgee
     vte
-    xapps
+    xapp
   ];
 
   preBuild = ''
diff --git a/pkgs/applications/blockchains/bisq-desktop/default.nix b/pkgs/applications/blockchains/bisq-desktop/default.nix
index d91f201f66b..f7d186ffeab 100644
--- a/pkgs/applications/blockchains/bisq-desktop/default.nix
+++ b/pkgs/applications/blockchains/bisq-desktop/default.nix
@@ -34,11 +34,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "bisq-desktop";
-  version = "1.9.1";
+  version = "1.9.4";
 
   src = fetchurl {
     url = "https://github.com/bisq-network/bisq/releases/download/v${version}/Bisq-64bit-${version}.deb";
-    sha256 = "0gzfcp255z542adk1g6gsmfpp5zpivv6n1f5kzqgwgm5qmr24049";
+    sha256 = "sha256-8CgbJ5gfzIEh5ppwvQxYz1IES7Dd4MZCac0uVLh/YaY=";
   };
 
   nativeBuildInputs = [ makeWrapper copyDesktopItems imagemagick dpkg zip xz ];
diff --git a/pkgs/applications/blockchains/btcpayserver/default.nix b/pkgs/applications/blockchains/btcpayserver/default.nix
index 0a8414a9664..942c411762b 100644
--- a/pkgs/applications/blockchains/btcpayserver/default.nix
+++ b/pkgs/applications/blockchains/btcpayserver/default.nix
@@ -6,13 +6,13 @@
 
 buildDotnetModule rec {
   pname = "btcpayserver";
-  version = "1.6.1";
+  version = "1.6.6";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-lz42emfVBWas1A2YuEkjGAX8V1Qe2YAZMEgMYwIhhKM=";
+    sha256 = "sha256-790/XBeFS1iM73WuBMXcEoB3gjBlU1dMPRwtQNB7taE=";
   };
 
   projectFile = "BTCPayServer/BTCPayServer.csproj";
diff --git a/pkgs/applications/blockchains/btcpayserver/deps.nix b/pkgs/applications/blockchains/btcpayserver/deps.nix
index a99f04a4f90..4dcbafb87d0 100644
--- a/pkgs/applications/blockchains/btcpayserver/deps.nix
+++ b/pkgs/applications/blockchains/btcpayserver/deps.nix
@@ -106,18 +106,18 @@
   })
   (fetchNuGet {
     pname = "Fido2.AspNet";
-    version = "2.0.1";
-    sha256 = "1d6bjyck3mlhb9b4c75xhzr2pcs47vdqg2ayi5wnjh1aszyam3nq";
+    version = "2.0.2";
+    sha256 = "0x2k1wyd0p7cy4ir15m2bxiggckl98znc65b4vq75ckjyd6dm1a1";
   })
   (fetchNuGet {
     pname = "Fido2.Models";
-    version = "2.0.1";
-    sha256 = "0llpzkik82n5gpgjawx181j85d2lizimkbdkxj1wyrjvxb2xbg3q";
+    version = "2.0.2";
+    sha256 = "1vk4h9sv2dhdr0jvh2a7yk6v9rhxk9y8hxz4mkal8vd9psajz5cg";
   })
   (fetchNuGet {
     pname = "Fido2";
-    version = "2.0.1";
-    sha256 = "1s829n970lxngbhac9lvarwa9n9hqxr79kwv8i12amnmg6ir8ny5";
+    version = "2.0.2";
+    sha256 = "1wqlk48apm7h637da7sav0r1a8yz2yy2gxhifpvydjqk1n3qybz4";
   })
   (fetchNuGet {
     pname = "Google.Api.Gax.Rest";
@@ -211,11 +211,6 @@
   })
   (fetchNuGet {
     pname = "Microsoft.AspNet.WebApi.Client";
-    version = "5.2.7";
-    sha256 = "1j0wbdmycj5xbk06p32f7xrddc40sbj3yca4d7ywg611yk26mvi1";
-  })
-  (fetchNuGet {
-    pname = "Microsoft.AspNet.WebApi.Client";
     version = "5.2.9";
     sha256 = "1sy1q36bm9fz3gi780w4jgysw3dwaz2f3a5gcn6jxw1gkmdasb08";
   })
@@ -226,13 +221,13 @@
   })
   (fetchNuGet {
     pname = "Microsoft.AspNetCore.Cryptography.Internal";
-    version = "6.0.1";
-    sha256 = "1mj04ynr6bxvmq9nrggi832n8hbcr9j9kjr9y2rgiq91y6skzg37";
+    version = "6.0.7";
+    sha256 = "0g9n5f0p9grjl1fzd7h6dd4ywkc1r7irqyjslkrrvnjqzqg7a2mp";
   })
   (fetchNuGet {
     pname = "Microsoft.AspNetCore.Cryptography.KeyDerivation";
-    version = "6.0.1";
-    sha256 = "0aqaviwbnwg0vpwwdbif7b9ncpckwpclm77l3ac11s8fsq3vb3sm";
+    version = "6.0.7";
+    sha256 = "0n6l22yp6qrq3wjgkgrlxf5zmpcx0cz8s9hh99g6i88fmhav7dxh";
   })
   (fetchNuGet {
     pname = "Microsoft.AspNetCore.Hosting.Abstractions";
@@ -271,33 +266,33 @@
   })
   (fetchNuGet {
     pname = "Microsoft.AspNetCore.Identity.EntityFrameworkCore";
-    version = "6.0.1";
-    sha256 = "1j9z0xzj2hlffhg28ijp33flljq75js8dvlchbpggvvd789hm4il";
+    version = "6.0.7";
+    sha256 = "1sygbi88w9kkypq3nr7i81mxll8xdnjw9dp6h1dyyr7wr37yhr81";
   })
   (fetchNuGet {
     pname = "Microsoft.AspNetCore.JsonPatch";
-    version = "6.0.1";
-    sha256 = "0rsqng2b8a3zaha9c2x1195das5wwvmnz31xf14ancgha4lxq68r";
+    version = "6.0.7";
+    sha256 = "0l235hs1j24iqvk79p95sfrsfbj6l2kb10x9zi34jinvldyn5ln6";
   })
   (fetchNuGet {
     pname = "Microsoft.AspNetCore.Mvc.NewtonsoftJson";
-    version = "6.0.1";
-    sha256 = "179b2774s68im71r32lv4nydcp586x86zggs8ml6jcfjrd9fs5b1";
+    version = "6.0.7";
+    sha256 = "08g3aq8gn917r55hnx1i36jfwy51311yns0x6wpvs9d2y4ncygk4";
   })
   (fetchNuGet {
     pname = "Microsoft.AspNetCore.Mvc.Razor.Extensions";
-    version = "6.0.1";
-    sha256 = "1grhlksdd7mwv72g78kx86mzba8mgza3i53x9jv16bkc1wxqwfcd";
+    version = "6.0.7";
+    sha256 = "0zsyqfywa6c01aflqdj4bc8cdwlcz4xiafkn6f07xbsl3p9v0lk5";
   })
   (fetchNuGet {
     pname = "Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation";
-    version = "6.0.1";
-    sha256 = "0778xw230flwqkjjydp73gb6r3brrlqwqdrf4m0b92b083bysh59";
+    version = "6.0.7";
+    sha256 = "1bfrdwvz12fs31pdjxhj8arjw8pvawsp64wlj2sfmll7q3618jgp";
   })
   (fetchNuGet {
     pname = "Microsoft.AspNetCore.Razor.Language";
-    version = "6.0.1";
-    sha256 = "11spvrnp2mz5kc11ycv2wpgn8bilwpinbl6vkvvr7jjrqlm36lk1";
+    version = "6.0.7";
+    sha256 = "0757507ivh8q6xfrbihnhnfya0g4wd5j033i2fcsinfyn576wc8c";
   })
   (fetchNuGet {
     pname = "Microsoft.AspNetCore.SignalR.Client.Core";
@@ -325,14 +320,19 @@
     sha256 = "162vb5894zxps0cf5n9gc08an7gwybzz87allx3lsszvllr9ldx4";
   })
   (fetchNuGet {
+    pname = "Microsoft.CodeAnalysis.Analyzers";
+    version = "3.3.3";
+    sha256 = "09m4cpry8ivm9ga1abrxmvw16sslxhy2k5sl14zckhqb1j164im6";
+  })
+  (fetchNuGet {
     pname = "Microsoft.CodeAnalysis.Common";
     version = "4.0.0";
     sha256 = "1rwnz5zy7ia9312n2qzzar95x9p7iiw57cql7ssdwv255xl1ix29";
   })
   (fetchNuGet {
     pname = "Microsoft.CodeAnalysis.Common";
-    version = "4.0.1";
-    sha256 = "0axjv1nhk1z9d4c51d9yxdp09l8yqqnqaifhqcwnxnv0r4y5cka9";
+    version = "4.2.0";
+    sha256 = "0ld6xxgaqc3c6zgyimlvpgrxncsykbz8irqs01jyj40rv150kp8s";
   })
   (fetchNuGet {
     pname = "Microsoft.CodeAnalysis.CSharp";
@@ -341,18 +341,18 @@
   })
   (fetchNuGet {
     pname = "Microsoft.CodeAnalysis.CSharp";
-    version = "4.0.1";
-    sha256 = "1h6jfifg7pw2vacpdds4v4jqnaydg9b108irf315wzx6rh8yv9cb";
+    version = "4.2.0";
+    sha256 = "0i1c7055j3f5k1765bl66amp72dcw0zapczfszdldbg91iqmmkxg";
   })
   (fetchNuGet {
     pname = "Microsoft.CodeAnalysis.Razor";
-    version = "6.0.1";
-    sha256 = "0dwwhiv28wyzq3177qg961ll2q3ggiw2k0zdashgym5cl67p93lm";
+    version = "6.0.7";
+    sha256 = "1jnwch6vb7v95q005wq2z7fv5pisbdi2yn0n9hmxwz3kaiqcqjdm";
   })
   (fetchNuGet {
     pname = "Microsoft.CodeCoverage";
-    version = "17.0.0";
-    sha256 = "18gdbsqf6i79ld4ikqr4jhx9ndsggm865b5xj1xmnmgg12ydp19a";
+    version = "17.2.0";
+    sha256 = "018yl113i037m5qhm3z6csb0c4l8kj412dxw2dagdbj07qbxwikj";
   })
   (fetchNuGet {
     pname = "Microsoft.CSharp";
@@ -371,8 +371,8 @@
   })
   (fetchNuGet {
     pname = "Microsoft.Data.Sqlite.Core";
-    version = "6.0.1";
-    sha256 = "0gzn3rynp9k6mx4h4dhq124b7ra8m11rkjh40r2r8z4gkr0shjv1";
+    version = "6.0.7";
+    sha256 = "0r5njqyl10dv0akwl5y32ik0rpzs9lwj151j6ayz358pn4x26akk";
   })
   (fetchNuGet {
     pname = "Microsoft.DotNet.PlatformAbstractions";
@@ -386,43 +386,53 @@
   })
   (fetchNuGet {
     pname = "Microsoft.EntityFrameworkCore.Abstractions";
-    version = "6.0.1";
-    sha256 = "15mx86i7gqlak604vr853x7a4b4l48wz5vqh9qbib7wh4pkf4rp3";
+    version = "6.0.5";
+    sha256 = "1vziijdf6kmv61i09bk0yxnbn08b48dy1jn4qbmhxaka745z1w6x";
+  })
+  (fetchNuGet {
+    pname = "Microsoft.EntityFrameworkCore.Abstractions";
+    version = "6.0.7";
+    sha256 = "0xhkh9k3xpgjdsizg1wdncwz4rdjvffq3x0sfcarscmg2j5fa4yj";
   })
   (fetchNuGet {
     pname = "Microsoft.EntityFrameworkCore.Analyzers";
-    version = "6.0.1";
-    sha256 = "16739crhjky22j53v8varninz9bqdmdfwjnzj6xvfxqfl858jja5";
+    version = "6.0.7";
+    sha256 = "0fdh0w5c51kkpvh1p5f0dn90kikh3zdyc1k4hjvv1z8kr603nd1b";
   })
   (fetchNuGet {
     pname = "Microsoft.EntityFrameworkCore.Design";
+    version = "6.0.7";
+    sha256 = "0mdb2gqmb94sw38cpqm972vdhh88n7q81xhq4gq771hp2wspn5ap";
+  })
+  (fetchNuGet {
+    pname = "Microsoft.EntityFrameworkCore.Relational";
     version = "6.0.1";
-    sha256 = "13bi91lkasy4qj04jn2hmbwpsc6fybgllwsr87qhz5p86ig9ryq9";
+    sha256 = "0224qas1rl3jv02ribb2lwfqcd64ij40v6q10369h4mrwr071zr2";
   })
   (fetchNuGet {
     pname = "Microsoft.EntityFrameworkCore.Relational";
-    version = "6.0.0";
-    sha256 = "1v2r8004isvz4d8qxh5clgkbnlwivjlsqhn7skw0y9b5i61y2mwk";
+    version = "6.0.5";
+    sha256 = "027j472gmqkrazy7b044qllsh8zbvl7lv3mdgnbghrhj06jfasm6";
   })
   (fetchNuGet {
     pname = "Microsoft.EntityFrameworkCore.Relational";
-    version = "6.0.1";
-    sha256 = "0224qas1rl3jv02ribb2lwfqcd64ij40v6q10369h4mrwr071zr2";
+    version = "6.0.7";
+    sha256 = "1kx0ac7jgf8nmp5nra4cd6h2xbwvb3zkyzx7cds60y1j9nm7lx1g";
   })
   (fetchNuGet {
     pname = "Microsoft.EntityFrameworkCore.Sqlite.Core";
-    version = "6.0.1";
-    sha256 = "1snpa3pzpqfsnf2dpmvhv08lzcdiqcl5af6aldlxrm82dpif95q5";
+    version = "6.0.7";
+    sha256 = "15l36dgq6rzvgx7i9g9jm3298p9g1pdahwa2dxblmm0gzsp65wpl";
   })
   (fetchNuGet {
     pname = "Microsoft.EntityFrameworkCore.Sqlite";
-    version = "6.0.1";
-    sha256 = "14r1j8bamfwnjzx6igc5nzqvp5gzl2wyfbi53pznkw61xcf6hnch";
+    version = "6.0.7";
+    sha256 = "1mam4qg6yq6qnlkx3i45gs3nwgd7njfm9r5gjs1p9wm6bm953dad";
   })
   (fetchNuGet {
     pname = "Microsoft.EntityFrameworkCore";
-    version = "6.0.1";
-    sha256 = "0ynspdv0f199ppwcg7hnjv6hp01qyaxfcmh1phy9nwjjxlrkwkjc";
+    version = "6.0.7";
+    sha256 = "1wcjjn70v8cyy5flga0nlnhg973s6pzb3rpnzv905ix3g70zdp4k";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Caching.Abstractions";
@@ -436,8 +446,8 @@
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Caching.Memory";
-    version = "6.0.0";
-    sha256 = "0dq1x7962zsp926rj76i4akk4hsy7r5ldys8r4xsd78rq5f67rhq";
+    version = "6.0.1";
+    sha256 = "0ra0ldbg09r40jzvfqhpb3h42h80nafvka9hg51dja32k3mxn5gk";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Configuration.Abstractions";
@@ -606,13 +616,13 @@
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Identity.Core";
-    version = "6.0.1";
-    sha256 = "1kwn30a024fqi9gpap8g2wifjzij0bcz70lgz7bdz4vy3sp9mn99";
+    version = "6.0.7";
+    sha256 = "1xxqqh3flx0g8fzi9v0565amfvc72ci8vkya08gf2h67syn63s6l";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Identity.Stores";
-    version = "6.0.1";
-    sha256 = "1l2njmcg4fvg6jr9gjvcr7yfj0r0ndwsa8r1dwlaciz3a2x2pfg8";
+    version = "6.0.7";
+    sha256 = "0lsvbbfppxkz5xxq9q77k7222szy7g5974q7nr1c39gwdsy0j22d";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Logging.Abstractions";
@@ -756,8 +766,8 @@
   })
   (fetchNuGet {
     pname = "Microsoft.NET.Test.Sdk";
-    version = "17.0.0";
-    sha256 = "0bknyf5kig5icwjxls7pcn51x2b2qf91dz9qv67fl70v6cczaz2r";
+    version = "17.2.0";
+    sha256 = "0ncnq378pk1immy2dyf75xjf2xn72r4m5gma1njhc4rvhzx9qz11";
   })
   (fetchNuGet {
     pname = "Microsoft.NetCore.Analyzers";
@@ -796,13 +806,13 @@
   })
   (fetchNuGet {
     pname = "Microsoft.TestPlatform.ObjectModel";
-    version = "17.0.0";
-    sha256 = "1bh5scbvl6ndldqv20sl34h4y257irm9ziv2wyfc3hka6912fhn7";
+    version = "17.2.0";
+    sha256 = "0l05smcgjzdfa5f60f9q5lylap3i21aswxbava92s19bgv46w2rv";
   })
   (fetchNuGet {
     pname = "Microsoft.TestPlatform.TestHost";
-    version = "17.0.0";
-    sha256 = "06mn31cgpp7d8lwdyjanh89prc66j37dchn74vrd9s588rq0y70r";
+    version = "17.2.0";
+    sha256 = "1238hx3hdg22s123cxygdfm89h54abw1jv6az6hl8h76ip39ybdp";
   })
   (fetchNuGet {
     pname = "Microsoft.Win32.Primitives";
@@ -821,8 +831,8 @@
   })
   (fetchNuGet {
     pname = "MySqlConnector";
-    version = "2.0.0";
-    sha256 = "0l0r4wr1h176w6hcsfjp5kx05fpzhhgzxcmirv8zfyk899vfgqkz";
+    version = "2.1.2";
+    sha256 = "12wgwns172vjldp1cvcq212zizpw18za7z3438rdh40zkq55s5yz";
   })
   (fetchNuGet {
     pname = "NBitcoin.Altcoins";
@@ -850,6 +860,11 @@
     sha256 = "05kqpjyp3ckb2183g9vfsdv362y5xg5j21p36zls0x3b0jgrwxw7";
   })
   (fetchNuGet {
+    pname = "NBitcoin";
+    version = "7.0.10";
+    sha256 = "1yp43n18b9qwh1ck3hxkarncbfn7r3indfdyjimapxibk3f8jm1v";
+  })
+  (fetchNuGet {
     pname = "NBitpayClient";
     version = "1.0.0.39";
     sha256 = "1sgwradg7jnb4n3chwqfkximj1qhgl3r23p0sifmaa0kql2hlira";
@@ -926,13 +941,13 @@
   })
   (fetchNuGet {
     pname = "Npgsql.EntityFrameworkCore.PostgreSQL";
-    version = "6.0.3";
-    sha256 = "0mgwm9psxvrq6vs2cy7m72wnknydgrs71hir2jqal5wbdh8g01np";
+    version = "6.0.5";
+    sha256 = "0b50hzzhd8igibxm3vkmq0h7cljx13l1fxrgznh6k2v57r0vvfnq";
   })
   (fetchNuGet {
     pname = "Npgsql";
-    version = "6.0.3";
-    sha256 = "1crzgi4dfbn8r381m9rvkma5xi2q7gqdzgxhc36hy3r0y63v1l8q";
+    version = "6.0.5";
+    sha256 = "1555xj2725kkg4jyxhz6pkqwirdqyw5j5h1q3vaykpns61i2h48q";
   })
   (fetchNuGet {
     pname = "NSec.Cryptography";
@@ -941,8 +956,8 @@
   })
   (fetchNuGet {
     pname = "NuGet.Frameworks";
-    version = "5.0.0";
-    sha256 = "18ijvmj13cwjdrrm52c8fpq021531zaz4mj4b4zapxaqzzxf2qjr";
+    version = "5.11.0";
+    sha256 = "0wv26gq39hfqw9md32amr5771s73f5zn1z9vs4y77cgynxr73s4z";
   })
   (fetchNuGet {
     pname = "NUglify";
@@ -966,8 +981,8 @@
   })
   (fetchNuGet {
     pname = "Pomelo.EntityFrameworkCore.MySql";
-    version = "6.0.0";
-    sha256 = "0qvm5rh9kv8znsp8wbss81w5a2afh0dl13pwkc824j7ywklz0gzz";
+    version = "6.0.1";
+    sha256 = "1g212yfzlphn97gn7v4zcpi4ihfk1xp014kw498pcma49dqirn54";
   })
   (fetchNuGet {
     pname = "Portable.BouncyCastle";
@@ -1341,8 +1356,8 @@
   })
   (fetchNuGet {
     pname = "System.IO.Pipelines";
-    version = "6.0.1";
-    sha256 = "0b6zvhhfdxx0wx3bzyvxbq0mk8l5lbjak5124sn0gkif5jb388w4";
+    version = "6.0.3";
+    sha256 = "1jgdazpmwc21dd9naq3l9n5s8a1jnbwlvgkf1pnm0aji6jd4xqdz";
   })
   (fetchNuGet {
     pname = "System.IO";
@@ -1720,6 +1735,11 @@
     sha256 = "1z21qyfs6sg76rp68qdx0c9iy57naan89pg7p6i3qpj8kyzn921w";
   })
   (fetchNuGet {
+    pname = "System.Text.Encoding.CodePages";
+    version = "6.0.0";
+    sha256 = "0gm2kiz2ndm9xyzxgi0jhazgwslcs427waxgfa30m7yqll1kcrww";
+  })
+  (fetchNuGet {
     pname = "System.Text.Encoding.Extensions";
     version = "4.0.11";
     sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs";
@@ -1921,8 +1941,8 @@
   })
   (fetchNuGet {
     pname = "xunit.runner.visualstudio";
-    version = "2.4.3";
-    sha256 = "0j1d0rbcm7pp6dypi61sjxp8l22sv261252z55b243l39jgv2rp3";
+    version = "2.4.5";
+    sha256 = "0y8w33ci80z8k580pp24mfnaw1r8ji0w3az543xxcz6aagax9zhs";
   })
   (fetchNuGet {
     pname = "xunit";
diff --git a/pkgs/applications/blockchains/charge-lnd/default.nix b/pkgs/applications/blockchains/charge-lnd/default.nix
index 1571e09e3e9..83b3c0c29b3 100644
--- a/pkgs/applications/blockchains/charge-lnd/default.nix
+++ b/pkgs/applications/blockchains/charge-lnd/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "charge-lnd";
-  version = "0.2.4";
+  version = "0.2.12";
 
   src = fetchFromGitHub {
     owner = "accumulator";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1d1cbpmpppp7z1bmsarwfs314c7ypchlyr4calx0fzxfpxzfks5k";
+    sha256 = "uiXmLdQAglgLxOX6IoF1iNZvje4EM7Tr25Okx9TPyzI=";
   };
 
   propagatedBuildInputs = with python3Packages; [
@@ -22,7 +22,7 @@ python3Packages.buildPythonApplication rec {
   ];
 
   postInstall = ''
-    install README.md charge.config.example -Dt $out/share/doc/charge-lnd
+    install README.md -Dt $out/share/doc/charge-lnd
   '';
 
   doInstallCheck = true;
@@ -34,6 +34,6 @@ python3Packages.buildPythonApplication rec {
     description = "Simple policy-based fee manager for lightning network daemon";
     homepage = "https://github.com/accumulator/charge-lnd";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ mmilata ];
+    maintainers = with maintainers; [ mmilata mariaa144 ];
   };
 }
diff --git a/pkgs/applications/blockchains/ergo/default.nix b/pkgs/applications/blockchains/ergo/default.nix
index 85c616304b7..4bd870fc5d4 100644
--- a/pkgs/applications/blockchains/ergo/default.nix
+++ b/pkgs/applications/blockchains/ergo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ergo";
-  version = "4.0.35";
+  version = "4.0.38";
 
   src = fetchurl {
     url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar";
-    sha256 = "sha256-DrDBGb3/trIqHuitj6YVRmXT1/sz9sWQcW4OHj4vhLo=";
+    sha256 = "sha256-FdgF2xxqk9n1la6Lu4g6n+3O5pgIUKSYC3KzH0yM2Ok=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/blockchains/erigon.nix b/pkgs/applications/blockchains/erigon.nix
index 0f127c4f0d4..e17baf49dc7 100644
--- a/pkgs/applications/blockchains/erigon.nix
+++ b/pkgs/applications/blockchains/erigon.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "erigon";
-  version = "2022.07.02";
+  version = "2022.07.03";
 
   src = fetchFromGitHub {
     owner = "ledgerwatch";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-/aT8E60dCk5spj5l5Zw/8FL1LfzXWYi7agiLflLYI5c=";
+    sha256 = "sha256-zWygG06H5+QuG11klRq+7T2v40FNMxmYENdsK3KB+ko=";
     fetchSubmodules = true;
   };
 
-  vendorSha256 = "sha256-NBWK0wsUbv4bFbmW3xGaQ7LCgmgfRF5zbc/awm8ZZZY=";
+  vendorSha256 = "sha256-vxLe8uEjuQ96JiIDxlSrpVATScNl2fscXVUqFKmMPxs=";
   proxyVendor = true;
 
   # Build errors in mdbx when format hardening is enabled:
diff --git a/pkgs/applications/blockchains/exodus/default.nix b/pkgs/applications/blockchains/exodus/default.nix
index 00fe747193a..82da3f29173 100644
--- a/pkgs/applications/blockchains/exodus/default.nix
+++ b/pkgs/applications/blockchains/exodus/default.nix
@@ -4,11 +4,11 @@ cups, vivaldi-ffmpeg-codecs, libpulseaudio, at-spi2-core, libxkbcommon, mesa }:
 
 stdenv.mkDerivation rec {
   pname = "exodus";
-  version = "22.7.15";
+  version = "22.7.29";
 
   src = fetchzip {
     url = "https://downloads.exodus.io/releases/${pname}-linux-x64-${version}.zip";
-    sha256 = "sha256-KAv+H6uJBDGzjg5Qmy54EtiVvV1OGJ6r3XnAQO7qjIg=";
+    sha256 = "sha256-vshcXuFuOuXlmdgqK+pj6dAbeYGNR2YA79AzkeUzNtk=";
   };
 
   installPhase = ''
@@ -73,6 +73,6 @@ stdenv.mkDerivation rec {
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ mmahut rople380 ];
+    maintainers = with maintainers; [ mmahut rople380 Crafter ];
   };
 }
diff --git a/pkgs/applications/blockchains/framesh/default.nix b/pkgs/applications/blockchains/framesh/default.nix
index 098d56ec4a7..a1ded4cc7cc 100644
--- a/pkgs/applications/blockchains/framesh/default.nix
+++ b/pkgs/applications/blockchains/framesh/default.nix
@@ -2,10 +2,10 @@
 
 let
   pname = "framesh";
-  version = "0.5.0-beta.21";
+  version = "0.5.0-beta.22";
   src = fetchurl {
     url = "https://github.com/floating/frame/releases/download/v${version}/Frame-${version}.AppImage";
-    sha256 = "sha256-rWZ7oC74qrylNPIfBzHnNMcsYjccGL2zeXFab9OwBNA=";
+    sha256 = "sha256-/y7Pf1ADtz0CBeKKCHtSPOYvU7HCpq7hM/J4Ddq1XiA=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
index 18909852ac8..1fc4170ffed 100644
--- a/pkgs/applications/blockchains/ledger-live-desktop/default.nix
+++ b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
@@ -2,11 +2,11 @@
 
 let
   pname = "ledger-live-desktop";
-  version = "2.45.0";
+  version = "2.45.1";
 
   src = fetchurl {
     url = "https://download.live.ledger.com/${pname}-${version}-linux-x86_64.AppImage";
-    hash = "sha256-jw4ocBtyxhPhI2GnhL9tbduY4iIQK53vUHB64qSGXKI=";
+    hash = "sha256-KUp7ZQZ+THjioOSe3A40Zj+5OteWxEv+dnSbTUM8qME=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/blockchains/lndhub-go/default.nix b/pkgs/applications/blockchains/lndhub-go/default.nix
index 728f28dee86..a563703c6bc 100644
--- a/pkgs/applications/blockchains/lndhub-go/default.nix
+++ b/pkgs/applications/blockchains/lndhub-go/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "lndhub-go";
-  version = "0.9.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "getAlby";
     repo = "lndhub.go";
     rev = "${version}";
-    sha256 = "sha256-QtLSI5xjXevTTr85Zsylabhay52ul8jFq1j6WzgSLcs=";
+    sha256 = "sha256-f/CkmO0KHupmi4XZDWRbvesLnYIxT6DlThgX3S/kdJ8=";
   };
 
-  vendorSha256 = "sha256-12RTaXStvx29JjE1u3AjBTrPf6gKfLHJHMJpbQysEew=";
+  vendorSha256 = "sha256-SWQudULFRMrKmxY6ZgH0NL8d6UPxowQnovhRx+209D4=";
 
   doCheck = false; # tests require networking
 
diff --git a/pkgs/applications/blockchains/masari/default.nix b/pkgs/applications/blockchains/masari/default.nix
index bf995da36af..175cd7a31bd 100644
--- a/pkgs/applications/blockchains/masari/default.nix
+++ b/pkgs/applications/blockchains/masari/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     description = "scalability-focused, untraceable, secure, and fungible cryptocurrency using the RingCT protocol";
     homepage = "https://www.getmasari.org/";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ fpletz ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/blockchains/monero-cli/default.nix b/pkgs/applications/blockchains/monero-cli/default.nix
index 39e416e430a..1709c8833cb 100644
--- a/pkgs/applications/blockchains/monero-cli/default.nix
+++ b/pkgs/applications/blockchains/monero-cli/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "monero-cli";
-  version = "0.17.3.2";
+  version = "0.18.1.0";
 
   src = fetchFromGitHub {
     owner = "monero-project";
     repo = "monero";
     rev = "v${version}";
-    sha256 = "19sgcbli7fc1l6ms7ma6hcz1mmpbnd296lc8a19rl410acpv45zy";
+    sha256 = "sha256-xniGiGqZpL1b6alnCxa2MNzuDQxPgMdNjqifOC8h0qM=";
     fetchSubmodules = true;
   };
 
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     # remove vendored libraries
-    rm -r external/{miniupnp,randomx,rapidjson,unbound}
+    rm -r external/{miniupnp,randomx,rapidjson}
     # export patched source for monero-gui
     cp -r . $source
   '';
diff --git a/pkgs/applications/blockchains/monero-gui/default.nix b/pkgs/applications/blockchains/monero-gui/default.nix
index 6b2cc4a7f92..6627c29d995 100644
--- a/pkgs/applications/blockchains/monero-gui/default.nix
+++ b/pkgs/applications/blockchains/monero-gui/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "monero-gui";
-  version = "0.17.3.2";
+  version = "0.18.1.0";
 
   src = fetchFromGitHub {
-    owner  = "monero-project";
-    repo   = "monero-gui";
-    rev    = "v${version}";
-    sha256 = "10gincmgc0qpsgm94m1fqfy9j8jn9g1gjk12lcqnf77kvcnz37hq";
+    owner = "monero-project";
+    repo = "monero-gui";
+    rev = "v${version}";
+    sha256 = "sha256-XL7DV4YD/U6RiqgdYJf6zFfvJWlOx//4YVmnc51riiE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/blockchains/namecoin/default.nix b/pkgs/applications/blockchains/namecoin/default.nix
index e9b9d104410..a42e474c258 100644
--- a/pkgs/applications/blockchains/namecoin/default.nix
+++ b/pkgs/applications/blockchains/namecoin/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "namecoin" + lib.optionalString (!withGui) "d";
-  version = "22.0";
+  version = "23.0";
 
   src = fetchFromGitHub {
     owner = "namecoin";
     repo = "namecoin-core";
     rev = "nc${version}";
-    sha256 = "sha256-Z3CLDe0c4IpFPPTie8yoh0kcuvGmiegSgl4ITNSDkgY=";
+    sha256 = "sha256-MfqJ7EcJvlQ01Mr1RQpXVNUlGIwNqFTxrVwGa+Hus+A=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/blockchains/nbxplorer/default.nix b/pkgs/applications/blockchains/nbxplorer/default.nix
index 17cf43f8af0..9ff2a65acfb 100644
--- a/pkgs/applications/blockchains/nbxplorer/default.nix
+++ b/pkgs/applications/blockchains/nbxplorer/default.nix
@@ -6,13 +6,13 @@
 
 buildDotnetModule rec {
   pname = "nbxplorer";
-  version = "2.3.28";
+  version = "2.3.33";
 
   src = fetchFromGitHub {
     owner = "dgarage";
     repo = "NBXplorer";
     rev = "v${version}";
-    sha256 = "sha256-4KedlU+TMwO6C/dgNa23N4uPk8gPq2SQKzYkCZS508I=";
+    sha256 = "sha256-yvnWSmf4FJoZ7ajZQQJFLleIQ/hmHD+rDoktJeIll+U=";
   };
 
   projectFile = "NBXplorer/NBXplorer.csproj";
diff --git a/pkgs/applications/blockchains/nbxplorer/deps.nix b/pkgs/applications/blockchains/nbxplorer/deps.nix
index 3bc5e06a159..76fd74f6c59 100644
--- a/pkgs/applications/blockchains/nbxplorer/deps.nix
+++ b/pkgs/applications/blockchains/nbxplorer/deps.nix
@@ -11,13 +11,13 @@
   })
   (fetchNuGet {
     pname = "Microsoft.AspNetCore.JsonPatch";
-    version = "6.0.1";
-    sha256 = "0rsqng2b8a3zaha9c2x1195das5wwvmnz31xf14ancgha4lxq68r";
+    version = "6.0.7";
+    sha256 = "0l235hs1j24iqvk79p95sfrsfbj6l2kb10x9zi34jinvldyn5ln6";
   })
   (fetchNuGet {
     pname = "Microsoft.AspNetCore.Mvc.NewtonsoftJson";
-    version = "6.0.1";
-    sha256 = "179b2774s68im71r32lv4nydcp586x86zggs8ml6jcfjrd9fs5b1";
+    version = "6.0.7";
+    sha256 = "08g3aq8gn917r55hnx1i36jfwy51311yns0x6wpvs9d2y4ncygk4";
   })
   (fetchNuGet {
     pname = "Microsoft.Azure.Amqp";
@@ -36,8 +36,8 @@
   })
   (fetchNuGet {
     pname = "Microsoft.CodeCoverage";
-    version = "16.11.0";
-    sha256 = "0f41l3kks6wk5vjaxpjh8m2flnrvlbvqgqflamhv8rfz4y8ifgdv";
+    version = "17.2.0";
+    sha256 = "018yl113i037m5qhm3z6csb0c4l8kj412dxw2dagdbj07qbxwikj";
   })
   (fetchNuGet {
     pname = "Microsoft.CSharp";
@@ -56,43 +56,43 @@
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Configuration.Abstractions";
-    version = "2.1.0";
-    sha256 = "03gzlr3z9j1xnr1k6y91zgxpz3pj27i3zsvjwj7i8jqnlqmk7pxd";
+    version = "6.0.0";
+    sha256 = "0w6wwxv12nbc3sghvr68847wc9skkdgsicrz3fx4chgng1i3xy0j";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Configuration.EnvironmentVariables";
-    version = "2.1.0";
-    sha256 = "0xx3idb1l5y1da5zynlys5gyarijmw5pc9hgci8xdxbrcv6rzbjb";
+    version = "6.0.0";
+    sha256 = "19w2vxliz1xangbach3hkx72x2pxqhc9n9c3kc3l8mhicl8w6vdl";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Configuration.FileExtensions";
-    version = "2.1.0";
-    sha256 = "1lz2xwm63clbh9dfhmygbqvcp4dsrwh5jihv82dmqd5h7lqngl40";
+    version = "6.0.0";
+    sha256 = "02nna984iwnyyz4jjh9vs405nlj0yk1g5vz4v2x30z2c89mx5f9w";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Configuration.Ini";
-    version = "2.1.0";
-    sha256 = "0bchsljywcq36si4zs2dcx2gj8x98ww93dh2bx2z6x5ilxyjnfip";
+    version = "6.0.0";
+    sha256 = "18qg1f7yvgvrgsq40cgc1yvpb9av84ma80k3grhvwn1cyam2img6";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Configuration";
-    version = "2.1.0";
-    sha256 = "04rjl38wlr1jjjpbzgf64jp0ql6sbzbil0brwq9mgr3hdgwd7vx2";
+    version = "6.0.0";
+    sha256 = "1zdyai2rzngmsp3706d12qrdk315c1s3ja218fzb3nc3wd1vz0s8";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.FileProviders.Abstractions";
-    version = "2.1.0";
-    sha256 = "1sxls5f5cgb0wr8cwb05skqmz074683hrhmd3hhq6m5dasnzb8n3";
+    version = "6.0.0";
+    sha256 = "1fbqmfapxdz77drcv1ndyj2ybvd2rv4c9i9pgiykcpl4fa6dc65q";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.FileProviders.Physical";
-    version = "2.1.0";
-    sha256 = "1firpsl5bk219i9gdfgiqw1zm68146h1dzx9hvawfpw9slfaa56w";
+    version = "6.0.0";
+    sha256 = "1ikc3kf325xig6njbi2aj5kmww4xlaq9lsrpc8v764fsm4x10474";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.FileSystemGlobbing";
-    version = "2.1.0";
-    sha256 = "1d2622qp22x1cnlwycnzjbc3sgi9jria26fk78zwzsa08npa3avv";
+    version = "6.0.0";
+    sha256 = "09gyyv4fwy9ys84z3aq4lm9y09b7bd1d4l4gfdinmg0z9678f1a4";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Logging.Abstractions";
@@ -101,13 +101,13 @@
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Logging.Abstractions";
-    version = "2.1.0";
-    sha256 = "1gvgif1wcx4k6pv7gc00qv1hid945jdywy1s50s33q0hfd91hbnj";
+    version = "6.0.0";
+    sha256 = "0b75fmins171zi6bfdcq1kcvyrirs8n91mknjnxy4c3ygi1rrnj0";
   })
   (fetchNuGet {
     pname = "Microsoft.Extensions.Primitives";
-    version = "2.1.0";
-    sha256 = "1r9gzwdfmb8ysnc4nzmyz5cyar1lw0qmizsvrsh252nhlyg06nmb";
+    version = "6.0.0";
+    sha256 = "1kjiw6s4yfz9gm7mx3wkhp06ghnbs95icj9hi505shz9rjrg42q2";
   })
   (fetchNuGet {
     pname = "Microsoft.IdentityModel.Clients.ActiveDirectory";
@@ -131,8 +131,8 @@
   })
   (fetchNuGet {
     pname = "Microsoft.NET.Test.Sdk";
-    version = "16.11.0";
-    sha256 = "1a2y6vw6p9xp3w72zq2lwrjl8bxv87s9d7zd2dh4zwbzh1c5slxl";
+    version = "17.2.0";
+    sha256 = "0ncnq378pk1immy2dyf75xjf2xn72r4m5gma1njhc4rvhzx9qz11";
   })
   (fetchNuGet {
     pname = "Microsoft.NETCore.Platforms";
@@ -161,13 +161,13 @@
   })
   (fetchNuGet {
     pname = "Microsoft.TestPlatform.ObjectModel";
-    version = "16.11.0";
-    sha256 = "1fc0ghk1cny4i8w43b94pxhl0srxisv6kaflkkp30ncsa9szhkxh";
+    version = "17.2.0";
+    sha256 = "0l05smcgjzdfa5f60f9q5lylap3i21aswxbava92s19bgv46w2rv";
   })
   (fetchNuGet {
     pname = "Microsoft.TestPlatform.TestHost";
-    version = "16.11.0";
-    sha256 = "0hp1vndf2jhyg1f3miq4g2068z5kpfzy6nmswm25vymghxp1ws4k";
+    version = "17.2.0";
+    sha256 = "1238hx3hdg22s123cxygdfm89h54abw1jv6az6hl8h76ip39ybdp";
   })
   (fetchNuGet {
     pname = "Microsoft.Win32.Primitives";
@@ -186,28 +186,28 @@
   })
   (fetchNuGet {
     pname = "NBitcoin.Altcoins";
-    version = "3.0.8";
-    sha256 = "1qck2nfj8494pxwzhccslq4cbypsgnwcv3nvz24czsd87wn8n618";
+    version = "3.0.11";
+    sha256 = "1l8v07k862apyfr7h37jl7nrlr8mlscsqdqsmp2qdl0502x0gms3";
   })
   (fetchNuGet {
     pname = "NBitcoin.TestFramework";
-    version = "3.0.9";
-    sha256 = "08pwab9f2565day9b0fjzfv5ik3pbwvgvl190gh0bmwi5xv4vq93";
+    version = "3.0.11";
+    sha256 = "1v3g323vs65qk190dgcm3v6lzhq1ng9p1ywd39jq53hcny76fgcb";
   })
   (fetchNuGet {
     pname = "NBitcoin";
-    version = "7.0.8";
-    sha256 = "0h76a5wha3rqchjzhvslmm8f7qkya77n8avh5i05nvnrigf0bj5q";
+    version = "7.0.10";
+    sha256 = "1yp43n18b9qwh1ck3hxkarncbfn7r3indfdyjimapxibk3f8jm1v";
   })
   (fetchNuGet {
-    pname = "NETStandard.Library";
-    version = "1.6.1";
-    sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8";
+    pname = "NBitcoin";
+    version = "7.0.9";
+    sha256 = "0bdw54q4d5vbyrgj7r4rs8322z1knl79hmhzmq3knqf68yidi87g";
   })
   (fetchNuGet {
     pname = "NETStandard.Library";
-    version = "2.0.3";
-    sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y";
+    version = "1.6.1";
+    sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8";
   })
   (fetchNuGet {
     pname = "Newtonsoft.Json.Bson";
@@ -236,28 +236,28 @@
   })
   (fetchNuGet {
     pname = "NicolasDorier.CommandLine.Configuration";
-    version = "1.0.0.3";
-    sha256 = "0al0pd4zhjpmn8m208xjmy17cbyab68grzdvzr2lhsckwkl6b1jg";
+    version = "2.0.0";
+    sha256 = "1cng096r3kb85lf5wjill4yhxx8nv9v0d6ksbn1i1vvdawwl6fkw";
   })
   (fetchNuGet {
     pname = "NicolasDorier.CommandLine";
-    version = "1.0.0.2";
-    sha256 = "08a9l18zkhcfa6f56xqylzvmqjzgxsmgkpm2r3ckvxfyml6w0qyy";
+    version = "2.0.0";
+    sha256 = "0gywvl0gqs3crlzwgwzcqf0qsrbhk3dxjycpimxqvs1ihg4dhb1f";
   })
   (fetchNuGet {
     pname = "NicolasDorier.StandardConfiguration";
-    version = "1.0.0.18";
-    sha256 = "0lgssxafv6cqlw21fb79fm0fcln0clgsk6zadcwrnjv9vampfw7b";
+    version = "2.0.0";
+    sha256 = "0058dx34ja2idw468bmw7l3w21wr2am6yx57sqp7llhjl5ayy0wv";
   })
   (fetchNuGet {
     pname = "Npgsql";
-    version = "6.0.3";
-    sha256 = "1crzgi4dfbn8r381m9rvkma5xi2q7gqdzgxhc36hy3r0y63v1l8q";
+    version = "6.0.5";
+    sha256 = "1555xj2725kkg4jyxhz6pkqwirdqyw5j5h1q3vaykpns61i2h48q";
   })
   (fetchNuGet {
     pname = "NuGet.Frameworks";
-    version = "5.0.0";
-    sha256 = "18ijvmj13cwjdrrm52c8fpq021531zaz4mj4b4zapxaqzzxf2qjr";
+    version = "5.11.0";
+    sha256 = "0wv26gq39hfqw9md32amr5771s73f5zn1z9vs4y77cgynxr73s4z";
   })
   (fetchNuGet {
     pname = "RabbitMQ.Client";
@@ -375,16 +375,6 @@
     sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy";
   })
   (fetchNuGet {
-    pname = "System.Buffers";
-    version = "4.4.0";
-    sha256 = "183f8063w8zqn99pv0ni0nnwh7fgx46qzxamwnans55hhs2l0g19";
-  })
-  (fetchNuGet {
-    pname = "System.Buffers";
-    version = "4.5.0";
-    sha256 = "1ywfqn4md6g3iilpxjn5dsr0f5lx6z0yvhqp4pgjcamygg73cz2c";
-  })
-  (fetchNuGet {
     pname = "System.Collections.Concurrent";
     version = "4.0.12";
     sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc";
@@ -580,11 +570,6 @@
     sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7";
   })
   (fetchNuGet {
-    pname = "System.Memory";
-    version = "4.5.0";
-    sha256 = "1layqpcx1q4l805fdnj2dfqp6ncx2z42ca06rgsr6ikq4jjgbv30";
-  })
-  (fetchNuGet {
     pname = "System.Net.Http";
     version = "4.3.0";
     sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j";
@@ -645,11 +630,6 @@
     sha256 = "1gfj800078kggcgl0xyl00a6y5k4wwh2k2qm69rjy22wbmq7fy4p";
   })
   (fetchNuGet {
-    pname = "System.Numerics.Vectors";
-    version = "4.4.0";
-    sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba";
-  })
-  (fetchNuGet {
     pname = "System.ObjectModel";
     version = "4.0.12";
     sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj";
@@ -756,11 +736,6 @@
   })
   (fetchNuGet {
     pname = "System.Runtime.CompilerServices.Unsafe";
-    version = "4.5.0";
-    sha256 = "17labczwqk3jng3kkky73m0jhi8wc21vbl7cz5c0hj2p1dswin43";
-  })
-  (fetchNuGet {
-    pname = "System.Runtime.CompilerServices.Unsafe";
     version = "6.0.0";
     sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc";
   })
@@ -1081,8 +1056,8 @@
   })
   (fetchNuGet {
     pname = "xunit.runner.visualstudio";
-    version = "2.4.3";
-    sha256 = "0j1d0rbcm7pp6dypi61sjxp8l22sv261252z55b243l39jgv2rp3";
+    version = "2.4.5";
+    sha256 = "0y8w33ci80z8k580pp24mfnaw1r8ji0w3az543xxcz6aagax9zhs";
   })
   (fetchNuGet {
     pname = "xunit";
diff --git a/pkgs/applications/blockchains/particl-core/default.nix b/pkgs/applications/blockchains/particl-core/default.nix
index 2bcc6c62be9..fb9fc3dc4ba 100644
--- a/pkgs/applications/blockchains/particl-core/default.nix
+++ b/pkgs/applications/blockchains/particl-core/default.nix
@@ -18,13 +18,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "particl-core";
-  version = "0.19.2.14";
+  version = "0.19.2.20";
 
   src = fetchFromGitHub {
     owner = "particl";
     repo = "particl-core";
     rev = "v${version}";
-    sha256 = "sha256-gJLEMfEvQ35xjKt8iN/FXi2T/GBMSS7eUqOC8XHKPBg=";
+    sha256 = "sha256-gvpqOCJTUIhzrNbOaYFftx/G/dO0BCfHAMUrBk6pczc=";
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
diff --git a/pkgs/applications/blockchains/polkadot/default.nix b/pkgs/applications/blockchains/polkadot/default.nix
index 6d4ca5ced05..abf56d54fe6 100644
--- a/pkgs/applications/blockchains/polkadot/default.nix
+++ b/pkgs/applications/blockchains/polkadot/default.nix
@@ -10,13 +10,13 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "polkadot";
-  version = "0.9.26";
+  version = "0.9.27";
 
   src = fetchFromGitHub {
     owner = "paritytech";
     repo = "polkadot";
     rev = "v${version}";
-    sha256 = "sha256-f/E4aK7eUlNgd9kEDjYAiNaeMTlKu1aqo8IjB++/Yts=";
+    sha256 = "sha256-abDkDkFXBG4C7lvE9g6cvUYTfQt7ObZ+Ya8V0W7ASBE=";
 
     # the build process of polkadot requires a .git folder in order to determine
     # the git commit hash that is being built and add it to the version string.
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
     '';
   };
 
-  cargoSha256 = "sha256-tQ5XFv5P5EE33mKsQCBqAlJFu4+uG6ArVV17W8qbyLg=";
+  cargoSha256 = "sha256-xDjHu6JARIFy2fVQMGhkdU9Qcz/aqumBFe4MjlH0TCY=";
 
   buildInputs = lib.optional stdenv.isDarwin [ Security ];
 
diff --git a/pkgs/applications/blockchains/stellar-core/default.nix b/pkgs/applications/blockchains/stellar-core/default.nix
index f89ad0eb780..d57b94e653d 100644
--- a/pkgs/applications/blockchains/stellar-core/default.nix
+++ b/pkgs/applications/blockchains/stellar-core/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "stellar-core";
-  version = "18.5.0";
+  version = "19.3.0";
 
   src = fetchFromGitHub {
     owner = "stellar";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-wEi22R4zb8d5CJV5eWb776Yob8B6Ok4FrbYI0SGM0H8=";
+    sha256 = "sha256-6untHS4+2CyYfGQdbACjEbE+aSirjNk7LxOO2BWDZEM=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/blockchains/sumokoin/default.nix b/pkgs/applications/blockchains/sumokoin/default.nix
index ee817b58195..8a193d906ec 100644
--- a/pkgs/applications/blockchains/sumokoin/default.nix
+++ b/pkgs/applications/blockchains/sumokoin/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     description = "A fork of Monero and a truely fungible cryptocurrency";
     homepage = "https://www.sumokoin.org/";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ fpletz ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/blockchains/wasabiwallet/default.nix b/pkgs/applications/blockchains/wasabiwallet/default.nix
index 71ee3832823..70c67db31c9 100644
--- a/pkgs/applications/blockchains/wasabiwallet/default.nix
+++ b/pkgs/applications/blockchains/wasabiwallet/default.nix
@@ -25,11 +25,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "wasabiwallet";
-  version = "1.1.13.1";
+  version = "2.0.1.3";
 
   src = fetchurl {
     url = "https://github.com/zkSNACKs/WalletWasabi/releases/download/v${version}/Wasabi-${version}.tar.gz";
-    sha256 = "sha256-AtsNbUqEBQx0DPWR2LjNl7pdviYmvkv3bYKNBoeJHbw=";
+    sha256 = "sha256-cATqg/n4/BDQtuCVjHAx3EfMLmlX5EjeQ01gavy/L8o=";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/blockchains/zecwallet-lite/default.nix b/pkgs/applications/blockchains/zecwallet-lite/default.nix
new file mode 100644
index 00000000000..2a15d2fa923
--- /dev/null
+++ b/pkgs/applications/blockchains/zecwallet-lite/default.nix
@@ -0,0 +1,30 @@
+{ lib, fetchurl, appimageTools }:
+
+appimageTools.wrapType2 rec {
+  pname = "zecwallet-lite";
+  version = "1.7.13";
+
+  src = fetchurl {
+    url = "https://github.com/adityapk00/zecwallet-lite/releases/download/v${version}/Zecwallet.Lite-${version}.AppImage";
+    hash = "sha256-uBiLGHBgm0vurfvOJjJ+RqVoGnVccEHTFO2T7LDqUzU=";
+  };
+
+  extraInstallCommands =
+    let contents = appimageTools.extract { inherit pname version src; };
+    in ''
+      mv $out/bin/${pname}-${version} $out/bin/${pname}
+
+      install -m 444 -D ${contents}/${pname}.desktop -t $out/share/applications
+      substituteInPlace $out/share/applications/${pname}.desktop \
+        --replace 'Exec=AppRun' 'Exec=${pname}'
+      cp -r ${contents}/usr/share/icons $out/share
+    '';
+
+  meta = with lib; {
+    description = "A fully featured shielded wallet for Zcash";
+    homepage = "https://www.zecwallet.co/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ colinsane ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/display-managers/lightdm/default.nix b/pkgs/applications/display-managers/lightdm/default.nix
index d49dd646fc5..1817910c295 100644
--- a/pkgs/applications/display-managers/lightdm/default.nix
+++ b/pkgs/applications/display-managers/lightdm/default.nix
@@ -1,4 +1,5 @@
 { lib, stdenv
+, buildPackages
 , fetchFromGitHub
 , nix-update-script
 , substituteAll
@@ -24,8 +25,6 @@
 , gobject-introspection
 , vala
 , fetchpatch
-, withQt4 ? false
-, qt4
 , withQt5 ? false
 , qtbase
 , yelp-tools
@@ -35,15 +34,15 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "lightdm";
-  version = "1.30.0";
+  version = "1.32.0";
 
   outputs = [ "out" "dev" ];
 
   src = fetchFromGitHub {
-    owner = "CanonicalLtd";
+    owner = "canonical";
     repo = pname;
     rev = version;
-    sha256 = "0i1yygmjbkdjnqdl9jn8zsa1mfs2l19qc4k2capd8q1ndhnjm2dx";
+    sha256 = "sha256-ttNlhWD0Ran4d3QvZ+PxbFbSUGMkfrRm+hJdQxIDJvM=";
   };
 
   nativeBuildInputs = [
@@ -70,8 +69,7 @@ stdenv.mkDerivation rec {
     libxklavier
     pam
     polkit
-  ] ++ optional withQt4 qt4
-    ++ optional withQt5 qtbase;
+  ] ++ optional withQt5 qtbase;
 
   patches = [
     # Adds option to disable writing dmrc files
@@ -80,18 +78,6 @@ stdenv.mkDerivation rec {
       sha256 = "06f7iabagrsiws2l75sx2jyljknr9js7ydn151p3qfi104d1541n";
     })
 
-    # Don't use etc/dbus-1/system.d
-    (fetchpatch {
-      url = "https://github.com/canonical/lightdm/commit/a99376f5f51aa147aaf81287d7ce70db76022c47.patch";
-      sha256 = "1zyx1qqajrmqcf9hbsapd39gmdanswd9l78rq7q6rdy4692il3yn";
-    })
-
-    # https://github.com/canonical/lightdm/pull/104
-    (fetchpatch {
-      url = "https://github.com/canonical/lightdm/commit/03f218981733e50d810767f9d04e42ee156f7feb.patch";
-      sha256 = "07w18m2gpk29z6ym4y3lzsmg5dk3ffn39sq6lac26ap7narf4ma7";
-    })
-
     # Hardcode plymouth to fix transitions.
     # For some reason it can't find `plymouth`
     # even when it's in PATH in environment.systemPackages.
@@ -110,8 +96,7 @@ stdenv.mkDerivation rec {
     "--sysconfdir=/etc"
     "--disable-tests"
     "--disable-dmrc"
-  ] ++ optional withQt4 "--enable-liblightdm-qt"
-    ++ optional withQt5 "--enable-liblightdm-qt5";
+  ] ++ optional withQt5 "--enable-liblightdm-qt5";
 
   installFlags = [
     "sysconfdir=${placeholder "out"}/etc"
@@ -120,7 +105,7 @@ stdenv.mkDerivation rec {
 
   prePatch = ''
     substituteInPlace autogen.sh \
-      --replace "which" "${busybox}/bin/which"
+      --replace "which" "${buildPackages.busybox}/bin/which"
 
     substituteInPlace src/shared-data-manager.c \
       --replace /bin/rm ${busybox}/bin/rm
@@ -138,7 +123,7 @@ stdenv.mkDerivation rec {
 
 
   meta = {
-    homepage = "https://github.com/CanonicalLtd/lightdm";
+    homepage = "https://github.com/canonical/lightdm";
     description = "A cross-desktop display manager";
     platforms = platforms.linux;
     license = licenses.gpl3;
diff --git a/pkgs/applications/display-managers/lightdm/gtk-greeter.nix b/pkgs/applications/display-managers/lightdm/gtk-greeter.nix
index b012699a16b..1a949c4dc0a 100644
--- a/pkgs/applications/display-managers/lightdm/gtk-greeter.nix
+++ b/pkgs/applications/display-managers/lightdm/gtk-greeter.nix
@@ -1,60 +1,54 @@
-{ lib, stdenv
-, lightdm_gtk_greeter
+{ stdenv
+, lib
+, lightdm-gtk-greeter
 , fetchurl
 , lightdm
 , pkg-config
 , intltool
 , linkFarm
 , wrapGAppsHook
-, useGTK2 ? false
-, gtk2
-, gtk3 # gtk3 seems better supported
+, gtk3
 , xfce4-dev-tools
 , at-spi2-core
 , librsvg
 , hicolor-icon-theme
 }:
 
-#ToDo: bad icons with gtk2;
-#  avatar icon is missing in standard hicolor theme, I don't know where gtk3 takes it from
-
-let
-  ver_branch = "2.0";
-  version = "2.0.7";
-in
 stdenv.mkDerivation rec {
   pname = "lightdm-gtk-greeter";
-  inherit version;
+  version = "2.0.8";
 
   src = fetchurl {
-    url = "${meta.homepage}/${ver_branch}/${version}/+download/${pname}-${version}.tar.gz";
-    sha256 = "1g7wc3d3vqfa7mrdhx1w9ywydgjbffla6rbrxq9k3sc62br97qms";
+    # Release tarball differs from source tarball.
+    url = "https://github.com/Xubuntu/lightdm-gtk-greeter/releases/download/lightdm-gtk-greeter-${version}/lightdm-gtk-greeter-${version}.tar.gz";
+    sha256 = "vvuzAMezT/IYZf28iBIB9zD8fFYOngHRfomelHcVBhM=";
   };
 
-  nativeBuildInputs = [ pkg-config intltool xfce4-dev-tools wrapGAppsHook ];
-  buildInputs = [ lightdm librsvg hicolor-icon-theme ]
-    ++ (if useGTK2 then [ gtk2 ] else [ gtk3 ]);
+  nativeBuildInputs = [
+    pkg-config
+    intltool
+    xfce4-dev-tools
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    lightdm
+    librsvg
+    hicolor-icon-theme
+    gtk3
+  ];
 
   configureFlags = [
     "--localstatedir=/var"
     "--sysconfdir=/etc"
     "--disable-indicator-services-command"
     "--sbindir=${placeholder "out"}/bin" # for wrapGAppsHook to wrap automatically
-  ] ++ lib.optional useGTK2 "--with-gtk2";
-
-  postPatch = ''
-    # exo-csource has been dropped from exo, and replaced by xdt-csource from xfce4-dev-tools
-    for f in configure.ac src/Makefile.am; do
-      substituteInPlace $f --replace exo-csource xdt-csource
-    done
-  '';
+  ];
 
   preConfigure = ''
     configureFlagsArray+=( --enable-at-spi-command="${at-spi2-core}/libexec/at-spi-bus-launcher --launch-immediately" )
   '';
 
-  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
-
   installFlags = [
     "localstatedir=\${TMPDIR}"
     "sysconfdir=${placeholder "out"}/etc"
@@ -66,14 +60,15 @@ stdenv.mkDerivation rec {
   '';
 
   passthru.xgreeters = linkFarm "lightdm-gtk-greeter-xgreeters" [{
-    path = "${lightdm_gtk_greeter}/share/xgreeters/lightdm-gtk-greeter.desktop";
+    path = "${lightdm-gtk-greeter}/share/xgreeters/lightdm-gtk-greeter.desktop";
     name = "lightdm-gtk-greeter.desktop";
   }];
 
   meta = with lib; {
-    homepage = "https://launchpad.net/lightdm-gtk-greeter";
+    homepage = "https://github.com/Xubuntu/lightdm-gtk-greeter";
+    description = "A GTK greeter for LightDM";
     platforms = platforms.linux;
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ bobby285271 ];
   };
 }
diff --git a/pkgs/applications/editors/cudatext/default.nix b/pkgs/applications/editors/cudatext/default.nix
index b91c4243b2b..1289ee7549e 100644
--- a/pkgs/applications/editors/cudatext/default.nix
+++ b/pkgs/applications/editors/cudatext/default.nix
@@ -38,13 +38,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "cudatext";
-  version = "1.167.5";
+  version = "1.168.0";
 
   src = fetchFromGitHub {
     owner = "Alexey-T";
     repo = "CudaText";
     rev = version;
-    sha256 = "sha256-sCqzVXBB2BClepD6+mrHw3GmFh17W0RVp4yTuNO4M3w=";
+    sha256 = "sha256-/06eZ79Zeq6jtcfq+lOcumBgP59bqCX/Km7k21FroSc=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/editors/cudatext/deps.json b/pkgs/applications/editors/cudatext/deps.json
index 1818550b5ff..012f504e0ed 100644
--- a/pkgs/applications/editors/cudatext/deps.json
+++ b/pkgs/applications/editors/cudatext/deps.json
@@ -16,8 +16,8 @@
   },
   "ATSynEdit": {
     "owner": "Alexey-T",
-    "rev": "2022.07.22",
-    "sha256": "sha256-Uw5opguC49FjnklL6RTgxCz+9BwBDJDjqsUXS1sWs9M="
+    "rev": "2022.07.27",
+    "sha256": "sha256-SGozuk0pvp0+PwAFbGG+QMUhQ2A6mXKr31u10WIveh0="
   },
   "ATSynEdit_Cmp": {
     "owner": "Alexey-T",
diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
index 186cfb476a2..dd91eff3707 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
@@ -335,16 +335,16 @@
           license = lib.licenses.free;
         };
       }) {};
-    beacon = callPackage ({ elpaBuild, fetchurl, lib, seq }:
+    beacon = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "beacon";
         ename = "beacon";
-        version = "1.3.3";
+        version = "1.3.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/beacon-1.3.3.el";
-          sha256 = "10r4fpf8pcf1qn5ncpm5g7skzba749mrc1ggykq92jlha3q98s02";
+          url = "https://elpa.gnu.org/packages/beacon-1.3.4.tar";
+          sha256 = "1fy76c2x0xpnx7wfpsxfawdlrspan4dbj2157k9sa62i6a1c8f21";
         };
-        packageRequires = [ seq ];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/beacon.html";
           license = lib.licenses.free;
@@ -399,10 +399,10 @@
       elpaBuild {
         pname = "boxy";
         ename = "boxy";
-        version = "1.1.0";
+        version = "1.1.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/boxy-1.1.0.tar";
-          sha256 = "17z0amn1klbzvq0z5g20a5gjq5agrrhnkp8amqlqzj7p0p31nbns";
+          url = "https://elpa.gnu.org/packages/boxy-1.1.1.tar";
+          sha256 = "08jb5v93l3y9cx48qhpv20i7kdxvl5dinxj3z0pxkx0ckvml7cvd";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -440,16 +440,16 @@
           license = lib.licenses.free;
         };
       }) {};
-    buffer-env = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+    buffer-env = callPackage ({ compat, elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "buffer-env";
         ename = "buffer-env";
-        version = "0.3";
+        version = "0.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/buffer-env-0.3.tar";
-          sha256 = "0h92pia258fndihnwmnak10ix00dmfanadnsnzbdah3q64416qhz";
+          url = "https://elpa.gnu.org/packages/buffer-env-0.4.tar";
+          sha256 = "0y8ik87dqldhn6q631zp2ln9z5byqgm9icrvr4xrdx6g8mr9c56z";
         };
-        packageRequires = [ emacs ];
+        packageRequires = [ compat emacs ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/buffer-env.html";
           license = lib.licenses.free;
@@ -771,10 +771,10 @@
       elpaBuild {
         pname = "compat";
         ename = "compat";
-        version = "28.1.1.3";
+        version = "28.1.2.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/compat-28.1.1.3.tar";
-          sha256 = "11g27n0103j1xmj1s3m49jcqxn4n4wd9pm69i2g3ikijxs1qw18n";
+          url = "https://elpa.gnu.org/packages/compat-28.1.2.0.tar";
+          sha256 = "0gm2drvxdlmc3fjlapb5z8k1ymr6q7mrj9z7mb686jfy931b9mwr";
         };
         packageRequires = [ emacs nadvice ];
         meta = {
@@ -797,6 +797,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    consult-recoll = callPackage ({ consult, elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "consult-recoll";
+        ename = "consult-recoll";
+        version = "0.6.2";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/consult-recoll-0.6.2.tar";
+          sha256 = "0ngisaxdsfmjcincxdjrpgj6q6vh4dav7b2bpfls9a7107rb2ycp";
+        };
+        packageRequires = [ consult emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/consult-recoll.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     context-coloring = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "context-coloring";
@@ -1056,10 +1071,10 @@
       elpaBuild {
         pname = "denote";
         ename = "denote";
-        version = "0.3.1";
+        version = "0.4.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/denote-0.3.1.tar";
-          sha256 = "0zdxflmm62gkg6nbrpaxinwb60ghr19pvr3jbgnvbca3bd5yg5wk";
+          url = "https://elpa.gnu.org/packages/denote-0.4.0.tar";
+          sha256 = "031ia1k5fqzq154jhi4icvivhdg8yn7zfkwy81yf0ivcsivri54s";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1086,10 +1101,10 @@
       elpaBuild {
         pname = "devdocs";
         ename = "devdocs";
-        version = "0.4";
+        version = "0.5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/devdocs-0.4.tar";
-          sha256 = "05xmxqpp1cpf03y7idpqdsmbj30cissscy80ng5hqc3028kr2jqm";
+          url = "https://elpa.gnu.org/packages/devdocs-0.5.tar";
+          sha256 = "0qyp8lhf76yv2ym7cryvygvf2m9jah5nsl1g79gqjrsin6vlhqka";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1429,10 +1444,10 @@
       elpaBuild {
         pname = "eldoc";
         ename = "eldoc";
-        version = "1.12.0";
+        version = "1.13.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/eldoc-1.12.0.tar";
-          sha256 = "1npggpisqnfkc3gx7dr3pjnif7gf571z7s9g7n6vnb213353qskk";
+          url = "https://elpa.gnu.org/packages/eldoc-1.13.0.tar";
+          sha256 = "0c05dzrs7vrhibj46jpz625482ah6xywji7way6wcvwc711y74fz";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2333,10 +2348,10 @@
       elpaBuild {
         pname = "javaimp";
         ename = "javaimp";
-        version = "0.8";
+        version = "0.9.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/javaimp-0.8.tar";
-          sha256 = "1i6k0yz6r7v774qgnkzinia783fwx73y3brxr31sbip3b5dbpmsn";
+          url = "https://elpa.gnu.org/packages/javaimp-0.9.1.tar";
+          sha256 = "106wn53z39fcna3sv4p0idmjg9lg5lijm5hyb4lbibp4s5yh2y3b";
         };
         packageRequires = [];
         meta = {
@@ -2764,6 +2779,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    minibuffer-header = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "minibuffer-header";
+        ename = "minibuffer-header";
+        version = "0.5";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/minibuffer-header-0.5.tar";
+          sha256 = "1nw53h34izm0z8njsf6jacc40fhg4x5l8r403ysmw2ps89i80p36";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/minibuffer-header.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     minibuffer-line = callPackage ({ elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "minibuffer-line";
@@ -2832,10 +2862,10 @@
       elpaBuild {
         pname = "modus-themes";
         ename = "modus-themes";
-        version = "2.4.1";
+        version = "2.5.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/modus-themes-2.4.1.tar";
-          sha256 = "0wm4wj2dsv93p8yq7byrwni079caxny9cgn8d5xz0a6g1igqzx4q";
+          url = "https://elpa.gnu.org/packages/modus-themes-2.5.0.tar";
+          sha256 = "0j2mx47fpbqvpwhkdskgrnyj5nzg25sqgxwsdvrvw22c7gxhirxn";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3100,10 +3130,10 @@
       elpaBuild {
         pname = "num3-mode";
         ename = "num3-mode";
-        version = "1.3";
+        version = "1.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/num3-mode-1.3.el";
-          sha256 = "0x2jpnzvpbj03pbmhsny5gygh63c4dbl4g3k0cfs3vh4qmp2dg6w";
+          url = "https://elpa.gnu.org/packages/num3-mode-1.4.tar";
+          sha256 = "01cl5wc5xzf4milq6r5ps2f4ikpkdbdidk880svby9mhiw6agydh";
         };
         packageRequires = [];
         meta = {
@@ -3246,6 +3276,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    org-notify = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "org-notify";
+        ename = "org-notify";
+        version = "0.1.0";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/org-notify-0.1.0.tar";
+          sha256 = "1ijwlv8493g19cascv7fl23sjljvdcak6pg4y1wbs595mmsmh409";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/org-notify.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     org-real = callPackage ({ boxy, elpaBuild, emacs, fetchurl, lib, org }:
       elpaBuild {
         pname = "org-real";
@@ -3370,10 +3415,10 @@
       elpaBuild {
         pname = "pabbrev";
         ename = "pabbrev";
-        version = "4.2.1";
+        version = "4.2.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/pabbrev-4.2.1.el";
-          sha256 = "19v5adk61y8fpigw7k6wz6dj79jwr450hnbi7fj0jvb21cvjmfxh";
+          url = "https://elpa.gnu.org/packages/pabbrev-4.2.2.tar";
+          sha256 = "0iydz8yz866krxv1qv32k88w4464xpymh0wxgrxv6nvniwvhvd0s";
         };
         packageRequires = [];
         meta = {
@@ -3456,6 +3501,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    perl-doc = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "perl-doc";
+        ename = "perl-doc";
+        version = "0.2";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/perl-doc-0.2.tar";
+          sha256 = "1p5bbkwllh91a0vg5aisqa9kbms7l9vxk14lm09bav952xxn6gdl";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/perl-doc.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     persist = callPackage ({ elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "persist";
@@ -3475,10 +3535,10 @@
       elpaBuild {
         pname = "phps-mode";
         ename = "phps-mode";
-        version = "0.4.22";
+        version = "0.4.25";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/phps-mode-0.4.22.tar";
-          sha256 = "1094dmvihx0ff7fyjldd2zfn47nq89p6bjp90ma0xf01hf6ggn6c";
+          url = "https://elpa.gnu.org/packages/phps-mode-0.4.25.tar";
+          sha256 = "1sqwh7lkpgwc8m7vrbzjk8vc2p3b9gq6smyz6zx8pq4pf1rqkzrd";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3505,10 +3565,10 @@
       elpaBuild {
         pname = "plz";
         ename = "plz";
-        version = "0.1";
+        version = "0.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/plz-0.1.tar";
-          sha256 = "083qz6kfg4q8xy3vsfwlk2g9vbg8iym2axmyhh54naivrc096ghc";
+          url = "https://elpa.gnu.org/packages/plz-0.2.tar";
+          sha256 = "1b45m9b9gzx5ylpxcppkiikk5lfya7ngiqsap4a7m1b2cr8rqxcj";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3595,10 +3655,10 @@
       elpaBuild {
         pname = "pulsar";
         ename = "pulsar";
-        version = "0.3.1";
+        version = "0.4.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/pulsar-0.3.1.tar";
-          sha256 = "0v3bdw0sgic98b7xj19g37hw1vinanagsbhyf5qpajx3gm2im9wx";
+          url = "https://elpa.gnu.org/packages/pulsar-0.4.0.tar";
+          sha256 = "027kpywdjfd1xm1fxkprbc04iq96lnyzw2f3499wyrfj4vxk2dn2";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4530,10 +4590,10 @@
       elpaBuild {
         pname = "taxy";
         ename = "taxy";
-        version = "0.9";
+        version = "0.10";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/taxy-0.9.tar";
-          sha256 = "1nzafs3yvcnmg07zi345n2yvjsw9wixlybzibnhf5k6jnd0vvpjh";
+          url = "https://elpa.gnu.org/packages/taxy-0.10.tar";
+          sha256 = "1jamry2p3qhswq8prd2g7ljh4yqk0wwblyd9fhnaclakahrn5vi3";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4545,16 +4605,17 @@
                                       , emacs
                                       , fetchurl
                                       , lib
-                                      , magit-section }:
+                                      , magit-section
+                                      , taxy }:
       elpaBuild {
         pname = "taxy-magit-section";
         ename = "taxy-magit-section";
-        version = "0.9.1";
+        version = "0.10";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/taxy-magit-section-0.9.1.tar";
-          sha256 = "0ybkz5nqjdrg2z9bfd07xg4k49hrl26vsrwz2vqpfbsqqg5vr4pr";
+          url = "https://elpa.gnu.org/packages/taxy-magit-section-0.10.tar";
+          sha256 = "1g58nvpb04ldhn5qnjw2q5idrv6vhlfa0qmb46cvis6bkz46cxkw";
         };
-        packageRequires = [ emacs magit-section ];
+        packageRequires = [ emacs magit-section taxy ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/taxy-magit-section.html";
           license = lib.licenses.free;
@@ -4673,10 +4734,10 @@
       elpaBuild {
         pname = "tramp";
         ename = "tramp";
-        version = "2.5.3";
+        version = "2.5.3.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/tramp-2.5.3.tar";
-          sha256 = "16bs90h7b1d188v6glhfp0y4wgxvwn3dl6l4sbswlf1zq3y61zy7";
+          url = "https://elpa.gnu.org/packages/tramp-2.5.3.1.tar";
+          sha256 = "0dqc5gmp20isrlanccvj6nhalmmsfg7bmm690gxfgrbqcc2vj69a";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4892,10 +4953,10 @@
       elpaBuild {
         pname = "vc-got";
         ename = "vc-got";
-        version = "1.1.2";
+        version = "1.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/vc-got-1.1.2.tar";
-          sha256 = "1824d5c217qimsg4aw8adjvv06gkhv5f3918fi0lkhya1jsvfrx9";
+          url = "https://elpa.gnu.org/packages/vc-got-1.2.tar";
+          sha256 = "074di4bchhnpfixkjdis8dwxx6r32j1qypxk647q1z7lvd92j39s";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5327,10 +5388,10 @@
       elpaBuild {
         pname = "xref";
         ename = "xref";
-        version = "1.4.1";
+        version = "1.5.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/xref-1.4.1.tar";
-          sha256 = "1vbpplw0sngymmawi940nlqmncqznb5vp7zi0ib8v66g3y33ijrf";
+          url = "https://elpa.gnu.org/packages/xref-1.5.0.tar";
+          sha256 = "0xl6aiwkjbgs44c3wxk6s85diydm3y5lsd7znb0dhbqb7milid2d";
         };
         packageRequires = [ emacs ];
         meta = {
diff --git a/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix b/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix
index 80809de08cc..07ffad496c7 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix
@@ -49,10 +49,10 @@
       elpaBuild {
         pname = "annotate";
         ename = "annotate";
-        version = "1.7.0";
+        version = "1.7.1";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/annotate-1.7.0.tar";
-          sha256 = "0bpicd0m9h1n56ywinfa0wykhx86sxn8i1f2j5vwhwcidap42qaa";
+          url = "https://elpa.nongnu.org/nongnu/annotate-1.7.1.tar";
+          sha256 = "0jyzx5z10mv9b134jz4hkp1mbc9f1ki794cr5na9zwvpd9q3j9iy";
         };
         packageRequires = [];
         meta = {
@@ -144,10 +144,10 @@
       elpaBuild {
         pname = "autothemer";
         ename = "autothemer";
-        version = "0.2.3";
+        version = "0.2.5";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/autothemer-0.2.3.tar";
-          sha256 = "10r4lf3nl7mk6yzfcyld5k0njslw8ly2sd0iz1zkzywnv31lsxnd";
+          url = "https://elpa.nongnu.org/nongnu/autothemer-0.2.5.tar";
+          sha256 = "1g07j8fmyqhhas0ci2f9l7i5l238cpb02vr93gyn2a3r3lq6wn4d";
         };
         packageRequires = [ cl-lib dash emacs ];
         meta = {
@@ -296,10 +296,10 @@
       elpaBuild {
         pname = "clojure-mode";
         ename = "clojure-mode";
-        version = "5.14.0";
+        version = "5.15.1";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/clojure-mode-5.14.0.tar";
-          sha256 = "1lirhp6m5r050dm73nrslgzdgy6rdbxn02wal8n52q37m2armra2";
+          url = "https://elpa.nongnu.org/nongnu/clojure-mode-5.15.1.tar";
+          sha256 = "14j6v32cbj52n91f7ckbjlam60rszh05r09bwv579p1xs2m7s7q3";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -473,10 +473,10 @@
       elpaBuild {
         pname = "dockerfile-mode";
         ename = "dockerfile-mode";
-        version = "1.5";
+        version = "1.7";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/dockerfile-mode-1.5.tar";
-          sha256 = "0dz91i4ak3v0x1v75ibhjjz211k9g6qimz4lxn3x424j7dlpa9f3";
+          url = "https://elpa.nongnu.org/nongnu/dockerfile-mode-1.7.tar";
+          sha256 = "1kb768kv48ypw7fm5xcvkw4pq9mfkvv0bg1inlhfifkb4i9kmz3l";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1123,10 +1123,10 @@
       elpaBuild {
         pname = "gruvbox-theme";
         ename = "gruvbox-theme";
-        version = "1.26.0";
+        version = "1.27.0";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/gruvbox-theme-1.26.0.tar";
-          sha256 = "19q5i0jz01hdn09wwg929yva6278fhyvk68id5p9dyi8h2n73djn";
+          url = "https://elpa.nongnu.org/nongnu/gruvbox-theme-1.27.0.tar";
+          sha256 = "0p36b2rrhizfrj8i86zm810bh0w7qikb5cwpyn106yfvgcv39jl8";
         };
         packageRequires = [ autothemer ];
         meta = {
@@ -1198,10 +1198,10 @@
       elpaBuild {
         pname = "helm";
         ename = "helm";
-        version = "3.8.6";
+        version = "3.8.7";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/helm-3.8.6.tar";
-          sha256 = "0h0l36wmzxi03viy0jd3zri84big0syiilvjm639nqhzsr1lbvy2";
+          url = "https://elpa.nongnu.org/nongnu/helm-3.8.7.tar";
+          sha256 = "1n0m061amrzm0xpgqy2mp9vrk2960gqhl5hi6c1smcmm7nxqwz12";
         };
         packageRequires = [ helm-core popup ];
         meta = {
@@ -1213,10 +1213,10 @@
       elpaBuild {
         pname = "helm-core";
         ename = "helm-core";
-        version = "3.8.6";
+        version = "3.8.7";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/helm-core-3.8.6.tar";
-          sha256 = "0yzzwdggd37m7kv0gh4amc7l5x0r5x2pxi3lfs36hq2hfsqlfkza";
+          url = "https://elpa.nongnu.org/nongnu/helm-core-3.8.7.tar";
+          sha256 = "1sak74v3gg34zzlbbgvlzvg7gw32fhcbxp5kigigmwvvbj5imgs7";
         };
         packageRequires = [ async emacs ];
         meta = {
@@ -1330,10 +1330,10 @@
       elpaBuild {
         pname = "inf-clojure";
         ename = "inf-clojure";
-        version = "3.2.0";
+        version = "3.2.1";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/inf-clojure-3.2.0.tar";
-          sha256 = "1a9hr28l8cxf5j9b5z0mwds4jd36bhdqz9r86c85rylgaibx5ky7";
+          url = "https://elpa.nongnu.org/nongnu/inf-clojure-3.2.1.tar";
+          sha256 = "0p1q51wn67abwhn6qa01f190czaq33nmy4ir1jrcxsny4vnbxvx4";
         };
         packageRequires = [ clojure-mode emacs ];
         meta = {
@@ -1959,10 +1959,10 @@
       elpaBuild {
         pname = "popon";
         ename = "popon";
-        version = "0.7";
+        version = "0.9";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/popon-0.7.tar";
-          sha256 = "0sr0cv9jlaj83sgk1cb7wd6r12g6gmzdjzm077gxa6jy9p4qrv0q";
+          url = "https://elpa.nongnu.org/nongnu/popon-0.9.tar";
+          sha256 = "1vnrdjg63fcpgzzc45l9cx67yb2lnk5prfp5js4dpdhz93d14qck";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2338,10 +2338,10 @@
       elpaBuild {
         pname = "subed";
         ename = "subed";
-        version = "1.0.5";
+        version = "1.0.7";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/subed-1.0.5.tar";
-          sha256 = "1wpkwab6scmc9d3bzp5161d8agmcjacpijs8xqb1mpbyvl1jvavc";
+          url = "https://elpa.nongnu.org/nongnu/subed-1.0.7.tar";
+          sha256 = "0js48yar8xgj3wjmlkv3k5208q1zvv74sg4lhk6asiy4cq3pqjia";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2712,10 +2712,10 @@
       elpaBuild {
         pname = "xah-fly-keys";
         ename = "xah-fly-keys";
-        version = "17.17.20220709145456";
+        version = "17.19.20220806194323";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/xah-fly-keys-17.17.20220709145456.tar";
-          sha256 = "1npgdc9f1vj1d9nyfh30vskybqs2lwhd31b2a7i79ifrxs48kqr4";
+          url = "https://elpa.nongnu.org/nongnu/xah-fly-keys-17.19.20220806194323.tar";
+          sha256 = "1cflsvp1cpyr3zsj2dij3mc36lprwjdhrvxx2k8ilavhzi4dn64v";
         };
         packageRequires = [ emacs ];
         meta = {
diff --git a/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json b/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
index ff65a903ed3..48f2183fcb8 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
+++ b/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
@@ -285,11 +285,11 @@
   "repo": "jdtsmith/abridge-diff",
   "unstable": {
    "version": [
-    20220419,
-    2358
+    20220716,
+    1641
    ],
-   "commit": "996d921da0a0ee651b3486c2afe29447f48be50f",
-   "sha256": "19k23326dwnnbf8gdm1b8zm1p8qx0515ak939vdp6falhqa9x4rn"
+   "commit": "994bd47a8de5200018450ea19a610782eff3fafc",
+   "sha256": "0zzsagar75yw0i56djc2x9f95fdji39bnv0qkr226nh77bp0kjhx"
   },
   "stable": {
    "version": [
@@ -1263,8 +1263,8 @@
    "deps": [
     "popup"
    ],
-   "commit": "6b502df6940587dae2dfbd349c22dfd44c803a86",
-   "sha256": "0q4cf4w0gm933ph4r2glw40vgfiz1v9r043w6lms3z2a0b3p6sdb"
+   "commit": "23af25e3f1629755b1b245364fbb93bf4ba933b9",
+   "sha256": "08w63a5zawa1myf7a34qacjf0r17x0yk6lsqxip6y3hyg1ms8lmr"
   }
  },
  {
@@ -1305,11 +1305,11 @@
   "repo": "tam17aki/ace-isearch",
   "unstable": {
    "version": [
-    20210830,
-    746
+    20220809,
+    1748
    ],
-   "commit": "8439136206a42e41ef95af923e0dc3bbd4fa306c",
-   "sha256": "00mqd02l3fx5jicjwm27xwmr98l3f8v08q4jfxdzh1cjqpi8c5pp"
+   "commit": "a24bfc626100f183dbad016bd7723eb12e238534",
+   "sha256": "00p8nh7084ifjiqzvm8zy0x0dqdz6i9qym9pfi7db2js17ym8pjc"
   },
   "stable": {
    "version": [
@@ -1840,14 +1840,14 @@
   "repo": "emacsorphanage/adoc-mode",
   "unstable": {
    "version": [
-    20220529,
-    551
+    20220720,
+    622
    ],
    "deps": [
     "markup-faces"
    ],
-   "commit": "cacd4e8f6773da85ebe17b733eb5e74f2f7c379c",
-   "sha256": "08w8xirp2frkap74d646j6pbaby72j1233hlz0nk3pzlh0lglzc0"
+   "commit": "e0d08ee6d29289a475796e22b2298b028c02b408",
+   "sha256": "1dp3av91rwq87vfgwpgi622imbv0z79znnfx0r6f5i06xn1ag5bv"
   },
   "stable": {
    "version": [
@@ -1899,8 +1899,8 @@
    "deps": [
     "consult"
    ],
-   "commit": "e8cb221892ae4d82fc52fffb72b45b5b89ada334",
-   "sha256": "0gwg60c3f2ypjwpai3j4dhzdjn29lxskf3s0nw75pnipngf0sh9r"
+   "commit": "0162da0aab3b30412eee5ebf68427361fc8fc26d",
+   "sha256": "0sr11l9mxz3679q3rhj6gw1w9g202i9iigjszjilxx7y2vyccx7s"
   },
   "stable": {
    "version": [
@@ -2047,11 +2047,11 @@
   "repo": "takaxp/ah",
   "unstable": {
    "version": [
-    20201213,
-    218
+    20220730,
+    1058
    ],
-   "commit": "869219e7853510aeb00af3580aede0e5d49b324a",
-   "sha256": "02i6nrkbqf1bj2m4h81p5z1mi9lm92g9vm1mi6qny83zs64m2607"
+   "commit": "8e12223f0f423e7fa882cc049a25af6db755902d",
+   "sha256": "06cxg7x34qfw8m5zj4dpapcbwka4i11qn065753zwzbqfikwwl11"
   }
  },
  {
@@ -2371,16 +2371,16 @@
   "repo": "jwiegley/alert",
   "unstable": {
    "version": [
-    20200303,
-    2118
+    20220808,
+    510
    ],
    "deps": [
     "cl-lib",
     "gntp",
     "log4e"
    ],
-   "commit": "7046393272686c7a1a9b3e7f7b1d825d2e5250a6",
-   "sha256": "1s93ijkax0s78qn79c364ainmq7jq4gc95akl9wra642ql6hz3iq"
+   "commit": "fb92919739b35ec6e9e6db56ca7c10cf7ef1329d",
+   "sha256": "1yik54ksk1al4kb2m0nc1xmcz8333h45c5w9qfg1w23mfg52g11y"
   },
   "stable": {
    "version": [
@@ -2489,11 +2489,11 @@
   "repo": "domtronn/all-the-icons.el",
   "unstable": {
    "version": [
-    20220628,
-    2233
+    20220801,
+    1541
    ],
-   "commit": "9c90dbaa31a2fdc163e4394514bf9ee359e46ee5",
-   "sha256": "0sx1xj9fspv560h23h7hmg3kwcc5vjk337i6ic3c3vl94zhd92r2"
+   "commit": "6f876fa11ef64af20d9b2a44fdabac6446de51ba",
+   "sha256": "1n975ziy5wyfnmmpak1vsj7nqzm5ciw811pcg7rdmc2ljlc90n5p"
   },
   "stable": {
    "version": [
@@ -2908,8 +2908,8 @@
   "repo": "pythonic-emacs/anaconda-mode",
   "unstable": {
    "version": [
-    20211122,
-    817
+    20220717,
+    1956
    ],
    "deps": [
     "dash",
@@ -2917,8 +2917,8 @@
     "pythonic",
     "s"
    ],
-   "commit": "cbea0fb3182321d34ff93981c5a59f8dd72d82a5",
-   "sha256": "0ajmqa60avwmlx9c63rirfb5mjqhbcxf2x15mnxr6a1rlzcylxg6"
+   "commit": "160e4e7185881233d96da6722332bd6d038187a9",
+   "sha256": "0rk540wrpgkibrjzjr0dbaw6l0gaiq5szqld2xj9y8q020ixrgr4"
   },
   "stable": {
    "version": [
@@ -3229,11 +3229,11 @@
   "repo": "bastibe/annotate.el",
   "unstable": {
    "version": [
-    20220707,
-    1207
+    20220809,
+    846
    ],
-   "commit": "4c697e70e882657aaf9072d9703c6142e931b265",
-   "sha256": "1brm6qp3zcprr9s7v1q4jd2wzbnv2dvx2krv754jzdiw3lm92arf"
+   "commit": "0f4ffd5c1c9f92fea6961699287f3dd124b88aad",
+   "sha256": "00w5lrq6mg95q2kds2b7lipzs4h0w9pg2nwk76lw5gajk6qlnzpi"
   },
   "stable": {
    "version": [
@@ -3271,8 +3271,8 @@
     20200914,
     644
    ],
-   "commit": "5d30d8e7a25dfced02edefd82699f1f7b6f79316",
-   "sha256": "022jzidrgx66k40i25wd49p8q9gh8x7s2m7qnxpqcfjbmgdy624p"
+   "commit": "5d2d77abbc0c97f5b23d7089797c3ef8796508dc",
+   "sha256": "1ayprcd7alryqz89p5gi3wawbc72210r7j8jw7naind7wwkjz386"
   },
   "stable": {
    "version": [
@@ -3633,11 +3633,11 @@
   "repo": "wanderlust/apel",
   "unstable": {
    "version": [
-    20220427,
-    1121
+    20220720,
+    1308
    ],
-   "commit": "6947dc4605ebbb87762edf7051a78a3f7b5f17c5",
-   "sha256": "0qfmnrr9v7r78amvi6qd3a3qyiy1hk0jqhj4bmsabifxwlsmbzlb"
+   "commit": "82eb2325bd149dc57b43a9ce9402c6c6183e4052",
+   "sha256": "0qiw19pn1cs8y571irw7bjdygkvwan9ch2i1dg139dri4b6q1il6"
   }
  },
  {
@@ -3919,8 +3919,8 @@
     20220527,
     632
    ],
-   "commit": "cb48fee04cb0cbb26f760a3b95649f7dac78c6ec",
-   "sha256": "088rcqlwhdcaal99cbwsfg93nvzil2kix28zib2lxv6lfapjpzwp"
+   "commit": "4116be5ddab61d7f2366d5efcd23baa7519e6e84",
+   "sha256": "1c7n4072l2aw9ilfln4vv90z19lw9i9gkrr8bwj87b8nh15q239s"
   },
   "stable": {
    "version": [
@@ -4164,26 +4164,26 @@
   "repo": "zkry/asm-blox",
   "unstable": {
    "version": [
-    20220124,
-    1430
+    20220808,
+    128
    ],
    "deps": [
     "yaml"
    ],
-   "commit": "47aa63d320c39f8566a8d95c61f27383f561b001",
-   "sha256": "0rc0m0w8z5mz0mkyh05kjcnz9wzjvs92ygyh934zwl8a3lk566sk"
+   "commit": "d511ec0e24a081f1aa691c19cd38c8e0a90cb87e",
+   "sha256": "1yydjlc4x86fl1n9g9z4a4w9kqqgpvzfd2n7n4qqk07kwcf7nxmc"
   },
   "stable": {
    "version": [
     0,
-    2,
-    3
+    3,
+    0
    ],
    "deps": [
     "yaml"
    ],
-   "commit": "8bc20ab442765dffc6c710c1922757c2df3675a4",
-   "sha256": "1b9iqbwc7g2z9k413mb01s1qzzshfmxs25pn2m0l1z26fc81dch0"
+   "commit": "d73e111a0b96d335e9bca69a234bd0004dfe36f9",
+   "sha256": "1f19822ygyn07lpzfvvxhk49cjk2lc5zam1wd59whfqmpl93s0y3"
   }
  },
  {
@@ -4212,14 +4212,14 @@
   "repo": "phillord/assess",
   "unstable": {
    "version": [
-    20200211,
-    1817
+    20220719,
+    1904
    ],
    "deps": [
     "m-buffer"
    ],
-   "commit": "5bac045b273623772b6a2d820997d50f7ab4e466",
-   "sha256": "0mq59wz9anvywazl7d01fis1z7z7fsp9c7pymrc8rgmz77xpwnqx"
+   "commit": "44083d94feb45d3636f7ee6c55e0ef6bbb32b938",
+   "sha256": "1mgx6sism6l1mwmz81fq6wcxkxlbyn4k6p8nl0v8xc1zsh2mn8m0"
   },
   "stable": {
    "version": [
@@ -4274,11 +4274,11 @@
   "repo": "jwiegley/emacs-async",
   "unstable": {
    "version": [
-    20220630,
-    57
+    20220807,
+    1541
    ],
-   "commit": "7f4ed1e8b44e0b88eadb2efeeaf97f32c38f14c4",
-   "sha256": "08d1sv97xhk20r7xgb9mxlvdzlj5x7pi542fdm5nrz2s47y4w0xg"
+   "commit": "6d164db151c4ab68242662342f71741b8594762f",
+   "sha256": "08njlpivli93jc8z5sklwas6m1mjizsn8m46dfsswwnxpsl3zsd7"
   },
   "stable": {
    "version": [
@@ -4463,15 +4463,15 @@
   "repo": "alpha22jp/atomic-chrome",
   "unstable": {
    "version": [
-    20210221,
-    59
+    20220723,
+    113
    ],
    "deps": [
     "let-alist",
     "websocket"
    ],
-   "commit": "c73367d8aa660f2b3c3f70ef5c39f5b502d60404",
-   "sha256": "07bw5fjmszxsvvcb0415zfawfmzqwj0qdvaigxrbb5rinazwb0pn"
+   "commit": "061958ab96c31085b5daf449b1d826b052777b59",
+   "sha256": "0jfmw11d18v8qjcqcfkcmq66ccaa97jq7y5v7m67kf2hcawxk2a4"
   },
   "stable": {
    "version": [
@@ -4530,14 +4530,14 @@
   "repo": "tsuu32/auctex-cluttex",
   "unstable": {
    "version": [
-    20210226,
-    302
+    20220730,
+    1100
    ],
    "deps": [
     "auctex"
    ],
-   "commit": "9a15742a6de1285831329eac93f9e35752472685",
-   "sha256": "1ra2qkr9wadnx5aqg6paxk8w4h9m6c4jrl4b7zb5l6s1csw1llj1"
+   "commit": "f4012ac86e612eac7662c62afd946e59b3b405bd",
+   "sha256": "163p1x5zrw39cq2l7vf4zf8283a0bsg9wfs25yvs77dlgsvzvb5c"
   },
   "stable": {
    "version": [
@@ -4753,11 +4753,11 @@
   "repo": "ccrusius/auth-source-xoauth2",
   "unstable": {
    "version": [
-    20220628,
-    2232
+    20220804,
+    2219
    ],
-   "commit": "8bbfd9395a2dc397639ec265299ccaadb71aeebc",
-   "sha256": "1csqsp960w1i0pw5z3hagb7kv0hx9nf8h1b5ifljwjgnbpirhs46"
+   "commit": "5d1adfa649bb5a9df20a2fa89f235a55a64b52e4",
+   "sha256": "06ssvsqac1vlbay9yp1fidbils56dwfgbzwk4nrnr5qxnl2rd370"
   },
   "stable": {
    "version": [
@@ -5640,28 +5640,28 @@
   "repo": "jasonm23/autothemer",
   "unstable": {
    "version": [
-    20220106,
-    416
+    20220809,
+    906
    ],
    "deps": [
     "cl-lib",
     "dash"
    ],
-   "commit": "1dbc06ad430c51b5ec1a602a808ee46b9bd4bafa",
-   "sha256": "09kx27dr7pw6aa2yx7p04z6xc4nn277d2n4g0r6smwacjh803ljs"
+   "commit": "3223cd8867fb75a109e41ccce98ab0e89d0a4f1b",
+   "sha256": "1rwz8hdmycmvak1w5sriwf1pwahham77vyab6jngdw8x9ngxabnx"
   },
   "stable": {
    "version": [
     0,
     2,
-    2
+    5
    ],
    "deps": [
     "cl-lib",
     "dash"
    ],
-   "commit": "8c467f57571c154129d660dfccebd151c998f2d9",
-   "sha256": "0cd2pqh6k32sjidkcd8682y4l6mx52xw4a05f38kk8nsrk28m74k"
+   "commit": "3223cd8867fb75a109e41ccce98ab0e89d0a4f1b",
+   "sha256": "1rwz8hdmycmvak1w5sriwf1pwahham77vyab6jngdw8x9ngxabnx"
   }
  },
  {
@@ -6320,11 +6320,11 @@
   "repo": "base16-project/base16-emacs",
   "unstable": {
    "version": [
-    20220713,
-    402
+    20220725,
+    353
    ],
-   "commit": "6f37e4a849a84a41c4404a15d1bac57cbf912324",
-   "sha256": "0y0yw6wnsfkmv8nrl2a0v6l0aiqc9bjhiwxjz4l8ncbp0gkvad1y"
+   "commit": "36cd6ed044ee37e399fc5d0db8070ae79fb06800",
+   "sha256": "1v0i80iydmzrd8z1ri1dmg9bqj13xvr21lwvaqpq9jxh7iq1b9a8"
   },
   "stable": {
    "version": [
@@ -6761,14 +6761,11 @@
   "repo": "Malabarba/beacon",
   "unstable": {
    "version": [
-    20190104,
-    1931
-   ],
-   "deps": [
-    "seq"
+    20220730,
+    100
    ],
-   "commit": "370c21c76be9d7600d98e9666cda56f47610cbb0",
-   "sha256": "057xjfqcxm3m6fdgv238lxqg33rn4f34lisw0dl04k4vwq9g091r"
+   "commit": "85261a928ae0ec3b41e639f05291ffd6bf7c231c",
+   "sha256": "0gp68ngzdyxz65wnijrj273wxrzdvkf35i0ww5sqszbin2vyxv4l"
   },
   "stable": {
    "version": [
@@ -6791,14 +6788,14 @@
   "repo": "Titan-C/cardano.el",
   "unstable": {
    "version": [
-    20220711,
-    911
+    20220718,
+    1440
    ],
    "deps": [
     "dash"
    ],
-   "commit": "a3ebdcdd91d32f044b68541a00e162396e4acb38",
-   "sha256": "1jmlg5rbgam3s9n7blmk2b9r9ggzdvsbry1fdsx5gipymbldx1gg"
+   "commit": "40d04a0baf5c3d1087b18cc03595c573a1b5891d",
+   "sha256": "1z2kvv5im24h7hqmz2yhpar6d6cp4hzhzk6kxgrdrwgywpaf0bdx"
   }
  },
  {
@@ -6841,11 +6838,11 @@
   "repo": "DamienCassou/beginend",
   "unstable": {
    "version": [
-    20220409,
-    846
+    20220803,
+    1431
    ],
-   "commit": "bbcfdc0909c20ddee41e95b7ade7de63af73b220",
-   "sha256": "06z0c2ryq8j3sd3m5pph5l6qnxy51bdqy6b8ya3z94qa63xm3ksb"
+   "commit": "eb77d82dc88846c5715353b7fd99c9030a2e2ee7",
+   "sha256": "0xswh4wfrnwzwsrxmfsvfm1bcdviwfs2hhdark62l37s5xx6dcc9"
   },
   "stable": {
    "version": [
@@ -7383,15 +7380,15 @@
   "repo": "jwiegley/use-package",
   "unstable": {
    "version": [
-    20171204,
-    2010
+    20220807,
+    1556
    ],
    "deps": [
     "bind-key",
     "key-chord"
    ],
-   "commit": "0ad5d9d5d8a61517a207ab04bf69e71c081149eb",
-   "sha256": "112g1944iirjlvfw8fxwd1iy6z8yfawf4qz5jv3aj087cxli55ww"
+   "commit": "e5f64cc6d9d0df3721b319eeecca1f4f49ea86a3",
+   "sha256": "1108x07jf9cfgi5wyy18v0dr6vjpssl19032q9g0vci5mpi5k123"
   },
   "stable": {
    "version": [
@@ -7415,11 +7412,11 @@
   "repo": "jwiegley/use-package",
   "unstable": {
    "version": [
-    20210210,
-    1609
+    20220809,
+    42
    ],
-   "commit": "0ad5d9d5d8a61517a207ab04bf69e71c081149eb",
-   "sha256": "112g1944iirjlvfw8fxwd1iy6z8yfawf4qz5jv3aj087cxli55ww"
+   "commit": "e5f64cc6d9d0df3721b319eeecca1f4f49ea86a3",
+   "sha256": "1108x07jf9cfgi5wyy18v0dr6vjpssl19032q9g0vci5mpi5k123"
   },
   "stable": {
    "version": [
@@ -8109,8 +8106,8 @@
   "repo": "boogie-org/boogie-friends",
   "unstable": {
    "version": [
-    20220704,
-    1741
+    20220726,
+    1637
    ],
    "deps": [
     "cl-lib",
@@ -8119,8 +8116,8 @@
     "flycheck",
     "yasnippet"
    ],
-   "commit": "e162f0d89fbc9d55da7d4a6059449449afc29f3b",
-   "sha256": "1glcszq0mf63z45dhny02vyxx1shlan0cxg22r2hrm2p36lm8nkm"
+   "commit": "0a736ab6e9669e755141db5afefbfe8cd5df6961",
+   "sha256": "0mg5w8zvavw4g9iaivsbg1r42vzjjcbzq0zprwl0x09p8z23drga"
   }
  },
  {
@@ -8226,15 +8223,15 @@
   "repo": "emacscollective/borg",
   "unstable": {
    "version": [
-    20220611,
-    1724
+    20220803,
+    1958
    ],
    "deps": [
     "epkg",
     "magit"
    ],
-   "commit": "c8b5ee24a289848a8c100bf04e29ae56130d0cf4",
-   "sha256": "1n766s994kymppgn2gmv2qx7gm5wka5wcwhby1kpv7b2zq3xx9hr"
+   "commit": "47122b6559f4990c03e0b26d6e123e7f9f46525b",
+   "sha256": "00ihsfsinjy0cvgb64chixffv6afb5qj5sidq6699g79xpvdhp1i"
   },
   "stable": {
    "version": [
@@ -8419,14 +8416,14 @@
   "url": "https://bitbucket.org/MikeWoolley/brf-mode",
   "unstable": {
    "version": [
-    20220710,
-    2116
+    20220807,
+    1438
    ],
    "deps": [
     "fringe-helper"
    ],
-   "commit": "1aaf5b237a2bd550dceff6d76c56e4bf3365ca25",
-   "sha256": "0pkxp9c9jqrh91jmscsl3b7r892mbb9aid9iqk78cr29zn6q44g5"
+   "commit": "8f86b980d450e44cd29d24e66c30ff079c6b9982",
+   "sha256": "13jl2ppc8yn8nkwg0xix7cfmgfy34grw4rlask39mdis0jkwazk6"
   },
   "stable": {
    "version": [
@@ -8436,8 +8433,8 @@
    "deps": [
     "fringe-helper"
    ],
-   "commit": "1aaf5b237a2bd550dceff6d76c56e4bf3365ca25",
-   "sha256": "0pkxp9c9jqrh91jmscsl3b7r892mbb9aid9iqk78cr29zn6q44g5"
+   "commit": "8f86b980d450e44cd29d24e66c30ff079c6b9982",
+   "sha256": "13jl2ppc8yn8nkwg0xix7cfmgfy34grw4rlask39mdis0jkwazk6"
   }
  },
  {
@@ -8725,11 +8722,14 @@
   "repo": "astoff/buffer-env",
   "unstable": {
    "version": [
-    20220606,
-    1330
+    20220728,
+    1835
+   ],
+   "deps": [
+    "compat"
    ],
-   "commit": "fc98ca9e2a8b6edcec7199bf52eaf1848bd3e35c",
-   "sha256": "1i629jdlp3lxjk3awarx64s7czbzg15yy101ns9hrjk914bvskbc"
+   "commit": "7c176d043445ea94fe924a715158c25b91ec4776",
+   "sha256": "0badxbj4whqcz8pkwzhp2fxppgcfqrrf0cciwnxy1nyamcrf0y7z"
   }
  },
  {
@@ -8740,11 +8740,14 @@
   "repo": "killdash9/buffer-flip.el",
   "unstable": {
    "version": [
-    20220708,
-    1751
+    20220718,
+    10
    ],
-   "commit": "5b85c1cfd37b60c7419e1d4bf8931ea04c0db743",
-   "sha256": "02qxwhrcfmrsbrh90fjxf97rpqqj92p32hjhpyi17y9ky1g5x68x"
+   "deps": [
+    "cl-lib"
+   ],
+   "commit": "dda0cbcd202cdadf322942f9637a11ed92525756",
+   "sha256": "1m67xgka4pwk7dl9b4rlhckghv0mafhghbig2vrdpj44xzgiy05m"
   },
   "stable": {
    "version": [
@@ -8948,8 +8951,8 @@
   "repo": "alphapapa/bufler.el",
   "unstable": {
    "version": [
-    20220711,
-    1909
+    20220726,
+    1658
    ],
    "deps": [
     "dash",
@@ -8958,8 +8961,8 @@
     "map",
     "pretty-hydra"
    ],
-   "commit": "23132ffed65d78c0bf5ab2c4c6385d009db496ec",
-   "sha256": "15zam24zz4pb4zq20wzp3j31cg87fdwxn4bzn9mrm4q466rbldl7"
+   "commit": "5e8f02c3a454d6d43c18851023d6ac6ae470c31f",
+   "sha256": "1m7x5zksjfyh254mvsl9va5jqr76niyf54djjiacnrlpqnn3bf2s"
   },
   "stable": {
    "version": [
@@ -9326,11 +9329,11 @@
   "repo": "jorgenschaefer/emacs-buttercup",
   "unstable": {
    "version": [
-    20220619,
-    2214
+    20220629,
+    2119
    ],
-   "commit": "42df1faa653f2765941f478167dafac059dc3a57",
-   "sha256": "1s9ps7a4459hgvpdslzvkhq3gsdj600l2h9jsxrfbam7lxkp7v35"
+   "commit": "62176a39ee6aa990c96e97c13ee4992355f0a122",
+   "sha256": "0j9qaa45r14kyqv44jhnygc03xzvw2k7rfaai99v7xl6a6aj4p8k"
   },
   "stable": {
    "version": [
@@ -10007,11 +10010,11 @@
   "repo": "minad/cape",
   "unstable": {
    "version": [
-    20220714,
-    1350
+    20220804,
+    2211
    ],
-   "commit": "c36d7405db24e15d1ad019b549b0fc5a2944f66c",
-   "sha256": "08bai91v6nr8h7kixxsji6wdf06bk20im51s85r2h076ps25y4wp"
+   "commit": "ab2f4ec9ec778d256c7e4b3490ecd50269c422f0",
+   "sha256": "1ivhf9xvhxz8k53fk2m03s4967hcyghacgrbg7sc0mywhdf0ba1f"
   },
   "stable": {
    "version": [
@@ -10033,8 +10036,8 @@
     20210707,
     2310
    ],
-   "commit": "5e029f5af4c2dc912f6add122c29cae8992c4fb5",
-   "sha256": "03z4img3gafx8az5z3jlj9khb617y206ly8z9d1299zgywk2bryf"
+   "commit": "a41bf576b2d4f27696e9366e69072359138612c2",
+   "sha256": "03ag1lzclyx0khz5cai4x1a0zqkllp1xmhgyfj27lla8qr18y8vg"
   },
   "stable": {
    "version": [
@@ -10077,6 +10080,55 @@
   }
  },
  {
+  "ename": "cardano-tx",
+  "commit": "7979d0bfcd5a7492b5943355615b0cfcf767ce08",
+  "sha256": "1lbxkvcsmffppk5ryxhwjdwm60k45a3yjysragh1n0bpyvkqgj1l",
+  "fetcher": "github",
+  "repo": "Titan-C/cardano.el",
+  "unstable": {
+   "version": [
+    20220718,
+    1440
+   ],
+   "deps": [
+    "bech32",
+    "cbor",
+    "emacsql",
+    "emacsql-sqlite3",
+    "f",
+    "helm",
+    "readable-numbers",
+    "yaml",
+    "yaml-mode",
+    "yasnippet"
+   ],
+   "commit": "40d04a0baf5c3d1087b18cc03595c573a1b5891d",
+   "sha256": "1z2kvv5im24h7hqmz2yhpar6d6cp4hzhzk6kxgrdrwgywpaf0bdx"
+  }
+ },
+ {
+  "ename": "cardano-wallet",
+  "commit": "7a53b6e81d08b4671b0e8ba9e552d33621e5cbc9",
+  "sha256": "1x74gc7n3dw0ixsgz23v10rwhfxkchx29q6vd5lw4b3f9326l466",
+  "fetcher": "github",
+  "repo": "Titan-C/cardano.el",
+  "unstable": {
+   "version": [
+    20220718,
+    1434
+   ],
+   "deps": [
+    "cardano-tx",
+    "dash",
+    "readable-numbers",
+    "yaml",
+    "yaml-mode"
+   ],
+   "commit": "40d04a0baf5c3d1087b18cc03595c573a1b5891d",
+   "sha256": "1z2kvv5im24h7hqmz2yhpar6d6cp4hzhzk6kxgrdrwgywpaf0bdx"
+  }
+ },
+ {
   "ename": "cargo",
   "commit": "e997b356b009b3d2ab467fe49b79d728a8cfe24b",
   "sha256": "06zq657cxfk5l4867qqsvhskcqc9wswyl030wj27a43idj8n41jx",
@@ -10084,14 +10136,14 @@
   "repo": "kwrooijen/cargo.el",
   "unstable": {
    "version": [
-    20220707,
-    1403
+    20220717,
+    1129
    ],
    "deps": [
     "markdown-mode"
    ],
-   "commit": "0b9821b029f49654565edffdbfd68ca0f6ca9434",
-   "sha256": "1gq0g75cj92aabh6pviixwka5biz88cwajdgab94bphmpk7zags7"
+   "commit": "7bd3682456bcd666ae550224487e63c0106a7cf9",
+   "sha256": "17fplf8cr9lgx59fz9f0zm65sz8a5bdjzbkf7x6wbzpp1clnc4m9"
   },
   "stable": {
    "version": [
@@ -10129,11 +10181,11 @@
   "repo": "peterstuart/cargo-transient",
   "unstable": {
    "version": [
-    20220714,
-    128
+    20220730,
+    154
    ],
-   "commit": "69b56ef92cac91384b21dbeed370646285288517",
-   "sha256": "0l7hi0cmnd2pf7bz36rwjjzhlbx37lyii7bps5mw90zdcwm55azq"
+   "commit": "1755da9c1cedde6026a0a9e7fd0fe98ed2d30dbb",
+   "sha256": "1bidbpak7w16dw78sgwx8kb75kvib6s15cnl8akzxsdx69r9k207"
   }
  },
  {
@@ -10415,14 +10467,14 @@
   "repo": "Titan-C/cardano.el",
   "unstable": {
    "version": [
-    20220623,
-    22
+    20220802,
+    1008
    ],
    "deps": [
     "dash"
    ],
-   "commit": "a3ebdcdd91d32f044b68541a00e162396e4acb38",
-   "sha256": "1jmlg5rbgam3s9n7blmk2b9r9ggzdvsbry1fdsx5gipymbldx1gg"
+   "commit": "40d04a0baf5c3d1087b18cc03595c573a1b5891d",
+   "sha256": "1z2kvv5im24h7hqmz2yhpar6d6cp4hzhzk6kxgrdrwgywpaf0bdx"
   }
  },
  {
@@ -10451,8 +10503,8 @@
     20210501,
     820
    ],
-   "commit": "c664b26d0861621ac86b5b5f47835dd84f06dc93",
-   "sha256": "1qis1wmqdllzj46nsnlqskk0lld1bgn858gk8l03gcy92jrlh1bg"
+   "commit": "3ed86d42717ab2a54ec8de6ab32d552dc0a4c3b0",
+   "sha256": "12fjhp10zvlymgamgzmhl0g4bs6ix731b6s8xjmzhwjvzavcsclg"
   }
  },
  {
@@ -10500,8 +10552,8 @@
     20200904,
     1431
    ],
-   "commit": "c664b26d0861621ac86b5b5f47835dd84f06dc93",
-   "sha256": "1qis1wmqdllzj46nsnlqskk0lld1bgn858gk8l03gcy92jrlh1bg"
+   "commit": "3ed86d42717ab2a54ec8de6ab32d552dc0a4c3b0",
+   "sha256": "12fjhp10zvlymgamgzmhl0g4bs6ix731b6s8xjmzhwjvzavcsclg"
   }
  },
  {
@@ -10512,14 +10564,11 @@
   "repo": "cdominik/cdlatex",
   "unstable": {
    "version": [
-    20220701,
-    1236
-   ],
-   "deps": [
-    "auctex"
+    20220808,
+    1414
    ],
-   "commit": "4c392765e123f9c5481e7d113486a6acf720ab13",
-   "sha256": "0dg69rj9zbjvw9qm3lpx46vhp3zgcc3njbvp2dhpqkvya6jnzrnk"
+   "commit": "6fc8a1f2949b1b58b2ef9a56b3417490f1ca3b61",
+   "sha256": "1364prn41fypbr7j985mpbdr0ra4p8niwmrc5xi2s6sr367a2dki"
   },
   "stable": {
    "version": [
@@ -10797,8 +10846,8 @@
     20171115,
     2108
    ],
-   "commit": "7c4d31c94a982852f61043ce00c61b0f4be0e689",
-   "sha256": "1afc53bgm7b4i5bwz9w17nl804q34qy5sh53in1f2402042y2qd0"
+   "commit": "72e8af1887116a7ee609b1d5f24ecd459388349f",
+   "sha256": "1j9zf96mlk5yw8xcc0inkxcqwn6iyhvp169di05y3i87qdwv3wmr"
   },
   "stable": {
    "version": [
@@ -10953,17 +11002,17 @@
     20220318,
     1007
    ],
-   "commit": "c44b4e950af73dd82805181da5473db2c93e2eaf",
-   "sha256": "0jbpl17f5jdil9slv92ldvq4b60zpgr60cv0rk4qf3nwm4ijpk21"
+   "commit": "2b930905c23f1cd2fcf3ecad558fde5b708ea1a8",
+   "sha256": "0rjaj1y2nax40j41b8wz32lx0znhr1vvx6x9cf477c8rd9sbfxhj"
   },
   "stable": {
    "version": [
     1,
     3,
-    6
+    7
    ],
-   "commit": "25afa64a35780b7d870a6c2467a404ea67d6d23f",
-   "sha256": "0jwyq878bayw4qx25ifc1gabsvg0xilsizg73lkwj06qzag2x0s9"
+   "commit": "2b930905c23f1cd2fcf3ecad558fde5b708ea1a8",
+   "sha256": "0rjaj1y2nax40j41b8wz32lx0znhr1vvx6x9cf477c8rd9sbfxhj"
   }
  },
  {
@@ -11119,10 +11168,10 @@
  },
  {
   "ename": "cheatsheet",
-  "commit": "0d2cd657fcadb2dd3fd12864fe94a3465f8c9bd7",
-  "sha256": "11z3svlzvmhdy0pkxbx9qz9bnq056cgkbfyw9z34aq1yxazi2cpq",
+  "commit": "9a291d6a7f4217d8453311fc19d65df14cb098f4",
+  "sha256": "0iyhkkxdw252k39dkc3559x8bjyyd5wz27hrmfnaqi50v5dd3hvf",
   "fetcher": "github",
-  "repo": "darksmile/cheatsheet",
+  "repo": "mykyta-shyrin/cheatsheet",
   "unstable": {
    "version": [
     20170126,
@@ -11476,8 +11525,8 @@
     "seq",
     "ts"
    ],
-   "commit": "85f1642d27e92cc393806a2b9a42044151b563ac",
-   "sha256": "022l6p2sxivrsk38ri4ay3492qjmiksfkl6wqqaal96nq3amz8qp"
+   "commit": "a8f05bcd051e6c1a1b247c3083be3db9c95c4b8c",
+   "sha256": "1cc9cwrs6k9cqvzk60g9lbs9rc3csqnlam53jyi7hy4wg784paxf"
   },
   "stable": {
    "version": [
@@ -11527,8 +11576,8 @@
    "deps": [
     "chronometrist"
    ],
-   "commit": "85f1642d27e92cc393806a2b9a42044151b563ac",
-   "sha256": "022l6p2sxivrsk38ri4ay3492qjmiksfkl6wqqaal96nq3amz8qp"
+   "commit": "a8f05bcd051e6c1a1b247c3083be3db9c95c4b8c",
+   "sha256": "1cc9cwrs6k9cqvzk60g9lbs9rc3csqnlam53jyi7hy4wg784paxf"
   },
   "stable": {
    "version": [
@@ -11558,8 +11607,8 @@
     "chronometrist",
     "spark"
    ],
-   "commit": "85f1642d27e92cc393806a2b9a42044151b563ac",
-   "sha256": "022l6p2sxivrsk38ri4ay3492qjmiksfkl6wqqaal96nq3amz8qp"
+   "commit": "a8f05bcd051e6c1a1b247c3083be3db9c95c4b8c",
+   "sha256": "1cc9cwrs6k9cqvzk60g9lbs9rc3csqnlam53jyi7hy4wg784paxf"
   },
   "stable": {
    "version": [
@@ -11631,8 +11680,8 @@
   "repo": "clojure-emacs/cider",
   "unstable": {
    "version": [
-    20220628,
-    551
+    20220808,
+    1329
    ],
    "deps": [
     "clojure-mode",
@@ -11642,8 +11691,8 @@
     "sesman",
     "spinner"
    ],
-   "commit": "186b4976565a18fcb00e1685a44a87a8559eadcc",
-   "sha256": "0r0fgmk36hkbwm30ck2gywc9nzgxzil4riwmpc18wxp6alqf3mwi"
+   "commit": "9577dbbdae8cffe023442427b97f963b4447983a",
+   "sha256": "01f1is17zkz2gzgf8bpismxk5050syk7yacfyp9ihln27h1hlb4f"
   },
   "stable": {
    "version": [
@@ -11789,26 +11838,26 @@
   "repo": "ailiop/cilk-mode",
   "unstable": {
    "version": [
-    20220411,
-    1342
+    20220807,
+    1629
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "2f33f991c726d5214d6a17bbbd19836302a8e423",
-   "sha256": "0jpq67q7vhmgvsjh4qqk5lb40w9rkdr2v8bd5gh32k8wkbgykpgg"
+   "commit": "d5ba732a5a313a97a96085943cd7840b8e2d9c7c",
+   "sha256": "03bdwdrvhzs7yvs7vbqm55nvf1p41xpc5b19l9ajh3n7vr8rflx3"
   },
   "stable": {
    "version": [
     0,
-    2,
-    2
+    3,
+    1
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "6e46cdb72ae0348c77b70f1679b34a1155e70797",
-   "sha256": "02rrjjaak0kjm0kifdfb7a427b6q86whs1hkc515fdl1bdr7slaj"
+   "commit": "d5ba732a5a313a97a96085943cd7840b8e2d9c7c",
+   "sha256": "03bdwdrvhzs7yvs7vbqm55nvf1p41xpc5b19l9ajh3n7vr8rflx3"
   }
  },
  {
@@ -11941,30 +11990,29 @@
   "repo": "emacs-citar/citar",
   "unstable": {
    "version": [
-    20220715,
-    1909
+    20220809,
+    1305
    ],
    "deps": [
     "citeproc",
     "org",
     "parsebib"
    ],
-   "commit": "c05dce095f340b1ab91434e17eac06b40911fd2a",
-   "sha256": "010a5azp8ycwar643b5n6d57y7yrhl80scrkml6mjinm95s6snz7"
+   "commit": "9d7088c1fe82e9cfa508ead7ef7738c732556644",
+   "sha256": "1n69lkp7298gasm9hlbx9nhgp9ggh8w8ffyvi1rmbj96lcnpsyi9"
   },
   "stable": {
    "version": [
-    0,
-    9,
-    7
+    1,
+    0
    ],
    "deps": [
     "citeproc",
     "org",
     "parsebib"
    ],
-   "commit": "1bc880cafdb20f3c258ffcfd47da899c3c242c95",
-   "sha256": "1f49l1zmy4fnz75b0m2rav5jm8yp6hry44bv9xasiszyy3bn0hv8"
+   "commit": "9d7088c1fe82e9cfa508ead7ef7738c732556644",
+   "sha256": "1n69lkp7298gasm9hlbx9nhgp9ggh8w8ffyvi1rmbj96lcnpsyi9"
   }
  },
  {
@@ -11975,28 +12023,27 @@
   "repo": "emacs-citar/citar",
   "unstable": {
    "version": [
-    20220710,
-    1109
+    20220724,
+    2250
    ],
    "deps": [
     "citar",
     "embark"
    ],
-   "commit": "c05dce095f340b1ab91434e17eac06b40911fd2a",
-   "sha256": "010a5azp8ycwar643b5n6d57y7yrhl80scrkml6mjinm95s6snz7"
+   "commit": "9d7088c1fe82e9cfa508ead7ef7738c732556644",
+   "sha256": "1n69lkp7298gasm9hlbx9nhgp9ggh8w8ffyvi1rmbj96lcnpsyi9"
   },
   "stable": {
    "version": [
-    0,
-    9,
-    7
+    1,
+    0
    ],
    "deps": [
     "citar",
     "embark"
    ],
-   "commit": "1bc880cafdb20f3c258ffcfd47da899c3c242c95",
-   "sha256": "1f49l1zmy4fnz75b0m2rav5jm8yp6hry44bv9xasiszyy3bn0hv8"
+   "commit": "9d7088c1fe82e9cfa508ead7ef7738c732556644",
+   "sha256": "1n69lkp7298gasm9hlbx9nhgp9ggh8w8ffyvi1rmbj96lcnpsyi9"
   }
  },
  {
@@ -12007,8 +12054,8 @@
   "repo": "andras-simonyi/citeproc-el",
   "unstable": {
    "version": [
-    20220710,
-    2043
+    20220717,
+    729
    ],
    "deps": [
     "dash",
@@ -12019,13 +12066,14 @@
     "s",
     "string-inflection"
    ],
-   "commit": "7cc0152706d59954124f8c1559198050783bbc59",
-   "sha256": "04v1r545304g00kbfzcfk8cr6ma9xqkglkns0f1828smlhknqbw2"
+   "commit": "406bd9964f1ce531fc45beddcf9ccc44d3456129",
+   "sha256": "0rkwqn9pcimfcyq19wlrcij0kcjyhbwisla7vwbhjj8ang0bq9rm"
   },
   "stable": {
    "version": [
     0,
-    9
+    9,
+    1
    ],
    "deps": [
     "dash",
@@ -12036,8 +12084,8 @@
     "s",
     "string-inflection"
    ],
-   "commit": "15034f1706cc9eb0ef97dfeeb7884da2a43b88a9",
-   "sha256": "1m5j1abyk68f3d1v781yrx2xkg42vyfgfckbj2yk2lgk6d7rz0p1"
+   "commit": "406bd9964f1ce531fc45beddcf9ccc44d3456129",
+   "sha256": "0rkwqn9pcimfcyq19wlrcij0kcjyhbwisla7vwbhjj8ang0bq9rm"
   }
  },
  {
@@ -12058,8 +12106,8 @@
     "org",
     "org-ref"
    ],
-   "commit": "20cd7e817420a3f6e7b82faea901a3c67c6d4d9f",
-   "sha256": "1qwcfjiqgr3kspqcv0j5irmqyawbi3wqzcpi3phw9rjy6pp928ji"
+   "commit": "840e352855704921e2e68065e9abfdba769ccbd1",
+   "sha256": "1026q4sqv45cm6arncwry2p5im01w878xaz7pkyzs26qi7bmvh5z"
   },
   "stable": {
    "version": [
@@ -12482,8 +12530,8 @@
   "repo": "clojure-emacs/clj-refactor.el",
   "unstable": {
    "version": [
-    20220711,
-    1920
+    20220729,
+    543
    ],
    "deps": [
     "cider",
@@ -12496,14 +12544,14 @@
     "seq",
     "yasnippet"
    ],
-   "commit": "5b289c47c8b008812419a2f9e1e2616c7ab0bb31",
-   "sha256": "0a7sz592lz6ji6wfnaadbi5acm5f7h45f4pnblqyx6dzw934r517"
+   "commit": "1bd7b09976c05ebd1ff1ee3d5c882af303780b67",
+   "sha256": "0ygq2s9g63lk8v5m4mbkf2411li656wlq9nisadmhlahxk1vs26x"
   },
   "stable": {
    "version": [
     3,
     5,
-    4
+    5
    ],
    "deps": [
     "cider",
@@ -12516,8 +12564,8 @@
     "seq",
     "yasnippet"
    ],
-   "commit": "7bf500ce67ceacf5e726f5adcf1b46a41be369ab",
-   "sha256": "1cl1fn3wvfw19mi0h62lhfd25pqknmszj54li3dnimia4nlgg4q3"
+   "commit": "1bd7b09976c05ebd1ff1ee3d5c882af303780b67",
+   "sha256": "0ygq2s9g63lk8v5m4mbkf2411li656wlq9nisadmhlahxk1vs26x"
   }
  },
  {
@@ -12528,16 +12576,16 @@
   "repo": "philjackson/cljr-helm",
   "unstable": {
    "version": [
-    20160913,
-    828
+    20220721,
+    824
    ],
    "deps": [
     "cl-lib",
     "clj-refactor",
     "helm-core"
    ],
-   "commit": "f2fc7b698a56e4a44d5dfbc6a55d77a93c0fa9a4",
-   "sha256": "0jy6hkz8sr1bplymwxnjg4q408cw2dgfrv70chlw3y5ddc4cingj"
+   "commit": "2c1f9cbd892ec03335f671ea3f974ee2ff6078dc",
+   "sha256": "0cd2ik9kjnl47c3ys4zbi8pp6kv8vvrcv8ylqpnlikqy1fmnj7wv"
   },
   "stable": {
    "version": [
@@ -12688,8 +12736,8 @@
     "request",
     "ts"
    ],
-   "commit": "5f5c2bae76344f4d84f1659590c2eddad25b1139",
-   "sha256": "0485zn7is5ng2hcc04xz9qjjl93li800jh5vf6dglyzxdiq59gya"
+   "commit": "03ccd05c2b6b48babb6ee5838a402112225904ca",
+   "sha256": "0ypnwyqwp74xghp5kvzs1s3gdhdnaa0b4r07nhx0da4ixqxz19sw"
   },
   "stable": {
    "version": [
@@ -12796,20 +12844,20 @@
   "repo": "clojure-emacs/clojure-mode",
   "unstable": {
    "version": [
-    20220715,
-    1509
+    20220729,
+    2246
    ],
-   "commit": "fee38d780f7d0b2a42a441e4d8bcfaa4fa672983",
-   "sha256": "1ck9d8jzs6m5qvg5bnx9i7d94icsfl4698p66vxsn3yqclhc8yzz"
+   "commit": "ad322e989e56c10c05bb286e5b55a82b1e031d62",
+   "sha256": "12m3yjhy4q0x3ri4xxb9raqg9lmw4hk4jgn436d9zvsk4fr3h1nd"
   },
   "stable": {
    "version": [
     5,
-    14,
-    0
+    15,
+    1
    ],
-   "commit": "b7d08b87f6a116ff47b33ee857926b60c66c3ab7",
-   "sha256": "0n7v6hx21f8x37gj388wnff38aqpzxxv5g8vxavp74vr3cbagsnn"
+   "commit": "ad322e989e56c10c05bb286e5b55a82b1e031d62",
+   "sha256": "12m3yjhy4q0x3ri4xxb9raqg9lmw4hk4jgn436d9zvsk4fr3h1nd"
   }
  },
  {
@@ -12826,20 +12874,20 @@
    "deps": [
     "clojure-mode"
    ],
-   "commit": "fee38d780f7d0b2a42a441e4d8bcfaa4fa672983",
-   "sha256": "1ck9d8jzs6m5qvg5bnx9i7d94icsfl4698p66vxsn3yqclhc8yzz"
+   "commit": "ad322e989e56c10c05bb286e5b55a82b1e031d62",
+   "sha256": "12m3yjhy4q0x3ri4xxb9raqg9lmw4hk4jgn436d9zvsk4fr3h1nd"
   },
   "stable": {
    "version": [
     5,
-    14,
-    0
+    15,
+    1
    ],
    "deps": [
     "clojure-mode"
    ],
-   "commit": "b7d08b87f6a116ff47b33ee857926b60c66c3ab7",
-   "sha256": "0n7v6hx21f8x37gj388wnff38aqpzxxv5g8vxavp74vr3cbagsnn"
+   "commit": "ad322e989e56c10c05bb286e5b55a82b1e031d62",
+   "sha256": "12m3yjhy4q0x3ri4xxb9raqg9lmw4hk4jgn436d9zvsk4fr3h1nd"
   }
  },
  {
@@ -13131,19 +13179,17 @@
     20220617,
     1532
    ],
-   "commit": "831757ead326d2133ef3c6b23d4be47495a5b119",
-   "sha256": "0c2cz5g8x0bpp8scr7bf0zgwj8xi9mkjiz244cvj0s6vhanyv3dl"
+   "commit": "f7a13beaa4e7ef262004e37997ffc5d856fc26f2",
+   "sha256": "0ni5y55h6d6mfa23hkicvkrrk8axh9577w1ipm1zmbrc70ln2rd0"
   },
   "stable": {
    "version": [
     3,
     24,
-    0,
-    -1,
-    3
+    0
    ],
-   "commit": "95cce32470b9fbddf3b6f4bd0d186ec5efe50371",
-   "sha256": "0q2yg9k07c76mfx43cyclv8w5l2lprr5wvk302a3q7jvni248461"
+   "commit": "4be24f031a4829db75b85062cc67125035d8831e",
+   "sha256": "1ylp6i2q9lkhcl5kng3sl48dqb4ci1fvl2sj89jm1q4sq0xyl8vf"
   }
  },
  {
@@ -13211,11 +13257,11 @@
   "repo": "tumashu/cnfonts",
   "unstable": {
    "version": [
-    20220715,
-    409
+    20220719,
+    818
    ],
-   "commit": "3732ada115cae269e0fa5e3434f92f3e6e6823d9",
-   "sha256": "1z510dn4ih5av59nridhr99jpd1bsnjwbh15kqnw0nd8zpawixkf"
+   "commit": "b263edf140e3ecdb0640a001c120b5e0b7edeb5f",
+   "sha256": "0h4x4z28z41zkw52z0f6k9x0ai8klyb36bwa3qsdx00w7jlpaax4"
   },
   "stable": {
    "version": [
@@ -14131,11 +14177,11 @@
   "repo": "company-mode/company-mode",
   "unstable": {
    "version": [
-    20220714,
-    1331
+    20220731,
+    2333
    ],
-   "commit": "890797d3d7ca9c6703aac11753dd1513de67d46d",
-   "sha256": "0m3xygppb5dm84mjmsw1z014wvch1n3m8lgjdnhpswrb3ff0hhax"
+   "commit": "f1877a370ca76d5cd6614c527635b2d6983188af",
+   "sha256": "1nis7561w9lbis3bz84is40fychg1gz3i9q3m2h0ml1x0m4ss6lh"
   },
   "stable": {
    "version": [
@@ -14581,16 +14627,16 @@
   "repo": "jcs-elpa/company-emojify",
   "unstable": {
    "version": [
-    20220704,
-    647
+    20220727,
+    1740
    ],
    "deps": [
     "company",
     "emojify",
     "ht"
    ],
-   "commit": "1b3f944973eb0393e3bb63a88659385ade0ea6cc",
-   "sha256": "157azpvakk3xhj6gq8wv2bpbh657csw6jls6hkryk8y9qhz9siv0"
+   "commit": "cc3ae96fbafa51d71fde802fa3c1e5fad9402158",
+   "sha256": "0hw2pzg1prcjysrxrki0qsfzfqr0gp0mh606lakr33hzkib447xx"
   },
   "stable": {
    "version": [
@@ -14685,16 +14731,16 @@
   "repo": "jcs-elpa/company-fuzzy",
   "unstable": {
    "version": [
-    20220704,
-    727
+    20220721,
+    1609
    ],
    "deps": [
     "company",
     "ht",
     "s"
    ],
-   "commit": "4b5fa0b4e298447d139f7700eb5c70a2b8d2e386",
-   "sha256": "05p1zz53449mnc75jy4ic30gfzbgfd6s5cw5qq2454sq4q7ydqnj"
+   "commit": "91b76fc475f7eb17a0ae8b94a42625dfb546cc01",
+   "sha256": "1yabv0g07xpj1kfm95ygxa21zgq8r0lq0iyavdv9s56q1aiwpkpq"
   },
   "stable": {
    "version": [
@@ -15052,16 +15098,16 @@
   "stable": {
    "version": [
     0,
-    7,
-    6
+    8,
+    1
    ],
    "deps": [
     "company",
     "maxima",
     "seq"
    ],
-   "commit": "8d643a1776523ef1a6e0bff0bb0a390772fcc77d",
-   "sha256": "1r04mbn33y515b9fwr2x9rcbkvriz753dc0rasb8ca59klp1p5cv"
+   "commit": "1334f44725bd80a265de858d652f3fde4ae401fa",
+   "sha256": "1h1lqrl3p9qgkicds8v44vdry19g53rya56hdj3cz5q8xj1nisn1"
   }
  },
  {
@@ -15196,15 +15242,15 @@
   "repo": "xenodium/company-org-block",
   "unstable": {
    "version": [
-    20210825,
-    2107
+    20220809,
+    2027
    ],
    "deps": [
     "company",
     "org"
    ],
-   "commit": "115af0a3625f4669358eca568466d468cacc78bd",
-   "sha256": "13kdwi4d1pvba6wv9yn1s0dl4cnq61zwf3j647d1s5ybqlrw5f4r"
+   "commit": "29a2edb35e18c2627dcfa0641852a55d9639263c",
+   "sha256": "14qvxypgc1cj6ijvkkybl7x5p00435v4rdaw7pvvlf58lc422492"
   }
  },
  {
@@ -16022,14 +16068,14 @@
   "repo": "mkcms/compiler-explorer.el",
   "unstable": {
    "version": [
-    20210916,
-    1316
+    20220807,
+    1136
    ],
    "deps": [
     "request"
    ],
-   "commit": "9ea0cc78ac40f667dfaf9277758a22b9058ca434",
-   "sha256": "1b6cj5scc5n78kmdz9ch574ln91v9hj4svk6455crs8rpqgs7k47"
+   "commit": "04da0fd822d7e9eca82c993c99f6318df824b652",
+   "sha256": "0f9lmwjh644cnifk8wmsv36rwi3zvc8x1g9sm0rqh0mq4fxbgcka"
   },
   "stable": {
    "version": [
@@ -16175,8 +16221,8 @@
   "repo": "necaris/conda.el",
   "unstable": {
    "version": [
-    20220710,
-    1740
+    20220724,
+    1857
    ],
    "deps": [
     "dash",
@@ -16184,8 +16230,8 @@
     "pythonic",
     "s"
    ],
-   "commit": "06a1ac946ed245e0b0fae2755f9641c4c180de9f",
-   "sha256": "0ngj4prn9lk1ymffpkj5h7wcy1zmqsfm9ljyqqxrcmmjylciglav"
+   "commit": "a65ed0084876366fd1b238bb2b8b36ee75ac98d8",
+   "sha256": "0w4fb615019w8bav5v67a5y6rb4bs2fbh3kggs3pya96ncr475cr"
   },
   "stable": {
    "version": [
@@ -16339,14 +16385,14 @@
   "repo": "minad/consult",
   "unstable": {
    "version": [
-    20220716,
-    522
+    20220807,
+    1302
    ],
    "deps": [
     "compat"
    ],
-   "commit": "0fa264c2efc17e564af406d60dbe77ae2fb6f010",
-   "sha256": "13ilnd2599m3sfkbcm9y858qg9l0v1835g89sxbakm9k2mnm7ysl"
+   "commit": "e4546edb6f1268c4a13ac3dd1dec8c9b28d7df51",
+   "sha256": "0i5s6hndk7d45fl2idmbqrrddaf1vjcg2qvycm9gs6f568ld1s0m"
   },
   "stable": {
    "version": [
@@ -16436,15 +16482,15 @@
   "repo": "karthink/consult-dir",
   "unstable": {
    "version": [
-    20220505,
-    1037
+    20220808,
+    141
    ],
    "deps": [
     "consult",
     "project"
    ],
-   "commit": "d397ca6ea67af4d3c59a330a778affd825f0efd9",
-   "sha256": "07gq5ja8qzzar0qyl1ii6g3sy78mmzh3wnq868s2dhh18vxl5335"
+   "commit": "8abf62df088de87175e98adf8f6f5fb93515004c",
+   "sha256": "17ha6s84i01199p1bcr89d5fxklz7lg1j9wip1485x43f7gfhddj"
   },
   "stable": {
    "version": [
@@ -16732,25 +16778,26 @@
   "url": "https://codeberg.org/jao/consult-recoll.git",
   "unstable": {
    "version": [
-    20220227,
-    2050
+    20220808,
+    9
    ],
    "deps": [
     "consult"
    ],
-   "commit": "d550a76ffb00846a1b91be595e5adf5b9b2b1f93",
-   "sha256": "1h7i8azk9rvqnknhspfpfgh684p98hlpmcd7na382cdxqji9sgp9"
+   "commit": "2bd1ed98b23c2b72617fcef11aba7eb969b94ffa",
+   "sha256": "185crk09jyv2hxkkc3xl9fny9w4aa3nnnma1rrwp5lkm6ypr0j03"
   },
   "stable": {
    "version": [
     0,
-    4
+    6,
+    2
    ],
    "deps": [
     "consult"
    ],
-   "commit": "228306eeda8c57db45609ca068f60ee433367c17",
-   "sha256": "0rxfxws0d65sdjph91g77a2sy1k90y9hgyps4da0a6kvbm3zprgg"
+   "commit": "8299efb610178a73ea809de74f87d724ee6183d6",
+   "sha256": "0k0796sqqbl66s8i8i6icdqj21xghjphsibkakp2nwy65cn5snx7"
   }
  },
  {
@@ -16780,15 +16827,15 @@
   "repo": "mohkale/consult-yasnippet",
   "unstable": {
    "version": [
-    20220409,
-    1209
+    20220724,
+    1338
    ],
    "deps": [
     "consult",
     "yasnippet"
    ],
-   "commit": "cdb256d2c50e4f8473c6052e1009441b65b8f8ab",
-   "sha256": "0sr0v6kd91sbz8zfg35b5y2s3mr047a75kwh9himn2jgrm75kl50"
+   "commit": "ae0450889484f23dc4ec37518852a2c61b89f184",
+   "sha256": "13hmmsnmh32vafws61sckzzy354rq0nslqpyzhw97iwvn0fpsa35"
   }
  },
  {
@@ -16921,8 +16968,8 @@
     20220612,
     1904
    ],
-   "commit": "961e66956412a1dd63f79473a8273da8853f7179",
-   "sha256": "07dbw0yvk3ijibhghzgaik3cfrv56dr8ax7dyy0kryvjairmhwjc"
+   "commit": "8b2f5d0f7d821599ef4ab99c5ba42d55cd04168d",
+   "sha256": "16yvw0ywcn946w6g6sml8zhh3ymwhr9h8zklmpzanbxnk7hbfnxc"
   }
  },
  {
@@ -17218,14 +17265,14 @@
   "url": "https://codeberg.org/ideasman42/emacs-counsel-at-point.git",
   "unstable": {
    "version": [
-    20220710,
-    711
+    20220731,
+    2354
    ],
    "deps": [
     "counsel"
    ],
-   "commit": "de081520f5fd5927eba032294b5a8dfb2585edd7",
-   "sha256": "1qf984qbnssqdj1kxlkr3k5asgpbj22ppxb1zvs34m2365frlhcz"
+   "commit": "65a7244ad6342ac79c612fbc6e5ca54759ebaf03",
+   "sha256": "1vwn977gjjvk1jhcyzncv2ycr6dbyh64if0f2f87bwl1yf7hsf41"
   }
  },
  {
@@ -17405,14 +17452,14 @@
   "repo": "redguardtoo/counsel-etags",
   "unstable": {
    "version": [
-    20220526,
-    1436
+    20220728,
+    1351
    ],
    "deps": [
     "counsel"
    ],
-   "commit": "05d364b556aadcfe49df727c0729abc3f0c14372",
-   "sha256": "1v77lpp0nij1rjg2k9wj42kqk7xqg1dzs9vmadha6f2j8j6375m8"
+   "commit": "b109dff190db6706e32ad08deb64b77fc8ad75c7",
+   "sha256": "0qgdhqwhw4pf2aclb602p0hirym28fh38ykmdnhzang2027l16p5"
   },
   "stable": {
    "version": [
@@ -17799,16 +17846,16 @@
   "repo": "AdamNiederer/cov",
   "unstable": {
    "version": [
-    20220410,
-    2247
+    20220727,
+    31
    ],
    "deps": [
     "elquery",
     "f",
     "s"
    ],
-   "commit": "8396fa82a84965cd88fa23f5b361ab80ff28e231",
-   "sha256": "14qgws2zi9qvw7jvp155xh8437g409g02bv7042xkjxz13bwa5ss"
+   "commit": "cd3e1995c596cc227124db9537792d8329ffb696",
+   "sha256": "1gyc0si60czhgrkm7kink1p1zj1h5j5nzif4ivm5bg78l28skmpm"
   }
  },
  {
@@ -17883,8 +17930,8 @@
     20210510,
     1540
    ],
-   "commit": "683c23afa2a37272be54de822ad19f4e11dd86ba",
-   "sha256": "08sffa51f4p2la199hf6zb2r2hyvrpdcd2q6q4sig3gmyk75qlbm"
+   "commit": "6c706d90902a186a2260d380d69460da4cdc61cb",
+   "sha256": "0yqz4hg6shcdgbi917qz4p0v5q59wb41fskcjzzm4ixnhxvlgqyg"
   }
  },
  {
@@ -18042,26 +18089,26 @@
   "repo": "emacsfodder/emacs-theme-creamsody",
   "unstable": {
    "version": [
-    20220616,
-    119
+    20220808,
+    518
    ],
    "deps": [
     "autothemer"
    ],
-   "commit": "21add9e946e2d00c15b609e75d65aa4c292bc7a2",
-   "sha256": "02cv63iyxslsxrfim20562cnffa0wkv9y9rmg22pj9i060c5fiw4"
+   "commit": "f7155dd7a9f53050fcfcaadbec5e0d3511d8c33c",
+   "sha256": "1kk3iis4h26xmrsw579yzz4ici53ci5khysxkp4afi5rc8frz6x9"
   },
   "stable": {
    "version": [
     0,
     3,
-    15
+    16
    ],
    "deps": [
     "autothemer"
    ],
-   "commit": "21add9e946e2d00c15b609e75d65aa4c292bc7a2",
-   "sha256": "02cv63iyxslsxrfim20562cnffa0wkv9y9rmg22pj9i060c5fiw4"
+   "commit": "f7155dd7a9f53050fcfcaadbec5e0d3511d8c33c",
+   "sha256": "1kk3iis4h26xmrsw579yzz4ici53ci5khysxkp4afi5rc8frz6x9"
   }
  },
  {
@@ -18819,20 +18866,20 @@
   "repo": "russell/cue-mode",
   "unstable": {
    "version": [
-    20220512,
-    2104
+    20220809,
+    1942
    ],
-   "commit": "f98b9f9088fcb66c97f9200f6c8a0cd16c11caae",
-   "sha256": "08nxlgf02v8gz92dif3fy72qz3yisybxlx1i0any3sxn5swi7g7y"
+   "commit": "ebc50a881c6fbce429b0ec6bef8ea91a8310cf46",
+   "sha256": "1n8fx8xkyw9aq8hy02wdm7qdfmv5qj4cq5xdp9vniak3x5r3gwwp"
   },
   "stable": {
    "version": [
     1,
     0,
-    9
+    10
    ],
-   "commit": "f98b9f9088fcb66c97f9200f6c8a0cd16c11caae",
-   "sha256": "08nxlgf02v8gz92dif3fy72qz3yisybxlx1i0any3sxn5swi7g7y"
+   "commit": "ebc50a881c6fbce429b0ec6bef8ea91a8310cf46",
+   "sha256": "1n8fx8xkyw9aq8hy02wdm7qdfmv5qj4cq5xdp9vniak3x5r3gwwp"
   }
  },
  {
@@ -19025,14 +19072,14 @@
   "url": "https://codeberg.org/ideasman42/emacs-cycle-at-point.git",
   "unstable": {
    "version": [
-    20220708,
-    500
+    20220723,
+    646
    ],
    "deps": [
     "recomplete"
    ],
-   "commit": "14dbe688fb611d4118229f6197039c69b67d4e35",
-   "sha256": "0gik0nz85zwkg21fc12rrnsdp35h91405iqvs7wprcmvnilc7irs"
+   "commit": "d12be2e91337096f4fbf36029de57d4119a00e1d",
+   "sha256": "085r3klapmzj6y9v75xndzrzb3ww4sigk9n2mcfck1frzghc62wk"
   }
  },
  {
@@ -19118,17 +19165,17 @@
     20211111,
     1407
    ],
-   "commit": "6414a07ec88b60d604daf0e51fd850ee974afdcb",
-   "sha256": "0rcshhb9cc1fzj932yp25i90kv2ryv19k73imrrmn1kk8y53apbp"
+   "commit": "b721a96d13b43f7018ed6f697715e829d0e5a9af",
+   "sha256": "0k19shxpnx4gn34qns83jpdcp1amgrchbcjydx87zrabb1zhbapg"
   },
   "stable": {
    "version": [
     0,
     29,
-    30
+    32
    ],
-   "commit": "a6f04ef2430fb4e7383a068cd1ae9a115d7a78df",
-   "sha256": "141qywx4ym817lrpqis4x2i2bll0hcjljn1qfnn1dwmhmydhhkwx"
+   "commit": "c48361d0a0969206e227ec016f654c9d941c2b69",
+   "sha256": "168nanar3dlc9czrj7cklk78pmnqaah89zzp96rbnlxw2n20m62x"
   }
  },
  {
@@ -19326,8 +19373,8 @@
   "repo": "emacs-lsp/dap-mode",
   "unstable": {
    "version": [
-    20220712,
-    919
+    20220802,
+    617
    ],
    "deps": [
     "bui",
@@ -19340,8 +19387,8 @@
     "posframe",
     "s"
    ],
-   "commit": "ad0b8f9d25a7bd82f8fc9694c5406429e8e34d8c",
-   "sha256": "1d8k517darmlwx29v8k1q6ycqq3ji92hdl68ab440hbjkm0mz4cw"
+   "commit": "e2a37cc0a4ec2da858022badd33ccc086b283075",
+   "sha256": "0a9wb4wasdc8k9bpqx4hs8s9yhhr3lk1wrnbrq160b2iiayk4qss"
   },
   "stable": {
    "version": [
@@ -19498,26 +19545,26 @@
   "repo": "emacsfodder/emacs-theme-darktooth",
   "unstable": {
    "version": [
-    20201215,
-    822
+    20220808,
+    620
    ],
    "deps": [
     "autothemer"
    ],
-   "commit": "ec03b30ee7f43f89ca4c382bb3fe4ee560c028a8",
-   "sha256": "00ijwqchvrwln2wl3nfcq5v3i2p232z4qsy67x1v51q20876mc9j"
+   "commit": "7ea1435cc2867fcc4f8a133739cdd506f6ac9a2d",
+   "sha256": "19ivnwpmjzg6bgjrpc47symw13c1ipdjx2fif3p4m7r4sbig0412"
   },
   "stable": {
    "version": [
     0,
-    3,
-    10
+    4,
+    1
    ],
    "deps": [
     "autothemer"
    ],
-   "commit": "ae14a9be19b6fbd287e0f5ad156e7942cd6a5bc6",
-   "sha256": "1jisiz0blksjl6d8q7bnvnlfrwalqfpd93fs66i8pgllhf5z7j19"
+   "commit": "7ea1435cc2867fcc4f8a133739cdd506f6ac9a2d",
+   "sha256": "19ivnwpmjzg6bgjrpc47symw13c1ipdjx2fif3p4m7r4sbig0412"
   }
  },
  {
@@ -19691,11 +19738,11 @@
   "repo": "emacs-dashboard/emacs-dashboard",
   "unstable": {
    "version": [
-    20220615,
-    540
+    20220809,
+    1358
    ],
-   "commit": "f4e8ed9f0dd2147d4f076948ff7f6c7333042c91",
-   "sha256": "020x45vyc1skj423l8xj26h8b9m8ikvbcavxai44m6jgaac4ldx0"
+   "commit": "49e5603cac7d028bfc4c679161a20ca40327956c",
+   "sha256": "0hs4hq9rj3xrjcm98gd9b6vyvakhq97gqym4z19h1wkrnhf3rpv0"
   },
   "stable": {
    "version": [
@@ -19877,8 +19924,8 @@
    "deps": [
     "extmap"
    ],
-   "commit": "3505de8bd176056083a1da73226f9e77cc50c4b7",
-   "sha256": "1lzmij8hk7s2rj51yx88swvpj2dlgh9wnrcbpgzfh7l9sv22r3lq"
+   "commit": "2951fc53ebf9a2037c5479519585a1afd3286269",
+   "sha256": "0yrczqryyr8hgp7ppy4lmf2gxica7zis2nw7jpw26i2fid7vs9pp"
   },
   "stable": {
    "version": [
@@ -20024,15 +20071,15 @@
   "repo": "skk-dev/ddskk",
   "unstable": {
    "version": [
-    20220501,
-    2005
+    20220803,
+    1302
    ],
    "deps": [
     "ccc",
     "cdb"
    ],
-   "commit": "c664b26d0861621ac86b5b5f47835dd84f06dc93",
-   "sha256": "1qis1wmqdllzj46nsnlqskk0lld1bgn858gk8l03gcy92jrlh1bg"
+   "commit": "3ed86d42717ab2a54ec8de6ab32d552dc0a4c3b0",
+   "sha256": "12fjhp10zvlymgamgzmhl0g4bs6ix731b6s8xjmzhwjvzavcsclg"
   }
  },
  {
@@ -20175,19 +20222,20 @@
   "repo": "lifelike/decide-mode",
   "unstable": {
    "version": [
-    20220319,
-    1927
+    20220718,
+    1352
    ],
-   "commit": "b4feee9d5ad32c7b73ab3e1da5cfcdab532754c2",
-   "sha256": "0xwflq1k4x2br5dw8fhqbz6zq4hbwvknrnzd2c2b1l68l4y7rs3j"
+   "commit": "cc67cd24791accd17a2656512d863e24ca3fd578",
+   "sha256": "0i28pgqw3rv4ak1rrf8zv5cbqil7gmdaycyir85lmry4axhcbmsc"
   },
   "stable": {
    "version": [
     0,
-    8
+    9,
+    1
    ],
-   "commit": "668fa559b95b50f140e73f26a21fad559c1ffa77",
-   "sha256": "1wbiy8lda6p888qf4ak8j02cp42h25y17xnz5bq5p032xgq731n0"
+   "commit": "cc67cd24791accd17a2656512d863e24ca3fd578",
+   "sha256": "0i28pgqw3rv4ak1rrf8zv5cbqil7gmdaycyir85lmry4axhcbmsc"
   }
  },
  {
@@ -20280,11 +20328,11 @@
   "url": "https://codeberg.org/ideasman42/emacs-default-font-presets.git",
   "unstable": {
    "version": [
-    20220708,
-    211
+    20220731,
+    2219
    ],
-   "commit": "e16c19107c1cc4466efa099daee192c5cb18e27b",
-   "sha256": "19dm11brf2an0vhzc56zf9qscbvdyhmc1wynp779hip8b6ic1qmy"
+   "commit": "80380aa053c78b7126275e269e80d8988ba3f1e3",
+   "sha256": "07bvlb7n8gryjc205bfpx7k0liibx4cakv9aisc5nfifxqygmv1n"
   }
  },
  {
@@ -20727,11 +20775,11 @@
   "url": "https://git.sr.ht/~niklaseklund/detached.el",
   "unstable": {
    "version": [
-    20220704,
-    941
+    20220718,
+    1501
    ],
-   "commit": "b778480d176f0fe16243f2eb4128a48ce0d0f6d5",
-   "sha256": "140i69c11pkr1kfshscpz23y3sgdsz914yjaqm43px6kr3yr3nvi"
+   "commit": "d8e657cc569da2ad0f1916aa0b5dbc444f0675ff",
+   "sha256": "092j3d7f4fvdb2dz35133wi284q6b02m8d95nnczlwcsrh1ssryp"
   },
   "stable": {
    "version": [
@@ -20765,11 +20813,11 @@
   "repo": "astoff/devdocs.el",
   "unstable": {
    "version": [
-    20220606,
-    1342
+    20220729,
+    923
    ],
-   "commit": "d5d0cfbfbcd037ef8f84f41b2adc3f5a23baa11f",
-   "sha256": "1q81ddnvdsfmfas2sfkxzpcr51f8zmmwmig0p3i3hcc9jf1wviid"
+   "commit": "60099be5fc5c90d5adc2795b3bfacb492a0adb88",
+   "sha256": "0hxyanl0vy3ajyzrjqgcybp388jxdk139wgwbb0kzw05blr0jzxv"
   }
  },
  {
@@ -20982,11 +21030,11 @@
   "url": "https://codeberg.org/ideasman42/emacs-diff-ansi.git",
   "unstable": {
    "version": [
-    20220710,
-    557
+    20220731,
+    2329
    ],
-   "commit": "f4c61c3cb5b4a543bd8eb8c7b796f710deb2269b",
-   "sha256": "069c279f2i6lx780gprn8spwziam0wh636rl0hx8hal76v1kh4ik"
+   "commit": "c4f350da4302cd7d33343d83d5faaeae6795768f",
+   "sha256": "06k3ppgwng3b0234qpvpq7cvfcdc3fkwm813qpmddcwbg9b8m7fn"
   }
  },
  {
@@ -21548,6 +21596,21 @@
   }
  },
  {
+  "ename": "dired-duplicates",
+  "commit": "84d6c3430c6638fc3c3305540f3ff557caa69205",
+  "sha256": "0312vwing7fdp1d2xi07763r66ck3zg4mfavr4b13ga0zcdjfs7f",
+  "fetcher": "git",
+  "url": "https://codeberg.org/hjudt/dired-duplicates.git",
+  "unstable": {
+   "version": [
+    20220718,
+    1341
+   ],
+   "commit": "94319f44f716e9b4b0e0d4f6067c0e028dc0072b",
+   "sha256": "1k4s2xcy283s8fayaqbk97an81652dpqq03zwn49w8ikgzh1gd5w"
+  }
+ },
+ {
   "ename": "dired-dups",
   "commit": "6d01ad74959e17b5708ba9fa6a4958d4cda4e232",
   "sha256": "05s02gw8b339yvsr7vvka1r2140y7mbjzs8px4kn4acgb5y7rk71",
@@ -21815,11 +21878,11 @@
   "repo": "thomp/dired-launch",
   "unstable": {
    "version": [
-    20220317,
-    1839
+    20220805,
+    1655
    ],
-   "commit": "72ebbe2b3d2e04dbfda636fa114d4f47835ce044",
-   "sha256": "0z53ymlbyan542mzsjkgab29czx2zk05qgady99kg40rik78599q"
+   "commit": "e7877700144cf4abb5f5482eea7fde9b749cfc57",
+   "sha256": "0i59cn7fk8db3mr6zljgnyvqvhqbdynsdbcj0l0fnlydw9rh9hyd"
   }
  },
  {
@@ -21992,8 +22055,8 @@
     20211004,
     1924
    ],
-   "commit": "a376f53e42fdca80c3286e8111578c65c64b0711",
-   "sha256": "1dk9q5qwr6y6crmq95qsz86jc8wvvjmqxvh9xp3xdf6c87yblgkb"
+   "commit": "a0869778e252b97c568140bca366955f9391d885",
+   "sha256": "0xrdzplr9hqrf5zpnplsjhv9byyqhs26ipbk3v9m8awvzlvjg9pg"
   }
  },
  {
@@ -22042,15 +22105,15 @@
   "repo": "stsquad/dired-rsync",
   "unstable": {
    "version": [
-    20220313,
-    1533
+    20220729,
+    1031
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "b327971d197e95e9b78e7ef92539bd4196a12797",
-   "sha256": "15bkjvrdyn1bpvj0lpxm370cl7phyypmpswc80qngx2axdqbr0a2"
+   "commit": "4057a36440988769bff0a859c347a19973b3ae62",
+   "sha256": "047jh06n60d7090rc3yfwvpms309xrb25i79i2km83dck4gx5dbv"
   },
   "stable": {
    "version": [
@@ -22103,11 +22166,11 @@
   "repo": "crocket/dired-single",
   "unstable": {
    "version": [
-    20211101,
-    2319
+    20220726,
+    137
    ],
-   "commit": "b254f9b7bfc96a5eab5760a56811f2872d2c590a",
-   "sha256": "1w243yq5m6zd6yvcsnvxf8162fd6i0l5izqj11mji7jzyqxl1ih3"
+   "commit": "48532d747f0098280050721b5d016ec59c97c77c",
+   "sha256": "10l6bx2hai3k73bb406zfaf0nfp42d3mr19fm6r60v2g352wz6c4"
   },
   "stable": {
    "version": [
@@ -22418,26 +22481,26 @@
   "repo": "alexluigit/dirvish",
   "unstable": {
    "version": [
-    20220716,
-    153
+    20220809,
+    1208
    ],
    "deps": [
     "transient"
    ],
-   "commit": "b8b114d0bcb2ddac7a14a37575f9ce89b5c44f8c",
-   "sha256": "0fmwq77s45ccyvfpz9h4ha62b18vmkf1z61fq5074caijb7maibw"
+   "commit": "2715ecfaa0147078318d3bcc74e95e0086786045",
+   "sha256": "10vpk2hcbij4rpa4z33w2xwg24w1n82n4vd0nk2fyqqm575h7wmi"
   },
   "stable": {
    "version": [
     1,
-    8,
-    14
+    9,
+    23
    ],
    "deps": [
     "transient"
    ],
-   "commit": "21a6805aa989285698d2f2c09feaeb4a03171890",
-   "sha256": "14d3h27qvfbk9s7mxng0dpl2bx1ikwv5swizia9zfn8w4aplpn93"
+   "commit": "4e0663265b27c2fa0302a581cf7f465fcfb449a0",
+   "sha256": "0s0rkpfpkx3nafahy0b96gjfsl5h1hccrx4iwqzsafm5v8q4yphr"
   }
  },
  {
@@ -22471,11 +22534,19 @@
   "repo": "jart/disaster",
   "unstable": {
    "version": [
-    20171016,
-    2152
+    20220807,
+    2215
    ],
-   "commit": "10a785facc60d89d78e0d5177985ab1af1741bb4",
-   "sha256": "0iz43jdkh5qdllqdchliys84gn9bpj6688rpc4jnycp64141m6cx"
+   "commit": "e261bb4cfdc9da95a3e6b9614d79e75437c85c8b",
+   "sha256": "1lpxaxhkimhww8296mvgwiq8l8yrzw55jlhhcs7iyv5lpfiwsfsm"
+  },
+  "stable": {
+   "version": [
+    1,
+    0
+   ],
+   "commit": "1e94e5f96aba8577b8b138855a771881f383ea3f",
+   "sha256": "17kyaf90nsz87d7f2lmch9917k31gy1zyyg2l5a6jbnbb90z7d9i"
   }
  },
  {
@@ -23088,11 +23159,11 @@
   "url": "https://codeberg.org/ideasman42/emacs-doc-show-inline.git",
   "unstable": {
    "version": [
-    20220708,
-    211
+    20220731,
+    2330
    ],
-   "commit": "1be290742980331736828207208caf2473f3ba60",
-   "sha256": "14xjn7yzskac5azq8h3dbxijiqmss2xdl1sah4ndwhw2i7ziq1x2"
+   "commit": "02f2187d815b480e316238e2b8568bccc5e38fdd",
+   "sha256": "1i4lzq60d5i3yiibgf8nx97xfr477gkp4pyd5r2q1sykv9hjlr51"
   }
  },
  {
@@ -23287,19 +23358,19 @@
   "repo": "spotify/dockerfile-mode",
   "unstable": {
    "version": [
-    20220220,
-    1439
+    20220806,
+    1709
    ],
-   "commit": "b63a3d12b7dea0cb9efc7f78d7ad5672ceab2a3f",
-   "sha256": "0cnsm9xc5lqfx0vgv0fcqadwr8mnj3s9bqldrh1s6f26q9bapncd"
+   "commit": "c7e4e2541deb66d266f58c364e33a4a10cefbc2b",
+   "sha256": "0hmzwh8m72rj6cwaxfypnv3fmjrs11iqr15vsdw1rw7m55xi675f"
   },
   "stable": {
    "version": [
     1,
-    6
+    7
    ],
-   "commit": "11c43de04b128b7638cd98a1e80be2b661c18fbb",
-   "sha256": "0nmybfc9qch0jng06qgs2xb41dl9v52ckc9nc20d7hv3x36w555x"
+   "commit": "c7e4e2541deb66d266f58c364e33a4a10cefbc2b",
+   "sha256": "0hmzwh8m72rj6cwaxfypnv3fmjrs11iqr15vsdw1rw7m55xi675f"
   }
  },
  {
@@ -23471,11 +23542,11 @@
   "repo": "manuel-uberti/doneburn-theme",
   "unstable": {
    "version": [
-    20181110,
-    1857
+    20220720,
+    1218
    ],
-   "commit": "da4fa915a2a659001eea04498d790cdd8cac1fce",
-   "sha256": "1xlh20vc43ywljjw13cp0aj4h9qackhqqzm0yi5g881lcyng2ca1"
+   "commit": "824eae7ecf1cce08fa41f6762a27670815b7f786",
+   "sha256": "0jvq6k9qlyk5g9gvs8yhmq27hgdygplvqn94rcjw77gwsgr568p6"
   }
  },
  {
@@ -23515,15 +23586,15 @@
   "repo": "seagle0128/doom-modeline",
   "unstable": {
    "version": [
-    20220716,
-    514
+    20220805,
+    1037
    ],
    "deps": [
     "compat",
     "shrink-path"
    ],
-   "commit": "7003009213fd1433e47240e5387b84e6cbb7d350",
-   "sha256": "0gaqfqk8k8k93r4wcv624507ggmlch596kcxr8mq2mb0dzjmmxmw"
+   "commit": "1b7463832f21369377bf0a3d8f402241ad8102cb",
+   "sha256": "08cj22njp8xc9mk02wzjvgsxs9w2gvcrr393xqw452x95n59fnr5"
   },
   "stable": {
    "version": [
@@ -23566,14 +23637,14 @@
   "repo": "doomemacs/themes",
   "unstable": {
    "version": [
-    20220622,
-    2317
+    20220727,
+    853
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "d79a41f593c69697af1ddaac971c0c47ecc446a8",
-   "sha256": "120pcas0l1m6w551qxfcl2fx0aysjqp91nn47zdxrr8rs01654wr"
+   "commit": "aa13e7fc713d458f46f4ab7cce367fd30d801765",
+   "sha256": "0pls01fkcm0d952cimaa7zk3h26zn434h891vs9ln08axlkf2d5b"
   },
   "stable": {
    "version": [
@@ -23816,11 +23887,11 @@
   "repo": "dracula/emacs",
   "unstable": {
    "version": [
-    20220209,
-    724
+    20220804,
+    618
    ],
-   "commit": "60f4e0c67aeeaeb1632cd82b96f4ff5ee83bd1f4",
-   "sha256": "0ixmdjbi9zvgim6s5j0slc744zwz5l069bvbsinxmi8fzpiln68m"
+   "commit": "37b3979b91b06a0520a0d326bc323b4dda280123",
+   "sha256": "1z4zk38agf2j36gbrj3wmngmk617mc6id8y4c11kvva2fd7l60am"
   },
   "stable": {
    "version": [
@@ -24058,8 +24129,8 @@
   "repo": "dtk01/dtk",
   "unstable": {
    "version": [
-    20220602,
-    2129
+    20220808,
+    1529
    ],
    "deps": [
     "cl-lib",
@@ -24067,8 +24138,8 @@
     "s",
     "seq"
    ],
-   "commit": "a657a8c034746069a5b340ef7356cb7d38290ec9",
-   "sha256": "1cycdzk24g3ay1riz840bvd94vhcy7l0hx6ipb7s18pz5aw7icbb"
+   "commit": "2a76bd06d95ef0b07cad235b01107051616a5387",
+   "sha256": "1g29af3ds8c0jqk16bnay93z95brnimynp20p7w4n29n7kqfjmhx"
   }
  },
  {
@@ -24094,19 +24165,19 @@
   "repo": "jscheid/dtrt-indent",
   "unstable": {
    "version": [
-    20220518,
-    807
+    20220725,
+    849
    ],
-   "commit": "57f4072fa8acd5f7af40b11f5f33607bca324fe1",
-   "sha256": "1pimn792p93i2rs08al32xr3p9csp645ai5830mgjza6nkkqhxml"
+   "commit": "d4fd1b4977eb0d534844fddf01c3c51c70c57205",
+   "sha256": "16g4bv2py423l19n0kaz18a41wk5fsrpnqzifdss6amqh0dqyvmf"
   },
   "stable": {
    "version": [
     1,
-    7
+    8
    ],
-   "commit": "66fc30af02901db023e464a24d2b5fb3ff472794",
-   "sha256": "0ihwmkxgbd0mgfvzisjiwvyypa9z21ckyxdnkf9y5lxywjyr39zh"
+   "commit": "d4fd1b4977eb0d534844fddf01c3c51c70c57205",
+   "sha256": "16g4bv2py423l19n0kaz18a41wk5fsrpnqzifdss6amqh0dqyvmf"
   }
  },
  {
@@ -24184,8 +24255,8 @@
     "popup",
     "s"
    ],
-   "commit": "ba4127336d897f5656032694bbe22c490ecbb000",
-   "sha256": "07r4c4wrffbk6qvgyjg4k7jz0viym2qfpkqql6xg1rpan1sp9rk7"
+   "commit": "0a783d1db610ff1dc4e1b7869589cff16ff92f7a",
+   "sha256": "0m67a9zdgdwgl4w24qcla10xgjgk88mg7a9jsfsj1cyqngrm0kjs"
   },
   "stable": {
    "version": [
@@ -24225,20 +24296,20 @@
   "repo": "ocaml/dune",
   "unstable": {
    "version": [
-    20210909,
-    1010
+    20220805,
+    1652
    ],
-   "commit": "02a51a1318f3bdb9f7b6c016c258d3c9df1c9b9b",
-   "sha256": "0f74jpf3p9b0x6a28vafix6jmh8xmphl323cz9zbl1ki8jna8n3w"
+   "commit": "dcde9174164aa82708d3108eef40287b363cc8ea",
+   "sha256": "18ghh62273ybmzklzccy7qg6xasdfk75906qn06yw4xhkwbxlldg"
   },
   "stable": {
    "version": [
     3,
-    3,
+    4,
     1
    ],
-   "commit": "b3232b22e13ff2fe4db994ba7ae3db727d1493cd",
-   "sha256": "0wdja70l7y1cj1d0sijm0q0cbics8xd9wqka7zyb29y1cc57pasa"
+   "commit": "ac188544b55357c1fff277f54d1481d28a634e19",
+   "sha256": "02zn79l7y7rvy7b6bimlf5qymrvzc43w8q7l4jx3k8wzn2g5326z"
   }
  },
  {
@@ -24325,6 +24396,21 @@
   }
  },
  {
+  "ename": "dwim-shell-command",
+  "commit": "61d5717cacebf03cb9ace2f16a877cc07890c013",
+  "sha256": "0skfqspgcykgpmf4akb52z606xk12ycg2h37w43nrg8lhvyaxalb",
+  "fetcher": "github",
+  "repo": "xenodium/dwim-shell-command",
+  "unstable": {
+   "version": [
+    20220809,
+    738
+   ],
+   "commit": "f89b831f6f66326f63905b800d95bda233bf9765",
+   "sha256": "1msnbqwj9czclndgmgi8mf05lbl4qwi5knq9zsw3ydr262gjaiqq"
+  }
+ },
+ {
   "ename": "dyalog-mode",
   "commit": "1a8f86df54f1243fea71e1e73ed0b9fb049032bd",
   "sha256": "00mbkl275g8x3w341nsi90ffm5cfalnrfzx8ww1hnxc86q5ldivw",
@@ -24749,8 +24835,8 @@
     20220526,
     1434
    ],
-   "commit": "4fe2cafbfeb73d806ebea8801c3522ff2886f30b",
-   "sha256": "05m121lw90rjs1a6wq8gvqxzydm4940x30xp3kh1v5x4zwwcf03b"
+   "commit": "5e2b881d321c588fed05875819e2b749d33abe0e",
+   "sha256": "0a0i2a5mqj9s5shb3wj3mhc2j7n0dmkqhid81cxflll9m0mkaryp"
   },
   "stable": {
    "version": [
@@ -25028,8 +25114,8 @@
     20220606,
     1846
    ],
-   "commit": "89a868226e7ddb303548e82a81f76fbb0e5b21c5",
-   "sha256": "0hqlvjhbx6zz11dhnacqgi62mwwbiji95jgv2zwdl9y1zmizd23c"
+   "commit": "89df6ca4215b3a325dc94a8f246f403cacc99745",
+   "sha256": "0323d3ldj1f2z8k5hl7n31ywz6rh2ll62wvs0v7d6nps09zhm318"
   }
  },
  {
@@ -25040,11 +25126,11 @@
   "repo": "flexibeast/ebuku",
   "unstable": {
    "version": [
-    20220626,
-    1336
+    20220725,
+    832
    ],
-   "commit": "b046d9417edda5cb078041ea0e920d0688255060",
-   "sha256": "14c336pvyxfys3rb9vmqzv9zlbcl0r2k150xrfvyl0qs0syvbc28"
+   "commit": "5b8bf34b8ea5d05f0b8dfc12bfea825f9cffbeda",
+   "sha256": "04733lqa6z3kmdjcgdi58q3wrqan2qib43rvjw51qc739fwmwb5y"
   }
  },
  {
@@ -25139,8 +25225,8 @@
   "repo": "ecukes/ecukes",
   "unstable": {
    "version": [
-    20210202,
-    1241
+    20220802,
+    1502
    ],
    "deps": [
     "ansi",
@@ -25150,8 +25236,8 @@
     "f",
     "s"
    ],
-   "commit": "d173cdf487bc2c62305e2232db96290bc021950f",
-   "sha256": "182qgddfv8nd89y1l55rs5vm5i61ayc8cxbplb8zx0alnid9xrw1"
+   "commit": "3fff6edbf4acfab5b9e042c307bc5bbfac1c550f",
+   "sha256": "0y953fxhxgbkjvh87wq3vkmkhs5pbafwhyflcq2d6krbb1w6jcwh"
   },
   "stable": {
    "version": [
@@ -25903,8 +25989,8 @@
   "repo": "joaotavora/eglot",
   "unstable": {
    "version": [
-    20220715,
-    1158
+    20220726,
+    1405
    ],
    "deps": [
     "eldoc",
@@ -25914,8 +26000,8 @@
     "seq",
     "xref"
    ],
-   "commit": "33c464f658de70f36c27237d57b9c9858c68bc81",
-   "sha256": "1qplg6ilrr5p28mn3jflqkidz04s475q2nl53qdfh2mvhviwwklz"
+   "commit": "000b7fdce93ed29c505a7fa75baaf87094fd690a",
+   "sha256": "0x4b592vx1x63avmybdi6n6v7ik1v15idhbf1dpda2m54fhrf7bn"
   },
   "stable": {
    "version": [
@@ -26211,8 +26297,8 @@
     20220622,
     2008
    ],
-   "commit": "15f6af6035ad1f159ac931268ec3431ce4cdf2ec",
-   "sha256": "0zdjlcfpq8xb871r2m2i8ah08mqpwnm375s42z3qgbccz63v8hy8"
+   "commit": "cf6350c637a3151c16324768cf9c472d060f70df",
+   "sha256": "0d8w9m8rm6b2m86m6mq2sz5nfh9m3dizxcryn5qwwlv8hrlpir14"
   },
   "stable": {
    "version": [
@@ -26646,11 +26732,11 @@
   "repo": "Mstrodl/elcord",
   "unstable": {
    "version": [
-    20220708,
-    55
+    20220723,
+    33
    ],
-   "commit": "c3c9d318171c2627a64e6f34eed5942e4f5ad369",
-   "sha256": "1p78rdpin836giqmz479awbjzp6mass3mjrsbxbrp5yak4swhjwg"
+   "commit": "7aacd702335b4ab3344d3815c0fffed319effdf9",
+   "sha256": "15rjghwgvnd00ql62x03smsban15g7asskqkvhn2znqfsngbxs3b"
   }
  },
  {
@@ -26695,11 +26781,11 @@
   "repo": "doublep/eldev",
   "unstable": {
    "version": [
-    20220715,
-    2010
+    20220807,
+    1244
    ],
-   "commit": "0d2f46eb41180ada741725f9ea2e1272491591c4",
-   "sha256": "0c87rb8r2ghhj49xdjpiqq4b8222mi3bmmc97m63844zii1fjsc5"
+   "commit": "a9d5607372b0935fb1b84a81bfcbdf60a7bf7ca8",
+   "sha256": "1159kz63fsw116bl42vhfgnzck1g5x6vj41pwz7jl2cx4fgcc7pc"
   },
   "stable": {
    "version": [
@@ -26719,11 +26805,11 @@
   "repo": "casouri/eldoc-box",
   "unstable": {
    "version": [
-    20220612,
-    243
+    20220729,
+    844
    ],
-   "commit": "39b44c99a02299fc7270f1c1832fb37149f8b924",
-   "sha256": "077y6dhxs032r9y7b1if9d2113bvhn3j1vinyh8l16fnnd02cxsi"
+   "commit": "4a57d48115501c68665535877e58694281a50563",
+   "sha256": "0iw3z8hjcsy7lw5zy3b8pyl3m5pahy5zfa0s4hn012g563f9yx8m"
   },
   "stable": {
    "version": [
@@ -27090,10 +27176,10 @@
  },
  {
   "ename": "elfeed-goodies",
-  "commit": "e6ebb8d23961fd9bfe101f7917caa3b405493f31",
-  "sha256": "0zpk6nx757hasgzcww90fzkcdn078my33p7yax7xslvi4msm37bi",
+  "commit": "8d39d68623d62a0565f371f0d125e2d18276e1b7",
+  "sha256": "1hwjydi6kzkr44xafr28yf5bj879808nf6l6zvmia2pjgridwaad",
   "fetcher": "github",
-  "repo": "algernon/elfeed-goodies",
+  "repo": "jeetelongname/elfeed-goodies",
   "unstable": {
    "version": [
     20220614,
@@ -27128,8 +27214,8 @@
     "org",
     "s"
    ],
-   "commit": "d28c858303e60dcb3a6eb18ea85ee3cb9e3dd623",
-   "sha256": "189hr2pqpm9vpz06frkl6r3k6q6ispx97zj24lczcli44l7d8gsz"
+   "commit": "f8715f20fc5e51d1b284667951ca23638475fcba",
+   "sha256": "00wdhxj60v9mcjysp5hsdm5pmch1vqkmry040v6mwa44gabrnk75"
   }
  },
  {
@@ -27154,14 +27240,14 @@
    "version": [
     0,
     8,
-    0
+    1
    ],
    "deps": [
     "cl-lib",
     "elfeed"
    ],
-   "commit": "4a59e26216ceb6eb466781f15b6ac770b90437f6",
-   "sha256": "07r1qlldgd0kfikd0y737y5n42ab3nkw2s5jx7frimj41yandbdp"
+   "commit": "b813574faefc1ac4825da19b40f620339b6badff",
+   "sha256": "0k9rkghp9rg7aidmx7q0n4wpb9z5cwr7j8z167yzaqgf9s3y4jj2"
   }
  },
  {
@@ -27234,15 +27320,15 @@
   "repo": "karthink/elfeed-tube",
   "unstable": {
    "version": [
-    20220703,
-    2128
+    20220716,
+    1217
    ],
    "deps": [
     "aio",
     "elfeed"
    ],
-   "commit": "5817c91f5b3b7159965aa73839d2a0a08fd952bd",
-   "sha256": "1w22n54gm8my4r4kvi2id6s2wghsqdazzk168v79kw8kfw32vyy9"
+   "commit": "a048950b9dc6d33741ed3224d6d8440fe4408742",
+   "sha256": "0a8fj2wy9y2k0qrszd4vbizlgpwywjrkjz1vs7x4smbf9cj5mxaw"
   }
  },
  {
@@ -27260,8 +27346,8 @@
     "elfeed-tube",
     "mpv"
    ],
-   "commit": "5817c91f5b3b7159965aa73839d2a0a08fd952bd",
-   "sha256": "1w22n54gm8my4r4kvi2id6s2wghsqdazzk168v79kw8kfw32vyy9"
+   "commit": "a048950b9dc6d33741ed3224d6d8440fe4408742",
+   "sha256": "0a8fj2wy9y2k0qrszd4vbizlgpwywjrkjz1vs7x4smbf9cj5mxaw"
   }
  },
  {
@@ -27364,16 +27450,16 @@
   "repo": "Wilfred/elisp-def",
   "unstable": {
    "version": [
-    20220704,
-    2144
+    20220803,
+    1647
    ],
    "deps": [
     "dash",
     "f",
     "s"
    ],
-   "commit": "7e9c950288d5f90b6f5ab0a9846e29db384f4fd4",
-   "sha256": "01ipd1if6l320m8hg6xqhmxbd0k6qn7ysfrc0cng02l0y3k8d44c"
+   "commit": "1d2e88a232ec16bce036b49577c4d4d96035f9f7",
+   "sha256": "0slywahznd20369ghyl51mw58svq31042sfljfq53pc7p4f5n15y"
   },
   "stable": {
    "version": [
@@ -27963,8 +28049,8 @@
     20220526,
     1512
    ],
-   "commit": "b200d979bcbfe2df0f7c0074aeb5497251ed47a8",
-   "sha256": "1gmwf3wv984vxnr42936kyb4npkwc3mwpm81akprxm5ggzz0zigd"
+   "commit": "2e2048bc335d170b5680e97c6a4cccd71eb85129",
+   "sha256": "0692a38g39jxzby3q88674ghldda7n0zaby0l06ra3a70cdhvj12"
   },
   "stable": {
    "version": [
@@ -27984,11 +28070,11 @@
   "url": "https://thelambdalab.xyz/git/elpher.git",
   "unstable": {
    "version": [
-    20220715,
-    612
+    20220809,
+    253
    ],
-   "commit": "b42463a49eca1f319bc1830f70295e8f127fb40b",
-   "sha256": "04mkk3v3vy49cac18dv641cxz120v0wlzkjvwmzlvfx6zr1gnq5j"
+   "commit": "b5269970249871a8889950a3e47bdff51eb0420c",
+   "sha256": "0j69l2wbzhw33wwnfvmscpn1isry9aycghhs36h6vsa3wc7zml1a"
   },
   "stable": {
    "version": [
@@ -28372,11 +28458,11 @@
   "repo": "tecosaur/emacs-everywhere",
   "unstable": {
    "version": [
-    20220628,
-    1501
+    20220806,
+    1536
    ],
-   "commit": "cbe56e216df38756de11370535601b5324fdc63b",
-   "sha256": "1xdahfnrvfda427grv69agx4ry3mq30nyz1ay01a23ijjlrf4q58"
+   "commit": "a1b16b53c5211607fa0f76c80aebb3a72f645ae1",
+   "sha256": "1jgr1f2nrnw5rsvnsxmvnlrr48fxrb895q4mpawnaw17xx13llpg"
   }
  },
  {
@@ -28759,17 +28845,16 @@
   "repo": "elken/embark-vc",
   "unstable": {
    "version": [
-    20220703,
-    1008
+    20220720,
+    613
    ],
    "deps": [
-    "code-review",
     "embark",
     "forge",
     "s"
    ],
-   "commit": "6124909d8b07c70a0eb3bcaf47f1c3a28698528a",
-   "sha256": "0rcnmqvsvwwqa8f9j4jflk9b15l4577ay3q2c3mdhx46g3q1c9cx"
+   "commit": "4a6fcf96d07c79ab8c5f4fe3f84b4335a2a4033f",
+   "sha256": "1xx66szz5y9w7cdj1gp3arn49z49sqf3f7plchcqzzn6aiz88ddr"
   }
  },
  {
@@ -29369,6 +29454,29 @@
   }
  },
  {
+  "ename": "encrypt-region",
+  "commit": "1ed03e2c07f97fe5f631cd8c2212570ebc807ba8",
+  "sha256": "1x8c92q233icgq69rgcfkag5h27sw9zp2ihkxvilyspsdcv516ai",
+  "fetcher": "github",
+  "repo": "cgshep/encrypt-region",
+  "unstable": {
+   "version": [
+    20220802,
+    918
+   ],
+   "commit": "8ff5704bc6f4c57f935a8b7680129e599bbe474f",
+   "sha256": "08dd1grxlbb8mlwp46z35pbvh80y68mcq351id0mz8wwxi7ivan2"
+  },
+  "stable": {
+   "version": [
+    1,
+    0
+   ],
+   "commit": "76d4e621c188467bfb9608ab9662215e7352cd77",
+   "sha256": "0zkadhk4cdmmhdshl9r6zsxjvlprk1d9nzswvp4qzri6y31clvbq"
+  }
+ },
+ {
   "ename": "engine-mode",
   "commit": "ea1b5dfb6628cf17e77369f25341835aad425f54",
   "sha256": "1gg7i93163m7k7lr3pnal1svymnhzwrfpfcdc0798d7ybv26gg8c",
@@ -29406,11 +29514,11 @@
   "repo": "zenspider/enhanced-ruby-mode",
   "unstable": {
    "version": [
-    20220707,
-    1949
+    20220717,
+    652
    ],
-   "commit": "23ee0e8690a157d9c81d7aec179c82f0bba309b8",
-   "sha256": "0rsx48lkv9j9gc9mx6ky65z8ab88fxf06ffyqvxxibnb9idjsmy6"
+   "commit": "8dcb8888cd8007420594212945fee88f82b663f6",
+   "sha256": "1p98jxfjvc4y42sk5hja1v9vrqycgpj2zqx1fgjaqac0a4f0032j"
   },
   "stable": {
    "version": [
@@ -29510,15 +29618,15 @@
   "repo": "purcell/envrc",
   "unstable": {
    "version": [
-    20220604,
-    1519
+    20220809,
+    1320
    ],
    "deps": [
     "inheritenv",
     "seq"
    ],
-   "commit": "7f36664fc6d97a7ca77c6c3e0c6577b72fa0b70d",
-   "sha256": "0858d36xgc6r4s116hc4pb8jf1j1l9ixws9xpk39a8h1diw3gplm"
+   "commit": "2a6257b5fdf51e77e41038c934fe81015c85fbde",
+   "sha256": "1s71pzj1lqvdxv00j3k6yvmk9hf7qb72p4y63fj8nnw2d4kpb6j1"
   },
   "stable": {
    "version": [
@@ -30309,8 +30417,8 @@
     20200914,
     644
    ],
-   "commit": "5d30d8e7a25dfced02edefd82699f1f7b6f79316",
-   "sha256": "022jzidrgx66k40i25wd49p8q9gh8x7s2m7qnxpqcfjbmgdy624p"
+   "commit": "5d2d77abbc0c97f5b23d7089797c3ef8796508dc",
+   "sha256": "1ayprcd7alryqz89p5gi3wawbc72210r7j8jw7naind7wwkjz386"
   },
   "stable": {
    "version": [
@@ -30334,8 +30442,8 @@
     20220215,
     1844
    ],
-   "commit": "34d362faf2a6272280b52585a5570a04d7fd63e4",
-   "sha256": "1n3x4906iwgw34pvkjc8sv0pzznnj4hp0j2fjlnk2kifi977ay97"
+   "commit": "c58471e58117409c9470a04f9dc1de6c765aa86d",
+   "sha256": "1xhbxcpcvc9vy66qp4ap26cg44dx2j7zarljmmw801ckcmv3ff84"
   },
   "stable": {
    "version": [
@@ -30869,14 +30977,14 @@
   "repo": "Phundrak/eshell-info-banner.el",
   "unstable": {
    "version": [
-    20220531,
-    940
+    20220728,
+    1006
    ],
    "deps": [
     "s"
    ],
-   "commit": "b7f2bfc0137be9cdc3dfe26a71e1984d3c3bcdc4",
-   "sha256": "0xj9cmcm8cfmmnvjs2wwhqc9j7jwydywscbwq16clwb3v4v5gj1i"
+   "commit": "2f4e59ea7ac2129b175af2b6acf353b29687fb9f",
+   "sha256": "1362fag0hxsiah0y6rwwkrbxn01h07l59a73xr2piwl1m6imsihr"
   },
   "stable": {
    "version": [
@@ -30969,14 +31077,14 @@
   "repo": "4DA/eshell-toggle",
   "unstable": {
    "version": [
-    20210407,
-    2039
+    20220718,
+    729
    ],
    "deps": [
     "dash"
    ],
-   "commit": "7160518ca56444fead841b8acff59aeffc7cebb3",
-   "sha256": "0g0cg71n0cp1576i2qkgvg729gw1927vq0js3s64v5b8p9hmb1kq"
+   "commit": "d4e884624f02e68b267b0044322ad17baa6780f8",
+   "sha256": "13bb0dyhncph6rxihlf4fy7p92nyxz0ylld8vx1sj4551sv5ifn9"
   }
  },
  {
@@ -31289,11 +31397,11 @@
   "repo": "emacs-ess/ESS",
   "unstable": {
    "version": [
-    20220629,
-    1607
+    20220727,
+    1131
    ],
-   "commit": "1069abd4e241ebc223e15c2060d1818ac772c845",
-   "sha256": "1x4fbjfkynnqfg9l8660m5zh47a0irsxlir0fvh1cq6yp0hwkw1r"
+   "commit": "b8167727d3c51f7adee6ebcad698ab566b68a55e",
+   "sha256": "1g3bih73fr8vinasw19kag28f1d2z9isxa5n9jk52vi0rcspmsb1"
   },
   "stable": {
    "version": [
@@ -31907,15 +32015,15 @@
   "repo": "emacs-evil/evil",
   "unstable": {
    "version": [
-    20220705,
-    1432
+    20220809,
+    2107
    ],
    "deps": [
     "cl-lib",
     "goto-chg"
    ],
-   "commit": "0e501d17c5dc2944f23fe5046b030d0c641665c5",
-   "sha256": "1iqj8ja7nhp0mh9nih6fmf68xf6qnx24bnyi6gjsdj3df1j7xps3"
+   "commit": "87a1fc7fdf75feaac1b0fd163ca60694eda1834e",
+   "sha256": "0lp9h23ymzz8xqxr5rxaan8jzj4lynmvcvrc459xvh7dv2j2wl83"
   },
   "stable": {
    "version": [
@@ -32108,15 +32216,15 @@
   "repo": "emacs-evil/evil-collection",
   "unstable": {
    "version": [
-    20220712,
-    758
+    20220809,
+    650
    ],
    "deps": [
     "annalist",
     "evil"
    ],
-   "commit": "9cea83273c1af812e2e3feab1ec13ab54aba25a0",
-   "sha256": "10lnf016qf8wb3wxhky2j2hfni58b2d2m1p97v21b0jwiga7bzcj"
+   "commit": "c1ede88de9b09f280e4a37c671b6dd540bf1028a",
+   "sha256": "1zx14vm9a7gf38vm4fzby0rg9dgwryp299k735v8f6xghgvpx0k4"
   },
   "stable": {
    "version": [
@@ -32677,8 +32785,8 @@
     20220608,
     1134
    ],
-   "commit": "271551560c3c8c066b29d335f781ff9b5aefe746",
-   "sha256": "1vzpmr33smi1kgcrxj7jl8wvk1ffvy2bf6p6pki0r53lk03mf8fr"
+   "commit": "296cc6580b990dec41893bdb08d8294ded4cb91b",
+   "sha256": "0ir05gr0a60l7l02pimq6f2wd227cr1138l6rwz1lgd5b2x9ymsz"
   },
   "stable": {
    "version": [
@@ -32803,11 +32911,11 @@
   "repo": "redguardtoo/evil-nerd-commenter",
   "unstable": {
    "version": [
-    20220524,
-    1231
+    20220718,
+    1414
    ],
-   "commit": "386cd758a477d1b1ba742ef698ecc19916b43fbe",
-   "sha256": "1gg6g14nyizfagn5dgqr8qrfcyvlbcm0jvlb2wqp5z2wp1dyzqkg"
+   "commit": "b1a92221c9735c2681806a3d5a86c7258e73089f",
+   "sha256": "1bbkscmnfy7xkkhjkpxp5qc7izv5azqb4z9a4az6s9744s50maf6"
   },
   "stable": {
    "version": [
@@ -32842,14 +32950,14 @@
   "repo": "juliapath/evil-numbers",
   "unstable": {
    "version": [
-    20220711,
-    930
+    20220731,
+    2346
    ],
    "deps": [
     "evil"
    ],
-   "commit": "61dde4e3715fd1255df8f87a37d9c8022e909bf4",
-   "sha256": "006s8azhypp5n7jnvqkb4rmzqmnsdwj87c3r97zhjzgi2jq953gx"
+   "commit": "7bd9bb0bce2ed61fa256952fbf37fc5259928925",
+   "sha256": "0z8rma0h615lybvbx67apcddy7jfm4lbrg6hr5k4hmll3q7b594r"
   },
   "stable": {
    "version": [
@@ -33425,8 +33533,8 @@
    "deps": [
     "evil"
    ],
-   "commit": "0e501d17c5dc2944f23fe5046b030d0c641665c5",
-   "sha256": "1iqj8ja7nhp0mh9nih6fmf68xf6qnx24bnyi6gjsdj3df1j7xps3"
+   "commit": "87a1fc7fdf75feaac1b0fd163ca60694eda1834e",
+   "sha256": "0lp9h23ymzz8xqxr5rxaan8jzj4lynmvcvrc459xvh7dv2j2wl83"
   },
   "stable": {
    "version": [
@@ -33628,15 +33736,15 @@
   "repo": "meain/evil-textobj-tree-sitter",
   "unstable": {
    "version": [
-    20220715,
-    1530
+    20220805,
+    1520
    ],
    "deps": [
     "evil",
     "tree-sitter"
    ],
-   "commit": "9dce8dab68c954ae32095328cf898eb856fc341a",
-   "sha256": "08s2za167a76p6z40cdpi1b10968sf4mvwgm0sinvqh26pqqz9n4"
+   "commit": "7ec5835662941ce64201281bc0ed0f31ee34e48a",
+   "sha256": "10kh8idwlcxa9f7f5jmwg1sykm3v1lv50lf3zqn13k1blj0k0ya0"
   }
  },
  {
@@ -34197,11 +34305,11 @@
   "repo": "magnars/expand-region.el",
   "unstable": {
    "version": [
-    20210708,
-    1952
+    20220729,
+    659
    ],
-   "commit": "7e5bbe2763c12bae3e77fe0c49bcad05ff91dbfe",
-   "sha256": "167mxvhpr1laad3iznpxbfczvzjyi5c1w6h58amn60gq8v78j9rl"
+   "commit": "c5c4362741deebb0985a8a29f9b8b0e25160764a",
+   "sha256": "17h58v5mnggbrwrp61cwkqx8hzazkdqyz9p6s1hl9g2hys7zkb00"
   },
   "stable": {
    "version": [
@@ -34344,6 +34452,21 @@
   }
  },
  {
+  "ename": "external-dict",
+  "commit": "3ab82a8b7a785cb4b25af78d2cf6e1537fb0f78c",
+  "sha256": "146g9378cgzrgk3q590ch47sv2bn2i3r815idbr3xv3dm21913wb",
+  "fetcher": "git",
+  "url": "https://repo.or.cz/external-dict.el.git",
+  "unstable": {
+   "version": [
+    20220801,
+    2349
+   ],
+   "commit": "aa051548ca850d15f939acfa82b358f756a761f6",
+   "sha256": "1nnkyy7wi5zkb511bsp8j95p88rd451nfncyvss27ldrscnizjf0"
+  }
+ },
+ {
   "ename": "extmap",
   "commit": "91ef4352603cc69930ab3d63f0a90eee63f5f328",
   "sha256": "0c12gfd3480y4fc22ik02n7h85k6s70i5jv5i872h0yi68cgd01j",
@@ -34462,10 +34585,10 @@
  },
  {
   "ename": "exwm-mff",
-  "commit": "78f94ec4d5f83020003cbdb7b954213dfb0f242b",
-  "sha256": "10qjdhdkvyavjl43cyq9czvfbx8s0riiby0fss6v0snxdhg4qysd",
-  "fetcher": "github",
-  "repo": "ieure/exwm-mff",
+  "commit": "3760d6c7908a03034979fbebdc2b52727ecef40a",
+  "sha256": "0zwkqqhas67bcdlkxvabqfjblh0b2yfl7bnp3f7ixa6n8yqgjn1i",
+  "fetcher": "git",
+  "url": "https://codeberg.org/emacs-weirdware/exwm-mff",
   "unstable": {
    "version": [
     20210603,
@@ -34894,6 +35017,21 @@
   }
  },
  {
+  "ename": "fancy-compilation",
+  "commit": "01f74f003f04d7bd650d833b719b7cf68f2d4a2d",
+  "sha256": "0g3wmhbw2xmgpnnpc39aj0s7cxkwwqbgladicxx4hvpcfr94s1pf",
+  "fetcher": "git",
+  "url": "https://codeberg.org/ideasman42/emacs-fancy-compilation.git",
+  "unstable": {
+   "version": [
+    20220725,
+    2313
+   ],
+   "commit": "6d98cf908b0bbd6286a55e6bf11905010468a006",
+   "sha256": "0b4c8wr8r1ch0g8s7whpxxfj3gsysaay4n1xznas36157v9d4135"
+  }
+ },
+ {
   "ename": "fancy-dabbrev",
   "commit": "1ac5a3797d9882235de984739d5a2bf122b64540",
   "sha256": "038zyg8kmz7k2y2xfs5mmm4fh87a503yri990kyf82pqyrsj3yww",
@@ -34966,14 +35104,14 @@
   "repo": "condy0919/fanyi.el",
   "unstable": {
    "version": [
-    20220702,
-    812
+    20220805,
+    216
    ],
    "deps": [
     "s"
    ],
-   "commit": "07815b29decc08994e7b6ae24be188047531b1b9",
-   "sha256": "01qnlfcjf7gr0bax94b6s79qf6r3pkvv2h30kmkz630x8a6wsgzf"
+   "commit": "031c7ab7a16113bdca2b351781dc95aff9658c9a",
+   "sha256": "0d9v93ll884srr8f6di1iyp396wr0bklip6cv0xydw3mimv2rv3x"
   }
  },
  {
@@ -35270,8 +35408,8 @@
     20220418,
     848
    ],
-   "commit": "e204d9e204b767cf95d6a051ff283f05dc51e9d3",
-   "sha256": "0zg4nkwfwmil2a3n2gnrwsj14dkwb1hm1mbcgcrg2dgvh45idns6"
+   "commit": "177d065db5984cbfaa66c375d13d5f1ccbb5f4a7",
+   "sha256": "0qwkpv146bi5ias5wl2c4mffs6bnp8kphcg24bil4kn0v35s51d5"
   },
   "stable": {
    "version": [
@@ -35705,8 +35843,8 @@
     20220702,
     1332
    ],
-   "commit": "677352621db8bf4a28be4e7a1c73dd3ce111f02a",
-   "sha256": "0pw373r9ffgkby8k0mwwxrwcb6zq2bk4kij62lqcjkf9bwkd4ghi"
+   "commit": "af7bc59a3b9ab626bea88ff81b9227cc22c09362",
+   "sha256": "1gjvsj5giznd4a74hh5dh30ckrkx206s7i2ssxx4954f720qxs7k"
   },
   "stable": {
    "version": [
@@ -35824,8 +35962,8 @@
   "repo": "LaurenceWarne/finito.el",
   "unstable": {
    "version": [
-    20220704,
-    1022
+    20220722,
+    1932
    ],
    "deps": [
     "async",
@@ -35836,8 +35974,8 @@
     "s",
     "transient"
    ],
-   "commit": "508f6699795528c579b235f4f7726b5aa5ad9595",
-   "sha256": "1raq1l4ixap83n98wf7a7dzd2mx2i1mgfsksim00x1qy9fpr5qar"
+   "commit": "cb4ed363d2ada2bff621c6b6586fe0c3342331b6",
+   "sha256": "0600b0f5m6s38r1m5z21gzl1pp29sircm89y5rf6imqgwasnx9gd"
   },
   "stable": {
    "version": [
@@ -36351,15 +36489,15 @@
   "repo": "plandes/flex-compile",
   "unstable": {
    "version": [
-    20220205,
-    205
+    20220729,
+    145
    ],
    "deps": [
     "buffer-manage",
     "dash"
    ],
-   "commit": "2da0e5e791896810747c710276ff3a1d0465d843",
-   "sha256": "0xix6j99hb1l0ml8ry2zcz74n86572bnq5czr0xni8hvrgxa9b61"
+   "commit": "cf28cf68f025b0090f9a8ae82326b647dced2d66",
+   "sha256": "03la8jd4n15gx92xl7z5b29xjly2if0pva2bfzqvsm88njp4wgaw"
   },
   "stable": {
    "version": [
@@ -36397,15 +36535,15 @@
   "repo": "wanderlust/flim",
   "unstable": {
    "version": [
-    20220503,
-    1442
+    20220720,
+    1311
    ],
    "deps": [
     "apel",
     "oauth2"
    ],
-   "commit": "f8dcbb8b4e6fa0d72212d478fb4a1e74804a2aa8",
-   "sha256": "1ld9srm0vzjqld2rcm5dyyk1prw0xhj5ladkdmrk9zq4jqflxchr"
+   "commit": "b27f4ae0bff18791bf41efa346cdc2eb35ad53e7",
+   "sha256": "1yd1f3fg64lk9isf0dvd2afkgq6fw6h5f7k0afz0nbs0vid482s1"
   }
  },
  {
@@ -36698,8 +36836,8 @@
   "repo": "flycheck/flycheck",
   "unstable": {
    "version": [
-    20220612,
-    1800
+    20220729,
+    1039
    ],
    "deps": [
     "dash",
@@ -36707,8 +36845,8 @@
     "pkg-info",
     "seq"
    ],
-   "commit": "c955fd6fb970eed5fdecf675369d3d61a41f6c68",
-   "sha256": "1dcacgzh7hxvsyw7hjc5l2qdy8p3nrgfx5rlzkv57j06h075nq5l"
+   "commit": "8541a61053bba1f2f31d0791e597cd3c78a21456",
+   "sha256": "1rh76xwiikcq2pbq5i2nf5dx1dsgaqlgmjpcm011w99m0nzg7bvi"
   },
   "stable": {
    "version": [
@@ -38123,14 +38261,14 @@
   "repo": "emacs-languagetool/flycheck-languagetool",
   "unstable": {
    "version": [
-    20220704,
-    637
+    20220731,
+    2301
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "8dca25f9fa79d6871fef9fdeeb1858474a8e9f0c",
-   "sha256": "1w1w049zcid8l2f0qyqv1g8sfbnwsbp28vkriwcnxywn9vmi4pzc"
+   "commit": "53b3e46d47a0e70fd2e5c49fea9134ee9aa41793",
+   "sha256": "1di51jp20ymqkp777rsvwkqzr9vpnpi90b8bd4db5v2ji46xrkjf"
   },
   "stable": {
    "version": [
@@ -38366,29 +38504,30 @@
   "repo": "flycheck/flycheck-ocaml",
   "unstable": {
    "version": [
-    20170730,
-    2153
+    20220730,
+    542
    ],
    "deps": [
     "flycheck",
     "let-alist",
     "merlin"
    ],
-   "commit": "8707a7bf545a8639a6a5c600a98d9a2ea1487dc9",
-   "sha256": "13vzxkjq6v1f1i9zgxgjbwpiba04k9frkcl2wx6a9h3vgd7jyay0"
+   "commit": "77f8ddbd9bfc3a11957ac7ec7e45d5fa9179b192",
+   "sha256": "0ndqd5s43la6nyrzff7w4d7kb7ya77i0givi8p8cik4r8nfxwjnd"
   },
   "stable": {
    "version": [
     0,
-    3
+    4,
+    2
    ],
    "deps": [
     "flycheck",
     "let-alist",
     "merlin"
    ],
-   "commit": "9b4cd83ad2a87cc94b5d4e1ac26ac235475f1e6c",
-   "sha256": "1phfarws2aajkgcl96hqa4ydmb1yncg10q2ldzf8ff6yd6mvk51l"
+   "commit": "7f7530043d0a52f4900ced5d202534dd5e855363",
+   "sha256": "1kwg0aylv4bb3hfgrid8wnd3fgcb6iqzhnb4a7js1cs4gh2c3ga1"
   }
  },
  {
@@ -38499,15 +38638,15 @@
   "repo": "emacs-php/phpstan.el",
   "unstable": {
    "version": [
-    20210714,
-    1805
+    20220723,
+    1451
    ],
    "deps": [
     "flycheck",
     "phpstan"
    ],
-   "commit": "4f990bf51cc65b3bdc63f4991e007d03b76932a2",
-   "sha256": "07iqv6jd7a49vmfp4fz9dwvxhhl50wkpyisazr2rxwfs9i72n00m"
+   "commit": "e229e990e36a2bfb88503bfe2bb6f2836eaa2874",
+   "sha256": "1235m8q85rijgx9a5jn3p812hdffjlnalh7nvdl3qgxjsf2c4bd0"
   },
   "stable": {
    "version": [
@@ -39609,11 +39748,11 @@
   "repo": "s-kostyaev/flymake-go-staticcheck",
   "unstable": {
    "version": [
-    20190708,
-    1325
+    20220804,
+    1907
    ],
-   "commit": "130079fcd29c3e2a72f8325f3041042bcc6286f1",
-   "sha256": "1wxsk6vy9hm8gi5cvhmxmqv9415q8k2yp8636s4fb1xcp1zalysk"
+   "commit": "9098f7e07ea6513667dc6af6d9ad2fa854464d20",
+   "sha256": "15gwg431lk7n8n21dsaic3k0rjw6lbsc2g394hr3xzirywk3g40i"
   }
  },
  {
@@ -40132,8 +40271,8 @@
    "deps": [
     "flymake-easy"
    ],
-   "commit": "1c57813235fb4b1561cadc94b44635b2b612b874",
-   "sha256": "0c96x0l487a96xkgdasgpp81vjiai31cd5chwgsfyaz9bnw8zdh5"
+   "commit": "433fd05b608f06a40bb209fbea76117d896449ed",
+   "sha256": "149yk0l55p2fcvcgy0pqv3iw8mgbskycmb84bqvjg8227a38bks8"
   },
   "stable": {
    "version": [
@@ -40161,8 +40300,8 @@
    "deps": [
     "phpstan"
    ],
-   "commit": "4f990bf51cc65b3bdc63f4991e007d03b76932a2",
-   "sha256": "07iqv6jd7a49vmfp4fz9dwvxhhl50wkpyisazr2rxwfs9i72n00m"
+   "commit": "e229e990e36a2bfb88503bfe2bb6f2836eaa2874",
+   "sha256": "1235m8q85rijgx9a5jn3p812hdffjlnalh7nvdl3qgxjsf2c4bd0"
   },
   "stable": {
    "version": [
@@ -41261,15 +41400,15 @@
   "repo": "lassik/emacs-format-all-the-code",
   "unstable": {
    "version": [
-    20220701,
-    823
+    20220806,
+    702
    ],
    "deps": [
     "inheritenv",
     "language-id"
    ],
-   "commit": "aa22b06283382baf73d78064fcfd6c2f075ead5c",
-   "sha256": "0fl68l5qcf78z7m7hwb4089vqa0py46fbv9rzars450kpkc82hhg"
+   "commit": "7e375c01eeaacdf33a27b59f6cf1849bb6a0caa5",
+   "sha256": "1xh6bbwcgx6bs78vfmfv5cy16ng7i9k37kr1cpdxfchjl3ylyhw1"
   },
   "stable": {
    "version": [
@@ -41852,11 +41991,11 @@
   "repo": "pdo/frimacs",
   "unstable": {
    "version": [
-    20220702,
-    1004
+    20220723,
+    1902
    ],
-   "commit": "978665a47314f385850097442a3838ad7f3b688d",
-   "sha256": "1bvjk3g0rcjxn4anwvkd72r4phd534md350h1ryxr0frvgrpkcd1"
+   "commit": "b35fdefb60ead4d7559131601c43761973762a9a",
+   "sha256": "034x3b471xfn1ih95az59h34ad2qvb9qpav29ng5z0ry2hqcq0za"
   }
  },
  {
@@ -41998,8 +42137,8 @@
   "repo": "FStarLang/fstar-mode.el",
   "unstable": {
    "version": [
-    20220106,
-    2256
+    20220725,
+    2139
    ],
    "deps": [
     "company",
@@ -42009,8 +42148,8 @@
     "quick-peek",
     "yasnippet"
    ],
-   "commit": "c95c2a61a6c42a1fa8bab9a8eb812a41be3e6f69",
-   "sha256": "1vj0lgj2q9bjspaqd0qlfifzwilzwnhkn21csnra78bvbhk2pd3p"
+   "commit": "60489e75c6f26417068bf861b6db2935e72c38fe",
+   "sha256": "17j66xilzv0dv91jzk7v224hwpm0mlyxcsz7qf0ip8379ax1jb8g"
   },
   "stable": {
    "version": [
@@ -42040,8 +42179,8 @@
    "deps": [
     "cl-lib"
    ],
-   "commit": "5716fde9dd0aa8531894938a9930b07ce96dfa66",
-   "sha256": "1rgs8ivbh8686kva0l8wi7gx5yp3v6rk50id11axzx9qzj5p1gnw"
+   "commit": "b0badd157101d4b6b184f06726b456a00171b801",
+   "sha256": "11vpvjyh860j0k7rcysa0ssgggrai8fq6q33hqw2wz66pf2xn6bv"
   },
   "stable": {
    "version": [
@@ -42194,14 +42333,14 @@
   "repo": "jojojames/fussy",
   "unstable": {
    "version": [
-    20220713,
-    23
+    20220723,
+    1500
    ],
    "deps": [
     "flx"
    ],
-   "commit": "314280ae62a907004ce82f8bbbddf8feca497e95",
-   "sha256": "062lg7a6bb57zr1rcisk8hxagm2jd5ywphm881q87c8vkfhki2ar"
+   "commit": "d789dd9eb292ef2ff8a0959dc015f2edc67af6f7",
+   "sha256": "1h08kbd7i1g84rxmwn50rq9h67xmi615wg0yzjzdi0x4f2y56xgi"
   },
   "stable": {
    "version": [
@@ -42407,11 +42546,11 @@
   "repo": "bling/fzf.el",
   "unstable": {
    "version": [
-    20211228,
-    2005
+    20220726,
+    2216
    ],
-   "commit": "d61cecbdb60b0f10cecd50ff2ae115aeb77f9fdc",
-   "sha256": "1p392jq76jaqjk12rrnwkk4bmxmgav8bigqvp5a39c6jaw5ybrcd"
+   "commit": "21912ebc7e1084aa88c9d8b7715e782a3978ed23",
+   "sha256": "0gdqjh8996hb06bnnyhi94k69mjfrzyfgq00a9s4wwagv28sqmkj"
   },
   "stable": {
    "version": [
@@ -42571,11 +42710,11 @@
   "repo": "godotengine/emacs-gdscript-mode",
   "unstable": {
    "version": [
-    20220510,
-    944
+    20220721,
+    547
    ],
-   "commit": "d9e1f7f766c73115de8ce2815bc249069636c3db",
-   "sha256": "165xf8sg0sfnw8cvgfpym0jcfkn1dm7skpnvhrl647wmhba175is"
+   "commit": "d392e8aa7e7c6dd79ce52fb55d78f7acfa443194",
+   "sha256": "1zwhcqh3zvblmqz7ipm8r4n4qs4rv1myv3xbg5fm4axba46hpa5y"
   },
   "stable": {
    "version": [
@@ -42672,15 +42811,15 @@
   "repo": "emacs-geiser/geiser",
   "unstable": {
    "version": [
-    20220614,
-    2009
+    20220802,
+    1327
    ],
    "deps": [
     "project",
     "transient"
    ],
-   "commit": "115e1e39278e2ca32fa032b4d985eb6171935a83",
-   "sha256": "1akc6xpr3xyb9gn002nrjdwlfgq5spfacyf9m76m6y2f6rn0pwdk"
+   "commit": "bd3d4ab6d7dffd9f8565af32471dc58aaf5a2214",
+   "sha256": "1kz8sl1iyrxx5lrfj4rkzm4xcmgvxwkvxdpw37id2jh0d986x0ql"
   },
   "stable": {
    "version": [
@@ -42762,14 +42901,14 @@
   "repo": "emacs-geiser/chicken",
   "unstable": {
    "version": [
-    20211204,
-    2049
+    20220717,
+    1130
    ],
    "deps": [
     "geiser"
    ],
-   "commit": "79a9ac78f4df7c9ec1f918313c543c116dbb8b70",
-   "sha256": "19j4ar7900yp2q4i4kdwqj1g0fjywflk6jr2x5n2y3zn7pj7z9nz"
+   "commit": "a480598b5908c95bc8d3178a48f13e9072a9235b",
+   "sha256": "0jb0zlg82axp44iy51w7fh96z3pmn2k1idipznhw90hkr3wkiiqw"
   },
   "stable": {
    "version": [
@@ -42847,14 +42986,14 @@
   "repo": "emacs-geiser/guile",
   "unstable": {
    "version": [
-    20220323,
-    2352
+    20220719,
+    143
    ],
    "deps": [
     "geiser"
    ],
-   "commit": "c641fcc50b6b86ca95743122b5206cdcd475f96e",
-   "sha256": "18m5ldj4r4c2hxgvv5b4azl90r8az1kn5f3s913h971asyv4wx06"
+   "commit": "7a4945fbc199ec823da1be7283f6e81f83b2609b",
+   "sha256": "140kd55qld95fbacvcgk2823l2rh7syj6rplppxcp7yvrji5nkn0"
   },
   "stable": {
    "version": [
@@ -43152,11 +43291,11 @@
   "repo": "matsuyoshi30/germanium-el",
   "unstable": {
    "version": [
-    20220116,
-    1634
+    20220716,
+    1500
    ],
-   "commit": "54c9a56da1e86941f2580d4838fbb6097f22f349",
-   "sha256": "193ck3641skspdbggx1a5lqy6rq84k0bj3xkznrzgrcfa9iw1mmx"
+   "commit": "7292aa6870cf8b0acb34a8750da32b44d83cd65c",
+   "sha256": "029hfzzdpx89ggbcs53l05yk9v6jwschy7vn4w48zifg4svqdva2"
   }
  },
  {
@@ -43167,16 +43306,16 @@
   "repo": "thisch/gerrit.el",
   "unstable": {
    "version": [
-    20220508,
-    704
+    20220809,
+    928
    ],
    "deps": [
     "dash",
     "magit",
     "s"
    ],
-   "commit": "2ca9cf999534a94c9aa93b393f30ed373eb2ed86",
-   "sha256": "1pmjyd9b4b97fvm644gvhlg7jzxsys4kqswrp9rxdlp8w64zxn31"
+   "commit": "eaedb6a200bf76d5add77e4cb00b8b9fd57fd087",
+   "sha256": "0ygdfycpipk3g51kmw419b2r5i4240v1i3hk5xjps0ni4x87i26i"
   }
  },
  {
@@ -43295,8 +43434,8 @@
     "marshal",
     "pcache"
    ],
-   "commit": "27ccc892e94f7e747e5b879eec71119965d9ed6e",
-   "sha256": "0biljpqw14kjv0njyrahfdgglaphghva0kpfjhiprfwbd0rmmi1k"
+   "commit": "9c47468a400a97732a116c598c2cd34fd3a23fa7",
+   "sha256": "1h4b52dx9914fhavk9z34fc7d92cmzyqxm8g2qyzjgic8hq4a0qb"
   },
   "stable": {
    "version": [
@@ -43531,11 +43670,11 @@
   "repo": "Ambrevar/emacs-gif-screencast",
   "unstable": {
    "version": [
-    20210401,
-    656
+    20220714,
+    1300
    ],
-   "commit": "5517a557a17d8016c9e26b0acb74197550f829b9",
-   "sha256": "0n0gd4k1c1s8xj7p1yg7irnkaxw9f91jmjp5www5hrwhi3mbmpb8"
+   "commit": "adec408e6adab2e8e057fe0ad828749f473bfb83",
+   "sha256": "0vgslz094hr0xavkjn6lx7hw65i032jiwmxl29bdgi9xrshbv87y"
   },
   "stable": {
    "version": [
@@ -43651,11 +43790,11 @@
   "repo": "jwiegley/git-annex-el",
   "unstable": {
    "version": [
-    20190625,
-    2118
+    20220807,
+    1542
    ],
-   "commit": "1324d3f23c534fe79391a2c256bb8803054e383b",
-   "sha256": "1lfky2nsrlndlbvk6vwbswnvbvkz1sxgg0n3r5q6xykdkjym0lrh"
+   "commit": "92f2d97c89980d2cea85850353836c68903514a1",
+   "sha256": "124qa11qzh5174jaidwkllbfzhi1rw9cxfc9px8bkarzqlizsnys"
   },
   "stable": {
    "version": [
@@ -43834,16 +43973,16 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20220615,
-    1159
+    20220803,
+    2341
    ],
    "deps": [
     "compat",
     "transient",
     "with-editor"
    ],
-   "commit": "acd26dd9f3708602d4c721395d790a4af7937eed",
-   "sha256": "05xfkk4dssqcf1kgxjlr74nya7nbkjmvqhqj6rmxbq89yb46nim5"
+   "commit": "8a0cc83eff98489d3685b8585afdcebbb47c1393",
+   "sha256": "0hf3zyxwhknnkgcms5phwf5qrbzjkj5c8kpmynzb9bwr6ba8yf6p"
   },
   "stable": {
    "version": [
@@ -43940,8 +44079,8 @@
     20220423,
     1704
    ],
-   "commit": "a50672b62a678922b8c0cab95225d520f493439b",
-   "sha256": "0xywglck2z06vgwf7m7a87plcrxca06pgd4y0iq8asbl046akj0g"
+   "commit": "315e7924a2683f75bcdd5e1ed032fbf01ac218e5",
+   "sha256": "1y3fxa951qhwl56vrfqb41dhixqlv6r9l9d5rra8sswcw3hj6g40"
   },
   "stable": {
    "version": [
@@ -44054,16 +44193,16 @@
   "repo": "akirak/git-identity.el",
   "unstable": {
    "version": [
-    20220402,
-    708
+    20220721,
+    912
    ],
    "deps": [
     "dash",
     "f",
     "hydra"
    ],
-   "commit": "e7da2b3e3a5a790311431e3263b00df41d335136",
-   "sha256": "0mm5fbp9x1far97bk7n2y5hmcjbmd3iss9wx7iqh1852b4k4087x"
+   "commit": "f920916a92fad0c551cd0739e48fc09d8709bd8d",
+   "sha256": "1ig7xf9f3hs3xh8428fsjrczfhnxzzjjjij2xhgns6m0kwh5j0r3"
   },
   "stable": {
    "version": [
@@ -44256,10 +44395,10 @@
  },
  {
   "ename": "git-timemachine",
-  "commit": "549ce6acba5c3135b3d8b6fff85845c41642c53b",
-  "sha256": "1laxdv9iw1z1wnf092231iyzq4mybg3z6q02qvwi38sinscskvgn",
+  "commit": "8c097ed61b11fe7362b512fe130afe8e0e9939d3",
+  "sha256": "1np8sqfi1q1vf9pm0vrh1wgwi2rh0c0kc68k22gb1bwczcs21y6k",
   "fetcher": "git",
-  "url": "https://codeberg.org/pidu/git-timemachine.git",
+  "url": "https://codeberg.org/pidu/git-timemachine",
   "unstable": {
    "version": [
     20220324,
@@ -45312,11 +45451,11 @@
   "repo": "emacs-gnuplot/gnuplot",
   "unstable": {
    "version": [
-    20220102,
-    1637
+    20220717,
+    1224
    ],
-   "commit": "57be3c7addec31e226a5a27aa553e996f9c684e3",
-   "sha256": "04w11gsg91mvr2bpa70rip8rn6ir9wmgpj6078hlx4dhx0fj7c00"
+   "commit": "803033e59ba4d9357088716cf9fcd144d3799d2d",
+   "sha256": "0j334cafq41g3s2s6nfdrfwbhkv5l5dbhv84in0vykpk6cyjycdm"
   },
   "stable": {
    "version": [
@@ -45823,21 +45962,21 @@
     "cl-lib",
     "go-mode"
    ],
-   "commit": "fa2693278637f56759480d2bf203bb8aad107230",
-   "sha256": "1dy96rgss19pwj3pp39wrm5kk933xbqmk79y6a599mnkiixdyaaz"
+   "commit": "08aa90d52f0e7d2ad02f961b554e13329672d7cb",
+   "sha256": "1zdyhjg3crvcw093zw2nv3kzs583i26ba6pbs8jyhqnnysl7llfc"
   },
   "stable": {
    "version": [
     1,
-    5,
+    6,
     0
    ],
    "deps": [
     "cl-lib",
     "go-mode"
    ],
-   "commit": "35f6826e435c3004dabf134d0f2ae2f31ea7b6a2",
-   "sha256": "1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf"
+   "commit": "3273fcece5d9ab7edd4f15b2d6bce61f4e5a0666",
+   "sha256": "00qzn136d8cl3szbi44xf3iiv75r6n1m7wwgldmzn4i5mpz8dbq7"
   }
  },
  {
@@ -45916,20 +46055,20 @@
   "repo": "dominikh/go-mode.el",
   "unstable": {
    "version": [
-    20220114,
-    2239
+    20220727,
+    115
    ],
-   "commit": "fa2693278637f56759480d2bf203bb8aad107230",
-   "sha256": "1dy96rgss19pwj3pp39wrm5kk933xbqmk79y6a599mnkiixdyaaz"
+   "commit": "08aa90d52f0e7d2ad02f961b554e13329672d7cb",
+   "sha256": "1zdyhjg3crvcw093zw2nv3kzs583i26ba6pbs8jyhqnnysl7llfc"
   },
   "stable": {
    "version": [
     1,
-    5,
+    6,
     0
    ],
-   "commit": "35f6826e435c3004dabf134d0f2ae2f31ea7b6a2",
-   "sha256": "1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf"
+   "commit": "3273fcece5d9ab7edd4f15b2d6bce61f4e5a0666",
+   "sha256": "00qzn136d8cl3szbi44xf3iiv75r6n1m7wwgldmzn4i5mpz8dbq7"
   }
  },
  {
@@ -46040,20 +46179,20 @@
    "deps": [
     "go-mode"
    ],
-   "commit": "fa2693278637f56759480d2bf203bb8aad107230",
-   "sha256": "1dy96rgss19pwj3pp39wrm5kk933xbqmk79y6a599mnkiixdyaaz"
+   "commit": "08aa90d52f0e7d2ad02f961b554e13329672d7cb",
+   "sha256": "1zdyhjg3crvcw093zw2nv3kzs583i26ba6pbs8jyhqnnysl7llfc"
   },
   "stable": {
    "version": [
     1,
-    5,
+    6,
     0
    ],
    "deps": [
     "go-mode"
    ],
-   "commit": "35f6826e435c3004dabf134d0f2ae2f31ea7b6a2",
-   "sha256": "1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf"
+   "commit": "3273fcece5d9ab7edd4f15b2d6bce61f4e5a0666",
+   "sha256": "00qzn136d8cl3szbi44xf3iiv75r6n1m7wwgldmzn4i5mpz8dbq7"
   }
  },
  {
@@ -46315,24 +46454,6 @@
   }
  },
  {
-  "ename": "goldendict",
-  "commit": "e86bb7d511a5228c1e87d900993a2747b418bf03",
-  "sha256": "1hmycq4sv2pkjgqpryv7wd9zy5v4igbfz7d8ap4ah6g2v1r7jdxr",
-  "fetcher": "git",
-  "url": "https://repo.or.cz/goldendict.el.git",
-  "unstable": {
-   "version": [
-    20220210,
-    1401
-   ],
-   "deps": [
-    "cl-lib"
-   ],
-   "commit": "f3fbe658a8d31dc1bd0ca69e4d2ebaab59e92791",
-   "sha256": "0x38j3wpyaxggihkw3g1qcf0phfrcic555xyqy3vskhvvf5xgc5v"
-  }
- },
- {
   "ename": "golint",
   "commit": "34f22d829257456abbc020c006b92da9c7a7860e",
   "sha256": "1q4y6mgll8wyp0c7zx810nzsm0k4wvz0wkly1fbja9z63sjzzxwb",
@@ -46430,8 +46551,8 @@
     20220210,
     1659
    ],
-   "commit": "e8808406eab41dab5dbfbaec0aee620d6c618365",
-   "sha256": "1136gsyzr59rxfp6qkq8agjbxb612bcda07fl7iv1kigbz1c0ggh"
+   "commit": "099770e27c0727d3e9489f4c4c5226f5e41affab",
+   "sha256": "089j2qg88f8ms3mv1mvbz3fc53vdlvavdjh99vvpp8afgn5vrlrz"
   }
  },
  {
@@ -46594,16 +46715,16 @@
   "repo": "nlamirault/gotest.el",
   "unstable": {
    "version": [
-    20220209,
-    1739
+    20220728,
+    750
    ],
    "deps": [
     "f",
     "go-mode",
     "s"
    ],
-   "commit": "78be56c0f210224b1e3a7d58239e2a32f8f84bf4",
-   "sha256": "0xkvw0wy4p8viib2s7anh322lvwm8p30g4hsjr9x0j8sqiq838ds"
+   "commit": "2ec82dcc70d5f6aa22f66b44f8b537be33bd7903",
+   "sha256": "0jm4i5axw19451z8m79iv1zqlhqpr8mn4r9mcli5j9hrvb7wczrd"
   },
   "stable": {
    "version": [
@@ -46727,8 +46848,8 @@
     20190525,
     1855
    ],
-   "commit": "7ea191df18ff4774cf1dc568e1726143dd54ea02",
-   "sha256": "1x8sr1xrarb7s7hxp4wg96ng7hb3li3ahixybkzcisz4ga9iwj8x"
+   "commit": "6218441a0e644c23e247594aece004e80775d307",
+   "sha256": "1rhf5llw9k6r05wrr870c2m1d6jalz7xz1rsgl1fp01pb4jwq82i"
   }
  },
  {
@@ -46772,8 +46893,8 @@
     "magit-popup",
     "s"
    ],
-   "commit": "87e10dea77313b470dd8cef2a7249db3c9794fbf",
-   "sha256": "0an2bp3vm6xna884dv8b873yjs8jzxgaxn99cz9gppwhmyvhrvai"
+   "commit": "f036314826293cb5df72f124a20b175d17e6daa4",
+   "sha256": "0g1s1rhndb35d9g3p2kbgj6pw022xqijhl61x8k4csgy0fyj1g9b"
   },
   "stable": {
    "version": [
@@ -47395,6 +47516,21 @@
   }
  },
  {
+  "ename": "grey-paper-theme",
+  "commit": "e8849f6bab76eaeca1aa794b189db622f343fd4f",
+  "sha256": "0vzqwmprmkw80s88ri2gpzvbfjysv7dviyf81rwd4sq4vs03sk98",
+  "fetcher": "github",
+  "repo": "gugod/grey-paper-theme",
+  "unstable": {
+   "version": [
+    20220711,
+    2241
+   ],
+   "commit": "10e243316000e85a10b49729745ccd4262d21cda",
+   "sha256": "14hyq5hh4z6lmrh94hc07pdxarw4wy510p55vb7czfmh98z6nl5f"
+  }
+ },
+ {
   "ename": "greymatters-theme",
   "commit": "d13621f3033b180d06852d90bd3ebe03276031f5",
   "sha256": "10cxajyws5rwk62i4vk26c1ih0dq490kcfx7gijw38q3b5r1l8nr",
@@ -47610,26 +47746,26 @@
   "repo": "greduan/emacs-theme-gruvbox",
   "unstable": {
    "version": [
-    20220625,
-    1642
+    20220808,
+    302
    ],
    "deps": [
     "autothemer"
    ],
-   "commit": "e88ee445b791b77078ab0be8aa972bfab3078ed0",
-   "sha256": "0amj785fd2j3xnqb26p363w2hhhn50kw44kfga7wyyljifv3lnjr"
+   "commit": "9c31dda03e386dbbf7ad206f401528261942fbb3",
+   "sha256": "108xr16kzfqsvwp07xwas93j6pmpwgsshdlj26l8qkfvqz1fvwj5"
   },
   "stable": {
    "version": [
     1,
-    28,
+    29,
     0
    ],
    "deps": [
     "autothemer"
    ],
-   "commit": "69a6ddf6c7e8c84174b94900ba71ddd08ec0237f",
-   "sha256": "00qq92gp1g55pzm97rh7k0dgxy44pxziridl8kqm4rbpi31r7k9p"
+   "commit": "5cc7e7354a778d5e9df5ee6850e2fdd8e02851d1",
+   "sha256": "0ydwr2l3jhqbs3gk5qajirl54vfb8i65qrlzrs04jnsj1pkzq5xa"
   }
  },
  {
@@ -48264,6 +48400,24 @@
   }
  },
  {
+  "ename": "hammy",
+  "commit": "a7bc17821460099de343145539629e97150978f7",
+  "sha256": "17yxydb4fa4fz9lyyj2zmr4r0wdp1slpbwr6h3ddskwhyqy65i5h",
+  "fetcher": "github",
+  "repo": "alphapapa/hammy.el",
+  "unstable": {
+   "version": [
+    20220808,
+    1841
+   ],
+   "deps": [
+    "ts"
+   ],
+   "commit": "0151ac98064f1b7d2dc542598cc0f6711c065800",
+   "sha256": "1mimgkfywpr9mqahj4r52sj3dp7p8xnb8wir514c3xc2frbgwkff"
+  }
+ },
+ {
   "ename": "handle",
   "commit": "b95fa8694bd49595da9fb56454e6539e76feff97",
   "sha256": "0r0675hhficyhpz41sxpi2ah06918aa3df1sxsx7vqh4pbv2ixl8",
@@ -48836,28 +48990,28 @@
   "repo": "emacs-helm/helm",
   "unstable": {
    "version": [
-    20220715,
-    1758
+    20220807,
+    734
    ],
    "deps": [
     "helm-core",
     "popup"
    ],
-   "commit": "c451a06123fc90f949b7f734944b80c44033db4f",
-   "sha256": "1cr78z6m99zyfps5zjfhcrkzk7mggrxwc78wdf7kmpb8yj4hg16k"
+   "commit": "1d066466feb786f3477f1e6b3278d6af54666177",
+   "sha256": "0rgwvav867k7y7nx850nzxq14y10bjf1344m8lk8qs9f4kzy2mnh"
   },
   "stable": {
    "version": [
     3,
     8,
-    6
+    7
    ],
    "deps": [
     "helm-core",
     "popup"
    ],
-   "commit": "99c0362c2bb879df44f224d0add69a7434447d48",
-   "sha256": "02z5jxjkqspj6f6j2a87l9bzl2b4mh1560bzl8ia72w2vxg15m8z"
+   "commit": "4ede199d5d1b7050486a0fdeecbbbf49fef31118",
+   "sha256": "1a8zkp00ahb84ww5072naxwllzbjhi7ccarkk2d7xsykn5lig54c"
   }
  },
  {
@@ -49203,26 +49357,26 @@
   "repo": "dragonwasrobot/helm-bitbucket",
   "unstable": {
    "version": [
-    20190422,
-    1102
+    20220722,
+    1538
    ],
    "deps": [
     "helm-core"
    ],
-   "commit": "c722016622ad019202419cca60c3be3c53e56130",
-   "sha256": "08i8d6b41n4sq3jb4gvxkiml73am82jzqkqvvdm9mdhibb8x08mx"
+   "commit": "9d07a274584ad364a2620c6389f86d90502f2640",
+   "sha256": "1xlzxdslbmhgiv1hd65jihnhfhq00442jh9a43f9cdb7hz42fm92"
   },
   "stable": {
    "version": [
     0,
     1,
-    3
+    4
    ],
    "deps": [
     "helm-core"
    ],
-   "commit": "632495036c4a6ac30e408fc74ee9f209fd5ac429",
-   "sha256": "0rbgk982jlbqh1rhns3zmndfr3lpw7m2j9z7qylghkll4k8fcjpl"
+   "commit": "9d07a274584ad364a2620c6389f86d90502f2640",
+   "sha256": "1xlzxdslbmhgiv1hd65jihnhfhq00442jh9a43f9cdb7hz42fm92"
   }
  },
  {
@@ -49305,8 +49459,8 @@
     "bufler",
     "helm"
    ],
-   "commit": "23132ffed65d78c0bf5ab2c4c6385d009db496ec",
-   "sha256": "15zam24zz4pb4zq20wzp3j31cg87fdwxn4bzn9mrm4q466rbldl7"
+   "commit": "5e8f02c3a454d6d43c18851023d6ac6ae470c31f",
+   "sha256": "1m7x5zksjfyh254mvsl9va5jqr76niyf54djjiacnrlpqnn3bf2s"
   },
   "stable": {
    "version": [
@@ -49742,26 +49896,26 @@
   "repo": "emacs-helm/helm",
   "unstable": {
    "version": [
-    20220708,
-    343
+    20220809,
+    1446
    ],
    "deps": [
     "async"
    ],
-   "commit": "c451a06123fc90f949b7f734944b80c44033db4f",
-   "sha256": "1cr78z6m99zyfps5zjfhcrkzk7mggrxwc78wdf7kmpb8yj4hg16k"
+   "commit": "1d066466feb786f3477f1e6b3278d6af54666177",
+   "sha256": "0rgwvav867k7y7nx850nzxq14y10bjf1344m8lk8qs9f4kzy2mnh"
   },
   "stable": {
    "version": [
     3,
     8,
-    6
+    7
    ],
    "deps": [
     "async"
    ],
-   "commit": "99c0362c2bb879df44f224d0add69a7434447d48",
-   "sha256": "02z5jxjkqspj6f6j2a87l9bzl2b4mh1560bzl8ia72w2vxg15m8z"
+   "commit": "4ede199d5d1b7050486a0fdeecbbbf49fef31118",
+   "sha256": "1a8zkp00ahb84ww5072naxwllzbjhi7ccarkk2d7xsykn5lig54c"
   }
  },
  {
@@ -49824,16 +49978,16 @@
   "repo": "danlamanna/helm-ctest",
   "unstable": {
    "version": [
-    20191031,
-    1435
+    20220721,
+    400
    ],
    "deps": [
     "dash",
     "helm-core",
     "s"
    ],
-   "commit": "2a29cfb4ec583da247fa2ae7bac88790b1223e40",
-   "sha256": "11am95crkf409w3ph17x55v0xx2gy4spb4qc6z5f7vbxgwyaa4a6"
+   "commit": "48edc9fa862219da34feb423c06c33d8f6d43722",
+   "sha256": "14n8inbpg4abxnda8x06m5myy2l5ddcmicyl44ycmfaqbk379mih"
   }
  },
  {
@@ -50300,14 +50454,14 @@
   "repo": "jcs-elpa/helm-file-preview",
   "unstable": {
    "version": [
-    20220716,
-    850
+    20220720,
+    531
    ],
    "deps": [
     "helm"
    ],
-   "commit": "b6108fa3f2508087bb2e38085806b7a9d4802884",
-   "sha256": "07vqdzg9j94rw4vlyr5g0pmqv8knx9nlpa578x1inxlldlyv19a3"
+   "commit": "c7584ce5e75c7f1b7b31c820fcd30bde4614c663",
+   "sha256": "0spzwm0g2fq3f8fnr23l2vndlbbwa77s1554fmx7ck14qj7l9jfa"
   },
   "stable": {
    "version": [
@@ -50499,11 +50653,11 @@
   "repo": "chee/helm-frame",
   "unstable": {
    "version": [
-    20180604,
-    1005
+    20220803,
+    1528
    ],
-   "commit": "485e2a534b0de5e8dbeb144a9a60ceca00215a4a",
-   "sha256": "1hxqyyh8jzk83ppi1p5r9b9gy7k2hanh3xzp129iw9yqpmvwmsnq"
+   "commit": "1b5e895e9199deeea049010e5fe4de7a338f41f3",
+   "sha256": "0c7qb16yad5qfv40d419mgf4307mif46733ws1cnwxnhvz4dfxqd"
   }
  },
  {
@@ -50571,8 +50725,8 @@
     "flx",
     "helm"
    ],
-   "commit": "8b80a2d371f754c597bdbd30373a38490a2f1499",
-   "sha256": "0q5lbjhddarm16zhwbxc924k11694rk80vxh80np3j2fyzj4xba9"
+   "commit": "6098cee7fb274a814e539db85b7a4924d56493e8",
+   "sha256": "05mr4rxa84bpgkbq6yxjg51rffbcfph7q9377mcy1n1fmfxxm1hk"
   },
   "stable": {
    "version": [
@@ -51372,14 +51526,14 @@
   "repo": "emacs-helm/helm-ls-git",
   "unstable": {
    "version": [
-    20220707,
-    1048
+    20220727,
+    505
    ],
    "deps": [
     "helm"
    ],
-   "commit": "bbe111adc204b7dcfa0657e5f56d5b90d2286afd",
-   "sha256": "1xq2j6ynxjr24gbhqa7224a195skajlkfklg50pvz7bfawml0db0"
+   "commit": "9d91c25c7d1776d137fd126f241d0272b6e5f90e",
+   "sha256": "0bxmhi1dr553v1grspig5b16ldwl74dzflf6xqi8kk7wdpk1ir3k"
   },
   "stable": {
    "version": [
@@ -51850,7 +52004,7 @@
     "org-ql",
     "s"
    ],
-   "commit": "98b6049eccc4f3b19700d27a86f22d4428013501",
+   "commit": "06f1e1be6ff5ef7e2c8c05dc1954bcedcbb6eb0b",
    "sha256": "0qn3ww9hp08xbmjicd451zcqm3za84wvizjwlzmxi6hqsaxmzpfm"
   },
   "stable": {
@@ -51935,14 +52089,14 @@
   "repo": "emacs-jp/helm-orgcard",
   "unstable": {
    "version": [
-    20151001,
-    1524
+    20220721,
+    756
    ],
    "deps": [
     "helm-core"
    ],
-   "commit": "9655ac340d1ccc5f3d1c0f7c49be8dd3556d4d0d",
-   "sha256": "1zyjxrrda7nxxjqczv2p3sfimxy2pq734kf51j6v2y0biclc4bk3"
+   "commit": "d58d35627bb1714bb2cb095f696706b6881233ed",
+   "sha256": "05ah4ha9zg1fzs60hs2zdfnxwy7cbrn35c8r6rrryy59dn40jzxc"
   },
   "stable": {
    "version": [
@@ -52211,16 +52365,16 @@
   "repo": "bbatsov/helm-projectile",
   "unstable": {
    "version": [
-    20201217,
-    908
+    20220807,
+    350
    ],
    "deps": [
     "cl-lib",
     "helm",
     "projectile"
    ],
-   "commit": "58123f14c392021714fc5d23b9f95c7f95ce07f1",
-   "sha256": "0w8267l136l9ci9b0rz0mshh8wcj7za9izvm64ks17lr8avm2his"
+   "commit": "6dcc543815984f7f40e99050b1ee3b68a088e160",
+   "sha256": "0xhf56p3svl9bs2gc2sj1i3k6y3wrcbrrh3jfr09pxziffj0300z"
   },
   "stable": {
    "version": [
@@ -53171,14 +53325,14 @@
   "repo": "akirak/helm-tail",
   "unstable": {
    "version": [
-    20181124,
-    439
+    20220726,
+    947
    ],
    "deps": [
     "helm"
    ],
-   "commit": "1f5a6355aa3bdb00b9b0bc93db29c17f0d6701e3",
-   "sha256": "1ad0khw26m22xpdv0iyg5gac92i8m455sznsfh16vxaa98gq0c4q"
+   "commit": "8dc44a87fa1a52199e43b73b55c8ef8fe8069e79",
+   "sha256": "1gn3z14md9b20pkjk8gzjajjqdgb3nmnf10ylanlfh7gx5xjig77"
   }
  },
  {
@@ -53219,14 +53373,14 @@
   "repo": "emacsorphanage/helm-themes",
   "unstable": {
    "version": [
-    20200323,
-    712
+    20220721,
+    330
    ],
    "deps": [
     "helm-core"
    ],
-   "commit": "7b39adc0e80e791390f34aab866a963df317c235",
-   "sha256": "0jllvylilc81gxkdhy4cl0bma8jrkjhj8c1m7vzjdxr3mplnl1sj"
+   "commit": "12e856c0346fa69d13d941f27bd3cddb3a3deed2",
+   "sha256": "19wqdf4v8cacfyg709xcmczwbaal32290cbv933wc6ridc5576i7"
   },
   "stable": {
    "version": [
@@ -53775,11 +53929,11 @@
   "repo": "omajid/hgignore-mode",
   "unstable": {
    "version": [
-    20210314,
-    431
+    20220804,
+    1326
    ],
-   "commit": "2c5aa4c238848f5b4f2955afcfb5f21ea513653b",
-   "sha256": "0jn9rzhrmmv4lf7rdapdjclk6623d1mir2lq3c46428skhzjlph7"
+   "commit": "c65810347f39904b985187c5e2aaf27b184f3cae",
+   "sha256": "1nwrkyb2przdw9fam7b6y8jwgd36ma5pggiqf54xy9m6fdn2s8ac"
   }
  },
  {
@@ -53831,8 +53985,8 @@
     20210208,
     652
    ],
-   "commit": "b56ae0d5cd5ce3ef24ed13be5103e231c91ef4e2",
-   "sha256": "0cl84mlgrjwjxgk2kx4930rarxyc6n07lvy54gmb907i4l6flw61"
+   "commit": "c554f94e6aed2c755ed9e4391f5a090d6289b1ee",
+   "sha256": "1r3hxs37ak617sig8hl55s9bn71krb84aly3hh6cp1pzrsm39wjb"
   },
   "stable": {
    "version": [
@@ -54275,11 +54429,11 @@
   "repo": "fgeller/highlight-thing.el",
   "unstable": {
    "version": [
-    20220626,
-    831
+    20220726,
+    2237
    ],
-   "commit": "f122a40ef717602937a8e083813395d423963202",
-   "sha256": "0p01g89b3hxl2mx96mh3masii3zsbh2yih0bkp6a8i8zks3m04is"
+   "commit": "cdf429c41c13c22d25fe43493cc5d85cc480dba6",
+   "sha256": "1p3q0s96f2pgmf327zzwx11sdy24im3dy9qv53bk2nb5zysvklzm"
   }
  },
  {
@@ -54538,11 +54692,11 @@
   "url": "https://codeberg.org/ideasman42/emacs-hl-block-mode.git",
   "unstable": {
    "version": [
-    20220710,
-    933
+    20220731,
+    2352
    ],
-   "commit": "d3ff25a72269fef466c240388850f076eaf30039",
-   "sha256": "1kkaiwiknakc1h6fprlvx1hqf1pgjqj3q84p6w1qfw85d6ygl7na"
+   "commit": "a9e8e8cfd83972a448bdbb0a9967989d0aa1d05a",
+   "sha256": "0bdn9d28g2nmbxq0jhjrcpxadl18q0z231ciyqw2cvcc60i4n4rq"
   }
  },
  {
@@ -54589,11 +54743,11 @@
   "url": "https://codeberg.org/ideasman42/emacs-hl-prog-extra.git",
   "unstable": {
    "version": [
-    20220710,
-    1157
+    20220731,
+    2353
    ],
-   "commit": "286a4916ad4dd764ead07fb17000ad64cbcf11bd",
-   "sha256": "077yjk1vh47jgfdd2x680maz5mfgmb35rpq98dv6ivdsr7m1p1p9"
+   "commit": "6d419cc36936f3bb3c9c63a6f77cc88a80b0db9c",
+   "sha256": "19k1g8g0z9sllqjq2arp2fdcpn9xs8d73d7nx7bn12s1kpa7viv6"
   }
  },
  {
@@ -54940,11 +55094,11 @@
   "repo": "axelf4/hotfuzz",
   "unstable": {
    "version": [
-    20220626,
-    1704
+    20220731,
+    934
    ],
-   "commit": "a19395aca9eff0e31c51efbbe4c6e16229f3b380",
-   "sha256": "1hm7nd4736lq118b7626clk4371pd94dg9gvwxyjrpgbrf9qc5mv"
+   "commit": "5ccab77f7bfb1d4246aa01639e151ec9509c64bb",
+   "sha256": "0s353mpajdzr76bjj8b1qvfyzmy0kv9lmhwlvbcf8xmd05gi6ifn"
   }
  },
  {
@@ -55541,11 +55695,11 @@
   "repo": "Riyyi/emacs-hybrid-reverse",
   "unstable": {
    "version": [
-    20210806,
-    1955
+    20220807,
+    2029
    ],
-   "commit": "cb784a69e60938efe14b48130558f1bb1af92d3c",
-   "sha256": "06wibm3xc5mbpq2ha3ssiwczq7c2660dqwkmpbnsqarx2s4v2km5"
+   "commit": "4b5da51c78b319e16ada6b431bddbacb61d5f2c5",
+   "sha256": "0l85ng40sqyhgj2qh4cf66gjavl3cwwmd5gcl26p6cqzfsiiyr4w"
   }
  },
  {
@@ -55674,10 +55828,10 @@
  },
  {
   "ename": "hyperspace",
-  "commit": "0696a12acba676015640de63fc6e011128bca71c",
-  "sha256": "0ya41c9bxvspj81n5209p9b4c9p1i6jcp710n9i9jawpahwpqlkw",
-  "fetcher": "github",
-  "repo": "ieure/hyperspace-el",
+  "commit": "35549e5b484e68235520211081bd3352c219bb05",
+  "sha256": "034jnslh02cz0laql9nd0jycvalrdy1k2xg0bf1c8sp978qcsdf0",
+  "fetcher": "git",
+  "url": "https://codeberg.org/emacs-weirdware/hyperspace",
   "unstable": {
    "version": [
     20210603,
@@ -55736,6 +55890,21 @@
   }
  },
  {
+  "ename": "i3bar",
+  "commit": "85a075fdb9d80d01a04361c5c337623acc2dd83c",
+  "sha256": "0idgci46hx0m7lj2s7lhg9wj9dlkj18mgpcf5dffk9ql70kzj00d",
+  "fetcher": "github",
+  "repo": "Stebalien/i3bar.el",
+  "unstable": {
+   "version": [
+    20220808,
+    1551
+   ],
+   "commit": "7c182fef33578ae32f945758123601396de227d0",
+   "sha256": "184jqz9kgfszq00f0p48xm2plzhv3kww22mya0rgmrcfai13dyfm"
+  }
+ },
+ {
   "ename": "i3wm",
   "commit": "2e12638554a13ef49ab24da08fe20ed2a53dbd11",
   "sha256": "11246d71g82iv9zrd44013zwkmnf32m1x8zbrbb656dnzx7ps4rl",
@@ -56127,11 +56296,11 @@
   "url": "https://codeberg.org/ideasman42/emacs-idle-highlight-mode.git",
   "unstable": {
    "version": [
-    20220710,
-    709
+    20220731,
+    2354
    ],
-   "commit": "dd07a8f465adb76c05d4712d03e093e9fdb79485",
-   "sha256": "08h274za9wn4rcjz0w2r5a8v4mxx1g3lagajcgjlkg266g4nr6ph"
+   "commit": "b3eed5553fe8d7b28bd95b5093e4174d859695ca",
+   "sha256": "1wp6mcj7j7hdwhdg29d6csma2v02g1w5z5kv5aa9lwmb3w7pfdq6"
   }
  },
  {
@@ -57087,14 +57256,14 @@
   "repo": "jcs-elpa/impatient-showdown",
   "unstable": {
    "version": [
-    20220704,
-    652
+    20220730,
+    1259
    ],
    "deps": [
     "impatient-mode"
    ],
-   "commit": "8f3e7ef41ea8fc43a747716a2c84c2708d5d4a2a",
-   "sha256": "0lhd8msnz6pfvvx29j80db0q0y0gbb80hlmhkvlb7ry5dvbkch3j"
+   "commit": "501d8eb255022d832bb30178db154d0004eac18c",
+   "sha256": "0qqg84yyfxc7kb1fxn0kpnsjgi7kphh7cvq9avabl1yiy1s51gq8"
   },
   "stable": {
    "version": [
@@ -57440,26 +57609,26 @@
   "repo": "clojure-emacs/inf-clojure",
   "unstable": {
    "version": [
-    20220715,
-    905
+    20220807,
+    2113
    ],
    "deps": [
     "clojure-mode"
    ],
-   "commit": "67b0403aa183d521e36545266100f1f62a34e783",
-   "sha256": "0446ip809xzyb4n1dz3sm5d90y0lwgvd661h3cjybakpphykzcb4"
+   "commit": "59a9f0695f3d97a593f8d5ea04b51ea5dcb2718a",
+   "sha256": "18kj3ds5sl4dmfqrsbvkd9hpwfyn5qh5nyx1bf7sljbcfjgildw2"
   },
   "stable": {
    "version": [
     3,
     2,
-    0
+    1
    ],
    "deps": [
     "clojure-mode"
    ],
-   "commit": "67b0403aa183d521e36545266100f1f62a34e783",
-   "sha256": "0446ip809xzyb4n1dz3sm5d90y0lwgvd661h3cjybakpphykzcb4"
+   "commit": "151b20ba9d3ae39b88f91aecbab98bd5a5215f1a",
+   "sha256": "179k3w67v1sx8dg5fjg6pf2pg9qdg48slbihcax033bm494kydq5"
   }
  },
  {
@@ -57500,20 +57669,20 @@
   "repo": "J3RN/inf-elixir",
   "unstable": {
    "version": [
-    20211202,
-    210
+    20220721,
+    1939
    ],
-   "commit": "acb948ca41a862c8c9b3f61ad576dec2c30d0052",
-   "sha256": "1rlc2sf8r1vzs13fa2kab93m2xr883ckywx1h1an2b4si73y5ddc"
+   "commit": "5b45f5bd346446d87c629794b3c3e586c3eefd9c",
+   "sha256": "19h3wxwv4yws2hw03pqw4574dvmywy36zr3rby6bd71sx8ljdbkl"
   },
   "stable": {
    "version": [
     2,
-    1,
-    2
+    2,
+    0
    ],
-   "commit": "acb948ca41a862c8c9b3f61ad576dec2c30d0052",
-   "sha256": "1rlc2sf8r1vzs13fa2kab93m2xr883ckywx1h1an2b4si73y5ddc"
+   "commit": "5b45f5bd346446d87c629794b3c3e586c3eefd9c",
+   "sha256": "19h3wxwv4yws2hw03pqw4574dvmywy36zr3rby6bd71sx8ljdbkl"
   }
  },
  {
@@ -57539,11 +57708,11 @@
   "repo": "nonsequitur/inf-ruby",
   "unstable": {
    "version": [
-    20220710,
-    959
+    20220804,
+    18
    ],
-   "commit": "24bf59caf03db3f24e02ba738df5dab88e57836f",
-   "sha256": "05sqznzmj4fyvlg5l24fi7bangxn7yh513afhgyhybfhni6nwx60"
+   "commit": "7dfc779dc6038125c516c7c7746994a54b96e409",
+   "sha256": "0jfc3slm0yxd7l533x5x575h8f6hzmzkf0iya6g1sdhw6kibs66h"
   },
   "stable": {
    "version": [
@@ -57891,11 +58060,11 @@
   "url": "https://codeberg.org/ideasman42/emacs-theme-inkpot.git",
   "unstable": {
    "version": [
-    20220710,
-    1022
+    20220731,
+    435
    ],
-   "commit": "f4ff574b8a7446205db0eb6b33090ec84c3024da",
-   "sha256": "1rm21gchjwc39mxf8d3d1pdlbs2wh6lchwmjc3d61s462anl3lp8"
+   "commit": "a8a09d1c4f9044f89b480fcfec9cc9cd868190e5",
+   "sha256": "0dd6w7ffhhj2z3p1y2gy14byyvhcd7cfg4bvjzbjfd3xq1zb8g0g"
   }
  },
  {
@@ -60251,8 +60420,8 @@
   "repo": "Emiller88/emacs-jest",
   "unstable": {
    "version": [
-    20220703,
-    1950
+    20220807,
+    2243
    ],
    "deps": [
     "cl-lib",
@@ -60262,8 +60431,8 @@
     "projectile",
     "s"
    ],
-   "commit": "398fcd7920dc3e9865574f5228baeaba03d1d297",
-   "sha256": "0xxv6ghhm6w4r1dr5pcnz8qm7bkk022v11lg71k56v168v55b2p1"
+   "commit": "c8145635c54bd7df9711000e889753d267afcdc4",
+   "sha256": "1b6mrr2vjbgmicxfbibysqllgbp09clxszppk9j0284ja6w2avmj"
   }
  },
  {
@@ -60274,11 +60443,11 @@
   "repo": "rymndhng/jest-test-mode",
   "unstable": {
    "version": [
-    20220131,
-    304
+    20220722,
+    1947
    ],
-   "commit": "e08326a467ccb1ec9ddf99c1f5d53f55c50e52b4",
-   "sha256": "1rgi5qwrd9pfz6yqmfgmx2inlxqykq615aay5vi7wajdiss36i3f"
+   "commit": "3126c5c5c5632da639ea34867a7342d4410d78aa",
+   "sha256": "16cfikwzysng8wm1ihs5dhv59dx5rz85fx9d57dba87gcs0bsvdf"
   }
  },
  {
@@ -61050,26 +61219,26 @@
   "repo": "taku0/json-par",
   "unstable": {
    "version": [
-    20220122,
-    352
+    20220723,
+    829
    ],
    "deps": [
     "json-mode"
    ],
-   "commit": "962e5a2221136aa07f512834925c381cfeed2d92",
-   "sha256": "0pxcya18gbgzx772sh68803dbhxpss4smh6ar9vlc87mqwg5cqnk"
+   "commit": "2c13ad1bc3c2a62141d3312501d2c2012555972b",
+   "sha256": "1f0aj6dl5f0gjsgkh12rk79akbrrf6whn79jpgmjc0pa22k1v66p"
   },
   "stable": {
    "version": [
-    2,
-    1,
+    3,
+    0,
     0
    ],
    "deps": [
     "json-mode"
    ],
-   "commit": "2bc383c4f88a111202b4d00303f3345b32e4b8e9",
-   "sha256": "1k1jv0m6mj772dkjzsy86k528lqljqmffcpz9l2lzrm6q1bqnw43"
+   "commit": "2c13ad1bc3c2a62141d3312501d2c2012555972b",
+   "sha256": "1f0aj6dl5f0gjsgkh12rk79akbrrf6whn79jpgmjc0pa22k1v66p"
   }
  },
  {
@@ -61407,8 +61576,8 @@
   "repo": "gcv/julia-snail",
   "unstable": {
    "version": [
-    20220523,
-    435
+    20220722,
+    547
    ],
    "deps": [
     "dash",
@@ -61418,8 +61587,8 @@
     "spinner",
     "vterm"
    ],
-   "commit": "326da9a7d0463ed2727f66dcbd4cb58b517ffe25",
-   "sha256": "0irspd2j644g1fwai51wwawmq5ni0fpwzby3j4yka2w0pwvqvg6w"
+   "commit": "d275f8a070431d2ce669a2844a28e5a65ee0c430",
+   "sha256": "0bzqgwhc2ks3gblbs78hgbyvxqc5qwvq426l3appx1srh52chizz"
   },
   "stable": {
    "version": [
@@ -61446,14 +61615,14 @@
   "repo": "shg/julia-vterm.el",
   "unstable": {
    "version": [
-    20220713,
-    216
+    20220720,
+    1410
    ],
    "deps": [
     "vterm"
    ],
-   "commit": "fef0df66e1de1733c4df706d76a4fc29788fe251",
-   "sha256": "1fk67c3cwv0iz0vkn9jaclvhzdsk3j5w13n51sigxgflhdpbr77h"
+   "commit": "698ca35da04d99f25c8f075e8342015434f6a662",
+   "sha256": "0n6nif6vci5dxq1s9vv2awf953pa2g5snpzg61jxbqsv533rn01y"
   },
   "stable": {
    "version": [
@@ -61887,10 +62056,10 @@
  },
  {
   "ename": "kaleidoscope",
-  "commit": "148d47626879be1608f35827ef82a28274ff4de3",
-  "sha256": "0nfz207rzpnni7jyzvdvz5lr0zcpzy278a86821cmw8d5l81a3yp",
-  "fetcher": "github",
-  "repo": "algernon/kaleidoscope.el",
+  "commit": "9412301a470716c84fd1f6886ae226f57ba905a3",
+  "sha256": "00sc2yldir0q2r3jv095dlm757b1vw9ys3aw722sv400x5bvq430",
+  "fetcher": "git",
+  "url": "https://git.madhouse-project.org/algernon/kaleidoscope.el",
   "unstable": {
    "version": [
     20170808,
@@ -62045,14 +62214,14 @@
   "repo": "kuanyui/kaomoji.el",
   "unstable": {
    "version": [
-    20171227,
-    440
+    20220721,
+    441
    ],
    "deps": [
     "helm-core"
    ],
-   "commit": "90a1490743b2a30762f5454c9d9309018eff83dd",
-   "sha256": "1jc796nyrck3k50x6jb1wsaawk396y4gk87gkwb8yd5qks7ci35q"
+   "commit": "fba0018a13eba70c2bffc6153dcfee99937fa3d6",
+   "sha256": "1zmi7q0vsyx5m50f34vr2fhij1id03dkj2l93hlqyz5037wij1ka"
   }
  },
  {
@@ -62846,8 +63015,8 @@
     20210318,
     2106
    ],
-   "commit": "a921b58baa9bb4b57025a68557a3630f9c018918",
-   "sha256": "1a6plr8w6c21lbmlg3jk0ig4xq9bbabf0ys54w4qyxyrqdxf9lhz"
+   "commit": "714f4935085d4ac0c220fdf7183fb35175f8bcad",
+   "sha256": "0kmsqg6z490sywvkqmiz13r6cikbzg20rnxhis7xv6swfncq7w6d"
   },
   "stable": {
    "version": [
@@ -63161,8 +63330,8 @@
   "repo": "abrochard/kubel",
   "unstable": {
    "version": [
-    20220509,
-    104
+    20220723,
+    1655
    ],
    "deps": [
     "dash",
@@ -63170,8 +63339,8 @@
     "transient",
     "yaml-mode"
    ],
-   "commit": "c45e19a215e8e7df80a61c10ca1fa26dcfd1de35",
-   "sha256": "03i6iyhiqhi2vxb8qvw99n6h6xg8jnxkazikw6sqnp0flnrgcf7q"
+   "commit": "161f8f60cfe7f59cacd38127f7fd21b08c516bc3",
+   "sha256": "18a2fwx3ylq5virxxyrizb00niyvd8hbk4h0hk87wp29blg9qvcs"
   },
   "stable": {
    "version": [
@@ -63203,8 +63372,8 @@
     "evil",
     "kubel"
    ],
-   "commit": "c45e19a215e8e7df80a61c10ca1fa26dcfd1de35",
-   "sha256": "03i6iyhiqhi2vxb8qvw99n6h6xg8jnxkazikw6sqnp0flnrgcf7q"
+   "commit": "161f8f60cfe7f59cacd38127f7fd21b08c516bc3",
+   "sha256": "18a2fwx3ylq5virxxyrizb00niyvd8hbk4h0hk87wp29blg9qvcs"
   },
   "stable": {
    "version": [
@@ -63337,26 +63506,26 @@
   "repo": "emacsfodder/kurecolor",
   "unstable": {
    "version": [
-    20220527,
-    829
+    20220808,
+    1456
    ],
    "deps": [
     "s"
    ],
-   "commit": "d17a77d9210b3e7b8141d03c04d1898bcab2b876",
-   "sha256": "0gnh0yzip0238ycprx03147xaclcbmiy4lkp6wqil2waavwrkwbf"
+   "commit": "e4f4ee32f54c0c71551dbe5e4419d2c2727130bf",
+   "sha256": "04rck57mri2r0w9i69fyhwql0ka9g8vcicqjz1k9pl7a5lb5f6vc"
   },
   "stable": {
    "version": [
     1,
-    2,
-    9
+    3,
+    2
    ],
    "deps": [
     "s"
    ],
-   "commit": "076de3e420210fc479675389acb3fed6ada9c8e0",
-   "sha256": "0a36bnnyg0ay60kpjwv6s5cl5m3cvygjgq7kfpj8wkjv1gf19q05"
+   "commit": "2016973e92651f25518e130405155bb8728339e3",
+   "sha256": "0n6lgh3y6qx8rym74ll1z26cc7hihdxb3qny4ymrcyycywh2kmnq"
   }
  },
  {
@@ -63517,25 +63686,25 @@
  },
  {
   "ename": "lacquer",
-  "commit": "c06360c9aeee408d144f756943a65cf465e41139",
-  "sha256": "1bi59x2l6xxayr4dqy2bpkfx4gd5sc9ban9dc2hykphvz560qmqn",
+  "commit": "48f62babdf14d79b3a5530d3df60d4395cfd7c4c",
+  "sha256": "1xk7qvwc3w7gsbhhhw6k4sr93xdmf9wmd2sz2kgcpp3sqyvm7azw",
   "fetcher": "github",
-  "repo": "dingansichKum0/lacquer",
+  "repo": "zakudriver/lacquer",
   "unstable": {
    "version": [
-    20220321,
-    720
+    20220809,
+    635
    ],
-   "commit": "0d7d09f7fe22fb0241e91228ce44568ed3e3e798",
-   "sha256": "1xfh4yi5r96vfy0zmr09lkvgzf7v82cs03y3jvflpz75acmbiryh"
+   "commit": "676919f5fc301451fcfb8553c3f8262a65c36192",
+   "sha256": "09irbdnw4crpp572hpv29hdcjp31l1a3rvhdz01v1i5hzbq59p9n"
   },
   "stable": {
    "version": [
     1,
     1
    ],
-   "commit": "6609581a58ae9c0124de785b056f4f5bbcec3b61",
-   "sha256": "12bav2dd0q6b47sxnqfv6ibrhzd6i74wwqz7zvm7lp9s4mpqscsa"
+   "commit": "71bf9e8464ae240db17204dd2b968260a9c4c305",
+   "sha256": "1y2vdypmr0bbmfm4xh6ss8r6rq41mpxgkrlrcfmxdlal1qzx93vy"
   }
  },
  {
@@ -63546,11 +63715,11 @@
   "repo": "HenryNewcomer/laguna-theme",
   "unstable": {
    "version": [
-    20220419,
-    1459
+    20220804,
+    227
    ],
-   "commit": "48d14ffad6f0ffb4bd60c341e618c47ddbb7a2d8",
-   "sha256": "0s2pm1ykkg4r39sigbpr5rjqv25dxpiz47jg3j38m2qpihgi03nw"
+   "commit": "680ab8c936cb1c249b5a6a07976bcc83ef217e25",
+   "sha256": "02ma47pmjavhfdswz3kp6s5icw93f1v9rkyirn0viz6pcxjn6ksd"
   }
  },
  {
@@ -63584,22 +63753,22 @@
     "highlight",
     "math-symbol-lists"
    ],
-   "commit": "2933ac40c75a53b773b421a7069741c5aa07c0a8",
-   "sha256": "07lcfi4c9jgk285g586zvmlkxhsyn9gwbk6si543qlnm760mlbfk"
+   "commit": "16644a4d9d0bcdd43c009c597dddb89f6a64a482",
+   "sha256": "0ji0gq9iww5bic9ggm6jwp59h485p1dwq27jamf25biqdqll0icl"
   },
   "stable": {
    "version": [
     2,
     2,
-    0
+    1
    ],
    "deps": [
     "eglot",
     "highlight",
     "math-symbol-lists"
    ],
-   "commit": "0476fbec66e99750abe9d60c3aa9cb9a52189bea",
-   "sha256": "0bpyzm71b1fh48yp73m4vh99c7q4sd69lynkww6c8yrjdqlwbb27"
+   "commit": "33348d8325916da440a4e96490fd20b0f6d313c5",
+   "sha256": "0aqqrmg5hj0323412l3qb566j1bcgff39ll7bzy4ghlrz14n6rm7"
   }
  },
  {
@@ -65012,8 +65181,8 @@
     20220209,
     755
    ],
-   "commit": "ff6f66193048893cafcde6985c0ac0c78f76a875",
-   "sha256": "04cl27697wp38h92p2qv3fq4aagai3vr5lq71xzsh363fmy7ls3p"
+   "commit": "5c772aac623b4216d06de5c73683402fd43f34ed",
+   "sha256": "1ly7p0503ydx364r2pnvwjwn4r86crmr8xmvlmifnwks79pb45hh"
   },
   "stable": {
    "version": [
@@ -65033,8 +65202,8 @@
   "repo": "emacs-vs/line-reminder",
   "unstable": {
    "version": [
-    20220704,
-    630
+    20220721,
+    451
    ],
    "deps": [
     "fringe-helper",
@@ -65042,8 +65211,8 @@
     "indicators",
     "ov"
    ],
-   "commit": "e0fa3c93ff7e422507812b6ac414766fe4d9b1e7",
-   "sha256": "09jv8zgskljn7bwmr6crm55g6kinfjlndjpzqqhz40z07n4kkpgh"
+   "commit": "1b2dfa899409f4af2896fce6b9acbe98072abd59",
+   "sha256": "1xxmvdgqfj3lv33vn4pw3rdrxjmqypf09hh5w1jr69xbyl2ahzzp"
   },
   "stable": {
    "version": [
@@ -65419,8 +65588,8 @@
   "repo": "abo-abo/lispy",
   "unstable": {
    "version": [
-    20220209,
-    1138
+    20220804,
+    1946
    ],
    "deps": [
     "ace-window",
@@ -65429,8 +65598,8 @@
     "swiper",
     "zoutline"
    ],
-   "commit": "df1b7e614fb0f73646755343e8892ddda310f427",
-   "sha256": "02pmnn9cqslahnvllqzawp2j5icmb3wgkrk4qrfxjds68jg7pjj4"
+   "commit": "cdb7d32f2195ca2ed8df237aa6826bbd177b2813",
+   "sha256": "000f87v26fdy3ydqiisa53xhrnpf8phkjqxr60wyr8s7r6ng69y9"
   },
   "stable": {
    "version": [
@@ -65576,11 +65745,11 @@
   "repo": "publicimageltd/lister",
   "unstable": {
    "version": [
-    20220118,
-    1322
+    20220802,
+    2128
    ],
-   "commit": "51581b53ecf8e68d67a2d85dde539533aa7199ee",
-   "sha256": "051wd9gnbr702qf3qz7ni8cmc6sxbxmxvlzipf03gga0n2dhrlas"
+   "commit": "f3e9748b3417184c36e301a381ec20ef4a88e511",
+   "sha256": "04y51ifjdnkczsvmv70py15p41gc8mhg6f568k3xwdg1791qhwr5"
   },
   "stable": {
    "version": [
@@ -65897,8 +66066,8 @@
     20220518,
     204
    ],
-   "commit": "0f8ff5d19ccfcc4326a4b7aebea2f8981e058c69",
-   "sha256": "1vd7sxcaksvl08apq9frbwl1gqgnay6jl47rw4axnmdhwmhi1jh1"
+   "commit": "a700f04e9865cbb6da498681a09d7ea607b3883c",
+   "sha256": "0wmaxghjq6vmky0spfdgynmpkz748j5q9lx9nlqqylp60gw334nc"
   },
   "stable": {
    "version": [
@@ -66528,15 +66697,15 @@
   "repo": "okamsn/loopy",
   "unstable": {
    "version": [
-    20220510,
-    323
+    20220731,
+    202
    ],
    "deps": [
     "map",
     "seq"
    ],
-   "commit": "a2dbc79bd33a1d194c4804c1157caf27e67b5066",
-   "sha256": "0ccwf2sh52689ajpx7zf0kz8win7nclhm70sc08wk44ygazywjfx"
+   "commit": "10a9be5f0b143dee454bb64d2b5146e4509553d6",
+   "sha256": "0khsnpr1x834zm453ff8ri2i7kyhgxrn782nkzhc4blk6bjljr5p"
   },
   "stable": {
    "version": [
@@ -66567,8 +66736,8 @@
     "dash",
     "loopy"
    ],
-   "commit": "a2dbc79bd33a1d194c4804c1157caf27e67b5066",
-   "sha256": "0ccwf2sh52689ajpx7zf0kz8win7nclhm70sc08wk44ygazywjfx"
+   "commit": "10a9be5f0b143dee454bb64d2b5146e4509553d6",
+   "sha256": "0khsnpr1x834zm453ff8ri2i7kyhgxrn782nkzhc4blk6bjljr5p"
   },
   "stable": {
    "version": [
@@ -66667,8 +66836,8 @@
   "repo": "emacs-lsp/lsp-dart",
   "unstable": {
    "version": [
-    20220620,
-    1516
+    20220717,
+    1834
    ],
    "deps": [
     "dap-mode",
@@ -66678,8 +66847,8 @@
     "lsp-mode",
     "lsp-treemacs"
    ],
-   "commit": "7868b87ab27cf96878ded35c390e15bb5bb588e6",
-   "sha256": "1p93bg44lz1wh5xap592kjfjvg0m599418qn7ybmbx7j1l68m15v"
+   "commit": "a312fe8cd941b641216d4654da2e8be82b16d611",
+   "sha256": "1mmfi32000917vw098ymkbc54f8kr3sap74i6ii51paqg5nmlpbn"
   },
   "stable": {
    "version": [
@@ -66799,14 +66968,14 @@
   "repo": "emacs-lsp/lsp-haskell",
   "unstable": {
    "version": [
-    20220307,
-    2312
+    20220809,
+    2129
    ],
    "deps": [
     "lsp-mode"
    ],
-   "commit": "daa51072e1718ca075987901fccbbc2357bca1fc",
-   "sha256": "0d2myk2906j0ngivca1yf4vdi8bfk5pz706nx279bf0pil7irdy0"
+   "commit": "485c1148ce4d27030bb95b21c7289809294e7d31",
+   "sha256": "0ygyvam8h59bhx785rwf4hs30d95xk5kb48inr1gs4313qc2lil2"
   }
  },
  {
@@ -67023,14 +67192,14 @@
   "repo": "emacs-languagetool/lsp-ltex",
   "unstable": {
    "version": [
-    20220704,
-    636
+    20220806,
+    1456
    ],
    "deps": [
     "lsp-mode"
    ],
-   "commit": "1e99307a49f88e92afc4245f3ddaa130b355ab3e",
-   "sha256": "188c3acqk8n54lrpbxq7h9djxwmri75z3r9szd5knfbc8x8crhns"
+   "commit": "18b0e8608408f9e913d89075e78c2b4e3f69cf1c",
+   "sha256": "1a0vlcnw7dzaz3ypav7ws5nfs8p8rg7rfjm302fbf8sz167rb2xq"
   },
   "stable": {
    "version": [
@@ -67055,8 +67224,8 @@
   "repo": "emacs-lsp/lsp-metals",
   "unstable": {
    "version": [
-    20220712,
-    1400
+    20220715,
+    2128
    ],
    "deps": [
     "dap-mode",
@@ -67068,8 +67237,8 @@
     "scala-mode",
     "treemacs"
    ],
-   "commit": "39cda6e693e5caad27453d10759897822678d573",
-   "sha256": "1j2vsvzsnqv8kc1x7ni3jimibn032yxxcf2wxx3ii3z0w97qpb3s"
+   "commit": "097d6021a4ff0eae704cc3074e064c9509c5cafc",
+   "sha256": "0ari87b4fxb38rldvvasw4bqxmwndqq1yj18jr1rhb42w367qqdx"
   },
   "stable": {
    "version": [
@@ -67099,8 +67268,8 @@
   "repo": "emacs-lsp/lsp-mode",
   "unstable": {
    "version": [
-    20220716,
-    814
+    20220808,
+    1239
    ],
    "deps": [
     "dash",
@@ -67110,8 +67279,8 @@
     "markdown-mode",
     "spinner"
    ],
-   "commit": "e4cc46d754bd0cd55e67eed56381bd525ee67fa9",
-   "sha256": "06dvaw4bdw1815nfzhk2vdcfqhgnpha1jb0l100h908qbbjr232m"
+   "commit": "ece9bcdc01953c794533b734b24931485c0070fb",
+   "sha256": "11xn75rxlgm9xfwbfb9mdk8snh9rnlvyyncvlb54mc3y7xdqhy9q"
   },
   "stable": {
    "version": [
@@ -67341,15 +67510,15 @@
   "url": "https://codeberg.org/rgherdt/emacs-lsp-scheme",
   "unstable": {
    "version": [
-    20220716,
-    808
+    20220809,
+    2014
    ],
    "deps": [
     "f",
     "lsp-mode"
    ],
-   "commit": "16fd04af47fb2168707ed0c455acfcd9c52839f8",
-   "sha256": "1zd7injh2h02k0z76d7rq4cjaq3krj6jbnnwdna1ngx2vfri16mm"
+   "commit": "02e56f4c4981bc5497cdd516969206418858a357",
+   "sha256": "00r2fcyvz94nydhzw41k0y6np7sx0gbcg36riq5fpq8j5zd3ky95"
   },
   "stable": {
    "version": [
@@ -67387,16 +67556,16 @@
   "stable": {
    "version": [
     0,
-    0,
-    2
+    1,
+    0
    ],
    "deps": [
     "dash",
     "ht",
     "lsp-mode"
    ],
-   "commit": "d2c0ffe736d6cda4cc524f62ac8b5c5c98490c04",
-   "sha256": "1x6m5j119qa45rqydq9svsrf16s0lw8zivfppzfiikyi405g75yz"
+   "commit": "a429be2aea7797369a3c751ef54e3554733117be",
+   "sha256": "11rgfn9sdwxsncc4xrchiqn9dbqi3zirjvbz91kc5rvjv436077b"
   }
  },
  {
@@ -67492,16 +67661,16 @@
   "repo": "emacs-lsp/lsp-ui",
   "unstable": {
    "version": [
-    20220714,
-    1453
+    20220723,
+    1213
    ],
    "deps": [
     "dash",
     "lsp-mode",
     "markdown-mode"
    ],
-   "commit": "9a8983d95d823ae62e5f842a4bd433c860131398",
-   "sha256": "1pd5lvjlmd6zq64py21yi5zxhcza9g5q48ngfivv7fi7pf3vsv00"
+   "commit": "8d4fa5a14f5b5c6f57bc69f454eba6861ed2ba9f",
+   "sha256": "1z3gfv6ca1ssyyaggzpaljybzrilh77lzqrixm9napzfv3aa795w"
   },
   "stable": {
    "version": [
@@ -67526,11 +67695,11 @@
   "repo": "immerrr/lua-mode",
   "unstable": {
    "version": [
-    20210809,
-    1320
+    20220801,
+    503
    ],
-   "commit": "5a9bee8d5fc978dc64fcb677167417010321ba65",
-   "sha256": "1w67k5wlyz9cyxgxka4ffgzszam45dxy4164xalwr16cgyhpnx05"
+   "commit": "d17a00ca50aee197cd017d573b83367eb241cc44",
+   "sha256": "0jib46v4g5f6p5whj45fmhr5q0a9472gzp3ys6az13q9qp6y149d"
   },
   "stable": {
    "version": [
@@ -67725,16 +67894,16 @@
   "repo": "SqrtMinusOne/lyrics-fetcher.el",
   "unstable": {
    "version": [
-    20220207,
-    1326
+    20220717,
+    1716
    ],
    "deps": [
     "emms",
     "f",
     "request"
    ],
-   "commit": "06bd0293dfa759df48faefd73be60d43d1febd17",
-   "sha256": "10lifif5nbbn172l6dyifm00q3ak91bp143ng3p2j5518vah2cb2"
+   "commit": "a3be34b0153c2c056dc4b55bbc5fbdc2d9f87549",
+   "sha256": "1nyajjxidp2acsbpkbv4whcph6bmwjn31nii2y87xsj8cdv0wrx7"
   },
   "stable": {
    "version": [
@@ -67759,14 +67928,14 @@
   "repo": "phillord/m-buffer-el",
   "unstable": {
    "version": [
-    20170407,
-    2141
+    20220719,
+    1850
    ],
    "deps": [
     "seq"
    ],
-   "commit": "8681342aaffa187e5c54945ab91b812965a96d19",
-   "sha256": "040g7l0r4bxz4ynp4zxy80jsa6x2f48z8rylc41fqxiblasmh0af"
+   "commit": "ecdc61282155739acd6b03233d5733e1ad57da1b",
+   "sha256": "06aiz6k751apgjrr3g2jhpdncqaqnxz96yib6csf6qg06vx8777l"
   },
   "stable": {
    "version": [
@@ -67836,14 +68005,14 @@
   "repo": "amake/macports.el",
   "unstable": {
    "version": [
-    20220708,
-    1127
+    20220808,
+    41
    ],
    "deps": [
     "transient"
    ],
-   "commit": "b88a924e8e1036e6066a81273c38a8da36b5b4c8",
-   "sha256": "1vx1s9lpmpaxb3xscrkkjn75rn4dnijj42sdqs289j3hczsb1x29"
+   "commit": "4e5e80721df474d1a4fa8c8ad4123d6435b8b4ac",
+   "sha256": "1wb56g1xd0avby1hqxk7q71fbdnaxqhaq1gmc8zcxlr3adip4lna"
   }
  },
  {
@@ -68030,8 +68199,8 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20220706,
-    148
+    20220806,
+    702
    ],
    "deps": [
     "compat",
@@ -68041,8 +68210,8 @@
     "transient",
     "with-editor"
    ],
-   "commit": "acd26dd9f3708602d4c721395d790a4af7937eed",
-   "sha256": "05xfkk4dssqcf1kgxjlr74nya7nbkjmvqhqj6rmxbq89yb46nim5"
+   "commit": "8a0cc83eff98489d3685b8585afdcebbb47c1393",
+   "sha256": "0hf3zyxwhknnkgcms5phwf5qrbzjkj5c8kpmynzb9bwr6ba8yf6p"
   },
   "stable": {
    "version": [
@@ -68121,14 +68290,14 @@
   "url": "https://codeberg.org/ideasman42/emacs-magit-commit-mark.git",
   "unstable": {
    "version": [
-    20220708,
-    211
+    20220809,
+    625
    ],
    "deps": [
     "magit"
    ],
-   "commit": "c7008bf9fff5e94060a7483ca68d0627d52f4460",
-   "sha256": "14fd3xz56liah973cm9mmbwp3ml8zs14dpmfbypxs2mcx5nsjbk7"
+   "commit": "9367f7e4038792073f090b2c881cdbde1ab47f40",
+   "sha256": "16cn28730q52fwfhv1x9z7ky9qngf4jr761qdn8pxi6b8x92c6xf"
   }
  },
  {
@@ -68408,8 +68577,8 @@
     "libgit",
     "magit"
    ],
-   "commit": "acd26dd9f3708602d4c721395d790a4af7937eed",
-   "sha256": "05xfkk4dssqcf1kgxjlr74nya7nbkjmvqhqj6rmxbq89yb46nim5"
+   "commit": "8a0cc83eff98489d3685b8585afdcebbb47c1393",
+   "sha256": "0hf3zyxwhknnkgcms5phwf5qrbzjkj5c8kpmynzb9bwr6ba8yf6p"
   },
   "stable": {
    "version": [
@@ -68557,15 +68726,15 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20220615,
-    1159
+    20220803,
+    2341
    ],
    "deps": [
     "compat",
     "dash"
    ],
-   "commit": "acd26dd9f3708602d4c721395d790a4af7937eed",
-   "sha256": "05xfkk4dssqcf1kgxjlr74nya7nbkjmvqhqj6rmxbq89yb46nim5"
+   "commit": "8a0cc83eff98489d3685b8585afdcebbb47c1393",
+   "sha256": "0hf3zyxwhknnkgcms5phwf5qrbzjkj5c8kpmynzb9bwr6ba8yf6p"
   },
   "stable": {
    "version": [
@@ -69343,11 +69512,11 @@
   "repo": "minad/marginalia",
   "unstable": {
    "version": [
-    20220707,
-    914
+    20220721,
+    1833
    ],
-   "commit": "4fe73f5724d1e7e61b2e0abf4a530d8a2cdadcb8",
-   "sha256": "0ini275pkw5dy7y6jhrsddaq2z1lb744b8mdlyfssy0hs53abszg"
+   "commit": "69442c2d9472b665f698f67426cd255f6c0620a3",
+   "sha256": "088hl9swh8ns4249cb2vapchbynxmy06njb7y4mvj1da493wp6az"
   },
   "stable": {
    "version": [
@@ -69537,29 +69706,30 @@
   "repo": "jasonm23/markdown-soma",
   "unstable": {
    "version": [
-    20220716,
-    347
+    20220802,
+    956
    ],
    "deps": [
     "dash",
+    "f",
     "s"
    ],
-   "commit": "f78ffe4ef3e2f4ce8af818c719148b17acf51097",
-   "sha256": "1l0dahrd9dlimja1m0l9qxjynpmy27aic0xmn29jgca949c0qj8z"
+   "commit": "e604b9e4a65bbd2057befbfaebfa73d00bd9826a",
+   "sha256": "1rz96x42g5cigzhmpvimxh8c9hb576kyzgnnbkd0jbn8ag0aw4zw"
   },
   "stable": {
    "version": [
     0,
-    2,
-    0,
-    2
+    3,
+    1
    ],
    "deps": [
     "dash",
+    "f",
     "s"
    ],
-   "commit": "507ca274e901aca86cdf84b03218dac3df920812",
-   "sha256": "1skb7dkpn5s2kv114qysj7h7cwff7diqhfzc322wmj5lbwdicxv5"
+   "commit": "e604b9e4a65bbd2057befbfaebfa73d00bd9826a",
+   "sha256": "1rz96x42g5cigzhmpvimxh8c9hb576kyzgnnbkd0jbn8ag0aw4zw"
   }
  },
  {
@@ -69738,8 +69908,8 @@
    "deps": [
     "ht"
    ],
-   "commit": "490496d974d03906f784707ecc2e0ac36ed84b96",
-   "sha256": "13yf61sw5rmqb8dshk1v9j348jkdfqql55dqvs9srb3ypj8b02v9"
+   "commit": "bc00044d9073482f589aad959e34d563598f682a",
+   "sha256": "0v5ncg88bghn4rpqw6fnvxpd0276mwn2bh6fpch7s1ibpaj2bsp0"
   },
   "stable": {
    "version": [
@@ -69792,15 +69962,15 @@
   "url": "https://codeberg.org/martianh/mastodon.el",
   "unstable": {
    "version": [
-    20220627,
-    1644
+    20220808,
+    1410
    ],
    "deps": [
     "request",
     "seq"
    ],
-   "commit": "04d35c7e28b8f50b47f2b86d5c4765f4f091d2a4",
-   "sha256": "17d8srxaqwxar9gd768a82q56xlvkkjkx05pzbhj87zdh788vsic"
+   "commit": "3ff8f250c3a0e0ab0670cf7af72a2607950e4b5e",
+   "sha256": "1w3mk7y37jw8m69c1vsjx7z0d4qvzsys1022x070dfjxvis1s8r7"
   },
   "stable": {
    "version": [
@@ -70015,15 +70185,15 @@
   "stable": {
    "version": [
     0,
-    7,
-    6
+    8,
+    1
    ],
    "deps": [
     "s",
     "test-simple"
    ],
-   "commit": "8d643a1776523ef1a6e0bff0bb0a390772fcc77d",
-   "sha256": "1r04mbn33y515b9fwr2x9rcbkvriz753dc0rasb8ca59klp1p5cv"
+   "commit": "1334f44725bd80a265de858d652f3fde4ae401fa",
+   "sha256": "1h1lqrl3p9qgkicds8v44vdry19g53rya56hdj3cz5q8xj1nisn1"
   }
  },
  {
@@ -70391,16 +70561,16 @@
   "repo": "skangas/mentor",
   "unstable": {
    "version": [
-    20220113,
-    2136
+    20220729,
+    1756
    ],
    "deps": [
     "async",
     "seq",
     "xml-rpc"
    ],
-   "commit": "afab3a14a4bfb5117f8e25417fdf151611b3df0b",
-   "sha256": "0wcmgynshjk9xdiv4y86d5qb7ncxkswim2gp34hkhslhvfmhfh8f"
+   "commit": "a820c8492392d2e3480845af4f6573c942996de8",
+   "sha256": "1b3mskakbgb65pf576fxryc92h4ycc85ck371kzm2my9vj6pdh21"
   },
   "stable": {
    "version": [
@@ -70426,11 +70596,11 @@
   "repo": "meow-edit/meow",
   "unstable": {
    "version": [
-    20220715,
-    47
+    20220727,
+    2104
    ],
-   "commit": "6083e746f7c009b16d2178b7a4eddb309f50d738",
-   "sha256": "0yapr0aj6yvkfkijnl79nnhqxm5ibhb1z5dqh4kj1h31ng90gry1"
+   "commit": "7471762ec043fa85a91398b2b5b05859da544200",
+   "sha256": "1i7smdmryn8irhn2s7gkym3xkmimkvfkqm2cjal0jgb7z6rg3mkj"
   },
   "stable": {
    "version": [
@@ -70603,14 +70773,14 @@
   "repo": "abrochard/mermaid-mode",
   "unstable": {
    "version": [
-    20220715,
-    2021
+    20220716,
+    1705
    ],
    "deps": [
     "f"
    ],
-   "commit": "938f8ed7e6deea7c255414ab62d1478afa1ac07b",
-   "sha256": "1vydm5vfqnqr4m7fvd18pcqwy9jajcxs1d6rrhvg8ba1r06ka91r"
+   "commit": "a98a9e733b1da1e6a19e68c1db4367bf46283479",
+   "sha256": "1xhvjng4av3k9n96p3gi0v9i47ya23rz02pwzgp7xxvhflbas4ph"
   }
  },
  {
@@ -70906,8 +71076,8 @@
   "repo": "danielsz/meyvn-el",
   "unstable": {
    "version": [
-    20220521,
-    17
+    20220723,
+    1800
    ],
    "deps": [
     "cider",
@@ -70917,8 +71087,8 @@
     "projectile",
     "s"
    ],
-   "commit": "ae02f9e3b93730672f2f0a476a4e32bf1a024937",
-   "sha256": "0j0p3s4n0z873191w8z27p2fl77ybpb958v0wzjdi1alq0rl1bdf"
+   "commit": "20878c2c059d1302b169f6c0252641a176a3f327",
+   "sha256": "1lhds8k74rcqqd71j02y4n2ci3sh4xyc6d0475qj8sam3j6f329w"
   },
   "stable": {
    "version": [
@@ -70937,11 +71107,11 @@
   "repo": "purpleidea/mgmt",
   "unstable": {
    "version": [
-    20210131,
-    2152
+    20220806,
+    306
    ],
-   "commit": "00f6045b1292d23a0579208521a470d685bdc59f",
-   "sha256": "05w41l2n7y2xrckx95hxa3m96py42m2wnzw2h1278zzbwpn5w1fm"
+   "commit": "3cea4223657cdbb32fcb0afc54bb736388dfbd5e",
+   "sha256": "018spmlvb30x8qxvsr8avbngvcn0qcvzyh5520jwrm0q0yhnvb4x"
   },
   "stable": {
    "version": [
@@ -71111,11 +71281,11 @@
   "repo": "erikbackman/mindre-theme",
   "unstable": {
    "version": [
-    20220711,
-    2253
+    20220725,
+    1404
    ],
-   "commit": "06e7e2401a79425b9c02bb44cb995a8e79077d68",
-   "sha256": "0rw8m675n7fvk6gplcs72yf63h8ik4x1kpywlq4rwzw5izf58d16"
+   "commit": "b8a2942524c75aa94505ee05c82ecfb803f04f7f",
+   "sha256": "0svnmxmr1wip6f6aq6j8mg4w155znmkm8mmk70k4kl92dc9l2f6i"
   }
  },
  {
@@ -71777,11 +71947,11 @@
   "repo": "sigma/mocker.el",
   "unstable": {
    "version": [
-    20210115,
-    157
+    20220727,
+    1452
    ],
-   "commit": "5b01b3cc51388faf1ba823683c3600790099c84c",
-   "sha256": "0nmi6bsbbgcxihjb865bmm2zrirnzi1lq02d6cl1df57k47md4ny"
+   "commit": "e455599f48bad7d73fd445e70a3acf4b44c2f5c1",
+   "sha256": "1mdw08rgdfdxwai38ff3c5r884vhw15shrc67x5yh02jfqzbkkfq"
   },
   "stable": {
    "version": [
@@ -71801,11 +71971,11 @@
   "repo": "mrkkrp/modalka",
   "unstable": {
    "version": [
-    20210318,
-    1748
+    20220802,
+    1450
    ],
-   "commit": "3d7f652d06c8e39cfe252ece804868a20730df07",
-   "sha256": "1ysfr02mc11sfcxngcki74zbyj4sa9mlk4v0liqk2bv1wx2cpdb5"
+   "commit": "414b3e89937495b36fd8897adc6443eca98df78c",
+   "sha256": "0x859mslpfqxg38728jf603mgpl4nw9bvx5fdgbjcp9isla7bim0"
   },
   "stable": {
    "version": [
@@ -71905,11 +72075,11 @@
   "url": "https://codeberg.org/ideasman42/emacs-mode-line-idle.git",
   "unstable": {
    "version": [
-    20220710,
-    702
+    20220731,
+    2355
    ],
-   "commit": "4c309f0890bc888f95c8be31bae6fe5a5d4164a9",
-   "sha256": "1y94dm0nphdsfrsg236zbkxz2gmy788a0926m2imip7b06a09hwk"
+   "commit": "11877416ef391dffa38eb1433ce2f337405c7ddc",
+   "sha256": "13vaxj7hy7zp7zy2g5vfgd4mrkhw6r3bi4hfn1h1h2ijf9hln3am"
   }
  },
  {
@@ -72025,20 +72195,20 @@
   "url": "https://git.sr.ht/~protesilaos/modus-themes",
   "unstable": {
    "version": [
-    20220714,
-    1115
+    20220809,
+    1644
    ],
-   "commit": "abe2047067fe4be527a1dc0ddca27035e19980ca",
-   "sha256": "1lyvjrc49s0fnkkavysj0dxgw2178hi95n6776s3a3mxianiygzl"
+   "commit": "2b0c31b94ddb82307181dcf0078cee2f3c187aec",
+   "sha256": "14lm9vn2w3nm5iszi2ghsdzw6krf3lp28l91hn2xhijv8364v3pd"
   },
   "stable": {
    "version": [
     2,
-    4,
-    1
+    5,
+    0
    ],
-   "commit": "467aab71377a6e1476dcab7ab5f2c55d1ffc28fe",
-   "sha256": "0b4y8dzyc9qwwaf2ngqiwyfcnhwlr49kxhc96laqk20lvjlfsrnx"
+   "commit": "64f9378a5114399f3a47c9d23136af677c25e513",
+   "sha256": "0ng85240zabw87ac53xnrlrafp10ns5wn6dgv9d1jxvnq40p7zqz"
   }
  },
  {
@@ -72399,11 +72569,11 @@
   "repo": "takaxp/moom",
   "unstable": {
    "version": [
-    20210324,
-    825
+    20220724,
+    808
    ],
-   "commit": "f94cf84138a81212ffe856599834f7824a1b6e95",
-   "sha256": "0rdvcv8hwrxxbb9s8sfx5331a08kdk28x8chnnq3pj58pxqvagy3"
+   "commit": "808952a934d0459829422b3417ca23926c1ceabf",
+   "sha256": "0llkf7f7cq4ydql8ynqvslmnmbkxx7bdpawxm10cv44n1qyv8s7h"
   },
   "stable": {
    "version": [
@@ -72681,8 +72851,8 @@
     20210306,
     1053
    ],
-   "commit": "9da52ff96e9ecc33b38612f17a6e9abb60c81bf0",
-   "sha256": "04i0wg8y4qchq2mskbcrmqf80svssxbbnkximjsm8ihxkq4w0s13"
+   "commit": "d1f5657f9b43fdf06852424cfb4f1a6fe2bc5171",
+   "sha256": "0hwdas1njbf8iy5shhr4ijblq2ksznby83mz8q793qrbfxi1d2dy"
   },
   "stable": {
    "version": [
@@ -72900,16 +73070,11 @@
   "repo": "kljohann/mpv.el",
   "unstable": {
    "version": [
-    20211228,
-    2043
-   ],
-   "deps": [
-    "cl-lib",
-    "json",
-    "org"
+    20220801,
+    1917
    ],
-   "commit": "4fd8baa508dbc1a6b42b4e40292c0dbb0f19c9b9",
-   "sha256": "03zziy1lcvpf1wq15bsxwy0dhdb2z7rrdcj6srgrmgykz2wf33q7"
+   "commit": "2e0234bc21a3dcdf12d94d3285475e7f6769d3e8",
+   "sha256": "0mvzg2wqpycny2dmiyp8jm0fflvll7ay6scvsb9rxgfwimr2vbw5"
   },
   "stable": {
    "version": [
@@ -73810,17 +73975,25 @@
  },
  {
   "ename": "my-repo-pins",
-  "commit": "597e8b0041643c9945f387e5ad76183434c8e647",
-  "sha256": "0kq03s7aidhi27nv57wqwiv39v8ywamc89ldxdyqj11i1i179vbn",
+  "commit": "71668cffda630ca39d6f606ee61fc1dc47d70978",
+  "sha256": "10kapw38sq850599axqpmkvr4cn6pmqy2r1cw07ks6f423bxrlh9",
   "fetcher": "github",
-  "repo": "ninjatrappeur/my-repo-pins",
+  "repo": "NinjaTrappeur/my-repo-pins",
   "unstable": {
    "version": [
-    20220711,
-    1300
+    20220726,
+    813
+   ],
+   "commit": "f460f17c524db2c815966a0b1ffe86ac450d4908",
+   "sha256": "1ma1fgnka7v03jf0vn0fxn137k0gj4i9c58a34d7gqf6i2j7wajn"
+  },
+  "stable": {
+   "version": [
+    0,
+    2
    ],
-   "commit": "6ba60541656d6f0088fddab6753ddbde7a5f911c",
-   "sha256": "1hfsm4hs200mlp1mfxwcwv0xrs99h7yh62yh0g3471b2wvp1g7ax"
+   "commit": "3a85c415b2fd6c9146de9de6cc99fe5de629cd07",
+   "sha256": "1ndn17jqlcgp7k7qwli67i23hvbcvgp0jyj967hfisbd553x9964"
   }
  },
  {
@@ -73849,8 +74022,8 @@
     20220715,
     615
    ],
-   "commit": "6c35dd44369930b039a37f6174617bb6ab93be27",
-   "sha256": "04kljxzzja1hb2lr45vik8x7v3l32xmbyl5vq85s0p74qmm5pcxi"
+   "commit": "de4c0e694ed3e8fcebb1854b5d3fc3f0d98b0767",
+   "sha256": "043liypx7s8jpk8jgxfprvpgs2wcia4n84dnr2rp25aagr09h58q"
   },
   "stable": {
    "version": [
@@ -74019,11 +74192,11 @@
   "repo": "kenranunderscore/emacs-naga-theme",
   "unstable": {
    "version": [
-    20220715,
-    1017
+    20220724,
+    2023
    ],
-   "commit": "44204a9d0dabe1553c28310f6d2d78f144c08990",
-   "sha256": "0ba20v82m5sy4ya7aiwldvnsnlkfw71grgfrw4cn5xwz6qihl809"
+   "commit": "c5ef0baf1d2e95bc613e99700c38a1227cabe187",
+   "sha256": "133d871a1rrapnkjv5nhll1gc14ih3n045v5brmmr642w97ri9dh"
   }
  },
  {
@@ -74403,11 +74576,11 @@
   "repo": "rolandwalker/nav-flash",
   "unstable": {
    "version": [
-    20210906,
-    1942
+    20220726,
+    1117
    ],
-   "commit": "2e31f32085757e1dfdd8ec78e9940fd1c88750de",
-   "sha256": "0wzk6nqky5zjpds9mmi1dcwn00d3044l7a0giawqycsa4zcybdlk"
+   "commit": "5d4b48567862f6be0ca973d6b1dca90e4815cb9b",
+   "sha256": "0l6zamrh3n3416pgr2jhqabldl180zg0n4651g42jn8xcbwg4w6c"
   },
   "stable": {
    "version": [
@@ -74605,17 +74778,17 @@
     20220514,
     2039
    ],
-   "commit": "b290da108cbaa9b9ef4e92d742f14d74c08e6baf",
-   "sha256": "0i4nm0y49bs20jggqb7gp622jyn652j2llnr1j2jbcbq5ghvavrc"
+   "commit": "77f33fc765decce01d5ad7905e908ccbf2233307",
+   "sha256": "1cz04p6lh4wrr8b8f09qfp98mghvzw9bbabd73xqhiyzx969948c"
   },
   "stable": {
    "version": [
     0,
-    0,
-    33
+    1,
+    43
    ],
-   "commit": "b290da108cbaa9b9ef4e92d742f14d74c08e6baf",
-   "sha256": "0i4nm0y49bs20jggqb7gp622jyn652j2llnr1j2jbcbq5ghvavrc"
+   "commit": "fb9b9a0a432089b5c93868b45e898646ce74504e",
+   "sha256": "0j5y07aswcjix4ijbh4qnvm4djsh97c54k11qzb3ldkw0kn053x0"
   }
  },
  {
@@ -74823,8 +74996,8 @@
   "repo": "felko/neuron-mode",
   "unstable": {
    "version": [
-    20210227,
-    1737
+    20220718,
+    827
    ],
    "deps": [
     "company",
@@ -74832,8 +75005,8 @@
     "markdown-mode",
     "s"
    ],
-   "commit": "a968a923aad07ab15fb35deb79ac95581a427b4c",
-   "sha256": "1mb55bbsb32gxms488pjw9fsqiic2qfmwkhm3pwcgy194723vcaa"
+   "commit": "33bc73f9a2ef1c6855bb12fec08e15a8cf4a6c6e",
+   "sha256": "0pkwnrqyf1h6cdrkh1351qmds9pzr3rka3d8gyf5h3k9prg67rfl"
   },
   "stable": {
    "version": [
@@ -75243,15 +75416,15 @@
   "repo": "NixOS/nix-mode",
   "unstable": {
    "version": [
-    20220505,
-    1706
+    20220719,
+    505
    ],
    "deps": [
     "magit-section",
     "transient"
    ],
-   "commit": "8fe2ccf0b01f694a77d2528e06c10f06057784f6",
-   "sha256": "08kz9qp4gp55z1i87ig0ysq6pgqgwlgr765g1vp8gsh6lp3myh36"
+   "commit": "b3f71c75f7d43a32e7cbc632e9be80f2a03788d4",
+   "sha256": "14vcjjyvjdxpzrcd6arq6lrjqgmbbsibx73h0v34fdzfpi4wfx08"
   },
   "stable": {
    "version": [
@@ -75305,11 +75478,11 @@
   "repo": "jwiegley/nix-update-el",
   "unstable": {
    "version": [
-    20190124,
-    1935
+    20220809,
+    412
    ],
-   "commit": "fc6c39c2da3fcfa62f4796816c084a6389c8b6e7",
-   "sha256": "01cpl4w49m5dfkx7l8g1q183s341iz6vkjv2q4fbx93avd7msjgi"
+   "commit": "1dd1434a2fcc054ad0046cca0563a292e890d59b",
+   "sha256": "10h6q8j6p9pvhja6ldpbh1s57lq0wpzy11wcbqknsyv0wpbrcpwk"
   }
  },
  {
@@ -75585,15 +75758,16 @@
   "repo": "thomp/noaa",
   "unstable": {
    "version": [
-    20220711,
-    445
+    20220803,
+    1427
    ],
    "deps": [
+    "kv",
     "request",
     "s"
    ],
-   "commit": "c7e42920c2db19428c1b30402aaf99bd65bcac7e",
-   "sha256": "1fabx74caj6q5a5hhw5yyg68j415qhadarliwfp2n071pf4dickw"
+   "commit": "beacb05f7298228dce4d494fb41c73d26991e15c",
+   "sha256": "1ak7c2qy80idk1izs3xjw7nlsd9hjvig5qxqf1bwmiqrrdbcqsgs"
   }
  },
  {
@@ -75882,11 +76056,11 @@
   "url": "https://git.notmuchmail.org/git/notmuch",
   "unstable": {
    "version": [
-    20220714,
-    1551
+    20220807,
+    1005
    ],
-   "commit": "349987668ae1da3ee30cdbe3a4acc11bb2219e0d",
-   "sha256": "0hgzzq0wc9l2kd4cxdmn3ssin635m2ag8dg37fqps996cfsddw0a"
+   "commit": "6d6d2a5fe7a04cc8de43d6b27844c50f02d749ed",
+   "sha256": "0rv19isfggcxzwd7d071i1rh4mix4hf7bnj21w20c6kvryfpfr2b"
   },
   "stable": {
    "version": [
@@ -76057,14 +76231,14 @@
   "url": "https://depp.brause.cc/nov.el.git",
   "unstable": {
    "version": [
-    20220428,
-    1417
+    20220805,
+    2031
    ],
    "deps": [
     "esxml"
    ],
-   "commit": "8f5b42e9d9f304b422c1a7918b43ee323a7d3532",
-   "sha256": "0xnzwmv44pfqrh7rhqw8v6rd39kshxfah6d9fxrrbv33vlqy8kpl"
+   "commit": "cb5f45cbcfbcf263cdeb2d263eb15edefc8b07cb",
+   "sha256": "1fm65d39505kcgqaxnr5nkdilan45gpb1148m15d7gc5806n0sdz"
   },
   "stable": {
    "version": [
@@ -77069,8 +77243,8 @@
    "deps": [
     "frimacs"
    ],
-   "commit": "978665a47314f385850097442a3838ad7f3b688d",
-   "sha256": "1bvjk3g0rcjxn4anwvkd72r4phd534md350h1ryxr0frvgrpkcd1"
+   "commit": "b35fdefb60ead4d7559131601c43761973762a9a",
+   "sha256": "034x3b471xfn1ih95az59h34ad2qvb9qpav29ng5z0ry2hqcq0za"
   }
  },
  {
@@ -77979,6 +78153,46 @@
   }
  },
  {
+  "ename": "obsidian",
+  "commit": "2c2a69a670206a4f06f69654278026564de6d5cd",
+  "sha256": "0v3fc7pcgpdbpmcp6fp3lwc581jrr19agw2lnx8v72ca260vrvi2",
+  "fetcher": "github",
+  "repo": "licht1stein/obsidian.el",
+  "unstable": {
+   "version": [
+    20220808,
+    2351
+   ],
+   "deps": [
+    "company",
+    "dash",
+    "elgrep",
+    "markdown-mode",
+    "org",
+    "s"
+   ],
+   "commit": "49b4712b407a3542bbba50d3f74e1bb45025e255",
+   "sha256": "1x9y6mq72f3p53fcp6p2jv48xjph1i704d7q46gn1hvxbpryvhzz"
+  },
+  "stable": {
+   "version": [
+    1,
+    1,
+    0
+   ],
+   "deps": [
+    "company",
+    "dash",
+    "elgrep",
+    "markdown-mode",
+    "org",
+    "s"
+   ],
+   "commit": "ef5f4174acdc8c6ef38707103f2a05223ad4481b",
+   "sha256": "1l88ixp3nyi7j4302pdkgi02vmyqm7amk46cz5pkwh8lf74pk9jc"
+  }
+ },
+ {
   "ename": "obsidian-theme",
   "commit": "e90227252eb69d3eac81f5a6bd5e3a582d33f335",
   "sha256": "17ckshimdma6fqiis4kxczxkbrsfpm2a0b41m5f3qz3qlhcw2xgr",
@@ -78004,17 +78218,17 @@
     20220707,
     751
    ],
-   "commit": "fd908d7b21a88c0f1cd6e9acdd50e83076b3fd17",
-   "sha256": "0mdwmxv48v67nn4zjljvps18w8snhiddvlzh2jx1g9gs6fdamc4v"
+   "commit": "9cbd8150c28f70ba6315c347a833a4ac8c85c481",
+   "sha256": "071fsdl67c0wis521i2w7mw85ijavxc7c458minanwqamabjvsck"
   },
   "stable": {
    "version": [
     0,
     24,
-    0
+    1
    ],
-   "commit": "fd908d7b21a88c0f1cd6e9acdd50e83076b3fd17",
-   "sha256": "0mdwmxv48v67nn4zjljvps18w8snhiddvlzh2jx1g9gs6fdamc4v"
+   "commit": "86938aa4435b251af1a3b081f7fbed90f982cf62",
+   "sha256": "0y1j5mwwrliy6a78cmpi6j8gw425shghqg9ylyl3qw5fx4b088pp"
   }
  },
  {
@@ -78198,26 +78412,26 @@
   "repo": "oer/oer-reveal",
   "unstable": {
    "version": [
-    20220706,
-    1759
+    20220804,
+    1019
    ],
    "deps": [
     "org-re-reveal"
    ],
-   "commit": "f25b51fc4370fedaebb52d82ff72a597bf44ccc4",
-   "sha256": "1d5v2wmvfgffi6jmkz8mkfy547d5amis64i756cah0kv2km6zdw6"
+   "commit": "099a6b85097bcd7830cd8919030d7f2d8b8b06ff",
+   "sha256": "09pk03njc4mk7r0brccch6ajnz182gxxh5d78yiqx4d5kgjj39pm"
   },
   "stable": {
    "version": [
     4,
-    5,
+    7,
     0
    ],
    "deps": [
     "org-re-reveal"
    ],
-   "commit": "48884ade629af4c366092e68f08dd5cb626cfaa4",
-   "sha256": "1d5v2wmvfgffi6jmkz8mkfy547d5amis64i756cah0kv2km6zdw6"
+   "commit": "099a6b85097bcd7830cd8919030d7f2d8b8b06ff",
+   "sha256": "09pk03njc4mk7r0brccch6ajnz182gxxh5d78yiqx4d5kgjj39pm"
   }
  },
  {
@@ -79051,15 +79265,15 @@
   "repo": "spegoraro/org-alert",
   "unstable": {
    "version": [
-    20210922,
-    125
+    20220721,
+    1721
    ],
    "deps": [
     "alert",
     "org"
    ],
-   "commit": "c039d0121d21e4558c0f5433135c839679b556d7",
-   "sha256": "0xalf5bbawnxm61askvldg2g93gvf6i1bpxqk55bglnl2cdq6g2i"
+   "commit": "f1801e061722843329b95409957c7dbd5cc223e9",
+   "sha256": "0k8rc820s57rxb74xzk6w838887x3swbvaya3k7xfkwm6yshfg6z"
   },
   "stable": {
    "version": [
@@ -79225,14 +79439,14 @@
   "repo": "yilkalargaw/org-auto-tangle",
   "unstable": {
    "version": [
-    20220715,
-    329
+    20220809,
+    1711
    ],
    "deps": [
     "async"
    ],
-   "commit": "bce665c79fc29f1e80f1eae7db7e91c56b0788fc",
-   "sha256": "0gj3sqzg5zzqb84vbf08wyqkynyz0zzs4hy5q83zgz02mwwjbv01"
+   "commit": "69c4aa39f33c157f124db81050928838aee54704",
+   "sha256": "04i7clcsalq56raw356cn5fis5ghc3dlcrmvs375pd6gwv85rlks"
   },
   "stable": {
    "version": [
@@ -79357,23 +79571,22 @@
   "repo": "alphapapa/org-bookmark-heading",
   "unstable": {
    "version": [
-    20200103,
-    514
-   ],
-   "deps": [
-    "f"
+    20220805,
+    2357
    ],
-   "commit": "38a2813f72ff65f3ae91e2ebb23e0bbb42a8d1df",
-   "sha256": "09rfp0zf68gnhiwh61wc10kgqk75ypkbk0hawrw1rhida1bi2wb1"
+   "commit": "fac3edac3b70a00f5412e3e7e2830a5cfee84432",
+   "sha256": "1wr442hqiih6ygcwcww1k56fkw5afn5rlcd49hs4qwqg4cchvgc0"
   },
   "stable": {
    "version": [
     1,
-    0,
-    0
+    1
    ],
-   "commit": "70b014e09977371a8c9bad03085c116693062b19",
-   "sha256": "0j765rb2yfwnc0ri53jb8d6lxj6knpmy495bk3sd63492kdrxf93"
+   "deps": [
+    "f"
+   ],
+   "commit": "d71c6c96b878fb5d57fea0200a8c19e8d897b857",
+   "sha256": "0d5w8a3j1mkds9513v659flmq0ci178qd8wynz56wvcz3sqqw4h3"
   }
  },
  {
@@ -80195,8 +80408,8 @@
   "repo": "kidd/org-gcal.el",
   "unstable": {
    "version": [
-    20220708,
-    611
+    20220809,
+    1955
    ],
    "deps": [
     "alert",
@@ -80205,8 +80418,8 @@
     "request",
     "request-deferred"
    ],
-   "commit": "396a30cf256c8b32a69fd73a081364937b43a1c7",
-   "sha256": "19d6v06bks41anyisv4sjlsbw4yndi51ccn6hr767y9wyhn1337l"
+   "commit": "40291bec0cd0bf8a2f5db656e4d3077b256092ae",
+   "sha256": "00ais9k2qc9ib7ihh38hwz3gmkn9zcb2x5n7x8cllhdq8zmy00a6"
   },
   "stable": {
    "version": [
@@ -80439,16 +80652,16 @@
   "repo": "marcIhm/org-index",
   "unstable": {
    "version": [
-    20220228,
-    1651
+    20220801,
+    928
    ],
    "deps": [
     "dash",
     "org",
     "s"
    ],
-   "commit": "9671cf059b681fac39ce910dd8847b5c7bfad170",
-   "sha256": "1zygrmihzdsciqnm5kl3j4wgmm796q8ppv7nvgn3d8rv6xky5mx3"
+   "commit": "9ca02c4e7a38c788b70a1f5364ab505695335bd3",
+   "sha256": "0j7c775vx9a25qh3485xlnd3j070cq4d9yyrlq1d6j5r6i5iwhjj"
   },
   "stable": {
    "version": [
@@ -80551,30 +80764,30 @@
   "repo": "ahungry/org-jira",
   "unstable": {
    "version": [
-    20220702,
-    709
+    20220725,
+    1808
    ],
    "deps": [
     "cl-lib",
     "dash",
     "request"
    ],
-   "commit": "97e9535e0f9410dc92eab4330dff061bfde00155",
-   "sha256": "0awfz4c70pxfj401p4h4j1lxic4pqpgigkldy9wvdkcyhqbphswj"
+   "commit": "93629335727d855e8795470e78282c9dc532c839",
+   "sha256": "050sf6i8y28hl0d90y0hr4p5gzmsf3v728ghrj7y0hfvq0r3bhwj"
   },
   "stable": {
    "version": [
     4,
-    3,
-    2
+    4,
+    0
    ],
    "deps": [
     "cl-lib",
     "dash",
     "request"
    ],
-   "commit": "df45be17fb66490f625b60c99d9954e614885101",
-   "sha256": "1hsfkkm3ykdf7n8a6k0mpzilhjpy7vllwrl2s4rfb9mhnaq5yb8y"
+   "commit": "9510f2010750c5c74b6c1be7e06939afd64aa39b",
+   "sha256": "1s91l4ibjvvc7rfvd8gldxqrcgjq00q83fdww217ck2ps5yrzyjl"
   }
  },
  {
@@ -80630,21 +80843,21 @@
   "repo": "SqrtMinusOne/org-journal-tags",
   "unstable": {
    "version": [
-    20220416,
-    1507
+    20220805,
+    1001
    ],
    "deps": [
     "magit-section",
     "org-journal",
     "transient"
    ],
-   "commit": "ca6327161f4994ea0e98d7c6c3f662222e2650bf",
-   "sha256": "1pg7wxjlhbh3fls17zgh9wdzk0mjc3sfi873207kc5rcd4araq89"
+   "commit": "66b4dcd6084242008a430aedb27e5834671b5f99",
+   "sha256": "1l352pqpmhld74qgkzq9i6inkppgiy145cmr0zyjk0803gry0g67"
   },
   "stable": {
    "version": [
     0,
-    3,
+    4,
     0
    ],
    "deps": [
@@ -80652,8 +80865,8 @@
     "org-journal",
     "transient"
    ],
-   "commit": "ca6327161f4994ea0e98d7c6c3f662222e2650bf",
-   "sha256": "1pg7wxjlhbh3fls17zgh9wdzk0mjc3sfi873207kc5rcd4araq89"
+   "commit": "d2375f42c80799ad7fb2324247315169bedc4c19",
+   "sha256": "0i0gvah8pvlksi2ph9hl09plk6ddvqsvklzx5z0yfpamh870077k"
   }
  },
  {
@@ -80664,30 +80877,30 @@
   "repo": "gizmomogwai/org-kanban",
   "unstable": {
    "version": [
-    20220510,
-    2150
+    20220723,
+    1216
    ],
    "deps": [
     "dash",
     "org",
     "s"
    ],
-   "commit": "1d3234359fa52fce5ac1006e2c51f14c760d275e",
-   "sha256": "1kvmr1sz3jcd4wc4gybazpigb9yv5wl246axbr7z4m6wjiq0k5nv"
+   "commit": "e78deb03880ae89d6bceae6563ef1383526233a1",
+   "sha256": "006y8glnd3h5nmcb0fdq650xnknhi5n74v7adk1maf26r8rpc6vy"
   },
   "stable": {
    "version": [
     0,
     6,
-    4
+    5
    ],
    "deps": [
     "dash",
     "org",
     "s"
    ],
-   "commit": "1d3234359fa52fce5ac1006e2c51f14c760d275e",
-   "sha256": "1kvmr1sz3jcd4wc4gybazpigb9yv5wl246axbr7z4m6wjiq0k5nv"
+   "commit": "e78deb03880ae89d6bceae6563ef1383526233a1",
+   "sha256": "006y8glnd3h5nmcb0fdq650xnknhi5n74v7adk1maf26r8rpc6vy"
   }
  },
  {
@@ -80890,11 +81103,11 @@
   "repo": "org-mime/org-mime",
   "unstable": {
    "version": [
-    20220521,
-    1422
+    20220722,
+    242
    ],
-   "commit": "cf96f585c68ad14751a3f73d937cbfcb890171b9",
-   "sha256": "17380kpf08j5ai30nn5iks0k3x8sm3kmz8lkyr1v0qvpr5a8s70b"
+   "commit": "5c19b458f8dbd61f8a40c8b94ba843833ba90a77",
+   "sha256": "0j8h9wqk0ca551ynfx9wliy92ddhgiq4gw8idhq4l1lkdykpnb11"
   },
   "stable": {
    "version": [
@@ -80985,11 +81198,11 @@
   "repo": "minad/org-modern",
   "unstable": {
    "version": [
-    20220625,
-    1302
+    20220730,
+    827
    ],
-   "commit": "239c02aa99dc52755edf38d5e9c9e986683c4249",
-   "sha256": "0d6871y4n4mz4h13lx9a2q2jyx8gpii0fal9s6rjflx3wnld8fsn"
+   "commit": "c82b50a61d04571e11c242fb91944753d8bf945c",
+   "sha256": "0x6i69balwp5gzalgfcnb0m6gz78ca6vdj7qlx354awnxsd70nhz"
   },
   "stable": {
    "version": [
@@ -81063,14 +81276,14 @@
   "repo": "jeremy-compostella/org-msg",
   "unstable": {
    "version": [
-    20220331,
-    1707
+    20220809,
+    1736
    ],
    "deps": [
     "htmlize"
    ],
-   "commit": "60e22e446325a9b3387396459d98be7c1c52579d",
-   "sha256": "077g7gvn1k6i2x4m2kd3dkrznc89f5a5pd916wsmpy703pv0aca5"
+   "commit": "e0174324ac37a63ed36869c7632dd7139f1b2419",
+   "sha256": "1ks5hcadgzaa81ii71flnna8kbchk8x3kf7dz3h31yk95hx3jjf8"
   }
  },
  {
@@ -81457,23 +81670,23 @@
   "repo": "rlister/org-present",
   "unstable": {
    "version": [
-    20220108,
-    1802
+    20220806,
+    1847
    ],
    "deps": [
     "org"
    ],
-   "commit": "c0f1f36b2384b58b00a2000f2e30895a6230bb6b",
-   "sha256": "0rjaxg6ha5r8bj7ry63g1mnz0bk57738k9hbq7y30l3l77ab1mkg"
+   "commit": "4ec04e1b77dea76d7c30066ccf3200d2e0b7bee9",
+   "sha256": "0bcrgwc80968zx52lwg71cs7v2yrygynzbnrakxdja1l5a6h3xy6"
   }
  },
  {
   "ename": "org-present-remote",
-  "commit": "66b092084565634cac8dd07b7b1694d0ddb236ba",
-  "sha256": "06xxxa8hxfxx47bs6wxi8nbgqc8nm82c3h0yv1ddlm35qfscggks",
+  "commit": "f95c49abe614778010041269c05db8de0ad81966",
+  "sha256": "0nlcj1bxp4a22hjq408201gdlny629cb3ifcvx9rfd4j79xixjrj",
   "error": "Not in archive",
-  "fetcher": "gitlab",
-  "repo": "duncan-bayne/org-present-remote"
+  "fetcher": "git",
+  "url": "https://git.sr.ht/~duncan-bayne/org-present-remote"
  },
  {
   "ename": "org-pretty-tags",
@@ -81507,14 +81720,14 @@
   "repo": "jakebox/org-preview-html",
   "unstable": {
    "version": [
-    20220713,
-    151
+    20220809,
+    1033
    ],
    "deps": [
     "org"
    ],
-   "commit": "220d7ea93945581a9ab9fa7b43c67070bb5680a4",
-   "sha256": "15z6hijfg28p5siz9iqyknpfs77j5c9hvmxmmdhazisb99v0iq0k"
+   "commit": "785e1f5c99c0f2d76a9a6611a06b4552a343e221",
+   "sha256": "113nzbwpirbzbff6193rmn2ardzs9bi9if6b9l4qz7aa42ff4zr7"
   }
  },
  {
@@ -81619,8 +81832,8 @@
   "repo": "alphapapa/org-ql",
   "unstable": {
    "version": [
-    20220715,
-    1850
+    20220718,
+    1844
    ],
    "deps": [
     "dash",
@@ -81634,7 +81847,7 @@
     "transient",
     "ts"
    ],
-   "commit": "98b6049eccc4f3b19700d27a86f22d4428013501",
+   "commit": "06f1e1be6ff5ef7e2c8c05dc1954bcedcbb6eb0b",
    "sha256": "0qn3ww9hp08xbmjicd451zcqm3za84wvizjwlzmxi6hqsaxmzpfm"
   },
   "stable": {
@@ -81735,28 +81948,28 @@
   "repo": "oer/org-re-reveal",
   "unstable": {
    "version": [
-    20220622,
-    642
+    20220808,
+    734
    ],
    "deps": [
     "htmlize",
     "org"
    ],
-   "commit": "f184e66e398e1cfdfd55894c67392805ae531a39",
-   "sha256": "180dn5iywarljbmx8lm61y30n2d800kg96psrvc8ghfglnvp6964"
+   "commit": "6f78a0a2287e7eecd4d22aebdb597ebadcc3eab3",
+   "sha256": "0mn7qn80289gizvnxyjjs00b7qmlf0692kai7qgzgfj6i87pjc38"
   },
   "stable": {
    "version": [
     3,
-    14,
-    1
+    15,
+    0
    ],
    "deps": [
     "htmlize",
     "org"
    ],
-   "commit": "f184e66e398e1cfdfd55894c67392805ae531a39",
-   "sha256": "180dn5iywarljbmx8lm61y30n2d800kg96psrvc8ghfglnvp6964"
+   "commit": "6f78a0a2287e7eecd4d22aebdb597ebadcc3eab3",
+   "sha256": "0mn7qn80289gizvnxyjjs00b7qmlf0692kai7qgzgfj6i87pjc38"
   }
  },
  {
@@ -81911,8 +82124,8 @@
   "repo": "jkitchin/org-ref",
   "unstable": {
    "version": [
-    20220715,
-    1202
+    20220808,
+    1445
    ],
    "deps": [
     "avy",
@@ -81927,8 +82140,8 @@
     "parsebib",
     "s"
    ],
-   "commit": "ebe3bb6f58350ac10da73e583d3ad1078f0690e2",
-   "sha256": "03z215lmca2xcsfcdb1vfhnhdh178rm0hfbhp89qpxa3hrmx92i5"
+   "commit": "4c9128f8cff3f5393efecf9c7547c630331a0299",
+   "sha256": "10kmkwyrfklzllgq5a5j5531whsjlq2mba2mh1cd14fvha5dwvd9"
   },
   "stable": {
    "version": [
@@ -82004,28 +82217,28 @@
   "repo": "akirak/org-reverse-datetree",
   "unstable": {
    "version": [
-    20220702,
-    511
+    20220731,
+    1246
    ],
    "deps": [
     "dash",
     "org"
    ],
-   "commit": "bd8bc9b4c15783debcec132c79835e37b03626c8",
-   "sha256": "004nhqkcv6a9gcnxpkmpr15bzzrx7nn376cbcsxryzyz3z13lx31"
+   "commit": "e53d0fde875d137eeb03eddd6b50d3c827f9947f",
+   "sha256": "1syksy6c914d1z57zjiyqfmfpi6lpw2nfyw321mc4fr3m2l8wzzv"
   },
   "stable": {
    "version": [
     0,
     3,
-    12
+    13
    ],
    "deps": [
     "dash",
     "org"
    ],
-   "commit": "bd8bc9b4c15783debcec132c79835e37b03626c8",
-   "sha256": "004nhqkcv6a9gcnxpkmpr15bzzrx7nn376cbcsxryzyz3z13lx31"
+   "commit": "e53d0fde875d137eeb03eddd6b50d3c827f9947f",
+   "sha256": "1syksy6c914d1z57zjiyqfmfpi6lpw2nfyw321mc4fr3m2l8wzzv"
   }
  },
  {
@@ -82075,8 +82288,8 @@
   "repo": "org-roam/org-roam",
   "unstable": {
    "version": [
-    20220621,
-    527
+    20220804,
+    437
    ],
    "deps": [
     "dash",
@@ -82085,8 +82298,8 @@
     "magit-section",
     "org"
    ],
-   "commit": "c3867619147175faf89ed8f3e90a1e67a4fd9655",
-   "sha256": "18a1sx3z9gvg32kqhg760351nf9w4d81jnzl6y9izsb5p539iqpp"
+   "commit": "7f453f3fffb924ca4ae3f8d34cabc03fbcae0127",
+   "sha256": "10a7f10wfvpcyvjha6rwgpxz20qf045fsmbw8649f75hf1vjg0ny"
   },
   "stable": {
    "version": [
@@ -82139,10 +82352,10 @@
  },
  {
   "ename": "org-roam-timestamps",
-  "commit": "5141a8f5505427e8d5cb898015587972c2eb2f34",
-  "sha256": "060sjq9icpabdvi5dz0im7acdc8k21iprhpa6mga6zynpqhshsjs",
+  "commit": "817320c7a52e78f89746694b62fead6260175c3f",
+  "sha256": "17yi95pdfk9z1zhiz8338mjpvbh7n0pfbdw7i50i5b3gifl2sfnh",
   "fetcher": "github",
-  "repo": "ThomasFKJorna/org-roam-timestamps",
+  "repo": "tefkah/org-roam-timestamps",
   "unstable": {
    "version": [
     20220111,
@@ -82163,16 +82376,16 @@
   "repo": "org-roam/org-roam-ui",
   "unstable": {
    "version": [
-    20220713,
-    1144
+    20220803,
+    1024
    ],
    "deps": [
     "org-roam",
     "simple-httpd",
     "websocket"
    ],
-   "commit": "2cd93bfa517d51b4c97d42817713ca5ce61cb0df",
-   "sha256": "10p9fyk4y5qsg06y2mw0lacjpf1kkjgwrvc8cjcj4xcyka2lz9jf"
+   "commit": "c75fc7506ee7f03840a9a93ed9336d7ed24551aa",
+   "sha256": "0mkcd2622np8s5qz2zvx7lch6dc586xqmn6914gi4ym7nvklf3zy"
   }
  },
  {
@@ -82730,15 +82943,15 @@
   "url": "https://repo.or.cz/org-tag-beautify.git",
   "unstable": {
    "version": [
-    20220712,
-    123
+    20220723,
+    758
    ],
    "deps": [
     "all-the-icons",
     "org-pretty-tags"
    ],
-   "commit": "7a6aec1b28416fb4bdda5611f1ca30c77d18a854",
-   "sha256": "0c40c2g80jy9yw93ahjkm43hfjrv29hkpspx72yfzmnynkv49bg6"
+   "commit": "b9c6ffcc206ffaeafbe6e3ef9561ce6a8e0f30ad",
+   "sha256": "1apxxhjmz04myl99fm88la941n69a5sw6pkcxaz7svga1cnpdj9l"
   }
  },
  {
@@ -83330,14 +83543,14 @@
   "repo": "ymherklotz/emacs-zettelkasten",
   "unstable": {
    "version": [
-    20220503,
-    1357
+    20220727,
+    859
    ],
    "deps": [
     "org"
    ],
-   "commit": "9eb18ecd93895a9894970fa85b68257da647812d",
-   "sha256": "0nmbbrw36bkxygh5pllfa9i1z20b0wzrax7bcz049syjkfl3l621"
+   "commit": "edba7bcfdc054ad0ff1952bb525f5709a687db25",
+   "sha256": "06rb7frgw1vja7azsd9cxzkbvlr7xpzapgqypsc777szncz06xhi"
   },
   "stable": {
    "version": [
@@ -83754,8 +83967,8 @@
     20220715,
     16
    ],
-   "commit": "f4df67e94926f9d389f4a456a9cbf721c9b22b89",
-   "sha256": "1jcqkk3rpw128a0x5cwwwkpfj9q2ypzjg1ck49lhadlf09y4bqm8"
+   "commit": "9fba876c51d070832e15c888bf81609c4145f233",
+   "sha256": "0pck6pgyr55xf8g0kwrshal7jm64nxclhdm9ys8wx6vi7mvdqnb7"
   },
   "stable": {
    "version": [
@@ -83774,11 +83987,11 @@
   "repo": "tbanel/orgaggregate",
   "unstable": {
    "version": [
-    20220127,
-    1502
+    20220726,
+    1241
    ],
-   "commit": "36d7aec5549655174467db45d1dba6647b9e19b1",
-   "sha256": "0cg8rxl8wrcgm910jm0m61wbxk5i9f8cxcb289p7ip5bjbijmic9"
+   "commit": "cfdddd6700c7c0e8850aecfaae6f0bb4345ea5d0",
+   "sha256": "047ys7qlg7s35drp5izz13gknri2hbsms2f57kf76w2qlp6i5ijv"
   }
  },
  {
@@ -83804,14 +84017,14 @@
   "repo": "tbanel/orgtbljoin",
   "unstable": {
    "version": [
-    20220127,
-    1516
+    20220726,
+    1235
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "f5254db6ae78e30c2786c53991e98e86ed344ac6",
-   "sha256": "1l63bcvlnqnj5z10cyanybc5jz9yimf53vffycf9wbsph5lpfs12"
+   "commit": "4b09436de15545ce73dd40e938176a98254109f8",
+   "sha256": "0k7z3d24k4nqz13xj0a7l79idar3kdl022r4jm3f9hjkxlddsbfk"
   }
  },
  {
@@ -83973,8 +84186,8 @@
     20220702,
     2218
    ],
-   "commit": "1c5e825fbec4c22ae3a649dec84d51803768b44a",
-   "sha256": "0p19vcv32pm27vxm33gdggzggac5hb0ji75fhs4g5va69kv1nxyw"
+   "commit": "808baabecd9882736b240e6ea9344047aeb669e2",
+   "sha256": "13kd3zf6vbhsrnrcxwjpk5nk69869ph57wfj7y58asdkdk7ks0lx"
   },
   "stable": {
    "version": [
@@ -84048,14 +84261,14 @@
   "repo": "xuchunyang/osx-dictionary.el",
   "unstable": {
    "version": [
-    20210703,
-    1152
+    20220801,
+    1542
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "1a4479d9f44ef1e6e5f7643c172c32f6fe6cce21",
-   "sha256": "1714bh7gx1limy8zs1sbxyr9an7gj7viq8sf4cr6wnxz44v237fb"
+   "commit": "0715e5a3ac659df32a0f0fabfbbeef0228fbd9a9",
+   "sha256": "0q4swp25bp0q2aqr8d8wszhcwy738m1brbv52r6hj787pg4wjhvl"
   },
   "stable": {
    "version": [
@@ -84249,14 +84462,14 @@
   "repo": "tarsius/outline-minor-faces",
   "unstable": {
    "version": [
-    20220613,
-    1341
+    20220720,
+    1144
    ],
    "deps": [
     "compat"
    ],
-   "commit": "f83db95e07c55b9a7e69df23a6291171d4697e15",
-   "sha256": "09ji0z1mmn2ihf759i2h21bqr52bfy4axhi6zgkj4dkhjpzrdwi8"
+   "commit": "9cc3fed195e0a1f960a971880287856c148b4861",
+   "sha256": "1k3nislsc47k7sf24vyv4krj2nldcibxwq0j33bzq5sxg8q2rz8i"
   },
   "stable": {
    "version": [
@@ -86490,19 +86703,19 @@
   "repo": "joostkremers/parsebib",
   "unstable": {
    "version": [
-    20220620,
-    2207
+    20220730,
+    2341
    ],
-   "commit": "1ec276bb26371b686d6c57ffd38ca222cf42e8db",
-   "sha256": "0vb1lqi3m3c4p8lw4lznr4cllkd46bq09lyky2ib37wbb7qddnn7"
+   "commit": "175a1bdac1eabc7415116c8722795a1155e2d2c9",
+   "sha256": "1di24gklkg4ri1glyimwnc8i06aj7y38mjia9iifm19qn7gqv9dl"
   },
   "stable": {
    "version": [
     4,
-    1
+    2
    ],
-   "commit": "185239020f878cfbe1036270e6c3d1026ba8f255",
-   "sha256": "1bsxhizwhri8ayryfq59ghkybrql611q2bnjd45hpj7armwq3s8m"
+   "commit": "ca7f5fcbbdfb38e84fd1740e14dad32a7081c69e",
+   "sha256": "0da4b6d65bq9xhyhq7h9g315zg6g5q9435vz870la966rgav5szd"
   }
  },
  {
@@ -87024,11 +87237,11 @@
   "repo": "sigma/pcache",
   "unstable": {
    "version": [
-    20201226,
-    634
+    20220724,
+    1841
    ],
-   "commit": "893d2a637423bae2cc5e72c559e3a9d1518797c9",
-   "sha256": "1xxbi4lp4ygvciqmy8lp6zn47k954ziz5d95qz1l7a2jix3rxf1p"
+   "commit": "507230d094cc4a5025fe09b62569ad60c71c4226",
+   "sha256": "1fjdn4g9ww70f3x6vbzi3gqs9dsmqg16isajlqlflzw2716zf2nh"
   },
   "stable": {
    "version": [
@@ -87222,8 +87435,8 @@
     20200419,
     1237
    ],
-   "commit": "2f4099aa1330f87df4e9cd526de057ee9b71de6c",
-   "sha256": "0fdzhsz3784lf50mdabz9h2b6992cab2nnn4xv7rx2a8hsyyq1mq"
+   "commit": "31602ccab53aa7dcf26a1af222c7da2bcc1390ed",
+   "sha256": "0x2pg03csf25vj8y2zb5sv493dk3n0s4xbkihii2mzhkx82vgpxg"
   }
  },
  {
@@ -87249,16 +87462,16 @@
   "repo": "vedang/pdf-tools",
   "unstable": {
    "version": [
-    20220714,
-    2356
+    20220723,
+    2329
    ],
    "deps": [
     "let-alist",
     "nadvice",
     "tablist"
    ],
-   "commit": "386dca5b2d078ba691eefe230478a440ee1f7b16",
-   "sha256": "0gav9fg6x7gbbvpnjs5l5hdmvb7ynhdr4jkdhxr4s4mz1ba6mp2w"
+   "commit": "bb0b71f5bafd81d0b5647c4ec48fafa0bb6f6c21",
+   "sha256": "1j6aj6sxw82n8pvwylwcnrgi95d6n5fpa0g75lphfgkaqk9nbgmw"
   },
   "stable": {
    "version": [
@@ -88306,14 +88519,14 @@
   "repo": "emacs-php/phpstan.el",
   "unstable": {
    "version": [
-    20220710,
-    942
+    20220723,
+    1451
    ],
    "deps": [
     "php-mode"
    ],
-   "commit": "4f990bf51cc65b3bdc63f4991e007d03b76932a2",
-   "sha256": "07iqv6jd7a49vmfp4fz9dwvxhhl50wkpyisazr2rxwfs9i72n00m"
+   "commit": "e229e990e36a2bfb88503bfe2bb6f2836eaa2874",
+   "sha256": "1235m8q85rijgx9a5jn3p812hdffjlnalh7nvdl3qgxjsf2c4bd0"
   },
   "stable": {
    "version": [
@@ -88724,11 +88937,11 @@
   "url": "https://git.zamazal.org/pdm/pip-frame",
   "unstable": {
    "version": [
-    20220706,
-    810
+    20220802,
+    1914
    ],
-   "commit": "7a75e73f884f294c979d19a520268f2a4371861b",
-   "sha256": "0wssm2rrm53hg2gvg7y926zgca2r8hvjib0dbgg6lz6bflshv8bp"
+   "commit": "8c396a11f532a1beb594b65e99e594f1e9f1c2c8",
+   "sha256": "0qx7529i6hscy230rpx6gxk03gapa017pm65cjxvm2cj2lg0f68v"
   }
  },
  {
@@ -88781,6 +88994,21 @@
   }
  },
  {
+  "ename": "pipewire",
+  "commit": "9e5fc9c71e12ed4b1f4e0b1d2e021bd894b2d5a8",
+  "sha256": "17wj4vjgn6fan48kqgsghba2ip13j3fyp587ijwy97l7m18nwhad",
+  "fetcher": "git",
+  "url": "https://git.zamazal.org/pdm/pipewire-0",
+  "unstable": {
+   "version": [
+    20220725,
+    1858
+   ],
+   "commit": "ae7a95230f102e7430a80acb02850bc24430c3b2",
+   "sha256": "1f4hbjh5jb1skk104s52brq9mgsl275g1l631x07yffdps310axr"
+  }
+ },
+ {
   "ename": "pippel",
   "commit": "45459106a88b5bb8ce5afdef9a7cb95a0fb447bf",
   "sha256": "1gn944k09r78lfn1nqg69fnwx91y9lvw1k2i9czk7yhx4zmyinpl",
@@ -88894,11 +89122,11 @@
   "repo": "juergenhoetzel/pkgbuild-mode",
   "unstable": {
    "version": [
-    20220428,
-    556
+    20220802,
+    1951
    ],
-   "commit": "8faee70e4640bd6ec1857651ec64e139e4dc2833",
-   "sha256": "1a18kc2rjkgdm8s816pf3nrdjxkwi9yrvkvwwqbxg915rzyv9858"
+   "commit": "9525be8ecbd3a0d0bc7cc27e6d0f403e111aa067",
+   "sha256": "03rhhmwwigvych4qfn0hly0z2hihs57yjapvfinbkrmw8ajgnl01"
   },
   "stable": {
    "version": [
@@ -90635,11 +90863,11 @@
   "repo": "jschaf/powershell.el",
   "unstable": {
    "version": [
-    20220402,
-    643
+    20220805,
+    1712
    ],
-   "commit": "77b27faf8a292f1dc9f54c872241dc53b6791bf1",
-   "sha256": "0i66gq5pzgnh4x2y05vsd54cnb8v3adp7gxljwzzljm2jpwmb8hn"
+   "commit": "f2da15857e430206e215a3c65289b4058ae3c976",
+   "sha256": "00q0qdrdj1rsi6lc1mdmn0nnxklpp2wjp73q12dwav37ymv9cj4w"
   }
  },
  {
@@ -91478,11 +91706,11 @@
   "repo": "fritzgrabo/project-mode-line-tag",
   "unstable": {
    "version": [
-    20211013,
-    1954
+    20220720,
+    2110
    ],
-   "commit": "69d44e5495185587ee8577f8b9d616063d6bd7f8",
-   "sha256": "1rv5zgbg003zhhjvikyv92pwjgl191ja14sba7hncs0pk580v075"
+   "commit": "509ac9a01cd344ee9bfa1bfebed6565dd4cfedd7",
+   "sha256": "0a256hcjyl7qlx08bfqcsacl3kpwgzdf458p4r1sxrwd0b1lz1g9"
   }
  },
  {
@@ -91580,11 +91808,11 @@
   "repo": "fritzgrabo/project-tab-groups",
   "unstable": {
    "version": [
-    20220331,
-    918
+    20220720,
+    2109
    ],
-   "commit": "837267a23fa57199599b96af94c2db2e80a859d3",
-   "sha256": "1yrypgykgvvfq0qpkv4arc766r5kq1cidpmkk6ymlj376rviivvf"
+   "commit": "2d348279876f3073176048d903f9672f3c933ca5",
+   "sha256": "05in97rym6nc91nyshbdk4i1g013gsgzgs5r5nhsshpa9glwpv55"
   }
  },
  {
@@ -91595,11 +91823,11 @@
   "repo": "bbatsov/projectile",
   "unstable": {
    "version": [
-    20220710,
-    959
+    20220804,
+    1530
    ],
-   "commit": "00fce5a62cab56873c37629bef653bb2a1e4a4c1",
-   "sha256": "1qa5xir20x6qrs3cj79pykp5cpb74y4s23n8664p6kjyhmg7l5cs"
+   "commit": "94273611c95b6718c41018be2657f6982a325f60",
+   "sha256": "17819s97qrmq96rvnnwa29hblrnbajqyd8q16dvj28m7366gq90q"
   },
   "stable": {
    "version": [
@@ -92001,11 +92229,11 @@
   "repo": "ProofGeneral/PG",
   "unstable": {
    "version": [
-    20220714,
-    1137
+    20220803,
+    1702
    ],
-   "commit": "e06a7704a53ee43c4695681c0e40edfdf9b1124d",
-   "sha256": "1yyprdnfhp5rpax8qsag3szmkgn5f0m4g83pbbp2f33dxxvvx767"
+   "commit": "c304d73e09daec54dd8f8cef90df10c0b3d2c2ef",
+   "sha256": "1vik42pn9gd1kvz2mvnslsg3xy0zsgy8cck1m412ffl8f6rlsgqx"
   },
   "stable": {
    "version": [
@@ -92108,16 +92336,16 @@
     20220303,
     1716
    ],
-   "commit": "eb6cc788493dd22582df752641307348ae40d173",
-   "sha256": "1gx99pyvf2248kz07sx4kx0pzinj65bbxkn2679wjqbvg19lcd9w"
+   "commit": "e83492d94a8ce8ef529b829da0df4e458ee05908",
+   "sha256": "1b42aaj76vdhangx9awwi8lv1vr5kh4m956mzzcbn0ydgml7zxp5"
   },
   "stable": {
    "version": [
     21,
-    2
+    5
    ],
-   "commit": "839b18b1ba42639fedecfd751102afcc5736b5d4",
-   "sha256": "0arri4vlj6qrkxr251kz9iil6grv8clxi0746pimwrd2jppg8jqd"
+   "commit": "ab840345966d0fa8e7100d771c92a73bfbadd25c",
+   "sha256": "0q4xcpnixbalyry444b9ykzq477hmfhpy2rgcyyaix1rm42zcr3d"
   }
  },
  {
@@ -92516,11 +92744,11 @@
   "repo": "AmaiKinono/puni",
   "unstable": {
    "version": [
-    20220702,
-    1336
+    20220730,
+    1556
    ],
-   "commit": "e1c4cac260ac0aae5328e9378bec70baa5102e4c",
-   "sha256": "06b66xz0yfx0jp50i94hand8rhzizbg4h9af7vc3644g0sjvwsl8"
+   "commit": "28836e98d5566172b1a94d7b38290d07b49201b2",
+   "sha256": "1z35nzsqcp8q9nnka0d5gpiidl07qfqmd2giwnd3b3v7h3v1kwpz"
   }
  },
  {
@@ -92700,11 +92928,11 @@
   "url": "https://codeberg.org/ideasman42/emacs-py-autopep8.git",
   "unstable": {
    "version": [
-    20220522,
-    1152
+    20220802,
+    1154
    ],
-   "commit": "cf2daa75aee75d4dec772103c577c614c85409ad",
-   "sha256": "1sr64n1cg1pdxfa3n8ckq3hy92asnwi2b5nl88qy3jy1mybah4d2"
+   "commit": "4e5a8d5ddd77b45841f0e55d7c5326854f565830",
+   "sha256": "1k1yvf5n5ygzf170bfb6wjhw3jrk3wsycb9bf39k53p8gzanh435"
   },
   "stable": {
    "version": [
@@ -92927,26 +93155,6 @@
   }
  },
  {
-  "ename": "pyenv-mode-auto",
-  "commit": "f3fcb707356bd16fd0b573c176023534cd69d0d7",
-  "sha256": "1l7h4fas1vshkh4skxzpw7v2a11s1hwnb20n6a81yh701pbikqnd",
-  "fetcher": "github",
-  "repo": "ssbb/pyenv-mode-auto",
-  "unstable": {
-   "version": [
-    20180620,
-    1252
-   ],
-   "deps": [
-    "f",
-    "pyenv-mode",
-    "s"
-   ],
-   "commit": "347b94cd5ad22e33cc41be661c102d4548767858",
-   "sha256": "1gz7145jnjcky1751pqrlhh3pq02ybsmz49ngx4ip2589nry7iyv"
-  }
- },
- {
   "ename": "pygen",
   "commit": "e761724e52de6fa4d92950751953645dd439d340",
   "sha256": "1ivg7a1ghg0bvz3idz7dzy5yb0ln3b2j7dfizg2g0fi4iwvc4czz",
@@ -93010,15 +93218,15 @@
   "repo": "tumashu/pyim",
   "unstable": {
    "version": [
-    20220709,
-    519
+    20220724,
+    1211
    ],
    "deps": [
     "async",
     "xr"
    ],
-   "commit": "3d9d16b578a1136ef344b61db5f0d55cefcf4164",
-   "sha256": "032an8d6mr67q4xip9x6imw7ljslnck8s1mx44gxdrz94zi2rk4h"
+   "commit": "4d6323389665c0c30e737143832d17feb71e9199",
+   "sha256": "0krsa8ch14f84i4ckizrg3q3i2lciq05l1fxjk4y7jfdmdys5svg"
   },
   "stable": {
    "version": [
@@ -93178,11 +93386,11 @@
   "repo": "it-is-wednesday/pyinspect.el",
   "unstable": {
    "version": [
-    20211102,
-    1415
+    20220805,
+    918
    ],
-   "commit": "36cf624236c8b4cce852dd52b64d058d4d4a32fd",
-   "sha256": "0g2k9fgjvcq2jc3j2k2x2v1vghaf0hyarzvdby5vzycsp7jlzcjm"
+   "commit": "df5959e699157d757c16ce11efdf3045a5b58d23",
+   "sha256": "15xbs4g5agp700ajqrfcz6fgmridj55v8hhg1jmhqn1aacvh6zas"
   }
  },
  {
@@ -93196,17 +93404,17 @@
     20210411,
     1931
    ],
-   "commit": "40c9e66e4756e76318469f1484602ca92d505d3f",
-   "sha256": "1pg5xr14kskkfl9qmvzdwgd4lr2njzv9ai9f22faw4xs2kkqfr7l"
+   "commit": "50f369047078810311f11c7d8cc2ad98fad7ea67",
+   "sha256": "1mpdn680jrg783857xdrcrvjc6hcw502b92jqf8hfywa12qcylm8"
   },
   "stable": {
    "version": [
     2,
     14,
-    4
+    5
    ],
-   "commit": "bf29a5520e8d0e432ca715e0614a62052b3809e2",
-   "sha256": "05vfjxb5gbc1wwarqmbm55kbqp5623xwk47ny5xh5ng8qchw9drn"
+   "commit": "566ffca72a1a08c9e7ec14383c4710d64165c592",
+   "sha256": "0ljfvyzr2i07pi7m19kbshlc3cfnwr53mjhcpydaa0w8bak4cc95"
   }
  },
  {
@@ -93496,8 +93704,8 @@
    "deps": [
     "reformatter"
    ],
-   "commit": "339814df22b87eebca02137e581f65d6283fce97",
-   "sha256": "094nqaf60cw3kch2hka5jbbrc5b6v3z6np98w3y6690yxwx7wmz4"
+   "commit": "8b4948b7fcad90fc9b72f69f4653260bd21f62c3",
+   "sha256": "1s9f1yvgnls3pscq9yzjzq7awx4cia7d200280cznq57bfrx2zdf"
   },
   "stable": {
    "version": [
@@ -93544,11 +93752,11 @@
   "repo": "python-mode-devs/python-mode",
   "unstable": {
    "version": [
-    20220709,
-    1619
+    20220726,
+    1741
    ],
-   "commit": "cf4c7be22343032e00c7bcf24071aba63ad14f01",
-   "sha256": "0w33wl6chl02kgr427c8rxcgdyfa6agm7fh8926grc29hzcjjhzd"
+   "commit": "23f8f55d3e5ce34b19f74c78928a43914df38696",
+   "sha256": "1ar1x8k3pl05zffbz6aj239j22523vgxiiikdxj5515w0rddk06k"
   },
   "stable": {
    "version": [
@@ -93568,8 +93776,8 @@
   "repo": "wbolster/emacs-python-pytest",
   "unstable": {
    "version": [
-    20220714,
-    1951
+    20220720,
+    1918
    ],
    "deps": [
     "dash",
@@ -93577,8 +93785,8 @@
     "s",
     "transient"
    ],
-   "commit": "d031fa91e21bb2112635ef048955ef44e23695a8",
-   "sha256": "1i08xfbwfig3lshkww6k7c5vf2qcapipcmpb2x66jkwdq0n97g0n"
+   "commit": "9bf8db38bf18feb0484931877210cecfaa96bfc6",
+   "sha256": "09mk486fp5brw67aa4w9jyrq6g6i7ssd3y2mprhy5953q3w5s8fk"
   },
   "stable": {
    "version": [
@@ -93666,15 +93874,15 @@
   "repo": "pythonic-emacs/pythonic",
   "unstable": {
    "version": [
-    20210122,
-    1247
+    20220723,
+    1741
    ],
    "deps": [
     "f",
     "s"
    ],
-   "commit": "fe75bc17baae314bf8f5e0b12aad3fccfc6c5397",
-   "sha256": "1g5mfn37d01259s2xii2d41027xpif4czxipq4sa7d6sfyq50h7h"
+   "commit": "c18a5bd8cb2ba59014b6b29b5bf1903bd2476a07",
+   "sha256": "11fps8ah3xmacfd9bglq8yaafzh37i1qpiyhfdphhsy0jqy990wz"
   },
   "stable": {
    "version": [
@@ -93854,8 +94062,8 @@
   "repo": "quarto-dev/quarto-emacs",
   "unstable": {
    "version": [
-    20220602,
-    1714
+    20220802,
+    2041
    ],
    "deps": [
     "markdown-mode",
@@ -93863,8 +94071,8 @@
     "polymode",
     "request"
    ],
-   "commit": "3cf4546a01766775d56b92e1c974c850ec35d5a9",
-   "sha256": "0r2f4m5vqxhb6jpkciywj86mxvw9zw5wxpmh56d1znids4jyypxz"
+   "commit": "769a4ec178f8ad3e0c87b1ee23e64616ee161b02",
+   "sha256": "1xi47d32mlpi80ylg9wj50amxiysbmigzpvf4xwivl181yn7cikl"
   }
  },
  {
@@ -93898,11 +94106,11 @@
   "repo": "quelpa/quelpa",
   "unstable": {
    "version": [
-    20211228,
-    248
+    20220730,
+    230
    ],
-   "commit": "54fc5b951f103fadba25dde38274964737815883",
-   "sha256": "0ckbl69d4xk64gzvy2mmgqa9v3z76nm673k3an937gnnh0l4xssx"
+   "commit": "59bd9bf760f2fdf70c81c220f2875dbee0c29d5c",
+   "sha256": "1lv8q6rs61qijrfj40fwy89gyhf9dgbp44z3p6clbhlq9kqf55jw"
   },
   "stable": {
    "version": [
@@ -94226,11 +94434,11 @@
   "repo": "greghendershott/racket-mode",
   "unstable": {
    "version": [
-    20220705,
-    1452
+    20220809,
+    1724
    ],
-   "commit": "9dae07533f0fde32c12af5260055a2c3cc199312",
-   "sha256": "1wbrxfmagp1v7wyhhwiv6yplw8bnpyjzs4bd7nqgsvvjgf3lk2h4"
+   "commit": "194fe14888fb653219ed6e605377884673fb6308",
+   "sha256": "1simri1lrg32qpxhzpxgj7g6zms6j5l442pdk9yf95x6fxxwc24i"
   }
  },
  {
@@ -94914,6 +95122,21 @@
   }
  },
  {
+  "ename": "readable-numbers",
+  "commit": "2e26cb5c394b0114985fb2ae5cc807733428b894",
+  "sha256": "1hhqly2f5jr4xk1x6pd26w9m2qznwklkjygval5kdrjwbhbx2ylp",
+  "fetcher": "github",
+  "repo": "Titan-C/cardano.el",
+  "unstable": {
+   "version": [
+    20220711,
+    911
+   ],
+   "commit": "40d04a0baf5c3d1087b18cc03595c573a1b5891d",
+   "sha256": "1z2kvv5im24h7hqmz2yhpar6d6cp4hzhzk6kxgrdrwgywpaf0bdx"
+  }
+ },
+ {
   "ename": "readline-complete",
   "commit": "0cf3b56dae7669b34df9d2abe2d78164cbf064c9",
   "sha256": "1qymk5ypv6ljk8x49z4jcifz7c2dqcg5181f4hqh67g1byvj2277",
@@ -95420,11 +95643,11 @@
   "url": "https://codeberg.org/ideasman42/emacs-recomplete.git",
   "unstable": {
    "version": [
-    20220708,
-    211
+    20220731,
+    2328
    ],
-   "commit": "541e98dad23c019b62af37cf4971ed17226c8713",
-   "sha256": "02mc088551sj5iyd41ra3vfp6a5m9j22yg44w5axa9539klv0i98"
+   "commit": "3ed522a234bced2d2ba1d069fd00e715359ac29a",
+   "sha256": "18195hq4m5mk95k72q6m4hrircvh29v47w2qv47pw0gplpx0fa47"
   }
  },
  {
@@ -96038,11 +96261,11 @@
   "repo": "karthink/repeat-help",
   "unstable": {
    "version": [
-    20220706,
-    1225
+    20220718,
+    1742
    ],
-   "commit": "47fd9041bfb33af6a24a49db37e174c96b7f8fe4",
-   "sha256": "168g6av6llbyns2x4i8djv8x4h6k0391l8cmnxm4b4c2mw53qfn5"
+   "commit": "bdc21d9a8846b4adf63dd9317860666da5ade478",
+   "sha256": "1bvgq9amnawyv3k1vbalvlfw2r2z1yqilwllcsanlrdcz95awcv2"
   }
  },
  {
@@ -96624,17 +96847,20 @@
    "deps": [
     "seq"
    ],
-   "commit": "50b8376f152916bc200635a112db9439bc3cc9b5",
-   "sha256": "12lk6k0jwz3y9bjyxyl14g8qys4zcacb80mkc0hgz0bb7797hp3z"
+   "commit": "41f47d5ccab77d42cc2e1a89a09d0dc2410e9eb4",
+   "sha256": "1h4gpyqir0kqf6a7ni8dbqwd4mr33imay0fmprrpfpfqxj0lj7c1"
   },
   "stable": {
    "version": [
     0,
     0,
-    7
+    8
    ],
-   "commit": "90add9a1f8c4a3c78029d38087ff4d22fe5372d3",
-   "sha256": "05k2zp2hldzq5h6nl8gx79dd8lvfn507ad4x3naichdqgn2013nn"
+   "deps": [
+    "seq"
+   ],
+   "commit": "41f47d5ccab77d42cc2e1a89a09d0dc2410e9eb4",
+   "sha256": "1h4gpyqir0kqf6a7ni8dbqwd4mr33imay0fmprrpfpfqxj0lj7c1"
   }
  },
  {
@@ -96668,11 +96894,11 @@
   "url": "https://codeberg.org/ideasman42/emacs-revert-buffer-all.git",
   "unstable": {
    "version": [
-    20220710,
-    706
+    20220731,
+    2351
    ],
-   "commit": "7fe7fd335542e76c5099e51b17ea29614482faa1",
-   "sha256": "1a0xvk3cwfy0j09nbrhmpijjnpimaz1dpld9ny7ldypy6hlwjlhy"
+   "commit": "c07996fcf3e8f7ee156055327522586f32582ce1",
+   "sha256": "16288519g1q07rkg8j3kmxv6lssjl04kw7ni4mj44jfgzimm6vn6"
   }
  },
  {
@@ -96683,11 +96909,11 @@
   "repo": "kmuto/review-el",
   "unstable": {
    "version": [
-    20220215,
-    842
+    20220809,
+    1250
    ],
-   "commit": "f08ef20d9ff4f03a00a8c24dae9ce416da0d9d1c",
-   "sha256": "0wyjh9ymj62rlvvhahcqy48xjw768x6pkvhrwp8sp8pyb64ghkj3"
+   "commit": "d0ec3357ae80e745e3a2b00012dd577e276b88d0",
+   "sha256": "13lcwhy47p4d6fk6x0xh726q8ka5l41hzqri00rbdafz0dzflbj4"
   }
  },
  {
@@ -96765,6 +96991,30 @@
   }
  },
  {
+  "ename": "rgb",
+  "commit": "a6207f5129ffd2bedbc83aa8a41d83fe4f6e41be",
+  "sha256": "0ff7wmcmcqbr7n7z5xm15a1x67c6ifacx8fcbhx97hvlgsxgi9qx",
+  "fetcher": "gitlab",
+  "repo": "cwpitts/rgb.el",
+  "unstable": {
+   "version": [
+    20220717,
+    1940
+   ],
+   "commit": "c83388c134e5ed207170b97cf55eb69cec1d2857",
+   "sha256": "1zq4nnp3yqv46129kazm76bvdqvjjhlrfg95bkdxvkd7qrdjc9a3"
+  },
+  "stable": {
+   "version": [
+    2,
+    0,
+    0
+   ],
+   "commit": "4aab5a5be16b69b47ef5e67d02782df5e41dbd7b",
+   "sha256": "1zq4nnp3yqv46129kazm76bvdqvjjhlrfg95bkdxvkd7qrdjc9a3"
+  }
+ },
+ {
   "ename": "rhq",
   "commit": "7538e3b243c20552f73d9a3c7524f0a106a62cb7",
   "sha256": "1nv7hxw2yc8p5s95mf2lw50z69wpkcw63rq2k8x38r87bxfrifnh",
@@ -97144,11 +97394,11 @@
   "repo": "jgkamat/rmsbolt",
   "unstable": {
    "version": [
-    20220526,
-    1719
+    20220729,
+    1809
    ],
-   "commit": "9c56c62993b9644a3c8bf6fc0a3a6599c0956707",
-   "sha256": "035cbj2ppxrjx8fdyjq3w7zjznzljxkcnr5pg61xw2vigd9mcjva"
+   "commit": "f3c56ba6949934758e79a371eb5a29d8e832a828",
+   "sha256": "0xv7f0hsnjm3zcqqsvmrihh5ik59n16pjd0a1vcbabamcd59yq37"
   }
  },
  {
@@ -97159,14 +97409,14 @@
   "repo": "dgutov/robe",
   "unstable": {
    "version": [
-    20211208,
-    205
+    20220731,
+    2016
    ],
    "deps": [
     "inf-ruby"
    ],
-   "commit": "11207bd549a5a78e3a4d70265c3715990dcdab71",
-   "sha256": "0hcyvvv4y78fmwprlxgmpzb81lzip9y1hjskmv8x7l0q1a6a3dsz"
+   "commit": "993ae13791ba882076b644b0c8054b6e89e22dad",
+   "sha256": "1a4sdhrmaswi5h5wwqabiyqfz6lfgn0iq68j6qrbn1lwdmcf71d2"
   },
   "stable": {
    "version": [
@@ -97182,6 +97432,30 @@
   }
  },
  {
+  "ename": "robot-log",
+  "commit": "8d2581ed84fec78ad68cfaa91f34f7a56427e9e7",
+  "sha256": "0v01fxhkmwxr4j6q6qd15acfzdhpb4c0x49s7dbcqiy2xc9nawin",
+  "fetcher": "git",
+  "url": "https://git.sr.ht/~apteryx/emacs-robot-log",
+  "unstable": {
+   "version": [
+    20220719,
+    1301
+   ],
+   "commit": "26da47597aa97be9649cb60f4da6d94d47d0c0ac",
+   "sha256": "1l9yxryrhvylh2x17cczd8v8978w1nv8173d4l9hv0cr26kp5b68"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    4
+   ],
+   "commit": "26da47597aa97be9649cb60f4da6d94d47d0c0ac",
+   "sha256": "1l9yxryrhvylh2x17cczd8v8978w1nv8173d4l9hv0cr26kp5b68"
+  }
+ },
+ {
   "ename": "robot-mode",
   "commit": "51cc7ea77a8f782ff5f1fb2415c337abb805e410",
   "sha256": "1whsj9pjg1ybhfinrc9hvy4cmccc6932q3gy96ky6af8vr1zwcfg",
@@ -97384,15 +97658,15 @@
   "repo": "pezra/rspec-mode",
   "unstable": {
    "version": [
-    20220622,
-    909
+    20220809,
+    150
    ],
    "deps": [
     "cl-lib",
     "ruby-mode"
    ],
-   "commit": "778c76a6a4bd93faf137d5ca47e7823e1665051c",
-   "sha256": "0gpw0yf1rc65qv2n51fwjms0ihbhsbdy5akwh69hcq7wmrlr75fj"
+   "commit": "484f0bab468674852aaf3e0ad0c3b3d4335d4316",
+   "sha256": "15skhq2skmwmp0z7zq1z2lb0s67bgxaigf068c7s6giz4k4zgxal"
   },
   "stable": {
    "version": [
@@ -97890,8 +98164,8 @@
   "repo": "semenInRussia/emacs-run-command-recipes",
   "unstable": {
    "version": [
-    20220604,
-    1330
+    20220801,
+    1851
    ],
    "deps": [
     "dash",
@@ -97900,8 +98174,8 @@
     "run-command",
     "s"
    ],
-   "commit": "6cff6fff2c3ac23384d044a9c64d0e4b80721d4c",
-   "sha256": "1bg1ha4mlbxr13w3v7xkbdi9mqp3amljikbnkfcc5wijx572c396"
+   "commit": "4e7846ea4174fa6f56f5c1173e72fc9743812245",
+   "sha256": "11pq39zmr1ihwg5rkdkgvb2j304fsi1md450s4dirhzjqd4lbn1b"
   }
  },
  {
@@ -98644,16 +98918,16 @@
   "repo": "teeann/scholar-import",
   "unstable": {
    "version": [
-    20220504,
-    1101
+    20220730,
+    431
    ],
    "deps": [
     "org",
     "request",
     "s"
    ],
-   "commit": "cd0b42e5026426af2bfad57b692760bcb5d05dbb",
-   "sha256": "1kda2yrpm2c8c8p9lg183hf8limc4b2ay5gdssfhc7r29nvvagpv"
+   "commit": "7cb04af45f1ed1db30d6e7788803e578c641b3b6",
+   "sha256": "00v9zl25vs71qsjxq54rcyj10b6m8nxvzfy8x6anxmis0r5g4f8k"
   }
  },
  {
@@ -98768,10 +99042,10 @@
  },
  {
   "ename": "scratch",
-  "commit": "b46813f928eadfa08a1d4bf94ceeb96dbc2a7c72",
-  "sha256": "1an30pr64fz13s6lghlcb36b7hn3961vv0yipfp9s140ccygdvh7",
-  "fetcher": "github",
-  "repo": "ieure/scratch-el",
+  "commit": "5948edd0bbc5635dfa309dee6585142ebea4b191",
+  "sha256": "0hlsbm0xn1dr9hs7dcq0ingx66crx5blyz0cfx8hwwhp42aqwbnv",
+  "fetcher": "git",
+  "url": "https://codeberg.org/emacs-weirdware/scratch",
   "unstable": {
    "version": [
     20220319,
@@ -99466,15 +99740,15 @@
   "repo": "wanderlust/semi",
   "unstable": {
    "version": [
-    20220503,
-    1449
+    20220720,
+    1346
    ],
    "deps": [
     "apel",
     "flim"
    ],
-   "commit": "b1c245b81715b0430f7593cee2339e6264104f3d",
-   "sha256": "1s1qvhxklzhmq9h62cn95iaxacvmp7c2hn6jh9bhymx4x9afqagh"
+   "commit": "ac3e726ca94ed245c25881ec8d7177d0d834ea6a",
+   "sha256": "1bg07y6svvg1mmlr455x3j1anjp3wbv27s6b2inp294rbwprm41n"
   }
  },
  {
@@ -99618,15 +99892,15 @@
   "repo": "twlz0ne/separedit.el",
   "unstable": {
    "version": [
-    20220501,
-    1539
+    20220715,
+    2343
    ],
    "deps": [
     "dash",
     "edit-indirect"
    ],
-   "commit": "454c9a3561acca3d57cce6ddb356f686b3d8cbee",
-   "sha256": "0i7d4cig64lz27vq8rf6kqnpm5k7shzj34d6pg56pphf0xs26zyk"
+   "commit": "9af0c1f417c460352f77de88b5b4432d6b955858",
+   "sha256": "1hy5z965hs06pbwsg9blvrqmkdcp4iv1y9l9zy5wxd9ii65cfr8w"
   },
   "stable": {
    "version": [
@@ -99695,15 +99969,15 @@
   "repo": "MaximeWack/seriestracker",
   "unstable": {
    "version": [
-    20220704,
-    1713
+    20220731,
+    2330
    ],
    "deps": [
     "dash",
     "transient"
    ],
-   "commit": "ce8b86a9eee175de513d00ce3e1aa754adbf5c8a",
-   "sha256": "1324lz9xibxfiridfkkfdb01dp51sm3rva5hq63wd72z0ai51ilr"
+   "commit": "1b4fe12d2fff15e3646a2d7cbe528ad1f95c4f19",
+   "sha256": "1ib5vxsm292b0ivp3bwm638qshcf6gr8gs24pywm7mimy8y1nplc"
   }
  },
  {
@@ -100059,8 +100333,8 @@
     20210512,
     1625
    ],
-   "commit": "dbcef650b906fec62608d5e4e3075bf251e675e1",
-   "sha256": "0qnqp06vb2ikkwy0p10x3s7mil6c948w42mx4c72cdz36m116zc0"
+   "commit": "bcdce40b906c848727dbb55176262a9f03f8abb4",
+   "sha256": "1v9gvl2d5sy7crhmpryrpb8zyf4ib7386rf60b1n8lbvvrbna4v0"
   }
  },
  {
@@ -100176,10 +100450,10 @@
  },
  {
   "ename": "shell-here",
-  "commit": "88df6e04614547a59aefbeae88c301f3b8394039",
-  "sha256": "0csi70v89bqdpbsizji6c5z0jmkx4x4vk1zfclkpap4dalmxxcsh",
-  "fetcher": "github",
-  "repo": "ieure/shell-here",
+  "commit": "13942be7200938f70a38044da64dfd78499de27f",
+  "sha256": "0dymv34gqlnamxpq9y8mhszqkbh3rq2x9wrhbslkx7828lawsnmh",
+  "fetcher": "git",
+  "url": "https://codeberg.org/emacs-weirdware/shell-here",
   "unstable": {
    "version": [
     20220102,
@@ -100315,8 +100589,8 @@
     20220629,
     817
    ],
-   "commit": "3f051e42288ddfe4cd7cd0ee62efad90227de24b",
-   "sha256": "1v0p8f5m1i3sm15q4mi687wk9gx5bv8yx38n15ap36vwkrybxzad"
+   "commit": "173e4d632c94af6670869729c09bfb8ba484d257",
+   "sha256": "1934mh3kngpnxg12akpr10fb9x7j27f7v5jlxifa2w3iyxqckry6"
   },
   "stable": {
    "version": [
@@ -100429,20 +100703,20 @@
   "repo": "redguardtoo/shenshou",
   "unstable": {
    "version": [
-    20220709,
-    654
+    20220808,
+    604
    ],
-   "commit": "f3f991f9773283f3834e8518eb6910aa29e88f9e",
-   "sha256": "0gmih585vb1qlcz152gkx8q9xdfjg456w43d4bd0q363ysqjfd70"
+   "commit": "25903d642e81f33abea84573979af2a373f5b5b0",
+   "sha256": "197gs31nb8aa47q1jv6zfrrbbi09n4kbjsdlvi7zviy6xi2723c7"
   },
   "stable": {
    "version": [
     0,
     0,
-    5
+    9
    ],
-   "commit": "f3f991f9773283f3834e8518eb6910aa29e88f9e",
-   "sha256": "0gmih585vb1qlcz152gkx8q9xdfjg456w43d4bd0q363ysqjfd70"
+   "commit": "25903d642e81f33abea84573979af2a373f5b5b0",
+   "sha256": "197gs31nb8aa47q1jv6zfrrbbi09n4kbjsdlvi7zviy6xi2723c7"
   }
  },
  {
@@ -100524,11 +100798,11 @@
   "repo": "emacs-w3m/emacs-w3m",
   "unstable": {
    "version": [
-    20220707,
-    40
+    20220809,
+    115
    ],
-   "commit": "e3ca74f62602e69af5ff3271bd98977bd490e9de",
-   "sha256": "0jznj2zh2bb32sy7cgwkb8sy4x9w63y8f929nq6271s6ljg8akc2"
+   "commit": "a8e2e5c7b7576afd7b097b40c6ca39e5717f97a5",
+   "sha256": "0vqq69jkx11d8m9g9v2m4zvpq3khkdhvgzvpcszvic4fvaa65jpc"
   }
  },
  {
@@ -100992,11 +101266,11 @@
   "repo": "emacs-sideline/sideline",
   "unstable": {
    "version": [
-    20220706,
-    720
+    20220806,
+    401
    ],
-   "commit": "32c2c9f8d752073c2b637ea8f0b4473804339f64",
-   "sha256": "1n1diyz95d0g1gq0yzf86a94fcgsqvh834ww7pblgq1yk7ld9hzd"
+   "commit": "3e1889daa10ea6950b130e29991296d150fd9679",
+   "sha256": "0579qmb3sspk438v2qrp3gkfn0cwydp3x7s3lvya7lfs4ywmqcpv"
   },
   "stable": {
    "version": [
@@ -101009,6 +101283,38 @@
   }
  },
  {
+  "ename": "sideline-blame",
+  "commit": "d77ea6e08a13021e42ee7013f01dedbb6fa7945d",
+  "sha256": "1kq5x6l2x09hjgk0mgi7zfgqg2gkgcpak37g2j3y9324468ca8a9",
+  "fetcher": "github",
+  "repo": "emacs-sideline/sideline-blame",
+  "unstable": {
+   "version": [
+    20220629,
+    801
+   ],
+   "deps": [
+    "sideline",
+    "vc-msg"
+   ],
+   "commit": "574592a8ecc171112d4ac2575f9cac51ff5eb184",
+   "sha256": "08msa23fgwhfwnyl8dmakv32qa8fkzqfspcgc0bliqrxh6dpcjr5"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    0
+   ],
+   "deps": [
+    "sideline",
+    "vc-msg"
+   ],
+   "commit": "c3721eeb01cea8acc520c60b9c0a802c39114c6e",
+   "sha256": "1rbb7sazdrp3ixvr5plby8i033j34ww52f6igljvzyclpv8w9rqi"
+  }
+ },
+ {
   "ename": "sideline-flycheck",
   "commit": "3aad0e0d246dca4166dd273219f8223153561e9f",
   "sha256": "16mcbbsfz1vinnqwiibdqiw1344302wkgjbf6ah0a3ik0kn7z2r6",
@@ -101042,6 +101348,74 @@
   }
  },
  {
+  "ename": "sideline-flymake",
+  "commit": "929f2a0947487db761cee10f420d23a482bc0cb1",
+  "sha256": "1p1yzxkznrr19hl0bky1l4zx13nvxcrvm4dchrgzc11w19kpimrk",
+  "fetcher": "github",
+  "repo": "emacs-sideline/sideline-flymake",
+  "unstable": {
+   "version": [
+    20220629,
+    802
+   ],
+   "deps": [
+    "sideline"
+   ],
+   "commit": "a6c6e9e4e64a12040adadaf351f3e83a0e2954e6",
+   "sha256": "1gf0jfs4gnvp2n4d1nix84sqr3a8np0hf05f1prhk0z2sr4ils8k"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    0
+   ],
+   "deps": [
+    "sideline"
+   ],
+   "commit": "97d6922b3101eb97fdca4c5516d3dc4c4ccd75a5",
+   "sha256": "11cy2yxdsjxa5np6hh6vk9rc8mfghsly1j7q28l8zz4990w2g27a"
+  }
+ },
+ {
+  "ename": "sideline-lsp",
+  "commit": "944b211053299e32737051e69e9e5685d1648379",
+  "sha256": "0zzwnnm7hhw4rvans71s3bhbyqp21sbmpdf1c42mk2kmvb2ik5z1",
+  "fetcher": "github",
+  "repo": "emacs-sideline/sideline-lsp",
+  "unstable": {
+   "version": [
+    20220629,
+    757
+   ],
+   "deps": [
+    "dash",
+    "ht",
+    "lsp-mode",
+    "s",
+    "sideline"
+   ],
+   "commit": "b340c1e9a6d26ad4b3afe6aa660d62e8cebd66c8",
+   "sha256": "00y2jsvk0a1jjp0jw6r49pqmcbmrgrsrrhjkxvh13765i89x3fck"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    0
+   ],
+   "deps": [
+    "dash",
+    "ht",
+    "lsp-mode",
+    "s",
+    "sideline"
+   ],
+   "commit": "afe8995e27a71b0e7355c40cbd3137ca26939dfc",
+   "sha256": "0623g071fv4zg31g90vrmkmgvz16788qavizgdp8y1wavi0gy8qx"
+  }
+ },
+ {
   "ename": "sift",
   "commit": "855ea20024b606314f8590129259747cac0bcc97",
   "sha256": "1kr5rxza5li3zrkfvs91y7dxmn213z0zf836rkwkmwg2b9rmqxvj",
@@ -101447,14 +101821,14 @@
   "repo": "laishulu/emacs-smart-input-source",
   "unstable": {
    "version": [
-    20220628,
-    1545
+    20220721,
+    1600
    ],
    "deps": [
     "terminal-focus-reporting"
    ],
-   "commit": "be84587cfc443aacfde728f290a2cd6ea690da29",
-   "sha256": "18jwg0amk6lsj7xj7kh173wc2kqqj6ax9xr6rf6iai2z9yyn9im5"
+   "commit": "d7a415b00bb1ddcf940d82afdd01e8b793d5466b",
+   "sha256": "1vj1yr6likmsapr6nrkbr3sf2bk9w16jxa8hra0328b3q8afh21f"
   }
  },
  {
@@ -101942,8 +102316,8 @@
     20180831,
     459
    ],
-   "commit": "b93ad77f9fc1d14e080d7d64864fc9cb222248b6",
-   "sha256": "1s4yk6w9fqf6hmimjcq8r7b54v7f2hz3isihiaidj3sv5zclhflw"
+   "commit": "b89b4fbddb4b6b95fcc7301ec543ea535b2cc4d7",
+   "sha256": "06gr15dlz910azxzlwwbqimy2pvpncw2p3iixm6r4kbb41ycpn87"
   }
  },
  {
@@ -103945,11 +104319,11 @@
   "repo": "condy0919/spdx.el",
   "unstable": {
    "version": [
-    20220715,
-    157
+    20220803,
+    148
    ],
-   "commit": "052b0c908ccb387f50ab8a80befa6a1443ba5b70",
-   "sha256": "0ddxsggg5i4ncr40wxlqlsn1x0390l7lqj61hy55pk64c0pzrz2q"
+   "commit": "cefebe6215b4065827553f2e0cb87c31c5893e5e",
+   "sha256": "060nbh6bq55d1vv0ln67kdp6am7fad6i6zpjvfdf5252gsz63lds"
   }
  },
  {
@@ -103996,20 +104370,17 @@
  },
  {
   "ename": "speed-type",
-  "commit": "d6c33b5bd15875baea0fd2f24ee8ec9414a6f7aa",
-  "sha256": "0lsbi3b6v7fiwpvydgwcqx3y5i7bysfjammly22qpz3kcjmlvi06",
+  "commit": "859938e040ad9ec57aa851e06435fc1a492608f7",
+  "sha256": "0rqq13604v7qxnwwybdfh1jv43biydyabpqsmb5vblb8vlfdrwfd",
   "fetcher": "github",
-  "repo": "parkouss/speed-type",
+  "repo": "dakra/speed-type",
   "unstable": {
    "version": [
-    20191204,
-    1107
-   ],
-   "deps": [
-    "cl-lib"
+    20220809,
+    1119
    ],
-   "commit": "5ef695f7159aa1f20c7c9e55f0c39bcdacce8d21",
-   "sha256": "17xh7f1ps6bfs55a08d0jjma2hs117fv4j90w4xif0n2h49m4pjp"
+   "commit": "e2fda90683945d9fff9f5b48ee080eebe3994fb9",
+   "sha256": "0cngw8v8n7byskiyyjq2lxz95kz34xr5gb5z8m42rwk780mn6hz2"
   },
   "stable": {
    "version": [
@@ -104076,11 +104447,11 @@
   "url": "https://codeberg.org/ideasman42/emacs-spell-fu.git",
   "unstable": {
    "version": [
-    20220710,
-    1038
+    20220802,
+    1151
    ],
-   "commit": "dd35cffc34d2d3714865a5b1194edd242d8d50bf",
-   "sha256": "19j24y5i6xllfbca3z7223xxk9fy9avgfway5wi2x9ncxj1vgjbf"
+   "commit": "bfd017fd1985418a1b101c1e497510ce24bb0348",
+   "sha256": "1gv2596kq06x90cscc5bhwsisrm3pipiwh5gmq11j28dj0mih3pf"
   }
  },
  {
@@ -104401,6 +104772,30 @@
   }
  },
  {
+  "ename": "sq",
+  "commit": "fabbef64cedf120781b7ab4866956512bb439f30",
+  "sha256": "12n4di8rb24h6cks4ncplks8a8xyla2spbwqc75gn3ivvh1kkyx7",
+  "fetcher": "gitlab",
+  "repo": "sequoia-pgp/sqel",
+  "unstable": {
+   "version": [
+    20220717,
+    2039
+   ],
+   "commit": "bb0d1756bb9c62bb999fa21e15949e28650c663e",
+   "sha256": "1ih91f58spn1225x6a8mlpikxqg2ga4xbln6aalrcjk6pk84s69d"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    2
+   ],
+   "commit": "bb0d1756bb9c62bb999fa21e15949e28650c663e",
+   "sha256": "1ih91f58spn1225x6a8mlpikxqg2ga4xbln6aalrcjk6pk84s69d"
+  }
+ },
+ {
   "ename": "sql-clickhouse",
   "commit": "cdd1f8002636bf02c7a3d3d0a075758972eaf228",
   "sha256": "1sxh22dl0px81z85dj9r97nj8pnc6g9ah06q1bgf3bii7yl6qdy8",
@@ -104660,11 +105055,11 @@
   "repo": "srfi-explorations/emacs-srfi",
   "unstable": {
    "version": [
-    20220526,
-    2233
+    20220724,
+    11
    ],
-   "commit": "3e5fbaef46126634c58d0f39be4bc522c05de1f9",
-   "sha256": "1wahhk2fssjasiz691pkh61qd6x8dbabv4vrwzvc32r9vy8xpyg5"
+   "commit": "10c36b101cadfdded4d7b78d920fc2919a7d674e",
+   "sha256": "0y2rc30k1dn4w3s2s75789f33vn6r9v1g2i7agkihjyp4sc4zmsa"
   },
   "stable": {
    "version": [
@@ -104726,10 +105121,10 @@
  },
  {
   "ename": "ssh",
-  "commit": "855ea20024b606314f8590129259747cac0bcc97",
-  "sha256": "1wlzagcg2fxqcbpd3z02wsil2n224kzmhcd54df80jypgq5fa6k3",
-  "fetcher": "github",
-  "repo": "ieure/ssh-el",
+  "commit": "c02f4a8dc51ffa240cef1e9b5395c2e80214fab2",
+  "sha256": "09p8cn7594ap99i1sqg57xlz6981nml7gk4ch9n49zms1pb3njp0",
+  "fetcher": "git",
+  "url": "https://codeberg.org/emacs-weirdware-abandoned/ssh",
   "unstable": {
    "version": [
     20120904,
@@ -104815,34 +105210,14 @@
   "repo": "death/ssh-tunnels",
   "unstable": {
    "version": [
-    20220606,
-    1229
+    20220721,
+    1242
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "191013b83f3ec3214394a1ed698c4cf38e4d9047",
-   "sha256": "0l50d8vkfc5hv1j5j807a398ghv4ap19mpiv75c8l5k1mbrysald"
-  }
- },
- {
-  "ename": "stack-mode",
-  "commit": "1328a676140e4b8d01af126c4043bcfa8d1b2a8c",
-  "sha256": "0s0m2lj40php7bc2i3fy9ikd5rmx4v7zbxfkp9vadmlc5s7w25gf",
-  "fetcher": "github",
-  "repo": "commercialhaskell/stack-ide",
-  "unstable": {
-   "version": [
-    20150923,
-    1523
-   ],
-   "deps": [
-    "cl-lib",
-    "flycheck",
-    "haskell-mode"
-   ],
-   "commit": "f3481e239dde9817152ec00e32bfc3ebf5aaf2cb",
-   "sha256": "1f2dxlc3dsf9ay417h1l43fxjkrb0a4gg96zd3asx9v2alpzgcim"
+   "commit": "5010d779edef33f869065231b99d74723c9c7eaf",
+   "sha256": "15pwgc9s7f5fjmx2savjrpwr6qcpp0s9iy0y10abpy63np4krc62"
   }
  },
  {
@@ -105118,8 +105493,8 @@
     20200606,
     1308
    ],
-   "commit": "9ce680a52bd90ce9bac568a6a182b1b3c00577e5",
-   "sha256": "0ab9ri7bdhq0w0hn7ady3xf5rvsvni3j1l9lr6y3nqf6kfrbhzhf"
+   "commit": "1d829904702be42f057e89686cfc07e7051d7b05",
+   "sha256": "1vcbjg0hrndrcs6mmdnynv2ly9cl4gwp3zqbp2av9w95lx8ynqif"
   },
   "stable": {
    "version": [
@@ -105168,11 +105543,11 @@
   "repo": "motform/stimmung-themes",
   "unstable": {
    "version": [
-    20220705,
-    1627
+    20220808,
+    1150
    ],
-   "commit": "d09863f13a1a32906d962e55abd5b13ca7e844a5",
-   "sha256": "15im06zbg87mqgxiqpj70hkki2iqhpdy10nwjcs8kxnrp1vz6vxw"
+   "commit": "9c8391cbc69bb44576b333af5caec84221d7b596",
+   "sha256": "1fwmns83vlbin272zy4nnwbbjlr3zjlh0shb661jlxvbqbi25p9p"
   }
  },
  {
@@ -105673,14 +106048,14 @@
   "repo": "nflath/sudo-edit",
   "unstable": {
    "version": [
-    20210706,
-    534
+    20220801,
+    1317
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "23b78a39053088839f281bc0c3134203d7e04e50",
-   "sha256": "1c8rrrxq8i287a7r1qwrqhfyrl84jfcpnjxiqczwjmc95r510yyz"
+   "commit": "74eb1e6986461baed9a9269566ff838530b4379b",
+   "sha256": "11wbmprz4c1rp66v19qk9yavzbcbvhvv684b31zpgfcpy7hx45w5"
   },
   "stable": {
    "version": [
@@ -105860,18 +106235,19 @@
   "repo": "tlikonen/suomalainen-kalenteri",
   "unstable": {
    "version": [
-    20220101,
-    718
+    20220804,
+    657
    ],
-   "commit": "30103e6c6fa5dcbae70a636b007afdaad2fbcac0",
-   "sha256": "1b4isqymawq3srcgz4qf5ghdq5074iajwqxsb25jky4niki0kgfz"
+   "commit": "8a41d16371ffaface70739ec861709f674b4a94a",
+   "sha256": "0rpkwns05aa4d5ix0ffkh2gzag75dvqb78gqhihq560jb83qhc5z"
   },
   "stable": {
    "version": [
-    2022
+    2022,
+    8
    ],
-   "commit": "30103e6c6fa5dcbae70a636b007afdaad2fbcac0",
-   "sha256": "1b4isqymawq3srcgz4qf5ghdq5074iajwqxsb25jky4niki0kgfz"
+   "commit": "8a41d16371ffaface70739ec861709f674b4a94a",
+   "sha256": "0rpkwns05aa4d5ix0ffkh2gzag75dvqb78gqhihq560jb83qhc5z"
   }
  },
  {
@@ -106496,8 +106872,8 @@
   "repo": "vermiculus/sx.el",
   "unstable": {
    "version": [
-    20191229,
-    1746
+    20220804,
+    1419
    ],
    "deps": [
     "cl-lib",
@@ -106505,8 +106881,8 @@
     "let-alist",
     "markdown-mode"
    ],
-   "commit": "e9d1093c97507a6d7b4f4710ef65200dae725e5f",
-   "sha256": "0m90ddwm8j0y6d1ppqhd2gil1107k202blw6mzm5bdambn4nfqkf"
+   "commit": "c58405f9ff27b9740997ea837a1f6fd173d1edc5",
+   "sha256": "1rybhwzvbd6y8p4gshiaw8i5v8ankav4wc4v1viag2j7ay0ygjxz"
   },
   "stable": {
    "version": [
@@ -107059,11 +107435,11 @@
   "repo": "ajrosen/tab-bar-buffers",
   "unstable": {
    "version": [
-    20220628,
-    45
+    20220722,
+    1937
    ],
-   "commit": "7da11a70ca0aa6287b4f0cd629db0f1b70420938",
-   "sha256": "09j8xdhgdl1vwargf2dn1sdscc6jim26f7fvi46fm7f6xrs3a0zs"
+   "commit": "243a55685a2000a2cbe9d49d04bf9efa8cda210b",
+   "sha256": "1mjz3cz26bfi06iild3rnc35kay9kp0c2b17a2dzsy0hklnm935y"
   }
  },
  {
@@ -107363,6 +107739,21 @@
   }
  },
  {
+  "ename": "tangonov-theme",
+  "commit": "a9595a5239a1f1003a269e7c7b52804ccb692d30",
+  "sha256": "13dlllb7j03sigydwm3j6p4fh5dp7pi9bywvrarhnxrhh6wmdizv",
+  "fetcher": "github",
+  "repo": "trev-dev/tangonov-theme",
+  "unstable": {
+   "version": [
+    20220808,
+    1727
+   ],
+   "commit": "fdef90a7795549181276d51d679eacb6e8e74e74",
+   "sha256": "09izx2k8kpcck63qpwjpsbb5952zzynsa9cdbh3irmkkck9i3bnp"
+  }
+ },
+ {
   "ename": "tangotango-theme",
   "commit": "ebfcfa3ba4ca77443667a9478d59214810cd8cc2",
   "sha256": "05cnvyqmh5h5mqys7qs7d9knzxzmi2x0j1avp77x5l5njzzv59s2",
@@ -107721,11 +108112,11 @@
   "repo": "minad/tempel",
   "unstable": {
    "version": [
-    20220709,
-    816
+    20220804,
+    1453
    ],
-   "commit": "ff9756b0646b1d06443eb4bdc64db443f1aa6c40",
-   "sha256": "0iyh6wxchqg83gpwvg6lz4qy4c2qh25iqjpjm56kif52346a99d2"
+   "commit": "dac7e7bcbda97560532c854888a3d51ac01829ae",
+   "sha256": "06sxz9p86q4hzdwdi0jdnq6gc4chh3kh4c2dbi0wm3fyndbviqwh"
   },
   "stable": {
    "version": [
@@ -108282,10 +108673,10 @@
  },
  {
   "ename": "test-case-mode",
-  "commit": "d2e0bf342713cbdf30cf98d0bbc7476b0abeb7f5",
-  "sha256": "1iba97yvbi5vr7gvc58gq2ah6jg2s7apc9ssq7mdzki823n8z2qi",
-  "fetcher": "github",
-  "repo": "ieure/test-case-mode",
+  "commit": "09745b15620c661a418cf7e997f2a53ef2d7ed53",
+  "sha256": "15i13h4j6w4255aidns668rncjj8abq5jiqqz5wr97kardwwrmb2",
+  "fetcher": "git",
+  "url": "https://codeberg.org/emacs-weirdware-abandoned/test-case-mode",
   "unstable": {
    "version": [
     20130525,
@@ -108764,18 +109155,18 @@
     20200212,
     1903
    ],
-   "commit": "74238342142e0ad93141c9654fea285110223753",
-   "sha256": "0dwinv4jg87vhnlgfy5z1hsgsjlkgsb993221jqah031rsnpkh30"
+   "commit": "8d346673d83b8019c1637e8396ed4635d5c2ddb0",
+   "sha256": "06zhd2v80j6flxiqdavpyq87v8yvnixjv98agpsabh1lrvl4cday"
   },
   "stable": {
    "version": [
     2022,
-    7,
-    11,
+    8,
+    8,
     0
    ],
-   "commit": "a7f17c88d6977bb26e574d0df0dd911002b22975",
-   "sha256": "08fgd03z3kkbl50rqlczs53yzvp3s3z18d39015szgc6riw80z6j"
+   "commit": "68ac4169a6e95bb94540f222cd6b3f9f2ed3f868",
+   "sha256": "1nb9waad0ijgd1ah2d9jipwjplx9mdn61bsxcpvqcpswy326ymad"
   }
  },
  {
@@ -108825,14 +109216,14 @@
   "repo": "tidalcycles/Tidal",
   "unstable": {
    "version": [
-    20210211,
-    1531
+    20220808,
+    1553
    ],
    "deps": [
     "haskell-mode"
    ],
-   "commit": "c9df210748d3a3d00c16c880e901cc03bd9f2362",
-   "sha256": "1j3inr3v1jrl7sp845pxdi9qcsjmz0ifmh18m9wkq8j0nsb27i0y"
+   "commit": "4356f6309a3686cbb5e4d298f265baadb855b945",
+   "sha256": "07syq66z3b4nnxf67zljsvnmmd0im76vd24kw660qcls5fj4k3ps"
   },
   "stable": {
    "version": [
@@ -108865,8 +109256,8 @@
     "s",
     "typescript-mode"
    ],
-   "commit": "96bfc5da11a9b83b32368c38e933a405270652de",
-   "sha256": "1py0z8nrkgh3lzsmgxq62bi2nbdx3c97194frjyb5wl81kh4pbbp"
+   "commit": "4cf6a0d89da7f946565a425a632ee2410a40c7da",
+   "sha256": "1gjchqdrwjpnlkn0zzppx81mgvbnlzyh81dxcad41h6n1xadpbg8"
   },
   "stable": {
    "version": [
@@ -109080,11 +109471,11 @@
   "repo": "aimebertrand/timu-rouge-theme",
   "unstable": {
    "version": [
-    20220525,
-    1239
+    20220717,
+    2158
    ],
-   "commit": "5c6f406bf5815e6b72b09093b651b09c7c6769fc",
-   "sha256": "04wjz4xzbb5ps16bfvwd39ifh7y880g4n1di76kn9mylc445a0kq"
+   "commit": "bbfc8bbba01e5caa9d11628f0bc2276605c75901",
+   "sha256": "0r2647yll9yx9i5i1j2gqr8ammxll5pc367prs9jz8il6nd4irpa"
   },
   "stable": {
    "version": [
@@ -109103,11 +109494,11 @@
   "repo": "aimebertrand/timu-spacegrey-theme",
   "unstable": {
    "version": [
-    20220604,
-    1042
+    20220808,
+    2051
    ],
-   "commit": "1051753f371535c0af2008a372a456b3769c7f69",
-   "sha256": "1nfl9r99w5gfdf7z00f4kha4b9z3zw4x9nv0qnbph4xb6milc4dj"
+   "commit": "65fd97f36cfcf64be721297ee596fc9c5adf5c9b",
+   "sha256": "1pfn1pzm6cn7z3nmzbfk8pzxliqp07b5snvxiv2j09r81wsfl4jm"
   },
   "stable": {
    "version": [
@@ -109159,11 +109550,11 @@
   "repo": "aaronbieber/tiny-menu.el",
   "unstable": {
    "version": [
-    20161213,
-    1235
+    20220725,
+    1748
    ],
-   "commit": "05563b94537b6eb22aeddedef2a6e59e3f88d073",
-   "sha256": "0k0djq60mwhjiwy9dpy9m9bs507b9p19pdl3g2s8sd9i2fk53rfy"
+   "commit": "17eacfd1d44cd4d5482d32eac63229230c3cd3fc",
+   "sha256": "1yds5881r6yqpy3smhj57wlm5aadlk70ai8s2x2pf4gma5mvnh2j"
   }
  },
  {
@@ -109207,11 +109598,11 @@
   "url": "https://codeberg.org/acdw/titlecase.el",
   "unstable": {
    "version": [
-    20220516,
-    1909
+    20220728,
+    2253
    ],
-   "commit": "ca79d9b25e8bab5eef92b13dc69ac0c38ac39172",
-   "sha256": "179h6pzz2nw6b7zbp6w67xckhh12fibk02wh1jyv1i8nic32sfr1"
+   "commit": "1fc48a505a0bf7d0e8b1bb25425993212576a3ef",
+   "sha256": "1hvkcf2crpf23p241mcaack6mr43p1p18772gckg56iw8bw8n14f"
   },
   "stable": {
    "version": [
@@ -109295,11 +109686,11 @@
   "repo": "dalanicolai/toc-mode",
   "unstable": {
    "version": [
-    20211229,
-    1334
+    20220723,
+    1725
    ],
-   "commit": "4c9ce0f54d1e3e0c7c75c7f3c2d9a4d50287ca18",
-   "sha256": "06r0p0lc851g2dmvc2mxhq2kqwqyvhdc8436x3blgdb59cyh9ash"
+   "commit": "0671d11654db7f7f33d023006d0d2f3d60e85147",
+   "sha256": "19n3xmln6wk0v4i5inc574qw3d68kn0rjv6qqxs753my2ahd2vq4"
   }
  },
  {
@@ -109465,11 +109856,11 @@
   "url": "https://git.sr.ht/~tok/tok-theme",
   "unstable": {
    "version": [
-    20220713,
-    748
+    20220718,
+    1215
    ],
-   "commit": "3c88eca01a7978c8e425b714346631227e68f3e1",
-   "sha256": "0bnmx2iaa9sgkaxlv5dd2kmfrwli5zdnq1f8fi45yqqnfy9nxxnz"
+   "commit": "f6d036b3213f277b0da86eb0e0f333f469eca643",
+   "sha256": "1nwkw002ah3p9ss7dpkq35q49k8bf4z06qb5yf4hr37w4dc75dg1"
   }
  },
  {
@@ -109486,8 +109877,8 @@
    "deps": [
     "magit-section"
    ],
-   "commit": "08db7ef62b3bcab5e1e1abf0a427d478db04420b",
-   "sha256": "01zyk465w5j74jal1nqcn00ppn093mg227zj5glgx21qvym0lms2"
+   "commit": "181021cd881eecd604a546d4a717866a81c7a511",
+   "sha256": "0gcjlcfxd4bg123gjf7d0vfvfd6zpd0da8svynglca1qhp77jkx1"
   },
   "stable": {
    "version": [
@@ -109599,11 +109990,11 @@
   "repo": "trevorpogue/topspace",
   "unstable": {
    "version": [
-    20220702,
-    609
+    20220803,
+    2258
    ],
-   "commit": "0399f73f9b976737f51ad8079ad620673eb0106c",
-   "sha256": "0rprfg1gjd7bxhlhjan715035bxakjf9m44i76d614g6vc158zs1"
+   "commit": "fa67b67e1ae41adb44de0e5180a6cab922da6bb0",
+   "sha256": "1v78pmv6554qb9b4s2i19vvxncsp914qblyyv95zbq8id3k3v606"
   },
   "stable": {
    "version": [
@@ -109946,11 +110337,11 @@
   "repo": "cuspymd/tramp-term.el",
   "unstable": {
    "version": [
-    20220412,
-    1546
+    20220725,
+    1441
    ],
-   "commit": "e2e5375a444d4eb5d144bef12e066c02befd1352",
-   "sha256": "1jdjf2m4kdq13ipx1mn57bj28n2wfnjd89xvxbw3cn4im61j7iyw"
+   "commit": "ed75189122737d301f716a30a8013205aa3736f1",
+   "sha256": "1629qsl2xsz5qwmvwl2wdfnlj6wlhvrb34wc33dd11n8szrvbk6h"
   }
  },
  {
@@ -109979,14 +110370,14 @@
   "repo": "magit/transient",
   "unstable": {
    "version": [
-    20220527,
-    2213
+    20220806,
+    2224
    ],
    "deps": [
     "compat"
    ],
-   "commit": "a583d2b2f5f8963f08cb5a15a4d4dd55faa13585",
-   "sha256": "1dgwyqkl86nqqyjv8fqipyb61if6gkd2awm572smybh3k3z3w0rn"
+   "commit": "3b267425c0fe93a518a703d814cff3cf6a304a97",
+   "sha256": "04xdaap7hqx42mpwwxdvlmmsffbdv107jqkvy6pifwjl2mmz2p5v"
   },
   "stable": {
    "version": [
@@ -110319,16 +110710,16 @@
   "repo": "ShuguangSun/tree-sitter-ess-r",
   "unstable": {
    "version": [
-    20220710,
-    515
+    20220801,
+    1453
    ],
    "deps": [
     "ess",
     "tree-sitter",
     "tree-sitter-langs"
    ],
-   "commit": "2781d18303110549b4e61cb6b465b1dcbe3635f8",
-   "sha256": "0zxy9263v5sp0sv9l10ps7i7czsjr3vj27kl09wf92mhykxqcjx9"
+   "commit": "52fcf9a83dc3ec1cbd0b662794a59cfc23eaa204",
+   "sha256": "08mr4scy3pw45hghbss71akdy08qqdsphwfw59pmdjs36m65ik1r"
   }
  },
  {
@@ -110454,8 +110845,8 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20220622,
-    2016
+    20220801,
+    1910
    ],
    "deps": [
     "ace-window",
@@ -110467,8 +110858,8 @@
     "pfuture",
     "s"
    ],
-   "commit": "e80c3020270720ff114f7a2ad62c85e1fb627678",
-   "sha256": "0c91awhg02awbhmz632s0d0b9h4sn6adn22lgj52b9fddv9nq77r"
+   "commit": "aa3f4547c3cb32b0b6b25bfab215228d9d848162",
+   "sha256": "0srm2gnhakng4sfi5yz8iikbijxpfxgqjhdxwgc5sybdnn2dkqha"
   },
   "stable": {
    "version": [
@@ -110504,8 +110895,8 @@
     "all-the-icons",
     "treemacs"
    ],
-   "commit": "e80c3020270720ff114f7a2ad62c85e1fb627678",
-   "sha256": "0c91awhg02awbhmz632s0d0b9h4sn6adn22lgj52b9fddv9nq77r"
+   "commit": "aa3f4547c3cb32b0b6b25bfab215228d9d848162",
+   "sha256": "0srm2gnhakng4sfi5yz8iikbijxpfxgqjhdxwgc5sybdnn2dkqha"
   },
   "stable": {
    "version": [
@@ -110535,8 +110926,8 @@
     "evil",
     "treemacs"
    ],
-   "commit": "e80c3020270720ff114f7a2ad62c85e1fb627678",
-   "sha256": "0c91awhg02awbhmz632s0d0b9h4sn6adn22lgj52b9fddv9nq77r"
+   "commit": "aa3f4547c3cb32b0b6b25bfab215228d9d848162",
+   "sha256": "0srm2gnhakng4sfi5yz8iikbijxpfxgqjhdxwgc5sybdnn2dkqha"
   },
   "stable": {
    "version": [
@@ -110565,8 +110956,8 @@
    "deps": [
     "treemacs"
    ],
-   "commit": "e80c3020270720ff114f7a2ad62c85e1fb627678",
-   "sha256": "0c91awhg02awbhmz632s0d0b9h4sn6adn22lgj52b9fddv9nq77r"
+   "commit": "aa3f4547c3cb32b0b6b25bfab215228d9d848162",
+   "sha256": "0srm2gnhakng4sfi5yz8iikbijxpfxgqjhdxwgc5sybdnn2dkqha"
   },
   "stable": {
    "version": [
@@ -110596,8 +110987,8 @@
     "pfuture",
     "treemacs"
    ],
-   "commit": "e80c3020270720ff114f7a2ad62c85e1fb627678",
-   "sha256": "0c91awhg02awbhmz632s0d0b9h4sn6adn22lgj52b9fddv9nq77r"
+   "commit": "aa3f4547c3cb32b0b6b25bfab215228d9d848162",
+   "sha256": "0srm2gnhakng4sfi5yz8iikbijxpfxgqjhdxwgc5sybdnn2dkqha"
   },
   "stable": {
    "version": [
@@ -110629,8 +111020,8 @@
     "persp-mode",
     "treemacs"
    ],
-   "commit": "e80c3020270720ff114f7a2ad62c85e1fb627678",
-   "sha256": "0c91awhg02awbhmz632s0d0b9h4sn6adn22lgj52b9fddv9nq77r"
+   "commit": "aa3f4547c3cb32b0b6b25bfab215228d9d848162",
+   "sha256": "0srm2gnhakng4sfi5yz8iikbijxpfxgqjhdxwgc5sybdnn2dkqha"
   },
   "stable": {
    "version": [
@@ -110662,8 +111053,8 @@
     "perspective",
     "treemacs"
    ],
-   "commit": "e80c3020270720ff114f7a2ad62c85e1fb627678",
-   "sha256": "0c91awhg02awbhmz632s0d0b9h4sn6adn22lgj52b9fddv9nq77r"
+   "commit": "aa3f4547c3cb32b0b6b25bfab215228d9d848162",
+   "sha256": "0srm2gnhakng4sfi5yz8iikbijxpfxgqjhdxwgc5sybdnn2dkqha"
   },
   "stable": {
    "version": [
@@ -110694,8 +111085,8 @@
     "projectile",
     "treemacs"
    ],
-   "commit": "e80c3020270720ff114f7a2ad62c85e1fb627678",
-   "sha256": "0c91awhg02awbhmz632s0d0b9h4sn6adn22lgj52b9fddv9nq77r"
+   "commit": "aa3f4547c3cb32b0b6b25bfab215228d9d848162",
+   "sha256": "0srm2gnhakng4sfi5yz8iikbijxpfxgqjhdxwgc5sybdnn2dkqha"
   },
   "stable": {
    "version": [
@@ -110725,8 +111116,8 @@
     "dash",
     "treemacs"
    ],
-   "commit": "e80c3020270720ff114f7a2ad62c85e1fb627678",
-   "sha256": "0c91awhg02awbhmz632s0d0b9h4sn6adn22lgj52b9fddv9nq77r"
+   "commit": "aa3f4547c3cb32b0b6b25bfab215228d9d848162",
+   "sha256": "0srm2gnhakng4sfi5yz8iikbijxpfxgqjhdxwgc5sybdnn2dkqha"
   },
   "stable": {
    "version": [
@@ -111071,14 +111462,14 @@
   "repo": "ocaml/tuareg",
   "unstable": {
    "version": [
-    20220713,
-    1857
+    20220719,
+    148
    ],
    "deps": [
     "caml"
    ],
-   "commit": "978acff45e99f011896b7f4718b289dd5ea12998",
-   "sha256": "0zf4snd235sfifa2k6qdifmp3ai5j2yqagxjh1shlzw1i17f9q2k"
+   "commit": "ad8a688b7e2aeeafc320a845f86cdd9aa7c971ce",
+   "sha256": "0vma9ylyaxrl21a3g4vlzd9iqpwallchaar3p7v0dyp5cf8xxvfw"
   },
   "stable": {
    "version": [
@@ -111353,11 +111744,11 @@
   "repo": "emacs-typescript/typescript.el",
   "unstable": {
    "version": [
-    20220705,
-    2151
+    20220805,
+    2008
    ],
-   "commit": "83bf47e406761d951bd9eab2f0674e4fa3874a1b",
-   "sha256": "1f9wnmw6dz22nd5liyadjic2na8zlqflzvqdmrhlaj575k2fr56g"
+   "commit": "d1123e0e96da3535a22380e9345249730e756966",
+   "sha256": "0lp2mbfzpvcr08kgk2mgrlmpzxkq4kbaj53qsv6jbkfdcbv48x3i"
   },
   "stable": {
    "version": [
@@ -111828,11 +112219,11 @@
   "url": "https://codeberg.org/ideasman42/emacs-undo-fu.git",
   "unstable": {
    "version": [
-    20220710,
-    351
+    20220731,
+    2326
    ],
-   "commit": "2c00eff32487e90d40588dcc69dc0e8d40a99f61",
-   "sha256": "1p4bg3c9ph5hcdwwx9h0qpm415vfi0frisi49zac3q60q90bqx9m"
+   "commit": "b0d6eba024ac87a0aaf7fa66ae76d76f6c764d46",
+   "sha256": "1h68p5dy11mmmn680smhh748gxk3ch11lsjfp10wskrhahvfix7y"
   }
  },
  {
@@ -111843,11 +112234,11 @@
   "url": "https://codeberg.org/ideasman42/emacs-undo-fu-session.git",
   "unstable": {
    "version": [
-    20220710,
-    1043
+    20220731,
+    2356
    ],
-   "commit": "c95d1fbb28cb38fc68f3ba7cb5ef0e0136055118",
-   "sha256": "0ylbapnrn2n7piblsf0vafj99na2jbhzgw721mdvy25qmaiz59vd"
+   "commit": "48544cb102fd3d761acf92598076b20bbb4075f9",
+   "sha256": "1qyb9ssglg0wnrrpkaqdkrc01f88i976c9fg7hyd7pknfjg7glrf"
   }
  },
  {
@@ -112539,14 +112930,14 @@
   "repo": "jwiegley/use-package",
   "unstable": {
    "version": [
-    20210207,
-    1926
+    20220809,
+    42
    ],
    "deps": [
     "bind-key"
    ],
-   "commit": "0ad5d9d5d8a61517a207ab04bf69e71c081149eb",
-   "sha256": "112g1944iirjlvfw8fxwd1iy6z8yfawf4qz5jv3aj087cxli55ww"
+   "commit": "e5f64cc6d9d0df3721b319eeecca1f4f49ea86a3",
+   "sha256": "1108x07jf9cfgi5wyy18v0dr6vjpssl19032q9g0vci5mpi5k123"
   },
   "stable": {
    "version": [
@@ -112569,8 +112960,8 @@
   "repo": "jwiegley/use-package",
   "unstable": {
    "version": [
-    20181024,
-    2322
+    20220807,
+    1556
    ],
    "deps": [
     "bind-chord",
@@ -112578,8 +112969,8 @@
     "key-chord",
     "use-package"
    ],
-   "commit": "0ad5d9d5d8a61517a207ab04bf69e71c081149eb",
-   "sha256": "112g1944iirjlvfw8fxwd1iy6z8yfawf4qz5jv3aj087cxli55ww"
+   "commit": "e5f64cc6d9d0df3721b319eeecca1f4f49ea86a3",
+   "sha256": "1108x07jf9cfgi5wyy18v0dr6vjpssl19032q9g0vci5mpi5k123"
   },
   "stable": {
    "version": [
@@ -112634,15 +113025,15 @@
   "repo": "jwiegley/use-package",
   "unstable": {
    "version": [
-    20180913,
-    1501
+    20220807,
+    1558
    ],
    "deps": [
     "system-packages",
     "use-package"
    ],
-   "commit": "0ad5d9d5d8a61517a207ab04bf69e71c081149eb",
-   "sha256": "112g1944iirjlvfw8fxwd1iy6z8yfawf4qz5jv3aj087cxli55ww"
+   "commit": "e5f64cc6d9d0df3721b319eeecca1f4f49ea86a3",
+   "sha256": "1108x07jf9cfgi5wyy18v0dr6vjpssl19032q9g0vci5mpi5k123"
   },
   "stable": {
    "version": [
@@ -112764,14 +113155,14 @@
   "repo": "diml/utop",
   "unstable": {
    "version": [
-    20210607,
-    1941
+    20220719,
+    2111
    ],
    "deps": [
     "tuareg"
    ],
-   "commit": "a779b0515c98819cadec8e2e5ffc580f12df9bf1",
-   "sha256": "04gqc4c71k6vy7n9haghni9yh5ky621ynrvpsml9iph6akrabga8"
+   "commit": "bbd9a6ed45c8de8d50adcd5d4d845bdba212db63",
+   "sha256": "1r82434cdzls98f06xlwamnwf8xp9yv933jsq8j8cvir4qiq84hw"
   },
   "stable": {
    "version": [
@@ -112922,11 +113313,11 @@
   "repo": "ottbot/vagrant.el",
   "unstable": {
    "version": [
-    20211206,
-    1634
+    20220730,
+    302
    ],
-   "commit": "a232b7385178d5b029ccc5274dfa9b56e5ba43a1",
-   "sha256": "1i345jyhh1g10hlcvs3c34glk5r09k1i4dxmmrwfhpy1f759h10m"
+   "commit": "eb4ec2053955eda1ac9e5ff92ded88f1919e13f2",
+   "sha256": "1gdscbsbaiz84hk1izn2yr29glvyy4ld6msbck38pn41zkbdz9b2"
   },
   "stable": {
    "version": [
@@ -113181,8 +113572,8 @@
    "deps": [
     "popup"
    ],
-   "commit": "720c6f0e699f25463cd37642ee23adb4e23bc60b",
-   "sha256": "0pn4gpxzgxlz12h4yymqdfmvic51jc5s3b973wl3qjizv1j1062l"
+   "commit": "153f493a50e64263bcfd5210c47bbeeac8a68a01",
+   "sha256": "0q8zgrh7c8zginq44vqckbv24as7h8r4hcmw2pyqy1hdgxfrxjv7"
   },
   "stable": {
    "version": [
@@ -113515,11 +113906,11 @@
   "repo": "federicotdn/verb",
   "unstable": {
    "version": [
-    20220214,
-    943
+    20220727,
+    1923
    ],
-   "commit": "f6fd85d913c39603695e52d258d02e6030e3d42d",
-   "sha256": "032s7i4gg7cc35cqa816sji8bhww2wzlihizvvbbzplsz435mdbs"
+   "commit": "e3b3c146d7bf8fb12295338aded6a96ff4fb1752",
+   "sha256": "1pb01z7fyh4s4crn5ndzjkyic5n1kbr7nphsmy7lw4i2had3ac2d"
   },
   "stable": {
    "version": [
@@ -114589,11 +114980,11 @@
   "repo": "emacs-w3m/emacs-w3m",
   "unstable": {
    "version": [
-    20220606,
-    2300
+    20220805,
+    157
    ],
-   "commit": "e3ca74f62602e69af5ff3271bd98977bd490e9de",
-   "sha256": "0jznj2zh2bb32sy7cgwkb8sy4x9w63y8f929nq6271s6ljg8akc2"
+   "commit": "a8e2e5c7b7576afd7b097b40c6ca39e5717f97a5",
+   "sha256": "0vqq69jkx11d8m9g9v2m4zvpq3khkdhvgzvpcszvic4fvaa65jpc"
   }
  },
  {
@@ -114711,15 +115102,16 @@
   "repo": "corgi-emacs/walkclj",
   "unstable": {
    "version": [
-    20220422,
-    854
+    20220719,
+    1610
    ],
    "deps": [
+    "a",
     "parseclj",
     "treepy"
    ],
-   "commit": "ce4e7713d801b03f94f5da9898fce09718380ed4",
-   "sha256": "1r66fxbm39i1p75aizicravy2n8yjnj3m5nckzdqd86nw2v5d5c6"
+   "commit": "875ee7a350f5141f425c4b5350a630e1ee1795e8",
+   "sha256": "1390qxghf1q11n1gpk6brqzdlvj4jn6dzl6a6d08nbv95wm3ppq3"
   },
   "stable": {
    "version": [
@@ -114853,16 +115245,16 @@
   "repo": "wanderlust/wanderlust",
   "unstable": {
    "version": [
-    20220710,
-    221
+    20220720,
+    1344
    ],
    "deps": [
     "apel",
     "flim",
     "semi"
    ],
-   "commit": "d0296bb70abe97fdc3d855ee76eff0414a5fae62",
-   "sha256": "0n4h4486bzqk6wlqlc7p05ahiwqr7pbhgfc0j5hgz188lf9kjqra"
+   "commit": "a3847bf379ac92e39ac7188071707551d1628ccb",
+   "sha256": "0g44bzwxbnql9mqg6n1v5xqwkzyd6srgq007phc9za6x8vclr8yx"
   }
  },
  {
@@ -115333,6 +115725,30 @@
   }
  },
  {
+  "ename": "websearch",
+  "commit": "21936b2b821a564c02415d31982cbf0af8b05049",
+  "sha256": "1y7nh200ckjd2h2zfki4sc3464jv0g4x3g2g9vc90hyg1yvq1vcy",
+  "fetcher": "gitlab",
+  "repo": "xgqt/emacs-websearch",
+  "unstable": {
+   "version": [
+    20220809,
+    1338
+   ],
+   "commit": "362bf974532e01c31d4abb340ed3f749da385175",
+   "sha256": "104ajdhxm9hsc7zrs1lxzqscnlnd01vs7s7y72fb0n03f5jyg853"
+  },
+  "stable": {
+   "version": [
+    1,
+    0,
+    0
+   ],
+   "commit": "c20c42177ee9268ac29dc00ab6533719ad5c59bc",
+   "sha256": "104ajdhxm9hsc7zrs1lxzqscnlnd01vs7s7y72fb0n03f5jyg853"
+  }
+ },
+ {
   "ename": "websocket",
   "commit": "091dcc3775ec2137cb61d66df4e72aca4900897a",
   "sha256": "1v8jlpahp30lihz7mdznwl6pyrbsdbqznli2wb5gfblnlxil04lg",
@@ -115873,11 +116289,11 @@
   "url": "https://codeberg.org/akib/emacs-why-this.git",
   "unstable": {
    "version": [
-    20220601,
-    1132
+    20220722,
+    1608
    ],
-   "commit": "0975f5b57ffc77bf4aa871aa313085b80c5e43cd",
-   "sha256": "1lilp6adi8k1f6ww02mzr729h22paz7daqvlych07qm7aznl37aq"
+   "commit": "4552587fd48263509cbaf2edfbfaf4536049cb20",
+   "sha256": "0nmvwpc2s7w9mkzkjgjnbb32527xn9pb62392yyb5c46w35shm06"
   }
  },
  {
@@ -116723,14 +117139,14 @@
   "url": "https://codeberg.org/martianh/wordreference.el",
   "unstable": {
    "version": [
-    20220601,
-    650
+    20220806,
+    1022
    ],
    "deps": [
     "s"
    ],
-   "commit": "1c5ea8bd88b32571d3f4be64c1ad73784af83136",
-   "sha256": "006ib6b0zznm014y83sqhahqdm5i3vv69f6p30w65d46yc2fhjdp"
+   "commit": "fd46c30ddc3abd6124b9057110fb0cbdc242937a",
+   "sha256": "18gfhgqchlpbpbd6lyfx1sb548f07lw970ff8896rra8jz5jy565"
   }
  },
  {
@@ -117070,11 +117486,11 @@
   "repo": "redguardtoo/wucuo",
   "unstable": {
    "version": [
-    20220526,
-    1431
+    20220728,
+    1358
    ],
-   "commit": "fe5dfb4e4db38f9fc944509a687812b8f419b958",
-   "sha256": "05h5wxzwzl5almgsk2mjas8in7h5kfmb06r3lfrwgydwxl3wmqnl"
+   "commit": "a7fe5428c88522a121c22b5811cb499a16fd8fa8",
+   "sha256": "0h86qv4s3kv03cq89h2nbbda47p2pi2vbdpc1anaxhzd3gclxfb8"
   },
   "stable": {
    "version": [
@@ -117611,11 +118027,11 @@
   "url": "https://codeberg.org/ideasman42/emacs-xref-rst.git",
   "unstable": {
    "version": [
-    20220708,
-    211
+    20220710,
+    1033
    ],
-   "commit": "c497c0d9b97692a39c984d0e6bb06dcdc4ad0082",
-   "sha256": "17whfpdwliafpfnf7qbkapmk92gqm4hwycb91mpa8gbz133xa9nf"
+   "commit": "e1dd4439e535185a0cd195bb392f70982cf5aadc",
+   "sha256": "0snl51bnm69zwb8wm8yr0xr263m2sr6f2b1d30p1yp0p0jv40i33"
   }
  },
  {
@@ -117925,11 +118341,11 @@
   "repo": "zkry/yaml.el",
   "unstable": {
    "version": [
-    20220713,
-    358
+    20220720,
+    2359
    ],
-   "commit": "0ac7f365bb6b4507259b31679bb37ac291e1f1c7",
-   "sha256": "0n0cf5y862ajyf2q0pnvbkhg57ggsri33x8y4q99s0a17ksk4qrm"
+   "commit": "73fde9d8fbbaf2596449285df9eb412ae9dd74d9",
+   "sha256": "05jxnmaypp4vcbx7c1i6v8bikzj3cqdgb7ll23dnzq10slxy1rm5"
   },
   "stable": {
    "version": [
@@ -117996,6 +118412,36 @@
   }
  },
  {
+  "ename": "yaml-pro",
+  "commit": "7d95324723efbb063eccdda9ee33b2b1b6a0db8f",
+  "sha256": "1jip206lc09v91wnlv2pvk41lhi2sfsns631cvqkxi1q1g7abcka",
+  "fetcher": "github",
+  "repo": "zkry/yaml-pro",
+  "unstable": {
+   "version": [
+    20220722,
+    334
+   ],
+   "deps": [
+    "yaml"
+   ],
+   "commit": "3e698c625c716a1f85e64b9b839241cb56f0db92",
+   "sha256": "0c0p07g6zjpfnmac368iigw63zl7fylxawx8rbmcwzkb5yrbq4xq"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    4
+   ],
+   "deps": [
+    "yaml"
+   ],
+   "commit": "3e698c625c716a1f85e64b9b839241cb56f0db92",
+   "sha256": "0c0p07g6zjpfnmac368iigw63zl7fylxawx8rbmcwzkb5yrbq4xq"
+  }
+ },
+ {
   "ename": "yaml-tomato",
   "commit": "855ea20024b606314f8590129259747cac0bcc97",
   "sha256": "1asy4nf759lcgksah2g7jvzwwlq9lxfkiji460csk5ycsv8aa99s",
@@ -119097,14 +119543,14 @@
   "repo": "ymherklotz/emacs-zettelkasten",
   "unstable": {
    "version": [
-    20210830,
-    1025
+    20220727,
+    1137
    ],
    "deps": [
     "s"
    ],
-   "commit": "9eb18ecd93895a9894970fa85b68257da647812d",
-   "sha256": "0nmbbrw36bkxygh5pllfa9i1z20b0wzrax7bcz049syjkfl3l621"
+   "commit": "edba7bcfdc054ad0ff1952bb525f5709a687db25",
+   "sha256": "06rb7frgw1vja7azsd9cxzkbvlr7xpzapgqypsc777szncz06xhi"
   },
   "stable": {
    "version": [
@@ -119214,11 +119660,11 @@
   "repo": "localauthor/zk",
   "unstable": {
    "version": [
-    20220707,
-    1957
+    20220722,
+    1626
    ],
-   "commit": "f72397e1244fc9a2eb0be7f07b5a60c584545f24",
-   "sha256": "1jszbgimsd2zv7mh0h0cyjigm1sxjr9hvkyah0j07rz8all0svk9"
+   "commit": "d997b13e7a03f7c3c7411183641bd0dc89526ec9",
+   "sha256": "04nqd7mhv8s2sp68vk14x4p9gmw4z9gayvyl5zl5ilv1zlchkiwv"
   },
   "stable": {
    "version": [
@@ -119237,14 +119683,14 @@
   "repo": "localauthor/zk",
   "unstable": {
    "version": [
-    20220713,
-    2002
+    20220723,
+    1824
    ],
    "deps": [
     "zk"
    ],
-   "commit": "f72397e1244fc9a2eb0be7f07b5a60c584545f24",
-   "sha256": "1jszbgimsd2zv7mh0h0cyjigm1sxjr9hvkyah0j07rz8all0svk9"
+   "commit": "d997b13e7a03f7c3c7411183641bd0dc89526ec9",
+   "sha256": "04nqd7mhv8s2sp68vk14x4p9gmw4z9gayvyl5zl5ilv1zlchkiwv"
   },
   "stable": {
    "version": [
diff --git a/pkgs/applications/editors/micro/default.nix b/pkgs/applications/editors/micro/default.nix
index d9805cbb36a..9fc80181533 100644
--- a/pkgs/applications/editors/micro/default.nix
+++ b/pkgs/applications/editors/micro/default.nix
@@ -2,26 +2,32 @@
 
 buildGoModule rec {
   pname = "micro";
-  version = "2.0.10";
+  version = "2.0.11";
 
   src = fetchFromGitHub {
     owner = "zyedidia";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-hVFmViwGXuYVAKaCkzK/LHjCi8AtLu0tsPpT61glxys=";
+    sha256 = "sha256-3Rppi8UcAc4zdXOd81Y+sb5Psezx2TQsNw73WdPVMgE=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
 
   subPackages = [ "cmd/micro" ];
 
-  vendorSha256 = "sha256-YcAKl4keizkbgQLAZGiCG3CGpNTNad8EvOJEXLX2s0s=";
+  vendorSha256 = "sha256-/bWIn5joZOTOtuAbljOc0NgBfjrFkbFZih+cPNHnS9w=";
 
-  ldflags = [ "-s" "-w" "-X github.com/zyedidia/micro/v2/internal/util.Version=${version}" "-X github.com/zyedidia/micro/v2/internal/util.CommitHash=${src.rev}" ];
+  ldflags = let t = "github.com/zyedidia/micro/v2/internal"; in [
+    "-s"
+    "-w"
+    "-X ${t}/util.Version=${version}"
+    "-X ${t}/util.CommitHash=${src.rev}"
+  ];
 
   postInstall = ''
     installManPage assets/packaging/micro.1
     install -Dt $out/share/applications assets/packaging/micro.desktop
+    install -Dm644 assets/micro-logo-mark.svg $out/share/icons/hicolor/scalable/apps/micro.svg
   '';
 
   passthru.tests.expect = callPackage ./test-with-expect.nix {};
diff --git a/pkgs/applications/editors/neovim/neovim-override.vim b/pkgs/applications/editors/neovim/neovim-override.vim
index 34a1a8f1f43..04ee6676018 100644
--- a/pkgs/applications/editors/neovim/neovim-override.vim
+++ b/pkgs/applications/editors/neovim/neovim-override.vim
@@ -1,7 +1 @@
-" configuration generated by NIX
-set nocompatible
-
-set packpath^=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-vim-pack-dir
-set runtimepath^=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-vim-pack-dir
-
 :help ale
diff --git a/pkgs/applications/editors/neovim/tests.nix b/pkgs/applications/editors/neovim/tests.nix
index 3163041dabf..3f38abee500 100644
--- a/pkgs/applications/editors/neovim/tests.nix
+++ b/pkgs/applications/editors/neovim/tests.nix
@@ -86,9 +86,11 @@ rec {
 
   nvim_with_plug = neovim.override {
     extraName = "-with-plug";
-    configure.plug.plugins = with pkgs.vimPlugins; [
-      (base16-vim.overrideAttrs(old: { pname = old.pname + "-unique-for-tests-please-dont-use"; }))
-    ];
+    configure.packages.plugins = with pkgs.vimPlugins; {
+      start = [
+        (base16-vim.overrideAttrs(old: { pname = old.pname + "-unique-for-tests-please-dont-use"; }))
+      ];
+    };
     configure.customRC = ''
       color base16-tomorrow-night
       set background=dark
@@ -123,7 +125,7 @@ rec {
   });
 
   force-nowrap = runTest nvimDontWrap ''
-      ! grep "-u" ${nvimDontWrap}/bin/nvim
+      ! grep -F -- ' -u' ${nvimDontWrap}/bin/nvim
   '';
 
   nvim_via_override-test = runTest nvim_via_override ''
@@ -154,12 +156,6 @@ rec {
     configure.packages.foo.start = with vimPlugins; [ deoplete-nvim ];
   };
 
-  # only neovim makes use of `requiredPlugins`, test this here
-  test_nvim_with_vim_nix_using_pathogen = neovim.override {
-    extraName = "-pathogen";
-    configure.pathogen.pluginNames = [ "vim-nix" ];
-  };
-
   nvimWithLuaPackages = wrapNeovim2 "-with-lua-packages" (makeNeovimConfig {
     extraLuaPackages = ps: [ps.mpack];
     customRC = ''
diff --git a/pkgs/applications/editors/neovim/utils.nix b/pkgs/applications/editors/neovim/utils.nix
index 16b19f63d2d..c3e41966534 100644
--- a/pkgs/applications/editors/neovim/utils.nix
+++ b/pkgs/applications/editors/neovim/utils.nix
@@ -11,21 +11,18 @@
 , wrapNeovimUnstable
 }:
 let
-  # returns everything needed for the caller to wrap its own neovim:
-  # - the generated content of the future init.vim
-  # - the arguments to wrap neovim with
-  # The caller is responsible for writing the init.vim and adding it to the wrapped
-  # arguments (["-u" writeText "init.vim" GENERATEDRC)]).
-  # This makes it possible to write the config anywhere: on a per-project basis
-  # .nvimrc or in $XDG_CONFIG_HOME/nvim/init.vim to avoid sideeffects.
-  # Indeed, note that wrapping with `-u init.vim` has sideeffects like .nvimrc wont be loaded
-  # anymore, $MYVIMRC wont be set etc
+   /* returns everything needed for the caller to wrap its own neovim:
+   - the generated content of the future init.vim
+   - the arguments to wrap neovim with
+   The caller is responsible for writing the init.vim and adding it to the wrapped
+   arguments (["-u" writeText "init.vim" GENERATEDRC)]).
+   This makes it possible to write the config anywhere: on a per-project basis
+   .nvimrc or in $XDG_CONFIG_HOME/nvim/init.vim to avoid sideeffects.
+   Indeed, note that wrapping with `-u init.vim` has sideeffects like .nvimrc wont be loaded
+   anymore, $MYVIMRC wont be set etc
+   */
   makeNeovimConfig =
-    {
-    withPython2 ? false
-    /* the function you would have passed to python.withPackages */
-    , extraPython2Packages ? (_: [ ])
-    , withPython3 ? true
+    { withPython3 ? true
     /* the function you would have passed to python3.withPackages */
     , extraPython3Packages ? (_: [ ])
     , withNodeJs ? false
@@ -36,10 +33,8 @@ let
     # expects a list of plugin configuration
     # expects { plugin=far-vim; config = "let g:far#source='rg'"; optional = false; }
     , plugins ? []
-    # forwarded to configure.customRC
+    # custom viml config appended after plugin-specific config
     , customRC ? ""
-    # same values as in vimUtils.vimrcContent
-    , configure ? { }
 
     # for forward compability, when adding new environments, haskell etc.
     , ...
@@ -54,25 +49,20 @@ let
       };
 
       # transform all plugins into an attrset
-      pluginsNormalized = map (x: if x ? plugin then { optional = false; } // x else { plugin = x; optional = false;}) plugins;
-
+      # { optional = bool; plugin = package; dest = filename; }
+      pluginsNormalized = map (x: if x ? plugin then { dest = "init.vim"; optional = false; } // x else { plugin = x; optional = false;}) plugins;
 
-      configurePatched = configure // {
-        customRC = pluginRc + customRC + (configure.customRC or "");
-      };
 
-      # A function to get the configuration string (if any) from an element of 'plugins'
-      pluginConfig = p:
-        if (p.config or "") != "" then ''
-          " ${p.plugin.pname or p.plugin.name} {{{
-          ${p.config}
-          " }}}
-        '' else "";
 
-      pluginRc = lib.concatMapStrings pluginConfig pluginsNormalized;
+      pluginRC = lib.concatMapStrings (p: p.config or "") pluginsNormalized;
 
-      requiredPlugins = vimUtils.requiredPlugins configurePatched;
+      pluginsPartitioned = lib.partition (x: x.optional == true) pluginsNormalized;
+      requiredPlugins = vimUtils.requiredPluginsForPackage myVimPackage;
       getDeps = attrname: map (plugin: plugin.${attrname} or (_: [ ]));
+      myVimPackage = {
+            start = map (x: x.plugin) pluginsPartitioned.wrong;
+            opt = map (x: x.plugin) pluginsPartitioned.right;
+      };
 
       pluginPython3Packages = getDeps "python3Dependencies" requiredPlugins;
       python3Env = python3Packages.python.withPackages (ps:
@@ -102,12 +92,16 @@ let
         let
           binPath = lib.makeBinPath (lib.optionals withRuby [ rubyEnv ] ++ lib.optionals withNodeJs [ nodejs ]);
 
-          flags = lib.concatLists (lib.mapAttrsToList (
-              prog: withProg: [
-                "--cmd" (genProviderSettings prog withProg)
-              ]
-            )
-            hostprog_check_table);
+          hostProviderViml = lib.mapAttrsToList genProviderSettings hostprog_check_table;
+
+          # as expected by packdir
+          packDirArgs.myNeovimPackages = myVimPackage;
+
+          # vim accepts a limited number of commands so we join them all
+          flags = [
+            "--cmd" (lib.intersperse "|" hostProviderViml)
+            "--cmd" "set packpath^=${vimUtils.packDir packDirArgs}"
+            ];
         in
         [
           "--inherit-argv0" "--add-flags" (lib.escapeShellArgs flags)
@@ -120,11 +114,10 @@ let
           "--prefix" "LUA_CPATH" ";" (neovim-unwrapped.lua.pkgs.lib.genLuaCPathAbsStr luaEnv)
         ];
 
-
-      manifestRc = vimUtils.vimrcContent (configurePatched // { customRC = ""; }) ;
-      neovimRcContent = vimUtils.vimrcContent configurePatched;
+      manifestRc = vimUtils.vimrcContent ({ customRC = ""; }) ;
+      # we call vimrcContent without 'packages' to avoid the init.vim generation
+      neovimRcContent = vimUtils.vimrcContent ({ beforePlugins = ""; customRC = pluginRC + customRC; packages = null; });
     in
-    assert withPython2 -> throw "Python2 support has been removed from neovim, please remove withPython2 and extraPython2Packages.";
 
     builtins.removeAttrs args ["plugins"] // {
       wrapperArgs = makeWrapperArgs;
@@ -144,10 +137,9 @@ let
         "let g:loaded_${prog}_provider=0"
     ;
 
-  # to keep backwards compatibility
+  # to keep backwards compatibility for people using neovim.override
   legacyWrapper = neovim: {
     extraMakeWrapperArgs ? ""
-    , withPython ? false
     /* the function you would have passed to python.withPackages */
     , extraPythonPackages ? (_: [])
     /* the function you would have passed to python.withPackages */
@@ -162,22 +154,25 @@ let
     , extraName ? ""
   }:
     let
-      /* for compatibility with passing extraPythonPackages as a list; added 2018-07-11 */
-      compatFun = funOrList: (if builtins.isList funOrList then
-        (_: lib.warn "passing a list as extraPythonPackages to the neovim wrapper is deprecated, pass a function as to python.withPackages instead" funOrList)
-      else funOrList);
+
+      # we convert from the old configure.format to
+      plugins = if builtins.hasAttr "plug" configure then
+          throw "The neovim legacy wrapper doesn't support configure.plug anymore, please setup your plugins via 'configure.packages' instead"
+        else
+          lib.flatten (lib.mapAttrsToList genPlugin (configure.packages or {}));
+      genPlugin = packageName: {start ? [], opt?[]}:
+        start ++ opt;
 
       res = makeNeovimConfig {
         inherit withPython3;
-        extraPython3Packages = compatFun extraPython3Packages;
+        inherit extraPython3Packages;
         inherit extraLuaPackages;
         inherit withNodeJs withRuby viAlias vimAlias;
-        inherit configure;
+        customRC = configure.customRC or "";
+        inherit plugins;
         inherit extraName;
       };
     in
-    assert withPython -> throw "Python2 support has been removed from neovim, please remove withPython and extraPythonPackages.";
-
     wrapNeovimUnstable neovim (res // {
       wrapperArgs = lib.escapeShellArgs res.wrapperArgs + " " + extraMakeWrapperArgs;
       wrapRc = (configure != {});
diff --git a/pkgs/applications/editors/neovim/wrapper.nix b/pkgs/applications/editors/neovim/wrapper.nix
index 4fa666bc787..2a0d60ce5a7 100644
--- a/pkgs/applications/editors/neovim/wrapper.nix
+++ b/pkgs/applications/editors/neovim/wrapper.nix
@@ -45,7 +45,7 @@ let
     finalMakeWrapperArgs =
       [ "${neovim}/bin/nvim" "${placeholder "out"}/bin/nvim" ]
       ++ [ "--set" "NVIM_SYSTEM_RPLUGIN_MANIFEST" "${placeholder "out"}/rplugin.vim" ]
-      ++ optionals wrapRc [ "--add-flags" "--clean" "--add-flags" "-u ${writeText "init.vim" neovimRcContent}" ]
+      ++ optionals wrapRc [ "--add-flags" "-u ${writeText "init.vim" neovimRcContent}" ]
       ;
   in
   assert withPython2 -> throw "Python2 support has been removed from the neovim wrapper, please remove withPython2 and python2Env.";
diff --git a/pkgs/applications/editors/notepad-next/default.nix b/pkgs/applications/editors/notepad-next/default.nix
index 06d5997af1e..2c57eeb3908 100644
--- a/pkgs/applications/editors/notepad-next/default.nix
+++ b/pkgs/applications/editors/notepad-next/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "notepad-next";
-  version = "0.5.3";
+  version = "0.5.4";
 
   src = fetchFromGitHub {
     owner = "dail8859";
     repo = "NotepadNext";
     rev = "v${version}";
-    sha256 = "sha256-9VbtSpWiSVNRydqpTJ0Zd2/9mXy18Drl6q61BHZ0zrs=";
+    sha256 = "sha256-kEqoL4S/eHsbFoYxNlrv+Wq6acrHQm/qMfrARzl+BYA=";
     # External dependencies - https://github.com/dail8859/NotepadNext/issues/135
     fetchSubmodules = true;
   };
diff --git a/pkgs/applications/editors/pinegrow/default.nix b/pkgs/applications/editors/pinegrow/default.nix
index a3454180b0e..eca556fa86a 100644
--- a/pkgs/applications/editors/pinegrow/default.nix
+++ b/pkgs/applications/editors/pinegrow/default.nix
@@ -14,7 +14,9 @@
 
 stdenv.mkDerivation rec {
   pname = "pinegrow";
-  version = "6.6";
+  # deactivate auto update, because an old 6.21 version is getting mixed up
+  # see e.g. https://github.com/NixOS/nixpkgs/pull/184460
+  version = "6.6"; # nixpkgs-update: no auto update
 
   src = fetchurl {
     url = "https://download.pinegrow.com/PinegrowLinux64.${version}.zip";
diff --git a/pkgs/applications/editors/poke/default.nix b/pkgs/applications/editors/poke/default.nix
index fba01f5bdb0..bcc959bc200 100644
--- a/pkgs/applications/editors/poke/default.nix
+++ b/pkgs/applications/editors/poke/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchurl
+, autoreconfHook
 , gettext
 , help2man
 , pkg-config
@@ -40,6 +41,7 @@ in stdenv.mkDerivation rec {
   strictDeps = true;
 
   nativeBuildInputs = [
+    autoreconfHook
     gettext
     pkg-config
     texinfo
@@ -108,7 +110,6 @@ in stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ AndersonTorres kira-bruneau ];
     platforms = platforms.unix;
-    broken = stdenv.isDarwin && stdenv.isAarch64; # Undefined symbols for architecture arm64
   };
 }
 
diff --git a/pkgs/applications/editors/textadept/default.nix b/pkgs/applications/editors/textadept/default.nix
index 74298e059f7..a1ff1b8817f 100644
--- a/pkgs/applications/editors/textadept/default.nix
+++ b/pkgs/applications/editors/textadept/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, fetchurl, gtk2, glib, pkg-config, unzip, ncurses, zip }:
 
 stdenv.mkDerivation rec {
-  version = "11.3";
+  version = "11.4";
   pname = "textadept";
 
   nativeBuildInputs = [ pkg-config unzip zip ];
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     owner = "orbitalquark";
     repo = "textadept";
     rev = "textadept_${version}";
-    sha256 = "sha256-C7J/Qr/58hLbyw39R+GU4wot1gbAXf51Cv6KGk3kg30=";
+    sha256 = "sha256-1we2NC4N8oY4QmmqIIWGSpTBuLx3MEFkZK+BjmNEfD0=";
   };
 
   preConfigure =
@@ -45,6 +45,7 @@ stdenv.mkDerivation rec {
     "PREFIX=$(out)"
     "WGET=true"
     "PIXMAPS_DIR=$(out)/share/pixmaps"
+    "GTK2=1"
   ];
 
   meta = with lib; {
diff --git a/pkgs/applications/editors/textadept/deps.nix b/pkgs/applications/editors/textadept/deps.nix
index c0744875e7a..1baac73df8d 100644
--- a/pkgs/applications/editors/textadept/deps.nix
+++ b/pkgs/applications/editors/textadept/deps.nix
@@ -1,25 +1,25 @@
 {
-  "scintilla514.tgz" = {
-    url = "https://www.scintilla.org/scintilla514.tgz";
-    sha256 = "sha256-3IJcVUmJBWsmMURsfKKLFHyUw2XZI90Kkoq3oR3To2U=";
+  "scintilla524.tgz" = {
+    url = "https://www.scintilla.org/scintilla524.tgz";
+    sha256 = "sha256-Su8UiMmkOxcuBat2JWYEnhNdG5HKnV1fn1ClnJhazGY=";
   };
   "lexilla510.tgz" = {
     url = "https://www.scintilla.org/lexilla510.tgz";
     sha256 = "sha256-azWVJ0AFSYZxuFTPV73uwiVJZvNxcS/POnFtl6p/P9g=";
   };
+  "9088723504b19f8611b66c119933a4dc7939d7b8.zip" = {
+    url =
+      "https://github.com/orbitalquark/scintillua/archive/9088723504b19f8611b66c119933a4dc7939d7b8.zip";
+    sha256 = "sha256-V2t1kt6+SpZQvQSzLhh8n+WiAnA32SRVFnrbTaJrHRo=";
+  };
   "475d8d43f3418590c28bd2fb07ee9229d1fa2d07.zip" = {
     url =
       "https://github.com/orbitalquark/scinterm/archive/475d8d43f3418590c28bd2fb07ee9229d1fa2d07.zip";
     sha256 = "sha256-lNMK0RFcOLg9RRE5a6VelhSzUYVl5TiAiXcje2JOedE=";
   };
-  "4cb1464ef738a098f008d6530b776fe780b19c34.zip" = {
-    url =
-      "https://github.com/orbitalquark/scintillua/archive/4cb1464ef738a098f008d6530b776fe780b19c34.zip";
-    sha256 = "sha256-OgmZ5iWnjG1cI6wprHOyeLY86DcLpU/4omGJ6stEe0c=";
-  };
-  "lua-5.4.2.tar.gz" = {
-    url = "http://www.lua.org/ftp/lua-5.4.2.tar.gz";
-    sha256 = "sha256-EVcNl+nXMDwKWVZ+0ax8ZINAzQ2xDV/VlMCSI+8vUk8=";
+  "lua-5.4.4.tar.gz" = {
+    url = "http://www.lua.org/ftp/lua-5.4.4.tar.gz";
+    sha256 = "sha256-Fkx4SWU7gK5nvsS3RzuIS/XMjS3KBWU0dewu0nuev2E=";
   };
   "lpeg-1.0.2.tar.gz" = {
     url = "http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.0.2.tar.gz";
@@ -29,16 +29,17 @@
     url = "https://github.com/keplerproject/luafilesystem/archive/v1_8_0.zip";
     sha256 = "sha256-46a+ynqKkFIu7THbbM3F7WWkM4JlAMaGJ4TidnG54Yo=";
   };
-  "gtdialog_1.5.zip" = {
-    url = "https://github.com/orbitalquark/gtdialog/archive/gtdialog_1.5.zip";
-    sha256 = "sha256-kk85ajgMG0okUwPAyL0TYq6BfS5cuyFmsk6i8pn7pbw=";
+  "444af9ca8a73151dbf759e6676d1035af469f01a.zip" = {
+    url =
+      "https://github.com/orbitalquark/gtdialog/archive/444af9ca8a73151dbf759e6676d1035af469f01a.zip";
+    sha256 = "sha256-7AkX7OWXJtzKq3h4uJeLzHpf6mrsz67SXtPvmyA5xxg=";
   };
   "cdk-5.0-20200923.tgz" = {
     url = "http://invisible-mirror.net/archives/cdk/cdk-5.0-20200923.tgz";
     sha256 = "sha256-AH9d6IDLLuvYVW335M2Gc9XmTJlwFH7uaSOoFMKfqu0=";
   };
-  "libtermkey-0.20.tar.gz" = {
-    url = "http://www.leonerd.org.uk/code/libtermkey/libtermkey-0.20.tar.gz";
-    sha256 = "sha256-bA2HyUq5kV527NMTuuwI3t871W3oN0PZqpI6CBk10vU=";
+  "libtermkey-0.22.tar.gz" = {
+    url = "http://www.leonerd.org.uk/code/libtermkey/libtermkey-0.22.tar.gz";
+    sha256 = "sha256-aUW9PEqqg9qD2AoEXFVj2k7dfQN0xiwNNa7AnrMBRgA=";
   };
 }
diff --git a/pkgs/applications/editors/vim/plugins/vim-utils.nix b/pkgs/applications/editors/vim/plugins/vim-utils.nix
index 60d4856cae6..d11d638f4a0 100644
--- a/pkgs/applications/editors/vim/plugins/vim-utils.nix
+++ b/pkgs/applications/editors/vim/plugins/vim-utils.nix
@@ -3,7 +3,6 @@
 , runCommand, makeWrapper
 , nix-prefetch-hg, nix-prefetch-git
 , fetchFromGitHub, runtimeShell
-, hasLuaModule
 , python3
 , callPackage, makeSetupHook
 }:
@@ -52,8 +51,6 @@ this to your .vimrc should make most plugins work:
   set rtp+=~/.nix-profile/share/vim-plugins/youcompleteme
   " or for p in ["youcompleteme"] | exec 'set rtp+=~/.nix-profile/share/vim-plugins/'.p | endfor
 
-which is what the [VAM]/pathogen solutions above basically do.
-
 Learn about about plugin Vim plugin mm managers at
 http://vim-wiki.mawercer.de/wiki/topic/vim%20plugin%20managment.html.
 
@@ -168,16 +165,13 @@ let
 
   rtpPath = ".";
 
-  # Generates a packpath folder as expected by vim
+  /* Generates a packpath folder as expected by vim
+       Example:
+       packDir (myVimPackage.{ start = [ vimPlugins.vim-fugitive ]; opt = [] })
+       => "/nix/store/xxxxx-pack-dir"
+  */
   packDir = packages:
   let
-    # dir is "start" or "opt"
-    linkLuaPlugin = plugin: packageName: dir: ''
-      mkdir -p $out/pack/${packageName}/${dir}/${plugin.pname}/lua
-      ln -sf ${plugin}/share/lua/5.1/* $out/pack/${packageName}/${dir}/${plugin.pname}/lua
-      ln -sf ${plugin}/${plugin.pname}-${plugin.version}-rocks/${plugin.pname}/${plugin.version}/* $out/pack/${packageName}/${dir}/${plugin.pname}/
-    '';
-
     linkVimlPlugin = plugin: packageName: dir: ''
       mkdir -p $out/pack/${packageName}/${dir}
       if test -e "$out/pack/${packageName}/${dir}/${lib.getName plugin}"; then
@@ -242,8 +236,8 @@ let
    */
   vimrcContent = {
     packages ? null,
-    vam ? null,
-    pathogen ? null,
+    vam ? null, # deprecated
+    pathogen ? null, # deprecated
     plug ? null,
     beforePlugins ? ''
       " configuration generated by NIX
@@ -253,19 +247,6 @@ let
   }:
 
     let
-      /* pathogen mostly can set &rtp at startup time. Deprecated.
-      */
-      pathogenImpl = let
-        knownPlugins = pathogen.knownPlugins or vimPlugins;
-
-        plugins = findDependenciesRecursively (map (pluginToDrv knownPlugins) pathogen.pluginNames);
-
-        pathogenPackages.pathogen = {
-          start = plugins;
-        };
-      in
-        nativeImpl pathogenPackages;
-
       /* vim-plug is an extremely popular vim plugin manager.
       */
       plugImpl =
@@ -278,23 +259,7 @@ let
         call plug#end()
       '';
 
-      /*
-       vim-addon-manager = VAM
-
-       * maps names to plugin location
-
-       * manipulates &rtp at startup time
-         or when Vim has been running for a while
-
-       * can activate plugins laziy (eg when loading a specific filetype)
-
-       * knows about vim plugin dependencies (addon-info.json files)
-
-       * still is minimalistic (only loads one file), the "check out" code it also
-         has only gets loaded when a plugin is requested which is not found on disk
-         yet
-
-      */
+     # vim-addon-manager = VAM (deprecated)
       vamImpl =
       let
         knownPlugins = vam.knownPlugins or vimPlugins;
@@ -314,7 +279,7 @@ let
       ]
       ++ lib.optional (vam != null) (lib.warn "'vam' attribute is deprecated. Use 'packages' instead in your vim configuration" vamImpl)
       ++ lib.optional (packages != null && packages != []) (nativeImpl packages)
-      ++ lib.optional (pathogen != null) (lib.warn "'pathogen' attribute is deprecated. Use 'packages' instead in your vim configuration" pathogenImpl)
+      ++ lib.optional (pathogen != null) (throw "pathogen is now unsupported, replace `pathogen = {}` with `packages.home = { start = []; }`")
       ++ lib.optional (plug != null) plugImpl
       ++ [ customRC ];
 
@@ -444,27 +409,20 @@ rec {
   # used to figure out which python dependencies etc. neovim needs
   requiredPlugins = {
     packages ? {},
-    givenKnownPlugins ? null,
-    vam ? null,
-    pathogen ? null,
     plug ? null, ...
   }:
     let
-      # This is probably overcomplicated, but I don't understand this well enough to know what's necessary.
-      knownPlugins = if givenKnownPlugins != null then givenKnownPlugins else
-                     if vam != null && vam ? knownPlugins then vam.knownPlugins else
-                     if pathogen != null && pathogen ? knownPlugins then pathogen.knownPlugins else
-                     vimPlugins;
-      pathogenPlugins = findDependenciesRecursively (map (pluginToDrv knownPlugins) pathogen.pluginNames);
-      vamPlugins = findDependenciesRecursively (map (pluginToDrv knownPlugins) (lib.concatMap vamDictToNames vam.pluginDictionaries));
-      nonNativePlugins = (lib.optionals (pathogen != null) pathogenPlugins)
-                      ++ (lib.optionals (vam != null) vamPlugins)
-                      ++ (lib.optionals (plug != null) plug.plugins);
       nativePluginsConfigs = lib.attrsets.attrValues packages;
-      nativePlugins = lib.concatMap ({start?[], opt?[], knownPlugins?vimPlugins}: start++opt) nativePluginsConfigs;
+      nonNativePlugins = (lib.optionals (plug != null) plug.plugins);
+      nativePlugins = lib.concatMap (requiredPluginsForPackage) nativePluginsConfigs;
     in
       nativePlugins ++ nonNativePlugins;
 
+
+  # figures out which python dependencies etc. is needed for one vim package
+  requiredPluginsForPackage = { start ? [], opt ? []}:
+    start ++ opt;
+
   toVimPlugin = drv:
     drv.overrideAttrs(oldAttrs: {
       # dont move the "doc" folder since vim expects it
diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix
index ba827944210..5ecb1b7b323 100644
--- a/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/default.nix
@@ -286,8 +286,8 @@ let
         mktplcRef = {
           name = "vscode-neovim";
           publisher = "asvetliakov";
-          version = "0.0.86";
-          sha256 = "sha256-XZd2xTcTqT6LytVwN+CybaFT71nwdobgZQQddMFdjU4=";
+          version = "0.0.89";
+          sha256 = "sha256-4cCaMw7joaXeq+dk5cPZz6/zXDlxWeP/3IjkgSmmRvs=";
         };
         meta = {
           license = lib.licenses.mit;
@@ -1680,6 +1680,22 @@ let
 
       ms-vscode.cpptools = callPackage ./cpptools { };
 
+      ms-vscode.PowerShell = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "PowerShell";
+          publisher = "ms-vscode";
+          version = "2022.7.2";
+          sha256 = "sha256-YL90dRmOvfbizT+hfkNu267JtG122LTMS9MHCfaMzkk=";
+        };
+        meta = with lib; {
+          description = "A Visual Studio Code extension for PowerShell language support";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=ms-vscode.PowerShell";
+          homepage = "https://github.com/PowerShell/vscode-powershell";
+          license = licenses.mit;
+          maintainers = with maintainers; [ rhoriguchi ];
+        };
+      };
+
       ms-vscode-remote.remote-ssh = callPackage ./remote-ssh { };
 
       ms-vscode.theme-tomorrowkit = buildVscodeMarketplaceExtension {
@@ -1943,8 +1959,8 @@ let
         mktplcRef = {
           name = "adwaita-theme";
           publisher = "piousdeer";
-          version = "1.0.7";
-          sha256 = "zfG9ktxOCUOJaNrWtblq+ktSMppwp1SaB/39F1qfQew=";
+          version = "1.0.8";
+          sha256 = "XyzxiwKQGDUIXp6rnt1BmPzfpd1WrG8HnEqYEOJV6P8=";
         };
         meta = with lib; {
           description = "Theme for the GNOME desktop";
@@ -2508,8 +2524,8 @@ let
         mktplcRef = {
           name = "vim";
           publisher = "vscodevim";
-          version = "1.23.1";
-          sha256 = "sha256-k3z3n+29vqvC/FqjrHUBnYIVcKuJpiT+nITbqVm0Low=";
+          version = "1.23.2";
+          sha256 = "sha256-QC+5FJYjWsEaao1ifgMTJyg7vZ5JUbNNJiV+OuiIaM0=";
         };
         meta = {
           license = lib.licenses.mit;
@@ -2556,8 +2572,8 @@ let
         mktplcRef = {
           name = "viml";
           publisher = "xadillax";
-          version = "1.0.1";
-          sha256 = "sha256-mzf2PBSbvmgPjchyKmTaf3nASUi5/S9Djpoeh0y8gH0=";
+          version = "2.1.2";
+          sha256 = "sha256-n91Rj1Rpp7j7gndkt0bV+jT1nRMv7+coVoSL5c7Ii3A=";
         };
         meta = with lib; {
           license = licenses.mit;
diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix
index ae584756950..d5cfe19ffd0 100644
--- a/pkgs/applications/editors/vscode/vscode.nix
+++ b/pkgs/applications/editors/vscode/vscode.nix
@@ -15,17 +15,17 @@ let
   archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "0djz1gi605f0xwrn2b5f0cvvcdmhh1n00rfcqxp1j1fa4y69lyzq";
-    x86_64-darwin = "1n51f0fb6h8kpsn8g0bcp4nav0ilin26c5xp1qhs63hnnif045pn";
-    aarch64-linux = "1zjg18f38h682mibws6n4hwa01jkv5dpj45jw17dmk7wgw4gylww";
-    aarch64-darwin = "10crlbcpn90498nszillryvr0w2w46ra6g7nbkqkkgzav692nfys";
-    armv7l-linux = "1iwp0fax56l23dllfd4p7p4k28bk6msfknq9dagxqhg4i9p2yrq2";
+    x86_64-linux = "04frcbgjvnik1b4ipvyk6v99i9mydkwj9g6b58rns4xd52p9v3sj";
+    x86_64-darwin = "1jhj15jn0xqahjldyibqp22l2bs4g1s76rzwp27nmcmp7d9frrlj";
+    aarch64-linux = "03vpq8l4392xaqp48jp7994hp29ayr9ny69svyrrdhyasrcsrb9c";
+    aarch64-darwin = "0k0nw4jx3cqcjla4ms2p2b57axgn9f69glp1qc9bqv28cbdnyzv8";
+    armv7l-linux = "0vz3cfwmcm0s79z3sx0c2l2nnsprassp4yxqh6gy5g4p9b7rr61k";
   }.${system} or throwSystem;
 in
   callPackage ./generic.nix rec {
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.69.2";
+    version = "1.70.1";
     pname = "vscode";
 
     executableName = "code" + lib.optionalString isInsiders "-insiders";
diff --git a/pkgs/applications/editors/vscode/vscodium.nix b/pkgs/applications/editors/vscode/vscodium.nix
index 02a1e4f8ed8..9155a9fe279 100644
--- a/pkgs/applications/editors/vscode/vscodium.nix
+++ b/pkgs/applications/editors/vscode/vscodium.nix
@@ -15,11 +15,11 @@ let
   archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "0kvmnayrwpz82jxhvi69r45nyq74v5qyx5nn8b6kz23ma02nm4y6";
-    x86_64-darwin = "0w6qbybzvpb886z1y5w7q36xy176f5hagzgqddzgwbzlv3lc9i9j";
-    aarch64-linux = "194bnz4rg6lpi1pcl3yknap2n1p9vyi86wd5rq4m0h8kmqg1i21w";
-    aarch64-darwin = "1vhb85zbpp399qxn7b7gdvsij174x5nzp84xw57kw9pzs5dkw12g";
-    armv7l-linux = "1cr3vqxl0h8a4mg920a90ykdvb3vzf8cyxls1w8m84k3b53m5qdi";
+    x86_64-linux = "0vwnx7fs46fkas75pnhjc81wy3hr24k2gs82i30ailaxw5r63j81";
+    x86_64-darwin = "0bxc74vfkw9zhxfahzhcghlnybvj8k15jbni489lf636a45xrlcc";
+    aarch64-linux = "10z6nv67yjd15ilxgfpjf07qbdp0cbd5761a5gcymiam4r22l6hq";
+    aarch64-darwin = "133nccm0hcgcd2503psxwaaq4v4l16q7w7kbcz1y5lynlvwazjrx";
+    armv7l-linux = "1sx3l42ls62v3apjap25ccg4mcbi71spfj5xh7y6rffzi65xwdrv";
   }.${system} or throwSystem;
 
   sourceRoot = if stdenv.isDarwin then "" else ".";
@@ -29,7 +29,7 @@ in
 
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.69.2";
+    version = "1.70.0";
     pname = "vscodium";
 
     executableName = "codium";
diff --git a/pkgs/applications/editors/xed-editor/default.nix b/pkgs/applications/editors/xed-editor/default.nix
index 7e36aeccdec..0cbca2ea2bd 100644
--- a/pkgs/applications/editors/xed-editor/default.nix
+++ b/pkgs/applications/editors/xed-editor/default.nix
@@ -1,39 +1,40 @@
 { stdenv
 , lib
 , fetchFromGitHub
-, cmake
 , libxml2
 , libpeas
 , glib
 , gtk3
 , gtksourceview4
 , gspell
-, xapps
+, xapp
 , pkg-config
+, python3
 , meson
 , ninja
 , wrapGAppsHook
 , intltool
-, itstool }:
+, itstool
+}:
 
 stdenv.mkDerivation rec {
   pname = "xed-editor";
-  version = "3.2.2";
+  version = "3.2.7";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "xed";
     rev = version;
-    sha256 = "sha256-PW7y3+Sa9FH5r5xvziysvxM08RJCPvnLs3wsm5IqToQ=";
+    sha256 = "sha256-aO5ilmlkSAxlkWYdSLmrcm7pC8GbITpCitd4TXp5tfY=";
   };
 
   nativeBuildInputs = [
     meson
-    cmake
     pkg-config
     intltool
     itstool
     ninja
+    python3
     wrapGAppsHook
   ];
 
@@ -44,13 +45,9 @@ stdenv.mkDerivation rec {
     gtksourceview4
     libpeas
     gspell
-    xapps
+    xapp
   ];
 
-  postInstall = ''
-    glib-compile-schemas $out/share/glib-2.0/schemas
-  '';
-
   doInstallCheck = true;
   installCheckPhase = ''
     if [[ "$($out/bin/xed --version)" == "xed - Version ${version}" ]] ; then
diff --git a/pkgs/applications/editors/xxe-pe/default.nix b/pkgs/applications/editors/xxe-pe/default.nix
index 191ed6d2d42..1f592b7320c 100644
--- a/pkgs/applications/editors/xxe-pe/default.nix
+++ b/pkgs/applications/editors/xxe-pe/default.nix
@@ -24,7 +24,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "xxe-pe";
-  version = "10.1.0";
+  version = "10.2.0";
 
   src =
     assert !acceptLicense -> throw ''
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     '';
       fetchurl {
         url = "https://www.xmlmind.com/xmleditor/_download/xxe-perso-${builtins.replaceStrings [ "." ] [ "_" ] version}.zip";
-        sha256 = "sha256-AeyaJSEJQQJ/XxvaIky4fnEr+7fVAEqhSxtYhN8L2JA=";
+        sha256 = "sha256-JZ9nQwMrQL/1HKGwvXoWlnTx55ZK/UYjMJAddCtm0rw=";
       };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/editors/zee/default.nix b/pkgs/applications/editors/zee/default.nix
new file mode 100644
index 00000000000..9442044a169
--- /dev/null
+++ b/pkgs/applications/editors/zee/default.nix
@@ -0,0 +1,31 @@
+{ lib, rustPlatform, fetchFromGitHub, pkg-config, openssl, stdenv, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "zee";
+  version = "0.3.2";
+
+  src = fetchFromGitHub {
+    owner = "zee-editor";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-/9SogKOaXdFDB+e0//lrenTTbfmXqNFGr23L+6Pnm8w=";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ openssl ] ++ lib.optional stdenv.isDarwin Security;
+
+  # disable downloading and building the tree-sitter grammars at build time
+  # grammars can be configured in a config file and installed with `zee --build`
+  # see https://github.com/zee-editor/zee#syntax-highlighting
+  ZEE_DISABLE_GRAMMAR_BUILD=1;
+
+  cargoSha256 = "sha256-mbqI1csnU95VWgax4GjIxB+nhMtmpaeJ8QQ3qb0hY4c=";
+
+  meta = with lib; {
+    description = "A modern text editor for the terminal written in Rust";
+    homepage = "https://github.com/zee-editor/zee";
+    license = licenses.mit;
+    maintainers = with maintainers; [ booklearner ];
+  };
+}
diff --git a/pkgs/applications/emulators/commanderx16/emulator.nix b/pkgs/applications/emulators/commanderx16/emulator.nix
index d070c86eef8..3acf4a07603 100644
--- a/pkgs/applications/emulators/commanderx16/emulator.nix
+++ b/pkgs/applications/emulators/commanderx16/emulator.nix
@@ -4,15 +4,15 @@
 , SDL2
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "x16-emulator";
-  version = "40";
+  version = "41";
 
   src = fetchFromGitHub {
     owner = "commanderx16";
-    repo = pname;
-    rev = "r${version}";
-    hash = "sha256-7ZzVd2NJCFNAFrS2cj6bxcq/AzO5VakoFX9o1Ac9egg=";
+    repo = "x16-emulator";
+    rev = "r${finalAttrs.version}";
+    hash = "sha256-pnWqtSXQzUfQ8ADIXL9r2YjuBwHDQ2NAffAEFCN5Qzw=";
   };
 
   dontConfigure = true;
@@ -23,23 +23,24 @@ stdenv.mkDerivation rec {
     runHook preInstall
 
     install -Dm 755 -t $out/bin/ x16emu
-    install -Dm 444 -t $out/share/doc/${pname} README.md
+    install -Dm 444 -t $out/share/doc/x16-emulator/ README.md
 
     runHook postInstall
   '';
 
   meta = with lib; {
-    description = "The official emulator of CommanderX16 8-bit computer";
     homepage = "https://www.commanderx16.com/forum/index.php?/home/";
+    description = "The official emulator of CommanderX16 8-bit computer";
     license = licenses.bsd2;
     maintainers = with maintainers; [ AndersonTorres ];
     mainProgram = "x16emu";
     inherit (SDL2.meta) platforms;
+    broken = with stdenv; isDarwin && isAarch64;
   };
 
   passthru = {
-    # upstream project recommends emulator and rom synchronized;
+    # upstream project recommends emulator and rom to be synchronized;
     # passing through the version is useful to ensure this
-    inherit version;
+    inherit (finalAttrs) version;
   };
-}
+})
diff --git a/pkgs/applications/emulators/commanderx16/rom.nix b/pkgs/applications/emulators/commanderx16/rom.nix
index 617c0a16b83..202a2120641 100644
--- a/pkgs/applications/emulators/commanderx16/rom.nix
+++ b/pkgs/applications/emulators/commanderx16/rom.nix
@@ -5,15 +5,15 @@
 , python3
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "x16-rom";
-  version = "40";
+  version = "41";
 
   src = fetchFromGitHub {
     owner = "commanderx16";
-    repo = pname;
-    rev = "r${version}";
-    hash = "sha256-5oqttuTJiJOUENncOJipAar22OsI1uG3G69m+eYoSh0=";
+    repo = "x16-rom";
+    rev = "r${finalAttrs.version}";
+    hash = "sha256-kowdyUVi3hliqkL8VQo5dS3Dpxd4LQi5+5brkdnv0lE=";
   };
 
   nativeBuildInputs = [
@@ -30,8 +30,8 @@ stdenv.mkDerivation rec {
   installPhase = ''
     runHook preInstall
 
-    install -Dm 444 -t $out/share/${pname} build/x16/rom.bin
-    install -Dm 444 -t $out/share/doc/${pname} README.md
+    install -Dm 444 -t $out/share/x16-rom/ build/x16/rom.bin
+    install -Dm 444 -t $out/share/doc/x16-rom/ README.md
 
     runHook postInstall
   '';
@@ -42,11 +42,12 @@ stdenv.mkDerivation rec {
     license = licenses.bsd2;
     maintainers = with maintainers; [ AndersonTorres ];
     inherit (cc65.meta) platforms;
+    broken = with stdenv; isDarwin && isAarch64;
   };
 
   passthru = {
-    # upstream project recommends emulator and rom synchronized;
+    # upstream project recommends emulator and rom to be synchronized;
     # passing through the version is useful to ensure this
-    inherit version;
+    inherit (finalAttrs) version;
   };
-}
+})
diff --git a/pkgs/applications/emulators/pcsx2/default.nix b/pkgs/applications/emulators/pcsx2/default.nix
index 77e69a03213..5f5579658b1 100644
--- a/pkgs/applications/emulators/pcsx2/default.nix
+++ b/pkgs/applications/emulators/pcsx2/default.nix
@@ -32,14 +32,14 @@
 
 stdenv.mkDerivation rec {
   pname = "pcsx2";
-  version = "1.7.3128";
+  version = "1.7.3165";
 
   src = fetchFromGitHub {
     owner = "PCSX2";
     repo = "pcsx2";
     fetchSubmodules = true;
     rev = "v${version}";
-    hash = "sha256-OVKxVyUkTpyVvQ1oA8G6W77ssC1NmUAu/VanBM8Z168=";
+    hash = "sha256-FdLmLZLpS8zPmHVn4k0nE6vS/omYVIOal9ej0h3bE/Y=";
   };
 
   cmakeFlags = [
diff --git a/pkgs/applications/emulators/retroarch/default.nix b/pkgs/applications/emulators/retroarch/default.nix
index 0a078f68c7a..4a8c762b6a9 100644
--- a/pkgs/applications/emulators/retroarch/default.nix
+++ b/pkgs/applications/emulators/retroarch/default.nix
@@ -5,6 +5,7 @@
 , withVulkan ? stdenv.isLinux
 , alsa-lib
 , AppKit
+, dbus
 , fetchFromGitHub
 , ffmpeg_4
 , Foundation
@@ -80,6 +81,7 @@ stdenv.mkDerivation rec {
     lib.optionals stdenv.isDarwin [ libobjc AppKit Foundation ] ++
     lib.optionals stdenv.isLinux [
       alsa-lib
+      dbus
       libX11
       libXdmcp
       libXext
@@ -95,7 +97,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  configureFlags = lib.optionals stdenv.isLinux [ "--enable-kms" "--enable-egl" ];
+  configureFlags = lib.optionals stdenv.isLinux [ "--enable-kms" "--enable-egl" "--enable-dbus" ];
 
   postInstall = ''
     mkdir -p $out/share/libretro/info
diff --git a/pkgs/applications/file-managers/worker/default.nix b/pkgs/applications/file-managers/worker/default.nix
index 3aa01d9372c..774e885401a 100644
--- a/pkgs/applications/file-managers/worker/default.nix
+++ b/pkgs/applications/file-managers/worker/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "worker";
-  version = "4.10.0";
+  version = "4.10.1";
 
   src = fetchurl {
     url = "http://www.boomerangsworld.de/cms/worker/downloads/${pname}-${version}.tar.gz";
-    sha256 = "sha256-BK6Soh2hJYMunw/bXZFh+05c+iYig2L7lLFEqs6lyxk=";
+    sha256 = "sha256-8dJjh+h8lsdydSqLJ72sfi2IFJ4X8dfRot5/aAEQ5Vk=";
   };
 
   buildInputs = [ libX11 ];
diff --git a/pkgs/applications/gis/qgis/set-pyqt-package-dirs.patch b/pkgs/applications/gis/qgis/set-pyqt-package-dirs.patch
new file mode 100644
index 00000000000..5553f80fbc5
--- /dev/null
+++ b/pkgs/applications/gis/qgis/set-pyqt-package-dirs.patch
@@ -0,0 +1,59 @@
+diff --git a/cmake/FindPyQt5.cmake b/cmake/FindPyQt5.cmake
+index b51fd0075e..87ee317e05 100644
+--- a/cmake/FindPyQt5.cmake
++++ b/cmake/FindPyQt5.cmake
+@@ -25,7 +25,7 @@ ELSE(EXISTS PYQT5_VERSION_STR)
+   IF(SIP_BUILD_EXECUTABLE)
+     # SIP >= 5.0 path
+ 
+-    FILE(GLOB _pyqt5_metadata "${Python_SITEARCH}/PyQt5-*.dist-info/METADATA")
++    FILE(GLOB _pyqt5_metadata "@pyQt5PackageDir@/PyQt5-*.dist-info/METADATA")
+     IF(_pyqt5_metadata)
+       FILE(READ ${_pyqt5_metadata} _pyqt5_metadata_contents)
+       STRING(REGEX REPLACE ".*\nVersion: ([^\n]+).*$" "\\1" PYQT5_VERSION_STR ${_pyqt5_metadata_contents})
+@@ -34,8 +34,8 @@ ELSE(EXISTS PYQT5_VERSION_STR)
+     ENDIF(_pyqt5_metadata)
+ 
+     IF(PYQT5_VERSION_STR)
+-      SET(PYQT5_MOD_DIR "${Python_SITEARCH}/PyQt5")
+-      SET(PYQT5_SIP_DIR "${Python_SITEARCH}/PyQt5/bindings")
++      SET(PYQT5_MOD_DIR "@pyQt5PackageDir@/PyQt5")
++      SET(PYQT5_SIP_DIR "@pyQt5PackageDir@/PyQt5/bindings")
+       FIND_PROGRAM(__pyuic5 "pyuic5")
+       GET_FILENAME_COMPONENT(PYQT5_BIN_DIR ${__pyuic5} DIRECTORY)
+ 
+diff --git a/cmake/FindQsci.cmake b/cmake/FindQsci.cmake
+index 69e41c1fe9..5456c3d59b 100644
+--- a/cmake/FindQsci.cmake
++++ b/cmake/FindQsci.cmake
+@@ -24,7 +24,7 @@ ELSE(QSCI_MOD_VERSION_STR)
+   IF(SIP_BUILD_EXECUTABLE)
+     # SIP >= 5.0 path
+ 
+-    FILE(GLOB _qsci_metadata "${Python_SITEARCH}/QScintilla*.dist-info/METADATA")
++    FILE(GLOB _qsci_metadata "@qsciPackageDir@/QScintilla*.dist-info/METADATA")
+     IF(_qsci_metadata)
+       FILE(READ ${_qsci_metadata} _qsci_metadata_contents)
+       STRING(REGEX REPLACE ".*\nVersion: ([^\n]+).*$" "\\1" QSCI_MOD_VERSION_STR ${_qsci_metadata_contents})
+@@ -33,7 +33,7 @@ ELSE(QSCI_MOD_VERSION_STR)
+     ENDIF(_qsci_metadata)
+ 
+     IF(QSCI_MOD_VERSION_STR)
+-      SET(QSCI_SIP_DIR "${PYQT5_SIP_DIR}")
++      SET(QSCI_SIP_DIR "@qsciPackageDir@/PyQt5/bindings")
+       SET(QSCI_FOUND TRUE)
+     ENDIF(QSCI_MOD_VERSION_STR)
+ 
+diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
+index 4cd19c3af4..668cc6a5e6 100644
+--- a/python/CMakeLists.txt
++++ b/python/CMakeLists.txt
+@@ -206,7 +206,7 @@ if (WITH_GUI)
+     install(FILES ${QGIS_PYTHON_OUTPUT_DIRECTORY}/_gui.pyi DESTINATION ${QGIS_PYTHON_DIR})
+   endif()
+   if(QSCI_SIP_DIR)
+-    set(SIP_EXTRA_OPTIONS ${SIP_EXTRA_OPTIONS} -I ${QSCI_SIP_DIR})
++    set(SIP_BUILD_EXTRA_OPTIONS ${SIP_BUILD_EXTRA_OPTIONS} --include-dir=${QSCI_SIP_DIR})
+   else()
+     message(STATUS "Qsci sip file not found - disabling bindings for derived classes")
+     set(SIP_DISABLE_FEATURES ${SIP_DISABLE_FEATURES} HAVE_QSCI_SIP)
diff --git a/pkgs/applications/gis/qgis/unwrapped-ltr.nix b/pkgs/applications/gis/qgis/unwrapped-ltr.nix
index e079d347181..b5a407ef533 100644
--- a/pkgs/applications/gis/qgis/unwrapped-ltr.nix
+++ b/pkgs/applications/gis/qgis/unwrapped-ltr.nix
@@ -38,6 +38,8 @@
 , pdal
 , zstd
 , makeWrapper
+, wrapGAppsHook
+, substituteAll
 }:
 
 let
@@ -64,7 +66,9 @@ let
     urllib3
     pygments
     pyqt5
-    sip_4
+    pyqt-builder
+    sip
+    setuptools
     owslib
     six
   ];
@@ -116,29 +120,31 @@ in mkDerivation rec {
     ++ lib.optional withWebKit qtwebkit
     ++ pythonBuildInputs;
 
-  nativeBuildInputs = [ makeWrapper cmake flex bison ninja ];
+  nativeBuildInputs = [ makeWrapper wrapGAppsHook cmake flex bison ninja ];
 
-  # Force this pyqt_sip_dir variable to point to the sip dir in PyQt5
-  #
-  # TODO: Correct PyQt5 to provide the expected directory and fix
-  # build to use PYQT5_SIP_DIR consistently.
-  postPatch = ''
-    substituteInPlace cmake/FindPyQt5.py \
-      --replace 'sip_dir = cfg.default_sip_dir' 'sip_dir = "${py.pkgs.pyqt5}/${py.pkgs.python.sitePackages}/PyQt5/bindings"'
-  '';
+  patches = [
+    (substituteAll {
+      src = ./set-pyqt-package-dirs.patch;
+      pyQt5PackageDir = "${py.pkgs.pyqt5}/${py.pkgs.python.sitePackages}";
+      qsciPackageDir = "${py.pkgs.qscintilla-qt5}/${py.pkgs.python.sitePackages}";
+    })
+  ];
 
   cmakeFlags = [
     "-DWITH_3D=True"
     "-DWITH_PDAL=TRUE"
-    "-DPYQT5_SIP_DIR=${py.pkgs.pyqt5}/${py.pkgs.python.sitePackages}/PyQt5/bindings"
-    "-DQSCI_SIP_DIR=${py.pkgs.qscintilla-qt5}/${py.pkgs.python.sitePackages}/PyQt5/bindings"
   ] ++ lib.optional (!withWebKit) "-DWITH_QTWEBKIT=OFF"
     ++ lib.optional withGrass "-DGRASS_PREFIX7=${grass}/grass78";
 
+  dontWrapGApps = true; # wrapper params passed below
+
   postFixup = lib.optionalString withGrass ''
     # grass has to be availble on the command line even though we baked in
-    # the path at build time using GRASS_PREFIX
+    # the path at build time using GRASS_PREFIX.
+    # using wrapGAppsHook also prevents file dialogs from crashing the program
+    # on non-NixOS
     wrapProgram $out/bin/qgis \
+      "''${gappsWrapperArgs[@]}" \
       --prefix PATH : ${lib.makeBinPath [ grass ]}
   '';
 
diff --git a/pkgs/applications/gis/qgis/unwrapped.nix b/pkgs/applications/gis/qgis/unwrapped.nix
index fe53f0726b4..ae35fb2ec26 100644
--- a/pkgs/applications/gis/qgis/unwrapped.nix
+++ b/pkgs/applications/gis/qgis/unwrapped.nix
@@ -38,6 +38,8 @@
 , pdal
 , zstd
 , makeWrapper
+, wrapGAppsHook
+, substituteAll
 }:
 
 let
@@ -64,7 +66,9 @@ let
     urllib3
     pygments
     pyqt5
-    sip_4
+    pyqt-builder
+    sip
+    setuptools
     owslib
     six
   ];
@@ -116,29 +120,31 @@ in mkDerivation rec {
     ++ lib.optional withWebKit qtwebkit
     ++ pythonBuildInputs;
 
-  nativeBuildInputs = [ makeWrapper cmake flex bison ninja ];
+  nativeBuildInputs = [ makeWrapper wrapGAppsHook cmake flex bison ninja ];
 
-  # Force this pyqt_sip_dir variable to point to the sip dir in PyQt5
-  #
-  # TODO: Correct PyQt5 to provide the expected directory and fix
-  # build to use PYQT5_SIP_DIR consistently.
-  postPatch = ''
-    substituteInPlace cmake/FindPyQt5.py \
-      --replace 'sip_dir = cfg.default_sip_dir' 'sip_dir = "${py.pkgs.pyqt5}/${py.pkgs.python.sitePackages}/PyQt5/bindings"'
-  '';
+  patches = [
+    (substituteAll {
+      src = ./set-pyqt-package-dirs.patch;
+      pyQt5PackageDir = "${py.pkgs.pyqt5}/${py.pkgs.python.sitePackages}";
+      qsciPackageDir = "${py.pkgs.qscintilla-qt5}/${py.pkgs.python.sitePackages}";
+    })
+  ];
 
   cmakeFlags = [
     "-DWITH_3D=True"
     "-DWITH_PDAL=TRUE"
-    "-DPYQT5_SIP_DIR=${py.pkgs.pyqt5}/${py.pkgs.python.sitePackages}/PyQt5/bindings"
-    "-DQSCI_SIP_DIR=${py.pkgs.qscintilla-qt5}/${py.pkgs.python.sitePackages}/PyQt5/bindings"
   ] ++ lib.optional (!withWebKit) "-DWITH_QTWEBKIT=OFF"
     ++ lib.optional withGrass "-DGRASS_PREFIX7=${grass}/grass78";
 
+  dontWrapGApps = true; # wrapper params passed below
+
   postFixup = lib.optionalString withGrass ''
     # grass has to be availble on the command line even though we baked in
-    # the path at build time using GRASS_PREFIX
+    # the path at build time using GRASS_PREFIX.
+    # using wrapGAppsHook also prevents file dialogs from crashing the program
+    # on non-NixOS
     wrapProgram $out/bin/qgis \
+      "''${gappsWrapperArgs[@]}" \
       --prefix PATH : ${lib.makeBinPath [ grass ]}
   '';
 
diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix
index f1a9d7ae672..92b8164f8b6 100644
--- a/pkgs/applications/graphics/ImageMagick/default.nix
+++ b/pkgs/applications/graphics/ImageMagick/default.nix
@@ -46,13 +46,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "imagemagick";
-  version = "7.1.0-44";
+  version = "7.1.0-45";
 
   src = fetchFromGitHub {
     owner = "ImageMagick";
     repo = "ImageMagick";
     rev = version;
-    hash = "sha256-vJGZ47l8nSRnINWHsw562zsQ14fSR5SObr/SO+/40yw=";
+    hash = "sha256-fiygwb15dbMyTZ62iWbhWaHpdmoK4rKeb46v0sojgpc=";
   };
 
   outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
diff --git a/pkgs/applications/graphics/drawio/default.nix b/pkgs/applications/graphics/drawio/default.nix
index 85d201f32dc..1080f56ebe9 100644
--- a/pkgs/applications/graphics/drawio/default.nix
+++ b/pkgs/applications/graphics/drawio/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "drawio";
-  version = "19.0.3";
+  version = "20.2.3";
 
   src = fetchurl {
     url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/drawio-x86_64-${version}.rpm";
-    sha256 = "be456d396a19dcb8881ad4bff315197306ae05cca5e47332a1e5ad572948614e";
+    sha256 = "sha256-O/gzXAzvaYJXpexjBSc6jNW1wX0ukwQcpFU8fq4qM4k=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/emulsion-palette/default.nix b/pkgs/applications/graphics/emulsion-palette/default.nix
new file mode 100644
index 00000000000..3c217382669
--- /dev/null
+++ b/pkgs/applications/graphics/emulsion-palette/default.nix
@@ -0,0 +1,48 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, meson
+, ninja
+, vala
+, wrapGAppsHook4
+, libadwaita
+, json-glib
+, libgee
+, pkg-config
+, gtk3
+, desktop-file-utils
+}:
+
+stdenv.mkDerivation rec {
+  pname = "emulsion-palette";
+  version = "3.3.9";
+
+  src = fetchFromGitHub {
+    owner = "lainsce";
+    repo = "emulsion";
+    rev = version;
+    sha256 = "sha256-xG7yZKbbNao/pzFhdTMof/lw9K12NKZi47YRaEd65ok=";
+  };
+
+  nativeBuildInputs = [ meson ninja pkg-config vala wrapGAppsHook4 ];
+
+  buildInputs = [
+    desktop-file-utils
+    gtk3 # We're only using it for the gtk-update-icon-cache utility.
+    json-glib
+    libadwaita
+    libgee
+  ];
+
+  postFixup = ''
+    ln -s $out/bin/io.github.lainsce.Emulsion $out/bin/emulsion-palette
+  '';
+
+  meta = with lib; {
+    description = "Store your color palettes in an easy way";
+    homepage = "https://github.com/lainsce/emulsion";
+    license = licenses.gpl3Only;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ foo-dogsquared ];
+  };
+}
diff --git a/pkgs/applications/graphics/epick/default.nix b/pkgs/applications/graphics/epick/default.nix
index 563853f8f5a..6e98f0fe252 100644
--- a/pkgs/applications/graphics/epick/default.nix
+++ b/pkgs/applications/graphics/epick/default.nix
@@ -16,16 +16,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "epick";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "vv9k";
     repo = pname;
     rev = version;
-    sha256 = "sha256-x1C8kY9VpMg7aXgC/jRsLCeUV8uRLobgjSAQdK2/sHk=";
+    sha256 = "sha256-JSKenJEM+FUk/2BtAstIhJ26kFBRDvvFAlBsb0ltUsY=";
   };
 
-  cargoSha256 = "sha256-KgQOlvKRt47lg7NteqBa2DLKkDf93JTzp9EIHn3clxY=";
+  cargoSha256 = "sha256-hFay+XL2oqA7SC+I3wlrzhUmUitO2vbeqfoArU9Jsp4=";
 
   nativeBuildInputs = lib.optional stdenv.isLinux python3;
 
diff --git a/pkgs/applications/graphics/freecad/default.nix b/pkgs/applications/graphics/freecad/default.nix
index 6c3f6fac303..17537083aae 100644
--- a/pkgs/applications/graphics/freecad/default.nix
+++ b/pkgs/applications/graphics/freecad/default.nix
@@ -49,13 +49,13 @@
 
 mkDerivation rec {
   pname = "freecad";
-  version = "0.20";
+  version = "0.20.1";
 
   src = fetchFromGitHub {
     owner = "FreeCAD";
     repo = "FreeCAD";
     rev = version;
-    hash = "sha256-Em4XVxDfvVG1Kf7q+6uHNA/VcMGLKMTv5TCh2XF/BtQ=";
+    hash = "sha256-r2lhFv4ReASteoVxwwiW9TdSckpaju6QE8UegxeY4rE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index 88f62793483..83fd78c6313 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -48,6 +48,7 @@ let
       cachecontrol
       numpy
       lxml
+      packaging
       pillow
       scour
       pyserial
diff --git a/pkgs/applications/graphics/kodelife/default.nix b/pkgs/applications/graphics/kodelife/default.nix
index 6286e64e3ef..291d63d11a0 100644
--- a/pkgs/applications/graphics/kodelife/default.nix
+++ b/pkgs/applications/graphics/kodelife/default.nix
@@ -1,15 +1,51 @@
-{ lib, stdenv
-, fetchzip
+{ lib
+, stdenv
+, fetchurl
+, makeWrapper
+, autoPatchelfHook
+, dpkg
 , alsa-lib
-, glib
-, gst_all_1
-, libGLU, libGL
-, xorg
+, curl
+, avahi
+, gstreamer
+, gst-plugins-base
+, libxcb
+, libX11
+, libXcursor
+, libXext
+, libXi
+, libXinerama
+, libXrandr
+, libXrender
+, libXxf86vm
+, libglvnd
+, gnome
 }:
 
+let
+  runLibDeps = [
+    curl
+    avahi
+    libxcb
+    libX11
+    libXcursor
+    libXext
+    libXi
+    libXinerama
+    libXrandr
+    libXrender
+    libXxf86vm
+    libglvnd
+  ];
+
+  runBinDeps = [
+    gnome.zenity
+  ];
+in
+
 stdenv.mkDerivation rec {
   pname = "kodelife";
-  version = "0.9.8.143";
+  version = "1.0.5.161";
 
   suffix = {
     aarch64-linux = "linux-arm64";
@@ -17,51 +53,55 @@ stdenv.mkDerivation rec {
     x86_64-linux  = "linux-x86_64";
   }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
-  src = fetchzip {
-    url = "https://hexler.net/pub/${pname}/${pname}-${version}-${suffix}.zip";
-    sha256 = {
-      aarch64-linux = "0ryjmpzpfqdqrvqpq851vvrjd8ld5g91gcigpv9rxp3z1b7qdand";
-      armv7l-linux  = "08nlwn8ixndqil4m7j6c8gjxmwx8zi3in86arnwf13shk6cds5nb";
-      x86_64-linux  = "0kbz7pvh4i4a3pj1vzbzzslha825i888isvsigcqsqvipjr4798q";
+  src = fetchurl {
+    url = "https://hexler.net/pub/${pname}/${pname}-${version}-${suffix}.deb";
+    hash = {
+      aarch64-linux = "sha256-6QZ5jCxINCH46GQx+V68FpkIAOIOFw4Kd0tUQTKBRzU=";
+      armv7l-linux  = "sha256-eToNjPttY62EzNuRSVvJsHttO6Ux6LXRPRuuIKnvaxM=";
+      x86_64-linux  = "sha256-5M2tgpF74RmrCLI44RBNXK5t0hMAOHtmcjWu7fypc0U=";
     }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
   };
 
-  dontConfigure = true;
-  dontBuild = true;
-  dontStrip = true;
-  dontPatchELF = true;
-  preferLocalBuild = true;
+  unpackCmd = "mkdir root; dpkg-deb -x $curSrc root";
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    makeWrapper
+    autoPatchelfHook
+    dpkg
+  ];
+
+  buildInputs = [
+    stdenv.cc.cc.lib
+    alsa-lib
+    gstreamer
+    gst-plugins-base
+  ];
 
   installPhase = ''
     runHook preInstall
+
+    mkdir -p $out
+    cp -r usr/share $out/share
+
     mkdir -p $out/bin
-    mv KodeLife $out/bin
-    runHook postInstall
-  '';
+    cp opt/kodelife/KodeLife $out/bin/KodeLife
 
-  preFixup = let
-    libPath = lib.makeLibraryPath [
-      stdenv.cc.cc.lib
-      alsa-lib
-      glib
-      gst_all_1.gstreamer
-      gst_all_1.gst-plugins-base
-      libGLU libGL
-      xorg.libX11
-    ];
-  in ''
-    patchelf \
-      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-      --set-rpath "${libPath}" \
-      $out/bin/KodeLife
+    wrapProgram $out/bin/KodeLife \
+      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath runLibDeps} \
+      --prefix PATH : ${lib.makeBinPath runBinDeps}
+
+    runHook postInstall
   '';
 
   meta = with lib; {
-    homepage = "https://hexler.net/products/kodelife";
+    homepage = "https://hexler.net/kodelife";
     description = "Real-time GPU shader editor";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
-    maintainers = with maintainers; [ prusnak ];
+    maintainers = with maintainers; [ prusnak lilyinstarlight ];
     platforms = [ "aarch64-linux" "armv7l-linux" "x86_64-linux" ];
+    mainProgram = "KodeLife";
   };
 }
diff --git a/pkgs/applications/graphics/megapixels/default.nix b/pkgs/applications/graphics/megapixels/default.nix
index 13f6c3f5ab3..e8ce0dbd0ce 100644
--- a/pkgs/applications/graphics/megapixels/default.nix
+++ b/pkgs/applications/graphics/megapixels/default.nix
@@ -27,13 +27,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "megapixels";
-  version = "1.5.0";
+  version = "1.5.2";
 
   src = fetchFromGitLab {
     owner = "postmarketOS";
     repo = "megapixels";
     rev = version;
-    hash = "sha256-zOtHxnXDzsLfaQPS0BhbuoUXglCbRULVJfk1txoS72Y=";
+    hash = "sha256-UH3NQdMlZTi4hc8HNSbCcQSm0rxI78RMCRYll1NCBO8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/nsxiv/default.nix b/pkgs/applications/graphics/nsxiv/default.nix
index c1ebbd57c0d..019aaf86dc3 100644
--- a/pkgs/applications/graphics/nsxiv/default.nix
+++ b/pkgs/applications/graphics/nsxiv/default.nix
@@ -1,43 +1,58 @@
 { lib
 , stdenv
-, fetchFromGitHub
+, fetchFromGitea
+, fetchpatch
 , giflib
 , imlib2
 , libXft
 , libexif
 , libwebp
+, libinotify-kqueue
 , conf ? null
 }:
 
 stdenv.mkDerivation rec {
   pname = "nsxiv";
-  version = "29";
+  version = "30";
 
-  src = fetchFromGitHub {
+  src = fetchFromGitea {
+    domain = "codeberg.org";
     owner = "nsxiv";
-    repo = pname;
+    repo = "nsxiv";
     rev = "v${version}";
-    hash = "sha256-JUF2cF6QeAXk6G76uMu3reaMgxp2RcqHDbamkNufwqE=";
+    hash = "sha256-swzTdQ6ow1At4bKRORqz6fb0Ej92yU9rlI/OgcinPu4=";
   };
 
+  patches = [
+    # Fix build failure when _SC_PHYS_PAGES is not defined
+    (fetchpatch {
+      url = "https://codeberg.org/nsxiv/nsxiv/commit/1a50bff9f300f84e93a6e7035657e6029e7e8183.patch";
+      hash = "sha256-PpUqGVWaJ06EVu3tBKVzOh8HYvT6wAG3bvY6wUD+dTM=";
+    })
+  ];
+
   buildInputs = [
     giflib
     imlib2
     libXft
     libexif
     libwebp
-  ];
+  ] ++ lib.optional stdenv.isDarwin libinotify-kqueue;
 
   preBuild = lib.optionalString (conf!=null) ''
     cp ${(builtins.toFile "config.def.h" conf)} config.def.h
   '';
 
-  makeFlags = [
-    "PREFIX=${placeholder "out"}"
-  ];
+  NIX_LDFLAGS = lib.optionalString stdenv.isDarwin "-linotify";
+
+  makeFlags = [ "CC:=$(CC)" ];
+
+  installFlags = [ "PREFIX=$(out)" ];
+
+  installTargets = [ "install-all" ];
 
   meta = with lib; {
-    homepage = "https://nsxiv.github.io/nsxiv/";
+    homepage = "https://nsxiv.codeberg.page/";
     description = "New Suckless X Image Viewer";
     longDescription = ''
       nsxiv is a fork of now unmaintained sxiv with the purpose of being a
@@ -54,8 +69,7 @@ stdenv.mkDerivation rec {
       - Display image name/path in X title
     '';
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ AndersonTorres ];
+    maintainers = with maintainers; [ AndersonTorres sikmir ];
     platforms = platforms.unix;
-    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/applications/graphics/pika/default.nix b/pkgs/applications/graphics/pika/default.nix
new file mode 100644
index 00000000000..b9cbf142a21
--- /dev/null
+++ b/pkgs/applications/graphics/pika/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, fetchurl
+, stdenv
+, undmg
+}:
+
+stdenv.mkDerivation rec {
+  pname = "pika";
+  version = "0.0.12";
+
+  src = fetchurl {
+    url = "https://github.com/superhighfives/${pname}/releases/download/${version}/Pika-${version}.dmg";
+    sha256 = "sha256-hcP2bETEx9RQW43I9nvdRPi9lbWwKW6mhRx5H6RxhjM=";
+  };
+
+  nativeBuildInputs = [ undmg ];
+
+  sourceRoot = "Pika.app";
+
+  installPhase = ''
+    mkdir -p "$out/Applications/Pika.app"
+    cp -R . "$out/Applications/Pika.app"
+  '';
+
+  meta = with lib; {
+    homepage = "https://superhighfives.com/pika";
+    description = "An open-source colour picker app for macOS";
+    platforms = platforms.darwin;
+    license = licenses.mit;
+    maintainers = with maintainers; [ arkivm ];
+  };
+}
diff --git a/pkgs/applications/graphics/rawtherapee/default.nix b/pkgs/applications/graphics/rawtherapee/default.nix
index 494180fdb59..c1f78b1807f 100644
--- a/pkgs/applications/graphics/rawtherapee/default.nix
+++ b/pkgs/applications/graphics/rawtherapee/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, pkg-config, cmake, pixman, libpthreadstubs, gtkmm3, libXau
 , libXdmcp, lcms2, libiptcdata, libcanberra-gtk3, fftw, expat, pcre, libsigcxx, wrapGAppsHook
-, lensfun, librsvg
+, lensfun, librsvg, gtk-mac-integration
 }:
 
 stdenv.mkDerivation rec {
@@ -17,11 +17,17 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake pkg-config wrapGAppsHook ];
 
   # This patch is upstream; remove it in 5.9.
-  patches = [ ./fix-6324.patch ];
+  patches = [ ./fix-6324.patch ]
+  # Disable upstream-enforced bundling on macOS.
+  ++ lib.optionals stdenv.isDarwin [ ./do-not-bundle.patch ];
 
   buildInputs = [
     pixman libpthreadstubs gtkmm3 libXau libXdmcp
-    lcms2 libiptcdata libcanberra-gtk3 fftw expat pcre libsigcxx lensfun librsvg
+    lcms2 libiptcdata fftw expat pcre libsigcxx lensfun librsvg
+  ] ++ lib.optionals stdenv.isLinux [
+    libcanberra-gtk3
+  ] ++ lib.optionals stdenv.isDarwin [
+    gtk-mac-integration
   ];
 
   cmakeFlags = [
@@ -40,6 +46,6 @@ stdenv.mkDerivation rec {
     homepage = "http://www.rawtherapee.com/";
     license = lib.licenses.gpl3Plus;
     maintainers = with lib.maintainers; [ jcumming mahe ];
-    platforms = with lib.platforms; linux;
+    platforms = with lib.platforms; unix;
   };
 }
diff --git a/pkgs/applications/graphics/rawtherapee/do-not-bundle.patch b/pkgs/applications/graphics/rawtherapee/do-not-bundle.patch
new file mode 100644
index 00000000000..8c3257e888c
--- /dev/null
+++ b/pkgs/applications/graphics/rawtherapee/do-not-bundle.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0a55ca6d5..68c059aa5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -233,6 +233,6 @@ if(WIN32 OR APPLE)
+     endif()
+-    set(BUILD_BUNDLE ON FORCE)
++    set(BUILD_BUNDLE OFF)
+ endif()
+ 
+ if(NOT DEFINED BUNDLE_BASE_INSTALL_DIR)
+-    if(APPLE)
++    if(FALSE)
diff --git a/pkgs/applications/graphics/rnote/default.nix b/pkgs/applications/graphics/rnote/default.nix
index 98726de0604..b5964adbbca 100644
--- a/pkgs/applications/graphics/rnote/default.nix
+++ b/pkgs/applications/graphics/rnote/default.nix
@@ -22,20 +22,20 @@
 
 stdenv.mkDerivation rec {
   pname = "rnote";
-  version = "0.5.3";
+  version = "0.5.4";
 
   src = fetchFromGitHub {
     owner = "flxzt";
     repo = "rnote";
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-v4cca4tSv//VFUvOfemkueELxlez2TdtynqbzjCTlB4=";
+    hash = "sha256-CZLZblC10k5ynzDDXi/bOe6Rc6M94eywXjyu0ABOVq4=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-sK8GOLxNG4mu45oQSaFi467DHYt00Pxu3vMM6Po/YqI=";
+    hash = "sha256-Udat35KqrMWR0Ckx34BWoF0HiJHZ5CP2CGFD6FNCWRA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/1password-gui/beta.nix b/pkgs/applications/misc/1password-gui/beta.nix
index fa68f6e833f..310df03b766 100644
--- a/pkgs/applications/misc/1password-gui/beta.nix
+++ b/pkgs/applications/misc/1password-gui/beta.nix
@@ -44,18 +44,18 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "1password";
-  version = "8.8.0-215.BETA";
+  version = "8.9.0-1.BETA";
 
   src =
     if stdenv.hostPlatform.isAarch64 then
       fetchurl {
         url = "https://downloads.1password.com/linux/tar/beta/aarch64/1password-${version}.arm64.tar.gz";
-        sha256 = "sha256-GjLwLeJ6GE39NFIZ+v83xaUVsgrkKRH3xt60aG/XrDg=";
+        sha256 = "0wxf1l6wh5m80f6s4f32j9i7f233lg162fw40770xxgwv8bl1f6a";
       }
     else
       fetchurl {
         url = "https://downloads.1password.com/linux/tar/beta/x86_64/1password-${version}.x64.tar.gz";
-        sha256 = "sha256-TR0evvu5NNR6Kvqj8JlpYuTcK9Rmf1oDFGrfzrGZzo8=";
+        sha256 = "0vqrcwn5y350g91w3kh8n43gw21kck1cwim92dw9i0xxxch91hrg";
       };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/misc/1password-gui/default.nix b/pkgs/applications/misc/1password-gui/default.nix
index 0bae8412b24..9a09cb10f62 100644
--- a/pkgs/applications/misc/1password-gui/default.nix
+++ b/pkgs/applications/misc/1password-gui/default.nix
@@ -23,8 +23,8 @@
 , libxcb
 , libxkbcommon
 , libxshmfence
-, libappindicator-gtk3
 , libGL
+, libappindicator-gtk3
 , mesa
 , nspr
 , nss
@@ -44,12 +44,19 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "1password";
-  version = "8.7.3";
+  version = "8.8.0";
 
-  src = fetchurl {
-    url = "https://downloads.1password.com/linux/tar/stable/x86_64/1password-${version}.x64.tar.gz";
-    sha256 = "sha256-1JMSUKbeqcyz5SJLrPD9kaqSlPI0pZVMXFjRuMIvwqo=";
-  };
+  src =
+    if stdenv.hostPlatform.isAarch64 then
+      fetchurl {
+        url = "https://downloads.1password.com/linux/tar/stable/aarch64/1password-${version}.arm64.tar.gz";
+        sha256 = "01swx12nqqh9i3191ibc8gv92k4dzsk1qpikg053qhn1zh2ag1dd";
+      }
+    else
+      fetchurl {
+        url = "https://downloads.1password.com/linux/tar/stable/x86_64/1password-${version}.x64.tar.gz";
+        sha256 = "1rcvxxcz2q7kgf6qbcjnjhysnx9z81hvl0jfv0nkp0p1w8bf1h66";
+      };
 
   nativeBuildInputs = [ makeWrapper ];
 
@@ -126,14 +133,12 @@ in stdenv.mkDerivation rec {
       runHook postInstall
     '';
 
-  passthru.updateScript = ./update.sh;
-
   meta = with lib; {
     description = "Multi-platform password manager";
     homepage = "https://1password.com/";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
     maintainers = with maintainers; [ timstott savannidgerinel maxeaubrey sebtm ];
-    platforms = [ "x86_64-linux" ];
+    platforms = [ "x86_64-linux" "aarch64-linux" ];
   };
 }
diff --git a/pkgs/applications/misc/1password-gui/update.sh b/pkgs/applications/misc/1password-gui/update.sh
deleted file mode 100755
index 8ebdaca7117..00000000000
--- a/pkgs/applications/misc/1password-gui/update.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -i bash -p curl gnused common-updater-scripts
-
-version="$(curl -sL https://onepassword.s3.amazonaws.com/linux/debian/dists/edge/main/binary-amd64/Packages | sed -r -n 's/^Version: (.*)/\1/p' | head -n1)"
-update-source-version _1password-gui "$version"
diff --git a/pkgs/applications/misc/1password/default.nix b/pkgs/applications/misc/1password/default.nix
index 72f4120cfc0..97df954ed2a 100644
--- a/pkgs/applications/misc/1password/default.nix
+++ b/pkgs/applications/misc/1password/default.nix
@@ -12,11 +12,11 @@ let
     if extension == "zip" then fetchzip args else fetchurl args;
 
   pname = "1password-cli";
-  version = "2.6.0";
+  version = "2.6.1";
   sources = rec {
     aarch64-linux = fetch "linux_arm64" "sha256-2V3/F7/HEOvk2T1dv4rnS0xu6Z5EqGSV/9erED7ZS1w=" "zip";
     i686-linux = fetch "linux_386" "sha256-z4pKZY5DQ2oDHHuet1S/p7GM+rXS8/8xmTrN+rqCUBo=" "zip";
-    x86_64-linux = fetch "linux_amd64" "sha256-1/DgwHMkUenj+2ZyADeBK1HJ3M/b2PoAey36eAqAUSQ=" "zip";
+    x86_64-linux = fetch "linux_amd64" "sha256-X+VyoXg7HRq70b9qRhk2N/UvBlhIkvCWM6kadaGDhsU=" "zip";
     aarch64-darwin = fetch "apple_universal" "sha256-YPidRXNzNNuDoM2Gd5dEsCDxwosBJFKSzjoP0SPkQZs=" "pkg";
     x86_64-darwin = aarch64-darwin;
   };
diff --git a/pkgs/applications/misc/ArchiSteamFarm/default.nix b/pkgs/applications/misc/ArchiSteamFarm/default.nix
index e54f6c8cbc1..3a88536224d 100644
--- a/pkgs/applications/misc/ArchiSteamFarm/default.nix
+++ b/pkgs/applications/misc/ArchiSteamFarm/default.nix
@@ -12,13 +12,13 @@
 buildDotnetModule rec {
   pname = "archisteamfarm";
   # nixpkgs-update: no auto update
-  version = "5.2.7.7";
+  version = "5.2.8.3";
 
   src = fetchFromGitHub {
     owner = "justarchinet";
     repo = pname;
     rev = version;
-    sha256 = "sha256-2yx6YjMsJixtaiWse65p5VeZoiSumdIjaPIlfq9Mdmw=";
+    sha256 = "sha256-WoEbcZbTUH34xkJ+KtAbJXFqWSpFXlXtsQgXOVknxTg=";
   };
 
   dotnet-runtime = dotnetCorePackages.aspnetcore_6_0;
diff --git a/pkgs/applications/misc/ArchiSteamFarm/deps-aarch64-linux.nix b/pkgs/applications/misc/ArchiSteamFarm/deps-aarch64-linux.nix
index 983e03c8f3d..4f276da75c3 100644
--- a/pkgs/applications/misc/ArchiSteamFarm/deps-aarch64-linux.nix
+++ b/pkgs/applications/misc/ArchiSteamFarm/deps-aarch64-linux.nix
@@ -1,6 +1,6 @@
 { fetchNuGet }: [
-  (fetchNuGet { pname = "AngleSharp"; version = "0.14.0"; sha256 = "1zgwhh1fp2mmaplvpgm86rpmslix3wqfxf0d3hxx1gxwfgr6wxm6"; })
-  (fetchNuGet { pname = "AngleSharp.XPath"; version = "1.1.7"; sha256 = "0lrk002nizq973zdmcm0wmcq17j5gizwp03xdv84hiqqd8cyy538"; })
+  (fetchNuGet { pname = "AngleSharp"; version = "0.17.1"; sha256 = "038idg33ydy72362qplsd7y8ldifi9zg02dhjli6wy4p47hyqcph"; })
+  (fetchNuGet { pname = "AngleSharp.XPath"; version = "2.0.1"; sha256 = "0sdxqjwvyf0l1cp4n4i84g7rly8z7ramq0y7vsgqvf6hzx7dnk5i"; })
   (fetchNuGet { pname = "ConfigureAwaitChecker.Analyzer"; version = "5.0.0.1"; sha256 = "01llfwhra5m3jj1qpa4rj1hbh01drirakzjc2963vkl9iwrzscyl"; })
   (fetchNuGet { pname = "CryptSharpStandard"; version = "1.0.0"; sha256 = "0nikzb92z4a2n969sz747ginwxsbrap5741bcwwxr4r6m2na9jz7"; })
   (fetchNuGet { pname = "Humanizer"; version = "2.14.1"; sha256 = "18cycx9gvbc3735chdi2r583x73m2fkz1ws03yi3g640j9zv00fp"; })
@@ -68,7 +68,7 @@
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.0.1"; sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; })
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.3.0"; sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb"; })
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.ApiDescription.Server"; version = "3.0.0"; sha256 = "13a47xcqyi5gz85swxd4mgp7ndgl4kknrvv3xwmbn71hsh953hsh"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.ApiDescription.Server"; version = "6.0.5"; sha256 = "1pi2bm3cm0a7jzqzmfc2r7bpcdkmk3hhjfvb2c81j7wl7xdw3624"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "5.0.0"; sha256 = "0fqxkc9pjxkqylsdf26s9q21ciyk56h1w33pz3v1v4wcv8yv1v6k"; })
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "5.0.0"; sha256 = "15sdwcyzz0qlybwbdq854bn3jk6kx7awx28gs864c4shhbqkppj4"; })
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "5.0.0"; sha256 = "17cz6s80va0ch0a6nqa1wbbbp3p8sqxb96lj4qcw67ivkp2yxiyj"; })
@@ -90,7 +90,6 @@
   (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "6.0.6"; sha256 = "1a6hvkiy2z6z7v7rw1q61qqlw7w0hzc4my3rm94kwgjcv5qkpr5k"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
@@ -110,9 +109,9 @@
   (fetchNuGet { pname = "Nito.AsyncEx.Tasks"; version = "5.1.2"; sha256 = "11wp47kc69sjdxrbg5pgx0wlffqlp0x5kr54ggnz2v19kmjz362v"; })
   (fetchNuGet { pname = "Nito.Collections.Deque"; version = "1.1.1"; sha256 = "152564q3s0n5swfv5p5rx0ghn2sm0g2xsnbd7gv8vb9yfklv7yg8"; })
   (fetchNuGet { pname = "Nito.Disposables"; version = "2.2.1"; sha256 = "1hx5k8497j34kxxgh060bvij0vfnraw90dmm3h9bmamcdi8wp80l"; })
-  (fetchNuGet { pname = "NLog"; version = "5.0.0"; sha256 = "10da1qfvqkfs7msb0f9yba3ias6dh9m0xjr2hbp95symbz8nrfwz"; })
-  (fetchNuGet { pname = "NLog.Extensions.Logging"; version = "5.0.0"; sha256 = "0r06b64f7j1pi7qlsaqvbvnp0irpng3vkngszis7mj0g6415rz8c"; })
-  (fetchNuGet { pname = "NLog.Web.AspNetCore"; version = "5.0.0"; sha256 = "1fj4m1kdszcxva918pz2abpn31vp69vj0349gfzixz87gml8vbg4"; })
+  (fetchNuGet { pname = "NLog"; version = "5.0.1"; sha256 = "1ln6qxm2kgq8vr4kja41y9b6mhcf2812fi7vbkmbc5q1bivawf1b"; })
+  (fetchNuGet { pname = "NLog.Extensions.Logging"; version = "5.0.1"; sha256 = "1z7cp2zdnaiijm6m0449h5q4mpij3985nbpayscwbifsnv8xl9ci"; })
+  (fetchNuGet { pname = "NLog.Web.AspNetCore"; version = "5.1.0"; sha256 = "18jaxjbyaw5q166px5n5hanlwh0swlpw0fbcwh2qhvla7ik11gyk"; })
   (fetchNuGet { pname = "NuGet.Frameworks"; version = "5.11.0"; sha256 = "0wv26gq39hfqw9md32amr5771s73f5zn1z9vs4y77cgynxr73s4z"; })
   (fetchNuGet { pname = "protobuf-net"; version = "3.0.101"; sha256 = "0594qckbc0lh61sw74ihaq4qmvf1lf133vfa88n443mh7lxm2fwf"; })
   (fetchNuGet { pname = "protobuf-net.Core"; version = "3.0.101"; sha256 = "1kvn9rnm6f0jxs0s9scyyx2f2p8rk03qzc1f6ijv1g6xgkpxkq1m"; })
@@ -165,14 +164,15 @@
   (fetchNuGet { pname = "runtime.win.System.Net.Sockets"; version = "4.3.0"; sha256 = "0lr3zki831vs6qhk5wckv2b9qbfk9rcj0ds2926qvj1b9y9m6sck"; })
   (fetchNuGet { pname = "runtime.win.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1700famsxndccfbcdz9q14qb20p49lax67mqwpgy4gx3vja1yczr"; })
   (fetchNuGet { pname = "SteamKit2"; version = "2.4.1"; sha256 = "13f7jra2d0kjlvnk4dghzhx8nhkd001i4xrkf6m19gisjvpjhpdr"; })
-  (fetchNuGet { pname = "Swashbuckle.AspNetCore"; version = "6.3.1"; sha256 = "1jyrqdj8bvxf1a8pcnkkj7v727c0sh1yzgnm6si7xzrhkz4zzc0z"; })
-  (fetchNuGet { pname = "Swashbuckle.AspNetCore.Annotations"; version = "6.3.1"; sha256 = "16mi3f130bn7arybfawc8wrwjb5zq31zyrsm7wjazj70gdpra9pb"; })
-  (fetchNuGet { pname = "Swashbuckle.AspNetCore.Newtonsoft"; version = "6.3.1"; sha256 = "1siabkmip1ccnpbaf1jn6dga996kqbf9y0am2qwa9abrpn1l30p7"; })
-  (fetchNuGet { pname = "Swashbuckle.AspNetCore.Swagger"; version = "6.3.1"; sha256 = "1lgy5wfrdc6ihamz50qbv5sjkx4g90m6lza9al5cf36hrs6cybnw"; })
-  (fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerGen"; version = "6.3.1"; sha256 = "1ikrgxxalkf0lj591444rc2x8y0kma8ch1vpnlslvaxgq58g9jpz"; })
-  (fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerUI"; version = "6.3.1"; sha256 = "13bhyldm2gfckzvmfyx577p1fs7afsxpipjnczfapqj4fawcd72v"; })
+  (fetchNuGet { pname = "Swashbuckle.AspNetCore"; version = "6.4.0"; sha256 = "1jkgjnkjcb6dif0lzn7whjwwdd4fi6mzkmkdx8sfmv5cffzq4fvk"; })
+  (fetchNuGet { pname = "Swashbuckle.AspNetCore.Annotations"; version = "6.4.0"; sha256 = "0d01dpl4bcnrxqxyxcx0jhh9v375fqhva9w0siadj5y6m15h1sl5"; })
+  (fetchNuGet { pname = "Swashbuckle.AspNetCore.Newtonsoft"; version = "6.4.0"; sha256 = "0yyh74b8vlngg2mg728ds86467y9vkxys29yszl129g2n8fk5q0m"; })
+  (fetchNuGet { pname = "Swashbuckle.AspNetCore.Swagger"; version = "6.4.0"; sha256 = "1wccx8ig2xc6xcfh774m5z34w6jn0hjffiwc5sq9yl63zkv01vnn"; })
+  (fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerGen"; version = "6.4.0"; sha256 = "1k58j6lfqcgrl5f7dw0xnbq6w5bvr42a9fc44vwbzl52kzjdlnh2"; })
+  (fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerUI"; version = "6.4.0"; sha256 = "1rxgf0hbkkzywh8z7asky2rrh1gpnrr514v1aj5vnmh49sa31kiz"; })
   (fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; })
   (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; })
+  (fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; })
   (fetchNuGet { pname = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; })
   (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
   (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; })
@@ -242,7 +242,7 @@
   (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; })
   (fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; })
   (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
-  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.0"; sha256 = "17labczwqk3jng3kkky73m0jhi8wc21vbl7cz5c0hj2p1dswin43"; })
+  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; })
   (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.1.0"; sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; })
   (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; })
   (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.0.1"; sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; })
@@ -269,7 +269,7 @@
   (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; })
   (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; })
   (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
-  (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.5.0"; sha256 = "19x38911pawq4mrxrm04l2bnxwxxlzq8v8rj4cbxnfjj8pnd3vj3"; })
+  (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "6.0.0"; sha256 = "0gm2kiz2ndm9xyzxgi0jhazgwslcs427waxgfa30m7yqll1kcrww"; })
   (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11"; sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; })
   (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; })
   (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.1.0"; sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; })
diff --git a/pkgs/applications/misc/ArchiSteamFarm/deps-x86_64-linux.nix b/pkgs/applications/misc/ArchiSteamFarm/deps-x86_64-linux.nix
index fc69de3a108..8f8a04977d1 100644
--- a/pkgs/applications/misc/ArchiSteamFarm/deps-x86_64-linux.nix
+++ b/pkgs/applications/misc/ArchiSteamFarm/deps-x86_64-linux.nix
@@ -1,6 +1,6 @@
 { fetchNuGet }: [
-  (fetchNuGet { pname = "AngleSharp"; version = "0.14.0"; sha256 = "1zgwhh1fp2mmaplvpgm86rpmslix3wqfxf0d3hxx1gxwfgr6wxm6"; })
-  (fetchNuGet { pname = "AngleSharp.XPath"; version = "1.1.7"; sha256 = "0lrk002nizq973zdmcm0wmcq17j5gizwp03xdv84hiqqd8cyy538"; })
+  (fetchNuGet { pname = "AngleSharp"; version = "0.17.1"; sha256 = "038idg33ydy72362qplsd7y8ldifi9zg02dhjli6wy4p47hyqcph"; })
+  (fetchNuGet { pname = "AngleSharp.XPath"; version = "2.0.1"; sha256 = "0sdxqjwvyf0l1cp4n4i84g7rly8z7ramq0y7vsgqvf6hzx7dnk5i"; })
   (fetchNuGet { pname = "ConfigureAwaitChecker.Analyzer"; version = "5.0.0.1"; sha256 = "01llfwhra5m3jj1qpa4rj1hbh01drirakzjc2963vkl9iwrzscyl"; })
   (fetchNuGet { pname = "CryptSharpStandard"; version = "1.0.0"; sha256 = "0nikzb92z4a2n969sz747ginwxsbrap5741bcwwxr4r6m2na9jz7"; })
   (fetchNuGet { pname = "Humanizer"; version = "2.14.1"; sha256 = "18cycx9gvbc3735chdi2r583x73m2fkz1ws03yi3g640j9zv00fp"; })
@@ -68,7 +68,7 @@
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.0.1"; sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; })
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.3.0"; sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb"; })
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.ApiDescription.Server"; version = "3.0.0"; sha256 = "13a47xcqyi5gz85swxd4mgp7ndgl4kknrvv3xwmbn71hsh953hsh"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.ApiDescription.Server"; version = "6.0.5"; sha256 = "1pi2bm3cm0a7jzqzmfc2r7bpcdkmk3hhjfvb2c81j7wl7xdw3624"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "5.0.0"; sha256 = "0fqxkc9pjxkqylsdf26s9q21ciyk56h1w33pz3v1v4wcv8yv1v6k"; })
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "5.0.0"; sha256 = "15sdwcyzz0qlybwbdq854bn3jk6kx7awx28gs864c4shhbqkppj4"; })
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "5.0.0"; sha256 = "17cz6s80va0ch0a6nqa1wbbbp3p8sqxb96lj4qcw67ivkp2yxiyj"; })
@@ -90,7 +90,6 @@
   (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "6.0.6"; sha256 = "1a6hvkiy2z6z7v7rw1q61qqlw7w0hzc4my3rm94kwgjcv5qkpr5k"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
@@ -110,9 +109,9 @@
   (fetchNuGet { pname = "Nito.AsyncEx.Tasks"; version = "5.1.2"; sha256 = "11wp47kc69sjdxrbg5pgx0wlffqlp0x5kr54ggnz2v19kmjz362v"; })
   (fetchNuGet { pname = "Nito.Collections.Deque"; version = "1.1.1"; sha256 = "152564q3s0n5swfv5p5rx0ghn2sm0g2xsnbd7gv8vb9yfklv7yg8"; })
   (fetchNuGet { pname = "Nito.Disposables"; version = "2.2.1"; sha256 = "1hx5k8497j34kxxgh060bvij0vfnraw90dmm3h9bmamcdi8wp80l"; })
-  (fetchNuGet { pname = "NLog"; version = "5.0.0"; sha256 = "10da1qfvqkfs7msb0f9yba3ias6dh9m0xjr2hbp95symbz8nrfwz"; })
-  (fetchNuGet { pname = "NLog.Extensions.Logging"; version = "5.0.0"; sha256 = "0r06b64f7j1pi7qlsaqvbvnp0irpng3vkngszis7mj0g6415rz8c"; })
-  (fetchNuGet { pname = "NLog.Web.AspNetCore"; version = "5.0.0"; sha256 = "1fj4m1kdszcxva918pz2abpn31vp69vj0349gfzixz87gml8vbg4"; })
+  (fetchNuGet { pname = "NLog"; version = "5.0.1"; sha256 = "1ln6qxm2kgq8vr4kja41y9b6mhcf2812fi7vbkmbc5q1bivawf1b"; })
+  (fetchNuGet { pname = "NLog.Extensions.Logging"; version = "5.0.1"; sha256 = "1z7cp2zdnaiijm6m0449h5q4mpij3985nbpayscwbifsnv8xl9ci"; })
+  (fetchNuGet { pname = "NLog.Web.AspNetCore"; version = "5.1.0"; sha256 = "18jaxjbyaw5q166px5n5hanlwh0swlpw0fbcwh2qhvla7ik11gyk"; })
   (fetchNuGet { pname = "NuGet.Frameworks"; version = "5.11.0"; sha256 = "0wv26gq39hfqw9md32amr5771s73f5zn1z9vs4y77cgynxr73s4z"; })
   (fetchNuGet { pname = "protobuf-net"; version = "3.0.101"; sha256 = "0594qckbc0lh61sw74ihaq4qmvf1lf133vfa88n443mh7lxm2fwf"; })
   (fetchNuGet { pname = "protobuf-net.Core"; version = "3.0.101"; sha256 = "1kvn9rnm6f0jxs0s9scyyx2f2p8rk03qzc1f6ijv1g6xgkpxkq1m"; })
@@ -165,14 +164,15 @@
   (fetchNuGet { pname = "runtime.win.System.Net.Sockets"; version = "4.3.0"; sha256 = "0lr3zki831vs6qhk5wckv2b9qbfk9rcj0ds2926qvj1b9y9m6sck"; })
   (fetchNuGet { pname = "runtime.win.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1700famsxndccfbcdz9q14qb20p49lax67mqwpgy4gx3vja1yczr"; })
   (fetchNuGet { pname = "SteamKit2"; version = "2.4.1"; sha256 = "13f7jra2d0kjlvnk4dghzhx8nhkd001i4xrkf6m19gisjvpjhpdr"; })
-  (fetchNuGet { pname = "Swashbuckle.AspNetCore"; version = "6.3.1"; sha256 = "1jyrqdj8bvxf1a8pcnkkj7v727c0sh1yzgnm6si7xzrhkz4zzc0z"; })
-  (fetchNuGet { pname = "Swashbuckle.AspNetCore.Annotations"; version = "6.3.1"; sha256 = "16mi3f130bn7arybfawc8wrwjb5zq31zyrsm7wjazj70gdpra9pb"; })
-  (fetchNuGet { pname = "Swashbuckle.AspNetCore.Newtonsoft"; version = "6.3.1"; sha256 = "1siabkmip1ccnpbaf1jn6dga996kqbf9y0am2qwa9abrpn1l30p7"; })
-  (fetchNuGet { pname = "Swashbuckle.AspNetCore.Swagger"; version = "6.3.1"; sha256 = "1lgy5wfrdc6ihamz50qbv5sjkx4g90m6lza9al5cf36hrs6cybnw"; })
-  (fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerGen"; version = "6.3.1"; sha256 = "1ikrgxxalkf0lj591444rc2x8y0kma8ch1vpnlslvaxgq58g9jpz"; })
-  (fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerUI"; version = "6.3.1"; sha256 = "13bhyldm2gfckzvmfyx577p1fs7afsxpipjnczfapqj4fawcd72v"; })
+  (fetchNuGet { pname = "Swashbuckle.AspNetCore"; version = "6.4.0"; sha256 = "1jkgjnkjcb6dif0lzn7whjwwdd4fi6mzkmkdx8sfmv5cffzq4fvk"; })
+  (fetchNuGet { pname = "Swashbuckle.AspNetCore.Annotations"; version = "6.4.0"; sha256 = "0d01dpl4bcnrxqxyxcx0jhh9v375fqhva9w0siadj5y6m15h1sl5"; })
+  (fetchNuGet { pname = "Swashbuckle.AspNetCore.Newtonsoft"; version = "6.4.0"; sha256 = "0yyh74b8vlngg2mg728ds86467y9vkxys29yszl129g2n8fk5q0m"; })
+  (fetchNuGet { pname = "Swashbuckle.AspNetCore.Swagger"; version = "6.4.0"; sha256 = "1wccx8ig2xc6xcfh774m5z34w6jn0hjffiwc5sq9yl63zkv01vnn"; })
+  (fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerGen"; version = "6.4.0"; sha256 = "1k58j6lfqcgrl5f7dw0xnbq6w5bvr42a9fc44vwbzl52kzjdlnh2"; })
+  (fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerUI"; version = "6.4.0"; sha256 = "1rxgf0hbkkzywh8z7asky2rrh1gpnrr514v1aj5vnmh49sa31kiz"; })
   (fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; })
   (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; })
+  (fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; })
   (fetchNuGet { pname = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; })
   (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
   (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; })
@@ -242,7 +242,7 @@
   (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; })
   (fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; })
   (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
-  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.0"; sha256 = "17labczwqk3jng3kkky73m0jhi8wc21vbl7cz5c0hj2p1dswin43"; })
+  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; })
   (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.1.0"; sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; })
   (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; })
   (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.0.1"; sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; })
@@ -269,7 +269,7 @@
   (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; })
   (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; })
   (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
-  (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.5.0"; sha256 = "19x38911pawq4mrxrm04l2bnxwxxlzq8v8rj4cbxnfjj8pnd3vj3"; })
+  (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "6.0.0"; sha256 = "0gm2kiz2ndm9xyzxgi0jhazgwslcs427waxgfa30m7yqll1kcrww"; })
   (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11"; sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; })
   (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; })
   (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.1.0"; sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; })
diff --git a/pkgs/applications/misc/ArchiSteamFarm/web-ui/default.nix b/pkgs/applications/misc/ArchiSteamFarm/web-ui/default.nix
index 260035bf11e..e3aad12a589 100644
--- a/pkgs/applications/misc/ArchiSteamFarm/web-ui/default.nix
+++ b/pkgs/applications/misc/ArchiSteamFarm/web-ui/default.nix
@@ -11,8 +11,8 @@ let
     repo = "ASF-ui";
     # updated by the update script
     # this is always the commit that should be used with asf-ui from the latest asf version
-    rev = "99278781c3716064dc25e3608a344900ebb05165";
-    sha256 = "0nly16g39cv4lhnm40w5ci6bdwypk0gp8n70l914907hy0nvz4vg";
+    rev = "60a692f2e0d6b7c2bcd2cf363042d4647f246b4b";
+    sha256 = "1g49zwghdfgzd5canrrw1c2r4780xyvcaz72p14w036h93fw01z2";
   };
 
 in
diff --git a/pkgs/applications/misc/ArchiSteamFarm/web-ui/node-packages.nix b/pkgs/applications/misc/ArchiSteamFarm/web-ui/node-packages.nix
index 5de9d220ab7..534ba7e8d51 100644
--- a/pkgs/applications/misc/ArchiSteamFarm/web-ui/node-packages.nix
+++ b/pkgs/applications/misc/ArchiSteamFarm/web-ui/node-packages.nix
@@ -13,436 +13,436 @@ let
         sha512 = "Aolwjd7HSC2PyY0fDj/wA/EimQT4HfEnFYNp5s9CQlrdhyvWTtvZ5YzrUPu6R6/1jKiUlxu8bUhkdSnKHNAHMA==";
       };
     };
-    "@babel/code-frame-7.16.7" = {
+    "@babel/code-frame-7.18.6" = {
       name = "_at_babel_slash_code-frame";
       packageName = "@babel/code-frame";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz";
-        sha512 = "iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==";
+        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz";
+        sha512 = "TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==";
       };
     };
-    "@babel/compat-data-7.17.10" = {
+    "@babel/compat-data-7.18.8" = {
       name = "_at_babel_slash_compat-data";
       packageName = "@babel/compat-data";
-      version = "7.17.10";
+      version = "7.18.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz";
-        sha512 = "GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==";
+        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz";
+        sha512 = "HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==";
       };
     };
-    "@babel/core-7.18.5" = {
+    "@babel/core-7.18.9" = {
       name = "_at_babel_slash_core";
       packageName = "@babel/core";
-      version = "7.18.5";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/core/-/core-7.18.5.tgz";
-        sha512 = "MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ==";
+        url = "https://registry.npmjs.org/@babel/core/-/core-7.18.9.tgz";
+        sha512 = "1LIb1eL8APMy91/IMW+31ckrfBM4yCoLaVzoDhZUKSM4cu1L1nIidyxkCgzPAgrC5WEz36IPEr/eSeSF9pIn+g==";
       };
     };
-    "@babel/eslint-parser-7.18.2" = {
+    "@babel/eslint-parser-7.18.9" = {
       name = "_at_babel_slash_eslint-parser";
       packageName = "@babel/eslint-parser";
-      version = "7.18.2";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.18.2.tgz";
-        sha512 = "oFQYkE8SuH14+uR51JVAmdqwKYXGRjEXx7s+WiagVjqQ+HPE+nnwyF2qlVG8evUsUHmPcA+6YXMEDbIhEyQc5A==";
+        url = "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.18.9.tgz";
+        sha512 = "KzSGpMBggz4fKbRbWLNyPVTuQr6cmCcBhOyXTw/fieOVaw5oYAwcAj4a7UKcDYCPxQq+CG1NCDZH9e2JTXquiQ==";
       };
     };
-    "@babel/generator-7.18.2" = {
+    "@babel/generator-7.18.9" = {
       name = "_at_babel_slash_generator";
       packageName = "@babel/generator";
-      version = "7.18.2";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz";
-        sha512 = "W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==";
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.18.9.tgz";
+        sha512 = "wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug==";
       };
     };
-    "@babel/helper-annotate-as-pure-7.16.7" = {
+    "@babel/helper-annotate-as-pure-7.18.6" = {
       name = "_at_babel_slash_helper-annotate-as-pure";
       packageName = "@babel/helper-annotate-as-pure";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz";
-        sha512 = "s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==";
+        url = "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz";
+        sha512 = "duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==";
       };
     };
-    "@babel/helper-builder-binary-assignment-operator-visitor-7.16.7" = {
+    "@babel/helper-builder-binary-assignment-operator-visitor-7.18.6" = {
       name = "_at_babel_slash_helper-builder-binary-assignment-operator-visitor";
       packageName = "@babel/helper-builder-binary-assignment-operator-visitor";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz";
-        sha512 = "C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==";
+        url = "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.6.tgz";
+        sha512 = "KT10c1oWEpmrIRYnthbzHgoOf6B+Xd6a5yhdbNtdhtG7aO1or5HViuf1TQR36xY/QprXA5nvxO6nAjhJ4y38jw==";
       };
     };
-    "@babel/helper-compilation-targets-7.18.2" = {
+    "@babel/helper-compilation-targets-7.18.9" = {
       name = "_at_babel_slash_helper-compilation-targets";
       packageName = "@babel/helper-compilation-targets";
-      version = "7.18.2";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz";
-        sha512 = "s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ==";
+        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz";
+        sha512 = "tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==";
       };
     };
-    "@babel/helper-create-class-features-plugin-7.18.0" = {
+    "@babel/helper-create-class-features-plugin-7.18.6" = {
       name = "_at_babel_slash_helper-create-class-features-plugin";
       packageName = "@babel/helper-create-class-features-plugin";
-      version = "7.18.0";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.0.tgz";
-        sha512 = "Kh8zTGR9de3J63e5nS0rQUdRs/kbtwoeQQ0sriS0lItjC96u8XXZN6lKpuyWd2coKSU13py/y+LTmThLuVX0Pg==";
+        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.6.tgz";
+        sha512 = "YfDzdnoxHGV8CzqHGyCbFvXg5QESPFkXlHtvdCkesLjjVMT2Adxe4FGUR5ChIb3DxSaXO12iIOCWoXdsUVwnqw==";
       };
     };
-    "@babel/helper-create-regexp-features-plugin-7.17.12" = {
+    "@babel/helper-create-regexp-features-plugin-7.18.6" = {
       name = "_at_babel_slash_helper-create-regexp-features-plugin";
       packageName = "@babel/helper-create-regexp-features-plugin";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.12.tgz";
-        sha512 = "b2aZrV4zvutr9AIa6/gA3wsZKRwTKYoDxYiFKcESS3Ug2GTXzwBEvMuuFLhCQpEnRXs1zng4ISAXSUxxKBIcxw==";
+        url = "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz";
+        sha512 = "7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==";
       };
     };
-    "@babel/helper-define-polyfill-provider-0.3.0" = {
+    "@babel/helper-define-polyfill-provider-0.3.1" = {
       name = "_at_babel_slash_helper-define-polyfill-provider";
       packageName = "@babel/helper-define-polyfill-provider";
-      version = "0.3.0";
+      version = "0.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.0.tgz";
-        sha512 = "7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg==";
+        url = "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz";
+        sha512 = "J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==";
       };
     };
-    "@babel/helper-environment-visitor-7.18.2" = {
+    "@babel/helper-environment-visitor-7.18.9" = {
       name = "_at_babel_slash_helper-environment-visitor";
       packageName = "@babel/helper-environment-visitor";
-      version = "7.18.2";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz";
-        sha512 = "14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==";
+        url = "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz";
+        sha512 = "3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==";
       };
     };
-    "@babel/helper-explode-assignable-expression-7.16.7" = {
+    "@babel/helper-explode-assignable-expression-7.18.6" = {
       name = "_at_babel_slash_helper-explode-assignable-expression";
       packageName = "@babel/helper-explode-assignable-expression";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz";
-        sha512 = "KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==";
+        url = "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz";
+        sha512 = "eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==";
       };
     };
-    "@babel/helper-function-name-7.17.9" = {
+    "@babel/helper-function-name-7.18.9" = {
       name = "_at_babel_slash_helper-function-name";
       packageName = "@babel/helper-function-name";
-      version = "7.17.9";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz";
-        sha512 = "7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==";
+        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz";
+        sha512 = "fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==";
       };
     };
-    "@babel/helper-hoist-variables-7.16.7" = {
+    "@babel/helper-hoist-variables-7.18.6" = {
       name = "_at_babel_slash_helper-hoist-variables";
       packageName = "@babel/helper-hoist-variables";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz";
-        sha512 = "m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==";
+        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz";
+        sha512 = "UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==";
       };
     };
-    "@babel/helper-member-expression-to-functions-7.17.7" = {
+    "@babel/helper-member-expression-to-functions-7.18.9" = {
       name = "_at_babel_slash_helper-member-expression-to-functions";
       packageName = "@babel/helper-member-expression-to-functions";
-      version = "7.17.7";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz";
-        sha512 = "thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==";
+        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz";
+        sha512 = "RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==";
       };
     };
-    "@babel/helper-module-imports-7.16.7" = {
+    "@babel/helper-module-imports-7.18.6" = {
       name = "_at_babel_slash_helper-module-imports";
       packageName = "@babel/helper-module-imports";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz";
-        sha512 = "LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==";
+        url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz";
+        sha512 = "0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==";
       };
     };
-    "@babel/helper-module-transforms-7.18.0" = {
+    "@babel/helper-module-transforms-7.18.9" = {
       name = "_at_babel_slash_helper-module-transforms";
       packageName = "@babel/helper-module-transforms";
-      version = "7.18.0";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz";
-        sha512 = "kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA==";
+        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz";
+        sha512 = "KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==";
       };
     };
-    "@babel/helper-optimise-call-expression-7.16.7" = {
+    "@babel/helper-optimise-call-expression-7.18.6" = {
       name = "_at_babel_slash_helper-optimise-call-expression";
       packageName = "@babel/helper-optimise-call-expression";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz";
-        sha512 = "EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==";
+        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz";
+        sha512 = "HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==";
       };
     };
-    "@babel/helper-plugin-utils-7.17.12" = {
+    "@babel/helper-plugin-utils-7.18.9" = {
       name = "_at_babel_slash_helper-plugin-utils";
       packageName = "@babel/helper-plugin-utils";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz";
-        sha512 = "JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==";
+        url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz";
+        sha512 = "aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==";
       };
     };
-    "@babel/helper-remap-async-to-generator-7.16.8" = {
+    "@babel/helper-remap-async-to-generator-7.18.6" = {
       name = "_at_babel_slash_helper-remap-async-to-generator";
       packageName = "@babel/helper-remap-async-to-generator";
-      version = "7.16.8";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz";
-        sha512 = "fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==";
+        url = "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.6.tgz";
+        sha512 = "z5wbmV55TveUPZlCLZvxWHtrjuJd+8inFhk7DG0WW87/oJuGDcjDiu7HIvGcpf5464L6xKCg3vNkmlVVz9hwyQ==";
       };
     };
-    "@babel/helper-replace-supers-7.16.7" = {
+    "@babel/helper-replace-supers-7.18.9" = {
       name = "_at_babel_slash_helper-replace-supers";
       packageName = "@babel/helper-replace-supers";
-      version = "7.16.7";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz";
-        sha512 = "y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==";
+        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz";
+        sha512 = "dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==";
       };
     };
-    "@babel/helper-simple-access-7.18.2" = {
+    "@babel/helper-simple-access-7.18.6" = {
       name = "_at_babel_slash_helper-simple-access";
       packageName = "@babel/helper-simple-access";
-      version = "7.18.2";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz";
-        sha512 = "7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ==";
+        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz";
+        sha512 = "iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==";
       };
     };
-    "@babel/helper-skip-transparent-expression-wrappers-7.16.0" = {
+    "@babel/helper-skip-transparent-expression-wrappers-7.18.9" = {
       name = "_at_babel_slash_helper-skip-transparent-expression-wrappers";
       packageName = "@babel/helper-skip-transparent-expression-wrappers";
-      version = "7.16.0";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz";
-        sha512 = "+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==";
+        url = "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz";
+        sha512 = "imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==";
       };
     };
-    "@babel/helper-split-export-declaration-7.16.7" = {
+    "@babel/helper-split-export-declaration-7.18.6" = {
       name = "_at_babel_slash_helper-split-export-declaration";
       packageName = "@babel/helper-split-export-declaration";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz";
-        sha512 = "xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==";
+        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz";
+        sha512 = "bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==";
       };
     };
-    "@babel/helper-validator-identifier-7.16.7" = {
+    "@babel/helper-validator-identifier-7.18.6" = {
       name = "_at_babel_slash_helper-validator-identifier";
       packageName = "@babel/helper-validator-identifier";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz";
-        sha512 = "hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==";
+        url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz";
+        sha512 = "MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==";
       };
     };
-    "@babel/helper-validator-option-7.16.7" = {
+    "@babel/helper-validator-option-7.18.6" = {
       name = "_at_babel_slash_helper-validator-option";
       packageName = "@babel/helper-validator-option";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz";
-        sha512 = "TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==";
+        url = "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz";
+        sha512 = "XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==";
       };
     };
-    "@babel/helper-wrap-function-7.16.8" = {
+    "@babel/helper-wrap-function-7.18.6" = {
       name = "_at_babel_slash_helper-wrap-function";
       packageName = "@babel/helper-wrap-function";
-      version = "7.16.8";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz";
-        sha512 = "8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==";
+        url = "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.6.tgz";
+        sha512 = "I5/LZfozwMNbwr/b1vhhuYD+J/mU+gfGAj5td7l5Rv9WYmH6i3Om69WGKNmlIpsVW/mF6O5bvTKbvDQZVgjqOw==";
       };
     };
-    "@babel/helpers-7.18.2" = {
+    "@babel/helpers-7.18.9" = {
       name = "_at_babel_slash_helpers";
       packageName = "@babel/helpers";
-      version = "7.18.2";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.2.tgz";
-        sha512 = "j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg==";
+        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz";
+        sha512 = "Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==";
       };
     };
-    "@babel/highlight-7.16.7" = {
+    "@babel/highlight-7.18.6" = {
       name = "_at_babel_slash_highlight";
       packageName = "@babel/highlight";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.7.tgz";
-        sha512 = "aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==";
+        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz";
+        sha512 = "u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==";
       };
     };
-    "@babel/parser-7.18.5" = {
+    "@babel/parser-7.18.9" = {
       name = "_at_babel_slash_parser";
       packageName = "@babel/parser";
-      version = "7.18.5";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.18.5.tgz";
-        sha512 = "YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw==";
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.18.9.tgz";
+        sha512 = "9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg==";
       };
     };
-    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12" = {
+    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6" = {
       name = "_at_babel_slash_plugin-bugfix-safari-id-destructuring-collision-in-function-expression";
       packageName = "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12.tgz";
-        sha512 = "xCJQXl4EeQ3J9C4yOmpTrtVGmzpm2iSzyxbkZHw7UCnZBftHpF/hpII80uWVyVrc40ytIClHjgWGTG1g/yB+aw==";
+        url = "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz";
+        sha512 = "Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==";
       };
     };
-    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12" = {
+    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9" = {
       name = "_at_babel_slash_plugin-bugfix-v8-spread-parameters-in-optional-chaining";
       packageName = "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12.tgz";
-        sha512 = "/vt0hpIw0x4b6BLKUkwlvEoiGZYYLNZ96CzyHYPbtG2jZGz6LBe7/V+drYrc/d+ovrF9NBi0pmtvmNb/FsWtRQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz";
+        sha512 = "AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==";
       };
     };
-    "@babel/plugin-proposal-async-generator-functions-7.17.12" = {
+    "@babel/plugin-proposal-async-generator-functions-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-async-generator-functions";
       packageName = "@babel/plugin-proposal-async-generator-functions";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.17.12.tgz";
-        sha512 = "RWVvqD1ooLKP6IqWTA5GyFVX2isGEgC5iFxKzfYOIy/QEFdxYyCybBDtIGjipHpb9bDWHzcqGqFakf+mVmBTdQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz";
+        sha512 = "WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w==";
       };
     };
-    "@babel/plugin-proposal-class-properties-7.17.12" = {
+    "@babel/plugin-proposal-class-properties-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-class-properties";
       packageName = "@babel/plugin-proposal-class-properties";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.17.12.tgz";
-        sha512 = "U0mI9q8pW5Q9EaTHFPwSVusPMV/DV9Mm8p7csqROFLtIE9rBF5piLqyrBGigftALrBcsBGu4m38JneAe7ZDLXw==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz";
+        sha512 = "cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==";
       };
     };
-    "@babel/plugin-proposal-class-static-block-7.18.0" = {
+    "@babel/plugin-proposal-class-static-block-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-class-static-block";
       packageName = "@babel/plugin-proposal-class-static-block";
-      version = "7.18.0";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.0.tgz";
-        sha512 = "t+8LsRMMDE74c6sV7KShIw13sqbqd58tlqNrsWoWBTIMw7SVQ0cZ905wLNS/FBCy/3PyooRHLFFlfrUNyyz5lA==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz";
+        sha512 = "+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==";
       };
     };
-    "@babel/plugin-proposal-dynamic-import-7.16.7" = {
+    "@babel/plugin-proposal-dynamic-import-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-dynamic-import";
       packageName = "@babel/plugin-proposal-dynamic-import";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz";
-        sha512 = "I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz";
+        sha512 = "1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==";
       };
     };
-    "@babel/plugin-proposal-export-namespace-from-7.17.12" = {
+    "@babel/plugin-proposal-export-namespace-from-7.18.9" = {
       name = "_at_babel_slash_plugin-proposal-export-namespace-from";
       packageName = "@babel/plugin-proposal-export-namespace-from";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.17.12.tgz";
-        sha512 = "j7Ye5EWdwoXOpRmo5QmRyHPsDIe6+u70ZYZrd7uz+ebPYFKfRcLcNu3Ro0vOlJ5zuv8rU7xa+GttNiRzX56snQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz";
+        sha512 = "k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==";
       };
     };
-    "@babel/plugin-proposal-json-strings-7.17.12" = {
+    "@babel/plugin-proposal-json-strings-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-json-strings";
       packageName = "@babel/plugin-proposal-json-strings";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.17.12.tgz";
-        sha512 = "rKJ+rKBoXwLnIn7n6o6fulViHMrOThz99ybH+hKHcOZbnN14VuMnH9fo2eHE69C8pO4uX1Q7t2HYYIDmv8VYkg==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz";
+        sha512 = "lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==";
       };
     };
-    "@babel/plugin-proposal-logical-assignment-operators-7.17.12" = {
+    "@babel/plugin-proposal-logical-assignment-operators-7.18.9" = {
       name = "_at_babel_slash_plugin-proposal-logical-assignment-operators";
       packageName = "@babel/plugin-proposal-logical-assignment-operators";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.17.12.tgz";
-        sha512 = "EqFo2s1Z5yy+JeJu7SFfbIUtToJTVlC61/C7WLKDntSw4Sz6JNAIfL7zQ74VvirxpjB5kz/kIx0gCcb+5OEo2Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz";
+        sha512 = "128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==";
       };
     };
-    "@babel/plugin-proposal-nullish-coalescing-operator-7.17.12" = {
+    "@babel/plugin-proposal-nullish-coalescing-operator-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-nullish-coalescing-operator";
       packageName = "@babel/plugin-proposal-nullish-coalescing-operator";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.17.12.tgz";
-        sha512 = "ws/g3FSGVzv+VH86+QvgtuJL/kR67xaEIF2x0iPqdDfYW6ra6JF3lKVBkWynRLcNtIC1oCTfDRVxmm2mKzy+ag==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz";
+        sha512 = "wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==";
       };
     };
-    "@babel/plugin-proposal-numeric-separator-7.16.7" = {
+    "@babel/plugin-proposal-numeric-separator-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-numeric-separator";
       packageName = "@babel/plugin-proposal-numeric-separator";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz";
-        sha512 = "vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz";
+        sha512 = "ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==";
       };
     };
-    "@babel/plugin-proposal-object-rest-spread-7.18.0" = {
+    "@babel/plugin-proposal-object-rest-spread-7.18.9" = {
       name = "_at_babel_slash_plugin-proposal-object-rest-spread";
       packageName = "@babel/plugin-proposal-object-rest-spread";
-      version = "7.18.0";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.0.tgz";
-        sha512 = "nbTv371eTrFabDfHLElkn9oyf9VG+VKK6WMzhY2o4eHKaG19BToD9947zzGMO6I/Irstx9d8CwX6njPNIAR/yw==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz";
+        sha512 = "kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==";
       };
     };
-    "@babel/plugin-proposal-optional-catch-binding-7.16.7" = {
+    "@babel/plugin-proposal-optional-catch-binding-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-optional-catch-binding";
       packageName = "@babel/plugin-proposal-optional-catch-binding";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz";
-        sha512 = "eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz";
+        sha512 = "Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==";
       };
     };
-    "@babel/plugin-proposal-optional-chaining-7.17.12" = {
+    "@babel/plugin-proposal-optional-chaining-7.18.9" = {
       name = "_at_babel_slash_plugin-proposal-optional-chaining";
       packageName = "@babel/plugin-proposal-optional-chaining";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.17.12.tgz";
-        sha512 = "7wigcOs/Z4YWlK7xxjkvaIw84vGhDv/P1dFGQap0nHkc8gFKY/r+hXc8Qzf5k1gY7CvGIcHqAnOagVKJJ1wVOQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz";
+        sha512 = "v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==";
       };
     };
-    "@babel/plugin-proposal-private-methods-7.17.12" = {
+    "@babel/plugin-proposal-private-methods-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-private-methods";
       packageName = "@babel/plugin-proposal-private-methods";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.17.12.tgz";
-        sha512 = "SllXoxo19HmxhDWm3luPz+cPhtoTSKLJE9PXshsfrOzBqs60QP0r8OaJItrPhAj0d7mZMnNF0Y1UUggCDgMz1A==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz";
+        sha512 = "nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==";
       };
     };
-    "@babel/plugin-proposal-private-property-in-object-7.17.12" = {
+    "@babel/plugin-proposal-private-property-in-object-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-private-property-in-object";
       packageName = "@babel/plugin-proposal-private-property-in-object";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.17.12.tgz";
-        sha512 = "/6BtVi57CJfrtDNKfK5b66ydK2J5pXUKBKSPD2G1whamMuEnZWgoOIfO8Vf9F/DoD4izBLD/Au4NMQfruzzykg==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz";
+        sha512 = "9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==";
       };
     };
-    "@babel/plugin-proposal-unicode-property-regex-7.17.12" = {
+    "@babel/plugin-proposal-unicode-property-regex-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-unicode-property-regex";
       packageName = "@babel/plugin-proposal-unicode-property-regex";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.17.12.tgz";
-        sha512 = "Wb9qLjXf3ZazqXA7IvI7ozqRIXIGPtSo+L5coFmEkhTQK18ao4UDDD0zdTGAarmbLj2urpRwrc6893cu5Bfh0A==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz";
+        sha512 = "2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==";
       };
     };
     "@babel/plugin-syntax-async-generators-7.8.4" = {
@@ -490,13 +490,13 @@ let
         sha512 = "MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==";
       };
     };
-    "@babel/plugin-syntax-import-assertions-7.17.12" = {
+    "@babel/plugin-syntax-import-assertions-7.18.6" = {
       name = "_at_babel_slash_plugin-syntax-import-assertions";
       packageName = "@babel/plugin-syntax-import-assertions";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.17.12.tgz";
-        sha512 = "n/loy2zkq9ZEM8tEOwON9wTQSTNDTDEz6NujPtJGLU7qObzT1N4c4YZZf8E6ATB2AjNQg/Ib2AIpO03EZaCehw==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz";
+        sha512 = "/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==";
       };
     };
     "@babel/plugin-syntax-json-strings-7.8.3" = {
@@ -580,301 +580,301 @@ let
         sha512 = "hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==";
       };
     };
-    "@babel/plugin-transform-arrow-functions-7.17.12" = {
+    "@babel/plugin-transform-arrow-functions-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-arrow-functions";
       packageName = "@babel/plugin-transform-arrow-functions";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.17.12.tgz";
-        sha512 = "PHln3CNi/49V+mza4xMwrg+WGYevSF1oaiXaC2EQfdp4HWlSjRsrDXWJiQBKpP7749u6vQ9mcry2uuFOv5CXvA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz";
+        sha512 = "9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==";
       };
     };
-    "@babel/plugin-transform-async-to-generator-7.17.12" = {
+    "@babel/plugin-transform-async-to-generator-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-async-to-generator";
       packageName = "@babel/plugin-transform-async-to-generator";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.17.12.tgz";
-        sha512 = "J8dbrWIOO3orDzir57NRsjg4uxucvhby0L/KZuGsWDj0g7twWK3g7JhJhOrXtuXiw8MeiSdJ3E0OW9H8LYEzLQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz";
+        sha512 = "ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==";
       };
     };
-    "@babel/plugin-transform-block-scoped-functions-7.16.7" = {
+    "@babel/plugin-transform-block-scoped-functions-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-block-scoped-functions";
       packageName = "@babel/plugin-transform-block-scoped-functions";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz";
-        sha512 = "JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz";
+        sha512 = "ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==";
       };
     };
-    "@babel/plugin-transform-block-scoping-7.17.12" = {
+    "@babel/plugin-transform-block-scoping-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-block-scoping";
       packageName = "@babel/plugin-transform-block-scoping";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.17.12.tgz";
-        sha512 = "jw8XW/B1i7Lqwqj2CbrViPcZijSxfguBWZP2aN59NHgxUyO/OcO1mfdCxH13QhN5LbWhPkX+f+brKGhZTiqtZQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz";
+        sha512 = "5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==";
       };
     };
-    "@babel/plugin-transform-classes-7.17.12" = {
+    "@babel/plugin-transform-classes-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-classes";
       packageName = "@babel/plugin-transform-classes";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.17.12.tgz";
-        sha512 = "cvO7lc7pZat6BsvH6l/EGaI8zpl8paICaoGk+7x7guvtfak/TbIf66nYmJOH13EuG0H+Xx3M+9LQDtSvZFKXKw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz";
+        sha512 = "EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==";
       };
     };
-    "@babel/plugin-transform-computed-properties-7.17.12" = {
+    "@babel/plugin-transform-computed-properties-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-computed-properties";
       packageName = "@babel/plugin-transform-computed-properties";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.17.12.tgz";
-        sha512 = "a7XINeplB5cQUWMg1E/GI1tFz3LfK021IjV1rj1ypE+R7jHm+pIHmHl25VNkZxtx9uuYp7ThGk8fur1HHG7PgQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz";
+        sha512 = "+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==";
       };
     };
-    "@babel/plugin-transform-destructuring-7.18.0" = {
+    "@babel/plugin-transform-destructuring-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-destructuring";
       packageName = "@babel/plugin-transform-destructuring";
-      version = "7.18.0";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.0.tgz";
-        sha512 = "Mo69klS79z6KEfrLg/1WkmVnB8javh75HX4pi2btjvlIoasuxilEyjtsQW6XPrubNd7AQy0MMaNIaQE4e7+PQw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz";
+        sha512 = "p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA==";
       };
     };
-    "@babel/plugin-transform-dotall-regex-7.16.7" = {
+    "@babel/plugin-transform-dotall-regex-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-dotall-regex";
       packageName = "@babel/plugin-transform-dotall-regex";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz";
-        sha512 = "Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz";
+        sha512 = "6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==";
       };
     };
-    "@babel/plugin-transform-duplicate-keys-7.17.12" = {
+    "@babel/plugin-transform-duplicate-keys-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-duplicate-keys";
       packageName = "@babel/plugin-transform-duplicate-keys";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.17.12.tgz";
-        sha512 = "EA5eYFUG6xeerdabina/xIoB95jJ17mAkR8ivx6ZSu9frKShBjpOGZPn511MTDTkiCO+zXnzNczvUM69YSf3Zw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz";
+        sha512 = "d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==";
       };
     };
-    "@babel/plugin-transform-exponentiation-operator-7.16.7" = {
+    "@babel/plugin-transform-exponentiation-operator-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-exponentiation-operator";
       packageName = "@babel/plugin-transform-exponentiation-operator";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz";
-        sha512 = "8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz";
+        sha512 = "wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==";
       };
     };
-    "@babel/plugin-transform-for-of-7.18.1" = {
+    "@babel/plugin-transform-for-of-7.18.8" = {
       name = "_at_babel_slash_plugin-transform-for-of";
       packageName = "@babel/plugin-transform-for-of";
-      version = "7.18.1";
+      version = "7.18.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.1.tgz";
-        sha512 = "+TTB5XwvJ5hZbO8xvl2H4XaMDOAK57zF4miuC9qQJgysPNEAZZ9Z69rdF5LJkozGdZrjBIUAIyKUWRMmebI7vg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz";
+        sha512 = "yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==";
       };
     };
-    "@babel/plugin-transform-function-name-7.16.7" = {
+    "@babel/plugin-transform-function-name-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-function-name";
       packageName = "@babel/plugin-transform-function-name";
-      version = "7.16.7";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz";
-        sha512 = "SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz";
+        sha512 = "WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==";
       };
     };
-    "@babel/plugin-transform-literals-7.17.12" = {
+    "@babel/plugin-transform-literals-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-literals";
       packageName = "@babel/plugin-transform-literals";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.17.12.tgz";
-        sha512 = "8iRkvaTjJciWycPIZ9k9duu663FT7VrBdNqNgxnVXEFwOIp55JWcZd23VBRySYbnS3PwQ3rGiabJBBBGj5APmQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz";
+        sha512 = "IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==";
       };
     };
-    "@babel/plugin-transform-member-expression-literals-7.16.7" = {
+    "@babel/plugin-transform-member-expression-literals-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-member-expression-literals";
       packageName = "@babel/plugin-transform-member-expression-literals";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz";
-        sha512 = "mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz";
+        sha512 = "qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==";
       };
     };
-    "@babel/plugin-transform-modules-amd-7.18.0" = {
+    "@babel/plugin-transform-modules-amd-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-modules-amd";
       packageName = "@babel/plugin-transform-modules-amd";
-      version = "7.18.0";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.0.tgz";
-        sha512 = "h8FjOlYmdZwl7Xm2Ug4iX2j7Qy63NANI+NQVWQzv6r25fqgg7k2dZl03p95kvqNclglHs4FZ+isv4p1uXMA+QA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz";
+        sha512 = "Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==";
       };
     };
-    "@babel/plugin-transform-modules-commonjs-7.18.2" = {
+    "@babel/plugin-transform-modules-commonjs-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-modules-commonjs";
       packageName = "@babel/plugin-transform-modules-commonjs";
-      version = "7.18.2";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.2.tgz";
-        sha512 = "f5A865gFPAJAEE0K7F/+nm5CmAE3y8AWlMBG9unu5j9+tk50UQVK0QS8RNxSp7MJf0wh97uYyLWt3Zvu71zyOQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz";
+        sha512 = "Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==";
       };
     };
-    "@babel/plugin-transform-modules-systemjs-7.18.0" = {
+    "@babel/plugin-transform-modules-systemjs-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-modules-systemjs";
       packageName = "@babel/plugin-transform-modules-systemjs";
-      version = "7.18.0";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.0.tgz";
-        sha512 = "vwKpxdHnlM5tIrRt/eA0bzfbi7gUBLN08vLu38np1nZevlPySRe6yvuATJB5F/WPJ+ur4OXwpVYq9+BsxqAQuQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz";
+        sha512 = "zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==";
       };
     };
-    "@babel/plugin-transform-modules-umd-7.18.0" = {
+    "@babel/plugin-transform-modules-umd-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-modules-umd";
       packageName = "@babel/plugin-transform-modules-umd";
-      version = "7.18.0";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.0.tgz";
-        sha512 = "d/zZ8I3BWli1tmROLxXLc9A6YXvGK8egMxHp+E/rRwMh1Kip0AP77VwZae3snEJ33iiWwvNv2+UIIhfalqhzZA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz";
+        sha512 = "dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==";
       };
     };
-    "@babel/plugin-transform-named-capturing-groups-regex-7.17.12" = {
+    "@babel/plugin-transform-named-capturing-groups-regex-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-named-capturing-groups-regex";
       packageName = "@babel/plugin-transform-named-capturing-groups-regex";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.12.tgz";
-        sha512 = "vWoWFM5CKaTeHrdUJ/3SIOTRV+MBVGybOC9mhJkaprGNt5demMymDW24yC74avb915/mIRe3TgNb/d8idvnCRA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz";
+        sha512 = "UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==";
       };
     };
-    "@babel/plugin-transform-new-target-7.17.12" = {
+    "@babel/plugin-transform-new-target-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-new-target";
       packageName = "@babel/plugin-transform-new-target";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.17.12.tgz";
-        sha512 = "CaOtzk2fDYisbjAD4Sd1MTKGVIpRtx9bWLyj24Y/k6p4s4gQ3CqDGJauFJxt8M/LEx003d0i3klVqnN73qvK3w==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz";
+        sha512 = "DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==";
       };
     };
-    "@babel/plugin-transform-object-super-7.16.7" = {
+    "@babel/plugin-transform-object-super-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-object-super";
       packageName = "@babel/plugin-transform-object-super";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz";
-        sha512 = "14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz";
+        sha512 = "uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==";
       };
     };
-    "@babel/plugin-transform-parameters-7.17.12" = {
+    "@babel/plugin-transform-parameters-7.18.8" = {
       name = "_at_babel_slash_plugin-transform-parameters";
       packageName = "@babel/plugin-transform-parameters";
-      version = "7.17.12";
+      version = "7.18.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.17.12.tgz";
-        sha512 = "6qW4rWo1cyCdq1FkYri7AHpauchbGLXpdwnYsfxFb+KtddHENfsY5JZb35xUwkK5opOLcJ3BNd2l7PhRYGlwIA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz";
+        sha512 = "ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==";
       };
     };
-    "@babel/plugin-transform-property-literals-7.16.7" = {
+    "@babel/plugin-transform-property-literals-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-property-literals";
       packageName = "@babel/plugin-transform-property-literals";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz";
-        sha512 = "z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz";
+        sha512 = "cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==";
       };
     };
-    "@babel/plugin-transform-regenerator-7.18.0" = {
+    "@babel/plugin-transform-regenerator-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-regenerator";
       packageName = "@babel/plugin-transform-regenerator";
-      version = "7.18.0";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.0.tgz";
-        sha512 = "C8YdRw9uzx25HSIzwA7EM7YP0FhCe5wNvJbZzjVNHHPGVcDJ3Aie+qGYYdS1oVQgn+B3eAIJbWFLrJ4Jipv7nw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz";
+        sha512 = "poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==";
       };
     };
-    "@babel/plugin-transform-reserved-words-7.17.12" = {
+    "@babel/plugin-transform-reserved-words-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-reserved-words";
       packageName = "@babel/plugin-transform-reserved-words";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.17.12.tgz";
-        sha512 = "1KYqwbJV3Co03NIi14uEHW8P50Md6KqFgt0FfpHdK6oyAHQVTosgPuPSiWud1HX0oYJ1hGRRlk0fP87jFpqXZA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz";
+        sha512 = "oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==";
       };
     };
-    "@babel/plugin-transform-shorthand-properties-7.16.7" = {
+    "@babel/plugin-transform-shorthand-properties-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-shorthand-properties";
       packageName = "@babel/plugin-transform-shorthand-properties";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz";
-        sha512 = "hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz";
+        sha512 = "eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==";
       };
     };
-    "@babel/plugin-transform-spread-7.17.12" = {
+    "@babel/plugin-transform-spread-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-spread";
       packageName = "@babel/plugin-transform-spread";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.17.12.tgz";
-        sha512 = "9pgmuQAtFi3lpNUstvG9nGfk9DkrdmWNp9KeKPFmuZCpEnxRzYlS8JgwPjYj+1AWDOSvoGN0H30p1cBOmT/Svg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz";
+        sha512 = "39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==";
       };
     };
-    "@babel/plugin-transform-sticky-regex-7.16.7" = {
+    "@babel/plugin-transform-sticky-regex-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-sticky-regex";
       packageName = "@babel/plugin-transform-sticky-regex";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz";
-        sha512 = "NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz";
+        sha512 = "kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==";
       };
     };
-    "@babel/plugin-transform-template-literals-7.18.2" = {
+    "@babel/plugin-transform-template-literals-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-template-literals";
       packageName = "@babel/plugin-transform-template-literals";
-      version = "7.18.2";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.2.tgz";
-        sha512 = "/cmuBVw9sZBGZVOMkpAEaVLwm4JmK2GZ1dFKOGGpMzEHWFmyZZ59lUU0PdRr8YNYeQdNzTDwuxP2X2gzydTc9g==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz";
+        sha512 = "S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==";
       };
     };
-    "@babel/plugin-transform-typeof-symbol-7.17.12" = {
+    "@babel/plugin-transform-typeof-symbol-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-typeof-symbol";
       packageName = "@babel/plugin-transform-typeof-symbol";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.17.12.tgz";
-        sha512 = "Q8y+Jp7ZdtSPXCThB6zjQ74N3lj0f6TDh1Hnf5B+sYlzQ8i5Pjp8gW0My79iekSpT4WnI06blqP6DT0OmaXXmw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz";
+        sha512 = "SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==";
       };
     };
-    "@babel/plugin-transform-unicode-escapes-7.16.7" = {
+    "@babel/plugin-transform-unicode-escapes-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-unicode-escapes";
       packageName = "@babel/plugin-transform-unicode-escapes";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz";
-        sha512 = "TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.6.tgz";
+        sha512 = "XNRwQUXYMP7VLuy54cr/KS/WeL3AZeORhrmeZ7iewgu+X2eBqmpaLI/hzqr9ZxCeUoq0ASK4GUzSM0BDhZkLFw==";
       };
     };
-    "@babel/plugin-transform-unicode-regex-7.16.7" = {
+    "@babel/plugin-transform-unicode-regex-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-unicode-regex";
       packageName = "@babel/plugin-transform-unicode-regex";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz";
-        sha512 = "oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz";
+        sha512 = "gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==";
       };
     };
-    "@babel/preset-env-7.18.2" = {
+    "@babel/preset-env-7.18.9" = {
       name = "_at_babel_slash_preset-env";
       packageName = "@babel/preset-env";
-      version = "7.18.2";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.2.tgz";
-        sha512 = "PfpdxotV6afmXMU47S08F9ZKIm2bJIQ0YbAAtDfIENX7G1NUAXigLREh69CWDjtgUy7dYn7bsMzkgdtAlmS68Q==";
+        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.9.tgz";
+        sha512 = "75pt/q95cMIHWssYtyfjVlvI+QEZQThQbKvR9xH+F/Agtw/s4Wfc2V9Bwd/P39VtixB7oWxGdH4GteTTwYJWMg==";
       };
     };
     "@babel/preset-modules-0.1.5" = {
@@ -895,31 +895,31 @@ let
         sha512 = "/PCB2uJ7oM44tz8YhC4Z/6PeOKXp4K588f+5M3clr1M4zbqztlo0XEfJ2LEzj/FgwfgGcIdl8n7YYjTCI0BYwg==";
       };
     };
-    "@babel/template-7.16.7" = {
+    "@babel/template-7.18.6" = {
       name = "_at_babel_slash_template";
       packageName = "@babel/template";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz";
-        sha512 = "I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==";
+        url = "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz";
+        sha512 = "JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==";
       };
     };
-    "@babel/traverse-7.18.5" = {
+    "@babel/traverse-7.18.9" = {
       name = "_at_babel_slash_traverse";
       packageName = "@babel/traverse";
-      version = "7.18.5";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.5.tgz";
-        sha512 = "aKXj1KT66sBj0vVzk6rEeAO6Z9aiiQ68wfDgge3nHhA/my6xMM/7HGQUNumKZaoa2qUPQ5whJG9aAifsxUKfLA==";
+        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.9.tgz";
+        sha512 = "LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg==";
       };
     };
-    "@babel/types-7.18.4" = {
+    "@babel/types-7.18.9" = {
       name = "_at_babel_slash_types";
       packageName = "@babel/types";
-      version = "7.18.4";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/types/-/types-7.18.4.tgz";
-        sha512 = "ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==";
+        url = "https://registry.npmjs.org/@babel/types/-/types-7.18.9.tgz";
+        sha512 = "WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg==";
       };
     };
     "@discoveryjs/json-ext-0.5.5" = {
@@ -940,15 +940,6 @@ let
         sha512 = "UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==";
       };
     };
-    "@fortawesome/fontawesome-common-types-0.3.0" = {
-      name = "_at_fortawesome_slash_fontawesome-common-types";
-      packageName = "@fortawesome/fontawesome-common-types";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.3.0.tgz";
-        sha512 = "CA3MAZBTxVsF6SkfkHXDerkhcQs0QPofy43eFdbWJJkZiq3SfiaH1msOkac59rQaqto5EqWnASboY1dBuKen5w==";
-      };
-    };
     "@fortawesome/fontawesome-common-types-6.1.1" = {
       name = "_at_fortawesome_slash_fontawesome-common-types";
       packageName = "@fortawesome/fontawesome-common-types";
@@ -958,13 +949,13 @@ let
         sha512 = "wVn5WJPirFTnzN6tR95abCx+ocH+3IFLXAgyavnf9hUmN0CfWoDjPT/BAWsUVwSlYYVBeCLJxaqi7ZGe4uSjBA==";
       };
     };
-    "@fortawesome/fontawesome-svg-core-1.3.0" = {
+    "@fortawesome/fontawesome-svg-core-6.1.1" = {
       name = "_at_fortawesome_slash_fontawesome-svg-core";
       packageName = "@fortawesome/fontawesome-svg-core";
-      version = "1.3.0";
+      version = "6.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.3.0.tgz";
-        sha512 = "UIL6crBWhjTNQcONt96ExjUnKt1D68foe3xjEensLDclqQ6YagwCRYVQdrp/hW0ALRp/5Fv/VKw+MqTUWYYvPg==";
+        url = "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.1.1.tgz";
+        sha512 = "NCg0w2YIp81f4V6cMGD9iomfsIj7GWrqmsa0ZsPh59G7PKiGN1KymZNxmF00ssuAlo/VZmpK6xazsGOwzKYUMg==";
       };
     };
     "@fortawesome/free-brands-svg-icons-6.1.1" = {
@@ -985,13 +976,13 @@ let
         sha512 = "0/5exxavOhI/D4Ovm2r3vxNojGZioPwmFrKg0ZUH69Q68uFhFPs6+dhAToh6VEQBntxPRYPuT5Cg1tpNa9JUPg==";
       };
     };
-    "@fortawesome/vue-fontawesome-2.0.7" = {
+    "@fortawesome/vue-fontawesome-2.0.8" = {
       name = "_at_fortawesome_slash_vue-fontawesome";
       packageName = "@fortawesome/vue-fontawesome";
-      version = "2.0.7";
+      version = "2.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-2.0.7.tgz";
-        sha512 = "D1a5FJQeiCFG5a29Re5uNAUAI8SdkCPZlvf0EyfEy9XBVB7tEsL/tfXO6ToXoEOE8CAzJCwuM/PXSCHusXT5/Q==";
+        url = "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-2.0.8.tgz";
+        sha512 = "SRmP0q9Ox4zq8ydDR/hrH+23TVU1bdwYVnugLVaAIwklOHbf56gx6JUGlwES7zjuNYqzKgl8e39iYf6ph8qSQw==";
       };
     };
     "@humanwhocodes/config-array-0.9.2" = {
@@ -1012,13 +1003,13 @@ let
         sha512 = "ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==";
       };
     };
-    "@jridgewell/gen-mapping-0.3.1" = {
+    "@jridgewell/gen-mapping-0.3.2" = {
       name = "_at_jridgewell_slash_gen-mapping";
       packageName = "@jridgewell/gen-mapping";
-      version = "0.3.1";
+      version = "0.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz";
-        sha512 = "GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==";
+        url = "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz";
+        sha512 = "mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==";
       };
     };
     "@jridgewell/resolve-uri-3.0.5" = {
@@ -1030,13 +1021,13 @@ let
         sha512 = "VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==";
       };
     };
-    "@jridgewell/set-array-1.1.1" = {
+    "@jridgewell/set-array-1.1.2" = {
       name = "_at_jridgewell_slash_set-array";
       packageName = "@jridgewell/set-array";
-      version = "1.1.1";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz";
-        sha512 = "Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==";
+        url = "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz";
+        sha512 = "xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==";
       };
     };
     "@jridgewell/sourcemap-codec-1.4.11" = {
@@ -1318,6 +1309,15 @@ let
         sha512 = "6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==";
       };
     };
+    "@vue/compiler-sfc-2.7.7" = {
+      name = "_at_vue_slash_compiler-sfc";
+      packageName = "@vue/compiler-sfc";
+      version = "2.7.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.7.tgz";
+        sha512 = "Ah8dIuo6ZVPHTq9+s4rBU/YpJu3vGSNyeOTCrPrVPQnkUfnT5Ig+IKBhePuQWFXguYb2TuEWrEfiiX9DZ3aJlA==";
+      };
+    };
     "@vue/component-compiler-utils-3.2.2" = {
       name = "_at_vue_slash_component-compiler-utils";
       packageName = "@vue/component-compiler-utils";
@@ -1768,31 +1768,31 @@ let
         sha512 = "jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==";
       };
     };
-    "babel-plugin-polyfill-corejs2-0.3.0" = {
+    "babel-plugin-polyfill-corejs2-0.3.1" = {
       name = "babel-plugin-polyfill-corejs2";
       packageName = "babel-plugin-polyfill-corejs2";
-      version = "0.3.0";
+      version = "0.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz";
-        sha512 = "wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA==";
+        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz";
+        sha512 = "v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==";
       };
     };
-    "babel-plugin-polyfill-corejs3-0.5.0" = {
+    "babel-plugin-polyfill-corejs3-0.5.2" = {
       name = "babel-plugin-polyfill-corejs3";
       packageName = "babel-plugin-polyfill-corejs3";
-      version = "0.5.0";
+      version = "0.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.0.tgz";
-        sha512 = "Hcrgnmkf+4JTj73GbK3bBhlVPiLL47owUAnoJIf69Hakl3q+KfodbDXiZWGMM7iqCZTxCG3Z2VRfPNYES4rXqQ==";
+        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz";
+        sha512 = "G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==";
       };
     };
-    "babel-plugin-polyfill-regenerator-0.3.0" = {
+    "babel-plugin-polyfill-regenerator-0.3.1" = {
       name = "babel-plugin-polyfill-regenerator";
       packageName = "babel-plugin-polyfill-regenerator";
-      version = "0.3.0";
+      version = "0.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz";
-        sha512 = "dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg==";
+        url = "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz";
+        sha512 = "Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==";
       };
     };
     "balanced-match-1.0.0" = {
@@ -2062,7 +2062,7 @@ let
       version = "1.1.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz";
-        sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25";
+        sha512 = "72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==";
       };
     };
     "color-name-1.1.4" = {
@@ -2164,13 +2164,13 @@ let
         sha512 = "gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==";
       };
     };
-    "connect-history-api-fallback-1.6.0" = {
+    "connect-history-api-fallback-2.0.0" = {
       name = "connect-history-api-fallback";
       packageName = "connect-history-api-fallback";
-      version = "1.6.0";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz";
-        sha512 = "e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==";
+        url = "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz";
+        sha512 = "U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==";
       };
     };
     "consolidate-0.15.1" = {
@@ -2308,6 +2308,15 @@ let
         sha512 = "/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==";
       };
     };
+    "csstype-3.1.0" = {
+      name = "csstype";
+      packageName = "csstype";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz";
+        sha512 = "uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==";
+      };
+    };
     "de-indent-1.0.2" = {
       name = "de-indent";
       packageName = "de-indent";
@@ -2665,7 +2674,7 @@ let
       version = "1.0.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
-        sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
+        sha512 = "vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==";
       };
     };
     "escape-string-regexp-4.0.0" = {
@@ -2677,13 +2686,13 @@ let
         sha512 = "TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==";
       };
     };
-    "eslint-8.17.0" = {
+    "eslint-8.20.0" = {
       name = "eslint";
       packageName = "eslint";
-      version = "8.17.0";
+      version = "8.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-8.17.0.tgz";
-        sha512 = "gq0m0BTJfci60Fz4nczYxNAlED+sMcihltndR8t9t1evnU/azx53x3t2UHXC/uRjcbvRw/XctpaNygSTcQD+Iw==";
+        url = "https://registry.npmjs.org/eslint/-/eslint-8.20.0.tgz";
+        sha512 = "d4ixhz5SKCa1D6SCPrivP7yYVi7nyD6A4vs6HIAul9ujBzcEmZVM3/0NN/yu5nKhmO1wjp5xQ46iRfmDGlOviA==";
       };
     };
     "eslint-config-airbnb-base-15.0.0" = {
@@ -2722,13 +2731,13 @@ let
         sha512 = "hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==";
       };
     };
-    "eslint-plugin-vue-9.1.1" = {
+    "eslint-plugin-vue-9.2.0" = {
       name = "eslint-plugin-vue";
       packageName = "eslint-plugin-vue";
-      version = "9.1.1";
+      version = "9.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.1.1.tgz";
-        sha512 = "W9n5PB1X2jzC7CK6riG0oAcxjmKrjTF6+keL1rni8n57DZeilx/Fulz+IRJK3lYseLNAygN0I62L7DvioW40Tw==";
+        url = "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.2.0.tgz";
+        sha512 = "W2hc+NUXoce8sZtWgZ45miQTy6jNyuSdub5aZ1IBune4JDeAyzucYX0TzkrQ1jMO52sNUDYlCIHDoaNePe0p5g==";
       };
     };
     "eslint-scope-5.1.1" = {
@@ -3217,6 +3226,15 @@ let
         sha512 = "bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==";
       };
     };
+    "globals-13.16.0" = {
+      name = "globals";
+      packageName = "globals";
+      version = "13.16.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globals/-/globals-13.16.0.tgz";
+        sha512 = "A1lrQfpNF+McdPOnnFqY3kSN0AFTy485bTi1bkLk4mVPODIUEcSfhHgRqA+QdXPksrSTTztYXx37NFV+GpGk3Q==";
+      };
+    };
     "globby-13.1.1" = {
       name = "globby";
       packageName = "globby";
@@ -3286,7 +3304,7 @@ let
       version = "3.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz";
-        sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
+        sha512 = "sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==";
       };
     };
     "has-flag-4.0.0" = {
@@ -3898,7 +3916,7 @@ let
       version = "0.5.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz";
-        sha1 = "e7dee66e35d6fc16f710fe91d5cf69f70f08911d";
+        sha512 = "uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==";
       };
     };
     "jsesc-2.5.2" = {
@@ -4087,7 +4105,7 @@ let
       version = "4.0.8";
       src = fetchurl {
         url = "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz";
-        sha1 = "82d79bff30a67c4005ffd5e2515300ad9ca4d7af";
+        sha512 = "FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==";
       };
     };
     "lodash.merge-4.6.2" = {
@@ -4315,13 +4333,13 @@ let
         sha512 = "XkCYOU+rr2Ft3LI6w4ye51M3VK31qJXFIxu0XLw169PtKG0Zx47OrXeVW/GCYOfpC9s1yyyf1S+L8/4LY0J9Zw==";
       };
     };
-    "nanoid-3.3.1" = {
+    "nanoid-3.3.4" = {
       name = "nanoid";
       packageName = "nanoid";
-      version = "3.3.1";
+      version = "3.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz";
-        sha512 = "n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==";
+        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz";
+        sha512 = "MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==";
       };
     };
     "natural-compare-1.4.0" = {
@@ -4828,13 +4846,13 @@ let
         sha512 = "yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==";
       };
     };
-    "postcss-8.4.12" = {
+    "postcss-8.4.14" = {
       name = "postcss";
       packageName = "postcss";
-      version = "8.4.12";
+      version = "8.4.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz";
-        sha512 = "lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==";
+        url = "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz";
+        sha512 = "E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==";
       };
     };
     "postcss-modules-extract-imports-3.0.0" = {
@@ -5080,13 +5098,13 @@ let
         sha512 = "pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==";
       };
     };
-    "regexpu-core-5.0.1" = {
+    "regexpu-core-5.1.0" = {
       name = "regexpu-core";
       packageName = "regexpu-core";
-      version = "5.0.1";
+      version = "5.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz";
-        sha512 = "CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==";
+        url = "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz";
+        sha512 = "bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==";
       };
     };
     "regjsgen-0.6.0" = {
@@ -5251,22 +5269,22 @@ let
         sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
       };
     };
-    "sass-1.52.3" = {
+    "sass-1.53.0" = {
       name = "sass";
       packageName = "sass";
-      version = "1.52.3";
+      version = "1.53.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sass/-/sass-1.52.3.tgz";
-        sha512 = "LNNPJ9lafx+j1ArtA7GyEJm9eawXN8KlA1+5dF6IZyoONg1Tyo/g+muOsENWJH/2Q1FHbbV4UwliU0cXMa/VIA==";
+        url = "https://registry.npmjs.org/sass/-/sass-1.53.0.tgz";
+        sha512 = "zb/oMirbKhUgRQ0/GFz8TSAwRq2IlR29vOUJZOx0l8sV+CkHUfHa4u5nqrG+1VceZp7Jfj59SVW9ogdhTvJDcQ==";
       };
     };
-    "sass-loader-13.0.0" = {
+    "sass-loader-13.0.2" = {
       name = "sass-loader";
       packageName = "sass-loader";
-      version = "13.0.0";
+      version = "13.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sass-loader/-/sass-loader-13.0.0.tgz";
-        sha512 = "IHCFecI+rbPvXE2zO/mqdVFe8MU7ElGrwga9hh2H65Ru4iaBJAMRteum1c4Gsxi9Cq1FOtTEDd6+/AEYuQDM4Q==";
+        url = "https://registry.npmjs.org/sass-loader/-/sass-loader-13.0.2.tgz";
+        sha512 = "BbiqbVmbfJaWVeOOAu2o7DhYWtcNmTfvroVgFXa6k2hHheMxNAeDHLNoDy/Q5aoaVlz0LH+MbMktKwm9vN/j8Q==";
       };
     };
     "schema-utils-2.7.1" = {
@@ -5926,13 +5944,13 @@ let
         sha1 = "2299f02c6ded30d4a5961b0b9f74524a18f634fc";
       };
     };
-    "vue-2.6.14" = {
+    "vue-2.7.7" = {
       name = "vue";
       packageName = "vue";
-      version = "2.6.14";
+      version = "2.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz";
-        sha512 = "x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==";
+        url = "https://registry.npmjs.org/vue/-/vue-2.7.7.tgz";
+        sha512 = "osfkncsGCWqtch+YWYxbqTNQ9hl/UQ6TFRkdmK/VqAjuMpxzr5QotFsYpmJ1AB1ez2LJeIKXDmtMkXUotMOTsA==";
       };
     };
     "vue-eslint-parser-8.3.0" = {
@@ -5944,13 +5962,13 @@ let
         sha512 = "dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==";
       };
     };
-    "vue-eslint-parser-9.0.2" = {
+    "vue-eslint-parser-9.0.3" = {
       name = "vue-eslint-parser";
       packageName = "vue-eslint-parser";
-      version = "9.0.2";
+      version = "9.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.0.2.tgz";
-        sha512 = "uCPQwTGjOtAYrwnU+76pYxalhjsh7iFBsHwBqDHiOPTxtICDaraO4Szw54WFTNZTAEsgHHzqFOu1mmnBOBRzDA==";
+        url = "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.0.3.tgz";
+        sha512 = "yL+ZDb+9T0ELG4VIFo/2anAOz8SvBdlqEnQnvJ3M7Scq56DvtjY0VY88bByRZB0D4J0u8olBcfrXTVONXsh4og==";
       };
     };
     "vue-hot-reload-api-2.3.4" = {
@@ -5962,13 +5980,13 @@ let
         sha512 = "BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==";
       };
     };
-    "vue-loader-15.9.8" = {
+    "vue-loader-15.10.0" = {
       name = "vue-loader";
       packageName = "vue-loader";
-      version = "15.9.8";
+      version = "15.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.8.tgz";
-        sha512 = "GwSkxPrihfLR69/dSV3+5CdMQ0D+jXg8Ma1S4nQXKJAznYFX14vHdc/NetQc34Dw+rBbIJyP7JOuVb9Fhprvog==";
+        url = "https://registry.npmjs.org/vue-loader/-/vue-loader-15.10.0.tgz";
+        sha512 = "VU6tuO8eKajrFeBzMssFUP9SvakEeeSi1BxdTH5o3+1yUyrldp8IERkSdXlMI2t4kxF2sqYUDsQY+WJBxzBmZg==";
       };
     };
     "vue-meta-2.4.0" = {
@@ -6025,13 +6043,13 @@ let
         sha512 = "sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==";
       };
     };
-    "vue-template-compiler-2.6.14" = {
+    "vue-template-compiler-2.7.7" = {
       name = "vue-template-compiler";
       packageName = "vue-template-compiler";
-      version = "2.6.14";
+      version = "2.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz";
-        sha512 = "ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==";
+        url = "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.7.tgz";
+        sha512 = "vxOsjWhvDPyMW7QwXPecNmTNwKyXiF+j4KjBFjDxYPuY0xvqCT5o9WrapVItR/Nrh0XThfBaL19kXFSNYtbKmw==";
       };
     };
     "vue-template-es2015-compiler-1.9.1" = {
@@ -6106,13 +6124,13 @@ let
         sha512 = "81EujCKkyles2wphtdrnPg/QqegC/AtqNH//mQkBYSMqwFVCQrxM6ktB2O/SPlZy7LqeEfTbV3cZARGQz6umhg==";
       };
     };
-    "webpack-dev-server-4.9.2" = {
+    "webpack-dev-server-4.9.3" = {
       name = "webpack-dev-server";
       packageName = "webpack-dev-server";
-      version = "4.9.2";
+      version = "4.9.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.9.2.tgz";
-        sha512 = "H95Ns95dP24ZsEzO6G9iT+PNw4Q7ltll1GfJHV4fKphuHWgKFzGHWi4alTlTnpk1SPPk41X+l2RB7rLfIhnB9Q==";
+        url = "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.9.3.tgz";
+        sha512 = "3qp/eoboZG5/6QgiZ3llN8TUzkSpYg1Ko9khWX1h40MIEUNS2mDoIa8aXsPfskER+GbTvs/IJZ1QTBBhhuetSw==";
       };
     };
     "webpack-merge-5.8.0" = {
@@ -6258,9 +6276,9 @@ let
     src = ./.;
     dependencies = [
       sources."@ampproject/remapping-2.1.1"
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.17.10"
-      (sources."@babel/core-7.18.5" // {
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/compat-data-7.18.8"
+      (sources."@babel/core-7.18.9" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."json5-2.2.1"
@@ -6268,72 +6286,72 @@ let
           sources."semver-6.3.0"
         ];
       })
-      (sources."@babel/eslint-parser-7.18.2" // {
+      (sources."@babel/eslint-parser-7.18.9" // {
         dependencies = [
           sources."eslint-visitor-keys-2.1.0"
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/generator-7.18.2"
-      sources."@babel/helper-annotate-as-pure-7.16.7"
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.16.7"
-      (sources."@babel/helper-compilation-targets-7.18.2" // {
+      sources."@babel/generator-7.18.9"
+      sources."@babel/helper-annotate-as-pure-7.18.6"
+      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.18.6"
+      (sources."@babel/helper-compilation-targets-7.18.9" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-create-class-features-plugin-7.18.0"
-      sources."@babel/helper-create-regexp-features-plugin-7.17.12"
-      (sources."@babel/helper-define-polyfill-provider-0.3.0" // {
+      sources."@babel/helper-create-class-features-plugin-7.18.6"
+      sources."@babel/helper-create-regexp-features-plugin-7.18.6"
+      (sources."@babel/helper-define-polyfill-provider-0.3.1" // {
         dependencies = [
-          sources."debug-4.3.3"
+          sources."debug-4.3.4"
           sources."ms-2.1.2"
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-environment-visitor-7.18.2"
-      sources."@babel/helper-explode-assignable-expression-7.16.7"
-      sources."@babel/helper-function-name-7.17.9"
-      sources."@babel/helper-hoist-variables-7.16.7"
-      sources."@babel/helper-member-expression-to-functions-7.17.7"
-      sources."@babel/helper-module-imports-7.16.7"
-      sources."@babel/helper-module-transforms-7.18.0"
-      sources."@babel/helper-optimise-call-expression-7.16.7"
-      sources."@babel/helper-plugin-utils-7.17.12"
-      sources."@babel/helper-remap-async-to-generator-7.16.8"
-      sources."@babel/helper-replace-supers-7.16.7"
-      sources."@babel/helper-simple-access-7.18.2"
-      sources."@babel/helper-skip-transparent-expression-wrappers-7.16.0"
-      sources."@babel/helper-split-export-declaration-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/helper-validator-option-7.16.7"
-      sources."@babel/helper-wrap-function-7.16.8"
-      sources."@babel/helpers-7.18.2"
-      sources."@babel/highlight-7.16.7"
-      sources."@babel/parser-7.18.5"
-      sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12"
-      sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12"
-      sources."@babel/plugin-proposal-async-generator-functions-7.17.12"
-      sources."@babel/plugin-proposal-class-properties-7.17.12"
-      sources."@babel/plugin-proposal-class-static-block-7.18.0"
-      sources."@babel/plugin-proposal-dynamic-import-7.16.7"
-      sources."@babel/plugin-proposal-export-namespace-from-7.17.12"
-      sources."@babel/plugin-proposal-json-strings-7.17.12"
-      sources."@babel/plugin-proposal-logical-assignment-operators-7.17.12"
-      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.17.12"
-      sources."@babel/plugin-proposal-numeric-separator-7.16.7"
-      sources."@babel/plugin-proposal-object-rest-spread-7.18.0"
-      sources."@babel/plugin-proposal-optional-catch-binding-7.16.7"
-      sources."@babel/plugin-proposal-optional-chaining-7.17.12"
-      sources."@babel/plugin-proposal-private-methods-7.17.12"
-      sources."@babel/plugin-proposal-private-property-in-object-7.17.12"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.17.12"
+      sources."@babel/helper-environment-visitor-7.18.9"
+      sources."@babel/helper-explode-assignable-expression-7.18.6"
+      sources."@babel/helper-function-name-7.18.9"
+      sources."@babel/helper-hoist-variables-7.18.6"
+      sources."@babel/helper-member-expression-to-functions-7.18.9"
+      sources."@babel/helper-module-imports-7.18.6"
+      sources."@babel/helper-module-transforms-7.18.9"
+      sources."@babel/helper-optimise-call-expression-7.18.6"
+      sources."@babel/helper-plugin-utils-7.18.9"
+      sources."@babel/helper-remap-async-to-generator-7.18.6"
+      sources."@babel/helper-replace-supers-7.18.9"
+      sources."@babel/helper-simple-access-7.18.6"
+      sources."@babel/helper-skip-transparent-expression-wrappers-7.18.9"
+      sources."@babel/helper-split-export-declaration-7.18.6"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      sources."@babel/helper-validator-option-7.18.6"
+      sources."@babel/helper-wrap-function-7.18.6"
+      sources."@babel/helpers-7.18.9"
+      sources."@babel/highlight-7.18.6"
+      sources."@babel/parser-7.18.9"
+      sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6"
+      sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9"
+      sources."@babel/plugin-proposal-async-generator-functions-7.18.6"
+      sources."@babel/plugin-proposal-class-properties-7.18.6"
+      sources."@babel/plugin-proposal-class-static-block-7.18.6"
+      sources."@babel/plugin-proposal-dynamic-import-7.18.6"
+      sources."@babel/plugin-proposal-export-namespace-from-7.18.9"
+      sources."@babel/plugin-proposal-json-strings-7.18.6"
+      sources."@babel/plugin-proposal-logical-assignment-operators-7.18.9"
+      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.18.6"
+      sources."@babel/plugin-proposal-numeric-separator-7.18.6"
+      sources."@babel/plugin-proposal-object-rest-spread-7.18.9"
+      sources."@babel/plugin-proposal-optional-catch-binding-7.18.6"
+      sources."@babel/plugin-proposal-optional-chaining-7.18.9"
+      sources."@babel/plugin-proposal-private-methods-7.18.6"
+      sources."@babel/plugin-proposal-private-property-in-object-7.18.6"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.18.6"
       sources."@babel/plugin-syntax-async-generators-7.8.4"
       sources."@babel/plugin-syntax-class-properties-7.12.13"
       sources."@babel/plugin-syntax-class-static-block-7.14.5"
       sources."@babel/plugin-syntax-dynamic-import-7.8.3"
       sources."@babel/plugin-syntax-export-namespace-from-7.8.3"
-      sources."@babel/plugin-syntax-import-assertions-7.17.12"
+      sources."@babel/plugin-syntax-import-assertions-7.18.6"
       sources."@babel/plugin-syntax-json-strings-7.8.3"
       sources."@babel/plugin-syntax-logical-assignment-operators-7.10.4"
       sources."@babel/plugin-syntax-nullish-coalescing-operator-7.8.3"
@@ -6343,53 +6361,53 @@ let
       sources."@babel/plugin-syntax-optional-chaining-7.8.3"
       sources."@babel/plugin-syntax-private-property-in-object-7.14.5"
       sources."@babel/plugin-syntax-top-level-await-7.14.5"
-      sources."@babel/plugin-transform-arrow-functions-7.17.12"
-      sources."@babel/plugin-transform-async-to-generator-7.17.12"
-      sources."@babel/plugin-transform-block-scoped-functions-7.16.7"
-      sources."@babel/plugin-transform-block-scoping-7.17.12"
-      sources."@babel/plugin-transform-classes-7.17.12"
-      sources."@babel/plugin-transform-computed-properties-7.17.12"
-      sources."@babel/plugin-transform-destructuring-7.18.0"
-      sources."@babel/plugin-transform-dotall-regex-7.16.7"
-      sources."@babel/plugin-transform-duplicate-keys-7.17.12"
-      sources."@babel/plugin-transform-exponentiation-operator-7.16.7"
-      sources."@babel/plugin-transform-for-of-7.18.1"
-      sources."@babel/plugin-transform-function-name-7.16.7"
-      sources."@babel/plugin-transform-literals-7.17.12"
-      sources."@babel/plugin-transform-member-expression-literals-7.16.7"
-      sources."@babel/plugin-transform-modules-amd-7.18.0"
-      sources."@babel/plugin-transform-modules-commonjs-7.18.2"
-      sources."@babel/plugin-transform-modules-systemjs-7.18.0"
-      sources."@babel/plugin-transform-modules-umd-7.18.0"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.17.12"
-      sources."@babel/plugin-transform-new-target-7.17.12"
-      sources."@babel/plugin-transform-object-super-7.16.7"
-      sources."@babel/plugin-transform-parameters-7.17.12"
-      sources."@babel/plugin-transform-property-literals-7.16.7"
-      sources."@babel/plugin-transform-regenerator-7.18.0"
-      sources."@babel/plugin-transform-reserved-words-7.17.12"
-      sources."@babel/plugin-transform-shorthand-properties-7.16.7"
-      sources."@babel/plugin-transform-spread-7.17.12"
-      sources."@babel/plugin-transform-sticky-regex-7.16.7"
-      sources."@babel/plugin-transform-template-literals-7.18.2"
-      sources."@babel/plugin-transform-typeof-symbol-7.17.12"
-      sources."@babel/plugin-transform-unicode-escapes-7.16.7"
-      sources."@babel/plugin-transform-unicode-regex-7.16.7"
-      (sources."@babel/preset-env-7.18.2" // {
+      sources."@babel/plugin-transform-arrow-functions-7.18.6"
+      sources."@babel/plugin-transform-async-to-generator-7.18.6"
+      sources."@babel/plugin-transform-block-scoped-functions-7.18.6"
+      sources."@babel/plugin-transform-block-scoping-7.18.9"
+      sources."@babel/plugin-transform-classes-7.18.9"
+      sources."@babel/plugin-transform-computed-properties-7.18.9"
+      sources."@babel/plugin-transform-destructuring-7.18.9"
+      sources."@babel/plugin-transform-dotall-regex-7.18.6"
+      sources."@babel/plugin-transform-duplicate-keys-7.18.9"
+      sources."@babel/plugin-transform-exponentiation-operator-7.18.6"
+      sources."@babel/plugin-transform-for-of-7.18.8"
+      sources."@babel/plugin-transform-function-name-7.18.9"
+      sources."@babel/plugin-transform-literals-7.18.9"
+      sources."@babel/plugin-transform-member-expression-literals-7.18.6"
+      sources."@babel/plugin-transform-modules-amd-7.18.6"
+      sources."@babel/plugin-transform-modules-commonjs-7.18.6"
+      sources."@babel/plugin-transform-modules-systemjs-7.18.9"
+      sources."@babel/plugin-transform-modules-umd-7.18.6"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.18.6"
+      sources."@babel/plugin-transform-new-target-7.18.6"
+      sources."@babel/plugin-transform-object-super-7.18.6"
+      sources."@babel/plugin-transform-parameters-7.18.8"
+      sources."@babel/plugin-transform-property-literals-7.18.6"
+      sources."@babel/plugin-transform-regenerator-7.18.6"
+      sources."@babel/plugin-transform-reserved-words-7.18.6"
+      sources."@babel/plugin-transform-shorthand-properties-7.18.6"
+      sources."@babel/plugin-transform-spread-7.18.9"
+      sources."@babel/plugin-transform-sticky-regex-7.18.6"
+      sources."@babel/plugin-transform-template-literals-7.18.9"
+      sources."@babel/plugin-transform-typeof-symbol-7.18.9"
+      sources."@babel/plugin-transform-unicode-escapes-7.18.6"
+      sources."@babel/plugin-transform-unicode-regex-7.18.6"
+      (sources."@babel/preset-env-7.18.9" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
       sources."@babel/preset-modules-0.1.5"
       sources."@babel/runtime-7.14.6"
-      sources."@babel/template-7.16.7"
-      (sources."@babel/traverse-7.18.5" // {
+      sources."@babel/template-7.18.6"
+      (sources."@babel/traverse-7.18.9" // {
         dependencies = [
           sources."debug-4.3.3"
           sources."ms-2.1.2"
         ];
       })
-      sources."@babel/types-7.18.4"
+      sources."@babel/types-7.18.9"
       sources."@discoveryjs/json-ext-0.5.5"
       (sources."@eslint/eslintrc-1.3.0" // {
         dependencies = [
@@ -6398,19 +6416,11 @@ let
           sources."ms-2.1.2"
         ];
       })
-      sources."@fortawesome/fontawesome-common-types-0.3.0"
-      sources."@fortawesome/fontawesome-svg-core-1.3.0"
-      (sources."@fortawesome/free-brands-svg-icons-6.1.1" // {
-        dependencies = [
-          sources."@fortawesome/fontawesome-common-types-6.1.1"
-        ];
-      })
-      (sources."@fortawesome/free-solid-svg-icons-6.1.1" // {
-        dependencies = [
-          sources."@fortawesome/fontawesome-common-types-6.1.1"
-        ];
-      })
-      sources."@fortawesome/vue-fontawesome-2.0.7"
+      sources."@fortawesome/fontawesome-common-types-6.1.1"
+      sources."@fortawesome/fontawesome-svg-core-6.1.1"
+      sources."@fortawesome/free-brands-svg-icons-6.1.1"
+      sources."@fortawesome/free-solid-svg-icons-6.1.1"
+      sources."@fortawesome/vue-fontawesome-2.0.8"
       (sources."@humanwhocodes/config-array-0.9.2" // {
         dependencies = [
           sources."debug-4.3.3"
@@ -6418,9 +6428,9 @@ let
         ];
       })
       sources."@humanwhocodes/object-schema-1.2.1"
-      sources."@jridgewell/gen-mapping-0.3.1"
+      sources."@jridgewell/gen-mapping-0.3.2"
       sources."@jridgewell/resolve-uri-3.0.5"
-      sources."@jridgewell/set-array-1.1.1"
+      sources."@jridgewell/set-array-1.1.2"
       sources."@jridgewell/sourcemap-codec-1.4.11"
       sources."@jridgewell/trace-mapping-0.3.13"
       sources."@leichtgewicht/ip-codec-2.0.3"
@@ -6452,11 +6462,11 @@ let
       sources."@types/serve-static-1.13.10"
       sources."@types/sockjs-0.3.33"
       sources."@types/ws-8.5.3"
+      sources."@vue/compiler-sfc-2.7.7"
       (sources."@vue/component-compiler-utils-3.2.2" // {
         dependencies = [
           sources."picocolors-0.2.1"
           sources."postcss-7.0.39"
-          sources."source-map-0.6.1"
         ];
       })
       sources."@webassemblyjs/ast-1.11.1"
@@ -6524,13 +6534,13 @@ let
         ];
       })
       sources."babel-plugin-dynamic-import-node-2.3.3"
-      (sources."babel-plugin-polyfill-corejs2-0.3.0" // {
+      (sources."babel-plugin-polyfill-corejs2-0.3.1" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."babel-plugin-polyfill-corejs3-0.5.0"
-      sources."babel-plugin-polyfill-regenerator-0.3.0"
+      sources."babel-plugin-polyfill-corejs3-0.5.2"
+      sources."babel-plugin-polyfill-regenerator-0.3.1"
       sources."balanced-match-1.0.0"
       sources."batch-0.6.1"
       sources."before-build-webpack-0.2.12"
@@ -6561,11 +6571,7 @@ let
       sources."chalk-2.4.2"
       sources."chokidar-3.5.3"
       sources."chrome-trace-event-1.0.3"
-      (sources."clean-css-5.2.2" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
+      sources."clean-css-5.2.2"
       sources."clean-webpack-plugin-4.0.0"
       sources."clone-deep-4.0.1"
       sources."color-convert-1.9.3"
@@ -6578,7 +6584,7 @@ let
       sources."compression-1.7.4"
       sources."concat-map-0.0.1"
       sources."confusing-browser-globals-1.0.10"
-      sources."connect-history-api-fallback-1.6.0"
+      sources."connect-history-api-fallback-2.0.0"
       sources."consolidate-0.15.1"
       (sources."content-disposition-0.5.4" // {
         dependencies = [
@@ -6611,6 +6617,7 @@ let
       sources."css-select-4.1.3"
       sources."css-what-5.1.0"
       sources."cssesc-3.0.0"
+      sources."csstype-3.1.0"
       sources."de-indent-1.0.2"
       sources."debug-2.6.9"
       sources."deep-is-0.1.4"
@@ -6666,7 +6673,7 @@ let
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
-      (sources."eslint-8.17.0" // {
+      (sources."eslint-8.20.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -6677,7 +6684,7 @@ let
           sources."eslint-scope-7.1.1"
           sources."estraverse-5.3.0"
           sources."glob-parent-6.0.2"
-          sources."globals-13.15.0"
+          sources."globals-13.16.0"
           sources."has-flag-4.0.0"
           sources."ms-2.1.2"
           sources."supports-color-7.2.0"
@@ -6705,13 +6712,13 @@ let
           sources."doctrine-2.1.0"
         ];
       })
-      (sources."eslint-plugin-vue-9.1.1" // {
+      (sources."eslint-plugin-vue-9.2.0" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."eslint-scope-7.1.1"
           sources."estraverse-5.3.0"
           sources."ms-2.1.2"
-          sources."vue-eslint-parser-9.0.2"
+          sources."vue-eslint-parser-9.0.3"
         ];
       })
       sources."eslint-scope-5.1.1"
@@ -6960,11 +6967,7 @@ let
       sources."media-typer-0.3.0"
       sources."memfs-3.4.1"
       sources."merge-descriptors-1.0.1"
-      (sources."merge-source-map-1.1.0" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
+      sources."merge-source-map-1.1.0"
       sources."merge-stream-2.0.0"
       sources."merge2-1.4.1"
       sources."methods-1.1.2"
@@ -6981,7 +6984,7 @@ let
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
       sources."ms-2.0.0"
-      sources."nanoid-3.3.1"
+      sources."nanoid-3.3.4"
       sources."natural-compare-1.4.0"
       sources."negotiator-0.6.3"
       sources."neo-async-2.6.2"
@@ -7043,7 +7046,7 @@ let
       sources."pinkie-promise-2.0.1"
       sources."plurals-cldr-2.0.1"
       sources."popper.js-1.16.1"
-      sources."postcss-8.4.12"
+      sources."postcss-8.4.14"
       sources."postcss-modules-extract-imports-3.0.0"
       sources."postcss-modules-local-by-default-4.0.0"
       sources."postcss-modules-scope-3.0.0"
@@ -7078,7 +7081,7 @@ let
       sources."regenerator-runtime-0.13.7"
       sources."regenerator-transform-0.15.0"
       sources."regexpp-3.2.0"
-      sources."regexpu-core-5.0.1"
+      sources."regexpu-core-5.1.0"
       sources."regjsgen-0.6.0"
       (sources."regjsparser-0.8.4" // {
         dependencies = [
@@ -7098,8 +7101,8 @@ let
       sources."run-parallel-1.2.0"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
-      sources."sass-1.52.3"
-      sources."sass-loader-13.0.0"
+      sources."sass-1.53.0"
+      sources."sass-loader-13.0.2"
       sources."schema-utils-3.1.1"
       sources."select-hose-2.0.0"
       sources."selfsigned-2.0.1"
@@ -7137,6 +7140,7 @@ let
       sources."sirv-1.0.17"
       sources."slash-4.0.0"
       sources."sockjs-0.3.24"
+      sources."source-map-0.6.1"
       sources."source-map-js-1.0.2"
       (sources."spdy-4.0.2" // {
         dependencies = [
@@ -7170,11 +7174,7 @@ let
           })
         ];
       })
-      (sources."terser-webpack-plugin-5.3.0" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
+      sources."terser-webpack-plugin-5.3.0"
       sources."text-table-0.2.0"
       sources."thunky-1.1.0"
       sources."to-fast-properties-2.0.0"
@@ -7216,7 +7216,7 @@ let
       sources."v-tooltip-2.1.3"
       sources."v8-compile-cache-2.3.0"
       sources."vary-1.1.2"
-      sources."vue-2.6.14"
+      sources."vue-2.7.7"
       (sources."vue-eslint-parser-8.3.0" // {
         dependencies = [
           sources."debug-4.3.3"
@@ -7226,14 +7226,14 @@ let
         ];
       })
       sources."vue-hot-reload-api-2.3.4"
-      sources."vue-loader-15.9.8"
+      sources."vue-loader-15.10.0"
       sources."vue-meta-2.4.0"
       sources."vue-multiselect-2.1.6"
       sources."vue-resize-1.0.1"
       sources."vue-router-3.5.4"
       sources."vue-snotify-3.2.1"
       sources."vue-style-loader-4.1.3"
-      sources."vue-template-compiler-2.6.14"
+      sources."vue-template-compiler-2.7.7"
       sources."vue-template-es2015-compiler-1.9.1"
       sources."vuex-3.6.2"
       sources."watchpack-2.3.1"
@@ -7264,7 +7264,7 @@ let
           sources."schema-utils-4.0.0"
         ];
       })
-      (sources."webpack-dev-server-4.9.2" // {
+      (sources."webpack-dev-server-4.9.3" // {
         dependencies = [
           sources."ajv-8.11.0"
           sources."ajv-keywords-5.1.0"
diff --git a/pkgs/applications/misc/ArchiSteamFarm/web-ui/update.sh b/pkgs/applications/misc/ArchiSteamFarm/web-ui/update.sh
index 90f8baf8e1b..e6838148863 100755
--- a/pkgs/applications/misc/ArchiSteamFarm/web-ui/update.sh
+++ b/pkgs/applications/misc/ArchiSteamFarm/web-ui/update.sh
@@ -1,8 +1,8 @@
 #!/usr/bin/env nix-shell
-#! nix-shell -I nixpkgs=../../../.. -i bash -p nodePackages.node2nix gnused jq curl
+#! nix-shell -I nixpkgs=../../../../.. -i bash -p nodePackages.node2nix gnused jq curl
 set -eoux pipefail
 
-pushd ../../../..
+pushd ../../../../..
 version=$(nix-instantiate --strict --eval -A ArchiSteamFarm.version | jq -r)
 popd
 pushd "$(dirname "$0")"
diff --git a/pkgs/applications/misc/anytype/default.nix b/pkgs/applications/misc/anytype/default.nix
index 6e28c58798e..6cb1e67f30b 100644
--- a/pkgs/applications/misc/anytype/default.nix
+++ b/pkgs/applications/misc/anytype/default.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "anytype";
-  version = "0.26.1";
+  version = "0.27.0";
   name = "Anytype-${version}";
   nameExecutable = pname;
   src = fetchurl {
     url = "https://at9412003.fra1.digitaloceanspaces.com/Anytype-${version}.AppImage";
     name = "Anytype-${version}.AppImage";
-    sha256 = "sha256-lPzeYZzerFa0T77uaavvBQkMn4PUEfVj4SPlErqM9DI=";
+    sha256 = "sha256-AcnXhilnr5ay45S30eNSDuN+Ed1TDv/Rh523LsUf3iM=";
   };
   appimageContents = appimageTools.extractType2 { inherit name src; };
 in
diff --git a/pkgs/applications/misc/avalonia-ilspy/default.nix b/pkgs/applications/misc/avalonia-ilspy/default.nix
index 7defa48a8f6..91c584762d8 100644
--- a/pkgs/applications/misc/avalonia-ilspy/default.nix
+++ b/pkgs/applications/misc/avalonia-ilspy/default.nix
@@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
   '';
   dontStrip = true;
 
-  desktopItem = makeDesktopItem {
+  desktopItems = [ (makeDesktopItem {
     name = "ILSpy";
     desktopName = "ILSpy";
     exec = "ILSpy";
@@ -87,7 +87,7 @@ stdenv.mkDerivation rec {
       "il"
       "assembly"
     ];
-  };
+  }) ];
 
   meta = with lib; {
     description = ".NET assembly browser and decompiler";
diff --git a/pkgs/applications/misc/cheat/default.nix b/pkgs/applications/misc/cheat/default.nix
index bda779dd54f..dea179f3c34 100644
--- a/pkgs/applications/misc/cheat/default.nix
+++ b/pkgs/applications/misc/cheat/default.nix
@@ -3,13 +3,13 @@
 
 buildGoModule rec {
   pname = "cheat";
-  version = "4.2.3";
+  version = "4.3.1";
 
   src = fetchFromGitHub {
     owner = "cheat";
     repo = "cheat";
     rev = version;
-    sha256 = "sha256-F0p309rY0PeeOU1K9Had6qI6DCHgzauuuTjMfWoZYBQ=";
+    sha256 = "sha256-Umbe3XoCQV+q37ROeIWQUZtTe1Nu59Z5Hxt2nc7/l64=";
   };
 
   subPackages = [ "cmd/cheat" ];
diff --git a/pkgs/applications/misc/crow-translate/default.nix b/pkgs/applications/misc/crow-translate/default.nix
index dfd072fa5d9..cafa83f06ed 100644
--- a/pkgs/applications/misc/crow-translate/default.nix
+++ b/pkgs/applications/misc/crow-translate/default.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "crow-translate";
-  version = "2.9.8";
+  version = "2.9.10";
 
   src = fetchzip {
     url = "https://github.com/${pname}/${pname}/releases/download/${version}/${pname}-${version}-source.tar.gz";
-    hash = "sha256-ZqiQVpKwGpglSc05Y1r6uScZyG4qnklPXqTGKxpS3f8=";
+    hash = "sha256-FIQuvayhk2XrkpbVxwfXRMyFnOxKv8bs1ayeboQHliY=";
   };
 
   patches = [
diff --git a/pkgs/applications/misc/deckmaster/default.nix b/pkgs/applications/misc/deckmaster/default.nix
new file mode 100644
index 00000000000..34da4fe9394
--- /dev/null
+++ b/pkgs/applications/misc/deckmaster/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, stdenv
+, buildGoModule
+, fetchFromGitHub
+, makeWrapper
+, roboto
+}:
+
+buildGoModule rec {
+  pname = "deckmaster";
+  version = "0.8.0";
+
+  src = fetchFromGitHub {
+    owner = "muesli";
+    repo = "deckmaster";
+    rev = "v${version}";
+    sha256 = "sha256-q2rUHfAvTGXBAGrZUtHMuZr6fYWmpha+al2FG8sCC0Y=";
+  };
+
+  vendorSha256 = "sha256-kj4lRHuQ9e0TOC4p4Ak3AB3Lx0JN1jqXaVKlee9EtCg=";
+
+  proxyVendor = true;
+
+  nativeBuildInputs = [
+    makeWrapper
+  ];
+
+  ldflags = [
+    "-s"
+    "-w"
+  ];
+
+  # Let the app find Roboto-*.ttf files (hard-coded file names).
+  postFixup = ''
+    wrapProgram $out/bin/deckmaster \
+      --prefix XDG_DATA_DIRS : "${roboto.out}/share/" \
+  '';
+
+  meta = with lib; {
+    description = "An application to control your Elgato Stream Deck on Linux";
+    homepage = "https://github.com/muesli/deckmaster";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ianmjones ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/dwdiff/default.nix b/pkgs/applications/misc/dwdiff/default.nix
new file mode 100644
index 00000000000..320f8e25bcb
--- /dev/null
+++ b/pkgs/applications/misc/dwdiff/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, stdenv
+, fetchurl
+, gettext
+, pkg-config
+, icu
+}:
+
+stdenv.mkDerivation rec {
+  pname = "dwdiff";
+  version = "2.1.4";
+
+  src = fetchurl {
+    url = "https://os.ghalkes.nl/dist/dwdiff-${version}.tar.bz2";
+    sha256 = "sha256-3xb+xE3LRn1lpCRqQ2KPk3QZlsF3PpMLkMbd4i3Vjgo=";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [
+    gettext
+    icu
+  ];
+
+  meta = with lib; {
+    description = "Front-end for the diff program that operates at the word level instead of the line level";
+    homepage = "https://os.ghalkes.nl/dwdiff.html";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ onny ];
+  };
+
+}
diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix
index 025d89e4138..4a506aed9e1 100644
--- a/pkgs/applications/misc/electrum/default.nix
+++ b/pkgs/applications/misc/electrum/default.nix
@@ -21,7 +21,7 @@
 }:
 
 let
-  version = "4.2.2";
+  version = "4.3.0";
 
   libsecp256k1_name =
     if stdenv.isLinux then "libsecp256k1.so.0"
@@ -30,6 +30,7 @@ let
 
   libzbar_name =
     if stdenv.isLinux then "libzbar.so.0"
+    else if stdenv.isDarwin then "libzbar.0.dylib"
     else "libzbar${stdenv.hostPlatform.extensions.sharedLibrary}";
 
   # Not provided in official source releases, which are what upstream signs.
@@ -37,7 +38,7 @@ let
     owner = "spesmilo";
     repo = "electrum";
     rev = version;
-    sha256 = "sha256-bFceOu+3SLtD2eY+aSBEn13xJw7a3aVwX39QfAuqVSo=";
+    sha256 = "sha256-/bYz2KB9Fggo6cnKM3hvwL/Jy4Xsw2phx1sInuqZpFg=";
 
     postFetch = ''
       mv $out ./all
@@ -53,7 +54,7 @@ python3.pkgs.buildPythonApplication {
 
   src = fetchurl {
     url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
-    sha256 = "sha256-ucLLfqmTKO5Qpg+PnmcdQwht7cWMWJoFjQWnDecEtVs=";
+    sha256 = "sha256-E941wseIQEn1+d06NWKQLQM0C+A8a0+Xxl+LzBTwEcw=";
   };
 
   postUnpack = ''
@@ -90,7 +91,6 @@ python3.pkgs.buildPythonApplication {
   ];
 
   preBuild = ''
-    sed -i 's,usr_share = .*,usr_share = "'$out'/share",g' setup.py
     substituteInPlace ./electrum/ecc_fast.py \
       --replace ${libsecp256k1_name} ${secp256k1}/lib/libsecp256k1${stdenv.hostPlatform.extensions.sharedLibrary}
   '' + (if enableQt then ''
@@ -101,17 +101,11 @@ python3.pkgs.buildPythonApplication {
   '');
 
   postInstall = lib.optionalString stdenv.isLinux ''
-    # Despite setting usr_share above, these files are installed under
-    # $out/nix ...
-    mv $out/${python3.sitePackages}/nix/store"/"*/share $out
-    rm -rf $out/${python3.sitePackages}/nix
-
     substituteInPlace $out/share/applications/electrum.desktop \
       --replace 'Exec=sh -c "PATH=\"\\$HOME/.local/bin:\\$PATH\"; electrum %u"' \
                 "Exec=$out/bin/electrum %u" \
       --replace 'Exec=sh -c "PATH=\"\\$HOME/.local/bin:\\$PATH\"; electrum --testnet %u"' \
                 "Exec=$out/bin/electrum --testnet %u"
-
   '';
 
   postFixup = lib.optionalString enableQt ''
diff --git a/pkgs/applications/misc/electrum/ltc.nix b/pkgs/applications/misc/electrum/ltc.nix
index 5f65fd4a368..c9332be2309 100644
--- a/pkgs/applications/misc/electrum/ltc.nix
+++ b/pkgs/applications/misc/electrum/ltc.nix
@@ -20,7 +20,7 @@
 }:
 
 let
-  version = "4.0.9.3";
+  version = "4.2.2.1";
 
   libsecp256k1_name =
     if stdenv.isLinux then "libsecp256k1.so.0"
@@ -36,7 +36,7 @@ let
     owner = "pooler";
     repo = "electrum-ltc";
     rev = version;
-    sha256 = "sha256-oZjQnrnj8nCaQjrIz8bWNt6Ib8Wu2ZMXHEPfCCy2fjk=";
+    sha256 = "sha256-qu72LIV07pgHqvKv+Kcw9ZmNk6IBz+4/vdJELlT5tE4=";
 
     postFetch = ''
       mv $out ./all
@@ -44,19 +44,6 @@ let
     '';
   };
 
-  py = python3.override {
-    packageOverrides = self: super: {
-
-      aiorpcx = super.aiorpcx.overridePythonAttrs (oldAttrs: rec {
-        version = "0.18.7";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "1rswrspv27x33xa5bnhrkjqzhv0sknv5kd7pl1vidw9d2z4rx2l0";
-        };
-      });
-    };
-  };
-
 in
 
 python3.pkgs.buildPythonApplication {
@@ -65,7 +52,7 @@ python3.pkgs.buildPythonApplication {
 
   src = fetchurl {
     url = "https://electrum-ltc.org/download/Electrum-LTC-${version}.tar.gz";
-    sha256 = "sha256-+oox0BGqkvj0OGOKJF8tUoKdsZFeffNb6rTF8E8mo08=";
+    sha256 = "sha256-7F28cve+HD5JDK5igfkGD/NvTCfA33g+DmQJ5mwPM9Q=";
   };
 
   postUnpack = ''
@@ -73,19 +60,9 @@ python3.pkgs.buildPythonApplication {
     cp -ar ${tests} $sourceRoot/electrum_ltc/tests
   '';
 
-  prePatch = ''
-    substituteInPlace contrib/requirements/requirements.txt \
-      --replace "dnspython>=2.0,<2.1" "dnspython>=2.0"
-
-    # according to upstream, this is fine
-    # https://github.com/spesmilo/electrum/issues/7361
-    substituteInPlace contrib/requirements/requirements.txt \
-      --replace "qdarkstyle<2.9" "qdarkstyle>=2.7"
-  '';
-
   nativeBuildInputs = lib.optionals enableQt [ wrapQtAppsHook ];
 
-  propagatedBuildInputs = with py.pkgs; [
+  propagatedBuildInputs = with python3.pkgs; [
     aiohttp
     aiohttp-socks
     aiorpcx
diff --git a/pkgs/applications/misc/gpsprune/default.nix b/pkgs/applications/misc/gpsprune/default.nix
index da5c8574ad0..4c917ce9050 100644
--- a/pkgs/applications/misc/gpsprune/default.nix
+++ b/pkgs/applications/misc/gpsprune/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gpsprune";
-  version = "21.2";
+  version = "21.3";
 
   src = fetchurl {
     url = "https://activityworkshop.net/software/gpsprune/gpsprune_${version}.jar";
-    sha256 = "sha256-QgbLbpqlC2sITbPK4ZcaovmycwhWtnu06x8F0grpECc=";
+    sha256 = "sha256-0uPCMMWixw1dZeG12kvFO4FTp8qrOsLyLTKtGSVJxuw=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/applications/misc/gsimplecal/default.nix b/pkgs/applications/misc/gsimplecal/default.nix
index c751f4c2802..f475df8f7b0 100644
--- a/pkgs/applications/misc/gsimplecal/default.nix
+++ b/pkgs/applications/misc/gsimplecal/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gsimplecal";
-  version = "2.2";
+  version = "2.4.1";
 
   src = fetchFromGitHub {
     owner = "dmedvinsky";
     repo = "gsimplecal";
     rev = "v${version}";
-    sha256 = "sha256-r7OitN7WSY7vxpQCraLyokgUNgvaVFjE17ghBGgxzuM=";
+    sha256 = "sha256-8faYw8tg8pOkpImcv8TM4UUpQEEtDKjAk4iKbXDC9no=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/misc/gum/default.nix b/pkgs/applications/misc/gum/default.nix
index 5a925a0d19b..988b4d0c6f1 100644
--- a/pkgs/applications/misc/gum/default.nix
+++ b/pkgs/applications/misc/gum/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gum";
-  version = "0.1.0";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "charmbracelet";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-od0jJPfvczlru9hhO8ravGou6yYP91L2k37NYm2hD+k=";
+    sha256 = "sha256-zFw2Lf+N8jxrw6JYqzsDMXIMchFc2bxAofELrgIMquk=";
   };
 
-  vendorSha256 = "sha256-uX0CQRqrM0/fj14owcUUpYph2j5ZwJITG53na31N6kg=";
+  vendorSha256 = "sha256-8MqBGMcYR/kbExfXBeQrO8p7a/uawUk2hLmnQtarWEw=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/applications/misc/josm/default.nix b/pkgs/applications/misc/josm/default.nix
index fa3b360b1cb..5a680cc76b5 100644
--- a/pkgs/applications/misc/josm/default.nix
+++ b/pkgs/applications/misc/josm/default.nix
@@ -3,20 +3,20 @@
 }:
 let
   pname = "josm";
-  version = "18513";
+  version = "18531";
   srcs = {
     jar = fetchurl {
       url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
-      sha256 = "sha256-rKBDKPq6hn4VGlzW4ad/gBU4eCVRF9JgRLrDaTKjCbI=";
+      sha256 = "sha256-/esGbLbidQ60+auMC1W2GwH7V5qdTVzblDNsskuhcjs=";
     };
     macosx = fetchurl {
       url = "https://josm.openstreetmap.de/download/macosx/josm-macos-${version}-java17.zip";
-      sha256 = "sha256-M8ZV3FXZJHqaegPKQnjQkMYMWt2BUiKzM8Tit4NqtU4=";
+      sha256 = "sha256-ldcTuacUUxsssJqJ8cRjbP+TWlxQdcNtVbj8clDNEGw=";
     };
     pkg = fetchsvn {
       url = "https://josm.openstreetmap.de/svn/trunk/native/linux/tested";
       rev = version;
-      sha256 = "sha256-cguvKl9yvthNWcLD6YDLKiialJmutJTa9egMdfKHRpU=";
+      sha256 = "sha256-Cga17ymUROJb5scpyOlo6JIgQ77yHavI0ciUpZN+jLk=";
     };
   };
 in
diff --git a/pkgs/applications/misc/jquake/default.nix b/pkgs/applications/misc/jquake/default.nix
index f68a584fe83..192f8f06a04 100644
--- a/pkgs/applications/misc/jquake/default.nix
+++ b/pkgs/applications/misc/jquake/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jquake";
-  version = "1.6.2";
+  version = "1.7.1";
 
   src = fetchurl {
     url = "https://fleneindre.github.io/downloads/JQuake_${version}_linux.zip";
-    sha256 = "1k12yw9fwq1z3gg0d38dxs4mmyn912zfcm6zsbjkv27q6lvhvwng";
+    sha256 = "sha256-sdTt1+1eAU/DJAszPQnmoaBZThJ9yC9GL1k+OpD+tp4=";
   };
 
   nativeBuildInputs = [ unzip copyDesktopItems ];
diff --git a/pkgs/applications/misc/jrnl/default.nix b/pkgs/applications/misc/jrnl/default.nix
index 4aecdec4de9..141db33e8b1 100644
--- a/pkgs/applications/misc/jrnl/default.nix
+++ b/pkgs/applications/misc/jrnl/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "jrnl";
-  version = "2.8.4";
+  version = "3.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "jrnl-org";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Edu+GW/D+R5r0R750Z1f8YUVPMYbm9PK4D73sTDzDEc=";
+    sha256 = "sha256-wyN7dlAbQwqvES8qEJ4Zo+fDMM/Lh9tNjf215Ywop10=";
   };
 
   nativeBuildInputs = with python3.pkgs; [
@@ -31,14 +31,24 @@ python3.pkgs.buildPythonApplication rec {
     pyxdg
     pyyaml
     tzlocal
+    ruamel-yaml
+    rich
   ];
 
   checkInputs = with python3.pkgs; [
     pytest-bdd
+    pytest-xdist
     pytestCheckHook
     toml
   ];
 
+  # Upstream expects a old pytest-bdd version
+  # Once it changes we should update here too
+  # https://github.com/jrnl-org/jrnl/blob/develop/poetry.lock#L732
+  disabledTests = [
+    "bdd"
+  ];
+
   postPatch = ''
     substituteInPlace pyproject.toml \
       --replace 'tzlocal = ">2.0, <3.0"' 'tzlocal = ">2.0, !=3.0"'
diff --git a/pkgs/applications/misc/k40-whisperer/default.nix b/pkgs/applications/misc/k40-whisperer/default.nix
index b50a1751510..429d798210e 100644
--- a/pkgs/applications/misc/k40-whisperer/default.nix
+++ b/pkgs/applications/misc/k40-whisperer/default.nix
@@ -23,12 +23,12 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "k40-whisperer";
-  version = "0.59";
+  version = "0.60";
 
   src = fetchzip {
     url = "https://www.scorchworks.com/K40whisperer/K40_Whisperer-${version}_src.zip";
     stripRoot = true;
-    sha256 = "0r8rhaksk87l44pwwpvrfnck2lyic3lgcbh3pi7ib6mrwbsyhlni";
+    sha256 = "sha256-Nr7WYVu78msn5HuDNtSSvkdU6iCWtbiYZmh0rnMiyEg=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/misc/kanboard/default.nix b/pkgs/applications/misc/kanboard/default.nix
index 26500ead5a2..49e8688cb59 100644
--- a/pkgs/applications/misc/kanboard/default.nix
+++ b/pkgs/applications/misc/kanboard/default.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
     description = "Kanban project management software";
     homepage = "https://kanboard.net";
     license = licenses.mit;
-    maintainers = with maintainers; [ fpletz lheckemann ];
+    maintainers = with maintainers; [ lheckemann ];
   };
 }
diff --git a/pkgs/applications/misc/koreader/default.nix b/pkgs/applications/misc/koreader/default.nix
index b428690b7a4..b424ad4cb72 100644
--- a/pkgs/applications/misc/koreader/default.nix
+++ b/pkgs/applications/misc/koreader/default.nix
@@ -13,12 +13,12 @@
 let font-droid = nerdfonts.override { fonts = [ "DroidSansMono" ]; };
 in stdenv.mkDerivation rec {
   pname = "koreader";
-  version = "2022.05.1";
+  version = "2022.07";
 
   src = fetchurl {
     url =
       "https://github.com/koreader/koreader/releases/download/v${version}/koreader-${version}-amd64.deb";
-    sha256 = "sha256-Uz8fzF/SdKNRywoIb8B/iHRuXDwRyw7wH7bL9vRzPfY=";
+    sha256 = "sha256-8WQFfmKgu6XPqWQsma656RWpNwNkSXmHOHs2cyVVqJU=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/applications/misc/libosmocore/default.nix b/pkgs/applications/misc/libosmocore/default.nix
index 2b825705b00..a3de388a52a 100644
--- a/pkgs/applications/misc/libosmocore/default.nix
+++ b/pkgs/applications/misc/libosmocore/default.nix
@@ -13,15 +13,19 @@
 
 stdenv.mkDerivation rec {
   pname = "libosmocore";
-  version = "1.6.0";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "osmocom";
     repo = "libosmocore";
     rev = version;
-    hash = "sha256-AjOyZiLlXhsetbyMBuUssoNxk22LzGOkZpeLt4vKli4=";
+    hash = "sha256-Dkud3ZA9m/UVbPugbQztUJXFpkQYTWjK2mamxfto9JA=";
   };
 
+  postPatch = ''
+    echo "${version}" > .tarball-version
+  '';
+
   propagatedBuildInputs = [
     talloc
   ];
diff --git a/pkgs/applications/misc/logseq/default.nix b/pkgs/applications/misc/logseq/default.nix
index 36668052da8..d314bfed07e 100644
--- a/pkgs/applications/misc/logseq/default.nix
+++ b/pkgs/applications/misc/logseq/default.nix
@@ -2,17 +2,16 @@
 
 stdenv.mkDerivation rec {
   pname = "logseq";
-  version = "0.7.9";
+  version = "0.8.0";
 
   src = fetchurl {
     url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
-    sha256 = "sha256-tca9jWMlBT+r1CFyGKe8xMA6O0T/tnbmU7uVk+3o87o=";
+    sha256 = "sha256-eHSZqWQWPX5gavzUwsI3VMsD2Ov0h/fVPqnA92dzKH4=";
     name = "${pname}-${version}.AppImage";
   };
 
   appimageContents = appimageTools.extract {
-    name = "${pname}-${version}";
-    inherit src;
+    inherit pname src version;
   };
 
   dontUnpack = true;
diff --git a/pkgs/applications/misc/lscolors/default.nix b/pkgs/applications/misc/lscolors/default.nix
index b51bf337f66..e39ef723df8 100644
--- a/pkgs/applications/misc/lscolors/default.nix
+++ b/pkgs/applications/misc/lscolors/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "lscolors";
-  version = "0.11.0";
+  version = "0.12.0";
 
   src = fetchCrate {
     inherit version pname;
-    sha256 = "sha256-TGraX1H9grqTm3kQ3NLET2EnD9pzdiblEfMt+g5Szkc=";
+    sha256 = "sha256-1tLI+M2hpXWsiO/x27ncs8zn8dBDx18AgsSbN/YE2Ic=";
   };
 
-  cargoSha256 = "sha256-OAQaazT4ChmTokw5yFKaGxwAXJklNgPWaegJVsCkOaA=";
+  cargoSha256 = "sha256-4bFzFztaD9jV3GXpZwCowAhvszedM5ion5/h3D26EY8=";
 
   # setid is not allowed in the sandbox
   checkFlags = [ "--skip=tests::style_for_setid" ];
diff --git a/pkgs/applications/misc/masterpdfeditor/default.nix b/pkgs/applications/misc/masterpdfeditor/default.nix
index de131b7ce63..1ea5db2515f 100644
--- a/pkgs/applications/misc/masterpdfeditor/default.nix
+++ b/pkgs/applications/misc/masterpdfeditor/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "masterpdfeditor";
-  version = "5.8.46";
+  version = "5.8.70";
 
   src = fetchurl {
     url = "https://code-industry.net/public/master-pdf-editor-${version}-qt5.x86_64.tar.gz";
-    sha256 = "sha256-xms4aqIxYXR6v226RMf+abrFU1xz2aDIL6iQ+Yfff1k=";
+    sha256 = "sha256-mheHvHU7Z1jUxFWEEfXv2kVO51t/edTK3xV82iteUXM=";
   };
 
   nativeBuildInputs = [ autoPatchelfHook wrapQtAppsHook ];
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
     homepage = "https://code-industry.net/free-pdf-editor/";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfreeRedistributable;
-    platforms = with platforms; [ "x86_64-linux" ];
+    platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ cmcdragonkai ];
   };
 }
diff --git a/pkgs/applications/misc/masterpdfeditor4/default.nix b/pkgs/applications/misc/masterpdfeditor4/default.nix
index befb11a0a48..355c23d3d18 100644
--- a/pkgs/applications/misc/masterpdfeditor4/default.nix
+++ b/pkgs/applications/misc/masterpdfeditor4/default.nix
@@ -39,6 +39,6 @@ stdenv.mkDerivation rec {
     homepage = "https://code-industry.net/free-pdf-editor/";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfreeRedistributable;
-    platforms = with platforms; [ "x86_64-linux" ];
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/misc/moz-phab/default.nix b/pkgs/applications/misc/moz-phab/default.nix
deleted file mode 100644
index cef60f72e3b..00000000000
--- a/pkgs/applications/misc/moz-phab/default.nix
+++ /dev/null
@@ -1,59 +0,0 @@
-{ lib
-, buildPythonApplication
-, fetchPypi
-, mercurial
-# build inputs
-, distro
-, glean-sdk
-, pip
-, python-hglib
-, sentry-sdk
-, setuptools
-}:
-
-buildPythonApplication rec {
-  pname = "moz-phab";
-  version = "0.1.99";
-
-  src = fetchPypi {
-    pname = "MozPhab";
-    inherit version;
-    sha256 = "sha256-uKoMMSp5AIvB1qTRYAh7n1+2dDLneFbssfkfTTshfcs=";
-  };
-
-  # Relax python-hglib requirement
-  # https://phabricator.services.mozilla.com/D131618
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "==" ">="
-  '';
-
-  propagatedBuildInputs = [
-    distro
-    glean-sdk
-    pip
-    python-hglib
-    sentry-sdk
-    setuptools
-  ];
-  checkInputs = [
-    mercurial
-  ];
-
-  preCheck = ''
-    export HOME=$(mktemp -d)
-  '';
-
-  meta = with lib; {
-    description = "Phabricator CLI from Mozilla to support submission of a series of commits";
-    longDescription = ''
-      moz-phab is a custom command-line tool, which communicates to
-      Phabricator’s API, providing several conveniences, including support for
-      submitting series of commits.
-    '';
-    homepage = "https://moz-conduit.readthedocs.io/en/latest/phabricator-user.html";
-    license = licenses.mpl20;
-    maintainers = [];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/applications/misc/mozphab/default.nix b/pkgs/applications/misc/mozphab/default.nix
new file mode 100644
index 00000000000..d78d880c2e1
--- /dev/null
+++ b/pkgs/applications/misc/mozphab/default.nix
@@ -0,0 +1,78 @@
+{ lib
+, fetchFromGitHub
+, python3
+
+# tests
+, git
+, mercurial
+, patch
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "mozphab";
+  version = "1.1.0";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "mozilla-conduit";
+    repo = "review";
+    rev = "refs/tags/${version}";
+    hash = "sha256-vLHikGjTYOeXd6jDRsoCkq3i0eh6Ttd4KdvlixjzdZ4=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "glean-sdk>=50.0.1,==50.*" "glean-sdk"
+  '';
+
+  propagatedBuildInputs = with python3.pkgs; [
+    distro
+    glean-sdk
+    packaging
+    python-hglib
+    sentry-sdk
+    setuptools
+  ];
+
+  checkInputs = [
+    git
+    mercurial
+    patch
+  ]
+  ++ (with python3.pkgs; [
+    callee
+    immutabledict
+    hg-evolve
+    mock
+    pytestCheckHook
+  ]);
+
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  disabledTestPaths = [
+    # codestyle doesn't matter to us
+    "tests/test_style.py"
+    # integration tests try to submit changes, which requires network access
+    "tests/test_integration_git.py"
+    "tests/test_integration_hg.py"
+    "tests/test_integration_hg_dag.py"
+    "tests/test_integration_patch.py"
+    "tests/test_integration_reorganise.py"
+    "tests/test_sentry.py"
+  ];
+
+  meta = with lib; {
+    description = "Phabricator CLI from Mozilla to support submission of a series of commits";
+    longDescription = ''
+      moz-phab is a custom command-line tool, which communicates to
+      Phabricator’s API, providing several conveniences, including support for
+      submitting series of commits.
+    '';
+    homepage = "https://moz-conduit.readthedocs.io/en/latest/phabricator-user.html";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/misc/nwg-panel/default.nix b/pkgs/applications/misc/nwg-panel/default.nix
index 488f5cd997d..c9765b1e1b4 100644
--- a/pkgs/applications/misc/nwg-panel/default.nix
+++ b/pkgs/applications/misc/nwg-panel/default.nix
@@ -9,17 +9,18 @@
 , light            # light
 , pamixer          # pamixer
 , pulseaudio       # pactl
+, libdbusmenu-gtk3 # tray
 }:
 
 python3Packages.buildPythonApplication rec {
   pname = "nwg-panel";
-  version = "0.5.7";
+  version = "0.7.2";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = "nwg-panel";
     rev = "v${version}";
-    sha256 = "1d3qh42cwayb5d9ymhfs2vrbg5x5x6x73hw77m3xb9y4vyhji85x";
+    sha256 = "sha256-kQow8jBHxMTgtTaOvq8uT5YjWxml+GoYaoUH3hMQN8g=";
   };
 
   # No tests
@@ -31,7 +32,10 @@ python3Packages.buildPythonApplication rec {
 
   buildInputs = [ atk gdk-pixbuf gtk-layer-shell pango ];
   nativeBuildInputs = [ wrapGAppsHook gobject-introspection ];
-  propagatedBuildInputs = with python3Packages; [ i3ipc netifaces psutil pybluez pygobject3 ];
+  propagatedBuildInputs = (with python3Packages;
+    [ i3ipc netifaces psutil pybluez pygobject3 requests dasbus setuptools ])
+    # Run-time GTK dependency required by the Tray module
+    ++ [ libdbusmenu-gtk3 ];
 
   postInstall = ''
     mkdir -p $out/share/{applications,pixmaps}
diff --git a/pkgs/applications/misc/opencpn/default.nix b/pkgs/applications/misc/opencpn/default.nix
index 17553c6121e..5ac167a1003 100644
--- a/pkgs/applications/misc/opencpn/default.nix
+++ b/pkgs/applications/misc/opencpn/default.nix
@@ -21,7 +21,7 @@
 , libsndfile
 , libthai
 , libunarr
-, libusb
+, libusb1
 , libvorbis
 , libxkbcommon
 , lsb-release
@@ -70,7 +70,7 @@ stdenv.mkDerivation rec {
     libsndfile
     libthai
     libunarr
-    libusb
+    libusb1
     libvorbis
     libxkbcommon
     lz4
diff --git a/pkgs/applications/misc/pdfsam-basic/default.nix b/pkgs/applications/misc/pdfsam-basic/default.nix
index e4626ef3c94..9b0efb7f25a 100644
--- a/pkgs/applications/misc/pdfsam-basic/default.nix
+++ b/pkgs/applications/misc/pdfsam-basic/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pdfsam-basic";
-  version = "4.2.12";
+  version = "4.3.3";
 
   src = fetchurl {
     url = "https://github.com/torakiki/pdfsam/releases/download/v${version}/pdfsam_${version}-1_amd64.deb";
-    sha256 = "sha256-B9V3dw5A52yPoNfROI3+wAql+Y0hY4T3sTm9uN70TQQ=";
+    sha256 = "sha256-SUvj9YP7hIgF003caPsx5AWnMYr38y/XRf6TRm0tMAo=";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/misc/pueue/default.nix b/pkgs/applications/misc/pueue/default.nix
index 0a7b4bc7933..27f4afb435f 100644
--- a/pkgs/applications/misc/pueue/default.nix
+++ b/pkgs/applications/misc/pueue/default.nix
@@ -1,23 +1,37 @@
-{ stdenv, lib, rustPlatform, fetchFromGitHub, installShellFiles, SystemConfiguration, libiconv }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, SystemConfiguration
+, installShellFiles
+, libiconv
+, rustPlatform
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "pueue";
-  version = "2.0.0";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "Nukesor";
-    repo = pname;
+    repo = "pueue";
     rev = "v${version}";
-    sha256 = "sha256-eFO9v+CZ3sFJJ0Ksa2sV5snjBz9lUkElGSj4DfEUebs=";
+    hash = "sha256-xUTkjj/PdlgDEp2VMwBuRtF/9iGGiN4FZizdOdcbTag=";
   };
 
-  cargoSha256 = "sha256-cyuDXMmVrVx3kluumR6WleMzuoV+261f47rpkVYHzZA=";
+  cargoSha256 = "sha256-7VdPu+9RYoj4Xfb3J6GLOji7Fqxkk+Fswi4C4q33+jk=";
 
   nativeBuildInputs = [ installShellFiles ];
 
-  buildInputs = lib.optionals stdenv.isDarwin [ SystemConfiguration libiconv ];
+  buildInputs = lib.optionals stdenv.isDarwin [
+    SystemConfiguration
+    libiconv
+  ];
 
-  checkFlags = [ "--skip=test_single_huge_payload" "--skip=test_create_unix_socket" ];
+  checkFlags = [
+    "--test client_tests"
+    "--skip=test_single_huge_payload"
+    "--skip=test_create_unix_socket"
+  ];
 
   postInstall = ''
     for shell in bash fish zsh; do
@@ -27,10 +41,21 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A daemon for managing long running shell commands";
     homepage = "https://github.com/Nukesor/pueue";
+    description = "A daemon for managing long running shell commands";
+    longDescription = ''
+      Pueue is a command-line task management tool for sequential and parallel
+      execution of long-running tasks.
+
+      Simply put, it's a tool that processes a queue of shell commands. On top
+      of that, there are a lot of convenient features and abstractions.
+
+      Since Pueue is not bound to any terminal, you can control your tasks from
+      any terminal on the same machine. The queue will be continuously
+      processed, even if you no longer have any active ssh sessions.
+    '';
     changelog = "https://github.com/Nukesor/pueue/raw/v${version}/CHANGELOG.md";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = with maintainers; [ marsam ];
   };
 }
diff --git a/pkgs/applications/misc/qcad/default.nix b/pkgs/applications/misc/qcad/default.nix
index 86ed90cbd4a..66c159471d2 100644
--- a/pkgs/applications/misc/qcad/default.nix
+++ b/pkgs/applications/misc/qcad/default.nix
@@ -18,14 +18,14 @@
 
 mkDerivation rec {
   pname = "qcad";
-  version = "3.27.1.6";
+  version = "3.27.6.7";
 
   src = fetchFromGitHub {
     name = "qcad-${version}-src";
     owner = "qcad";
     repo = "qcad";
     rev = "v${version}";
-    sha256 = "sha256-NnaCwbk8w0ZPnBz7xxs5LMFMUSnEERCSRBXpJL0u+s0=";
+    sha256 = "sha256-PGGm7XhjGngj2oD8NNh8aQOKRgcdx9qiQu/4ZYBceG8=";
   };
 
   patches = [
diff --git a/pkgs/applications/misc/rusty-psn/default.nix b/pkgs/applications/misc/rusty-psn/default.nix
new file mode 100644
index 00000000000..bc0fd96730b
--- /dev/null
+++ b/pkgs/applications/misc/rusty-psn/default.nix
@@ -0,0 +1,80 @@
+{ lib
+, stdenv
+, rustPlatform
+, fetchFromGitHub
+, makeDesktopItem
+, copyDesktopItems
+, pkg-config
+, openssl
+, xorg
+, libGL
+, withGui ? false # build GUI version
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "rusty-psn";
+  version = "0.1.2";
+
+  src = fetchFromGitHub {
+    owner = "RainbowCookie32";
+    repo = "rusty-psn";
+    rev = "v${version}";
+    sha256 = "14li5fsaj4l5al6lcxy07g3gzmi0l3cyiczq44q7clq4myhykhhb";
+  };
+
+  cargoSha256 = "0kjaq3ik3lwaz7rjb5jaxavpahzp33j7vln3zyifql7j7sbr300f";
+
+  nativeBuildInputs = [
+    pkg-config
+    copyDesktopItems
+  ];
+
+  buildInputs = if withGui then [
+    openssl
+    xorg.libxcb
+    xorg.libX11
+    xorg.libXcursor
+    xorg.libXrandr
+    xorg.libXi
+    xorg.libxcb
+    libGL
+    libGL.dev
+  ] else [
+    openssl
+  ];
+
+  buildNoDefaultFeatures = true;
+  buildFeatures = [ (if withGui then "egui" else "cli") ];
+
+  postFixup = ''
+    patchelf --set-rpath "${lib.makeLibraryPath buildInputs}" $out/bin/rusty-psn
+  '' + lib.optionalString withGui ''
+    mv $out/bin/rusty-psn $out/bin/rusty-psn-gui
+  '';
+
+  desktopItem = lib.optionalString withGui (makeDesktopItem {
+    name = "rusty-psn";
+    desktopName = "rusty-psn";
+    exec = "rusty-psn-gui";
+    comment = "A simple tool to grab updates for PS3 games, directly from Sony's servers using their updates API.";
+    categories = [
+      "Network"
+    ];
+    keywords = [
+      "psn"
+      "ps3"
+      "sony"
+      "playstation"
+      "update"
+    ];
+  });
+  desktopItems = lib.optionals withGui [ desktopItem ];
+
+  meta = with lib; {
+    description = "Simple tool to grab updates for PS3 games, directly from Sony's servers using their updates API";
+    homepage = "https://github.com/RainbowCookie32/rusty-psn/";
+    license = licenses.mit;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ AngryAnt ];
+  };
+}
diff --git a/pkgs/applications/misc/sioyek/default.nix b/pkgs/applications/misc/sioyek/default.nix
index 7ffb24cb419..49ca23ab3de 100644
--- a/pkgs/applications/misc/sioyek/default.nix
+++ b/pkgs/applications/misc/sioyek/default.nix
@@ -2,9 +2,11 @@
 , stdenv
 , installShellFiles
 , fetchFromGitHub
+, freetype
 , gumbo
 , harfbuzz
 , jbig2dec
+, mujs
 , mupdf
 , openjpeg
 , qt3d
@@ -15,30 +17,41 @@
 
 stdenv.mkDerivation rec {
   pname = "sioyek";
-  version = "1.2.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "ahrm";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-G4iZi6xTJjWZN0T3lO0jPquxJ3p8Mc0ewmjJEKcGJ34=";
+    sha256 = "sha256-F71JXgYaWAye+nlSrZvGjJ4ucvHTx3tPZHRC5QI4QiU=";
   };
 
-  buildInputs = [ gumbo harfbuzz jbig2dec mupdf openjpeg qt3d qtbase ];
+  buildInputs = [ gumbo harfbuzz jbig2dec mupdf mujs openjpeg qt3d qtbase ]
+    ++ lib.optionals stdenv.isDarwin [ freetype ];
 
   nativeBuildInputs = [ installShellFiles wrapQtAppsHook qmake ];
 
+  qmakeFlags = lib.optionals stdenv.isDarwin [ "CONFIG+=non_portable" ];
+
   postPatch = ''
     substituteInPlace pdf_viewer_build_config.pro \
-      --replace "-lmupdf-threads" "-lfreetype -lgumbo -ljbig2dec -lopenjp2 -ljpeg"
+      --replace "-lmupdf-threads" "-lgumbo -lharfbuzz -lfreetype -ljbig2dec -ljpeg -lopenjp2"
     substituteInPlace pdf_viewer/main.cpp \
       --replace "/usr/share/sioyek" "$out/share" \
       --replace "/etc/sioyek" "$out/etc"
   '';
 
-  qmakeFlags = "DEFINES+=\"LINUX_STANDARD_PATHS\" pdf_viewer_build_config.pro";
+  postInstall = if stdenv.isDarwin then ''
+    cp -r pdf_viewer/shaders sioyek.app/Contents/MacOS/shaders
+    cp pdf_viewer/prefs.config sioyek.app/Contents/MacOS/
+    cp pdf_viewer/prefs_user.config sioyek.app/Contents/MacOS/
+    cp pdf_viewer/keys.config sioyek.app/Contents/MacOS/
+    cp pdf_viewer/keys_user.config sioyek.app/Contents/MacOS/
+    cp tutorial.pdf sioyek.app/Contents/MacOS/
 
-  postInstall = ''
+    mkdir -p $out/Applications
+    cp -r sioyek.app $out/Applications
+  '' else  ''
     install -Dm644 tutorial.pdf $out/share/tutorial.pdf
     cp -r pdf_viewer/shaders $out/share/
     install -Dm644 -t $out/etc/ pdf_viewer/{keys,prefs}.config
@@ -50,7 +63,7 @@ stdenv.mkDerivation rec {
     homepage = "https://sioyek.info/";
     changelog = "https://github.com/ahrm/sioyek/releases";
     license = licenses.gpl3Only;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = [ maintainers.podocarp ];
   };
 }
diff --git a/pkgs/applications/misc/solaar/default.nix b/pkgs/applications/misc/solaar/default.nix
index 7f2e4207d0b..3d750d8b0fd 100644
--- a/pkgs/applications/misc/solaar/default.nix
+++ b/pkgs/applications/misc/solaar/default.nix
@@ -25,12 +25,19 @@ python3Packages.buildPythonApplication rec {
 
   outputs = [ "out" "udev" ];
 
-  nativeBuildInputs = [ wrapGAppsHook gdk-pixbuf ];
-  buildInputs = [ libappindicator librsvg ];
+  nativeBuildInputs = [
+    gdk-pixbuf
+    gobject-introspection
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    libappindicator
+    librsvg
+  ];
 
   propagatedBuildInputs = with python3Packages; [
     evdev
-    gobject-introspection
     gtk3
     psutil
     pygobject3
@@ -47,6 +54,17 @@ python3Packages.buildPythonApplication rec {
     install -Dm444 -t $udev/etc/udev/rules.d rules.d-uinput/*.rules
   '';
 
+  dontWrapGApps = true;
+
+  preFixup = ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
+
+  # no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "solaar" ];
+
   meta = with lib; {
     description = "Linux devices manager for the Logitech Unifying Receiver";
     longDescription = ''
diff --git a/pkgs/applications/misc/sticky/default.nix b/pkgs/applications/misc/sticky/default.nix
index 9039854f74e..a66fecd83b7 100644
--- a/pkgs/applications/misc/sticky/default.nix
+++ b/pkgs/applications/misc/sticky/default.nix
@@ -11,14 +11,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "sticky";
-  version = "1.8";
+  version = "1.11";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-VSD/QsG7G9hji5m6NSEkCoVM+XK3t4KmCqbocTbZwE4=";
+    hash = "sha256-PXJpNKzF9goQvfh3lUUfOaZFessFNrWtg8nMDxPxRMo=";
   };
 
   postPatch = ''
@@ -33,7 +33,7 @@ python3.pkgs.buildPythonApplication rec {
   buildInputs = [
     glib
     gobject-introspection
-    cinnamon.xapps
+    cinnamon.xapp
     gspell
   ];
 
diff --git a/pkgs/applications/misc/syncthingtray/default.nix b/pkgs/applications/misc/syncthingtray/default.nix
index 020015ccd6c..6febcab3947 100644
--- a/pkgs/applications/misc/syncthingtray/default.nix
+++ b/pkgs/applications/misc/syncthingtray/default.nix
@@ -21,14 +21,14 @@
 }:
 
 mkDerivation rec {
-  version = "1.2.1";
+  version = "1.2.2";
   pname = "syncthingtray";
 
   src = fetchFromGitHub {
     owner = "Martchus";
     repo = "syncthingtray";
     rev = "v${version}";
-    sha256 = "sha256-qcfmePPSuaCydATNhUCZ9ee9tV1KqclP9PPX6UPILTM=";
+    sha256 = "sha256-BdcMW9ePOLXOZnFxFb1h/mn5a6c8fHYFr9ckK9hXJAM=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/misc/system76-keyboard-configurator/default.nix b/pkgs/applications/misc/system76-keyboard-configurator/default.nix
index 2708fb04a61..1afb5117a4b 100644
--- a/pkgs/applications/misc/system76-keyboard-configurator/default.nix
+++ b/pkgs/applications/misc/system76-keyboard-configurator/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, gtk3, glib, wrapGAppsHook, libusb1, hidapi, udev, pkgconfig }:
+{ lib, stdenv, fetchFromGitHub, rustPlatform, gtk3, glib, wrapGAppsHook, libusb1, hidapi, udev, pkg-config }:
 
 # system76-keyboard-configurator tries to spawn a daemon as root via pkexec, so
 # your system needs a PolicyKit authentication agent running for the
@@ -6,17 +6,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "system76-keyboard-configurator";
-  version = "1.0.0";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "pop-os";
     repo = "keyboard-configurator";
     rev = "v${version}";
-    sha256 = "sha256-CVCXNPmc/0T8vkxfU+i1nSbfusZGFVkLEveSoCePK0M=";
+    sha256 = "sha256-N7faWyM2KExnKr6foO6KIxkFD/pGzw9RJDnADwK/fYU=";
   };
 
   nativeBuildInputs = [
-    pkgconfig
+    pkg-config
     glib # for glib-compile-resources
     wrapGAppsHook
   ];
@@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec {
     udev
   ];
 
-  cargoSha256 = "sha256-/p2cVxOvWKkcVOYIR0N8tQSCniw+QhXhC+pus4NsQ8k=";
+  cargoSha256 = "sha256-h5kqm3ZyqzJhTjBcuOvaHkwPvF1xerN2eEDFwZAah6g=";
 
   meta = with lib; {
     description = "Keyboard configuration application for System76 keyboards and laptops";
diff --git a/pkgs/applications/misc/trenchbroom/default.nix b/pkgs/applications/misc/trenchbroom/default.nix
index a49fbf71191..5ee13bb5ee3 100644
--- a/pkgs/applications/misc/trenchbroom/default.nix
+++ b/pkgs/applications/misc/trenchbroom/default.nix
@@ -1,19 +1,20 @@
 { lib, stdenv, fetchFromGitHub
-, cmake, ninja, git, pandoc
+, cmake, ninja, git, pandoc, pkg-config
 , libGL, libGLU, libXxf86vm, freeimage
+, catch2, fmt, glew, miniz, tinyxml-2, xorg
 , qtbase, wrapQtAppsHook
 , copyDesktopItems, makeDesktopItem
 }:
 
 stdenv.mkDerivation rec {
   pname = "TrenchBroom";
-  version = "2021.1";
+  version = "2022.1";
 
   src = fetchFromGitHub {
     owner = "TrenchBroom";
     repo = "TrenchBroom";
     rev = "v${version}";
-    sha256 = "06j68kp7g57hclyp8ilh2wd4vr5w8r718cicdp1cap48fcxlqfxv";
+    sha256 = "sha256-FNpYBfKnY9foPq1+21+382KKXieHksr3tCox251iJn4=";
     fetchSubmodules = true;
   };
   postPatch = ''
@@ -21,25 +22,20 @@ stdenv.mkDerivation rec {
       --subst-var-by APP_VERSION_YEAR ${lib.versions.major version} \
       --subst-var-by APP_VERSION_NUMBER ${lib.versions.minor version} \
       --subst-var-by GIT_DESCRIBE v${version}
-
-    # Tests don't compile because of vendored `catch2` being incompatible with glibc-2.34.
-    # Also, no need to since we don't even run them.
-    substituteInPlace lib/CMakeLists.txt \
-      --replace "add_subdirectory(Catch2)" ""
-    substituteInPlace lib/vecmath/CMakeLists.txt \
-      --replace "add_subdirectory(test)" "" \
-      --replace "add_subdirectory(lib)" ""
-    substituteInPlace lib/kdl/CMakeLists.txt \
-      --replace "add_subdirectory(test)" ""
-    substituteInPlace common/CMakeLists.txt \
-      --replace "add_subdirectory(test)" "" \
-      --replace "add_subdirectory(benchmark)" ""
   '';
 
-  nativeBuildInputs = [ cmake git pandoc wrapQtAppsHook copyDesktopItems ];
-  buildInputs = [ libGL libGLU libXxf86vm freeimage qtbase ];
+  nativeBuildInputs = [ cmake git pandoc wrapQtAppsHook copyDesktopItems pkg-config ];
+  buildInputs = [
+    libGL libGLU libXxf86vm freeimage qtbase catch2 fmt glew miniz tinyxml-2
+    xorg.libSM
+  ];
   QT_PLUGIN_PATH = "${qtbase}/${qtbase.qtPluginPrefix}";
   QT_QPA_PLATFORM = "offscreen";
+
+  cmakeFlags = [
+    # https://github.com/TrenchBroom/TrenchBroom/issues/4002#issuecomment-1125390780
+    "-DCMAKE_PREFIX_PATH=cmake/packages"
+  ];
   ninjaFlags = [
     "TrenchBroom"
   ];
@@ -71,6 +67,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://trenchbroom.github.io/";
+    changelog = "https://github.com/TrenchBroom/TrenchBroom/releases/tag/v${version}";
     description = "Level editor for Quake-engine based games";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ astro ];
diff --git a/pkgs/applications/misc/tut/default.nix b/pkgs/applications/misc/tut/default.nix
index 151822e97cf..603547f2ad4 100644
--- a/pkgs/applications/misc/tut/default.nix
+++ b/pkgs/applications/misc/tut/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "tut";
-  version = "1.0.15";
+  version = "1.0.16";
 
   src = fetchFromGitHub {
     owner = "RasmusLindroth";
     repo = pname;
     rev = version;
-    sha256 = "sha256-gRvX+UvekYDOVcX0ztLmM3OzHwl+FG2i6ATtRYMkQSE=";
+    sha256 = "sha256-sJX9qpWkNe/v9PSAJ5iY8RKEJXs84Gf0Imce4VIFp2Q=";
   };
 
-  vendorSha256 = "sha256-ddo9b4AXa/6tcbsKZ2e7IXnU47TIIyhBZFk4tbmIdnY=";
+  vendorSha256 = "sha256-LAVvaZqZzMYCGtVWmeYXI7L4f2tStkaWG4QlLSrSjfk=";
 
   meta = with lib; {
     description = "A TUI for Mastodon with vim inspired keys";
diff --git a/pkgs/applications/misc/urlscan/default.nix b/pkgs/applications/misc/urlscan/default.nix
index 690f2148e5f..726c749d604 100644
--- a/pkgs/applications/misc/urlscan/default.nix
+++ b/pkgs/applications/misc/urlscan/default.nix
@@ -5,13 +5,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "urlscan";
-  version = "0.9.9";
+  version = "0.9.10";
 
   src = fetchFromGitHub {
     owner = "firecat53";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ZJdmsb+2ElgLFWsicc0S8EQAZhF+gnn+ARgdAyaFDgc=";
+    hash = "sha256-lCOOVAdsr5LajBGY7XUi4J5pJqm5rOH5IMKhA6fju5w=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/misc/usql/default.nix b/pkgs/applications/misc/usql/default.nix
index eec7bee309b..edd1bd588dc 100644
--- a/pkgs/applications/misc/usql/default.nix
+++ b/pkgs/applications/misc/usql/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "usql";
-  version = "0.9.3";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "xo";
     repo = "usql";
     rev = "v${version}";
-    sha256 = "sha256-NHeJSWrcX4hYBJpZu/UjQ1ZWfcUnWFCV0Meo+XveDOw=";
+    sha256 = "sha256-OOu3zWK/ccmaEVriXKl7SZUJLLYaJB3tgF+eR9p+TmM=";
   };
 
-  vendorSha256 = "sha256-EsLLBhyOcupx5LrJyWWMu4RAGWDKo3keflyZOASKldE=";
+  vendorSha256 = "sha256-9XyG0Fu3idxGG01MoBr5BMoQSz+dyZFEXRNvvb+XWjA=";
 
   buildInputs = [ unixODBC icu ];
 
diff --git a/pkgs/applications/misc/xmr-stak/default.nix b/pkgs/applications/misc/xmr-stak/default.nix
index 3dbf4467a3a..73d111979f3 100644
--- a/pkgs/applications/misc/xmr-stak/default.nix
+++ b/pkgs/applications/misc/xmr-stak/default.nix
@@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/fireice-uk/xmr-stak";
     license = licenses.gpl3Plus;
     platforms = [ "x86_64-linux" ];
-    maintainers = with maintainers; [ fpletz bfortz ];
+    maintainers = with maintainers; [ bfortz ];
   };
 }
diff --git a/pkgs/applications/misc/xmrig/default.nix b/pkgs/applications/misc/xmrig/default.nix
index 0ba3fb83420..cf16c8e17fc 100644
--- a/pkgs/applications/misc/xmrig/default.nix
+++ b/pkgs/applications/misc/xmrig/default.nix
@@ -33,6 +33,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/xmrig/xmrig";
     license = licenses.gpl3Plus;
     platforms   = [ "x86_64-linux" "x86_64-darwin" ];
-    maintainers = with maintainers; [ fpletz kim0 ];
+    maintainers = with maintainers; [ kim0 ];
   };
 }
diff --git a/pkgs/applications/misc/zine/Cargo.lock.patch b/pkgs/applications/misc/zine/Cargo.lock.patch
new file mode 100644
index 00000000000..5f210a81857
--- /dev/null
+++ b/pkgs/applications/misc/zine/Cargo.lock.patch
@@ -0,0 +1,2722 @@
++++ a/Cargo.lock	2022-08-05 16:01:20.004065609 +0530
++++ b/Cargo.lock	2022-08-05 16:01:20.004065609 +0530
+@@ -0,0 +1,2719 @@
++# This file is automatically @generated by Cargo.
++# It is not intended for manual editing.
++version = 3
++
++[[package]]
++name = "addr2line"
++version = "0.17.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b"
++dependencies = [
++ "gimli",
++]
++
++[[package]]
++name = "adler"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
++
++[[package]]
++name = "ahash"
++version = "0.7.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
++dependencies = [
++ "getrandom 0.2.7",
++ "once_cell",
++ "version_check",
++]
++
++[[package]]
++name = "aho-corasick"
++version = "0.7.18"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
++dependencies = [
++ "memchr",
++]
++
++[[package]]
++name = "anyhow"
++version = "1.0.59"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c91f1f46651137be86f3a2b9a8359f9ab421d04d941c62b5982e1ca21113adf9"
++dependencies = [
++ "backtrace",
++]
++
++[[package]]
++name = "autocfg"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
++
++[[package]]
++name = "backtrace"
++version = "0.3.66"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7"
++dependencies = [
++ "addr2line",
++ "cc",
++ "cfg-if 1.0.0",
++ "libc",
++ "miniz_oxide",
++ "object",
++ "rustc-demangle",
++]
++
++[[package]]
++name = "base64"
++version = "0.13.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
++
++[[package]]
++name = "bincode"
++version = "1.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "bit-set"
++version = "0.5.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1"
++dependencies = [
++ "bit-vec",
++]
++
++[[package]]
++name = "bit-vec"
++version = "0.6.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
++
++[[package]]
++name = "bitflags"
++version = "1.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
++
++[[package]]
++name = "block-buffer"
++version = "0.10.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324"
++dependencies = [
++ "generic-array",
++]
++
++[[package]]
++name = "bstr"
++version = "0.2.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223"
++dependencies = [
++ "memchr",
++]
++
++[[package]]
++name = "bumpalo"
++version = "3.10.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "37ccbd214614c6783386c1af30caf03192f17891059cecc394b4fb119e363de3"
++
++[[package]]
++name = "byteorder"
++version = "1.4.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
++
++[[package]]
++name = "bytes"
++version = "1.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db"
++
++[[package]]
++name = "cc"
++version = "1.0.73"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
++
++[[package]]
++name = "cfg-if"
++version = "0.1.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
++
++[[package]]
++name = "cfg-if"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
++
++[[package]]
++name = "chrono"
++version = "0.4.20"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6127248204b9aba09a362f6c930ef6a78f2c1b2215f8a7b398c06e1083f17af0"
++dependencies = [
++ "js-sys",
++ "num-integer",
++ "num-traits",
++ "wasm-bindgen",
++ "winapi 0.3.9",
++]
++
++[[package]]
++name = "chrono-tz"
++version = "0.6.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "29c39203181991a7dd4343b8005bd804e7a9a37afb8ac070e43771e8c820bbde"
++dependencies = [
++ "chrono",
++ "chrono-tz-build",
++ "phf 0.11.0",
++]
++
++[[package]]
++name = "chrono-tz-build"
++version = "0.0.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6f509c3a87b33437b05e2458750a0700e5bdd6956176773e6c7d6dd15a283a0c"
++dependencies = [
++ "parse-zoneinfo",
++ "phf 0.11.0",
++ "phf_codegen 0.11.0",
++]
++
++[[package]]
++name = "clap"
++version = "3.2.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a3dbbb6653e7c55cc8595ad3e1f7be8f32aba4eb7ff7f0fd1163d4f3d137c0a9"
++dependencies = [
++ "bitflags",
++ "clap_derive",
++ "clap_lex",
++ "indexmap",
++ "once_cell",
++ "textwrap",
++]
++
++[[package]]
++name = "clap_derive"
++version = "3.2.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9ba52acd3b0a5c33aeada5cdaa3267cdc7c594a98731d4268cdc1532f4264cb4"
++dependencies = [
++ "heck",
++ "proc-macro-error",
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "clap_lex"
++version = "0.2.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
++dependencies = [
++ "os_str_bytes",
++]
++
++[[package]]
++name = "convert_case"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
++
++[[package]]
++name = "core-foundation"
++version = "0.9.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
++dependencies = [
++ "core-foundation-sys",
++ "libc",
++]
++
++[[package]]
++name = "core-foundation-sys"
++version = "0.8.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
++
++[[package]]
++name = "cpufeatures"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "crc32fast"
++version = "1.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
++dependencies = [
++ "cfg-if 1.0.0",
++]
++
++[[package]]
++name = "crossbeam-channel"
++version = "0.5.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521"
++dependencies = [
++ "cfg-if 1.0.0",
++ "crossbeam-utils",
++]
++
++[[package]]
++name = "crossbeam-deque"
++version = "0.8.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc"
++dependencies = [
++ "cfg-if 1.0.0",
++ "crossbeam-epoch",
++ "crossbeam-utils",
++]
++
++[[package]]
++name = "crossbeam-epoch"
++version = "0.9.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "045ebe27666471bb549370b4b0b3e51b07f56325befa4284db65fc89c02511b1"
++dependencies = [
++ "autocfg",
++ "cfg-if 1.0.0",
++ "crossbeam-utils",
++ "memoffset",
++ "once_cell",
++ "scopeguard",
++]
++
++[[package]]
++name = "crossbeam-utils"
++version = "0.8.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "51887d4adc7b564537b15adcfb307936f8075dfcd5f00dde9a9f1d29383682bc"
++dependencies = [
++ "cfg-if 1.0.0",
++ "once_cell",
++]
++
++[[package]]
++name = "crypto-common"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
++dependencies = [
++ "generic-array",
++ "typenum",
++]
++
++[[package]]
++name = "cssparser"
++version = "0.27.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a"
++dependencies = [
++ "cssparser-macros",
++ "dtoa-short",
++ "itoa 0.4.8",
++ "matches",
++ "phf 0.8.0",
++ "proc-macro2",
++ "quote",
++ "smallvec",
++ "syn",
++]
++
++[[package]]
++name = "cssparser-macros"
++version = "0.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dfae75de57f2b2e85e8768c3ea840fd159c8f33e2b6522c7835b7abac81be16e"
++dependencies = [
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "derive_more"
++version = "0.99.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321"
++dependencies = [
++ "convert_case",
++ "proc-macro2",
++ "quote",
++ "rustc_version",
++ "syn",
++]
++
++[[package]]
++name = "deunicode"
++version = "0.4.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "850878694b7933ca4c9569d30a34b55031b9b139ee1fc7b94a527c4ef960d690"
++
++[[package]]
++name = "digest"
++version = "0.10.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506"
++dependencies = [
++ "block-buffer",
++ "crypto-common",
++]
++
++[[package]]
++name = "dtoa"
++version = "0.4.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0"
++
++[[package]]
++name = "dtoa-short"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bde03329ae10e79ede66c9ce4dc930aa8599043b0743008548680f25b91502d6"
++dependencies = [
++ "dtoa",
++]
++
++[[package]]
++name = "either"
++version = "1.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3f107b87b6afc2a64fd13cac55fe06d6c8859f12d4b14cbcdd2c67d0976781be"
++
++[[package]]
++name = "encoding_rs"
++version = "0.8.31"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b"
++dependencies = [
++ "cfg-if 1.0.0",
++]
++
++[[package]]
++name = "fancy-regex"
++version = "0.7.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9d6b8560a05112eb52f04b00e5d3790c0dd75d9d980eb8a122fb23b92a623ccf"
++dependencies = [
++ "bit-set",
++ "regex",
++]
++
++[[package]]
++name = "fastrand"
++version = "1.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499"
++dependencies = [
++ "instant",
++]
++
++[[package]]
++name = "filetime"
++version = "0.2.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e94a7bbaa59354bc20dd75b67f23e2797b4490e9d6928203fb105c79e448c86c"
++dependencies = [
++ "cfg-if 1.0.0",
++ "libc",
++ "redox_syscall",
++ "windows-sys",
++]
++
++[[package]]
++name = "flate2"
++version = "1.0.24"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6"
++dependencies = [
++ "crc32fast",
++ "miniz_oxide",
++]
++
++[[package]]
++name = "fluent"
++version = "0.16.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "61f69378194459db76abd2ce3952b790db103ceb003008d3d50d97c41ff847a7"
++dependencies = [
++ "fluent-bundle",
++ "unic-langid",
++]
++
++[[package]]
++name = "fluent-bundle"
++version = "0.15.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e242c601dec9711505f6d5bbff5bedd4b61b2469f2e8bb8e57ee7c9747a87ffd"
++dependencies = [
++ "fluent-langneg",
++ "fluent-syntax",
++ "intl-memoizer",
++ "intl_pluralrules",
++ "rustc-hash",
++ "self_cell",
++ "smallvec",
++ "unic-langid",
++]
++
++[[package]]
++name = "fluent-langneg"
++version = "0.13.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2c4ad0989667548f06ccd0e306ed56b61bd4d35458d54df5ec7587c0e8ed5e94"
++dependencies = [
++ "unic-langid",
++]
++
++[[package]]
++name = "fluent-syntax"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c0abed97648395c902868fee9026de96483933faa54ea3b40d652f7dfe61ca78"
++dependencies = [
++ "thiserror",
++]
++
++[[package]]
++name = "fnv"
++version = "1.0.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
++
++[[package]]
++name = "foreign-types"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
++dependencies = [
++ "foreign-types-shared",
++]
++
++[[package]]
++name = "foreign-types-shared"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
++
++[[package]]
++name = "fsevent"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5ab7d1bd1bd33cc98b0889831b72da23c0aa4df9cec7e0702f46ecea04b35db6"
++dependencies = [
++ "bitflags",
++ "fsevent-sys",
++]
++
++[[package]]
++name = "fsevent-sys"
++version = "2.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f41b048a94555da0f42f1d632e2e19510084fb8e303b0daa2816e733fb3644a0"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "fuchsia-zircon"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
++dependencies = [
++ "bitflags",
++ "fuchsia-zircon-sys",
++]
++
++[[package]]
++name = "fuchsia-zircon-sys"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
++
++[[package]]
++name = "futf"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843"
++dependencies = [
++ "mac",
++ "new_debug_unreachable",
++]
++
++[[package]]
++name = "futures-channel"
++version = "0.3.21"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010"
++dependencies = [
++ "futures-core",
++]
++
++[[package]]
++name = "futures-core"
++version = "0.3.21"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3"
++
++[[package]]
++name = "futures-sink"
++version = "0.3.21"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868"
++
++[[package]]
++name = "futures-task"
++version = "0.3.21"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a"
++
++[[package]]
++name = "futures-util"
++version = "0.3.21"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a"
++dependencies = [
++ "futures-core",
++ "futures-task",
++ "pin-project-lite",
++ "pin-utils",
++]
++
++[[package]]
++name = "fxhash"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
++dependencies = [
++ "byteorder",
++]
++
++[[package]]
++name = "generic-array"
++version = "0.14.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9"
++dependencies = [
++ "typenum",
++ "version_check",
++]
++
++[[package]]
++name = "getopts"
++version = "0.2.21"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5"
++dependencies = [
++ "unicode-width",
++]
++
++[[package]]
++name = "getrandom"
++version = "0.1.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
++dependencies = [
++ "cfg-if 1.0.0",
++ "libc",
++ "wasi 0.9.0+wasi-snapshot-preview1",
++]
++
++[[package]]
++name = "getrandom"
++version = "0.2.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6"
++dependencies = [
++ "cfg-if 1.0.0",
++ "libc",
++ "wasi 0.11.0+wasi-snapshot-preview1",
++]
++
++[[package]]
++name = "gimli"
++version = "0.26.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d"
++
++[[package]]
++name = "globset"
++version = "0.4.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0a1e17342619edbc21a964c2afbeb6c820c6a2560032872f397bb97ea127bd0a"
++dependencies = [
++ "aho-corasick",
++ "bstr",
++ "fnv",
++ "log",
++ "regex",
++]
++
++[[package]]
++name = "globwalk"
++version = "0.8.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "93e3af942408868f6934a7b85134a3230832b9977cf66125df2f9edcfce4ddcc"
++dependencies = [
++ "bitflags",
++ "ignore",
++ "walkdir",
++]
++
++[[package]]
++name = "hashbrown"
++version = "0.12.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
++dependencies = [
++ "ahash",
++]
++
++[[package]]
++name = "heck"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9"
++
++[[package]]
++name = "hermit-abi"
++version = "0.1.19"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "html5ever"
++version = "0.25.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e5c13fb08e5d4dfc151ee5e88bae63f7773d61852f3bdc73c9f4b9e1bde03148"
++dependencies = [
++ "log",
++ "mac",
++ "markup5ever",
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "http"
++version = "0.2.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399"
++dependencies = [
++ "bytes",
++ "fnv",
++ "itoa 1.0.3",
++]
++
++[[package]]
++name = "http-body"
++version = "0.4.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
++dependencies = [
++ "bytes",
++ "http",
++ "pin-project-lite",
++]
++
++[[package]]
++name = "http-range-header"
++version = "0.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29"
++
++[[package]]
++name = "httparse"
++version = "1.7.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "496ce29bb5a52785b44e0f7ca2847ae0bb839c9bd28f69acac9b99d461c0c04c"
++
++[[package]]
++name = "httpdate"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
++
++[[package]]
++name = "humansize"
++version = "1.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "02296996cb8796d7c6e3bc2d9211b7802812d36999a51bb754123ead7d37d026"
++
++[[package]]
++name = "hyper"
++version = "0.14.20"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "02c929dc5c39e335a03c405292728118860721b10190d98c2a0f0efd5baafbac"
++dependencies = [
++ "bytes",
++ "futures-channel",
++ "futures-core",
++ "futures-util",
++ "http",
++ "http-body",
++ "httparse",
++ "httpdate",
++ "itoa 1.0.3",
++ "pin-project-lite",
++ "socket2",
++ "tokio",
++ "tower-service",
++ "tracing",
++ "want",
++]
++
++[[package]]
++name = "hyper-tls"
++version = "0.5.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
++dependencies = [
++ "bytes",
++ "hyper",
++ "native-tls",
++ "tokio",
++ "tokio-native-tls",
++]
++
++[[package]]
++name = "ignore"
++version = "0.4.18"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "713f1b139373f96a2e0ce3ac931cd01ee973c3c5dd7c40c0c2efe96ad2b6751d"
++dependencies = [
++ "crossbeam-utils",
++ "globset",
++ "lazy_static",
++ "log",
++ "memchr",
++ "regex",
++ "same-file",
++ "thread_local",
++ "walkdir",
++ "winapi-util",
++]
++
++[[package]]
++name = "include_dir"
++version = "0.7.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "482a2e29200b7eed25d7fdbd14423326760b7f6658d21a4cf12d55a50713c69f"
++dependencies = [
++ "include_dir_macros",
++]
++
++[[package]]
++name = "include_dir_macros"
++version = "0.7.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5e074c19deab2501407c91ba1860fa3d6820bfde307db6d8cb851b55a10be89b"
++dependencies = [
++ "proc-macro2",
++ "quote",
++]
++
++[[package]]
++name = "indexmap"
++version = "1.9.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e"
++dependencies = [
++ "autocfg",
++ "hashbrown",
++]
++
++[[package]]
++name = "inotify"
++version = "0.7.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4816c66d2c8ae673df83366c18341538f234a26d65a9ecea5c348b453ac1d02f"
++dependencies = [
++ "bitflags",
++ "inotify-sys",
++ "libc",
++]
++
++[[package]]
++name = "inotify-sys"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "instant"
++version = "0.1.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
++dependencies = [
++ "cfg-if 1.0.0",
++]
++
++[[package]]
++name = "intl-memoizer"
++version = "0.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c310433e4a310918d6ed9243542a6b83ec1183df95dff8f23f87bb88a264a66f"
++dependencies = [
++ "type-map",
++ "unic-langid",
++]
++
++[[package]]
++name = "intl_pluralrules"
++version = "7.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b18f988384267d7066cc2be425e6faf352900652c046b6971d2e228d3b1c5ecf"
++dependencies = [
++ "tinystr",
++ "unic-langid",
++]
++
++[[package]]
++name = "iovec"
++version = "0.1.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "itoa"
++version = "0.4.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
++
++[[package]]
++name = "itoa"
++version = "1.0.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754"
++
++[[package]]
++name = "js-sys"
++version = "0.3.59"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "258451ab10b34f8af53416d1fdab72c22e805f0c92a1136d59470ec0b11138b2"
++dependencies = [
++ "wasm-bindgen",
++]
++
++[[package]]
++name = "kernel32-sys"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
++dependencies = [
++ "winapi 0.2.8",
++ "winapi-build",
++]
++
++[[package]]
++name = "lazy_static"
++version = "1.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
++
++[[package]]
++name = "lazycell"
++version = "1.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
++
++[[package]]
++name = "libc"
++version = "0.2.127"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "505e71a4706fa491e9b1b55f51b95d4037d0821ee40131190475f692b35b009b"
++
++[[package]]
++name = "line-wrap"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9"
++dependencies = [
++ "safemem",
++]
++
++[[package]]
++name = "linked-hash-map"
++version = "0.5.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
++
++[[package]]
++name = "lock_api"
++version = "0.4.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53"
++dependencies = [
++ "autocfg",
++ "scopeguard",
++]
++
++[[package]]
++name = "log"
++version = "0.4.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
++dependencies = [
++ "cfg-if 1.0.0",
++]
++
++[[package]]
++name = "lol_html"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "09ff2adf9c54f4de7d66a9177ea7d27d5b8108503bb03d5b719869b8f4bc2ab2"
++dependencies = [
++ "bitflags",
++ "cfg-if 1.0.0",
++ "cssparser",
++ "encoding_rs",
++ "hashbrown",
++ "lazy_static",
++ "lazycell",
++ "memchr",
++ "safemem",
++ "selectors",
++ "thiserror",
++]
++
++[[package]]
++name = "mac"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4"
++
++[[package]]
++name = "markup5ever"
++version = "0.10.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd"
++dependencies = [
++ "log",
++ "phf 0.8.0",
++ "phf_codegen 0.8.0",
++ "string_cache",
++ "string_cache_codegen",
++ "tendril",
++]
++
++[[package]]
++name = "markup5ever_rcdom"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f015da43bcd8d4f144559a3423f4591d69b8ce0652c905374da7205df336ae2b"
++dependencies = [
++ "html5ever",
++ "markup5ever",
++ "tendril",
++ "xml5ever",
++]
++
++[[package]]
++name = "matches"
++version = "0.1.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
++
++[[package]]
++name = "memchr"
++version = "2.5.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
++
++[[package]]
++name = "memoffset"
++version = "0.6.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
++dependencies = [
++ "autocfg",
++]
++
++[[package]]
++name = "mime"
++version = "0.3.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
++
++[[package]]
++name = "mime_guess"
++version = "2.0.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef"
++dependencies = [
++ "mime",
++ "unicase",
++]
++
++[[package]]
++name = "miniz_oxide"
++version = "0.5.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6f5c75688da582b8ffc1f1799e9db273f32133c49e048f614d22ec3256773ccc"
++dependencies = [
++ "adler",
++]
++
++[[package]]
++name = "mio"
++version = "0.6.23"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4"
++dependencies = [
++ "cfg-if 0.1.10",
++ "fuchsia-zircon",
++ "fuchsia-zircon-sys",
++ "iovec",
++ "kernel32-sys",
++ "libc",
++ "log",
++ "miow",
++ "net2",
++ "slab",
++ "winapi 0.2.8",
++]
++
++[[package]]
++name = "mio"
++version = "0.8.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf"
++dependencies = [
++ "libc",
++ "log",
++ "wasi 0.11.0+wasi-snapshot-preview1",
++ "windows-sys",
++]
++
++[[package]]
++name = "mio-extras"
++version = "2.0.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19"
++dependencies = [
++ "lazycell",
++ "log",
++ "mio 0.6.23",
++ "slab",
++]
++
++[[package]]
++name = "miow"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d"
++dependencies = [
++ "kernel32-sys",
++ "net2",
++ "winapi 0.2.8",
++ "ws2_32-sys",
++]
++
++[[package]]
++name = "native-tls"
++version = "0.2.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fd7e2f3618557f980e0b17e8856252eee3c97fa12c54dff0ca290fb6266ca4a9"
++dependencies = [
++ "lazy_static",
++ "libc",
++ "log",
++ "openssl",
++ "openssl-probe",
++ "openssl-sys",
++ "schannel",
++ "security-framework",
++ "security-framework-sys",
++ "tempfile",
++]
++
++[[package]]
++name = "net2"
++version = "0.2.37"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae"
++dependencies = [
++ "cfg-if 0.1.10",
++ "libc",
++ "winapi 0.3.9",
++]
++
++[[package]]
++name = "new_debug_unreachable"
++version = "1.0.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
++
++[[package]]
++name = "nodrop"
++version = "0.1.14"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
++
++[[package]]
++name = "notify"
++version = "4.0.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ae03c8c853dba7bfd23e571ff0cff7bc9dceb40a4cd684cd1681824183f45257"
++dependencies = [
++ "bitflags",
++ "filetime",
++ "fsevent",
++ "fsevent-sys",
++ "inotify",
++ "libc",
++ "mio 0.6.23",
++ "mio-extras",
++ "walkdir",
++ "winapi 0.3.9",
++]
++
++[[package]]
++name = "num-integer"
++version = "0.1.45"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
++dependencies = [
++ "autocfg",
++ "num-traits",
++]
++
++[[package]]
++name = "num-traits"
++version = "0.2.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
++dependencies = [
++ "autocfg",
++]
++
++[[package]]
++name = "num_cpus"
++version = "1.13.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
++dependencies = [
++ "hermit-abi",
++ "libc",
++]
++
++[[package]]
++name = "num_threads"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "object"
++version = "0.29.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53"
++dependencies = [
++ "memchr",
++]
++
++[[package]]
++name = "once_cell"
++version = "1.13.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1"
++
++[[package]]
++name = "openssl"
++version = "0.10.41"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "618febf65336490dfcf20b73f885f5651a0c89c64c2d4a8c3662585a70bf5bd0"
++dependencies = [
++ "bitflags",
++ "cfg-if 1.0.0",
++ "foreign-types",
++ "libc",
++ "once_cell",
++ "openssl-macros",
++ "openssl-sys",
++]
++
++[[package]]
++name = "openssl-macros"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "openssl-probe"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
++
++[[package]]
++name = "openssl-src"
++version = "111.22.0+1.1.1q"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8f31f0d509d1c1ae9cada2f9539ff8f37933831fd5098879e482aa687d659853"
++dependencies = [
++ "cc",
++]
++
++[[package]]
++name = "openssl-sys"
++version = "0.9.75"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e5f9bd0c2710541a3cda73d6f9ac4f1b240de4ae261065d309dbe73d9dceb42f"
++dependencies = [
++ "autocfg",
++ "cc",
++ "libc",
++ "openssl-src",
++ "pkg-config",
++ "vcpkg",
++]
++
++[[package]]
++name = "os_str_bytes"
++version = "6.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "648001efe5d5c0102d8cea768e348da85d90af8ba91f0bea908f157951493cd4"
++
++[[package]]
++name = "parking_lot"
++version = "0.12.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
++dependencies = [
++ "lock_api",
++ "parking_lot_core",
++]
++
++[[package]]
++name = "parking_lot_core"
++version = "0.9.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929"
++dependencies = [
++ "cfg-if 1.0.0",
++ "libc",
++ "redox_syscall",
++ "smallvec",
++ "windows-sys",
++]
++
++[[package]]
++name = "parse-zoneinfo"
++version = "0.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c705f256449c60da65e11ff6626e0c16a0a0b96aaa348de61376b249bc340f41"
++dependencies = [
++ "regex",
++]
++
++[[package]]
++name = "percent-encoding"
++version = "2.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
++
++[[package]]
++name = "pest"
++version = "2.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "69486e2b8c2d2aeb9762db7b4e00b0331156393555cff467f4163ff06821eef8"
++dependencies = [
++ "thiserror",
++ "ucd-trie",
++]
++
++[[package]]
++name = "pest_derive"
++version = "2.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b13570633aff33c6d22ce47dd566b10a3b9122c2fe9d8e7501895905be532b91"
++dependencies = [
++ "pest",
++ "pest_generator",
++]
++
++[[package]]
++name = "pest_generator"
++version = "2.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b3c567e5702efdc79fb18859ea74c3eb36e14c43da7b8c1f098a4ed6514ec7a0"
++dependencies = [
++ "pest",
++ "pest_meta",
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "pest_meta"
++version = "2.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5eb32be5ee3bbdafa8c7a18b0a8a8d962b66cfa2ceee4037f49267a50ee821fe"
++dependencies = [
++ "once_cell",
++ "pest",
++ "sha-1",
++]
++
++[[package]]
++name = "phf"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12"
++dependencies = [
++ "phf_macros",
++ "phf_shared 0.8.0",
++ "proc-macro-hack",
++]
++
++[[package]]
++name = "phf"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4724fa946c8d1e7cd881bd3dbee63ce32fc1e9e191e35786b3dc1320a3f68131"
++dependencies = [
++ "phf_shared 0.11.0",
++]
++
++[[package]]
++name = "phf_codegen"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815"
++dependencies = [
++ "phf_generator 0.8.0",
++ "phf_shared 0.8.0",
++]
++
++[[package]]
++name = "phf_codegen"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "32ba0c43d7a1b6492b2924a62290cfd83987828af037b0743b38e6ab092aee58"
++dependencies = [
++ "phf_generator 0.11.0",
++ "phf_shared 0.11.0",
++]
++
++[[package]]
++name = "phf_generator"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526"
++dependencies = [
++ "phf_shared 0.8.0",
++ "rand 0.7.3",
++]
++
++[[package]]
++name = "phf_generator"
++version = "0.10.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6"
++dependencies = [
++ "phf_shared 0.10.0",
++ "rand 0.8.5",
++]
++
++[[package]]
++name = "phf_generator"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5b450720b6f75cfbfabc195814bd3765f337a4f9a83186f8537297cac12f6705"
++dependencies = [
++ "phf_shared 0.11.0",
++ "rand 0.8.5",
++]
++
++[[package]]
++name = "phf_macros"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c"
++dependencies = [
++ "phf_generator 0.8.0",
++ "phf_shared 0.8.0",
++ "proc-macro-hack",
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "phf_shared"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7"
++dependencies = [
++ "siphasher",
++]
++
++[[package]]
++name = "phf_shared"
++version = "0.10.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096"
++dependencies = [
++ "siphasher",
++]
++
++[[package]]
++name = "phf_shared"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9dd5609d4b2df87167f908a32e1b146ce309c16cf35df76bc11f440b756048e4"
++dependencies = [
++ "siphasher",
++ "uncased",
++]
++
++[[package]]
++name = "pin-project"
++version = "1.0.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "78203e83c48cffbe01e4a2d35d566ca4de445d79a85372fc64e378bfc812a260"
++dependencies = [
++ "pin-project-internal",
++]
++
++[[package]]
++name = "pin-project-internal"
++version = "1.0.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "710faf75e1b33345361201d36d04e98ac1ed8909151a017ed384700836104c74"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "pin-project-lite"
++version = "0.2.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
++
++[[package]]
++name = "pin-utils"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
++
++[[package]]
++name = "pkg-config"
++version = "0.3.25"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae"
++
++[[package]]
++name = "plist"
++version = "1.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bd39bc6cdc9355ad1dc5eeedefee696bb35c34caf21768741e81826c0bbd7225"
++dependencies = [
++ "base64",
++ "indexmap",
++ "line-wrap",
++ "serde",
++ "time 0.3.12",
++ "xml-rs",
++]
++
++[[package]]
++name = "ppv-lite86"
++version = "0.2.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
++
++[[package]]
++name = "precomputed-hash"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
++
++[[package]]
++name = "proc-macro-error"
++version = "1.0.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
++dependencies = [
++ "proc-macro-error-attr",
++ "proc-macro2",
++ "quote",
++ "syn",
++ "version_check",
++]
++
++[[package]]
++name = "proc-macro-error-attr"
++version = "1.0.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "version_check",
++]
++
++[[package]]
++name = "proc-macro-hack"
++version = "0.5.19"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
++
++[[package]]
++name = "proc-macro2"
++version = "1.0.43"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab"
++dependencies = [
++ "unicode-ident",
++]
++
++[[package]]
++name = "pulldown-cmark"
++version = "0.9.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2d9cc634bc78768157b5cbfe988ffcd1dcba95cd2b2f03a88316c08c6d00ed63"
++dependencies = [
++ "bitflags",
++ "getopts",
++ "memchr",
++ "unicase",
++]
++
++[[package]]
++name = "quote"
++version = "1.0.21"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
++dependencies = [
++ "proc-macro2",
++]
++
++[[package]]
++name = "rand"
++version = "0.7.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
++dependencies = [
++ "getrandom 0.1.16",
++ "libc",
++ "rand_chacha 0.2.2",
++ "rand_core 0.5.1",
++ "rand_hc",
++ "rand_pcg",
++]
++
++[[package]]
++name = "rand"
++version = "0.8.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
++dependencies = [
++ "libc",
++ "rand_chacha 0.3.1",
++ "rand_core 0.6.3",
++]
++
++[[package]]
++name = "rand_chacha"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
++dependencies = [
++ "ppv-lite86",
++ "rand_core 0.5.1",
++]
++
++[[package]]
++name = "rand_chacha"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
++dependencies = [
++ "ppv-lite86",
++ "rand_core 0.6.3",
++]
++
++[[package]]
++name = "rand_core"
++version = "0.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
++dependencies = [
++ "getrandom 0.1.16",
++]
++
++[[package]]
++name = "rand_core"
++version = "0.6.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
++dependencies = [
++ "getrandom 0.2.7",
++]
++
++[[package]]
++name = "rand_hc"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
++dependencies = [
++ "rand_core 0.5.1",
++]
++
++[[package]]
++name = "rand_pcg"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429"
++dependencies = [
++ "rand_core 0.5.1",
++]
++
++[[package]]
++name = "rayon"
++version = "1.5.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d"
++dependencies = [
++ "autocfg",
++ "crossbeam-deque",
++ "either",
++ "rayon-core",
++]
++
++[[package]]
++name = "rayon-core"
++version = "1.9.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f"
++dependencies = [
++ "crossbeam-channel",
++ "crossbeam-deque",
++ "crossbeam-utils",
++ "num_cpus",
++]
++
++[[package]]
++name = "redox_syscall"
++version = "0.2.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
++dependencies = [
++ "bitflags",
++]
++
++[[package]]
++name = "regex"
++version = "1.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b"
++dependencies = [
++ "aho-corasick",
++ "memchr",
++ "regex-syntax",
++]
++
++[[package]]
++name = "regex-syntax"
++version = "0.6.27"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244"
++
++[[package]]
++name = "remove_dir_all"
++version = "0.5.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
++dependencies = [
++ "winapi 0.3.9",
++]
++
++[[package]]
++name = "rustc-demangle"
++version = "0.1.21"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342"
++
++[[package]]
++name = "rustc-hash"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
++
++[[package]]
++name = "rustc_version"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
++dependencies = [
++ "semver",
++]
++
++[[package]]
++name = "ryu"
++version = "1.0.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09"
++
++[[package]]
++name = "safemem"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
++
++[[package]]
++name = "same-file"
++version = "1.0.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
++dependencies = [
++ "winapi-util",
++]
++
++[[package]]
++name = "schannel"
++version = "0.1.20"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2"
++dependencies = [
++ "lazy_static",
++ "windows-sys",
++]
++
++[[package]]
++name = "scopeguard"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
++
++[[package]]
++name = "security-framework"
++version = "2.6.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2dc14f172faf8a0194a3aded622712b0de276821addc574fa54fc0a1167e10dc"
++dependencies = [
++ "bitflags",
++ "core-foundation",
++ "core-foundation-sys",
++ "libc",
++ "security-framework-sys",
++]
++
++[[package]]
++name = "security-framework-sys"
++version = "2.6.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556"
++dependencies = [
++ "core-foundation-sys",
++ "libc",
++]
++
++[[package]]
++name = "selectors"
++version = "0.22.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe"
++dependencies = [
++ "bitflags",
++ "cssparser",
++ "derive_more",
++ "fxhash",
++ "log",
++ "matches",
++ "phf 0.8.0",
++ "phf_codegen 0.8.0",
++ "precomputed-hash",
++ "servo_arc",
++ "smallvec",
++ "thin-slice",
++]
++
++[[package]]
++name = "self_cell"
++version = "0.10.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1ef965a420fe14fdac7dd018862966a4c14094f900e1650bbc71ddd7d580c8af"
++
++[[package]]
++name = "semver"
++version = "1.0.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "93f6841e709003d68bb2deee8c343572bf446003ec20a583e76f7b15cebf3711"
++
++[[package]]
++name = "serde"
++version = "1.0.142"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e590c437916fb6b221e1d00df6e3294f3fccd70ca7e92541c475d6ed6ef5fee2"
++dependencies = [
++ "serde_derive",
++]
++
++[[package]]
++name = "serde_derive"
++version = "1.0.142"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "34b5b8d809babe02f538c2cfec6f2c1ed10804c0e5a6a041a049a4f5588ccc2e"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "serde_json"
++version = "1.0.83"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "38dd04e3c8279e75b31ef29dbdceebfe5ad89f4d0937213c53f7d49d01b3d5a7"
++dependencies = [
++ "itoa 1.0.3",
++ "ryu",
++ "serde",
++]
++
++[[package]]
++name = "servo_arc"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432"
++dependencies = [
++ "nodrop",
++ "stable_deref_trait",
++]
++
++[[package]]
++name = "sha-1"
++version = "0.10.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "028f48d513f9678cda28f6e4064755b3fbb2af6acd672f2c209b62323f7aea0f"
++dependencies = [
++ "cfg-if 1.0.0",
++ "cpufeatures",
++ "digest",
++]
++
++[[package]]
++name = "signal-hook-registry"
++version = "1.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "siphasher"
++version = "0.3.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
++
++[[package]]
++name = "slab"
++version = "0.4.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef"
++dependencies = [
++ "autocfg",
++]
++
++[[package]]
++name = "slug"
++version = "0.1.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b3bc762e6a4b6c6fcaade73e77f9ebc6991b676f88bb2358bddb56560f073373"
++dependencies = [
++ "deunicode",
++]
++
++[[package]]
++name = "smallvec"
++version = "1.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1"
++
++[[package]]
++name = "socket2"
++version = "0.4.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0"
++dependencies = [
++ "libc",
++ "winapi 0.3.9",
++]
++
++[[package]]
++name = "stable_deref_trait"
++version = "1.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
++
++[[package]]
++name = "string_cache"
++version = "0.8.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "213494b7a2b503146286049378ce02b482200519accc31872ee8be91fa820a08"
++dependencies = [
++ "new_debug_unreachable",
++ "once_cell",
++ "parking_lot",
++ "phf_shared 0.10.0",
++ "precomputed-hash",
++ "serde",
++]
++
++[[package]]
++name = "string_cache_codegen"
++version = "0.5.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988"
++dependencies = [
++ "phf_generator 0.10.0",
++ "phf_shared 0.10.0",
++ "proc-macro2",
++ "quote",
++]
++
++[[package]]
++name = "syn"
++version = "1.0.99"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "unicode-ident",
++]
++
++[[package]]
++name = "syntect"
++version = "4.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8b20815bbe80ee0be06e6957450a841185fcf690fe0178f14d77a05ce2caa031"
++dependencies = [
++ "bincode",
++ "bitflags",
++ "fancy-regex",
++ "flate2",
++ "fnv",
++ "lazy_static",
++ "lazycell",
++ "plist",
++ "regex-syntax",
++ "serde",
++ "serde_derive",
++ "serde_json",
++ "walkdir",
++ "yaml-rust",
++]
++
++[[package]]
++name = "tempfile"
++version = "3.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
++dependencies = [
++ "cfg-if 1.0.0",
++ "fastrand",
++ "libc",
++ "redox_syscall",
++ "remove_dir_all",
++ "winapi 0.3.9",
++]
++
++[[package]]
++name = "tendril"
++version = "0.4.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0"
++dependencies = [
++ "futf",
++ "mac",
++ "utf-8",
++]
++
++[[package]]
++name = "tera"
++version = "1.16.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7c9783d6ff395ae80cf17ed9a25360e7ba37742a79fa8fddabb073c5c7c8856d"
++dependencies = [
++ "chrono",
++ "chrono-tz",
++ "globwalk",
++ "humansize",
++ "lazy_static",
++ "percent-encoding",
++ "pest",
++ "pest_derive",
++ "rand 0.8.5",
++ "regex",
++ "serde",
++ "serde_json",
++ "slug",
++ "unic-segment",
++]
++
++[[package]]
++name = "test-case"
++version = "2.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "07aea929e9488998b64adc414c29fe5620398f01c2e3f58164122b17e567a6d5"
++dependencies = [
++ "test-case-macros",
++]
++
++[[package]]
++name = "test-case-macros"
++version = "2.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c95968eedc6fc4f5c21920e0f4264f78ec5e4c56bb394f319becc1a5830b3e54"
++dependencies = [
++ "cfg-if 1.0.0",
++ "proc-macro-error",
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "textwrap"
++version = "0.15.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb"
++
++[[package]]
++name = "thin-slice"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c"
++
++[[package]]
++name = "thiserror"
++version = "1.0.32"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f5f6586b7f764adc0231f4c79be7b920e766bb2f3e51b3661cdb263828f19994"
++dependencies = [
++ "thiserror-impl",
++]
++
++[[package]]
++name = "thiserror-impl"
++version = "1.0.32"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "12bafc5b54507e0149cdf1b145a5d80ab80a90bcd9275df43d4fff68460f6c21"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "thread_local"
++version = "1.1.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180"
++dependencies = [
++ "once_cell",
++]
++
++[[package]]
++name = "time"
++version = "0.1.44"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
++dependencies = [
++ "libc",
++ "wasi 0.10.0+wasi-snapshot-preview1",
++ "winapi 0.3.9",
++]
++
++[[package]]
++name = "time"
++version = "0.3.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "74b7cc93fc23ba97fde84f7eea56c55d1ba183f495c6715defdfc7b9cb8c870f"
++dependencies = [
++ "itoa 1.0.3",
++ "js-sys",
++ "libc",
++ "num_threads",
++ "serde",
++]
++
++[[package]]
++name = "tinystr"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "29738eedb4388d9ea620eeab9384884fc3f06f586a2eddb56bedc5885126c7c1"
++
++[[package]]
++name = "tokio"
++version = "1.20.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7a8325f63a7d4774dd041e363b2409ed1c5cbbd0f867795e661df066b2b0a581"
++dependencies = [
++ "autocfg",
++ "bytes",
++ "libc",
++ "memchr",
++ "mio 0.8.4",
++ "num_cpus",
++ "once_cell",
++ "pin-project-lite",
++ "signal-hook-registry",
++ "socket2",
++ "tokio-macros",
++ "winapi 0.3.9",
++]
++
++[[package]]
++name = "tokio-macros"
++version = "1.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "tokio-native-tls"
++version = "0.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b"
++dependencies = [
++ "native-tls",
++ "tokio",
++]
++
++[[package]]
++name = "tokio-util"
++version = "0.7.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cc463cd8deddc3770d20f9852143d50bf6094e640b485cb2e189a2099085ff45"
++dependencies = [
++ "bytes",
++ "futures-core",
++ "futures-sink",
++ "pin-project-lite",
++ "tokio",
++]
++
++[[package]]
++name = "toml"
++version = "0.5.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "tower"
++version = "0.4.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c"
++dependencies = [
++ "futures-core",
++ "futures-util",
++ "pin-project",
++ "pin-project-lite",
++ "tokio",
++ "tower-layer",
++ "tower-service",
++ "tracing",
++]
++
++[[package]]
++name = "tower-http"
++version = "0.2.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "aba3f3efabf7fb41fae8534fc20a817013dd1c12cb45441efb6c82e6556b4cd8"
++dependencies = [
++ "bitflags",
++ "bytes",
++ "futures-core",
++ "futures-util",
++ "http",
++ "http-body",
++ "http-range-header",
++ "httpdate",
++ "mime",
++ "mime_guess",
++ "percent-encoding",
++ "pin-project-lite",
++ "tokio",
++ "tokio-util",
++ "tower-layer",
++ "tower-service",
++]
++
++[[package]]
++name = "tower-layer"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "343bc9466d3fe6b0f960ef45960509f84480bf4fd96f92901afe7ff3df9d3a62"
++
++[[package]]
++name = "tower-service"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
++
++[[package]]
++name = "tracing"
++version = "0.1.36"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2fce9567bd60a67d08a16488756721ba392f24f29006402881e43b19aac64307"
++dependencies = [
++ "cfg-if 1.0.0",
++ "log",
++ "pin-project-lite",
++ "tracing-core",
++]
++
++[[package]]
++name = "tracing-core"
++version = "0.1.29"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5aeea4303076558a00714b823f9ad67d58a3bbda1df83d8827d21193156e22f7"
++dependencies = [
++ "once_cell",
++]
++
++[[package]]
++name = "try-lock"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
++
++[[package]]
++name = "type-map"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b6d3364c5e96cb2ad1603037ab253ddd34d7fb72a58bdddf4b7350760fc69a46"
++dependencies = [
++ "rustc-hash",
++]
++
++[[package]]
++name = "typenum"
++version = "1.15.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
++
++[[package]]
++name = "ucd-trie"
++version = "0.1.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "89570599c4fe5585de2b388aab47e99f7fa4e9238a1399f707a02e356058141c"
++
++[[package]]
++name = "uncased"
++version = "0.9.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "09b01702b0fd0b3fadcf98e098780badda8742d4f4a7676615cad90e8ac73622"
++dependencies = [
++ "version_check",
++]
++
++[[package]]
++name = "unic-char-property"
++version = "0.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221"
++dependencies = [
++ "unic-char-range",
++]
++
++[[package]]
++name = "unic-char-range"
++version = "0.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc"
++
++[[package]]
++name = "unic-common"
++version = "0.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc"
++
++[[package]]
++name = "unic-langid"
++version = "0.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "73328fcd730a030bdb19ddf23e192187a6b01cd98be6d3140622a89129459ce5"
++dependencies = [
++ "unic-langid-impl",
++]
++
++[[package]]
++name = "unic-langid-impl"
++version = "0.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1a4a8eeaf0494862c1404c95ec2f4c33a2acff5076f64314b465e3ddae1b934d"
++dependencies = [
++ "tinystr",
++]
++
++[[package]]
++name = "unic-segment"
++version = "0.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e4ed5d26be57f84f176157270c112ef57b86debac9cd21daaabbe56db0f88f23"
++dependencies = [
++ "unic-ucd-segment",
++]
++
++[[package]]
++name = "unic-ucd-segment"
++version = "0.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2079c122a62205b421f499da10f3ee0f7697f012f55b675e002483c73ea34700"
++dependencies = [
++ "unic-char-property",
++ "unic-char-range",
++ "unic-ucd-version",
++]
++
++[[package]]
++name = "unic-ucd-version"
++version = "0.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4"
++dependencies = [
++ "unic-common",
++]
++
++[[package]]
++name = "unicase"
++version = "2.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
++dependencies = [
++ "version_check",
++]
++
++[[package]]
++name = "unicode-ident"
++version = "1.0.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c4f5b37a154999a8f3f98cc23a628d850e154479cd94decf3414696e12e31aaf"
++
++[[package]]
++name = "unicode-width"
++version = "0.1.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
++
++[[package]]
++name = "utf-8"
++version = "0.7.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
++
++[[package]]
++name = "vcpkg"
++version = "0.2.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
++
++[[package]]
++name = "version_check"
++version = "0.9.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
++
++[[package]]
++name = "walkdir"
++version = "2.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56"
++dependencies = [
++ "same-file",
++ "winapi 0.3.9",
++ "winapi-util",
++]
++
++[[package]]
++name = "want"
++version = "0.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0"
++dependencies = [
++ "log",
++ "try-lock",
++]
++
++[[package]]
++name = "wasi"
++version = "0.9.0+wasi-snapshot-preview1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
++
++[[package]]
++name = "wasi"
++version = "0.10.0+wasi-snapshot-preview1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
++
++[[package]]
++name = "wasi"
++version = "0.11.0+wasi-snapshot-preview1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
++
++[[package]]
++name = "wasm-bindgen"
++version = "0.2.82"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fc7652e3f6c4706c8d9cd54832c4a4ccb9b5336e2c3bd154d5cccfbf1c1f5f7d"
++dependencies = [
++ "cfg-if 1.0.0",
++ "wasm-bindgen-macro",
++]
++
++[[package]]
++name = "wasm-bindgen-backend"
++version = "0.2.82"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "662cd44805586bd52971b9586b1df85cdbbd9112e4ef4d8f41559c334dc6ac3f"
++dependencies = [
++ "bumpalo",
++ "log",
++ "once_cell",
++ "proc-macro2",
++ "quote",
++ "syn",
++ "wasm-bindgen-shared",
++]
++
++[[package]]
++name = "wasm-bindgen-macro"
++version = "0.2.82"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b260f13d3012071dfb1512849c033b1925038373aea48ced3012c09df952c602"
++dependencies = [
++ "quote",
++ "wasm-bindgen-macro-support",
++]
++
++[[package]]
++name = "wasm-bindgen-macro-support"
++version = "0.2.82"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5be8e654bdd9b79216c2929ab90721aa82faf65c48cdf08bdc4e7f51357b80da"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++ "wasm-bindgen-backend",
++ "wasm-bindgen-shared",
++]
++
++[[package]]
++name = "wasm-bindgen-shared"
++version = "0.2.82"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6598dd0bd3c7d51095ff6531a5b23e02acdc81804e30d8f07afb77b7215a140a"
++
++[[package]]
++name = "winapi"
++version = "0.2.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
++
++[[package]]
++name = "winapi"
++version = "0.3.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
++dependencies = [
++ "winapi-i686-pc-windows-gnu",
++ "winapi-x86_64-pc-windows-gnu",
++]
++
++[[package]]
++name = "winapi-build"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
++
++[[package]]
++name = "winapi-i686-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
++
++[[package]]
++name = "winapi-util"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
++dependencies = [
++ "winapi 0.3.9",
++]
++
++[[package]]
++name = "winapi-x86_64-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
++
++[[package]]
++name = "windows-sys"
++version = "0.36.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2"
++dependencies = [
++ "windows_aarch64_msvc",
++ "windows_i686_gnu",
++ "windows_i686_msvc",
++ "windows_x86_64_gnu",
++ "windows_x86_64_msvc",
++]
++
++[[package]]
++name = "windows_aarch64_msvc"
++version = "0.36.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47"
++
++[[package]]
++name = "windows_i686_gnu"
++version = "0.36.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6"
++
++[[package]]
++name = "windows_i686_msvc"
++version = "0.36.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024"
++
++[[package]]
++name = "windows_x86_64_gnu"
++version = "0.36.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1"
++
++[[package]]
++name = "windows_x86_64_msvc"
++version = "0.36.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680"
++
++[[package]]
++name = "ws2_32-sys"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
++dependencies = [
++ "winapi 0.2.8",
++ "winapi-build",
++]
++
++[[package]]
++name = "xml-rs"
++version = "0.8.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3"
++
++[[package]]
++name = "xml5ever"
++version = "0.16.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9234163818fd8e2418fcde330655e757900d4236acd8cc70fef345ef91f6d865"
++dependencies = [
++ "log",
++ "mac",
++ "markup5ever",
++ "time 0.1.44",
++]
++
++[[package]]
++name = "yaml-rust"
++version = "0.4.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85"
++dependencies = [
++ "linked-hash-map",
++]
++
++[[package]]
++name = "zine"
++version = "0.6.0"
++dependencies = [
++ "anyhow",
++ "clap",
++ "fluent",
++ "html5ever",
++ "http-body",
++ "hyper",
++ "hyper-tls",
++ "include_dir",
++ "intl-memoizer",
++ "lol_html",
++ "markup5ever_rcdom",
++ "notify",
++ "once_cell",
++ "parking_lot",
++ "pulldown-cmark",
++ "rayon",
++ "regex",
++ "serde",
++ "serde_json",
++ "syntect",
++ "tera",
++ "test-case",
++ "time 0.3.12",
++ "tokio",
++ "toml",
++ "tower",
++ "tower-http",
++ "walkdir",
++]
diff --git a/pkgs/applications/misc/zine/default.nix b/pkgs/applications/misc/zine/default.nix
new file mode 100644
index 00000000000..28fdaebe35e
--- /dev/null
+++ b/pkgs/applications/misc/zine/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, rustPlatform
+, pkg-config
+, openssl
+}:
+rustPlatform.buildRustPackage rec {
+  pname = "zine";
+  version = "0.6.0";
+
+  src = fetchFromGitHub {
+    owner = "zineland";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-Pd/UAg6O9bOvrdvbY46Vf8cxFzjonEwcwPaaW59vH6E=";
+  };
+
+  cargoPatches = [ ./Cargo.lock.patch ]; # Repo does not provide Cargo.lock
+
+  cargoSha256 = "sha256-qpzBDyNSZblmdimnnL4T/wS+6EXpduJ1U2+bfxM7piM=";
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+  buildInputs = [
+    openssl
+  ];
+
+  meta = with lib; {
+    description = "A simple and opinionated tool to build your own magazine";
+    homepage = "https://github.com/zineland/zine";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ dit7ya ];
+  };
+}
diff --git a/pkgs/applications/networking/appgate-sdp/default.nix b/pkgs/applications/networking/appgate-sdp/default.nix
index cac64ba7f63..7dd69aeebcd 100644
--- a/pkgs/applications/networking/appgate-sdp/default.nix
+++ b/pkgs/applications/networking/appgate-sdp/default.nix
@@ -87,11 +87,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "appgate-sdp";
-  version = "5.5.5";
+  version = "6.0.1";
 
   src = fetchurl {
     url = "https://bin.appgate-sdp.com/${versions.majorMinor version}/client/appgate-sdp_${version}_amd64.deb";
-    sha256 = "sha256-eXcGHd3TGNFqjFQ+wSg4+1hF/6DJTPOs0ldjegFktGo=";
+    sha256 = "sha256-dVVOUdGJDmStS1ZXqPOFpeWhLgimv4lHBS/OOEDrtM0=";
   };
 
   # just patch interpreter
diff --git a/pkgs/applications/networking/browsers/chromium/ungoogled-flags.toml b/pkgs/applications/networking/browsers/chromium/ungoogled-flags.toml
index f2bf29cda24..10cd77df21a 100644
--- a/pkgs/applications/networking/browsers/chromium/ungoogled-flags.toml
+++ b/pkgs/applications/networking/browsers/chromium/ungoogled-flags.toml
@@ -7,7 +7,6 @@ enable_js_type_check=false
 enable_mdns=false
 enable_mse_mpeg2ts_stream_parser=true
 enable_nacl=false
-enable_one_click_signin=false
 enable_reading_list=false
 enable_remoting=false
 enable_reporting=false
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json
index c4a012458b2..4e3caaf5a42 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json
@@ -1,40 +1,40 @@
 {
   "stable": {
-    "version": "103.0.5060.134",
-    "sha256": "0wdmy15602qxrb403p8yyx69k7py85fbawdsgap1l6z4h4j2g2p4",
-    "sha256bin64": "143jc70cyns2bh5cizy32fdsfl6hq22rphx216vywhncdsd96cnw",
+    "version": "104.0.5112.79",
+    "sha256": "1wxb3nl080wgg1g61g3pgzz3gaawg442iv8pxqhnayacm3qn5ilw",
+    "sha256bin64": "1m09bbh6a4sm5i0n8z2wy0hb8s7w0c2d335mpyrmndzs45py5ggx",
     "deps": {
       "gn": {
-        "version": "2022-05-11",
+        "version": "2022-06-08",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "578a7fe4c3c6b0bc2ae1fd2e37f14857d09895bf",
-        "sha256": "03dqfrdpf5xxl64dby3qmbwpzdq2gsa8g7xl438py3a629rgxg63"
+        "rev": "2ecd43a10266bd091c98e6dcde507c64f6a0dad3",
+        "sha256": "1q06vsz9b4bb764wy1wy8n177z2pgpm97kq3rl1hmq185mz5fhra"
       }
     },
     "chromedriver": {
-      "version": "103.0.5060.134",
-      "sha256_linux": "13ld47n16b9adb6gh9bc7gr0vi3afyz5pn15rq1w983yqab49vwb",
-      "sha256_darwin": "0rpnny902h8il8wvxh4ccrvviqfpds28zgqv1v0vhlbgzgykcw3z",
-      "sha256_darwin_aarch64": "19v7q2wnvp5yfhh8x73p9shayar5yddf22rzqnlvy59saygcc7wa"
+      "version": "104.0.5112.79",
+      "sha256_linux": "1naxi6pa5l9ciwzlqimcwqfjsqzyqndg1i0hp6zwh20wfvcfms3w",
+      "sha256_darwin": "0lgls8vsv31apgxjvksqaaiqj78q5v3bs0mnrxhfbw7cbhf6wxk5",
+      "sha256_darwin_aarch64": "11rjqdd65zibhb1gvdwy0slcdpvwh77mkhcj5hdg4hdlysd1a3a2"
     }
   },
   "beta": {
-    "version": "104.0.5112.65",
-    "sha256": "03adyhinhmih54rsv23w0cm86ldyfsxlmqhgk36vhgylgdras81v",
-    "sha256bin64": "17rck7zvyxmlhmi4x27xhlrn6sznx75cbidhbw7bxk3z9x7qybfy",
+    "version": "105.0.5195.19",
+    "sha256": "08wap1v2qjx8nzd8sbiv24vx0vdc2dhlzrlv3g4zpm2qj7l4mki7",
+    "sha256bin64": "15rhslgq77wiwiycf6m89vi3f5vry286b7kqfk0v5ibmcsf6clgf",
     "deps": {
       "gn": {
-        "version": "2022-06-08",
+        "version": "2022-07-11",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "2ecd43a10266bd091c98e6dcde507c64f6a0dad3",
-        "sha256": "1q06vsz9b4bb764wy1wy8n177z2pgpm97kq3rl1hmq185mz5fhra"
+        "rev": "9ef321772ecc161937db69acb346397e0ccc484d",
+        "sha256": "0j85kgf8c1psys6kfsq5mph8n80hcbzhr7d2blqiiysmjj0wc6ng"
       }
     }
   },
   "dev": {
-    "version": "105.0.5195.10",
-    "sha256": "12spa7b8iy1ipj6f2rs6kdv6r986zdjmdkng5gk1ki1qli80gv2x",
-    "sha256bin64": "146qxhzhlmd5hvp2g1nrfk7hjdxjlrafwa1gl4msjgrdrfz3bdql",
+    "version": "106.0.5216.6",
+    "sha256": "1mgdzm5iw0ml9w68wszcscw0d3l2rlsanhznyz2ll2qv412wxgci",
+    "sha256bin64": "02kj2swqfvcvn27x22i98g7r0fj4p20bqcabagigxs1bhxw56akc",
     "deps": {
       "gn": {
         "version": "2022-07-11",
@@ -45,19 +45,19 @@
     }
   },
   "ungoogled-chromium": {
-    "version": "103.0.5060.134",
-    "sha256": "0wdmy15602qxrb403p8yyx69k7py85fbawdsgap1l6z4h4j2g2p4",
-    "sha256bin64": "143jc70cyns2bh5cizy32fdsfl6hq22rphx216vywhncdsd96cnw",
+    "version": "104.0.5112.81",
+    "sha256": "0x17jzzvn2aqx3ahqyi6ijyn70sn79kg648r0ks9m5gib1bbgf0y",
+    "sha256bin64": null,
     "deps": {
       "gn": {
-        "version": "2022-05-11",
+        "version": "2022-06-08",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "578a7fe4c3c6b0bc2ae1fd2e37f14857d09895bf",
-        "sha256": "03dqfrdpf5xxl64dby3qmbwpzdq2gsa8g7xl438py3a629rgxg63"
+        "rev": "2ecd43a10266bd091c98e6dcde507c64f6a0dad3",
+        "sha256": "1q06vsz9b4bb764wy1wy8n177z2pgpm97kq3rl1hmq185mz5fhra"
       },
       "ungoogled-patches": {
-        "rev": "103.0.5060.134-1",
-        "sha256": "00mpmyaa8bqxf1f4vhk1waxhjbhcwab8m1x1vf341al64f6bmr1r"
+        "rev": "104.0.5112.81-1",
+        "sha256": "0dvwh470h06x5a4p8kw22pi4lvch16knh90i2kh10y0wfggqz78w"
       }
     }
   }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
index cc5dc610397..9d3ff6a0da1 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
@@ -1,985 +1,985 @@
 {
-  version = "104.0b4";
+  version = "104.0b7";
   sources = [
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/ach/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/ach/firefox-104.0b7.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "9aab97403c15845c0a15b4e80c0c566da586d7f612fcda4f21767bc2805c1195";
+      sha256 = "9c343be5e470c8580af9c55d00e3c894c63f6a2fd1bddad2ff8c4e0782aea58a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/af/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/af/firefox-104.0b7.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "4a88e074f74395d81125d40ddba2aac2eef3b232d5facdd570855032c8c5f876";
+      sha256 = "ccd2e3b4126cdd3517a72d9749cc8cee062280edc2fa2e4b3a08bf1bd515319b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/an/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/an/firefox-104.0b7.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "bc46d97d0233a2c0cb5af05d24f99a6dc68c096546f791a0ebb2fd46aaa55158";
+      sha256 = "e293bfc57aba4cb96de21a3d4047749ab54ebc431afb8f4352989f2194296f1c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/ar/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/ar/firefox-104.0b7.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "c0a224c85219eb7bcb8682df43d75ee747bd94082dfa5b80558d1f7841d90fee";
+      sha256 = "03dc14568cbbaf34b1037b2b7209a79ddee5bc42c74e73b27da2664c4c07d742";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/ast/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/ast/firefox-104.0b7.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "c7228c9e3443997623ef850b211d54ec0ad1afac2b8bb9a65d27f7a598ce95dc";
+      sha256 = "d9d72b228f3776bda85fa8bd8c11c8292bda366b5957b25ba1de1087cd98d997";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/az/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/az/firefox-104.0b7.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "849c73d1f06004cd7934c1f9c6ceff059ba5aed3ca794e8d87e80dee307f2cde";
+      sha256 = "efa196f5353ffd787d21a575960222827ba1348ff9026d70b6d6b29970985313";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/be/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/be/firefox-104.0b7.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "ced85dcbb3b98154e78fc3f9e2a74b6b159a6cdc9474d68a135caead222e85c0";
+      sha256 = "7a7a4ffa2a65535612a9109f3a15ffb314f7cda362347760c19cccc6d112251d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/bg/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/bg/firefox-104.0b7.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "f52099d1e563411678a668d65390630de733bd3e977319b1d01828254235bb6c";
+      sha256 = "c96ec818e5811d446fb55c43cb6ba987c84d496a4abea0c627f5ae592c1e7967";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/bn/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/bn/firefox-104.0b7.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "f3cfb2f333429f178a7a7f22d88100d81813ef31b0ba60691106f21aba5ff190";
+      sha256 = "c0c4c51e0d15c33e61d5fa0b98c9b065f27b4c4218ea6cf5c2884b05243a8e49";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/br/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/br/firefox-104.0b7.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "20bdf60533a5801770d239ee7616e7ed47ee4160a240066a6c71f643028e3945";
+      sha256 = "4e92a5a3c24fbe7bf2d1f4db86d2e4f2a4248b8dd413886f2df8d12e9bf7d979";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/bs/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/bs/firefox-104.0b7.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "5d0abd11bba5ccce1fd0cd4c04da1430053d653df3b4263505f28801e48a5656";
+      sha256 = "07b4e7801d4fc3075d0fedade3fdcd1de04d19670a33a4bc358c5229aa49e5a9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/ca-valencia/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/ca-valencia/firefox-104.0b7.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "51ce4bb5a373edeaa48f1c40839445f084c9bc1fde37b41fdc6f94937a3887b3";
+      sha256 = "e69b015b3ba339506818672cc56a16d08f6a649731bba34275a08778718ea456";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/ca/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/ca/firefox-104.0b7.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "c129546c4d876d7eef6c27cda86ed36adafd8d9454c21343beb2193c61d11e35";
+      sha256 = "3f396efb1aeee865d62c1b5db6039606f3b75f079d12be1cb5ff0d8c9cf6ea0e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/cak/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/cak/firefox-104.0b7.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "40e6984998f478dd91859898ccc47e0574fc7633d29bde0d2b96d38e89d99e52";
+      sha256 = "66379c54716abcf3922c9b03b60b413ffee83ac574b6a8bd269a09ff842ee252";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/cs/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/cs/firefox-104.0b7.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "c113431a01f2c73760d6235626691b2126cbf378e9fcde0f398b265a49be53e0";
+      sha256 = "3d4638cf25c6b5c06e7de0c4314bb58ebf3cc49d6db99c2c7471f0c1920486a1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/cy/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/cy/firefox-104.0b7.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "7c3828beb82d6d12b763dc20928bc8686b24e33058971a993f68edf1ed87996b";
+      sha256 = "5ddd17e2182dcac68c312d32cfec3b3bccebb337fc8bec1bae429ba6969c4de1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/da/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/da/firefox-104.0b7.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "357a05bb854389652f6dad5d12fc9c61398c557298c4715e99a887870369dd67";
+      sha256 = "9abfcda70d3ee6bab74b76c7e918ca051cdd1367b451f197e51cf4e51f25458b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/de/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/de/firefox-104.0b7.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "5204775beae1ebff56013f312df7a5573803e52a738dfc87f4df174a1f5be1d3";
+      sha256 = "51150253b64cf14fb46cbce888cdfc4bffffe20d383012e97dae2eb28b571ed6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/dsb/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/dsb/firefox-104.0b7.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "3e1bad57eec534a9a69471212a35f68ed17be2294c26d6df38bf7a9ac71cdba8";
+      sha256 = "fb456a3fea9eba3ef2fafb95b4d4f8e33029a26247f2d3d9af78366bdf606c57";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/el/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/el/firefox-104.0b7.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "573f680467aacf7e2d5ed179aa739cedafc85d34a36e40e807d2bfd0afb9edf3";
+      sha256 = "8459a53e040ae2b1b9c18140012075432d8fcbbd875bd96ad800db356424819e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/en-CA/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/en-CA/firefox-104.0b7.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "8f4e8944b05acb357d23d51dfb877b459f9285224018950accb1ce5357261f7f";
+      sha256 = "ff5c49878f97ee37d0703a326aeb3faeebb3ac6a6dab6d0688b0961a6e68c839";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/en-GB/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/en-GB/firefox-104.0b7.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "e6e024e95d2cc01106fa31fc4d73a13ac445afe1b56c0d302e1d9403cc38bb5b";
+      sha256 = "fef8b5d014e9e136ed491b01282052e5bfa28a772fdd1fd7cdb9df53493aa03d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/en-US/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/en-US/firefox-104.0b7.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "9ca36590d247d09a5e18c153a0f2ce6e5d99e859bd53968ed187a87c4b20ff3d";
+      sha256 = "5624f8686296d2aee7920a9587e825b4d5c1f60a8a657dc651230db9fff4da8d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/eo/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/eo/firefox-104.0b7.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "f87c01afb9d853ac48b27bd75aad1cf1cf5b7132fc2ed8eaa2ba4816b0480e44";
+      sha256 = "f81b129fbcc6739906109214f7bbc2ad60978a0f2dd4905afd56d09a5e0f1154";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/es-AR/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/es-AR/firefox-104.0b7.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "6a53038d9098c322ede5ed6f1e5c988a8b0c891b77d1e9755a8b8dc9534caf3c";
+      sha256 = "c1e47a426cad118df541d1461181e27006a0101e90729c5a7e106ccc3f816ed6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/es-CL/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/es-CL/firefox-104.0b7.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "d7e69956dc992c2ce8195866cd3e033daa43f1069433584d52cbf1f6769336b3";
+      sha256 = "e80a62a9f34f94b65554e95af5b21c0c859829fe23777e943263e7f68f8e0871";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/es-ES/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/es-ES/firefox-104.0b7.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "15645f2a49205441f3860a3a5603fc073ca47c99fbe6891c2ac949b7a80e9cf4";
+      sha256 = "a04a43c034fed78fb1180ad7016e5fd0810b0e437f679ffbe1521866387e2698";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/es-MX/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/es-MX/firefox-104.0b7.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "638d109b6e555f41df2f9bf5fed9e3df766330530b641b40413d59671f4b4732";
+      sha256 = "986739b20e919aba1b38c6999db7bc5995dfe751881dbc3ff8029f828c6bfb73";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/et/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/et/firefox-104.0b7.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "373fcd941538ea589b2297162176ddfefcbfa367e7e00d4a66de0d0b81883513";
+      sha256 = "021bde5f3fb0b44afed6282ab85c3d960ac5ff799b1237cac58245cc337fb417";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/eu/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/eu/firefox-104.0b7.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "cf125688f58195b67c9de21f8733da107857fc0c552c551c88ae74f3b5842ed1";
+      sha256 = "d7131c1552831e9d06c37f9554a415fd50a4d2945bd061980b70fd4e340553e0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/fa/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/fa/firefox-104.0b7.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "47e5e176bdc615b9da2fbdf35c20ded6a4f546547508afed74daaa8f1eeb58b7";
+      sha256 = "7454a924dcf84b1889e1c051313d4f39f044453b8934832000d260e8167d2115";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/ff/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/ff/firefox-104.0b7.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "0067809f285d01e02336f0ef0cca3872110bf61781ec8b60821e28c642d6cdfc";
+      sha256 = "c22c7f8ba198e9e4f1d9979da32353bfe1d7df19c64d404a22d3923bbd8a5a12";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/fi/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/fi/firefox-104.0b7.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "09f4ab7fdc8906830a05019aefc085a7c29d038341e4546a4fd9444022478bbd";
+      sha256 = "b3637524eeb5b04dac3e6ea87b8fe02304c9320075fe6ed1b3e8f1c44b4093eb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/fr/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/fr/firefox-104.0b7.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "39b8a8d007123b70f450de475473ec5633a15830465dc57ad4a9e76a8b32defd";
+      sha256 = "68bf86feb2ea985ce28932b728d5fb9041b78d3b362ef0f6226ed303b9274d81";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/fy-NL/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/fy-NL/firefox-104.0b7.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "bf86bdf9819736996737479da460918985ace99240ece8380aeaaab40ce795f2";
+      sha256 = "c733e64f3a159943a34b96af605dd0c2dd7361449d4ec107f54c2206cee04694";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/ga-IE/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/ga-IE/firefox-104.0b7.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "f324c686bcdca47deb6209e4609b1058ea2dc241bc237a667c0cf0377bce151b";
+      sha256 = "b713178cff8492d310cb6020addfb596a1f3f2040830e6b77f723c3d6fb6cce3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/gd/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/gd/firefox-104.0b7.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "22153b5d67a46b57394e2ee43bed403cfbe9e3cc2e111443d6aaacd2cd2c0221";
+      sha256 = "535d83dc01ca52c6b4b20bdd14fc20213494e34bfbae9573df3dbb86da386db9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/gl/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/gl/firefox-104.0b7.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "e63e129c8a6fd2c891f6e78083273a7df343f2b7e45aa91038d4a3e60e7971e8";
+      sha256 = "4522adc99ff95fea93adf462791bcfb05bb4fea55bd7f4d93abf879fbeb4260c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/gn/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/gn/firefox-104.0b7.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "8e5f246d682590019c69343abdfd55e286ad30578a67f945479d53f130de630d";
+      sha256 = "4303e8a97d810629095a3fa1e2acdb9bfe25e294abe2195a3e997342bcfab467";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/gu-IN/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/gu-IN/firefox-104.0b7.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "1b1442ab2f408840b296e41dceba28de9402fb02858448ea71e423b380fd7060";
+      sha256 = "86d6b66a21a97c6d8c45b5a15ac0fea6089fbab18a259b8f07f4262438ec82ca";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/he/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/he/firefox-104.0b7.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "af5cab55c801a96cb7393f4fd42562cf698802b671f4f9cda4a921c2c19616c7";
+      sha256 = "a93c88fff79ca1b37cd8bb5ab475b21ec427c0fb2c80154bf8fd46b081aa5e19";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/hi-IN/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/hi-IN/firefox-104.0b7.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "0d03b46a77a5221dfcb3f0610976435b9326e39109cef27fbe2362f34e8299ff";
+      sha256 = "d6e88f00a6560484e160f5b31ef140e30d30f1126843de4e3fe4237ad7297722";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/hr/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/hr/firefox-104.0b7.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "4f63255ab89ea614bb2d83498b402a99545f433671d2bd2ed34bb8a57f9a873d";
+      sha256 = "301f0475fe19b63d1df09d1495752e78cf5e22039f946b89425e950416b11e43";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/hsb/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/hsb/firefox-104.0b7.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "cd8c45063fccba3326b600ebb749ac5639764393114ff6b31d6c678db04e177d";
+      sha256 = "a69480838d3f553c11426e062a25cdb0a4d2f1e0555a5086bb840bfd21820289";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/hu/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/hu/firefox-104.0b7.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "29b156f0e8c7fb022ea8cda3a7dbffe234336e04284439d59d147d3a8b1315e5";
+      sha256 = "a91e947690fb656fe440db5ffc9ce132270b7fc59af7007ae45ecaf72cb96b48";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/hy-AM/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/hy-AM/firefox-104.0b7.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "907398ac18826db5d72bbaafca76c950985614d2696020e8d146721cd7dfaaa7";
+      sha256 = "ecd9ee091040bfbcbc02d01e4bab2f3cf58acddf3299c646f9fce23b4518dd84";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/ia/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/ia/firefox-104.0b7.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "82ac551a3569e61a76127f208d08aa62ccd187c8c9f05d6981bd7611c6b050db";
+      sha256 = "0d5dcfdad66812fa592a99db05f4660b1a2d1cf7e058875984db001911c7908b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/id/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/id/firefox-104.0b7.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "79175dbba4e95979416b1b7e86da20fbde5d02db121273d2c6c71cc167490e73";
+      sha256 = "61367949e4077cd27907faa4819554baf11c2d8a85d51bfa62ab980cc4facce5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/is/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/is/firefox-104.0b7.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "47f6c921571b7495272690cc0d62e24845562c8748f9289e1bfbde29a877e01e";
+      sha256 = "f1a81783da1876129a7b8f821bb3f6f56e1553abc4a05c424b22be553747ae19";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/it/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/it/firefox-104.0b7.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "14cf10a6bb3d254ed5e98398e6f9cda3e546d95fb5220c6410acd9383df7944e";
+      sha256 = "1ece01f5770e6c529f544ad34b7b1fe842a7cb4eeadda48a3a6481bed4e295e9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/ja/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/ja/firefox-104.0b7.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "e16a20dc0494235b59dd7d55e96404ab9063d65357d3372a90cad5cda942678e";
+      sha256 = "c4583686959afd416c945cb17e816e02e503354a62a0e942f0bb68300b8ebeab";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/ka/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/ka/firefox-104.0b7.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "05d93ed19027df54945205825a78e95a0e679d47522df2e50770e74b904db0f1";
+      sha256 = "750fd298de9530d92f50df82af2f4717a801872abbc77869f6f19a8355c40f48";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/kab/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/kab/firefox-104.0b7.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "f578e9109b34c3a502f86d08952fad6c1c00efe6c5a8377c70cfcce416822a5c";
+      sha256 = "ff1cc19234f54b55ab9d1d37b668fbf5dc0c3c668430bd4959e78ef84e21476f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/kk/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/kk/firefox-104.0b7.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "ed930e0d46c48b63e600490ae7b80d5cccd4dd25cc633820d733ac447e417701";
+      sha256 = "c5586063b96f19b31a7561b8b9810f027060ca943aa9f982328c48e930cef32b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/km/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/km/firefox-104.0b7.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "94411146267f6d887d55dd0cdd7e98f74bfb66b33880cc35c174c826fe543528";
+      sha256 = "332d27fa7bef1af230f07781b3b8e87cadc8c06bb461f7f89f02303436580481";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/kn/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/kn/firefox-104.0b7.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "533bd977d7db52be57f0bdacf7c7716fb1664d8eea18393f0d129bc5adae3e30";
+      sha256 = "058a8bafc3602bebf79ab9b3781bfa45d9faa7c9de628f7d68842aaf1b6a5cb1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/ko/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/ko/firefox-104.0b7.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "d8e0aea1c654e9d8a1bf3e45cf3ee990d5182394fec8a75fff264d3f750af870";
+      sha256 = "bda632e9fe46393d48a38cb603a8b59cae19033523dbafb1f517f2461313c167";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/lij/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/lij/firefox-104.0b7.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "a25bfa50f5ab6697a3c38b7d9c01a88562f7b3de68b1cbdf01a1e38424766f15";
+      sha256 = "8dc76d55145fa52a52d23e4492b9dc3fc54591f2112f40aa8ca61391d8cd0e61";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/lt/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/lt/firefox-104.0b7.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "ae4e5588a3a32b36b960170903f88400c7907fdd9a1f497e2cf05e6718269da6";
+      sha256 = "b03913e4962267c1dc8cd16416dcb2821c197dc3978a6823756880ee78826ca1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/lv/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/lv/firefox-104.0b7.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "c3eb24c88d0603ea569b521f2799378d566b47ad95f76642805e775e1ace95e5";
+      sha256 = "9c8e870f25884160167f513bae92ce073ef09c0a8fcb544f135c57a83f68fe85";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/mk/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/mk/firefox-104.0b7.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "32e433474f887a44bc5d507d0e00b3e3a09900528c88128193ad3ac19f46fd87";
+      sha256 = "1afc931626c1a732bbbaa6a83afa927fc918f44055bf0250a993786422cc0bfa";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/mr/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/mr/firefox-104.0b7.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "6b3064957cecf8a7c276c5becf6f75649c198ec71a106e85aa98668a6feece7c";
+      sha256 = "d8c323b23d3dffde46e6ea71bc6f8b90f3d9c794063fb7ee0db94394cb8f8f97";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/ms/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/ms/firefox-104.0b7.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "78fd908ee2fa8df601b239db3cb6e95adf0b136f6fad667023adfbf984efe278";
+      sha256 = "63f07d68543d38f97979b7044abe0ed3664f22df1804beab77f27f71ca228447";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/my/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/my/firefox-104.0b7.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "90b07ced994c32e2540d5b6509e48237edb4e705ad356b77b677fb3b231f6b8a";
+      sha256 = "c293f413290a9c9d43fc46f08e2848608c2bf5cebda98c031347b335a96330c0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/nb-NO/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/nb-NO/firefox-104.0b7.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "71029afb27d778dc0b59bd60ffb933b2e2d6f6a83b343c160d20fa83f68f587e";
+      sha256 = "cac3bb2bdf6f46e2a2f0afd85d4a8782b6072204f5cb4456964f004d3a7c17cb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/ne-NP/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/ne-NP/firefox-104.0b7.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "585ac065ade8a7757f6d5b89a0cd35331e0c7b86a0a1fee013146c41c48d22d8";
+      sha256 = "fee892f2aed6af5c5429831c14096010a47d2abe2db243662965385deb1bedc5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/nl/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/nl/firefox-104.0b7.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "f5903750c5fa504367480d97f784c6731694daf3c5d221db5eaa85bfde2b63a3";
+      sha256 = "752052b608b994b83c3bf2fce4499c3438650690d26c90693fa44cea94b70f0b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/nn-NO/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/nn-NO/firefox-104.0b7.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "e6362a32ec0c828ac8737cc20aa5438a8338950950efdc017f4138066f53da2e";
+      sha256 = "25345269a7053cd9886c3a70420c5572f45df7caa24eb7d963ac11369c55896e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/oc/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/oc/firefox-104.0b7.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "05c0b3a1cd5889aa06adc765e560ccd9f6e5bab12114d991503fbd980eb4107a";
+      sha256 = "58a605b62089384363054028b23d1828c3fcb18f16c5da08807a9b8442732dcc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/pa-IN/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/pa-IN/firefox-104.0b7.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "a1b00c34e4757d759ac4f75969745938dd1d795fa1ad67664dffa16022fbf742";
+      sha256 = "5c8055524dac1bd0d78cb77fc8db2af6e137b3c725c4252232feb0ab6a1dbd1c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/pl/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/pl/firefox-104.0b7.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "7ae3990f66c67841e9762f5a5e9851d8af145a451d75b5d830ad4507f5656676";
+      sha256 = "c25fd4e8f824e9e6ea6ec9f8654e046fb5bb17d5820672302c53e35e73b297f5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/pt-BR/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/pt-BR/firefox-104.0b7.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "4a8c1c62db1f460f0e00ce780d1b34b855b5a3e4794197bc034c78f164280504";
+      sha256 = "71d31b454b46394944725733b84b49c545f99ac310c058250e14b6787b226e18";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/pt-PT/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/pt-PT/firefox-104.0b7.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "d582123ba012aa3a698956f8b4231c68019428110bd4091631b5013dcd9de585";
+      sha256 = "a3823bdc1769e107dfad12529b705e3c1645b6c073df80e7d73aa0ee9c6a06f6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/rm/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/rm/firefox-104.0b7.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "5e882803a9fad758cebdd7107e887af7104d5ac41547ebfcaaab2257104e3693";
+      sha256 = "c7e5f547d0a50bbf9bc29050922b41990302919656e54b448fbae92b6dbfc08c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/ro/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/ro/firefox-104.0b7.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "55ecb2e0add169130161d9467b0fdff1e3533b98f52ee863d349d25a4e35fbf3";
+      sha256 = "3cfb212546e44bb4c9c64b169edd1239007362f146cd96ade0356b0891bcdf23";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/ru/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/ru/firefox-104.0b7.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "92e33625e6b182c294df91c25d457c5bd8022056b5632342f0ce97cf399730af";
+      sha256 = "1b72982e2bfdd66776366e3f7e32e5ec65e2e57125f0f17c3d53087720d8f13b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/sco/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/sco/firefox-104.0b7.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "35275dce3a1dec1ee4d9bbbb28da69e9a4a77976f810d429ebd68141d1b51f67";
+      sha256 = "408e66653cc8f550c31a2760ee36299613d5dcf95027acb9f2f7df75503ec8bb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/si/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/si/firefox-104.0b7.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "7095d7b90531e81e3fa707d6479d6e96748f8a843d3ca1c58bdc7d7ca5179f01";
+      sha256 = "b7806c3e71c9dd27cd90a4ba5bc7b12fecc77c0808af2826153989cb1bd40b04";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/sk/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/sk/firefox-104.0b7.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "6dc069bba78e5e5b3745158731194bcccc230267d59145bfad574bf1b55d7806";
+      sha256 = "21cdaed6c15a3d00a8ac774d86cb1ae088f8812b6a0cd864df4ab89bc7d0d98d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/sl/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/sl/firefox-104.0b7.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "1c495bb7036a88e004df0db4ccb4d4dbe5ae7d2e05a7125588fc1424e9b1827f";
+      sha256 = "41d128459cda4ffa252014d34977eed5f1f1a3a4f445177dc7ccd486a94ffd89";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/son/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/son/firefox-104.0b7.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "21e5d0db6d7af47f10a8acbd9c98baf5ed496ccc248310d605ad8815a3695150";
+      sha256 = "b879ddf33a8c7be027a923fe9a3d3221fe4bd88e1d4bf9dd3e11844612b48883";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/sq/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/sq/firefox-104.0b7.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "ee3719250ad18ed22f6c5169559fe7e3ae83fc0796a930bc65bce57c17e077aa";
+      sha256 = "ba4b77291f499b79bafc0250b17edffb93942e6393526007b5a67364091893f0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/sr/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/sr/firefox-104.0b7.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "95430d54f716e916e8e744df3be8bc9131241e30324b616d68cbd1507e9dfd1a";
+      sha256 = "1da4f9e84bcbae7b73e66a9520d179221280d7aca4792895f7e14be568425d48";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/sv-SE/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/sv-SE/firefox-104.0b7.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "977998e5a77294ad611bea83cc0a1f655d54f138bc19bdffe1b9bb20c3fe7026";
+      sha256 = "5ad9dcec171689f6a586b65269a4094879e2fba8494b8f68c41de3958324f8d0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/szl/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/szl/firefox-104.0b7.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "f8049f987b24d187de4a444946063ebdd26f4d09ba2773194628ae5f223a2abf";
+      sha256 = "bc74b0038e6481610594878ec7b8bdb6fc10fcb044c21fa104230e386743631c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/ta/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/ta/firefox-104.0b7.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "960ba9bc8901b596430c5258193c7bd3e3cc5fe43a875e3e7523c268fa04e44b";
+      sha256 = "4386d2cb98d05dd94ae7d22cc033e9a53cc9beddf795dfb66981a3f5085f1107";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/te/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/te/firefox-104.0b7.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "96d2f52e56c0fd95001ddbd72c9266bad176142c910c4e101b5dc29f8c698951";
+      sha256 = "314eddb25baf468b3eeb8e290f30293d30079924fcf42436f19966a94a8a1438";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/th/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/th/firefox-104.0b7.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "644e66102f1b7b2a762028a1c2e7523d8053c3bc03c10612c64d80dbf0eff14d";
+      sha256 = "20782a4079ffe6d3b26017542b6bb988b65335555e9672653b32081245e8b595";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/tl/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/tl/firefox-104.0b7.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "4970014ced5513ed0f20418ed7c1155552b113f2407f0652f297611f58bc8e25";
+      sha256 = "9fbf729d12f5b0e5dee67cdd808ed40b28c0e5e8dc6c9c68cc6c5f7aca34176f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/tr/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/tr/firefox-104.0b7.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "cd8b439d5dd63f9b61f191423a909557b991c73c8bc11a6b248b33b556fb9c66";
+      sha256 = "ee3ddac16b5966e37b02eb8a330f03fd59c034d07a8fdce5f8539bdffcee34ba";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/trs/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/trs/firefox-104.0b7.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "6dcced8e30683a195640151b896d164260988239cf95929ba3004ac3414475db";
+      sha256 = "56f75b8fbfcc32222f969d9eae2ce9e8979a31f923d7e26c92ffd2487151297d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/uk/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/uk/firefox-104.0b7.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "8fd2e695a93925be29fde7c9c3701ab73100351ac755377b716f9c2c21608bb2";
+      sha256 = "16789e8d01284c2fd8660205b8abfa797319f5c23fe48de423ee42588285e45a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/ur/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/ur/firefox-104.0b7.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "a2abd79fc8c400e18747ca7a1877a1a8f80425e5ed9fa4708c1707ec36b2c8ac";
+      sha256 = "8feaf5fa1a1c3a7eae3db731b7262abaf78576b1c37d97564bf3e45c3e7e8ba4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/uz/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/uz/firefox-104.0b7.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "5a1ec309d4576a23a990900d6e7c5ec18f62d62124458d98f95c9b80ffd363a3";
+      sha256 = "2f1a7b634bf9ddc6db396c799e98fc408ad3b5d8e1dda0f4a149d48af08325e7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/vi/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/vi/firefox-104.0b7.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "78aec2addf626105b52743ba1089acee3d160741251e3da120c56d96f5ba1f8f";
+      sha256 = "ccef1f172cc2170a2d96a34380a14b146533414e9421b1c04cded141b199b3a9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/xh/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/xh/firefox-104.0b7.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "973bf97f2a1c502d091a680493ab30ed1a71524f44afa50ae8e2e17b98c6a80f";
+      sha256 = "7841221ce073dd3557454c0b1ec107dccac9af9efb920d9f63b878eaeeab9170";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/zh-CN/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/zh-CN/firefox-104.0b7.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "5ac7c0f677f0916d40080aa2481226e0611d3448d53890e9e8c3f16bef93d2e8";
+      sha256 = "39074fc90590686902434146bb0d2e8b6b79862961e368faf1f669d0fdf63614";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-x86_64/zh-TW/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-x86_64/zh-TW/firefox-104.0b7.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "0cc9bd9a97e2a6e70574b0e74c738efd3a7787460e27493473dd401b5d82a5f4";
+      sha256 = "8d576d5b997bb7a38fbe2b4b636bf6b62b8699f17f2843093167b41eba4bb25a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/ach/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/ach/firefox-104.0b7.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "115e7340cc3f117f953a18328726a53993e5e14b417ed437c62ff92d55932996";
+      sha256 = "c5fb0c68f29144d17094766cdfbbf08fcc0db7968be2df66cd5f7610b73d26e4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/af/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/af/firefox-104.0b7.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "bae4d8ba0a1a0291239800648fc4724dd040e9028ddc98235c97a44acefc322d";
+      sha256 = "49241e83e0cc1f204eb9417e0005b29402931c209df1d95a90dc847a0a1e9eed";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/an/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/an/firefox-104.0b7.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "72af9eb1f1813cf610a515f03888e8450c7011414cf23485e6841a5d780a0af1";
+      sha256 = "ce14d78d18b8a66bc30453e7f7cb82d2bb373c7f7f132c4c0ac90fb52d37f64c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/ar/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/ar/firefox-104.0b7.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "89b0051f2bba95111ae993da897db651c26a226674b8aef385396754b3c0bcfd";
+      sha256 = "ecb90394a735f2e7a0b376326647f19d0ff269de79d4b1f20c4fe9299566dea2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/ast/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/ast/firefox-104.0b7.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "1d991caf5343cb21b0b680d27cdb6a2e5a9fd95e399b4677c9051e8ff82fcd88";
+      sha256 = "f0f5c82b14cddb90969ca0105b13797248fd6593c80e8e7fa67b3b484f415830";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/az/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/az/firefox-104.0b7.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "df6c071df6fecd3825ef9d88cee75a53aabed778b9ee7ed84c306a0e4e3b46d1";
+      sha256 = "63c4dd31b05c96d18478e481c08dd4d7068e510a6e10407f50ecb2163638b99e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/be/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/be/firefox-104.0b7.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "8e310b585fa44612c71c30413c7f2697c728549c9de2a0d549e0094dccde72c3";
+      sha256 = "725fac145a220b9257f76b0cd4b75305aaba9a0560b6f5daad5c577bdc494222";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/bg/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/bg/firefox-104.0b7.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "8ab0f94d40a32c976b19aed1eedfea796ebc7abea6c9d53cf09e9afb7d9aacf5";
+      sha256 = "67b5bf06c9c8403255b5eb6e8635eb681bf9c2cb139acc5bd498a364e3c51b63";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/bn/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/bn/firefox-104.0b7.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "e3ac959ed71670a9ea0137e08be08a10946b0c6893e42c5697a985011b7114a6";
+      sha256 = "7f328d6af6e91b2b8d51cfa1bff85534cf8e4f3953ee357c61e56b89c14c7dea";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/br/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/br/firefox-104.0b7.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "3943e869614a9c8e018de293d37ad66ca956880c12372faeb9eec6df9bc8afef";
+      sha256 = "1083b2629ce457c9530876e94df4a637c604e216f91d7a23368f6576bbfc0600";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/bs/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/bs/firefox-104.0b7.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "66be85bbccad1716a786149216e95fa5c30260733386e6899ffc58030ef09235";
+      sha256 = "c491ca391ec734e42eae303f864eebd9132d25a9495626f30c7835056f4d31db";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/ca-valencia/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/ca-valencia/firefox-104.0b7.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "ee31d8bcea14f15502c7c72f62c8239ef53dceb489be2a2c2305a2f7c4eb320f";
+      sha256 = "b19acbfba61ef43fa28a473f0af9a14f07870d1cff04b70b21ecf5a9a19bef26";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/ca/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/ca/firefox-104.0b7.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "71ce2b4088d7db1a2e083a55c05f1c34cc794f5138deb3bd694c384d50336f59";
+      sha256 = "5f34772e9869787cfffd17c99d91bf556c18e2b2341a25b865863451cd63a5ea";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/cak/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/cak/firefox-104.0b7.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "232d277ba101756cd2a6feccf37f3fdba0c317c61894d8c167d28bcb31650adb";
+      sha256 = "8be118d3dbaeb301b9322962dcd099b0052e27668d5b066c360d9d586fa97602";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/cs/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/cs/firefox-104.0b7.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "3d89e4f883fb8c53d4d2fea58400cae52ee4b8e97d22a0f241d8c2b962742fb2";
+      sha256 = "130b7554c268ed5774ab277dcc17c782a192a65d97a143844d9fb5a42719aa28";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/cy/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/cy/firefox-104.0b7.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "c4398262f9477396163c9171855d5c08cd6d91088341e011e83c0812eb84a6aa";
+      sha256 = "c8a8104689052d2ab08e7f012e1cacb81ce6b162a1289a6b51863b175248fbda";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/da/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/da/firefox-104.0b7.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "b18a6a787a2b490f390bda39f53d1fa56d2fd99e75d6a54f63b7b03c50d1c4df";
+      sha256 = "802fe1fbc426b2c3ceb4ceffae265fd554684e9316d879bc832f331ec6090e59";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/de/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/de/firefox-104.0b7.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "397343a929595db6cae72979100120ae92bc6381e8d23c08bb698dd742267d46";
+      sha256 = "1749ceff5a2cf10e6e8faced87dcec698f39a4120fdfa83102de6dd780e5ab39";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/dsb/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/dsb/firefox-104.0b7.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "f9502210529bd09b95a5a4d9f6d5d062037278629355c4ea127274802a5130e7";
+      sha256 = "1de6223ffa7f9471bfa22947e3c96d8e0ec4e5ca3828365d888f873871fcb751";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/el/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/el/firefox-104.0b7.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "1e9885b8bca40351a95697fb22eadcf90324acc6a1508e6c5f36d774712cd97e";
+      sha256 = "5ed6c997de32ce3346cb86f177030e9ea980a7b0e23b36fdc7d4b7f02dacf75d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/en-CA/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/en-CA/firefox-104.0b7.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "b4330a47b5c574f9947411bcafb4abccfbb5457467cb4d8151099fada9433904";
+      sha256 = "173ca01e99979539cf8077ea45e9701794ca574e14a075db245a4c8531fdd31f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/en-GB/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/en-GB/firefox-104.0b7.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "3f8e145dc4f2375f22d0dbb4b4ae20756e3e02098db644009da356202b19e9fe";
+      sha256 = "7090ad7f5bb89d68fe2f1658c141863960cf4ef142d794492133afdf7b3343de";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/en-US/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/en-US/firefox-104.0b7.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "a77789a0f00f9ce09d303c4be4b9dffe8005b2ee9d1030596adc05dd8c33d246";
+      sha256 = "287eef842bfea628cbef70d83d36c0f8c66bb3cb87203a4395ce2b9f91918210";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/eo/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/eo/firefox-104.0b7.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "c230995083f4f95dc78a3629afaad2c1e94ca54f22a6e41ef1dd70675ad68d3f";
+      sha256 = "e3caf972377b5f43dd2be7b234cb6f63a445bf4e53764fa154b1b6e1527592af";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/es-AR/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/es-AR/firefox-104.0b7.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "6c684e9ff9fa8d639defbafcfbc4d179de2662fde55d0751618f88768eff784d";
+      sha256 = "d62095676ce1644aa5a9c7fb235c35790ed6e69a678e8ee4eee40d619cc51ff2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/es-CL/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/es-CL/firefox-104.0b7.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "f47b6356405fcdd76291a05230b156cccc6a849dfdc4d97f90f76ebaf1d7f9cf";
+      sha256 = "0c3a1ad277380d484b99fe8702313721811dd52829e185ef766c09955f3c5ff3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/es-ES/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/es-ES/firefox-104.0b7.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "591dfb7849d97ebf387d9fa04cb2b80974f8659f4a913be2df53ff92a20d901a";
+      sha256 = "9d18c93c65d430cf2e2d97236ae5f3c4256696eefbf6b9de27b59b32e6875ecc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/es-MX/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/es-MX/firefox-104.0b7.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "ca034e7aea5700289c42aff8a3c5fd44df0dea208d0ba2cb05c2f3654c12acd6";
+      sha256 = "1f7a2d1f8b5e2650ca0941d850882ac1ef6d4e6c3938c0bfb964f392ba2d5665";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/et/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/et/firefox-104.0b7.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "b5dd9c6650769bc679a2d37da823421f4d7ae307eb5a3e3e7fec16c0c24c012e";
+      sha256 = "560d4b5def2e3866d6d593e368b8bd1ab524459242c0e693402fd70dcc7225a9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/eu/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/eu/firefox-104.0b7.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "dc545792b4055aa5ba36677de77265c637638d11ecaf38a96facea1afeebefe9";
+      sha256 = "d819fb28cea8c3eae4d6fde2fcdd8de0fb157608cf7e44f4e0051c6ceb615dec";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/fa/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/fa/firefox-104.0b7.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "199990239c8f5d31224e4acab9c5238f402d157cb6482d52614e2e47208a2619";
+      sha256 = "cebf182f0587c8c5c754a7b2a41935632f6e34abf9eba52eb5db4f3301844364";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/ff/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/ff/firefox-104.0b7.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "33af0cc68a1b57f52c21c0a792f4e14fa465ce5c024b400d36a1be51cac2409d";
+      sha256 = "accc4d20b5b3c1a83d18a39be292ceb3d448687f791157e12bc23d788f793fe0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/fi/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/fi/firefox-104.0b7.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "bae631ca152308cb9abcf5672a75fb5558ab0ea61b77f9f82e1a1abe0884631e";
+      sha256 = "db2f6b81b70d758c03126eefe099ea1c7037484be884401c23b667de1f472867";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/fr/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/fr/firefox-104.0b7.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "2216296bf9885fb9a24d784bd88dc8422b0772baf1b4183d1be5aea4c8d68598";
+      sha256 = "7f47837be324f0c868b7e19263a5ad220fb2292cc791a8a8246153e8fdf83d25";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/fy-NL/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/fy-NL/firefox-104.0b7.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "0a865e90a56f37860fb647bb3a01f8e640fed66845df993450608feafae436f0";
+      sha256 = "dd86ac43630a66572d70a5d1462e56a28e1706504dad06346acebe1e8bc55a06";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/ga-IE/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/ga-IE/firefox-104.0b7.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "dbd7b1813dad025b46b8f50e2b62c40e54cd74df6cf063f5a47de94b84cd4703";
+      sha256 = "5b05a9fee5a6bc3dc2c3bda47dbccaae4040efe1bc2c1f2f79bcd47deba295b0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/gd/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/gd/firefox-104.0b7.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "f47b4fcd37444b457c4a78cbe8ffd9c362eef5a409fb8d81c951cfa20378450a";
+      sha256 = "5ed592c473c762b564ee1bbb7bd43316c11d574fa296ed73905ad22ce0e815f8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/gl/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/gl/firefox-104.0b7.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "7e2cde9d545a80fb3d7ab6b400235123aa4ac8c6c20756d478ab11c61d025d32";
+      sha256 = "9f05d18352cf9814c5c6d4e9e6cc6f9045476cc1b42841491dd0d09ea024c244";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/gn/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/gn/firefox-104.0b7.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "0058e21c55e7cd8e93ecba3af4231058d50e42dc0851244dc85ee5ebb7e9406e";
+      sha256 = "27ffbfb0c84498154e325421b779ab1b0f98ea635dbe6c108497d66542dd8ea2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/gu-IN/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/gu-IN/firefox-104.0b7.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "159822e43e49084722b135a50943dc8504215a1ab2c498cedf8d5a376e29b3c2";
+      sha256 = "aa12857a5387bbb1a15dc83dd091adaf9a2ded1e5e0c56f84d8207457455d785";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/he/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/he/firefox-104.0b7.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "51e2632840848fc23335bd4affa03d07fdab3049a512fdd797ca74c62d2fb386";
+      sha256 = "e84a7050a3f71f3999634425f71876f7450347816183ef5cc626259bd228b43e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/hi-IN/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/hi-IN/firefox-104.0b7.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "263196c8428f31644765910210c431f2d94d8ef8bdfe36eed0289e9731f052ab";
+      sha256 = "f6a85877ebb6f1772b2b11bc8f3bb3a885a34a04194aea6f3a71342ce9c1304d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/hr/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/hr/firefox-104.0b7.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "90b2178c61db5cdd6072a3f67079f20faa2e66a5d155ffe63c32bfe61d149c1d";
+      sha256 = "2cdf17bbecd55f50de8957b91aa6a04014b92afcfe05ebacf5c207b6853c5842";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/hsb/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/hsb/firefox-104.0b7.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "4ed8c373066fdf48761650845ba3533848dacc86d1ea84ba2013326e750dfa32";
+      sha256 = "e067de18bc6eec6268efbe4e5eac9ad90d46a122eab8bd7559c86f115e01785a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/hu/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/hu/firefox-104.0b7.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "fa3f9bb7a7f8570ee68d95526f007cca3de68f606b8730b4e2b239a65c061575";
+      sha256 = "35d6bb0c34ab0b91e6d659bd6f41bacc3b55ac7634f0155f247355ef3db0b2d0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/hy-AM/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/hy-AM/firefox-104.0b7.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "332b0020e8009b089c9c3afbf5e20f0f8c86db4c6059b2c49ee9becbb8ab9b3f";
+      sha256 = "3bb3bd913e994bdbf8c335aa7ca95f608bf73441a7bfcf45f3d8a189cf681dd5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/ia/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/ia/firefox-104.0b7.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "b980604063ce69876087fb52d705d056b56de9caa0dccf0eee742b8d2348256f";
+      sha256 = "392f477fddaede5225a84dc320f752b58f887c289cdd14feba8334fd1aa4620d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/id/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/id/firefox-104.0b7.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "326f133122f581638d04cd772e9a7d8f1c48608c0f28a745856b5de8aad6d389";
+      sha256 = "c537cf21f9dd446ce0d46b2aa58a5934b6300ad4ccfc24f1b42b385348eae31b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/is/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/is/firefox-104.0b7.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "4737af7ba15c03e06749cb4297f2d05f3536822926e9e074b4ab8fa7716d8098";
+      sha256 = "2d0b7192df82b4ef9d6afc038e392ef5778a1d72a4c98da956d14170954fcd17";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/it/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/it/firefox-104.0b7.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "8d057d0f60ba4ba522d3d4ad06ac4b26808aa42f4ca4abcb2481db92bdc88591";
+      sha256 = "a251e0e96dd2d3c0ad86b80502724ae8820585402feaf8dafcbde8fd0a9a72c3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/ja/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/ja/firefox-104.0b7.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "074b76c62cd0fa27bd7093ebfc34ddd4c0677e1a4d2aaf52da392cee29293c8f";
+      sha256 = "71ebd086b0d2f5309688f9134b4241dfae95f4de1845d4e847c44dc6f235d59f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/ka/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/ka/firefox-104.0b7.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "688eee17b56fe8e36af02d0edb21927f9715709ddd37170d9466a5c31bb59c10";
+      sha256 = "ea6eef7ee3d83d31f61aa51a1b3df6f6ad70c92f59a1bbb3611c232c18061818";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/kab/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/kab/firefox-104.0b7.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "d613ea711a9a39ed6cf1d2d979686b75afcb065ea12a2545312453519a8b3bfc";
+      sha256 = "4db31c6c9399ca7003d9869f66c9752f9680d8ad50d5af3278400405d2943483";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/kk/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/kk/firefox-104.0b7.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "802ba255e599098ba25ad232523cc128549c80fb5acad2f6b549e146c38ce92f";
+      sha256 = "846e0d71815f9b57f850ce5e6b16e0e798fdca69566d5023126ff31faf50e897";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/km/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/km/firefox-104.0b7.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "1ccf35f4abc42a00de61adffc36f1da4e2202ee76e64a6b7b582ab5c7730a5b0";
+      sha256 = "0a9ff6cb848b8ebea1a85c49287517ad5e638081d6a98fb5b127d44fb3a74a35";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/kn/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/kn/firefox-104.0b7.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "2bea3b3fbcc642d29c10e76ac61eed0ae03bfdf5dc7e39592e543c56d32249f9";
+      sha256 = "736b480e20437b45f3f6b3d5a9383d00b661fd46f0d1f13c957e09a0adc01df8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/ko/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/ko/firefox-104.0b7.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "dd61a7a3f1e56cd88efb6452c3658226df18c510ea6000ed57095a8a146fa03c";
+      sha256 = "f6d8278a705fc9eb2a92ced96ca43df615c41f92cbf8091af49daaf929130e5e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/lij/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/lij/firefox-104.0b7.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "3b807030b19c0114db587cbd54861fafbdb8c96680d60c98c27e7b2364aef479";
+      sha256 = "95c26a33938d1b3cb7bd2da7e3397b366ca3059a3b8648e2a466855cd71db321";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/lt/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/lt/firefox-104.0b7.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "bdab63d7bbccef91658f518c64b4a9f0e536c5a4d04526b9ec1c02db04894b6e";
+      sha256 = "466193fd3373f60edf2f5a24a3a9273286560824aa2a350dd407a3f836465f56";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/lv/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/lv/firefox-104.0b7.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "e9229cd4947e64f7b9fc998265343e16ef619e9397ea0a1bfed8c89d432832e8";
+      sha256 = "2ffc9bfb18b627031be14bc9b4465fc91112035c379592face1bc8c2fa7e3679";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/mk/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/mk/firefox-104.0b7.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "0cb2810c674b5301b7a7120a2872ec1b8da25fb1fa6393fe727efb984a65f24f";
+      sha256 = "dacb3d6568ea81d7702fd1845f2db1c05f64f130c7a39ced62429fd31cfbb377";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/mr/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/mr/firefox-104.0b7.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "c783abee63b10e31a186f5c8957929c5cc476925142b2c2747f48d304db80157";
+      sha256 = "19a2415576e3eb77d992d112db55f6f9e8ac5d0ddb3e9e2f4497a1d8f7089cb5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/ms/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/ms/firefox-104.0b7.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "7ac0d5a34c8ee97d0ca5a596964af50e3d053097b941bfaa9246b50d359757f7";
+      sha256 = "52e8c5669d72a0d4701170e3430080d5c34badd83dd5a9171478e9d89e1bb6d7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/my/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/my/firefox-104.0b7.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "7865d44bb390babeb4ba073cb588aea14c8ee61235f283b94e856b9ca7d15b82";
+      sha256 = "1f4746453e75d606e58357be7dcf1a051252e97d78acfd89c695c6d231b1815c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/nb-NO/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/nb-NO/firefox-104.0b7.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "4fe7547204ba3e189aa4c4926e7a1f8dc96ebdb4ad779785710eafbae896f2c8";
+      sha256 = "113afc1141d8b9e4f965ffa8723431c852f3813cf70911b6aa79414b3bc15f22";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/ne-NP/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/ne-NP/firefox-104.0b7.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "20fd4e6f6ee40d2301916c1d38b69cea6ee4182b4d2510bfe4893ffe7e452d6c";
+      sha256 = "733491e33bf399735e3e4d828a2e059390466105414a5cd5e546ab600ba88e7c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/nl/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/nl/firefox-104.0b7.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "79272e3b5ad5f3007729655e5905063043fb4cc732e21f1e0635954e3ff6cd66";
+      sha256 = "55fed7c91a3730aa076ac7bfa613e2a204ba680d28a3eb9e28c82589171f5144";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/nn-NO/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/nn-NO/firefox-104.0b7.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "06fe27c09061e45551b4649d80862613b8a382070b82ca72087574105ac800dd";
+      sha256 = "a6c1fab17f5c09ad1e2c65c85e1616596524952c826980dff035612b97caddc4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/oc/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/oc/firefox-104.0b7.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "15a6e761a45775fb60f9e11ab1fd804b8e867472f7d7655c877d63a46ad17807";
+      sha256 = "1a0755981baa9fe75c1f02dd1e0b1e7cb39dff2c7e754d6f5dbb54f8d58319e2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/pa-IN/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/pa-IN/firefox-104.0b7.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "127f7ec50ccbf24d0cc0e1678e8c2e6b576d8147e7a202a41463c292d0491bc9";
+      sha256 = "e5af52012f9169482f8b8176b18e5ecdf929dda7884a47a7d56781f031a367c2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/pl/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/pl/firefox-104.0b7.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "e7a2ca16e451a8af1a2b57951b3c3883b83577f58c1cd64090590d4a37409d0b";
+      sha256 = "d7db5920749a62976be96cf0a1b81a3af1822754e672c1316ec9599e8bed7c7f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/pt-BR/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/pt-BR/firefox-104.0b7.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "7b3ddd753343b2279bc123d5d45adea9b85726ce4b8c687e7f63b8c5c375cb37";
+      sha256 = "798e8065f1cae64a92505a3df4e427e2676d6a1fbba5fe02708b06ec54c00c68";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/pt-PT/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/pt-PT/firefox-104.0b7.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "27df6ea79dcccfac45e014d295074f9f98e81ae87094ecab7faf1481e580a9d7";
+      sha256 = "cd3949f043c7b1816d092e3e1a8c18abe080b1bec2a41d7bb4d3b0247038fe90";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/rm/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/rm/firefox-104.0b7.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "cfb7c31ba3cd85f583b232d4e9f61439e02c7f76d01da5b6a801b50bd7f4cf1f";
+      sha256 = "7102fb9198ec09408b3935412ec478ea68577d1dea3cd7b45dee9db8e4e7dd52";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/ro/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/ro/firefox-104.0b7.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "5add3220c8381cfa5fe26d48cbc7155aa70345646923ecd022a7996f2bbf45b0";
+      sha256 = "a3c0fe0b751c9125c42bae466d0668dfb4ede83e3b9f09c2542c4dbce2e75c35";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/ru/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/ru/firefox-104.0b7.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "468c8560e15335632da0f07ec2cf23c95483e45a4863384dd78f68822ab55e99";
+      sha256 = "a87b1eaf6b16d7b6e7e75a2f404aa4bb8536b975c5bbb3f0037fb546388efde5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/sco/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/sco/firefox-104.0b7.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "3986cea68b6edf66ea32e983e988e7120c045ae8861a57fe6fe78e510dfd488a";
+      sha256 = "88cbdd5a21044a646acbcf58d048bd48ac64b1bb4731a57b4569ac3680d276d3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/si/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/si/firefox-104.0b7.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "0bdfa4be5dc7605298c134556d2f522e533e76d953df732862966645f856f4f6";
+      sha256 = "9a123240ff0499906cde5e9cf3458130c965ccdeb7ca9a45d147b33a568d40c1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/sk/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/sk/firefox-104.0b7.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "d2faf232b4bafa6e6b57e6ea8c9a84f0bbd2bbce54876e99cf2a9af46f7cb875";
+      sha256 = "b099016ed424ffe5c423f331a4ed4f729d79b4c8a962a25d2710f102b6df4213";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/sl/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/sl/firefox-104.0b7.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "5e5ccaf297549cf75db473a7033db4ab93135544709716a6fb4833ae331a2fa2";
+      sha256 = "c25de52d1c7f7e11ded668e98df40daefd8c3590bc31a1618d04f39c73c1023e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/son/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/son/firefox-104.0b7.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "ac0a6ac731b23348398cdbdcdabc57dd1382efbe3bf991634dc2deff136dae90";
+      sha256 = "b72c5a5ee7f2136903069fe94b3ffd8508650e52b96ca25093bd8b46fc7d9418";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/sq/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/sq/firefox-104.0b7.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "5a5c19c54cfd2cf2a72b7d8b05311ed02dcbd9abbda67c689a6d7cc5716432ab";
+      sha256 = "67a7e7d22f8db247f8278d0949b305a8842336b78fad05e9d9cf07a82a435591";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/sr/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/sr/firefox-104.0b7.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "bd399f4deeee560dfdc9145b8f4b92bc7dc5bfb735b9765ed3b4d094ff034af7";
+      sha256 = "48b0a7ca56f6616335a63b7f2b4726e76dc6d0fec587772a2ec8867e530d6331";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/sv-SE/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/sv-SE/firefox-104.0b7.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "70e2d38d92e62c46d9406cf8bf20c4a0d7c3df6145f4070cab2d5ff4f400a8b1";
+      sha256 = "eaf3f88dc9e8b541c43b09bce01097842eb7e6302e589751ffe41f63586a9bfa";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/szl/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/szl/firefox-104.0b7.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "1a1b977c56e546c6d9b9d35dc3ce03ee9dd14f6240441165a60a82b2514d5e9f";
+      sha256 = "e996a6419f4274b67bc1a1f9917c5ca8e15ac9ad5428bad82e495fbb1f3c794c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/ta/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/ta/firefox-104.0b7.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "cd642db72217804534178035fe0b6303786316dc5ff736a427be8861548e140c";
+      sha256 = "58c9724d8c547b4ed4949c0ddfa966e3d036e7621f6ff19e3222699a14b9905b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/te/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/te/firefox-104.0b7.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "7202fdb15c33deedade99120aa500b5cbbca88d6c8ea1b58ba0e92ac26358230";
+      sha256 = "f70f1337c005a6e262c76ebbc2f92e467765ff777ced3a0d2ee7d3318e0124f5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/th/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/th/firefox-104.0b7.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "13b009396a68105f0e161b4bbcce1d2a47be6c4ed83454a55d33d466b58e3175";
+      sha256 = "524916cf9f44f6d834c8212683a07b51f30c48033567e202f6cfeae788a243dc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/tl/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/tl/firefox-104.0b7.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "308b0045fea4517621db384ffaa6f54602d9a53a16f6a4fddc13e83bd77ccca3";
+      sha256 = "63cf78d2ab388095b7d981926d85b476c45335279df046d461ea8540a27e4fd0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/tr/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/tr/firefox-104.0b7.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "c2bf30591602ea7c05437cfe47d45f16d5ca43be78662dd2d4238c413c588af4";
+      sha256 = "0fce446d615d0274128cbad4876932bc0180d482f55927883acca05f9fc9c6d4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/trs/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/trs/firefox-104.0b7.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "dccf6b1de9a7532419efc0a26980607e25379ca903ab1c0d59d2e6e75ce396da";
+      sha256 = "0afdd96668b1243cffa233d570c7163870f04a7fb8e83b0e2025b5084415c886";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/uk/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/uk/firefox-104.0b7.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "1b59f22482c291eb19cea1d6041def19c37d01bb718b043b62bfbcdbf043b5a4";
+      sha256 = "dc1bb67430142b4fdeba493bd4b8a20b24d20b39a29c28b023e38102051b7b3b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/ur/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/ur/firefox-104.0b7.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "15efe5df3adbd02ea97e37c0c931b546ec73bfd9e24ff4519473fbde3c1ad397";
+      sha256 = "74bf8d4609afa8f5cc114bd18af5d4170112089baa8fe3850094e33484f7fa7a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/uz/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/uz/firefox-104.0b7.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "6442ce7bbc2a8e09469754bdfa9ff3a20333700424f352cff1a777a86ec71228";
+      sha256 = "2508ff1a9923d0a357b8d15e62dc846a5596d8075f45acbfd1bb94ba27c8cdcd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/vi/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/vi/firefox-104.0b7.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "c6b324b0ed07a6ebe49c69cfd674ad09d86097c50892b87b5378815650d184a4";
+      sha256 = "77cbc261a0dc08fc5381caa4b0045aba114f1aaa023719e25e5398fcc07b002d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/xh/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/xh/firefox-104.0b7.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "055142b462dc9d003815bf072c11120a93af4ebfce821d810a9eb5fc5f26e8a1";
+      sha256 = "3ccfc2f13036a73cb36cd2eefb119082eb81816c4b33f3062e1364e66ef52e70";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/zh-CN/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/zh-CN/firefox-104.0b7.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "3506b73be481e402e3199c8af7a3aeb8706e6e790518bde4f22f15d84c1843fa";
+      sha256 = "060c34d5922b4a84147a6218364b2299494a0a7c81d2f204678c756a79a9c35e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b4/linux-i686/zh-TW/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/104.0b7/linux-i686/zh-TW/firefox-104.0b7.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "21c300cdd30c03ebf4b6f62766e6154b8d539d589308017075a2d23363731324";
+      sha256 = "b355b25a35939f8602bac8e5d47b7b415c04e6c820e0622b00038f63e50c203d";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
index f410dd6a136..1108c7c8ee4 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
@@ -1,985 +1,985 @@
 {
-  version = "104.0b4";
+  version = "104.0b7";
   sources = [
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/ach/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/ach/firefox-104.0b7.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "9cdbaaebe2d64f05106883d173c25ff883df8dac2c87d98cc113ae5083c61d94";
+      sha256 = "3a29171e70a70f1a12c427068431d9af5380141dc2b0b46c0a1384a344239478";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/af/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/af/firefox-104.0b7.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "27334e3a11aa89ece00d8384d5e4b8f65cc95f5e6e7dcd419e351326485f1e39";
+      sha256 = "a02348bd6262df9b178304a40f65b2c94fd7934b23fcaf2159e197948c4c395c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/an/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/an/firefox-104.0b7.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "6207f96859c9c00696ee7f482b41deab54418f0989219e5fa579e39ffb410e10";
+      sha256 = "fcd4c3f8e7dd17c04184328f1ee9954eb43192d6c743f139efc3951a63e61e11";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/ar/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/ar/firefox-104.0b7.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "d0f5ad0b506e7bc8e3b2448862e8c1ab1d9a15d9cd40b63f2891974a23f2e9b3";
+      sha256 = "c4df6ba1eb15f4db92f5d7082fe6abd5d39a3fce7ab0cad3bedfbb75356b20a3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/ast/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/ast/firefox-104.0b7.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "e52b28bdc4908f9927273e5a27767a9b13fdda15a231b9d417fcbda6612c2067";
+      sha256 = "a6f6d9370ae5340d941d5702a8aba84646b7db1548ea5395bbccd09c7e4ea575";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/az/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/az/firefox-104.0b7.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "868f4c02cf840e28f36a234938865d5f28890cb5c38a24fade933edcfe3e572c";
+      sha256 = "a8cec8ff8cea8424dfdb42671639a808cdd14d1b38f9b728278df4c43633dd40";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/be/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/be/firefox-104.0b7.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "e74097b48e62d069494b6cb982afc4ab40f70e8d5f0e71de4db7bbef1f2dcc2d";
+      sha256 = "8d42f4283fc180100129ee56d29d263e672705e4edc86043c1f2cb6d6ed97feb";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/bg/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/bg/firefox-104.0b7.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "35942fc5b32058c0dab715424043e337ab17c8e55366554679cc1e6aa4ce9bdd";
+      sha256 = "87a01e4a9c399165f35e4506bb748c182c8deeb4684f01a118d9eb7c7f6b8d52";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/bn/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/bn/firefox-104.0b7.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "7c8475204b024ee1c089fdad16e8218783144c9c154417f1cb72ccd4cef985a0";
+      sha256 = "af280cad4185cc02b9c2ad6462cbd90e2a0e5087f8506f60db38485027ab2d20";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/br/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/br/firefox-104.0b7.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "2bdab0d8eb41af2281618db970f2ecc4f83fd9510db2a0b72f6b68e39050e9fe";
+      sha256 = "b34d9c8b22f33e30c5542583f26f3c4d27552e553cf07e815b380e176e4bbdb1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/bs/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/bs/firefox-104.0b7.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "a4fe6569c0787b9192bda4afaf294cfde8bccdf62d48e69a4153862233870678";
+      sha256 = "78533ee9c1a9d3faabe25b3e913ec84e5e80dbe0f1ceefe085293192483ddff7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/ca-valencia/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/ca-valencia/firefox-104.0b7.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "8af18e7124b65583a776a6078dcf70a254578b3b82bd2acf4ce80935770302d3";
+      sha256 = "08df1041cabc316fbdec50c8d14a8eaf2d4cba46e539bdc5d8059849923e95cc";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/ca/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/ca/firefox-104.0b7.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "5aa204b109267c747d4a39a0dee927834077bc427aac77d9334007bd1a9ae9f2";
+      sha256 = "6eccaf9ec8861e418ffc8d42a0dd478f639eb5191c96dc81979f1b82c98b466f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/cak/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/cak/firefox-104.0b7.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "0ac58b56acd15bcc5a2f425808fe276e06ce9950c026a879202375ca7133d8c3";
+      sha256 = "c2368464639d26844eee07e47a4932a12b9056bfaa0440b639d41e6e00fdc93d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/cs/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/cs/firefox-104.0b7.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "fce41851ab935f2e028a1ec1d3b61f3f48751dc2e9c9918182c0d18f89c9d337";
+      sha256 = "022e1a2193dd58c3ff4b9d7a4bcb44fcde00d141c05d7df52512174ab58403c8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/cy/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/cy/firefox-104.0b7.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "b91ca257c915fa4e5cad46709525aef7714a6e8b1e34e42b41dc58d9f36f0f25";
+      sha256 = "f01222faa41004895b1224df1f2addb5b1437ebf695f4958a222245048ec8a0c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/da/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/da/firefox-104.0b7.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "cf28b22ee077fc1ad2bd2e2e14b7f67aefb1b0eae100d9d9ee677ca8b3493ac5";
+      sha256 = "89d31342a8c2a1b4420e3870b86248dd33a640b0d29107bb0110c2a779c5f029";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/de/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/de/firefox-104.0b7.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "3361cc509d2b9321403510cf53a1e0b191a7f22fff0ce4d3f3e6edcf3888111f";
+      sha256 = "aede8b82918d04fd6850d4f376e3c623fd4063c2a3ec4bbe53708305263fe707";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/dsb/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/dsb/firefox-104.0b7.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "1a1916feea6ff9eb25f58e052b619c4627ecf26cb4e256e40c70cb90ca49c75b";
+      sha256 = "d311bd27222a2e23a48b6d2e20b9e8fa0bccf2b90082b9f58cc386744638ea89";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/el/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/el/firefox-104.0b7.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "229cff788f98bdfb4d5c308d7eeb67b8c4a2232de3e7521d64f6e9a51d407be9";
+      sha256 = "8e5234f267d505d2d60c694dac7c6377a368bb8b1459783c03cbce171e220526";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/en-CA/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/en-CA/firefox-104.0b7.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "f9c3046d2e22ca751600aab6139871fadbbb1a0dfb75dc66cb7eac90e6358c5b";
+      sha256 = "654f6a7134460414a971fb1b4d0ee45d793d39af8d24bbdd0f49b34c4f9c4bbe";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/en-GB/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/en-GB/firefox-104.0b7.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "0329fe18d75e44ade610d6e08991387276b56aaa23f53dc44beb84d02ef24657";
+      sha256 = "40277694f96a35b7fd0fecab0acb0dce416612e7347d38326ecb2638eb9bfc22";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/en-US/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/en-US/firefox-104.0b7.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "f82c651f50ca9be8edef681cac26908b9edffa4b5a5d9deb86c88a03876b594d";
+      sha256 = "80317c68a8ce5a5a06d3dd9fd44445529172ab9ebf4711a29bd990a5f5c44838";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/eo/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/eo/firefox-104.0b7.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "30551e69414f0e3f8a8e07fcbee3c1b42d3571d012df7f87345bcbc0f6a08cb8";
+      sha256 = "0435673da58e5f090de0d8a4a92abfbeb4f5d30f5daa7bd1a457fba05a4e95a6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/es-AR/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/es-AR/firefox-104.0b7.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "43164387874bc15a55d11504ab54a600c893a0ba9fe47e967d2d3b8f859bf534";
+      sha256 = "911dae749d3cfd83a960290bab71548d6119941acbeecf2739acc78f04a090ea";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/es-CL/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/es-CL/firefox-104.0b7.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "bd58e16f6b93b71461b696725d257bc451ff932743383f1719f2a0b9db203d5d";
+      sha256 = "e846a837bae039889dbbc739f0231c211d2947023adac42a5b9b6aaadfd5754a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/es-ES/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/es-ES/firefox-104.0b7.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "77ce2be9429f302ec6f2e1d4e73c56ae65610ebbd2e082e309dca8e6bf11d0db";
+      sha256 = "2d23acc854d247185c13d31fabc937015b5d850af4d698d39543b8f7d0e0b4e9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/es-MX/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/es-MX/firefox-104.0b7.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "3c872863aef427424a86534853023b4f7df07aa9b9f2a4d919e80aa76025f0f9";
+      sha256 = "0707763b95490992a6dfbe6d9ffca5d425772a66bf99a93dc109b7635efeedf2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/et/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/et/firefox-104.0b7.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "f4d0f2553ce8d2238b375d680bd62be31b863df445fc0bc21d70fe808c95f84d";
+      sha256 = "7d439633385e0ac8023efd89eb6a404d0b772776f39d4d2fad5550837899c3c3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/eu/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/eu/firefox-104.0b7.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "9fb9694e14ddda80db6f22ab65954fa00fda78263a87ace8f30b31a38c83ad34";
+      sha256 = "bf72da2439739d638d5d3682ae08651cb9bf75eea51f98eeadec44721ee275b7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/fa/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/fa/firefox-104.0b7.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "442db6c7001d81f42550656197bf334bb8218a6f406fc3577db4dc0a79a1d349";
+      sha256 = "8c4fbdd82fcc27a5f3a4a97dafe322a83d4590b26b6234787f4049ac5b25a4ee";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/ff/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/ff/firefox-104.0b7.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "86c5860c7fb6a756fc5ccfb3eadecaefcf3d7f0acfd2ae301621a73822e3d0f7";
+      sha256 = "1b946484c23f2d9f8db5c950addc83662e530e7c3ff5fa46dbef88cfa36a1173";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/fi/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/fi/firefox-104.0b7.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "c7638a459d26b518183813306d4f87724c20764e0c1187a9db6d0f67f918f6c0";
+      sha256 = "2f66e87d3e77d4d09efca3b6b0717fab0cc93a1d8dc3d59faf53a1fbdf63cc92";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/fr/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/fr/firefox-104.0b7.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "bfec7745e38a34fa439a4e3cd64a46913c63f600446c4ca3fdb398c9e0f5037a";
+      sha256 = "9bcaa9e6f051adf34f021009404caa4fbeb86f3730f82ea4d9ebb9c799a95879";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/fy-NL/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/fy-NL/firefox-104.0b7.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "92d1901100a5e94e218452828f9d4b8b6c4b8570c05660bd27d3ab5caa63c702";
+      sha256 = "5c2fff71d3f21d5aa4b08a0833904b4141fd692dc174bce4bf3b2865f01de859";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/ga-IE/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/ga-IE/firefox-104.0b7.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "44eb74306d1665a2f85fc27c0cb17ddba67c5b296365bdbadd41a58d30fcda44";
+      sha256 = "acbd119564330d114a4b897fb8f0a50713dfd047015ce65e2cdd24e7f41069df";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/gd/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/gd/firefox-104.0b7.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "2b1ddcc403f2f432fb8fe37d14fa2ddcdc82b7545a80f0331850eb36c7da17af";
+      sha256 = "34e279d036269fce44d356e52d6c7e0b80a9331121513be9c02539f904a47db6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/gl/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/gl/firefox-104.0b7.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "f97d72b1afe2a62315879e2ff35ec4ca3a92671c4bffe36d5cdf7e3d8194cb08";
+      sha256 = "75b7ec3c7e88204f64f3b062360bebaacecacb1de97ebc06f6a7b5ac40f842ca";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/gn/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/gn/firefox-104.0b7.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "c5885750133329552b7e5980829a30c43c0e97fab7455a365c4e1e6ded97cba7";
+      sha256 = "9594237a4d117cd31ab2b73aa3ebb0b4ed66db2d45eb69f0025fb9f86b0b8dd1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/gu-IN/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/gu-IN/firefox-104.0b7.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "c4fbc0631c79d6f4dbd8fd3e4987fff5d4efeeccc35e29bf1d5c768e16f7194b";
+      sha256 = "6ab1008b9d67eedf72080625fdf2ca757768b6771de12493f0786f87a917b7eb";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/he/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/he/firefox-104.0b7.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "fa27fa885c777a61e0dd594f8e825e8cc06bb09287624c6d9f8edcf14f7aebce";
+      sha256 = "a1c81e20eaba17a93deac71dc0818f9f60374d7a2cfa981e5a6ce8b111842aca";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/hi-IN/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/hi-IN/firefox-104.0b7.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "4829411b786df50766374469bb2080cf3894726686baa870c536fe03cb5ddc6d";
+      sha256 = "7b03ae1261f58922b59cfa3f3d09f7a2bd573cf0909f558ed871b290edd03fe8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/hr/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/hr/firefox-104.0b7.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "dc4fd78df84729446fb7278f3ae7e50729f39ade081364780872a5e546cb3abb";
+      sha256 = "8ddbc310ebdd01e710f51fd5dde8c6ac6b5b78c9647bb970a3884588d9bd5127";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/hsb/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/hsb/firefox-104.0b7.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "9f1906377c5b19ab36bb13fb570420218f02e31d6c91e66b0af34ed4f27f9fb5";
+      sha256 = "b6fca6037be048535c6270b5bfb001273b26dd04335fb324ff738f3c3e775edc";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/hu/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/hu/firefox-104.0b7.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "4331f8997ff25de4f3ef2ef72e6b4eabbaa7ab37e5586c6bc12b430e4600df92";
+      sha256 = "8b5faf3cdea4c4b8100565f9bcd041019cee0c787367e50ef474ec49931a44a5";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/hy-AM/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/hy-AM/firefox-104.0b7.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "ef079ce2e9527a6efe82e73d2ef647934bb8316f03686746ebcc1ad38069bc65";
+      sha256 = "ebbfd1d1d75f5b98276ec8c2a3087235dd8bd30baa3218c977cc70196ea73282";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/ia/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/ia/firefox-104.0b7.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "4f704d27ce21d11bd797145be35bba296e20cac44b6822b6331c74f6f5dcc4d4";
+      sha256 = "4f60e1a5675c05c9f08be0c42f5b2032651140ad2a455a7a8e79ac0b66b34552";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/id/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/id/firefox-104.0b7.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "ba2c4ce5146e1c8c8cd79bd82a85425230a755cf5abc57659f4e06feef4b74d0";
+      sha256 = "bda0416592d0d7916753a26cc1b85832695399c3e74f1fc5056d50d0999f5f9f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/is/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/is/firefox-104.0b7.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "7fa4d4c74eaf221a0219ea669b1a700f0a913e7b64df8c95febf8e2acb06b05f";
+      sha256 = "7f1321212f6273601bee9103587e344142cbbdcbaf8cbb3c42f6645ef06ab632";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/it/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/it/firefox-104.0b7.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "e8618e1d694bec96ca6fab6fd93d17e42e4204a3890ac41fd170b0b6c164690c";
+      sha256 = "41ec8fc8a4090104167e2c7a95ca35c637f718b2170d865d4dfb14886bd8ee98";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/ja/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/ja/firefox-104.0b7.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "9b3b122d3e8f783bd1debb4214903348fec2d51a032f6265ac53d283014de8c8";
+      sha256 = "204aa16622c86c320b6267bce196decf941d7a001d625c4ee855514898969d2d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/ka/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/ka/firefox-104.0b7.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "485dcc238b59e8823165167fe95b00372c9857befdb645f0b85fe0ebce2a435e";
+      sha256 = "0b154c64224cf18613638deabfd5d4b15886170d93710c6a92318be032d79561";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/kab/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/kab/firefox-104.0b7.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "b56be4388ec116117ce5cc0867109bcd377ac38773fa9eb842292c8187be180c";
+      sha256 = "6d5291c490e26f2d1a359f98f4a4511645a0500236e15896eafbd6e01dadf4ea";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/kk/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/kk/firefox-104.0b7.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "a38e2b5af418ab97acc6371787494109c42572cf93a8edc197db9d9c74a56868";
+      sha256 = "3678444168843c0f1b83065801f3ae04bf0848401ec3ce7db4dc234d0ac71269";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/km/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/km/firefox-104.0b7.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "5fbf4e8ed7c6583156055e9485d7ffc5825a768317addb6ccf99c53edd7db489";
+      sha256 = "4d76d72f3be5c9bbba5dd0d80394d1b6b4552db15300c511a8d94e213d17f66a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/kn/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/kn/firefox-104.0b7.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "35baf5a4c9126ff5544c862529e923e26b96bab0f66e6a40e5f44f5dcadbaf4c";
+      sha256 = "897034e7f58370a0c1d0c1d13aed7a438989ce12cadd21c16e0e09578fe5cb70";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/ko/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/ko/firefox-104.0b7.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "7fec1ba611951ae4858ded036eac6655073166a531c43e38a9d6a3d995ba615a";
+      sha256 = "55bcbac866a6849cdf16c71e5e8d57c2a6bee7234b2887b03472ca9c94c0b07a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/lij/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/lij/firefox-104.0b7.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "49b1417d9f9e6be16b84d9c1cb4065c1281a4dc044bcca8a9ce17938336ad4fd";
+      sha256 = "781293c732a5f6256793c7cfc9e3248fd1a042ba686eda5642f523780a320478";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/lt/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/lt/firefox-104.0b7.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "a90050030b5ed7e5300b5a25ec8614275ec23827a0483efdb660924a735775f7";
+      sha256 = "768d61b034cc4a05ab44e672b191d7ac886ff90ad6cd2eb645e2ad348da5b0c1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/lv/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/lv/firefox-104.0b7.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "dd02a84a111aa12c93aec35c5b0fbca11b18358e5a4daa835d5b0925b2ac5775";
+      sha256 = "8d8761d67f7d16690910690fd111db8228665ba53732fc132a06322fee55a15d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/mk/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/mk/firefox-104.0b7.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "baa256c8229ae2d6ee1ea11da1b2fae5d4a9df1c43bfaeb310646b3ca04d34ab";
+      sha256 = "b3482c4148739f98930411259daaf85789e1c92071b7d82bca8e6860aa884ee7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/mr/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/mr/firefox-104.0b7.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "7657081a696686bd6aeeeb8ac16545e91d1640a1f0727813284ac983ae10398e";
+      sha256 = "014d8e44d94613dd2a0af0c3681433acb2098860db1b7dfab294b972ac329954";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/ms/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/ms/firefox-104.0b7.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "2b9e7790ba9a055a2b7b16f665e89277ea7394a87d98403564859ffed840e02a";
+      sha256 = "12d66ec569135d64453bee3f5d85b2b494e021b410fa41090353c063c7facef4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/my/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/my/firefox-104.0b7.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "2a75ebae6d60510bfeec736ee207ec805b17499845b85257de722d67234d25b8";
+      sha256 = "8ef435aad04be325ebaf906de3cce73af46a98b007bf812df42a40c54f0a00a8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/nb-NO/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/nb-NO/firefox-104.0b7.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "6d8f1602938761b221449a8168bae7041ec20f97a57b9c0eb3c115bb0597749e";
+      sha256 = "96b26b86275b2adb32e9ad40d61f01fa152a2af3b802289bab16d15fbaced5ce";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/ne-NP/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/ne-NP/firefox-104.0b7.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "385f74a8547efc86271023d4f1c96f57310baa0920ba6258a88be8ba53deeb33";
+      sha256 = "e3c12895c1d027c3347db7e5483764bb1cf4ffb40391a9f4016285dd14e15287";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/nl/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/nl/firefox-104.0b7.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "0583d4b7c58f11fec8978e86facb4473363c66a2bdac4bbf03aaab8ed46623c2";
+      sha256 = "1f3f4a14bb9dd6968504034bbaa262928480fa1a2fca57c362b7afa32abb8632";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/nn-NO/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/nn-NO/firefox-104.0b7.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "004f49a0209c02c06071de1f383609a0753287e979e512384ff452b91823e68f";
+      sha256 = "e7f322bd636bc2c149a851ab914ce43826e5dd1b54c0b89b6495d974413e8d3c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/oc/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/oc/firefox-104.0b7.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "2ee7380c5f5d0b2c819bf915b52b9c64a9548c02e3f407a6533cfcd49e369e4f";
+      sha256 = "5c6c035344c6915bd349d44bd89b6e62968579ea0c1aa4837f5e1ef8f83a9913";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/pa-IN/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/pa-IN/firefox-104.0b7.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "da004945ef89e5b524765b9f38eb644fbc48c9ff489523ab5efa6634598ace0d";
+      sha256 = "4de6b90e6f4435c3f65fd58d260f480e52261c948815883bdae25f6179e8b69e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/pl/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/pl/firefox-104.0b7.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "d6b296a7ff8ee29c71a2b7e81d00f8433ae8d8e86cb3cd6891b3d4b393a9acbd";
+      sha256 = "40223141dfc4292c72a811c739708ce0f89f5ec11928ea46b8e71c547722a869";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/pt-BR/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/pt-BR/firefox-104.0b7.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "286da0ca9eca0aac98ec1a6cacafadae48a7a42e07a743fbd9d99f042aace3b0";
+      sha256 = "8bc8c6c42d06336d20066732b118d7fb7d200ea7fe217a10f65b54559c846dfb";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/pt-PT/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/pt-PT/firefox-104.0b7.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "10b374798c781ece88db6400ae1934e670f55fb53c1c2fb2101741525d7d5e95";
+      sha256 = "ffa850eda85da2d578c91864cfd95b12071d6f81286f41cb3472e5313f55a05d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/rm/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/rm/firefox-104.0b7.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "644932fd82f4a21191fb19b25dfef39e018ea601a2e162d6725d6aaafee20598";
+      sha256 = "bc7c3fa03190f3ec768edd7bc5f168cfec79f0597bd8bb36e088d63be621aebf";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/ro/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/ro/firefox-104.0b7.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "f175e948233c1baa20962ddd68b3813aa8e93dd6816fe6209aeb74cc80cef14d";
+      sha256 = "605668cb215631ee327ed2d2edf25dbcc613b7f58b29ea1ba6135dfd1d40a636";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/ru/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/ru/firefox-104.0b7.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "a2142631b59278734cb2d6dcb3d0969f441cffc2820ad6478ae594de9f9516bb";
+      sha256 = "0b4be518ead63c5159f5eb9ba9222a2c4df40fd00ddf19e854a10854ee4b419b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/sco/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/sco/firefox-104.0b7.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "e18bf88e61480c5b0f05d6fb0a5ec424a5db835a8b38db3b0a5505febe9396df";
+      sha256 = "05630e4901f186fa4aa604cda276c2713d4c34b24a32e32aa63c7f4d05a7d8ee";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/si/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/si/firefox-104.0b7.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "7f1377abdba68ab935299fc1689f887e68aad7b57997205513d0b174ad2afbaf";
+      sha256 = "36b9865a670673e9adda0748279dbfbec211b9c93b8a3372f90f49e1cddd6f07";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/sk/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/sk/firefox-104.0b7.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "fa6b1ddd1d640f8a3dba55eda30fe9dc97cb5beb25a44573a697cb68de16e64d";
+      sha256 = "5244ee9afed1abf530b3e014ad107ab0c0ce7019bc0a9ea3f72878bf91a66cd2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/sl/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/sl/firefox-104.0b7.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "588db7371aaaff0df64ebf4a01909d9fdad5f80ee78a8e2e5fb7b372ebff1453";
+      sha256 = "99aad30ba4cd29f2882c62d511c53764e15bdccae4e338cd0871cc772b6d986a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/son/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/son/firefox-104.0b7.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "7b7ff4520686425a63ce419aea3536f794715531b0b74afafd1a7d8f9449a99d";
+      sha256 = "bfd4e7bcdaba60ca63ce41adb130d3ee58aba6a6a7915b1402d1f65cbf516e57";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/sq/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/sq/firefox-104.0b7.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "57fe7edb6257838dda19787f081a1010211c7392c77dbb656fbf61f3cff18e2d";
+      sha256 = "440932765ab253823d03840cb0a576f9dd8d922eb170ef1275c6fe55dfe17806";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/sr/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/sr/firefox-104.0b7.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "c93115a1dad91eefbeb59349cb7b8e2b02eaa4efb564fb3e06b8f5328f5ce93f";
+      sha256 = "cd5d9025837eb639b0ef2ea52b5dff9313fa0ca1a8ac4a99df8e9cf7f2344f90";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/sv-SE/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/sv-SE/firefox-104.0b7.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "461bd45bcf3a23eb6a229282898669ae27f7d5e909b0725196ee63e84f16718e";
+      sha256 = "51b301c174540c0dbe53c1ee4b2e777d6eb1296330fad8ca3e27749e92fa929b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/szl/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/szl/firefox-104.0b7.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "bf7e11b7539bb9a8c1e3397422f00a43db61f41474781aa922212e86f2288ef4";
+      sha256 = "09a6d47e799be6b42db9080d0e761284342a7eaf4da898e84572045fb5b4e060";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/ta/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/ta/firefox-104.0b7.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "58aaede5463a935887e97dc17e99490290472f093d64cbbbb331bf5392400f8a";
+      sha256 = "8ded4d10a5fd39ba9f463b817a136239fd08ed5148ee36fec39de5f992362907";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/te/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/te/firefox-104.0b7.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "3d6c908c2255c51b6bc95e1ef2b249731c6871d940a97cb486881070e7d6ac40";
+      sha256 = "0fe1b8936c3e003bc4ea30211eab645ac7abc900b36aa5f856ca2cbfb851780a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/th/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/th/firefox-104.0b7.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "9b7b76cc27fed960a50fad9ebad3c95641da6027ef6a8baeba0e4a52bcda3170";
+      sha256 = "035d190c9a052de310d4f1144e69a93ee58a09457d403b8695d7dae1c5afd125";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/tl/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/tl/firefox-104.0b7.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "4f0ee4cfc8d80f5ca6ff628c623a7a2ca41b1c086e13ea7b72dd7314af3eaae1";
+      sha256 = "cc2b8bf7013e4a04bca9dcca0203b6e5c42c41f02d8f097bbc330a9a553260fa";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/tr/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/tr/firefox-104.0b7.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "5f29758dafe0d8a9000724bfb8c5231cdaf9776b4d7bd371f027c25f4c0427ce";
+      sha256 = "9a2d0b0894086ec62f69c372a8ffd9a146c554806fb826e0287fdea6a64e3c00";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/trs/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/trs/firefox-104.0b7.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "131783d4a276dc7bba9a7fa1b2d8fca0a826efcf4c93215fa6ab45aa4cd7a0b0";
+      sha256 = "5102f9fc9fdb82cf2e8be971dda2d186dd9b6fd984cb0266f10b3b0b933565d7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/uk/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/uk/firefox-104.0b7.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "a25b2fdc8ffe6449641a0fa63ca81e30aa465d63b465c4cf0b14de18ac058e0e";
+      sha256 = "a6383ab8c32fceff66a82815102b9377b0ec8e5667611531c5132960b8ecd44c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/ur/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/ur/firefox-104.0b7.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "2b80930c79e4ca2b48276fdd351a49583b93e5f41905d6da3c304d7af0a36fa4";
+      sha256 = "469404f5fe42fdae66cd70dca7dd50f6bfb9548bc13c23ba1e3b6b00036b0938";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/uz/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/uz/firefox-104.0b7.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "f7d1aa7a1cf4763831df27187e874cbb537022d757e33fe80c3f7c2d8be6007d";
+      sha256 = "577287d546454a738fce62a9a0cdc6f5786c0e20816398da5c318ed7dcd5f6ed";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/vi/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/vi/firefox-104.0b7.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "d644b2b5496c28602a83c438899cffea4fb5d3508815132691ca155ee127736b";
+      sha256 = "f5fec58631a6db366fe71e731f1c69e62470ac79226a8c06ba8df4a82ac5e37a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/xh/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/xh/firefox-104.0b7.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "23a384512be7728aa4fac7dc991d37982eed8c5172a1dcdb909d9663fd756527";
+      sha256 = "8cfb84ae984237841a576650bd7627dae92168f5de28182e8c8562d5b2685189";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/zh-CN/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/zh-CN/firefox-104.0b7.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "51f458cb3bfa6366ff4f1fa031f7435b429b698d008fea984ae144043cada7d9";
+      sha256 = "76832755b698016e7434e2aa4447e218328ed7a3ce87e529f1080844bea162fd";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-x86_64/zh-TW/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-x86_64/zh-TW/firefox-104.0b7.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "38cdab52dac1470561d72a676705b2d9d57304010d60383a6a9d6ae79347a2fa";
+      sha256 = "e0691372b4f06cdf54871700121efc82511b8461d8732edf3f7d9c7e22baa373";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/ach/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/ach/firefox-104.0b7.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "05ddbaa483122aa26e9585a1f8761a8a94c29662dbce40fe5f95215972e8a22d";
+      sha256 = "0ad9e439e7220d5b4f3cd35d8a85d0c3a432866399d85ff4a7284500e7485083";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/af/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/af/firefox-104.0b7.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "a36be8df47b4f0b02ea22866fcc1942c071ba3676274d37a02b5c25c5c5edcac";
+      sha256 = "f03a0513f9bf2a4d9d91e53110bcc5c4cde959c7d004704d646dc02afae228e4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/an/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/an/firefox-104.0b7.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "a08fbb3a82cb02b544009bb2eb8fa33e7b9814c7a72a7d30da85114ff976c75d";
+      sha256 = "849c9ce898b93abce8b4dd87edaef8a4afdce2b2cc38fd01cd80819bada29bd3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/ar/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/ar/firefox-104.0b7.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "992986d3914e35cf4eb58a7ca01804d46542a0f763c4dfa18bda3acdef92a95c";
+      sha256 = "b3087c2e7cec708b589b8bd852af2575c95c880919dc65da7a2b14395d7492eb";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/ast/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/ast/firefox-104.0b7.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "7a79ff422a829bd3fbb9f7ccdac012f0589f954358697fd2f6c4b779b626351c";
+      sha256 = "d84db6c4d02a2bda3c47a6708c05237a1b00ad9a80ef5e99af20b985127c3148";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/az/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/az/firefox-104.0b7.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "e4d5fdc180cc587932eaa4e17c2a80a4da2ef8ab080ef51d0c56125a2a772b0e";
+      sha256 = "877089b24cd58604e9fddbe6b1af23355aff3879d58a85840269a6c6581f6f56";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/be/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/be/firefox-104.0b7.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "359afc0bbcedc593274cf74d8b32a4175bc405350a589fdb29a39e6f377290b0";
+      sha256 = "51f73747cb6833ce5e50ba547b1b427f56a03ede283487556b41567e1d7c2ae7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/bg/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/bg/firefox-104.0b7.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "e1a1ba618bf88c6b20acf408a9f9296032bf2a690de81244c1c2d069db89842b";
+      sha256 = "8c81445299e0aa3542f962ec9d2465eb6efd1415c3c18b2880ea764a9d170aa3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/bn/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/bn/firefox-104.0b7.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "79e069b368cf48df09cec9220fad5e317969c973012add12108f4fd54304dcff";
+      sha256 = "f3e9eb95e0f27c475e4dbf54d235540cae0c4e4ebf36149ed8d5a539729ea110";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/br/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/br/firefox-104.0b7.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "242ff42943ae90cdcf5d15a1b197f1b7354b8a143f1f1e082bce158c88003ef0";
+      sha256 = "8f75ae8815f659bbdcc819de98dbe23377ebe373970cf644c13d1feaac90c1ad";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/bs/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/bs/firefox-104.0b7.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "e6a5335b8785df9b18d2cf83a71b6324fa350876704e1cab18db9c6b7b2e984b";
+      sha256 = "77b9182185277d6d027e11a1bfeecd3158c41e44c76481bb560cfee3821bbcd9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/ca-valencia/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/ca-valencia/firefox-104.0b7.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "56a31e1563198d52575c3c665556affec58d24b18b333bcbca27a1c02be2920b";
+      sha256 = "cefb44740526364f2397813d12fb7d5f9185c259ea008ba49bc9d178dbe9c52f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/ca/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/ca/firefox-104.0b7.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "b8064cfc260a38eb1f18d0411ad079cca8d55f3127f141367e9c3c6eaf43686f";
+      sha256 = "54d482fff8638e73c5a2b8da283741a1adc8e316407449bdd478616b2e6edb02";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/cak/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/cak/firefox-104.0b7.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "b02caee5c11b3f379997f78e05df6acc9d487906c85d455f5f5c6a0fbac95f9c";
+      sha256 = "2f7ef06b52ccc87bd6dd823e1abbe3c0b1df44ef068b8d42fcc6a5923bbcf5a5";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/cs/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/cs/firefox-104.0b7.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "20bd8e371ba2c572912c88f89b7bb0ebb2e451cbb8e90a3684c8761b26abae0a";
+      sha256 = "5f8b9d41c59174bbbdc02757cc2ce10b44706b52dca7e72871ad23fd2686fce9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/cy/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/cy/firefox-104.0b7.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "eb544b2b02fc170545312b94b6529a31698b93f875df35a25384b8fc563acf86";
+      sha256 = "6d4c09fbc2f4a84d50d03c083d20e8c02281c63622df007002482426f51ea1e2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/da/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/da/firefox-104.0b7.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "eff8f807defaa889132762e6bc302ddbedfaeedbf3599a97a677458445f36dc4";
+      sha256 = "7708faaaf67f5fe23c66022dfb726ae051d77ae44e228e0ec2540d8ce4ee156a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/de/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/de/firefox-104.0b7.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "bee7babcd04983bbb50b5f9b00f0eade254363a3ae119afc03d5be156fb6b285";
+      sha256 = "7bd5ce8ab0070a9a4cfee9526459a6739fc5acf0e3d69d001f5dccb872ab248e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/dsb/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/dsb/firefox-104.0b7.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "fa41c4fb07aa292b6211337f02c9a68d77e33f08e683bb4450313a1d74f5df4d";
+      sha256 = "e30085fed0906fa122267b2c38cc89a9adcfa7b88466a08b0669027db286f27a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/el/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/el/firefox-104.0b7.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "4c452b44efeb82942d8396ac1d0d0ffa2a8604a69a106973cf70f0edb80a61b2";
+      sha256 = "7870eb45aceeb7121bd2f1e6254132881f423f77d08b63703d7b491b11967321";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/en-CA/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/en-CA/firefox-104.0b7.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "71ab1ba1371c68d305084302a6a065a62f4fd3b5527811a79061de316c79a8b3";
+      sha256 = "dff7863179a15a2e7ec9f58d5a81266222ccd3baa341b64dece482c294a2f81a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/en-GB/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/en-GB/firefox-104.0b7.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "06a7a5fb53de331ac4827691c7f625908173582932ad48fb0350e3d7b98f49f6";
+      sha256 = "001115773ad37cd5e33fa57451ce73c454bb2bd0e4459479eeb66c3589825475";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/en-US/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/en-US/firefox-104.0b7.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "4c476683db18c3513c6f257abc71cf987ca253265bfb6b0b86b8e8cd80820e94";
+      sha256 = "04eb37e533294d43d5e434bdf2f61de0b0c9dc8f3b7cc34bed34f68875e76ab9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/eo/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/eo/firefox-104.0b7.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "82ec493718e70130ce087a3bb9f8c5a96540d798f816828fcb88f7b7a995e37e";
+      sha256 = "05095b1ed33d48daf60cbe47ebc92811ce5170c61f0b53c6b4adad49d1438094";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/es-AR/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/es-AR/firefox-104.0b7.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "8bf569b4102ca0f62d831ebf55789f46a6a329bff58529140b1d5be053f429de";
+      sha256 = "59961c23196d89044b4a63f8f7b61915ab1d9d341c608474e29d5aa1c294ad9f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/es-CL/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/es-CL/firefox-104.0b7.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "96c364b8ed8a96941c26acb9890e634522867f3243a120154dcc71de9e4906ef";
+      sha256 = "8ad93e88f6bc1538e755b5bb1074f55eac3ea6a2b08d41af1cbbb2081343950b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/es-ES/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/es-ES/firefox-104.0b7.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "76fb1d591a00db8b9d1e117478308df38295b786805482867f95581771b652af";
+      sha256 = "264f210852fb3b09a0d9cbecfc7b5baf8d1794035d3699f78cbc62a87fa3b115";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/es-MX/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/es-MX/firefox-104.0b7.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "c258baf3b8b8b200052b0f2edc9e3f4025b08c4c9924aff2029ae9919b584708";
+      sha256 = "6f6b35ee4643fec207e833e877960fdc74a51e4f5e6db58f611048dd4693f595";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/et/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/et/firefox-104.0b7.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "9877ed2d4a5b553bcfbd71e3715772f412b2500f7810ed3edc466d3cf0e31c51";
+      sha256 = "6d9172c67994326c8739e5e95b7e352b4fd837c1f2e160ca20fe809339b60933";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/eu/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/eu/firefox-104.0b7.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "3d0b4f3572d897152ad551430fbae012158c8c891ce61394f4c21daea514d4e2";
+      sha256 = "e4a5d3e400cfd6a0493818bb15b0cc871230b9f72d5246a7450b2f89298817a4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/fa/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/fa/firefox-104.0b7.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "8b445147b436841ae9e6a0af0f4675001b5aa528f59b26a640a33c06bf17ed71";
+      sha256 = "7da1b2a3fb06697c4ffe22814b55ff2257b9cce010a94c37a5f7fc596525af4e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/ff/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/ff/firefox-104.0b7.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "20b1f23cf0d1e43bd2097ce78433ec2717d5b94c8c62415ca8804bca8ec717d2";
+      sha256 = "3029496cbd290ca01bca962f93f6d48d65ce85b89a1cb5e87297be8b1483835f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/fi/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/fi/firefox-104.0b7.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "e7bccb02114a10ca1fea93f8bc0f54471966fce619c33a6814665a162056cb52";
+      sha256 = "c5d8c6c4d99f9bdafe7531c4766f31f097f8ae49bd3a9b8db837a9bff07364fb";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/fr/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/fr/firefox-104.0b7.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "16ec25950c42d081b332f382acba01038e177f31f71fa60180689e4d4d5e499f";
+      sha256 = "cb6265aa367b145ab95453b9ac8498386744162752710d300a94f920f205d264";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/fy-NL/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/fy-NL/firefox-104.0b7.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "c78e15f71bf7a109be7f6708fdd87f3231be4221fd5c336909216c59a229a4a9";
+      sha256 = "157371b0a8c726c48a7eaf2d2df92a3101e54c5eb95eae42f96475f4c0954b4f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/ga-IE/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/ga-IE/firefox-104.0b7.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "cfa530828b5006b9479da07ec9733f996d11ba8d0e7c6a40ad7f8e6abe3c2143";
+      sha256 = "7019704b1676fcb260d489de3214d975e2de3d5e9eab0d11aaeb53b119082b6d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/gd/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/gd/firefox-104.0b7.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "569c0a5e3f774f67f30500b90f9aa6714e94b8cef9681b5d0aed037536c76325";
+      sha256 = "119bf7dea48caa9c136e2d320efd336962d8049a71c51b987d7f13eb08db80b3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/gl/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/gl/firefox-104.0b7.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "13631b57018dea7018a99ebad9deb9e948b4691704e6ab29990d5ae10c709a1a";
+      sha256 = "2d32aaf405f7b4887b68d2b88f1cd180d95f1b5dbe86e72e1584c04ff3b14815";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/gn/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/gn/firefox-104.0b7.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "dfc1c811d62a7c3ad3439d6d7aec42fa38cbc0dc495316008615e09651fe6762";
+      sha256 = "71d03e82d49beea061b8b32e39de1e5a9612aa1b96c2c0202662ff2d8f6feb15";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/gu-IN/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/gu-IN/firefox-104.0b7.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "0dd84d31bd5b189acd27b2235029c038fcfb2032a16a17666ed9a9d8e7c427c0";
+      sha256 = "da6abccb36d43813b5d875d789c8654ead6d26e3d5a91e2eef6866092d8d9888";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/he/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/he/firefox-104.0b7.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "4b06c6a1d333ecffca356a33e09eef73ab2402e4c30a76428a1cdf30b2dc52f8";
+      sha256 = "a713cb9a2a5e378eccff7e120526e600a7503fdfc13e3de6ff3628f2839ada05";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/hi-IN/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/hi-IN/firefox-104.0b7.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "21a7141053ee46f063aed00f8ebd3a43597c7d3badfcc1235a2aaa937d8fbc59";
+      sha256 = "377e42f61f7d302095b7e750bb2de248ec0b8ce3ccf4cac348c4e07797af736b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/hr/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/hr/firefox-104.0b7.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "2349492750735c25554fd519eb5e6c7a8d97915a651c42cde9814620d1a311ab";
+      sha256 = "10372c6c08809999d781b711b0712ee20ded977c8f179ff7b73b7227f3fb161f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/hsb/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/hsb/firefox-104.0b7.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "b3cae77bf571b16ce3876e7cec9484f4beaeb82c6d2bed844d137a8ad4f0e593";
+      sha256 = "83cb1ceb12936a9739821d26807bbc122164c0c03672dbf83dadc9bfa55d1d70";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/hu/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/hu/firefox-104.0b7.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "8b6cd10779798589bb0c04b8e7a69987461271df10034efaf487e17de5a64872";
+      sha256 = "cf88e8cf9beb37a788405bb6a5d2babaa23be12dada87c638543b1336ad7fc24";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/hy-AM/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/hy-AM/firefox-104.0b7.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "fd961f32238ef897e05255e6810b2b8cb34254efe53f7ecb9b5539bf0f7d6ceb";
+      sha256 = "25e1bfb6c12d93c8fab2a6a3dac47c024774c25c413626c2333185c3091215d7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/ia/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/ia/firefox-104.0b7.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "51c45a0e997b94061640b2ec1ac223b758fb2a691b1929975fa8e063af5fd9a6";
+      sha256 = "77aef0ffb396f03fa219931e0daab463238184adb24e42f3e27b8ecee8b8f0b8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/id/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/id/firefox-104.0b7.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "0cc8c7d04c78f081b463ea6fdeb48fd073d23f1274376651a290e3d90d0dccc7";
+      sha256 = "e60b11010b23ff0fcc2f1258f2d63bfa8b3f55c17ad2f30aa23502462d377e12";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/is/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/is/firefox-104.0b7.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "59aa0699cce771c3fccd0bf0d5e721a29b79c4dca579c0fb37ec2822f739a98f";
+      sha256 = "cb9996cbc358d0034b8c0e647b9f06bd5bf0c8f91362c874abf9008521c18626";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/it/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/it/firefox-104.0b7.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "8d926e44355d588097ce0cb85b22424ea316feeeef71ae981c8587b83ece62ef";
+      sha256 = "37874e8a79e609aca34690fc1f4f3002d0eaa73f152f937387e04347ff7b5555";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/ja/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/ja/firefox-104.0b7.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "9ee9dec2078fef62d4387e13f64f7782ca9962c9f5033cdc2e0435c49800cdd5";
+      sha256 = "6123d0348d6976ca06106f5c65f6718b6241bc66db3cf39afe9c08fa497d6965";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/ka/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/ka/firefox-104.0b7.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "e8136e90fd22380fefcdc98060fd3cd147c2f440de05186f6641fb15a09409d2";
+      sha256 = "f67a5e2b020e3cb866a5527a7247641c471d087c4703c6cc07a36908c3a4f28f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/kab/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/kab/firefox-104.0b7.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "94167db208ff296a581d34043ed1cec524d9585ea3a24ed32422762e01262e5d";
+      sha256 = "cf8c22f87e480f0b90eb334990560ff9f942bc8eb703eab2d02e944ae9efccd2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/kk/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/kk/firefox-104.0b7.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "034e58d9f3d7c56e28dc7a9eacffafe2012ad0e3893531533f16d117e72eb78f";
+      sha256 = "0e294a735a497328f1912ce183eedcd457ad4134978e2aebc7e31ec0c997d96a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/km/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/km/firefox-104.0b7.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "a794929a312baedc3c2bd5fb311ab07f163961c1f17be1a15bb6f48762370c8f";
+      sha256 = "f8efdf3b7e7ddf265d0b952d1edeb64682cacd720aaccca4a75fbf1a72a5c946";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/kn/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/kn/firefox-104.0b7.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "b31abc6998114bc6de4c6a5734c4a34c45bf40bc0c1e6c8ba437b22069b5f96d";
+      sha256 = "2384f870ee1fdbbdf750034fd219c7016e83160d318e10e8f6a267843fdba7c9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/ko/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/ko/firefox-104.0b7.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "5e9c20cf032faa414b0f9d410ced8f5ecb8e1aeb31f2d87b2c13284b5aae4d70";
+      sha256 = "ac8c619b8692e05789eb65e5e73bf770aa1580785fd294d0901b6f1b4b83823c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/lij/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/lij/firefox-104.0b7.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "f9b0dc9f37b53bc56d43894a2dbfddb86fd5cf13f62c16b2d0816f8b21b74cd5";
+      sha256 = "ed23ef5b1a46a49655e80609d76be2d22b96c2c4037c21fc4dd5805d75c46eb6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/lt/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/lt/firefox-104.0b7.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "b1b1a9cdfe052e1fb9c9b17e6fe1c53ac774cd9354891e95fe18e171bfeb4d4e";
+      sha256 = "b3543a68aad0561870e67d3a2f9641209bcf70bf7cedf9a9bee14904aed9f73c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/lv/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/lv/firefox-104.0b7.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "10f572f2144656c14898a63165ea79f3dee200739262b6865f766859fed8f42e";
+      sha256 = "6871c945393da0be0c5d3e265be941f05317dda58cef403cd7bb5b796b1cc2c5";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/mk/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/mk/firefox-104.0b7.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "ef9e92a316148393b167c1b0a03e0a786cc176f9b9c93f597ebf20b061a9f73d";
+      sha256 = "4b8a503ef260cf3faa8e207e9188e78d67636e177c73aff14a339683f5d4cffd";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/mr/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/mr/firefox-104.0b7.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "2eca68b9e882e64670ef1a9d9f1746b065d86e8d3dd1e333db549f7e84d0a680";
+      sha256 = "f80056079751e2483b01ce2b71eddeb4d02bb16add9d63d5fafcf316bd29834a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/ms/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/ms/firefox-104.0b7.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "2addcbb78fa1244e11d85c1b888521189a1ae7f74633f55989d1b311419522c7";
+      sha256 = "a34110fd25a140c3e83f7d42f3eb003aeb82404a06ec4d7a7466340717d54396";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/my/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/my/firefox-104.0b7.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "ac3311de2edf57ab4c89d1bd9cccdf95e12f7dba7dce32fa536652602094cf0f";
+      sha256 = "0258123db6a4ebdee3aeadacbdfbabad6b653aa2a9635439d7e12eb3a256196d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/nb-NO/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/nb-NO/firefox-104.0b7.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "b1943bf13816a63b08638313cd23ba3408e269d2456bcf94286c535f1856ba43";
+      sha256 = "9be62e8d06ee4e6b7c6a4efbd2ae5432562ddafd8a306579ce9f3775865e2415";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/ne-NP/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/ne-NP/firefox-104.0b7.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "2c0772a8771af51ee610c6221cfe09e243eb22aa283e390675a1d71bfe3973ea";
+      sha256 = "9c459c871d7d876102db3d5b4c187c6c30dbcd8ff9eadbc9035fe74fc9ca5530";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/nl/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/nl/firefox-104.0b7.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "764bc5a5d4f965c36a56caaccde288c0884f3b19437f33c12f5254de6de48fa3";
+      sha256 = "2d267e7ba9833e2bccf033c807c7568f901a21627aae9a7c4afa4c6d91a0b7d6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/nn-NO/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/nn-NO/firefox-104.0b7.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "9689f22b8029c5b8de797a72bd37b820af24549f290ad6db04f43830b62ff306";
+      sha256 = "16fd2d0a077367229c2548c3af6811850413f2bc9979b1a8b86e14113797cc89";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/oc/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/oc/firefox-104.0b7.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "356c7e409602ee287167df560cdeb75d5430d927ac529bbfec24b22945632d89";
+      sha256 = "37a70a51af75a3bd027e6bc79c7b8b449d52e397d5e746f81f71e4dc8f45f806";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/pa-IN/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/pa-IN/firefox-104.0b7.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "2a48129cca6a9c3de98ec0b660327dd00a30ba18cc7ed9d2d4b04a8d20ea1944";
+      sha256 = "a4caebedf9959f25cb0f6d0d2853b31a748ba231eb4a487d160088854e94a791";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/pl/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/pl/firefox-104.0b7.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "fab650e64c9063818f9182ac3fb8bbe4a5a7e39e6e90a2ec30936c7d8ba8e303";
+      sha256 = "44970a0afa4dc9cc33b00db2860848757143b946b9f695308fb0084846a639b8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/pt-BR/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/pt-BR/firefox-104.0b7.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "27b9d52ff7d07ce2d41977ad7d8562c4c00d00ecba0da30b6e1a646f23fe2274";
+      sha256 = "b51cfef131ef258efddd4063af24e0916fe137b4e894691fda4e66e340918ed4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/pt-PT/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/pt-PT/firefox-104.0b7.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "2f9c3d78fbe40121c47e2888b45ee02038ca9a2978e1b012177b53ba5e5e70a0";
+      sha256 = "4dde85eae03cf13f3e21e89277d64242f7a04a5d8294e07f1e5aaa0a946c5872";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/rm/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/rm/firefox-104.0b7.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "ed81cc5f385b6c9221a32ae8397666015f7c4532918f8aac0a974fa3742d2488";
+      sha256 = "6a6952bbceb5272f8d895ef0c0c5f006c70ea9b509c43cdc30d033297b24bd9e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/ro/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/ro/firefox-104.0b7.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "017ba440df2e94e5a430de39beb77b25d95cdfb9a1580b9fb62efd4e01966146";
+      sha256 = "2bfa2109e10919f8e228915e6aa6170509ad7d71e7a45b89cc812eda20e76ec2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/ru/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/ru/firefox-104.0b7.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "d6ce974efd702e220ec830d1713d2d22d98e23e9a1d19e7b027f3f58a5a448fc";
+      sha256 = "d6becf94aba7bf1580f02f7d1781f2f89f56eab9c47ca05599fe64ddb32bdae1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/sco/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/sco/firefox-104.0b7.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "8f91b0458492885954f478a17755143f9198e045ea5265cb59643814e0f14080";
+      sha256 = "f0f675ac4b9191962dc798d6f73638eb8accb64ae1f6f407ded52ae01b0e5862";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/si/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/si/firefox-104.0b7.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "572403a8b9e479714e703eb76080cac638ef3e8517f11622043aa70bbea24d1f";
+      sha256 = "7219d44407cf0c6513b434daa6ba6ef1043adfed42aa3b9b54c7b7521caf4654";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/sk/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/sk/firefox-104.0b7.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "d4b0a274fd1ad8ad957298b8f0422f9740ba266a1a5df519576a37663a6efdb1";
+      sha256 = "f5c4265f810274c69effae81b7982c38e2f16b1e0ca6a505a29607a878eedbe2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/sl/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/sl/firefox-104.0b7.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "dcea6f1054db52e7191b10f2b90ff80dd0f76420be4ad604417cbda51599e896";
+      sha256 = "491d8b0dc680c5ab03ddc3a8033058909dbbbebbbf848b109e477d6bf049bd3c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/son/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/son/firefox-104.0b7.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "886b954bb251ced9afc5f4c4917eee91755f4f373bf71d5b8c367465b96c2965";
+      sha256 = "602e1cf09819083a89b327bb1c70acfaf62ef8a51ebf523f2f9d32ee4228ede8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/sq/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/sq/firefox-104.0b7.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "f3cfd3201e876017ab466e469e844fd0dbfbb14de293ca88e6f08ca8790a0e62";
+      sha256 = "8b72b7e1b69e3c64a5bae8b02ac813c15a504de62f788d1599689a3cf852682a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/sr/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/sr/firefox-104.0b7.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "d39dc112211bda4fc82f8049f0d33e237d065fa14f8ac4f35c66186af574b341";
+      sha256 = "860aa21c5debbf5cb7f8eacae7d011b3c1fad0e7c24193849a26173bb37c942a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/sv-SE/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/sv-SE/firefox-104.0b7.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "7606202a049e4a07ba7b99e53ea46cdfaf28d3d55cd1644243343d943d4a8a5a";
+      sha256 = "b5f6c6f047acea4754a4c7074378753a98cab544df7ae7b4e3c7c641c4bdb8c2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/szl/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/szl/firefox-104.0b7.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "b521e6fe4dd904362172b9e02f57f943359eb016f8f6d38fecc1ec828bb5eb83";
+      sha256 = "5b500a38f05c8744682406a991ff2bacb6e76c0953902c03e592ffb0a6fac64c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/ta/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/ta/firefox-104.0b7.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "b961b9ce0ef9b349453fd2b188d302a782dc32c35ad588c0a32148f2a85a97ac";
+      sha256 = "3d83b668de3b9ac278413db1ff3c6000201397d12f0a7fe5043efbacd8ce239f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/te/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/te/firefox-104.0b7.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "2b0547891ad7680b5aae276ffe5d1f58c0e7003a93d329ff68a23c8490af8f4d";
+      sha256 = "d907e3bc5734c42f17128df76c51b4ae7df0df251513d83f0d4edfc2c0bc3c91";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/th/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/th/firefox-104.0b7.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "cc3854cb53c2aefc88229c9e4ff709e43c7b07239e2c0e4ec42f39d5381a7564";
+      sha256 = "08d76d2c4b5f6d35b1269c3ac6da5a921e29ff7bf0ec459350dfbb2f362f49d6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/tl/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/tl/firefox-104.0b7.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "ce1b6a4c62cd2ecff661850affa374afdfa5efeafc23a0bc310b2052fd29ed1b";
+      sha256 = "e7ae2e956056edfba68da60e6cf5f4b122b3d000feaf5115e393feac039e6ceb";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/tr/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/tr/firefox-104.0b7.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "a263f80cb4d7af852644d964d8e45171824454a0ac218cb397b93352f4d6ed3d";
+      sha256 = "dd3e1c77def3bd24ed4c1c11927677ac83ec66c9ff7607acd516f24c9652faa6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/trs/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/trs/firefox-104.0b7.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "d7e141c32613610346290b5c332e429d5386275d9a498d94543a072ce728fd67";
+      sha256 = "b1ff3c642770709fdb0edbc30d052a6cf3b98909b45a4677ddcfe0228cfaf661";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/uk/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/uk/firefox-104.0b7.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "6d4f6ea58d1c8087f965c941d2923c78eadd59b580e92f7c06e610b781fe7c5b";
+      sha256 = "e3ca173bdf486b9415fd10636fbc9731266d33053d3a5a11cc6704caefad8442";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/ur/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/ur/firefox-104.0b7.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "a1e6a964d97ff0d24d445acba6121691f47c852336820c77c1424e338558a729";
+      sha256 = "68afedeab0dd4cd6dae3f11883eed99382bbfc923ee811709a6f5fea7b8e5c92";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/uz/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/uz/firefox-104.0b7.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "2224e963b6a16b927e84807dc9a8e5c6aed86eae6c721488d585976743baefe0";
+      sha256 = "03c2c06ee2e88b9a7407a8d753c06115a5b5b38ce8c098add250b97b048eb661";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/vi/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/vi/firefox-104.0b7.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "470e55224281a62ad4680f885c50bb54d4c19d26ba99f3c3e12709d1c323b878";
+      sha256 = "84a2778dd61c2545da62c6f01ff25889f61c46c7c230ec9946a1e0ffe94bc42b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/xh/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/xh/firefox-104.0b7.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "438b109606810e3b9b598fc20c3ef33b86907eabeb1b1c9b736a6ca6dce5807f";
+      sha256 = "e1f394a0cbf75ca2e420c40286f1516aa2fe9be19aed51db40f4ca7658238f8c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/zh-CN/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/zh-CN/firefox-104.0b7.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "33d7e644df3f8ef4881266a5978d7c511735a8237d390688eb5cb26d6bd4fc30";
+      sha256 = "fdf74de848724dcf9b1da8390b57cf37992500d79800546dc4462de7cdf40911";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b4/linux-i686/zh-TW/firefox-104.0b4.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/104.0b7/linux-i686/zh-TW/firefox-104.0b7.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "ee974872df52fabebe26d1bf1985bea810a1b8dc5655988f6218b2f32ab9739e";
+      sha256 = "f5fad66ed736bc9f366eb546ecd18bdd97663eacfc9dfead88f82e65757a4b14";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
index c31b6202599..cefa5ebcb87 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
@@ -1,985 +1,985 @@
 {
-  version = "103.0.1";
+  version = "103.0.2";
   sources = [
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/ach/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/ach/firefox-103.0.2.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "8e6c4419007dc83c142f42b2b61060237c1d1fc87a889c0e23cc375d16ff2337";
+      sha256 = "667b9eb59c4ecdfaf13f7d6a653ee87628364a01294507159f54d9c03d3eb5f5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/af/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/af/firefox-103.0.2.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "9742e7c4f7785ec33d27197ee894d71b1ad24d8febf55200bbbb95d1b159f8e7";
+      sha256 = "ff5bee28f145cd00c06ace53414f20b5bed8948aaf9a651003edce4e3f5ea553";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/an/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/an/firefox-103.0.2.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "a2890b677ceadea8a47d0b64ad823aa84a5b758edc204963a0364f89db2984b6";
+      sha256 = "53ed4ee66c6d232cfdf9da3198bb8e591862e50d387f69cfb4cfe51028c3d274";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/ar/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/ar/firefox-103.0.2.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "bd4d82890fe58a8597fe4ba5b99930604d19465015bf21bd6b6fa76d98be3638";
+      sha256 = "406bacbfd8620bd0a249d03f96dbeb62fbe3128b435b50edff027b7b3b9c12a0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/ast/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/ast/firefox-103.0.2.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "aa98a1eb85990cbee404837cf70de572757f56d1b21cf643329b331013a31806";
+      sha256 = "99d7135bcc0d64083ea0a0946fa7f030f9b025da633e3aec751284a5a82a0dc1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/az/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/az/firefox-103.0.2.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "98d5043b89b70c4ab04a1a6598f69f86a42ae0dcb091fbf28e7a0c3bc5f2c98e";
+      sha256 = "00542247744f223b1511ea1432f376f692a1f224a5a50161be7ee2327c2d9005";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/be/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/be/firefox-103.0.2.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "73d84943b6b6ab8f06eabca0ebe9468a5f0233f8cd8da18998bdc14d5055695f";
+      sha256 = "e75810c3c00287ca086fb990f13edceb295c7e03b79a093599d8b0413842088a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/bg/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/bg/firefox-103.0.2.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "98768c07979a64a00b28ca981f8ceabc3f25366e84b8e84b4f0afe5b368b34b5";
+      sha256 = "ac25d48f3e28065ffc2f011e607e10c97986d4d08011ee14a9d3a50f4c727e2c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/bn/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/bn/firefox-103.0.2.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "6c05f385ff792ea98a477d38f740ba6b0bc3801f2b50365ccaf36ca300a86fbf";
+      sha256 = "b709046f7178bc0580f01f4c6c26ea3729608b595d594768e38bb8005fb01a72";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/br/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/br/firefox-103.0.2.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "26eee23ba331a5118c2fe594d603e9eb99dbe0157c1c94c8f2257195f5f6e85e";
+      sha256 = "941cd816887f9bbf76c6cd192e8b1f87d76705666d63716d610e6eee97695a94";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/bs/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/bs/firefox-103.0.2.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "62c4e1713d69f9e055f59c1e5dcb6ffe4e2699233c861a9cc42b10ab42d8acbf";
+      sha256 = "e827efa73b263e60e708f8200227bede64242f9eb3e7085522dedad6507ad06c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/ca-valencia/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/ca-valencia/firefox-103.0.2.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "84c754eac80c913989bd9cb2e17587e221a70cd03b2ee4cb65ba2e1f8480c91d";
+      sha256 = "acf8260a6f6f06a3ba0f05bd31214463e5404103daf5de9c6e726525ed126e85";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/ca/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/ca/firefox-103.0.2.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "f90b89b49f635e57eb6720b90a03a9d5a51099d9cd45e1ca73cc3213647bfbd4";
+      sha256 = "fda60c9f0a55795157e70fd78542fec63944b3b443d82b17cf6a03f074d8f6a2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/cak/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/cak/firefox-103.0.2.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "75e63df214f040bfa80bd3cedc9d862c63f4cae5f8d6f4f701e59fc611346415";
+      sha256 = "08fde34822645ae6d3c34bcde7202c8dd905d5f36a5e7790c9887b4e13b743b1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/cs/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/cs/firefox-103.0.2.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "701a8cc642c2d88fdee1b353743d586d1eee0518ba5ee897412d58731bac8abe";
+      sha256 = "5dcfd7687f523a56952a26e1fa4e900579e50d61ff342f5adc75ad33cc037cf2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/cy/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/cy/firefox-103.0.2.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "f4611b7bffc243f37d241d475412df349f41aab4cb079f5571e36620d6f89d27";
+      sha256 = "7543927c81ffbf9c213f29f30d88426de340c1abb22e9285d63fcbd245136929";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/da/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/da/firefox-103.0.2.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "ec82637970f9ebc2cc53b8ab024fb0dea7b7994583ba68ba915cb1408c056bc8";
+      sha256 = "d893cae22f582733662ad5676ab0152eda4f666900c379d7ca4179d0b0602ab2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/de/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/de/firefox-103.0.2.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "fd47395b1d81e72e1d4747ec2f90c77b2d9548840afe236e01800642f9baa510";
+      sha256 = "ae48c75326e5b444429b09d324a13b26ce40df4b6ce05894870ac104000649ba";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/dsb/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/dsb/firefox-103.0.2.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "25ba165f4c849f590bed775acbe4694124774be6e3301d209a32e6900d6ef164";
+      sha256 = "bd11ad0969b616d364d174067df665d40a9b788195e4489cdb739f774cb7cec9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/el/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/el/firefox-103.0.2.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "01f7e4b9b790b7d8d04ceb541a9f5495cadd84487a253a9f0a2f64d95e1f1381";
+      sha256 = "a9ed65c8456545039d6127fd486d53aecf007235f05a0b74dc474fa682b4d5a8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/en-CA/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/en-CA/firefox-103.0.2.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "17637bb32eae9fd62aed77aae1e3688897a229ccbcee8713ddfaad445675970e";
+      sha256 = "a57634e452ac8818ffe360686f003c0c98a846b66990125145d99f16b29626eb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/en-GB/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/en-GB/firefox-103.0.2.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "3ba09343c64f2d230be54fb06e4da64d4f403244afe01172afe70a625c6308b0";
+      sha256 = "a5c6a543ff3582cbcc958a007c228d46eba77d8e12560f73028271d61b7296ae";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/en-US/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/en-US/firefox-103.0.2.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "937bdc2a1dab756d1e094380c5508343af680aac05505697080fea1fff839359";
+      sha256 = "7869a2d95e02d34b105b37baa669cf29e0fd075fd883eaf4b2bd4e0ced77f6ca";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/eo/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/eo/firefox-103.0.2.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "632431880874ab732559156357b61789817d1222c545c0c78d8e5d195db3969a";
+      sha256 = "9b587327f283a51d24a65459e7ca02e11230937da40890c3750edeb36c57edaf";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/es-AR/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/es-AR/firefox-103.0.2.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "28031cb1990fc6e343106561f84370d0211b368aca690a7d7c788fd168189de9";
+      sha256 = "8ea2c2433631faf1b808da7123b7ed8b9a2e113b86617d9218d79834af4e679d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/es-CL/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/es-CL/firefox-103.0.2.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "7976c38ca38e76f48816d398c3afe47ad6a4d809ad82c5f7907eab80ace349b8";
+      sha256 = "4fe43133d965c6cbe7972f55101af80421af341da4305f5a929e690a9ca9521c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/es-ES/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/es-ES/firefox-103.0.2.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "047e5b2f93321bf63c7a7a155dae6729b96f72238864f58be849821cec46387e";
+      sha256 = "44133f39d1b962860536f619993d931156867c01d1e26f58d070f1124505c960";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/es-MX/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/es-MX/firefox-103.0.2.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "a4e86baf7ac83668ca5aa200e9264ce68ea8da8b0f191eb5cd60692296b9efb2";
+      sha256 = "b7be94d4f18b5e8d1375c4520a5329b208a4bdf911d691f6086c876b1b98f825";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/et/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/et/firefox-103.0.2.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "fd18c2b7f1ff83b52698850ad0fa462b58aa0dfa9756b00d5ba4771e361bac5e";
+      sha256 = "a895e29bd9e27be40c3e5dc929931642a479e1ef3b76c631bed0fa423eafb707";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/eu/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/eu/firefox-103.0.2.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "216ba0cd18c57d47fa8c895709d51cc9cd33a6373fdc79cee1d2beaef7b147cb";
+      sha256 = "63a7602c5bddbccb797aa4e5f5603dc6d86101085b2c29355e270324293bcba6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/fa/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/fa/firefox-103.0.2.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "6e6f3b931a4ca497d0fe251404b1ee29463920e64a64d1bf1d260acd237191c9";
+      sha256 = "ba35501e17f2cf5517ff28ad90f7e9798d0fca26de0c5cf8f8535389a285509d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/ff/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/ff/firefox-103.0.2.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "dd2d979df168f3978ca0380d09b3629be68f6c3008f9caa4f3d7a7969fb54ae7";
+      sha256 = "c0eb30b289e912c1cdf1bad80ccfecafcb2d4a5f893bce45fbfb39b43ea5ffb4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/fi/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/fi/firefox-103.0.2.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "07547028d107dbb3ffc9e2990ec7800d4542e9f7474fbe3a7df1643d993292e7";
+      sha256 = "405efc6891ba7e65b42359229f98c4483cfe35b623ea2a6ac2be868b556ae2b1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/fr/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/fr/firefox-103.0.2.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "fafa3c09f9845badf02b4df6e26278e3e61a2a04e442a8aa0983f5c0754e72e5";
+      sha256 = "cdac96bd9de829c0c50c7dd54e0a9973cbca2aadd38f0149bc4290cf817b0b5a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/fy-NL/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/fy-NL/firefox-103.0.2.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "de9447cc3a805946f8329baa70e6b14131cad4c50ea19fa8e9478fa112d021df";
+      sha256 = "9fca46eb9c189626430750a7ee4a8e230e0cd605fcbaa2c100efbbf954fb0fff";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/ga-IE/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/ga-IE/firefox-103.0.2.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "179385dfc332a1a442ee3632069099c52d6b0db67448e62448fbc4f456daca06";
+      sha256 = "1b85d7ba7fea1a81859b7e453351806eae58271bd0ee5ebd3111219846e7ff5f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/gd/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/gd/firefox-103.0.2.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "667aba0ef539d1406fe3d72bdf1c2719ffccb4f2637cae8cad2f541736c948cc";
+      sha256 = "d9d79846b310803de926206b842ca5dda33bcf9a896b5703c8244d7f9d2e5417";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/gl/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/gl/firefox-103.0.2.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "3dbb032a6a88a2916b56b643325d788ace086b3126ec67066621c4f4a41aa5b4";
+      sha256 = "77292d69aa5fc995c16feffd5bc21137f4b623f247093c3ce319847671f84481";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/gn/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/gn/firefox-103.0.2.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "05024810f61e23864f88d3de556407aba5a403f39cde837fb65f1ec71ae2d2ab";
+      sha256 = "e6a02c18a386c2a68194267d561a364f3832ebd8d2ecd6a9c5111c0509481ffb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/gu-IN/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/gu-IN/firefox-103.0.2.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "d0efb04cfaffa65bcdf70ff61af1d8cd05d8369bbc99e8dda2ef787e45ec7988";
+      sha256 = "c3b9bd403d549a1bc9cef24e36f8dde3f9cab01b24b917d9b09ed9da48d061db";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/he/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/he/firefox-103.0.2.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "55cb2ac9cd630f434882972b64d5cd2d0d37a9fda00309643184bd9d8ab2c6ad";
+      sha256 = "9a78a88d90fb0d89318b5fbd74465bf03346e6ff7f0b1610903853b2bef4e05e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/hi-IN/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/hi-IN/firefox-103.0.2.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "3fccaf76af32bf1366f18b1804d00d06369a60abd72be3f8198bbda042a7d424";
+      sha256 = "7f696fb0fce2d5a036c7624b1cc0145634a4f731acc1165a2446f91b55c3054f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/hr/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/hr/firefox-103.0.2.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "b274f938e9fadbb8ad9aa60c47f427041037c0ffb8a5252389268fa6bdadba25";
+      sha256 = "6a2b65671537d04527f963b37645629b0446f3acccf2baf345bde00a1d80d7e0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/hsb/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/hsb/firefox-103.0.2.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "8bdd0060880038340b7723b592914cc5ab6fae2847e3040bb59b9e1d0147e810";
+      sha256 = "586c85a6d0741fa62a9bf220de289f9646a618dec6680bb0b7f54ae4041f383c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/hu/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/hu/firefox-103.0.2.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "adfc3ad5fe53b2e7c223ce66b36e5d11971c06d0784a0b33c1e9920c03b01bd3";
+      sha256 = "73d6cea610cc49b6fd47edf73fa96741190f06e830117924e71a38fd0ba056e4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/hy-AM/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/hy-AM/firefox-103.0.2.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "b984109ce26763c37e35d6a6bf49f9db68a4999ede4e975966cc9d1e3de9ea5e";
+      sha256 = "bcbe9ffb5641fde9aa91ce397d0b9dccb087e42cc5789f5900098c6c013d7719";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/ia/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/ia/firefox-103.0.2.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "75e12c2fed8c75451118ae69edfd7f6787f6cd3f4de33a9098b64bcd8c6aab9e";
+      sha256 = "0ac6925e54a5ca30647997cdb292c4f6b35222c60ed1cc1c382e6c78c5785cee";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/id/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/id/firefox-103.0.2.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "7cde45f9c15dd3b086f21e47cad4419e5800fc5898c1c7d08be3c5d006fb1a5a";
+      sha256 = "a393a32ca88a373f65a9a1fd97982c5f58972f264ccf5ba5be860d3aee799984";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/is/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/is/firefox-103.0.2.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "618fdb474001ebabb51fdf3b952c67dfeacf264eca80de4babf7af1689b22fb6";
+      sha256 = "05cf0e983a2dc48688ab1d3110ec8b0f52d6762c8d95a96472c977ff6a863130";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/it/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/it/firefox-103.0.2.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "b2ed2ac7a77765ca617785de8fd516cd86a2fda66cb221abdf5b0351ae6deec8";
+      sha256 = "4d4acc045eb0a9ba1e18a2d1e511f4b0d4b1145a400013f7faf11c5e650e6ba3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/ja/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/ja/firefox-103.0.2.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "161ce5a571f61367053eee68a52a7270efad88ec9493020f4384308844263665";
+      sha256 = "cca13dd89e889dc0e27822e85c22f2efc089392792434ccb08ac0c805808ac71";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/ka/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/ka/firefox-103.0.2.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "d0a8c552e159848a7560983b0e77dc8676daa59f20795c62cdfdbd7c11cf2ec6";
+      sha256 = "0f102834c3df16ec7c7dd0f2fe70b8f6201b802ca252b43481ef32510837d047";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/kab/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/kab/firefox-103.0.2.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "01d6af978dc4a1ea0464c4519c0da2b36e7501d9f34fb8f3e45c62e6c74288b4";
+      sha256 = "f0b52b45ecb42f4ff3a9420fa353c7df0146512fa6aa45d872e388165742642c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/kk/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/kk/firefox-103.0.2.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "295af7a0be1677ae4eda9d20929c81fd54fd7be0c3cae55581a029d80bf2efec";
+      sha256 = "8e696ee71dea9a09892f57e20c3be7f492449b084f4ca32b687f9ed17a827089";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/km/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/km/firefox-103.0.2.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "8329f01d0c3c7bcd74b9d594a54bb044763879bb83813b6ab853c82266dcc077";
+      sha256 = "bf5774d2fa798e79a77cea50667799ca81efe63b04633cee68f62f5ad168f88a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/kn/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/kn/firefox-103.0.2.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "689d5a81845b54510d600e8e649dc9720762f72e9c634a21d688837ced77f0eb";
+      sha256 = "12e5f87263194d3e4d9185768aa7d4a306952c21c63075cf434f9d856e064a46";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/ko/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/ko/firefox-103.0.2.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "33e7fe7a1e519842e7f648649f816a08bc3ed4d4852dc818aba6195a593f6cb0";
+      sha256 = "7dc889a785027d74676c701a739f115ed9f3060740fa8f2ab7773ffc52e6f5a0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/lij/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/lij/firefox-103.0.2.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "923de240095164398bada5baa137f470be7034dd3e660a8f21f212a6116f813a";
+      sha256 = "cf86b689cdb42beefefa8b4361d239e6a1b8b43b62899893b7ce0a4b8e8f6c4f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/lt/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/lt/firefox-103.0.2.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "2df49249b82717d6362c633b205302066ed7aa3eb8fc00c17dbeae3219d01328";
+      sha256 = "cb81de8ca6059f5343a2f8cc4b2110d6784e3bf4077260563f391c977f8756c5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/lv/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/lv/firefox-103.0.2.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "dafc8282db88f65ab0ed656f3c69660292210f93229810e28a796cd3a7ec1aa0";
+      sha256 = "b44009c2f089f01ed49e12200b4dc3baff086ce09630e1b8c9419a1b9542da10";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/mk/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/mk/firefox-103.0.2.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "5a192311d8183cfc79e5a71c0fe05d76560e74c0d2b868a808025fb64ab6f990";
+      sha256 = "73143c3587caca250b3027271c860a4b09c1f6efc898f27d3cf78a5781835f8e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/mr/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/mr/firefox-103.0.2.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "1fca9874f5e3a99c9d1cf2fb479793799cafa3b08754ed2135a2e3ed001363d4";
+      sha256 = "c12cea9024851a2896a9f6b5b6127229cab6f4c1bc5c3793f4dc7f2bf0f8c897";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/ms/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/ms/firefox-103.0.2.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "aa524cca0786947ed6052fc5cca4e237e3c74ad8578c4f9af0e4cb01b81cb2c2";
+      sha256 = "e7cacc43fee6d4e6d720b0994f39e2cfe49e59cd2ba0e47017e7e997ead642b7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/my/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/my/firefox-103.0.2.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "1e061a215ceadb01b056909fd82a228aaa5e5e574c4c35abf66b2da92ce11195";
+      sha256 = "fd98964924a57d5208e14d19fd2fd86aa522cfe1af40ccb1b955195a0899156b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/nb-NO/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/nb-NO/firefox-103.0.2.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "05d794219ffbf98e3f852d9d4778f1b4ca0927080f859a6a8cff60a909219c29";
+      sha256 = "31363aba0ac96d4fee665744f6328e2b447b0baa0957b1286169e7849ef74dde";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/ne-NP/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/ne-NP/firefox-103.0.2.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "b31923f5c4bc4f85b8d8e0162d41790e05f53756bb7c41eecb1b7f0b499faed8";
+      sha256 = "f974a0b22b6df9f7f2d41c1f1b1a9d608fc5d40833454edd7b4f01d4a34c98a4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/nl/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/nl/firefox-103.0.2.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "abfb4d6ebe7cc47c0990f4eac284450622f11e0e951ca884461bf8e7e01b1630";
+      sha256 = "47dfcacb3753d1501393bbf6343aa756f9fbaa4292aaeb3cc4c5fd0293a7bd46";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/nn-NO/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/nn-NO/firefox-103.0.2.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "00946bd6cc19030e82d3596fcd6dd11b73bc5304fc18bbfc4477cf3b6e56c8bb";
+      sha256 = "93ea62e1b69e0af218e66d4f627a6690eae8fce07698ce7b532a72877c482f23";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/oc/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/oc/firefox-103.0.2.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "972624fb50bd180c1315bd33b17be1daf654190c8881817d88d752e161aac601";
+      sha256 = "7be129a7c0dabb608eb38a76a940fac9f09fc2da978880f25b07ce695acc5068";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/pa-IN/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/pa-IN/firefox-103.0.2.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "ccec76c2f28a69d277536d1df430df3f615e0f3612b23e0d9b26ddb3e396ac8b";
+      sha256 = "e86418ac11d823f694404749c2d79efa3b6f94b78a0500e0f161dbb39888e01c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/pl/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/pl/firefox-103.0.2.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "776354d0934ffbe363e75b56ca43fac64ddd258532d21c6750c5748729c41d46";
+      sha256 = "c7c8021f6f354142d59004f33b9846829dd883141031b5cc918a3768b5b06a5b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/pt-BR/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/pt-BR/firefox-103.0.2.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "6232d7d6d5a008158765a4dcc1998e4a124b9c9141490241b5bfc19447f92e3d";
+      sha256 = "fc927cfd3d653f2249d0e0b0b8b680e8912801bda21ca28be80a02ea1f58c6b1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/pt-PT/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/pt-PT/firefox-103.0.2.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "ea84e483b31bca3f94e4eec0343dfd6b26d35b17549476281765784453f2762e";
+      sha256 = "73cdc8ec0098d5f2be5ebacb6258948896331f073acbc446a61ff352ae89e259";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/rm/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/rm/firefox-103.0.2.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "9b8810422750532fe09751e98ad67b2f5e13034d5780992fcacec2b262d02634";
+      sha256 = "3f77d327875c2fa51a5e8c0f610bbf4b762c593dc9c027453eada786ea0960d7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/ro/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/ro/firefox-103.0.2.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "ffac0d747bd7ea727269b61a13d952d15f08a8c3225bf1ae6fa3c28a237576ed";
+      sha256 = "2ba0a665af0c2b3021e9dae7c8dfc169684873e77840af836add8def26292b09";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/ru/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/ru/firefox-103.0.2.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "366d2fc6a8969b90a4da028a2bf1dece5d8d88feef708e2ae866707da393e010";
+      sha256 = "34349423496c8fda3ef2304fc63ae2a04880d1eed7a953f1b446f5225bdbcd8e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/sco/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/sco/firefox-103.0.2.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "064ae0f46f31b2eea30d92e8b8175ebb6de71a3b7f5bf30a9a8f57ba229ea354";
+      sha256 = "7b16c352f96824395ac992545a44c8543f7ca8458503dd80fa431cb95a0778c0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/si/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/si/firefox-103.0.2.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "055b3706a1fb58efdc7179268fc6cd00f0f7a2b1b0d0ef8f1d501ec0d9a36118";
+      sha256 = "e622e22029c73feaa1f3b8e8907012c97f8403032966b7d347e26d57ee90fee2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/sk/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/sk/firefox-103.0.2.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "af6a97f5b38401f1af03faab8fe8bb7f0e6a29ad56c1c7b267b7ce7ca9828253";
+      sha256 = "1c683ac68e6b1b7ff4bf74365770f627d9f4b1614eff054a8f4d488cefda9d3d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/sl/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/sl/firefox-103.0.2.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "a56aa117ce2f60b3dbcac69ab7ffc42f152af35500fa965bbfd12e163679dde6";
+      sha256 = "33f625fd5482bf741bb1695e7bda2ffaffd69e83f4518989c3d562f1db173f3b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/son/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/son/firefox-103.0.2.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "8b69b5ab30a0887c6ea0d9f805d358d20859bc70a742cce9e4d577a43263c29d";
+      sha256 = "173db42247414b8fbc42b6cbbb0364e45bbe03a6d4b2ceae22582604f86d09fd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/sq/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/sq/firefox-103.0.2.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "16c37733a88a6db2ca2827269674fbb5273ab76a7379192f11e1c7d77229a226";
+      sha256 = "ac4b3bed8a1a983431bdf31c0f4436da0bed5907c7ea3277d9583e3eb356fa66";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/sr/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/sr/firefox-103.0.2.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "56b0eafd53235c55db2deca8cd265187b27c76cc7d7155a1a1db9cdb5954b6a8";
+      sha256 = "864fa316ea5179e0eedce9951028dbc0063dbc4dfaf9bc3343d0e5b25fc73f77";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/sv-SE/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/sv-SE/firefox-103.0.2.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "b11c7da532c0facd76782496153dd509f064f02c5014b17c6106e0a1f353dd37";
+      sha256 = "df701656df9f438f3faa31feda4c326a43a262cd15ddfbcd5a50b6fd471fddf8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/szl/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/szl/firefox-103.0.2.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "8516c8d8bdd7876ab3cd48c0507e87df0c7a323958d9218b42858706b3d90784";
+      sha256 = "33c14cefb63d3bd05874e970b178d741e163f1ee2e14dce1efb5af96e63342d9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/ta/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/ta/firefox-103.0.2.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "37b1e5bd0db7654145f70c9cba46c5e541c8d2b4393b47233fe15b4bb76bdf21";
+      sha256 = "56cf70503dc04da80518424df9931252bf9ceca59123469b051c32f9a97fdb86";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/te/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/te/firefox-103.0.2.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "be9c1705598f7f0ea4bf049a94cf9b44a3c4b7637b424717198564bbdf8f9f3c";
+      sha256 = "3e97fda3b8995a5f9efaeb211452baa197396f8a5080e87f2a3280342e506526";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/th/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/th/firefox-103.0.2.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "8cfababd599a8d56438ab1ddbe3d8365f58c727e8f998867a6fcd30b19f870e8";
+      sha256 = "76dfdcb6e37050f5b99cf077cde9d8d3b9d19dabc1e86e03591d702d9af7ac30";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/tl/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/tl/firefox-103.0.2.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "30d298b7b4c9bfd35f4becba11f280bc52b4134da3fdaec0a6beba4069c0fbb4";
+      sha256 = "e2d601596453e03b429bdc617c70216943e070d1c1bfdab8dc8d75e74327db29";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/tr/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/tr/firefox-103.0.2.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "ffd47173dd5808f0d835a1ee5ca4b474aa11282d5a6be83d5b0aef61198f78fb";
+      sha256 = "08344227b430e93b0c0c4106948bc84d4b435b61f727a14c4aaf03dfe2195dd0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/trs/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/trs/firefox-103.0.2.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "c40501f417f2c2f4a306bdc9ea8815ae967c874baf95aa1781fa8408924d2361";
+      sha256 = "d832f899f7860a27f4ff919ad2497f7a262b04ccb3a68a47a673fa8e781c8640";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/uk/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/uk/firefox-103.0.2.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "c0a9bf9bb2eec033f8fbcb3df5afe06a01c1e27de9064251bff08710f068a7de";
+      sha256 = "9dc9a94c51d6ade30757add21801f994617bc279fcb4991b5dbd253e8b7a2802";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/ur/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/ur/firefox-103.0.2.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "fd2553171d4aff819f0f8b2a369f1bc35f5e5cb0843691134a6a14d1dfbddd2b";
+      sha256 = "4154dc35d9e46d6e2c374b8a62a80af325dabe1ae9e94f1def23a585901f9599";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/uz/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/uz/firefox-103.0.2.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "d56364be7559354b17cc392b3d8a27f93b6e71cf115a077ad788bad6b07213b8";
+      sha256 = "cf0e53b045242ecc70a56c099aaa46282291bbffc3d6af635771c8dcbca09806";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/vi/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/vi/firefox-103.0.2.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "a4198d885b95f4ed35972193be9d4294c1988d3e44e93627b2bdf46c44ad0327";
+      sha256 = "f326a13d4fb7f90186dd103d46b66b39a47482b807c78073e330bc7f17fb27ea";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/xh/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/xh/firefox-103.0.2.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "858c0e79ccfbcd29b088833e505fe2fdd58711bebcb5e24f86bd5cc1c3d3104a";
+      sha256 = "089ccfdb05134a1e6a9ad4646dc443a24ca240d083c18ab1cd78564ee7e4f787";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/zh-CN/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/zh-CN/firefox-103.0.2.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "507120ffc2c3d6b4d0f1b6187778916fb2496723a3c85c0a9b2844860bac91b5";
+      sha256 = "686ab7d49994ee25ffb8a8a3f242f0982897c821690f10f2c30c1ec469df6600";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-x86_64/zh-TW/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-x86_64/zh-TW/firefox-103.0.2.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "dc224df3e779a450e38539c969146dd7de64a1b6ce0c42747d6d1f6f2b67b795";
+      sha256 = "4275ba2d56438ab14a1008849f373c41b292d85bfc07902f41974d1b198fd205";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/ach/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/ach/firefox-103.0.2.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "bc30116d137480ce633fb08543813da156945ebb599903343ddfc498aa4f5d74";
+      sha256 = "b962109dfd45555b46f692ba3e53fd925afe45ffc0ff1105fe13027cd8d8a68b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/af/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/af/firefox-103.0.2.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "5362a70da1394c099c0e92695c650b461d2455a6809b6b9566f4bd8e424fdf87";
+      sha256 = "654b7507c023333564791f76875f0722b4e9fc935bb80e0b2932de16ebe6b528";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/an/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/an/firefox-103.0.2.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "089072f7f658d9d21213f4b96421e14813d6e5b694c28b523ad3540489804d5c";
+      sha256 = "a93ae626b44676c3a517e35600f7abdac16f2cac873b4d24229a50e8c72a82c5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/ar/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/ar/firefox-103.0.2.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "f573f6b297c3b46ae583d113d9a6f0cf3399267a71116f006d97340867fbb85a";
+      sha256 = "720ae5c60754b63ff0a6e52e691b621362773e1ea9e1cc4d2e1fdf538fb5ca0c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/ast/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/ast/firefox-103.0.2.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "6f9292124b0e999da646dc1f4624252e71410b0990ed18b691b5a313da696730";
+      sha256 = "0a16fe33c0ed46a3e740ff0b2b7980a480434e9bdb9a66f691983e5e8c8e6552";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/az/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/az/firefox-103.0.2.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "669e6cd5ff42df8408be7010aa6f308e7cffd5123ab4bc334219325b30791ec9";
+      sha256 = "bb13e66537f1308e665d74209e5f95ad23fe615a4594afa60dccfd7db1cd91b9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/be/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/be/firefox-103.0.2.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "fbeafbb52047dbc76e7507a2652f25bc28d9c61964bfe9548a7f5b6e06867db5";
+      sha256 = "0bbf4aa7f228f4286e59d34aea49ea36e4bd675bddd385d53e2d995c3c2b29ea";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/bg/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/bg/firefox-103.0.2.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "eb7fcf1a5069b2470a26b2a3b518dd62602cca0008cb6cf8e93ff6582dfcfc74";
+      sha256 = "5fff11cdf9900bab4a6c86707f990476fcd01cdec57fd63125ea88a2eccbc2ea";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/bn/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/bn/firefox-103.0.2.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "d2caf2774f0084fc26ffa7caf55621aedb6ca4f0b0a4cc26e49eb437e01f936a";
+      sha256 = "af80343e344326cf661ff66649cc9a5670bccb3726a7b6923c3a4547ed7c0396";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/br/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/br/firefox-103.0.2.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "9d95ddb999bf3fe058ea200b669d9db1aee8412d4c38aa8f86e124d1161ebb8b";
+      sha256 = "38a485bc21ed61090bf121f4a081dce5b194a44db9cc5f7024d65b5b86fd3a38";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/bs/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/bs/firefox-103.0.2.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "2965f90c8b1d88c07f4d19e3e5bc29a0fa5d1f522d0ea274984da799888d076e";
+      sha256 = "5a251f7ab017f99af3f7becf09f99209c15efd99d9786d1fd8af36e2e2a66b7d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/ca-valencia/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/ca-valencia/firefox-103.0.2.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "acbc900477542e915b15d9ab0c12a036b8abd543ec3c9da6c262ec3b8b6a5bf8";
+      sha256 = "705e61f94a1fc99333b248f11af11fef36e4e7e028e87cd2cceee4c4f5ac7ecb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/ca/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/ca/firefox-103.0.2.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "2065cfe31c5ade0fd6eb16f310fce3ab17c7ea7a2303cfcd0e113b56a38758ed";
+      sha256 = "c524f63fce99d26a61e3b65d7c13cf04e4e8e18eefff32dfab71906c420c5558";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/cak/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/cak/firefox-103.0.2.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "92553646de259198eca06b27f1da8ff3414f366bb42f01c0c96bc183a42ce799";
+      sha256 = "7c72d38c1b93c547066fbff9f6760277c567d7af7b9a6ddd6f0d8a3f90f3659c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/cs/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/cs/firefox-103.0.2.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "dc20f00d952f39d07eb4a276939383512b6e2c0d7968f0a1f89ada98d493053c";
+      sha256 = "06a8d6f3839b5a8e32f20bc5a71812ff2624fd8b19fc443474471280ce45d49b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/cy/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/cy/firefox-103.0.2.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "52506edf1a06b87789c93a0cb31bf0e0040c3f5b5e532cdd8cfa15f3d376c5df";
+      sha256 = "1bf70f593238cbfff6994f1370a69d1138686712f8da800a360f01a5a5260a8a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/da/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/da/firefox-103.0.2.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "4057240a916614dc5bff3917246e9ce84ff52889e6cc87dc9cfca6e79f5d631c";
+      sha256 = "9503186aa27c860094c8c72d424961f292ed3c4d0ad5e592b4bb5d8c7fc7aee4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/de/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/de/firefox-103.0.2.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "dd7a5f996a6a180b70451568d1ba1a31fe8d23bb16cc7d9d547ea775049515e8";
+      sha256 = "1395d528ffd1c29ef33be7609849e60312f6964b49b796ceaa8f2d0e9641147a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/dsb/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/dsb/firefox-103.0.2.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "92ef3c1569f77941a7e7bc2be713cbf5835bd5688c06ef633339321389b8bc23";
+      sha256 = "96d2cb208b7d41504c2059f80c83be8f01f81668e47d6188edca701cdd1e1418";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/el/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/el/firefox-103.0.2.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "323078ee70f1b6a891df2a58e62f57a316b487b6b47975bb1bc496c283f6f568";
+      sha256 = "180bbb5fc06ab926ede08a40d9f3444989dfcbfdd18b7cc083072a528ae4b5e4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/en-CA/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/en-CA/firefox-103.0.2.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "393297e33f4f8e913b47310403cec9968027bee87953f6e32d3dd0eeb7bdb71d";
+      sha256 = "a3e0a8fff4e2a58f518ff57e6bdec8b14513df1b0ac310c1f9da9d45961dc77b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/en-GB/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/en-GB/firefox-103.0.2.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "714e067076b7a506ecb2a3cb1ff9e0dec68f44a95a3d7ba3c4a45925b7712dae";
+      sha256 = "8c4e8a2d17e6730711cb3bf533269d91858ef7f903473146b934f367f423c4b6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/en-US/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/en-US/firefox-103.0.2.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "86d8c763a111b79b4a6c57c761cf8f76e94fdcfc075924221bfdda8bf95f2f9d";
+      sha256 = "99852e7b204be9821a40c42283d819a367f12adbafed906d22f12fd53b3fa8ba";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/eo/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/eo/firefox-103.0.2.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "94a244bd694e753e2d071605ad834a0ac1b2d41383eab297adb32242dcb9eb4f";
+      sha256 = "90bf871975ca2ff7ec781d8fed17528fc38fc41ba88e5d26e67a083f42ee2576";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/es-AR/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/es-AR/firefox-103.0.2.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "5cb47e03087b9e4879740f8dfdd06c461db63134e4e6f65917dbdad54cf012e0";
+      sha256 = "712e7d63a064417a986a6bb760bffd46f3e927af4bc14d2f281343dc72d7b3db";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/es-CL/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/es-CL/firefox-103.0.2.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "d37e420314e20797f48a94769e2c6610183ccc2b51171107938ae434876b20ff";
+      sha256 = "3ea9baa59fd7207b8cb8286f222e8f7bc40a1217d9b3ec73f8f3c766a50bc889";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/es-ES/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/es-ES/firefox-103.0.2.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "b24d24ebd5ef2bf82a1db3f905e786cc2820be6ab3f802239c2f28c98a7bf754";
+      sha256 = "ded9fe10619ab84f51dd66ba1ea60406607aedf32329e33a24e56619aaf3f211";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/es-MX/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/es-MX/firefox-103.0.2.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "93497b4044727fa84c73bb5710960d46ea2860a66c21b80b10b15e35cae878a3";
+      sha256 = "794513a4b2f55149af96f4a111a02c7dcd2d0d98ccaa89d0922f5daff9aa32f5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/et/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/et/firefox-103.0.2.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "a66443dda276e1d18d43c17601ad238fb2f82b23ad64672db1093d5627deb7ce";
+      sha256 = "b6ded248ad65c1d603ae39a3eb123e6476334ec4d151c9f48d496c72b5f8c3ce";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/eu/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/eu/firefox-103.0.2.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "22e7a857ed7ec2f9d1aa4e5711ea7152f075ce4ad31d22f9fb71efc79371613d";
+      sha256 = "778c30d9467d7e3a12c79813cee3e39a5bc0a3faea8e5224c4c9014fd564b708";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/fa/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/fa/firefox-103.0.2.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "ae7e011437853226facaa963e1fac88b1f380c0a309bd7f05b5b0d3955836618";
+      sha256 = "de54be63983e7265247a0f9345be06361b2c9475631b7f28717192d4ac015c30";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/ff/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/ff/firefox-103.0.2.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "1af356365209281f9c7f880aa952c363481c3d228c2b8abdb9bb0345d4fa69d8";
+      sha256 = "50bf5f2e029c715cb261acfdd2435cdbdc15ca9c6aa5e0a8a60090f137265bfc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/fi/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/fi/firefox-103.0.2.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "e9790ed26aca33a69b098db9c3889f296d67f2be3f442203cb62f03e27ab10aa";
+      sha256 = "fcbbebe15f79a5634d5618b62c6b34157a48060c9ad7aded8b919a6f306f6998";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/fr/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/fr/firefox-103.0.2.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "b1a97dc1f4b6c4746803372ad77ae20ff18a5957c3b9a9271de41ed68ec63484";
+      sha256 = "8dc93cf01ccc9bdaabdd74357e90aca4a3533da7c799a650dd862c93b9f36192";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/fy-NL/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/fy-NL/firefox-103.0.2.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "533720e6a43be83b9670ca4a3b76f6c1f5dc04dd7a8bc99c4f33890a7abc1135";
+      sha256 = "5d314e155903ff8f62671111c49ba5044cc55e5f2b7f2dca8fa2cf68d3b3c2f3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/ga-IE/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/ga-IE/firefox-103.0.2.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "4c160962b3f9670941d258c074e56dd8d3a060f35c78c38e171586d6287c5f5f";
+      sha256 = "b5ffa83c822f9cc24cca6b385b72280cf1bc3e971c5bc285d0e987669d696cdb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/gd/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/gd/firefox-103.0.2.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "7e7004bd9f83df4f0d74a1417a2c74dc1ff68658d9a40db6754d8d9ffbaa0436";
+      sha256 = "2b89166220eb02826d8839556e264a8f08fb0340704380d9919c8ed5adc79474";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/gl/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/gl/firefox-103.0.2.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "67acf682a64e23b252b0bc8755b0d9a274a1553926ed1d3777fbb5a80c427dcb";
+      sha256 = "78a673257731f1d88fc4f13361cc9eaec5213b7af456922fea287683f5721659";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/gn/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/gn/firefox-103.0.2.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "43f22510e67a997a7461fece9c737e4d42be0c0b470edf46026a4b62bb04a659";
+      sha256 = "6dccf2e372d95c23d1adbf951e2f08ab9c273ed0e322b5c89d21a5590886eada";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/gu-IN/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/gu-IN/firefox-103.0.2.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "dfb942f2fe0421c05e3e658fdb7488aee8c01086166e23daa18c586f614bc97b";
+      sha256 = "e3c264da5eccaed2c86d3bd9e116bbacf717dd2573612ebe03d4e9a9ccb44f62";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/he/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/he/firefox-103.0.2.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "a896b4dfbc7815fa5d98daacb85e767b0afbf848ca7738ece7278f58f7133c59";
+      sha256 = "e6cbdbfc446cbb5abcf3a1c34de47ad44449a98c0d420866fb1084197c47c2bc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/hi-IN/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/hi-IN/firefox-103.0.2.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "be9ae4e1a55e36e6240fd8bdb8656d9e5ce8b75b08ad412117ad3f72e776110a";
+      sha256 = "9e14ce602d332f44f65afcfbdd02c1c906df5da689e54cce3fb954146c905b95";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/hr/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/hr/firefox-103.0.2.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "c960508d1b06d52d86b4c5a32107ed85d02fc453587df42593dd62881aa35903";
+      sha256 = "885572cd49ac83b5b741c9d457d7d24f18607ceb469c015f526a458b217b03f7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/hsb/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/hsb/firefox-103.0.2.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "2acae7859ba6256315a44f7b14e81f94a5f5eb65f8bb59a63ddf3e08beeb7d0d";
+      sha256 = "d4dc7974cc259b7c89f3bf5644f4ce9ed550fce3d4ec3d541058f2411328f87a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/hu/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/hu/firefox-103.0.2.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "a21cca663c84bed5a2be7d3b7cef80a21caa6eaf066692bc2e68d40c0fc2a71e";
+      sha256 = "96305bc7cb3f344d97075bb72ac01295611074ee6086e5f0d9f6fe821b5ef277";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/hy-AM/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/hy-AM/firefox-103.0.2.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "ca8ca204c2f0d9ca8f9b378fb14a0a23ab82cec158a3018ee719f94545dbf34f";
+      sha256 = "8bafc462f78afa7ab315fbe6d3f7aa27c6bb766444ad2deb621ca1253101c3b1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/ia/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/ia/firefox-103.0.2.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "efd1459ead331eda306c6df3a74e7170e88a2bbc53556ceb76ce819de793b8b5";
+      sha256 = "9e62963fd48110753ba62227d47e25364e100bf8bb18d71bbf15984df2d869d9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/id/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/id/firefox-103.0.2.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "04c44dc5ab9aef16faf4f6951c918da694cfe7fa72f3b1afcfcb723cf4d31110";
+      sha256 = "2f0cecbc174cd7ac532e188f95d4896134ec151b6cb03879ad9eaf9278beae63";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/is/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/is/firefox-103.0.2.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "ff8663e78cfb26c62c9d9ba3a9d98167fd16a05c3f6330a97e49daeb3fd02539";
+      sha256 = "4132b0046fbd0eea3a7d279e0ad62ce4852915966a38c91473ab35af483288f0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/it/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/it/firefox-103.0.2.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "86c7b2de8ddfa970e31002bc36257c405c913bcb0bc1e3ec05daec0cb3653eed";
+      sha256 = "5728d3ec62f7ec68ef6027215bc6535e212a03ee6f824453a2c723009f439be9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/ja/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/ja/firefox-103.0.2.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "476854638fcd9d40ae0821a7223e8293061b6141242bfe894d0f82d4f56fdc14";
+      sha256 = "71410d762f9322eafcbc9084bdaa989af1a9c9e43507fb6078a1e80512aaa478";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/ka/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/ka/firefox-103.0.2.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "1ad9ee75b064f7b842c28ad3fb7bb0fb87a4cc2cc6fde2c2e1930383b9ffe950";
+      sha256 = "0518f6fd8ff08b9d47fb1c9cb3ac869ba1c5c7da8eeaaee6b70dc5f0ff1eb9f1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/kab/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/kab/firefox-103.0.2.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "43f6c3ef52c6aa64f14693abcd789003a13319ee6b6d78e975fecd4d63c6bf91";
+      sha256 = "c3da39d573acfe6c8389be20c218e8bb3d00e21726e552f8624a23278ddb3850";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/kk/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/kk/firefox-103.0.2.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "be5e3db5f801d7bea19a81c4b693598f6c9d2f5c9b87084fb3cfc5ea562fad30";
+      sha256 = "8d192c6e780bff63724b012d09d8a6561cbc85fab2dab10b52df83cd2d42bbfe";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/km/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/km/firefox-103.0.2.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "87d97e0017fa2d570ba174e6efca323c77d9eb119cf7d8872042a0f63a317a35";
+      sha256 = "a3469234f1b42bf11e62e9a352810ea9aa8d3775df18f6f40a0cd8f9f5209d64";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/kn/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/kn/firefox-103.0.2.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "4f7bfbb6934ddaa4e32af46cfa23afae8ddbe5fac45634795b51c4b7d4c39ab2";
+      sha256 = "a8cb7107d56f9aa094f673c265e0547a1b0907b678dee02b632748bf4a5a48ed";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/ko/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/ko/firefox-103.0.2.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "07f05724487db57eb94e0e13bde60543130560aeaffbd079304fd1a930a5c456";
+      sha256 = "27fcc60b73aaa0298bd66347bb57b5ce8b13b4d25a6ee5180b5ca4f7de6d1a1f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/lij/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/lij/firefox-103.0.2.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "15261b9be5555e3c108d611daf3975ade5490728155c9741b6744495a980bed0";
+      sha256 = "8d9cd8eac3a0428fc7369e7ca02a0ff222431828c45a4eab58584acb80158be7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/lt/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/lt/firefox-103.0.2.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "39e287c4c2123ec859638344269f17f2ae2467a4f5cf009fcd0067544f05f2f0";
+      sha256 = "d80dd81c0aa9470b740745383ddf42553ec41e5d9c4c504bc9bca6478e7a57c1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/lv/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/lv/firefox-103.0.2.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "cc18270d8d08b7f78e5e570b12e92c6db2436ad94e03df9bec81e8b70c3ad8a2";
+      sha256 = "1bafd38a30b1b8bf6fa0e9ec4a6a9fd6c4a4872e809e1d66dd1c6787d1bbf46d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/mk/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/mk/firefox-103.0.2.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "899abaf1abea9226c6f5ed010f52e6b1de5762c26f8e814058d479ff48e82ccc";
+      sha256 = "642abade64640db651ce477deba87994a118aa279f6ffdd302ddc620a3d0c9ad";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/mr/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/mr/firefox-103.0.2.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "2d66ab6d14cbc818b3a0fd6223443908c055f521c5c1681d5e072358ee4f3b79";
+      sha256 = "b00eec77bdafd2046aa81260ded7cb56c459b4d1ee7ee80652983791fa16affc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/ms/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/ms/firefox-103.0.2.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "b2e1bff83dc9c8a19b28110ec828606ce11ece8ba0e8c80020c8537088b0c673";
+      sha256 = "f39f3771158dc7c46e3f5c30b433d35586da0a5d3418d5b0f62042521e99052c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/my/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/my/firefox-103.0.2.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "251c29a92f6786e4603e9063554d4d1a448e5575dc996bfd735b21b220bf40cb";
+      sha256 = "9dcbdf49871e63f988c6b3a4115bf84f5d3843fb982b81e87495a1db1cb80675";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/nb-NO/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/nb-NO/firefox-103.0.2.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "b4d90931b0af0ff5ee3da3f77d78ab7c2d446ed4e791ff0dc50875a75cdff084";
+      sha256 = "59a4c7145b3a76d51bdfc8f6e4bec7c8624d90e8131ef97b272e2e073f1fe708";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/ne-NP/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/ne-NP/firefox-103.0.2.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "b501d73c7833ab785bc175a8e4b104b3aa8cb0f8706aed0b50046d29b775c996";
+      sha256 = "577f7e0830ed6713b6b00a0b5ba614e205b68202c7243fa1fb452001fd5ae1bc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/nl/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/nl/firefox-103.0.2.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "f085d6b488a35c6b37c8571168bbacec94d253c59fb07485c2cade4bb1ae3e23";
+      sha256 = "fa9f40f2868eb78501486c8513d978faa1d513060eca68fdba13fa34578a076e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/nn-NO/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/nn-NO/firefox-103.0.2.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "4c379f3337ed4f3615f85b1d14d49e1f68e7680bf851f147a4708aadf5353b17";
+      sha256 = "14732b26dc092275a78223243733a29ba195c719170d852119d689ba4e31f915";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/oc/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/oc/firefox-103.0.2.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "918f9e3d4c2e31c5b569a59688d9e058ede506a946e31868e3c71b7c92bdc7f3";
+      sha256 = "484bfe1df41935476f76dedb9cc3b8cf9e7b299a1e2e99f78a68ec797f8b3d6f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/pa-IN/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/pa-IN/firefox-103.0.2.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "2cae7c5d7e269fedf70fdc0308abadec2997678c429b2a230ae0c7b7d08fe838";
+      sha256 = "100fb719a2f09c393771a766d1b165cbbee256b69cd07918fe4afe7b8bf78140";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/pl/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/pl/firefox-103.0.2.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "72cd07d64df4cb2f02a5634c945a264967a410f0cc1b2a6d592903e61eff55bc";
+      sha256 = "2419cab7b2b71d2e39440d8867b2bba66cb2c6330240d7a9d22c63668cbbc875";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/pt-BR/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/pt-BR/firefox-103.0.2.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "ba79744f0287c05a411ede8f0242572719d414ecfd29a4960a588a9a3cdeae5a";
+      sha256 = "134331e12301a11048a75a891c135fe48bfe573a1d86a3ac454b7ffc4612b0b5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/pt-PT/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/pt-PT/firefox-103.0.2.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "3820954a0ef1d7e82402f3869d3717712a039df2cdc427c25b692da4b2813ec7";
+      sha256 = "8c7fb54060bf0708c3e9d4afe4ca3433078d0c815acb120530fdd1a2cb22f9a8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/rm/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/rm/firefox-103.0.2.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "61d9f286e3750159d6d0f68da755ede28c4f88269abaede7a0196546b79d9bd0";
+      sha256 = "d30713da6519a177e88df0a65d44990c6714248cc69146aefe20006d99056301";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/ro/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/ro/firefox-103.0.2.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "9041ed31ab56613142c743d4c6976da446c98cfaf8c030a668a1436a0813600c";
+      sha256 = "3780683ff2b1f9916770a3d93348a4c6243d4aa7d45759a5d13ae1483b14b95b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/ru/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/ru/firefox-103.0.2.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "d29673410cc28dabf10486dbaedfe935b1e02840d796ed9f36b58be76f97155d";
+      sha256 = "287874ea57f9088eb965d5cdf1d574816f884790e92ed4d857129afbc737d1c6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/sco/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/sco/firefox-103.0.2.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "f1bde45898a0e504e6bbeac0ac44cc8f7c6ae3696e7a11ca25b267dd30486e59";
+      sha256 = "7f0e4540b12439b4c148fab74b162b440bce4900b1c854f65b5c69dd40b157a9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/si/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/si/firefox-103.0.2.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "d8ff70e32896753fbc5c104d444495c3709d5b8aa8f840275dd69f6d147b1c40";
+      sha256 = "bd67285f89656b95fb3b7ddc485298e11cb585912e558118bf819afe83a5f7fb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/sk/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/sk/firefox-103.0.2.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "42db038a2d3c07c30afca270cd284d7f7313e79895c0d86f9754a755089675e4";
+      sha256 = "42c7d180af9f7971341044513fe347c6b0f97082370a3fa42f77edb1bf7e18d1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/sl/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/sl/firefox-103.0.2.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "299cdf6dcaf77c1e2b3da04176d01653b5de24537a128d8b713d6c8938e1ace9";
+      sha256 = "edb90893f92d6c6ef6d3fc118439cf51d2bb60b863e5c7be4560dd66da4be774";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/son/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/son/firefox-103.0.2.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "b3ef9fd3c7312341248e8ce579a61d97f016a66e562213c6b80a03f9662c372a";
+      sha256 = "cc894f3899204fd5d5da28ab1047fd36520b0503756a4b1a473524e7046943ad";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/sq/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/sq/firefox-103.0.2.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "3ccaa5e0d5887c9fe487e3ac5a200ea64d442c83a0968392cd455da6bc9d0d4a";
+      sha256 = "575b38e35c41d561f49270a7a9c93d353f9a2aefb17744f9eddfa6eccb69ee0e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/sr/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/sr/firefox-103.0.2.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "9311209f59d828b68bf169d3323d80e55ef014797f1c8911442a5b5e2b22364d";
+      sha256 = "03da3ceebe3a4f57599240092f3d7ee0bb3212a5c943fee81bb92d8bc8d4e842";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/sv-SE/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/sv-SE/firefox-103.0.2.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "54b181d0f42fffe9109234d2b7b8dadfd842ae45baab4f173dc54abb921c86e4";
+      sha256 = "cedf5b9083da650e10fa980c666d001494fc012ebea55d63d10706470fe174ab";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/szl/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/szl/firefox-103.0.2.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "dfb50ca29d0b2e608e6f2811bee7458cfb73236f19a089c25e4a4d5a9729d019";
+      sha256 = "9a5b695aaf23325d094d4ff33b89c014e0356721c9f05f97394f8424c470f796";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/ta/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/ta/firefox-103.0.2.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "e92795b75ec89022f8ffd6bc1ff3dfe726ff613f91ddd57a16456c23f72e6ffd";
+      sha256 = "0596f0f82eec30cd8d81a0fdeb48b031eb2b5b5f3624851a9e2974e5a515f4ca";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/te/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/te/firefox-103.0.2.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "6299af638431afab2c36f883ccc268f719d11a88d50fc5cf2f2dc109fc823539";
+      sha256 = "548bd9a8dcfd4b0fee2fec6819d659a41c51946e8098d1675e784ac81886ccdc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/th/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/th/firefox-103.0.2.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "7eb863e5bd9affde9b9bd9d8b993404d95b2b3a0289083325b92f702041f5778";
+      sha256 = "afaffdb62f14531d658f3af231bfb3f753dd4957df3b7b76c912b835ad940ecc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/tl/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/tl/firefox-103.0.2.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "23dea1bcdb65a4d5f82a6103313ca1b78514bf6151199d06dbc3fc310f5bd7a7";
+      sha256 = "d50d0262d8ba991c74d9fcf2bf70015507da9c3e752d146ee4b69f3426efb291";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/tr/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/tr/firefox-103.0.2.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "9f02ea73150ba2920de06dcc2f0df4e8f169accd24d3b38ba535334e98f0799d";
+      sha256 = "a6d8e3c1d9544b7e8d4598cb59204180c49169c6faa471a821ddd67c5b4055fb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/trs/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/trs/firefox-103.0.2.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "e15edb33b266fdbef6a863615ee72a320a43fd186ab5dbeb5a54f8f1dd57b677";
+      sha256 = "586a6761366673b7b3fabd966c4a8e65aa850c60230bb5c078da83de1ab6aa38";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/uk/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/uk/firefox-103.0.2.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "7d9ae43d21e8018a66158c500935bb5918c5c375ddc7fb861024bedd79cd13e7";
+      sha256 = "654ad92cc77bff8ed4385e9c0511c0f107327b8ed128874cb7913df2824b572e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/ur/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/ur/firefox-103.0.2.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "ee0da7f4e43d5ffccd918155439416a20a0200bc4847aec87e53568afb8e7601";
+      sha256 = "5fbd71c269feedaf637eb2611ccd956a426bede0958008a71a07862d24b03b36";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/uz/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/uz/firefox-103.0.2.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "3bcd93f790d0faa4e55a2598900ef5059a3dc511c88ed24e899dd58c602d327f";
+      sha256 = "9344c246a6a91431df5a1aa21b5ec3a24123bdd2919893f9e71d977427038d29";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/vi/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/vi/firefox-103.0.2.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "1cba1e1910ba70ad4b739b322daedd726b258c63618d95169f3026f2495f1af6";
+      sha256 = "7dab6c27775bf05558adae3d015a5fec31ca0b191ecd6342bb945000456d8b83";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/xh/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/xh/firefox-103.0.2.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "25ee6d6899524bcd33e0fc4b9820bc93203ed7bc30779f495718f75dd2b3cffb";
+      sha256 = "cd74b821097542e39f73e9666580bfb763643091881264725875472b08c2be68";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/zh-CN/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/zh-CN/firefox-103.0.2.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "4d7a94191dbb2889a75c0f770a1f0b8727c08ee4735a7cd91f5b31759a4b5d82";
+      sha256 = "5d1c16904b8feeeaa868762075a2b55328fa9b589bbcf31d5cefa852b1cd3ff8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.1/linux-i686/zh-TW/firefox-103.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/103.0.2/linux-i686/zh-TW/firefox-103.0.2.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "bc3863131330c81c2c894ca6b418f6b0dc1719bab58fb66012d71d601a3c0cf3";
+      sha256 = "aaa4da6b12b6c70542b60cd97520a79b6799366ec840ce8eede2a89389aafcbe";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix
index f7c4990fe2e..fb4c326be5b 100644
--- a/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/pkgs/applications/networking/browsers/firefox/common.nix
@@ -202,7 +202,7 @@ let
 in
 
 buildStdenv.mkDerivation ({
-  name = "${pname}-unwrapped-${version}";
+  pname = "${pname}-unwrapped";
   inherit version;
 
   inherit src unpackPhase meta;
diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix
index 6ea82d80853..8e1c98bf9c9 100644
--- a/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -3,10 +3,10 @@
 rec {
   firefox = buildMozillaMach rec {
     pname = "firefox";
-    version = "103.0.1";
+    version = "103.0.2";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "cb487e1d5d602e6b07093b5e722c4e70b9bf39f42c13c25642f263f90f9d3940d02e6fdbab9e8f41b66a50f81d70300acf81c222f08a26eed3ae55777fdc6303";
+      sha512 = "f13984bb551039c80ef731931f08a284f070142ecb479b31a4caad026a6b535e3fc7ae506b629e933ba5f5a1676f14b6b36d031d22584170492676f8727c822a";
     };
 
     meta = {
@@ -27,7 +27,7 @@ rec {
   };
 
   firefox-esr-102 = buildMozillaMach rec {
-    pname = "firefox-esr";
+    pname = "firefox-esr-102";
     version = "102.1.0esr";
     applicationName = "Mozilla Firefox ESR";
     src = fetchurl {
@@ -54,7 +54,7 @@ rec {
   };
 
   firefox-esr-91 = buildMozillaMach rec {
-    pname = "firefox-esr";
+    pname = "firefox-esr-91";
     version = "91.12.0esr";
     applicationName = "Mozilla Firefox ESR";
     src = fetchurl {
diff --git a/pkgs/applications/networking/browsers/offpunk/default.nix b/pkgs/applications/networking/browsers/offpunk/default.nix
index c3e73e18de0..c3a44a6dbbe 100644
--- a/pkgs/applications/networking/browsers/offpunk/default.nix
+++ b/pkgs/applications/networking/browsers/offpunk/default.nix
@@ -5,8 +5,8 @@
   makeWrapper,
   offpunk,
   python3,
-  ripgrep,
   stdenv,
+  testVersion,
   timg,
   xdg-utils,
   xsel,
@@ -24,7 +24,6 @@ let
   ];
   otherDependencies = [
     less
-    ripgrep
     timg
     xdg-utils
     xsel
@@ -32,14 +31,14 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "offpunk";
-  version = "1.4";
+  version = "1.5";
 
   src = fetchFromGitea {
     domain = "notabug.org";
     owner = "ploum";
     repo = "offpunk";
     rev = "v${finalAttrs.version}";
-    sha256 = "04dzkzsan1cnrslsvfgn1whpwald8xy34wqzvq81hd2mvw9a2n69";
+    sha256 = "1zg13wajsfrl3hli6sihn47db08w037jjq9vgr6m5sjh8r1jb9iy";
   };
 
   buildInputs = [ makeWrapper ] ++ otherDependencies ++ pythonDependencies;
@@ -56,6 +55,8 @@ stdenv.mkDerivation (finalAttrs: {
    runHook postInstall
   '';
 
+  passthru.tests.version = testVersion { package = offpunk; };
+
   meta = with lib; {
     description = "An Offline-First browser for the smolnet ";
     homepage = "https://notabug.org/ploum/offpunk";
diff --git a/pkgs/applications/networking/browsers/palemoon/default.nix b/pkgs/applications/networking/browsers/palemoon/default.nix
index e4325267e60..47ea4265652 100644
--- a/pkgs/applications/networking/browsers/palemoon/default.nix
+++ b/pkgs/applications/networking/browsers/palemoon/default.nix
@@ -45,7 +45,7 @@ assert with lib.strings; (
 
 stdenv.mkDerivation rec {
   pname = "palemoon";
-  version = "31.1.1";
+  version = "31.2.0.1";
 
   src = fetchFromGitea {
     domain = "repo.palemoon.org";
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
     repo = "Pale-Moon";
     rev = "${version}_Release";
     fetchSubmodules = true;
-    sha256 = "sha256-lKD6+mXHWkNLc1XAX5mJGmwgz60P8mH+zrOi2WoOyJU=";
+    sha256 = "sha256-ytJC3QW9grbI6DusYITACc40+xUJ94+ATVGaOzWAwHU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix
index 9d29fc6c0bb..0d59b67c216 100644
--- a/pkgs/applications/networking/browsers/vivaldi/default.nix
+++ b/pkgs/applications/networking/browsers/vivaldi/default.nix
@@ -20,11 +20,11 @@ let
   vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
 in stdenv.mkDerivation rec {
   pname = "vivaldi";
-  version = "5.3.2679.68-1";
+  version = "5.3.2679.70-1";
 
   src = fetchurl {
     url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb";
-    sha256 = "0dfpxjr1sknkppazmw6dwrczv6gvh14nyc3la3q1y7cdzp95jpx3";
+    sha256 = "0mcq3nbbjw5x2gjah6hbbiv233bxwi68y7nziyqpp9d6nd2pixjn";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/networking/cluster/argocd-autopilot/default.nix b/pkgs/applications/networking/cluster/argocd-autopilot/default.nix
index 1447288038d..e4380b78738 100644
--- a/pkgs/applications/networking/cluster/argocd-autopilot/default.nix
+++ b/pkgs/applications/networking/cluster/argocd-autopilot/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "argocd-autopilot";
-  version = "0.4.2";
+  version = "0.4.4";
 
   src = fetchFromGitHub {
     owner = "argoproj-labs";
     repo = "argocd-autopilot";
     rev = "v${version}";
-    sha256 = "sha256-xwcETaeoxnfZqW48IJRpJkONuPNuFR5ngUYAMDKWMtk=";
+    sha256 = "sha256-d7Jm4Ff7cXytbECt+/TzncCwDGDYxsV1xOC8GSPAgJY=";
   };
 
-  vendorSha256 = "sha256-rJj9GFNX9OUMzkdr9D9dzucSZe10iW2LpqybhXD0m6s=";
+  vendorSha256 = "sha256-EpLU6rYzmtk/FCZiS8AJVGR4LUEkzNQE26CU9LzBwFM=";
 
   proxyVendor = true;
 
diff --git a/pkgs/applications/networking/cluster/argocd/default.nix b/pkgs/applications/networking/cluster/argocd/default.nix
index 87c45922683..44f244cacb5 100644
--- a/pkgs/applications/networking/cluster/argocd/default.nix
+++ b/pkgs/applications/networking/cluster/argocd/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "argocd";
-  version = "2.4.8";
+  version = "2.4.9";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo-cd";
     rev = "v${version}";
-    sha256 = "sha256-7eL6PQPB9xI5vmYuIaLHQLx6Dj/bRuv+Qw0MzJXUk4g=";
+    sha256 = "sha256-/g+icvpo62iV9GmpYxwHP7bsJF770bfnsVknVHEnEzM=";
   };
 
-  vendorSha256 = "sha256-dM7ahmBaXrLjOF8XAPdIkoyhfSTbgturrf1F8xSUvjk=";
+  vendorSha256 = "sha256-M1ZYooS22bntHXAMK4QpMAwuMvN4/tHtVu3WZW9V8TA=";
 
   # Set target as ./cmd per cli-local
   # https://github.com/argoproj/argo-cd/blob/master/Makefile#L227
diff --git a/pkgs/applications/networking/cluster/arkade/default.nix b/pkgs/applications/networking/cluster/arkade/default.nix
index 420d093755b..92070fe2a39 100644
--- a/pkgs/applications/networking/cluster/arkade/default.nix
+++ b/pkgs/applications/networking/cluster/arkade/default.nix
@@ -2,22 +2,25 @@
 , stdenv
 , buildGoModule
 , fetchFromGitHub
+, installShellFiles
 }:
 
 buildGoModule rec {
   pname = "arkade";
-  version = "0.8.29";
+  version = "0.8.30";
 
   src = fetchFromGitHub {
     owner = "alexellis";
     repo = "arkade";
     rev = version;
-    sha256 = "sha256-VCscevLGRpBgqxhRNcvIkCdroE0MawG1fROVOLjZLW0=";
+    sha256 = "sha256-KTZ8UJ0aQmjreio7ancJnZ0KGANAQIPYNSQGXHHSqX4=";
   };
 
   CGO_ENABLED = 0;
 
-  vendorSha256 = "sha256-CoIlqDMmhZY+B5SEabmnbP2QUu1jkFluCzLp3Y8Z7n0=";
+  nativeBuildInputs = [ installShellFiles ];
+
+  vendorSha256 = "sha256-6EnhO4zYYdsTKvNQApZxXo8x6oFKsmuMvOI3zPHAQLs=";
 
   # Exclude pkg/get: tests downloading of binaries which fail when sandbox=true
   subPackages = [
@@ -38,6 +41,13 @@ buildGoModule rec {
     "-X github.com/alexellis/arkade/cmd.Version=${version}"
   ];
 
+  postInstall = ''
+    installShellCompletion --cmd arkade \
+      --bash <($out/bin/arkade completion bash) \
+      --zsh <($out/bin/arkade completion zsh) \
+      --fish <($out/bin/arkade completion fish)
+  '';
+
   meta = with lib; {
     homepage = "https://github.com/alexellis/arkade";
     description = "Open Source Kubernetes Marketplace";
diff --git a/pkgs/applications/networking/cluster/cilium/default.nix b/pkgs/applications/networking/cluster/cilium/default.nix
index cfa1f787527..65f3313bcc7 100644
--- a/pkgs/applications/networking/cluster/cilium/default.nix
+++ b/pkgs/applications/networking/cluster/cilium/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cilium-cli";
-  version = "0.12.0";
+  version = "0.12.1";
 
   src = fetchFromGitHub {
     owner = "cilium";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-/fVPo9aO2UhX/qsyjFUykFz4am7R2USmdvYqhQcT7q8=";
+    sha256 = "sha256-WCOZuHJBssRM75+EO9s11t7ASkLxHbsVe+qmb/glFWU=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/civo/default.nix b/pkgs/applications/networking/cluster/civo/default.nix
index 64f5e57d8da..2018b94d4bb 100644
--- a/pkgs/applications/networking/cluster/civo/default.nix
+++ b/pkgs/applications/networking/cluster/civo/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "civo";
-  version = "1.0.30";
+  version = "1.0.32";
 
   src = fetchFromGitHub {
     owner  = "civo";
     repo   = "cli";
     rev    = "v${version}";
-    sha256 = "sha256-7UEnp42IHW7CyfnUr+j8HP9qV1vtIk9j5mDOXOTi4LY=";
+    sha256 = "sha256-Q/eSYm+SupHdRf7O7dU+UU+1GOwtjcsT0iFxWiKAEuw=";
   };
 
-  vendorSha256 = "sha256-2vbjYki+i7DfegvdTFo7XNf9droNeLDzAP2skpLDjDU=";
+  vendorSha256 = "sha256-ZZwecjcJqKOj2ywy4el1SVMs+0a/F6tFP37MYDC6tyg=";
 
   CGO_ENABLED = 0;
 
diff --git a/pkgs/applications/networking/cluster/glooctl/default.nix b/pkgs/applications/networking/cluster/glooctl/default.nix
index 41502235f37..07ddd07e7a4 100644
--- a/pkgs/applications/networking/cluster/glooctl/default.nix
+++ b/pkgs/applications/networking/cluster/glooctl/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "glooctl";
-  version = "1.11.25";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner = "solo-io";
     repo = "gloo";
     rev = "v${version}";
-    hash = "sha256-AwzqaysSjVlWJAzib0i1T76fe/C9bKGlSofa6Ipk8Go=";
+    hash = "sha256-LRCdKz7vaxxQTFveHbF2WrSinPtjWP96GhqtSMLIiDs=";
   };
 
   subPackages = [ "projects/gloo/cli/cmd" ];
-  vendorSha256 = "sha256-/H1gpQy2NVGiKZVEgTsvde/+x/ae/txu3HaBGNjhMKM=";
+  vendorSha256 = "sha256-1FbcNgTD5+YI29LOmkJMjhE+MnxrKmomTKK4DgyXCws=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/networking/cluster/hadoop/default.nix b/pkgs/applications/networking/cluster/hadoop/default.nix
index 1b8cba11c7b..1d9b10bfc39 100644
--- a/pkgs/applications/networking/cluster/hadoop/default.nix
+++ b/pkgs/applications/networking/cluster/hadoop/default.nix
@@ -26,13 +26,13 @@ with lib;
 assert elem stdenv.system [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
 
 let
-  common = { pname, versions, untarDir ? "${pname}-${version}", hash, jdk, openssl ? null, nativeLibs ? [ ], libPatches ? "", tests }:
+  common = { pname, platformAttrs, untarDir ? "${pname}-${version}", jdk, openssl ? null, nativeLibs ? [ ], libPatches ? "", tests }:
     stdenv.mkDerivation rec {
       inherit pname jdk libPatches untarDir openssl;
-      version = versions.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
+      version = platformAttrs.${stdenv.system}.version or (throw "Unsupported system: ${stdenv.system}");
       src = fetchurl {
         url = "mirror://apache/hadoop/common/hadoop-${version}/hadoop-${version}" + optionalString stdenv.isAarch64 "-aarch64" + ".tar.gz";
-        hash = hash.${stdenv.system};
+        inherit (platformAttrs.${stdenv.system}) hash;
       };
       doCheck = true;
 
@@ -51,7 +51,8 @@ let
           makeWrapper "$n" "$out/bin/$(basename $n)"\
             --set-default JAVA_HOME ${jdk.home}\
             --set-default HADOOP_HOME $out/lib/${untarDir}\
-            --set-default HADOOP_CONF_DIR /etc/hadoop-conf/\
+            --run "test -d /etc/hadoop-conf && export HADOOP_CONF_DIR=\''${HADOOP_CONF_DIR-'/etc/hadoop-conf/'}"\
+            --set-default HADOOP_CONF_DIR $out/lib/${untarDir}/etc/hadoop/\
             --prefix PATH : "${makeBinPath [ bash coreutils which]}"\
             --prefix JAVA_LIBRARY_PATH : "${makeLibraryPath buildInputs}"
         done
@@ -62,7 +63,7 @@ let
 
       passthru = { inherit tests; };
 
-      meta = {
+      meta = recursiveUpdate {
         homepage = "https://hadoop.apache.org/";
         description = "Framework for distributed processing of large data sets across clusters of computers";
         license = licenses.asl20;
@@ -80,8 +81,8 @@ let
           computers, each of which may be prone to failures.
         '';
         maintainers = with maintainers; [ illustris ];
-        platforms = attrNames hash;
-      };
+        platforms = attrNames platformAttrs;
+      } (attrByPath [ stdenv.system "meta" ] {} platformAttrs);
     };
 in
 {
@@ -89,19 +90,20 @@ in
   # https://cwiki.apache.org/confluence/display/HADOOP/Hadoop+Java+Versions
   hadoop_3_3 = common rec {
     pname = "hadoop";
-    versions = rec {
-      x86_64-linux = "3.3.3";
-      x86_64-darwin = x86_64-linux;
-      aarch64-linux = "3.3.1";
-      aarch64-darwin = aarch64-linux;
-    };
-    untarDir = "${pname}-${version}";
-    hash = rec {
-      x86_64-linux = "sha256-+nHGG7qkJxKa7wn+wCizTdVCxlrZD9zOxefvk9g7h2Q=";
-      x86_64-darwin = x86_64-linux;
-      aarch64-linux = "sha256-v1Om2pk0wsgKBghRD2wgTSHJoKd3jkm1wPKAeDcKlgI=";
-      aarch64-darwin = aarch64-linux;
+    platformAttrs = rec {
+        x86_64-linux = {
+          version = "3.3.3";
+          hash = "sha256-+nHGG7qkJxKa7wn+wCizTdVCxlrZD9zOxefvk9g7h2Q=";
+        };
+        x86_64-darwin = x86_64-linux;
+        aarch64-linux = {
+          version = "3.3.1";
+          hash = "sha256-v1Om2pk0wsgKBghRD2wgTSHJoKd3jkm1wPKAeDcKlgI=";
+          meta.knownVulnerabilities = [ "CVE-2021-37404" "CVE-2021-33036" ];
+        };
+        aarch64-darwin = aarch64-linux;
     };
+    untarDir = "${pname}-${platformAttrs.${stdenv.system}.version}";
     jdk = jdk11_headless;
     inherit openssl;
     # TODO: Package and add Intel Storage Acceleration Library
@@ -122,8 +124,10 @@ in
   };
   hadoop_3_2 = common rec {
     pname = "hadoop";
-    versions.x86_64-linux = "3.2.3";
-    hash.x86_64-linux = "sha256-Q2/a1LcKutpJoGySB0qlCcYE2bvC/HoG/dp9nBikuNU=";
+    platformAttrs.x86_64-linux = {
+      version = "3.2.3";
+      hash = "sha256-Q2/a1LcKutpJoGySB0qlCcYE2bvC/HoG/dp9nBikuNU=";
+    };
     jdk = jdk8_headless;
     # not using native libs because of broken openssl_1_0_2 dependency
     # can be manually overriden
@@ -131,8 +135,10 @@ in
   };
   hadoop2 = common rec {
     pname = "hadoop";
-    versions.x86_64-linux = "2.10.2";
-    hash.x86_64-linux = "sha256-xhA4zxqIRGNhIeBnJO9dLKf/gx/Bq+uIyyZwsIafEyo=";
+    platformAttrs.x86_64-linux = {
+      version = "2.10.2";
+      hash = "sha256-xhA4zxqIRGNhIeBnJO9dLKf/gx/Bq+uIyyZwsIafEyo=";
+    };
     jdk = jdk8_headless;
     tests = nixosTests.hadoop2;
   };
diff --git a/pkgs/applications/networking/cluster/helm/plugins/default.nix b/pkgs/applications/networking/cluster/helm/plugins/default.nix
index 342fd9e686a..16fceff4ee1 100644
--- a/pkgs/applications/networking/cluster/helm/plugins/default.nix
+++ b/pkgs/applications/networking/cluster/helm/plugins/default.nix
@@ -6,6 +6,8 @@
 
   helm-git = callPackage ./helm-git.nix { };
 
+  helm-cm-push = callPackage ./helm-cm-push.nix { };
+
   helm-s3 = callPackage ./helm-s3.nix { };
 
   helm-secrets = callPackage ./helm-secrets.nix { };
diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-cm-push.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-cm-push.nix
new file mode 100644
index 00000000000..f54d2b332f2
--- /dev/null
+++ b/pkgs/applications/networking/cluster/helm/plugins/helm-cm-push.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "helm-cm-push";
+  version = "0.10.3";
+
+  src = fetchFromGitHub {
+    owner = "chartmuseum";
+    repo = "helm-push";
+    rev = "v${version}";
+    hash = "sha256-GyVhjCosVaUS1DtztztFxKuuRlUdxlsOP4/QMQ7+TaU=";
+  };
+
+  vendorSha256 = "sha256-9LhokpQrREmcyBqwb33BSMyG8z7IAsl9NtE3B631PnM=";
+
+  subPackage = [ "cmd/helm-cm-push" ];
+
+  # Remove hooks.
+  postPatch = ''
+    sed -e '/^hooks:/,+2 d' -i plugin.yaml
+  '';
+
+  CGO_ENABLED = 0;
+
+  ldflags = [ "-s" "-w" ];
+
+  postInstall = ''
+    install -Dm644 plugin.yaml $out/helm-cm-push/plugin.yaml
+    mv $out/bin $out/helm-cm-push
+  '';
+
+  # Tests require the ChartMuseum service.
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Helm plugin to push chart package to ChartMuseum";
+    homepage = "https://github.com/chartmuseum/helm-push";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ azahi ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix
index 09de0219c7e..64fa0f35e54 100644
--- a/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix
+++ b/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "helm-diff";
-  version = "3.1.3";
+  version = "3.5.0";
 
   src = fetchFromGitHub {
     owner = "databus23";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-h26EOjKNrlcrs2DAYj0NmDRgNRKozjfw5DtxUgHNTa4=";
+    sha256 = "sha256-evFdMM2AilKQPdSCUzKo6RuC4OC4zfjj+JzFvtkSrdk=";
   };
 
-  vendorSha256 = "sha256-+n/QBuZqtdgUkaBG7iqSuBfljn+AdEzDoIo5SI8ErQA=";
+  vendorSha256 = "sha256-9i4ryBpaK7mMbsOpIaaZWBRjewD1MtTpf4zJ0yU0KMg=";
 
   # NOTE: Remove the install and upgrade hooks.
   postPatch = ''
@@ -27,7 +27,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "A Helm plugin that shows a diff";
-    inherit (src.meta) homepage;
+    homepage = "https://github.com/databus23/helm-diff";
     license = licenses.asl20;
     maintainers = with maintainers; [ yurrriq ];
   };
diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-git.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-git.nix
index 05ded10444b..d72b152cc5b 100644
--- a/pkgs/applications/networking/cluster/helm/plugins/helm-git.nix
+++ b/pkgs/applications/networking/cluster/helm/plugins/helm-git.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "The Helm downloader plugin that provides GIT protocol support";
-    inherit (src.meta) homepage;
+    homepage = "https://github.com/aslafy-z/helm-git";
     license = licenses.mit;
     maintainers = with maintainers; [ flokli ];
   };
diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-s3.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-s3.nix
index b6a47ec9dd5..bbfff3fd5f3 100644
--- a/pkgs/applications/networking/cluster/helm/plugins/helm-s3.nix
+++ b/pkgs/applications/networking/cluster/helm/plugins/helm-s3.nix
@@ -30,7 +30,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "A Helm plugin that shows a diff";
-    inherit (src.meta) homepage;
+    homepage = "https://github.com/hypnoglow/helm-s3";
     license = licenses.mit;
     maintainers = with maintainers; [ yurrriq ];
   };
diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix
index a16472413f3..7d9135045f1 100644
--- a/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix
+++ b/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix
@@ -36,9 +36,9 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A Helm plugin that helps manage secrets";
-    inherit (src.meta) homepage;
+    homepage = "https://github.com/jkroepke/helm-secrets";
     license = licenses.asl20;
     maintainers = with maintainers; [ yurrriq ];
-    platforms = platforms.all;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/cluster/istioctl/default.nix b/pkgs/applications/networking/cluster/istioctl/default.nix
index 051a3f9ae4c..8c5c3529998 100644
--- a/pkgs/applications/networking/cluster/istioctl/default.nix
+++ b/pkgs/applications/networking/cluster/istioctl/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "istioctl";
-  version = "1.14.1";
+  version = "1.14.3";
 
   src = fetchFromGitHub {
     owner = "istio";
     repo = "istio";
     rev = version;
-    sha256 = "sha256-Y8Bo2niIyvBE3BPpnSanFrR8ZHIUdG7iKSOyD6YadIM=";
+    sha256 = "sha256-1E4YtGSiHXG7G60Rng1t4OvgLvn9tjYahCkrFnlfLyw=";
   };
-  vendorSha256 = "sha256-MnSOWJwTOQmHnABRYNJwU9kOr7g51rkUaERksupBTb4=";
+  vendorSha256 = "sha256-S0297wgoqhPD9+nyzPEytpfppA91PWo1q4B7L8CHKLs=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/networking/cluster/k9s/default.nix b/pkgs/applications/networking/cluster/k9s/default.nix
index 415672fed8e..75210a0f988 100644
--- a/pkgs/applications/networking/cluster/k9s/default.nix
+++ b/pkgs/applications/networking/cluster/k9s/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "k9s";
-  version = "0.26.0";
+  version = "0.26.3";
 
   src = fetchFromGitHub {
     owner  = "derailed";
     repo   = "k9s";
     rev    = "v${version}";
-    sha256 = "sha256-6A6RxvobT0T/Pbd7Zcn8++I/7OVAhXSZI1NhYeDB3iY=";
+    sha256 = "sha256-Czjx6YTyFKAP8ZuwBpTpRfjDdRdd8GQ0ggbe5LMb8uA=";
   };
 
   ldflags = [
@@ -20,7 +20,7 @@ buildGoModule rec {
 
   tags = [ "netgo" ];
 
-  vendorSha256 = "sha256-1FmhoLfTQSygAScbvABHZJO3611T7cfuCboyu2ShbNo=";
+  vendorSha256 = "sha256-rnROcJA4f0YjDGKEncrMmf/43VKrbgpmM3TvV1MMiWU=";
 
   # TODO investigate why some config tests are failing
   doCheck = !(stdenv.isDarwin && stdenv.isAarch64);
diff --git a/pkgs/applications/networking/cluster/krane/Gemfile.lock b/pkgs/applications/networking/cluster/krane/Gemfile.lock
index fa2cdb980df..b1eb6d8972a 100644
--- a/pkgs/applications/networking/cluster/krane/Gemfile.lock
+++ b/pkgs/applications/networking/cluster/krane/Gemfile.lock
@@ -1,7 +1,7 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    activesupport (7.0.3)
+    activesupport (7.0.3.1)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 1.6, < 2)
       minitest (>= 5.1)
@@ -13,40 +13,21 @@ GEM
     domain_name (0.5.20190701)
       unf (>= 0.0.5, < 1.0.0)
     ejson (1.3.1)
-    faraday (1.10.0)
-      faraday-em_http (~> 1.0)
-      faraday-em_synchrony (~> 1.0)
-      faraday-excon (~> 1.1)
-      faraday-httpclient (~> 1.0)
-      faraday-multipart (~> 1.0)
-      faraday-net_http (~> 1.0)
-      faraday-net_http_persistent (~> 1.0)
-      faraday-patron (~> 1.0)
-      faraday-rack (~> 1.0)
-      faraday-retry (~> 1.0)
+    faraday (2.4.0)
+      faraday-net_http (~> 2.0)
       ruby2_keywords (>= 0.0.4)
-    faraday-em_http (1.0.0)
-    faraday-em_synchrony (1.0.0)
-    faraday-excon (1.1.0)
-    faraday-httpclient (1.0.1)
-    faraday-multipart (1.0.4)
-      multipart-post (~> 2)
-    faraday-net_http (1.0.1)
-    faraday-net_http_persistent (1.2.0)
-    faraday-patron (1.0.0)
-    faraday-rack (1.0.0)
-    faraday-retry (1.0.3)
+    faraday-net_http (2.1.0)
     ffi (1.15.5)
     ffi-compiler (1.0.1)
       ffi (>= 1.0.0)
       rake
-    googleauth (0.17.1)
-      faraday (>= 0.17.3, < 2.0)
+    googleauth (1.2.0)
+      faraday (>= 0.17.3, < 3.a)
       jwt (>= 1.4, < 3.0)
       memoist (~> 0.16)
       multi_json (~> 1.11)
       os (>= 0.9, < 2.0)
-      signet (~> 0.15)
+      signet (>= 0.16, < 2.a)
     http (4.4.1)
       addressable (~> 2.3)
       http-cookie (~> 1.0)
@@ -58,17 +39,17 @@ GEM
     http-form_data (2.3.0)
     http-parser (1.2.3)
       ffi-compiler (>= 1.0, < 2.0)
-    i18n (1.11.0)
+    i18n (1.12.0)
       concurrent-ruby (~> 1.0)
     jsonpath (1.1.2)
       multi_json
     jwt (2.4.1)
-    krane (2.4.7)
+    krane (2.4.9)
       activesupport (>= 5.0)
       colorize (~> 0.8)
       concurrent-ruby (~> 1.1)
       ejson (~> 1.0)
-      googleauth (~> 0.8)
+      googleauth (~> 1.2)
       jsonpath (~> 1.0)
       kubeclient (~> 4.9)
       oj (~> 3.0)
@@ -85,9 +66,8 @@ GEM
     mime-types-data (3.2022.0105)
     minitest (5.16.2)
     multi_json (1.15.0)
-    multipart-post (2.2.3)
     netrc (0.11.0)
-    oj (3.13.16)
+    oj (3.13.19)
     os (1.1.4)
     public_suffix (4.0.7)
     rake (13.0.6)
@@ -103,9 +83,9 @@ GEM
       faraday (>= 0.17.5, < 3.a)
       jwt (>= 1.5, < 3.0)
       multi_json (~> 1.10)
-    statsd-instrument (3.2.1)
+    statsd-instrument (3.3.0)
     thor (1.2.1)
-    tzinfo (2.0.4)
+    tzinfo (2.0.5)
       concurrent-ruby (~> 1.0)
     unf (0.1.4)
       unf_ext
diff --git a/pkgs/applications/networking/cluster/krane/gemset.nix b/pkgs/applications/networking/cluster/krane/gemset.nix
index d29904200c4..a42ccf61abb 100644
--- a/pkgs/applications/networking/cluster/krane/gemset.nix
+++ b/pkgs/applications/networking/cluster/krane/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0z05zyc57f8ywvdvls6nx93vrhyyzzpgz729mwampz1qb8vvcspj";
+      sha256 = "15lbq28v48i6q118p02m5zs9c63y1kv2h5krb3ss6q2vyaxhnfz7";
       type = "gem";
     };
-    version = "7.0.3";
+    version = "7.0.3.1";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -63,116 +63,25 @@
     version = "1.3.1";
   };
   faraday = {
-    dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-multipart" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "faraday-retry" "ruby2_keywords"];
+    dependencies = ["faraday-net_http" "ruby2_keywords"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00palwawk897p5gypw5wjrh93d4p0xz2yl9w93yicb4kq7amh8d4";
+      sha256 = "0i45f90mg367izgpxf6rrq9zbwwqba1pymwyja6q128vrj1pjajj";
       type = "gem";
     };
-    version = "1.10.0";
-  };
-  faraday-em_http = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "12cnqpbak4vhikrh2cdn94assh3yxza8rq2p9w2j34bqg5q4qgbs";
-      type = "gem";
-    };
-    version = "1.0.0";
-  };
-  faraday-em_synchrony = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1vgrbhkp83sngv6k4mii9f2s9v5lmp693hylfxp2ssfc60fas3a6";
-      type = "gem";
-    };
-    version = "1.0.0";
-  };
-  faraday-excon = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0h09wkb0k0bhm6dqsd47ac601qiaah8qdzjh8gvxfd376x1chmdh";
-      type = "gem";
-    };
-    version = "1.1.0";
-  };
-  faraday-httpclient = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0fyk0jd3ks7fdn8nv3spnwjpzx2lmxmg2gh4inz3by1zjzqg33sc";
-      type = "gem";
-    };
-    version = "1.0.1";
-  };
-  faraday-multipart = {
-    dependencies = ["multipart-post"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "09871c4hd7s5ws1wl4gs7js1k2wlby6v947m2bbzg43pnld044lh";
-      type = "gem";
-    };
-    version = "1.0.4";
+    version = "2.4.0";
   };
   faraday-net_http = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fi8sda5hc54v1w3mqfl5yz09nhx35kglyx72w7b8xxvdr0cwi9j";
+      sha256 = "1rfiwhggrqgwp00c82sk8v2h93l81nxgl0mf07pijxz1zjmbgswj";
       type = "gem";
     };
-    version = "1.0.1";
-  };
-  faraday-net_http_persistent = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0dc36ih95qw3rlccffcb0vgxjhmipsvxhn6cw71l7ffs0f7vq30b";
-      type = "gem";
-    };
-    version = "1.2.0";
-  };
-  faraday-patron = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "19wgsgfq0xkski1g7m96snv39la3zxz6x7nbdgiwhg5v82rxfb6w";
-      type = "gem";
-    };
-    version = "1.0.0";
-  };
-  faraday-rack = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1h184g4vqql5jv9s9im6igy00jp6mrah2h14py6mpf9bkabfqq7g";
-      type = "gem";
-    };
-    version = "1.0.0";
-  };
-  faraday-retry = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "153i967yrwnswqgvnnajgwp981k9p50ys1h80yz3q94rygs59ldd";
-      type = "gem";
-    };
-    version = "1.0.3";
+    version = "2.1.0";
   };
   ffi = {
     groups = ["default"];
@@ -201,10 +110,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08l9qb2an7a60r3xjlkrfna8b8sfnj5c2hlfdygbnpvb1p7cpafl";
+      sha256 = "030bcdnffwndk8h270cmbndixb5h3ss860yifv6bkfys95s5fjpp";
       type = "gem";
     };
-    version = "0.17.1";
+    version = "1.2.0";
   };
   http = {
     dependencies = ["addressable" "http-cookie" "http-form_data" "http-parser"];
@@ -265,10 +174,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1g0g9qaarwn9ga8889r7lnaybygvd2a2dp4ilc73g4rsxxcrgy0x";
+      sha256 = "1vdcchz7jli1p0gnc669a7bj3q1fv09y9ppf0y3k0vb1jwdwrqwi";
       type = "gem";
     };
-    version = "1.11.0";
+    version = "1.12.0";
   };
   jsonpath = {
     dependencies = ["multi_json"];
@@ -297,10 +206,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hmsz359zkpw1spyxx22wijzjls22qsak6rbrlv1ybk3hhk13vjg";
+      sha256 = "03sfcn5zfbagkyn30zih73i7pycdfzk0c5wr99d6qxl90c9cddc2";
       type = "gem";
     };
-    version = "2.4.7";
+    version = "2.4.9";
   };
   kubeclient = {
     dependencies = ["http" "jsonpath" "recursive-open-struct" "rest-client"];
@@ -364,16 +273,6 @@
     };
     version = "1.15.0";
   };
-  multipart-post = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1n0kvnrcrjn31jb97kcx3wj1f5kkjza7yygfq8rxzf3i57g7jaa6";
-      type = "gem";
-    };
-    version = "2.2.3";
-  };
   netrc = {
     groups = ["default"];
     platforms = [];
@@ -389,10 +288,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i8yrwnf5mzixl8a4h3cfx93gkzcs7q6grpyv0zng1vga9cmk28n";
+      sha256 = "1b10apyzm1qyph42438z9nx2ln5v9sg0686ws9gdrv5wh482fnmf";
       type = "gem";
     };
-    version = "3.13.16";
+    version = "3.13.19";
   };
   os = {
     groups = ["default"];
@@ -471,10 +370,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0653pjqln9r52nfkcjna0wf4q9ws114pz29wav2nlf18v8jazqbf";
+      sha256 = "1555jgxr0az43l6nc8ngz5vmhqgjaznz4mkg5w5x0q6sa78i2pf3";
       type = "gem";
     };
-    version = "3.2.1";
+    version = "3.3.0";
   };
   thor = {
     groups = ["default"];
@@ -492,10 +391,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10qp5x7f9hvlc0psv9gsfbxg4a7s0485wsbq1kljkxq94in91l4z";
+      sha256 = "0rx114mpqnw2k4h98vc0rs0x0bmf0img84yh8mkkjkal07cjydf5";
       type = "gem";
     };
-    version = "2.0.4";
+    version = "2.0.5";
   };
   unf = {
     dependencies = ["unf_ext"];
diff --git a/pkgs/applications/networking/cluster/kubebuilder/default.nix b/pkgs/applications/networking/cluster/kubebuilder/default.nix
index dc3c9987800..0aeb54948a3 100644
--- a/pkgs/applications/networking/cluster/kubebuilder/default.nix
+++ b/pkgs/applications/networking/cluster/kubebuilder/default.nix
@@ -9,15 +9,15 @@
 
 buildGoModule rec {
   pname = "kubebuilder";
-  version = "3.5.0";
+  version = "3.6.0";
 
   src = fetchFromGitHub {
     owner = "kubernetes-sigs";
     repo = "kubebuilder";
     rev = "v${version}";
-    sha256 = "sha256-4R7Zpz90Bcj/OqxR+ahvYk3VsJ1R+k9q36Q77JsXJ1w=";
+    sha256 = "sha256-WbFY1tBwq0DjJqM5ld7W9GkhPQDsGUQCwEe42XkJlfQ=";
   };
-  vendorSha256 = "sha256-ppeasqyr2Ow8d52P01IEf42+KTFXTEPv/giKPjTORwE=";
+  vendorSha256 = "sha256-tz0SHAl9SwppjA8s0m4gJOh6rf8F+kRc2HnNMjO+blQ=";
 
   subPackages = ["cmd"];
 
diff --git a/pkgs/applications/networking/cluster/kubedb-cli/default.nix b/pkgs/applications/networking/cluster/kubedb-cli/default.nix
index 190198fb707..fd2402fe1dc 100644
--- a/pkgs/applications/networking/cluster/kubedb-cli/default.nix
+++ b/pkgs/applications/networking/cluster/kubedb-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kubedb-cli";
-  version = "0.27.0";
+  version = "0.28.0";
 
   src = fetchFromGitHub {
     owner = "kubedb";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-1mxSW1mL2GwVfyh6QfybCRL0GTO4kVyck1Uhjjfo7Wo=";
+    sha256 = "sha256-fSJ9IIuyOuKmpklw7uh1NKM3Pr5epJefYBJ3udeC5sE=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/kubeone/default.nix b/pkgs/applications/networking/cluster/kubeone/default.nix
index ee7b3b34dfa..513e77dfc2d 100644
--- a/pkgs/applications/networking/cluster/kubeone/default.nix
+++ b/pkgs/applications/networking/cluster/kubeone/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "kubeone";
-  version = "1.4.5";
+  version = "1.4.6";
 
   src = fetchFromGitHub {
     owner = "kubermatic";
     repo = "kubeone";
     rev = "v${version}";
-    sha256 = "sha256-2+67ctiFkEV4UU7vcF/s+qJWDpdzSRaiy9pa9zt+ccA=";
+    sha256 = "sha256-2abuKLAqOaRceokmNb7YG0qg/iYbPhSTG75Rs5mwHDU=";
   };
 
   vendorSha256 = "sha256-kI5i1us3Ooh603HOz9Y+HlfPUy/1J8z89/jvKEenpLw=";
diff --git a/pkgs/applications/networking/cluster/kubergrunt/default.nix b/pkgs/applications/networking/cluster/kubergrunt/default.nix
index 569eb728241..d99a8592d19 100644
--- a/pkgs/applications/networking/cluster/kubergrunt/default.nix
+++ b/pkgs/applications/networking/cluster/kubergrunt/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubergrunt";
-  version = "0.9.1";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "gruntwork-io";
     repo = "kubergrunt";
     rev = "v${version}";
-    sha256 = "sha256-PY3qWIK1Q5vW9CgX1F41wf1FbThY0Y/gU9R5XkRDHfA=";
+    sha256 = "sha256-2uMPj4/jluBW0N2+AyDb7QmuVwlCavfQZ3i2fg32m8o=";
   };
 
-  vendorSha256 = "sha256-HupAsDuBLQnuMpG3gvpnhVZhQ6oSxAm9UNdJ8UHzNBU=";
+  vendorSha256 = "sha256-9hWX6INN5HWXyeFQRjkqr+BsGv56lInVYacvT6Imahw=";
 
   # Disable tests since it requires network access and relies on the
   # presence of certain AWS infrastructure
diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix
index 11a06f5775e..605160e3d5e 100644
--- a/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/pkgs/applications/networking/cluster/minikube/default.nix
@@ -12,9 +12,9 @@
 
 buildGoModule rec {
   pname = "minikube";
-  version = "1.26.0";
+  version = "1.26.1";
 
-  vendorSha256 = "sha256-3ME8bs4TAQRAECko7+ZXBCFf4IyTn1P/+hParpc5QTU=";
+  vendorSha256 = "sha256-aw2B5wdhEQiTDp/BpJdXzY3XBm3eXlSQt83j4RHhMg0=";
 
   doCheck = false;
 
@@ -22,7 +22,7 @@ buildGoModule rec {
     owner = "kubernetes";
     repo = "minikube";
     rev = "v${version}";
-    sha256 = "sha256-vGlW65jf3XGFNK9aSvsK7V0OmUOCtgJcWeNFOZVuH00=";
+    sha256 = "sha256-08q/IdQEq1/KaIBN6ss8r1KbjSjZnhOW/BeaJ8BuYZM=";
   };
 
   nativeBuildInputs = [ installShellFiles pkg-config which makeWrapper ];
diff --git a/pkgs/applications/networking/cluster/minishift/default.nix b/pkgs/applications/networking/cluster/minishift/default.nix
index 488d0c4327a..bee4d478529 100644
--- a/pkgs/applications/networking/cluster/minishift/default.nix
+++ b/pkgs/applications/networking/cluster/minishift/default.nix
@@ -59,7 +59,7 @@ in buildGoPackage rec {
       or develop with it, day-to-day, on your local host.
     '';
     homepage = "https://github.com/minishift/minishift";
-    maintainers = with maintainers; [ fpletz vdemeester ];
+    maintainers = with maintainers; [ vdemeester ];
     platforms = platforms.linux;
     license = licenses.asl20;
   };
diff --git a/pkgs/applications/networking/cluster/nerdctl/default.nix b/pkgs/applications/networking/cluster/nerdctl/default.nix
index 06eebf6e064..2bba4816d8f 100644
--- a/pkgs/applications/networking/cluster/nerdctl/default.nix
+++ b/pkgs/applications/networking/cluster/nerdctl/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "nerdctl";
-  version = "0.22.0";
+  version = "0.22.2";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-XsAAhSJPb/ZpZb6x0c/soFI8FPrZhX6U76rDQs1Sw04=";
+    sha256 = "sha256-D5NnCJrQQ2Iam9A5rxuiT6XOf00x/LOiwEC8SjSZdt0=";
   };
 
-  vendorSha256 = "sha256-kpEdskjmRLM8TpjX6z19E8iG+wwI0vfULNWbPgeW3YM=";
+  vendorSha256 = "sha256-5QcltDNvhfyzUsFNbSjVnh0OMTxj+JU0VnDADSWTD48=";
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
diff --git a/pkgs/applications/networking/cluster/node-problem-detector/default.nix b/pkgs/applications/networking/cluster/node-problem-detector/default.nix
index a584fee3b4c..60411f4d918 100644
--- a/pkgs/applications/networking/cluster/node-problem-detector/default.nix
+++ b/pkgs/applications/networking/cluster/node-problem-detector/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "node-problem-detector";
-  version = "0.8.10";
+  version = "0.8.11";
 
   src = fetchFromGitHub {
     owner = "kubernetes";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-phuXsioSLO/jl1l5dwV/emoirJfgGXQSmeQHSImxm2U=";
+    sha256 = "sha256-dkOkHsQ1ZfB5rSFuFRlrKf605EIo/7IkyyYz3ZhMggQ=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/openshift/default.nix b/pkgs/applications/networking/cluster/openshift/default.nix
index 89bbd0cb7d6..9933e805667 100644
--- a/pkgs/applications/networking/cluster/openshift/default.nix
+++ b/pkgs/applications/networking/cluster/openshift/default.nix
@@ -10,14 +10,14 @@
 
 buildGoModule rec {
   pname = "openshift";
-  version = "4.10.0";
-  gitCommit = "346b183";
+  version = "4.11.0";
+  gitCommit = "20dd77d5";
 
   src = fetchFromGitHub {
     owner = "openshift";
     repo = "oc";
-    rev = "release-4.10";
-    sha256 = "Pdq3OwT5P7vvB70X+GVglT9CdJbhkm35nvEGurO1HPc=";
+    rev = "20dd77d5c889f86b05e2bdd182853ae702852c63";
+    sha256 = "wqLo/CKGzeMDJUoI9PUEjJER5hSPu+FmUCJLPZ9PJuw=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/ssm-session-manager-plugin/default.nix b/pkgs/applications/networking/cluster/ssm-session-manager-plugin/default.nix
index 7350a8bd460..244c581b6f9 100644
--- a/pkgs/applications/networking/cluster/ssm-session-manager-plugin/default.nix
+++ b/pkgs/applications/networking/cluster/ssm-session-manager-plugin/default.nix
@@ -1,14 +1,20 @@
 { stdenv, lib, fetchurl, autoPatchelfHook, dpkg, awscli, unzip }:
 let
   ver = "1.2.331.0";
-  source =
-    if stdenv.isDarwin then {
-      url = "https://s3.amazonaws.com/session-manager-downloads/plugin/${ver}/mac/sessionmanager-bundle.zip";
-      sha256 = "0gr6frdn9jvxnkymkcpvgkqw4z2sac9jdf5qj4hzakq1zkfviazf";
-    } else {
-      url = "https://s3.amazonaws.com/session-manager-downloads/plugin/${ver}/ubuntu_64bit/session-manager-plugin.deb";
-      sha256 = "sha256-xWnY89dslkGhRTh9llRFkuUqYIjHQNt+TLnkPQr3u1Q=";
-    };
+  source = {
+    url = rec {
+      "x86_64-linux" = "https://s3.amazonaws.com/session-manager-downloads/plugin/${ver}/ubuntu_64bit/session-manager-plugin.deb";
+      "aarch64-linux" = "https://s3.amazonaws.com/session-manager-downloads/plugin/${ver}/ubuntu_arm64/session-manager-plugin.deb";
+      "x86_64-darwin" = "https://s3.amazonaws.com/session-manager-downloads/plugin/${ver}/mac/sessionmanager-bundle.zip";
+      "aarch64-darwin" = x86_64-darwin;
+    }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+    sha256 = rec {
+      "x86_64-linux" = "sha256-xWnY89dslkGhRTh9llRFkuUqYIjHQNt+TLnkPQr3u1Q=";
+      "aarch64-linux" = "sha256-QE6+EjLoydTPuLitG6fALXAtvIkfyoFuWij8Z2HT6+Q=";
+      "x86_64-darwin" = "0gr6frdn9jvxnkymkcpvgkqw4z2sac9jdf5qj4hzakq1zkfviazf";
+      "aarch64-darwin" = x86_64-darwin;
+    }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+  };
   archivePath = if stdenv.isDarwin then "sessionmanager-bundle" else "usr/local/sessionmanagerplugin";
 in
 stdenv.mkDerivation rec {
@@ -35,10 +41,9 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage =
-      "https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html";
+    homepage = "https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html";
     description = "Amazon SSM Session Manager Plugin";
-    platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
+    platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
     maintainers = with maintainers; [ mbaillie ];
diff --git a/pkgs/applications/networking/cluster/temporal/default.nix b/pkgs/applications/networking/cluster/temporal/default.nix
index 55baf5c7a5c..4c165cc7e10 100644
--- a/pkgs/applications/networking/cluster/temporal/default.nix
+++ b/pkgs/applications/networking/cluster/temporal/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "temporal";
-  version = "1.17.1";
+  version = "1.17.2";
 
   src = fetchFromGitHub {
     owner = "temporalio";
     repo = "temporal";
     rev = "v${version}";
-    sha256 = "sha256-YaFB2OBC5dJjfomkge6w3sGyrESRxAFTDm+jPMLgskc=";
+    sha256 = "sha256-V80v8nRHAshPnyWdBb4ahCn5FfzT906oZlhalZ547Nk=";
   };
 
   vendorSha256 = "sha256-MT/BmGTdyEzmXjuwlA6WhLIWlrQz3Wc4Tl5dMI1587Q=";
diff --git a/pkgs/applications/networking/cluster/terraform-providers/default.nix b/pkgs/applications/networking/cluster/terraform-providers/default.nix
index 364a7d6605a..fcc70509e7a 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/default.nix
+++ b/pkgs/applications/networking/cluster/terraform-providers/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , buildGoModule
-, buildGo117Module
 , fetchFromGitHub
 , callPackage
 , config
@@ -61,16 +60,6 @@ let
     {
       # mkisofs needed to create ISOs holding cloud-init data and wrapped to terraform via deecb4c1aab780047d79978c636eeb879dd68630
       libvirt = automated-providers.libvirt.overrideAttrs (_: { propagatedBuildInputs = [ cdrtools ]; });
-      # fails to build on x86_64-darwin with 1.18
-      lxd = automated-providers.lxd.override { mkProviderGoModule = buildGo117Module; };
-      # fails to build on x86_64-darwin with 1.18
-      netlify = automated-providers.netlify.override { mkProviderGoModule = buildGo117Module; };
-      # fails to build on x86_64-darwin with 1.18
-      pass = automated-providers.pass.override { mkProviderGoModule = buildGo117Module; };
-      # fails to build on x86_64-darwin with 1.18
-      skytap = automated-providers.skytap.override { mkProviderGoModule = buildGo117Module; };
-      # fails to build on x86_64-{darwin,linux} with 1.18
-      tencentcloud = automated-providers.tencentcloud.override { mkProviderGoModule = buildGo117Module; };
     };
 
   # Put all the providers we not longer support in this list.
diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json
index daa46cee1f8..bcf25a84ba1 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -5,10 +5,10 @@
     "provider-source-address": "registry.terraform.io/CiscoDevNet/aci",
     "proxyVendor": true,
     "repo": "terraform-provider-aci",
-    "rev": "v2.5.1",
-    "sha256": "sha256-T+6NCPwLz51aHpvGG1EBrnS9Ee0pbdpanjLACIlZWBw=",
+    "rev": "v2.5.2",
+    "sha256": "sha256-Y2cNp2BuPEH5wAEwaMVSBgKoHrcy6d4eOlsGPqAxmoU=",
     "vendorSha256": "sha256-AB+uj4hQIYMVQHhw1cISB2TotNO8rw1iU0/gP096CoE=",
-    "version": "2.5.1"
+    "version": "2.5.2"
   },
   "acme": {
     "owner": "vancluever",
@@ -51,10 +51,10 @@
     "owner": "aliyun",
     "provider-source-address": "registry.terraform.io/aliyun/alicloud",
     "repo": "terraform-provider-alicloud",
-    "rev": "v1.178.0",
-    "sha256": "sha256-U9gii5pHd+PnA9Mf+AA5NTMT1KvxCnOu7svkqwCR0aM=",
-    "vendorSha256": "sha256-pia256CKguRY+Acedq6QJmgBpiIGwxgn6tchFB6qjwQ=",
-    "version": "1.178.0"
+    "rev": "v1.179.0",
+    "sha256": "sha256-J6DYXGVCQalXuxpOd4Bw9N9UCcunpvX4EMmiM9XzxQ8=",
+    "vendorSha256": "sha256-g8ZwzgcrHoPcw+cPi2cIW7ZDHy5TLxKUblDqLVlFlSw=",
+    "version": "1.179.0"
   },
   "ansible": {
     "owner": "nbering",
@@ -96,37 +96,37 @@
     "owner": "AviatrixSystems",
     "provider-source-address": "registry.terraform.io/AviatrixSystems/aviatrix",
     "repo": "terraform-provider-aviatrix",
-    "rev": "v2.22.2",
-    "sha256": "sha256-3IzIeixm63r42s/Bs8EMemxK0u0TSCWgTuPw3FoBSws=",
+    "rev": "v2.22.3",
+    "sha256": "sha256-yMzeeS8hpCeoejMYa1YQl6wvhki/BzFtNWgZ951bpLU=",
     "vendorSha256": null,
-    "version": "2.22.2"
+    "version": "2.22.3"
   },
   "aws": {
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/aws",
     "repo": "terraform-provider-aws",
-    "rev": "v4.24.0",
-    "sha256": "sha256-KDVWxTYam4WpEEtJT5rvpsi+mNtHlqZ9Mqj4HVsBAzI=",
-    "vendorSha256": "sha256-iIqc0PidAzfY8Vvr0eIbx5g4q30HrokNtgRx/gExFEQ=",
-    "version": "4.24.0"
+    "rev": "v4.25.0",
+    "sha256": "sha256-0dRCgNK828aUFBDRBkRFY/1Rnesd3ZQrHtimbNquHO8=",
+    "vendorSha256": "sha256-b6RrsJnWm5dvmNN/zv04Ct6I28McpXWzw0fySHMRias=",
+    "version": "4.25.0"
   },
   "azuread": {
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/azuread",
     "repo": "terraform-provider-azuread",
-    "rev": "v2.26.1",
-    "sha256": "sha256-9S+J0z9ilRqfpZv3aZe6Fv1Jyo2ShRQzeoMuRsDBiUo=",
+    "rev": "v2.27.0",
+    "sha256": "sha256-E8O0+OblKl1aSOXB5fnc34m+pUsfIZ6eHWoAq6HkKHs=",
     "vendorSha256": null,
-    "version": "2.26.1"
+    "version": "2.27.0"
   },
   "azurerm": {
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/azurerm",
     "repo": "terraform-provider-azurerm",
-    "rev": "v3.16.0",
-    "sha256": "sha256-b4aMwU9vDQ3t5fske5MZm5i9DJehy1WFySsJbowRjbc=",
+    "rev": "v3.17.0",
+    "sha256": "sha256-XeZwQxK0WhLv2Y7PFADsv4f6vO4E3/j/9HM1wJ8LXKE=",
     "vendorSha256": null,
-    "version": "3.16.0"
+    "version": "3.17.0"
   },
   "azurestack": {
     "owner": "hashicorp",
@@ -186,12 +186,11 @@
   "checkly": {
     "owner": "checkly",
     "provider-source-address": "registry.terraform.io/checkly/checkly",
-    "proxyVendor": true,
     "repo": "terraform-provider-checkly",
-    "rev": "v1.6.1",
-    "sha256": "sha256-vzYOieW4KdYcaPSSa6j57GsPAAIdwmWu5hIBCCmnstM=",
-    "vendorSha256": "sha256-XErR45BMWgAzeLU20CDd2j5tsokkoOMQhUar2ZsU5+0=",
-    "version": "1.6.1"
+    "rev": "v1.6.2",
+    "sha256": "sha256-hi6GTToJcKVSpbBBWQN6IREhm8iHFCj+pg71fgZ5rOI=",
+    "vendorSha256": "sha256-VnYRDBneQ+bUzISJM9DJdBEBmjA1WOXPo+kaYBW4w4U=",
+    "version": "1.6.2"
   },
   "checkpoint": {
     "deleteVendor": true,
@@ -216,10 +215,10 @@
     "owner": "cloudamqp",
     "provider-source-address": "registry.terraform.io/cloudamqp/cloudamqp",
     "repo": "terraform-provider-cloudamqp",
-    "rev": "v1.19.0",
-    "sha256": "sha256-RwgqJl+W5L/2Qz5Wd0dBPUNhX5Q+7J/y7RfLprOBa3k=",
+    "rev": "v1.19.1",
+    "sha256": "sha256-oq7wsraZTKSo2tEaUrQ+uzCEuC3LLP6AVLzmCDWBK3A=",
     "vendorSha256": "sha256-OnkSfHEbbcnSs+pI5wphObRyIXGtNlpeTe/RqxF/pr4=",
-    "version": "1.19.0"
+    "version": "1.19.1"
   },
   "cloudflare": {
     "owner": "cloudflare",
@@ -352,10 +351,10 @@
     "owner": "dome9",
     "provider-source-address": "registry.terraform.io/dome9/dome9",
     "repo": "terraform-provider-dome9",
-    "rev": "v1.27.1",
-    "sha256": "sha256-VmobLWMjHH+GzxUk0bnIr4dWkuH8D00U7VrN9eApF5c=",
+    "rev": "v1.27.4",
+    "sha256": "sha256-+3jIq7f21CkuF3UZYV3o+ZIdoQi0hFgO/qXwdhkcaPI=",
     "vendorSha256": null,
-    "version": "1.27.1"
+    "version": "1.27.4"
   },
   "elasticsearch": {
     "owner": "phillbaker",
@@ -370,10 +369,10 @@
     "owner": "equinix",
     "provider-source-address": "registry.terraform.io/equinix/equinix",
     "repo": "terraform-provider-equinix",
-    "rev": "v1.7.0",
-    "sha256": "sha256-H2cvJMtZnJFk3snohEcxS++xzsc45TWBZquWRe3vseM=",
-    "vendorSha256": "sha256-oANCzm5HSxs5vTiu1kIGJQcwAvNg84G9qXnoBge9fAs=",
-    "version": "1.7.0"
+    "rev": "v1.8.0",
+    "sha256": "sha256-U/6d7cfiYjVZ8VIvIBXoM3rsfySlpWOSxwVTcaR7uKQ=",
+    "vendorSha256": "sha256-dB0asOYl4JUtsdmcuWhcX2WioqB4DI3MTJf5ynJOMVA=",
+    "version": "1.8.0"
   },
   "exoscale": {
     "owner": "exoscale",
@@ -412,13 +411,15 @@
     "version": "1.31.1"
   },
   "fortios": {
+    "deleteVendor": true,
     "owner": "fortinetdev",
     "provider-source-address": "registry.terraform.io/fortinetdev/fortios",
+    "proxyVendor": true,
     "repo": "terraform-provider-fortios",
-    "rev": "v1.14.1",
-    "sha256": "sha256-9e1PEg8RtJa7DR5g3cCdAhubFxt7vN5dPjaBA+F7Y4E=",
-    "vendorSha256": null,
-    "version": "1.14.1"
+    "rev": "v1.15.0",
+    "sha256": "sha256-jXaEGWt/O0Cv15ksFax571f6aoDhVpNZSbvbOFj6TZ4=",
+    "vendorSha256": "sha256-WkF2mVDrDlCefM4pjADoXsVwpa7E02c6kUyOgHxNFpo=",
+    "version": "1.15.0"
   },
   "gandi": {
     "owner": "go-gandi",
@@ -452,20 +453,20 @@
     "provider-source-address": "registry.terraform.io/hashicorp/google",
     "proxyVendor": true,
     "repo": "terraform-provider-google",
-    "rev": "v4.30.0",
-    "sha256": "sha256-tT+a85+m0w1lIcoP/1ChCewa8bkX1sChd+xhASgbTQE=",
-    "vendorSha256": "sha256-ix+RUN4PsvLXuHjJa+J8OTPA2jScZFKLfN05N2x49jE=",
-    "version": "4.30.0"
+    "rev": "v4.31.0",
+    "sha256": "sha256-Y9iyWjC+XLkselVIhaM0N7iNelbdlF9jV7AjTYiD8RM=",
+    "vendorSha256": "sha256-hu1uK1yW07NlV3/DnKQxdGhbrzpq6MADmgkRr4+VQ1w=",
+    "version": "4.31.0"
   },
   "google-beta": {
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/google-beta",
     "proxyVendor": true,
     "repo": "terraform-provider-google-beta",
-    "rev": "v4.30.0",
-    "sha256": "sha256-7R8zUor72WwvzVhOHQsTiEWGduzyRciTKbNxDArklG8=",
-    "vendorSha256": "sha256-ix+RUN4PsvLXuHjJa+J8OTPA2jScZFKLfN05N2x49jE=",
-    "version": "4.30.0"
+    "rev": "v4.31.0",
+    "sha256": "sha256-5Ieq8LvhrlFevMgr7JKeGCkWWejjOvKhKfXpPvsNzRU=",
+    "vendorSha256": "sha256-hu1uK1yW07NlV3/DnKQxdGhbrzpq6MADmgkRr4+VQ1w=",
+    "version": "4.31.0"
   },
   "googleworkspace": {
     "owner": "hashicorp",
@@ -480,10 +481,10 @@
     "owner": "grafana",
     "provider-source-address": "registry.terraform.io/grafana/grafana",
     "repo": "terraform-provider-grafana",
-    "rev": "v1.24.0",
-    "sha256": "sha256-0E3yWEtt1o+K9/BoawL0Wyt+8yIDADZy6r9Kg7oNYPI=",
-    "vendorSha256": "sha256-YDWTHiRyY2bzX+ZgYbUTKO3IjsvbIEVWxqGhDNpVnhM=",
-    "version": "1.24.0"
+    "rev": "v1.25.0",
+    "sha256": "sha256-KB2GTz8Sq9H1MVPaU5qaDhP4NytdQocO4AYO7zoihJc=",
+    "vendorSha256": "sha256-uRsuw2JgKjbCQSodNdufR+vZSD+NI0HgxvWg6p4hUgQ=",
+    "version": "1.25.0"
   },
   "gridscale": {
     "owner": "gridscale",
@@ -579,10 +580,10 @@
     "owner": "IBM-Cloud",
     "provider-source-address": "registry.terraform.io/IBM-Cloud/ibm",
     "repo": "terraform-provider-ibm",
-    "rev": "v1.43.0",
-    "sha256": "sha256-5oQqWr8s4wMiR58JITDH4e5iMPktmlItPjWwScbYSqo=",
-    "vendorSha256": "sha256-b1aKgB3iB9+7vCgEYuaaEcxgF8ptZOPOrZcpj+SscvA=",
-    "version": "1.43.0"
+    "rev": "v1.44.1",
+    "sha256": "sha256-DpWxhDHQHGVQ0NliJXfn7o3nR9VVHE8QZs/h/tnclUg=",
+    "vendorSha256": "sha256-ugdkBCgSDWcC8oC3WYco2rAIhFc2ILBZjq8NmB+3mTM=",
+    "version": "1.44.1"
   },
   "icinga2": {
     "owner": "Icinga",
@@ -660,10 +661,10 @@
     "owner": "launchdarkly",
     "provider-source-address": "registry.terraform.io/launchdarkly/launchdarkly",
     "repo": "terraform-provider-launchdarkly",
-    "rev": "v2.7.2",
-    "sha256": "sha256-/YY+X8cKStpYLhaon06YXc7j3UbnCgeXh2fHVtKtYcM=",
-    "vendorSha256": "sha256-Tz+YEhUgbYkgXjvGAV7taZAtFQfxiyYUENX11PJBXCk=",
-    "version": "2.7.2"
+    "rev": "v2.8.0",
+    "sha256": "sha256-H/oKgylo8LLmx2v0BTj6Vb7JQbf9JCooFmsziog6r4E=",
+    "vendorSha256": "sha256-Ef07RvkqXR/7qf8gHayxczBJ/ChHDmxR6+/wzaokkzk=",
+    "version": "2.8.0"
   },
   "libvirt": {
     "owner": "dmacvicar",
@@ -678,10 +679,10 @@
     "owner": "linode",
     "provider-source-address": "registry.terraform.io/linode/linode",
     "repo": "terraform-provider-linode",
-    "rev": "v1.28.1",
-    "sha256": "sha256-w7PvzcgyzrkxQ+I8Bjw5C3MqMmiJS5neuGipC+H+mEM=",
-    "vendorSha256": "sha256-c0NtM3TkkSjrwQ9fj0XiH0BYnSsE8uzirkTv2QHzPOg=",
-    "version": "1.28.1"
+    "rev": "v1.29.1",
+    "sha256": "sha256-eZ13kVQplnIQNT4KecUeLAfrCime1WNEdG0yuv3dBWk=",
+    "vendorSha256": "sha256-PBnMIEuMGcb+qeFO4e17e9sg58DmL6BEAZJeTTVjS1g=",
+    "version": "1.29.1"
   },
   "linuxbox": {
     "owner": "numtide",
@@ -750,10 +751,10 @@
     "owner": "aminueza",
     "provider-source-address": "registry.terraform.io/aminueza/minio",
     "repo": "terraform-provider-minio",
-    "rev": "v1.5.2",
-    "sha256": "sha256-QERV6Q/vYm1DWV91aYFCgZtFfnK9V2ATNsIAbuGzgdY=",
-    "vendorSha256": "sha256-SB7R466O3CbVwk6JSWXiFK4AD0rf6zijVfQW0rlEsVA=",
-    "version": "1.5.2"
+    "rev": "v1.5.3",
+    "sha256": "sha256-AWVBRrQ90XoJodRsBvqJYjkXSqbQBxWk748na9pTnEk=",
+    "vendorSha256": "sha256-0c8Pj4Ga6yNX1UcZXIhmDXhdZOTY3h/WdGdYo4Hmltc=",
+    "version": "1.5.3"
   },
   "mongodbatlas": {
     "owner": "mongodb",
@@ -851,19 +852,19 @@
     "owner": "oracle",
     "provider-source-address": "registry.terraform.io/oracle/oci",
     "repo": "terraform-provider-oci",
-    "rev": "v4.86.1",
-    "sha256": "sha256-Fh7X3qscS0CRsrXh92q+56HiUUyIydVCfe2RsJUu1jw=",
+    "rev": "v4.87.0",
+    "sha256": "sha256-Db1CCKEeolVcNwtvRlPi2Tsq5JqHfRhFZlELTRrn0OA=",
     "vendorSha256": null,
-    "version": "4.86.1"
+    "version": "4.87.0"
   },
   "okta": {
     "owner": "okta",
     "provider-source-address": "registry.terraform.io/okta/okta",
     "repo": "terraform-provider-okta",
-    "rev": "v3.32.0",
-    "sha256": "sha256-OJVhliFrg2MdszVjqXkVEilEEdRMRvfZm6NgXp9LmAU=",
+    "rev": "v3.33.0",
+    "sha256": "sha256-44rbvPfl/DU1wkV/2hPwnpA4R7VSI4TrFpetc52+1gk=",
     "vendorSha256": "sha256-hOkhJn1Hc3hv8/+L1N3xZWS2bM4FcaFMXVq+F/1+cN8=",
-    "version": "3.32.0"
+    "version": "3.33.0"
   },
   "oktaasa": {
     "owner": "oktadeveloper",
@@ -887,19 +888,19 @@
     "owner": "terraform-provider-openstack",
     "provider-source-address": "registry.terraform.io/terraform-provider-openstack/openstack",
     "repo": "terraform-provider-openstack",
-    "rev": "v1.47.0",
-    "sha256": "sha256-Hz5cW9hu/hrL7kO/4Q48rRUe5f1urD6x182lNSYsd0E=",
-    "vendorSha256": "sha256-xlsTLlf1uCfrP77OgjuZWkYAKe1+Tbrf8XDrct+s+AA=",
-    "version": "1.47.0"
+    "rev": "v1.48.0",
+    "sha256": "sha256-I2Rl/Z6KHEkhaoslqMD+ZQ8vOnIwLDDJIP3P/3sTWcw=",
+    "vendorSha256": "sha256-XB8odOjqSVg/TJApHCZnlReJYTyD89u7axSilMlIALk=",
+    "version": "1.48.0"
   },
   "opentelekomcloud": {
     "owner": "opentelekomcloud",
     "provider-source-address": "registry.terraform.io/opentelekomcloud/opentelekomcloud",
     "repo": "terraform-provider-opentelekomcloud",
-    "rev": "v1.30.2",
-    "sha256": "sha256-7OCUOxk2CXPK71arwtXHNTm2M5aUyc+DfJgjGUogvwM=",
-    "vendorSha256": "sha256-uVH/G1opjNNta4br8qzRTIeUma8K8XDTkjOuEKvpgEU=",
-    "version": "1.30.2"
+    "rev": "v1.31.0",
+    "sha256": "sha256-I3Oku5sNlPlRlYcagz2C4LCZI4N3mwlLK6xAWNn7iVo=",
+    "vendorSha256": "sha256-mLroGI3X9nLufz4LT4KCbVoPUZimtMaQ3rI108SKURE=",
+    "version": "1.31.0"
   },
   "opsgenie": {
     "owner": "opsgenie",
@@ -1013,10 +1014,10 @@
     "owner": "scaleway",
     "provider-source-address": "registry.terraform.io/scaleway/scaleway",
     "repo": "terraform-provider-scaleway",
-    "rev": "v2.2.5",
-    "sha256": "sha256-SeEExV6g0abKEyrs0pzVX5aKSLALaVDyHb3uW7FxiLQ=",
-    "vendorSha256": "sha256-pDDk4cGCZEotOfL1OLEVJVQ35lI/fdNh2NNjAkIHTZ0=",
-    "version": "2.2.5"
+    "rev": "v2.2.7",
+    "sha256": "sha256-W100EYLKaFH9KGmSkgk0Ig2Z0R+RvYijrm3ikhEvBe8=",
+    "vendorSha256": "sha256-zswPGl4a/V8tOMMUWCjxY8ubSy5GT9pP6eBpqSrAg/k=",
+    "version": "2.2.7"
   },
   "secret": {
     "owner": "numtide",
@@ -1094,10 +1095,10 @@
     "owner": "spotinst",
     "provider-source-address": "registry.terraform.io/spotinst/spotinst",
     "repo": "terraform-provider-spotinst",
-    "rev": "v1.80.0",
-    "sha256": "sha256-3Wq3jKpSVm3sIUoumd7v26JsSWMdmzdhtUKq/ztrt9M=",
-    "vendorSha256": "sha256-NeXkvdO6ODAhNdVfP4laTht6oIrx2QYbhTILFXwPCbU=",
-    "version": "1.80.0"
+    "rev": "v1.81.0",
+    "sha256": "sha256-UQgN9FTQCtEUvb0OqeQzYrCF/YOZwbvcNkmuyjfkxco=",
+    "vendorSha256": "sha256-hs6wvdUv4SUa1qYWSoJBaJntEJTCdTY1UeVOAoBUOg0=",
+    "version": "1.81.0"
   },
   "stackpath": {
     "owner": "stackpath",
@@ -1130,10 +1131,10 @@
     "owner": "tencentcloudstack",
     "provider-source-address": "registry.terraform.io/tencentcloudstack/tencentcloud",
     "repo": "terraform-provider-tencentcloud",
-    "rev": "v1.76.3",
-    "sha256": "sha256-Tc6GfFWksxrr61rNFVZrHMHTeo4JsU8Gc1S7roMnj4Y=",
+    "rev": "v1.76.4",
+    "sha256": "sha256-N1DkLDaZW/wZ6Vf0OG2sQ+YVGuCNqz37gi/LjEai1uk=",
     "vendorSha256": null,
-    "version": "1.76.3"
+    "version": "1.76.4"
   },
   "tfe": {
     "owner": "hashicorp",
@@ -1212,19 +1213,19 @@
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/vault",
     "repo": "terraform-provider-vault",
-    "rev": "v3.8.0",
-    "sha256": "sha256-8u+r/2xsAXKAfn8Zkh30VBXFUmzUV2LFv6PzlkqoBcU=",
+    "rev": "v3.8.1",
+    "sha256": "sha256-7d3oOsDEbKZ6qOoRLslFDMgw8q6sBup3A+cA3ijkfXw=",
     "vendorSha256": "sha256-D6O8N1WEdDM6sogJym+8dheBKE3eQmGTvbVJeiGreRc=",
-    "version": "3.8.0"
+    "version": "3.8.1"
   },
   "vcd": {
     "owner": "vmware",
     "provider-source-address": "registry.terraform.io/vmware/vcd",
     "repo": "terraform-provider-vcd",
-    "rev": "v3.6.0",
-    "sha256": "sha256-vtqlT3cfrEsbTmsKY6SVYUgyo+zIiX0cK080H03C1d0=",
-    "vendorSha256": "sha256-g5qcT4xaXQMih4WN3ysk+xGwd3ux8XjMceXgmw8gYB0=",
-    "version": "3.6.0"
+    "rev": "v3.7.0",
+    "sha256": "sha256-qEElcMl6tCBfOTTTpTFjVYg6E6K9iTXfgmDDozrgNVg=",
+    "vendorSha256": "sha256-u5W7zeOv53VAr4M5T2AAVFRDF/6PNhSm1A2WFo6pnJU=",
+    "version": "3.7.0"
   },
   "venafi": {
     "owner": "Venafi",
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index 239296c5b3e..495fd38b63d 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -169,8 +169,8 @@ rec {
   mkTerraform = attrs: pluggable (generic attrs);
 
   terraform_1 = mkTerraform {
-    version = "1.2.6";
-    sha256 = "sha256-IUm08/zoL6Tw36vQrCl+kvQ6q8qArBh8LvbFf2QPn7M=";
+    version = "1.2.7";
+    sha256 = "sha256-0AGONBurlm0cSM4HyAmUxLt8GdnqNPh146A8ibyfe+k=";
     vendorSha256 = "sha256-Whe1prBGsE0q0QdNkzAKwvAP7EVlnD/985gjngh+VI4=";
     patches = [ ./provider-path-0_15.patch ];
     passthru = {
diff --git a/pkgs/applications/networking/cluster/tilt/default.nix b/pkgs/applications/networking/cluster/tilt/default.nix
index 1dd8361f203..b97b20d6be6 100644
--- a/pkgs/applications/networking/cluster/tilt/default.nix
+++ b/pkgs/applications/networking/cluster/tilt/default.nix
@@ -5,13 +5,13 @@ buildGoModule rec {
   /* Do not use "dev" as a version. If you do, Tilt will consider itself
     running in development environment and try to serve assets from the
     source tree, which is not there once build completes.  */
-  version = "0.30.4";
+  version = "0.30.5";
 
   src = fetchFromGitHub {
     owner  = "tilt-dev";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "sha256-AdT3qL0frsTi4R4AbmZlPDx0Q2RixC3e4AyEMgGgnlc=";
+    sha256 = "sha256-K7vQ2Pz35/ye5AhUez/fN7PhW3KRv5/4duG4JpvO5vY=";
   };
   vendorSha256 = null;
 
diff --git a/pkgs/applications/networking/cluster/waypoint/default.nix b/pkgs/applications/networking/cluster/waypoint/default.nix
index aaff24f7076..8c056cdce01 100644
--- a/pkgs/applications/networking/cluster/waypoint/default.nix
+++ b/pkgs/applications/networking/cluster/waypoint/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "waypoint";
-  version = "0.9.0";
+  version = "0.9.1";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-R+X0fp4AdC3u+/rX2Vb0P3MTBRi94wfT9YvW2pxwr5Y=";
+    sha256 = "sha256-wvbtiu4WeuiHtyLkhwAB20XvpvHvy24xPSH5Lxtpea8=";
   };
 
   vendorSha256 = "sha256-bDsmou4zmRz8DyENdteJ3MzhTpCgri4ISIgxi7fhQdc=";
diff --git a/pkgs/applications/networking/cluster/werf/default.nix b/pkgs/applications/networking/cluster/werf/default.nix
index 20c477515d4..61a89f95904 100644
--- a/pkgs/applications/networking/cluster/werf/default.nix
+++ b/pkgs/applications/networking/cluster/werf/default.nix
@@ -11,16 +11,16 @@
 
 buildGoModule rec {
   pname = "werf";
-  version = "1.2.144";
+  version = "1.2.153";
 
   src = fetchFromGitHub {
     owner = "werf";
     repo = "werf";
     rev = "v${version}";
-    sha256 = "sha256-5hfXHoU7hmiuLaS9nS6MAS6tJAmTwxE9VqBZ29hv56A=";
+    sha256 = "sha256-BdGeafZvMgH6qRyYrFPQp0r2470me755J6gUK9XkIJQ=";
   };
 
-  vendorSha256 = "sha256-m+qt+pqLzQyzQkKzEbBkzgTlRjpaqJNF8tcirBx4Htc=";
+  vendorSha256 = "sha256-XpSAFiweD2oUKleD6ztDp1+3PpfUWXfGaaE/9mzRrUQ=";
 
   proxyVendor = true;
 
diff --git a/pkgs/applications/networking/errbot/default.nix b/pkgs/applications/networking/errbot/default.nix
index d9f02941b43..032238d399d 100644
--- a/pkgs/applications/networking/errbot/default.nix
+++ b/pkgs/applications/networking/errbot/default.nix
@@ -63,7 +63,7 @@ in python3.pkgs.buildPythonApplication rec {
   meta = with lib; {
     description = "Chatbot designed to be simple to extend with plugins written in Python";
     homepage = "http://errbot.io/";
-    maintainers = with maintainers; [ fpletz globin ];
+    maintainers = with maintainers; [ globin ];
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     # flaky on darwin, "RuntimeError: can't start new thread"
diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix
index 40e49ff3296..7ac58abd530 100644
--- a/pkgs/applications/networking/ftp/filezilla/default.nix
+++ b/pkgs/applications/networking/ftp/filezilla/default.nix
@@ -18,11 +18,11 @@
 
 stdenv.mkDerivation rec {
   pname = "filezilla";
-  version = "3.60.1";
+  version = "3.60.2";
 
   src = fetchurl {
     url = "https://download.filezilla-project.org/client/FileZilla_${version}_src.tar.bz2";
-    hash = "sha256-gflsY2OMrxg44MY+WHT2AZISCWXYJSlKiUoit9QgZq8=";
+    hash = "sha256-5AfbrRaZU/+VFFK8vxONlTo6MCNfirsD0nHHEsx+V5I=";
   };
 
   configureFlags = [
diff --git a/pkgs/applications/networking/go-graft/default.nix b/pkgs/applications/networking/go-graft/default.nix
index f919ff757fc..7e9e2c39335 100644
--- a/pkgs/applications/networking/go-graft/default.nix
+++ b/pkgs/applications/networking/go-graft/default.nix
@@ -2,19 +2,19 @@
 
 buildGoModule rec {
   pname = "go-graft";
-  version = "0.2.6";
+  version = "0.2.8";
 
   src = fetchFromGitHub {
     owner = "mzz2017";
     repo = "gg";
     rev = "v${version}";
-    sha256 = "sha256-nuRkQEqytMPxd2Wh5XeUwk4YzIxnnNEiVTxFY4GlD1E=";
+    sha256 = "sha256-bihQo75HwottWXIGGaTG4mN+wg0iWKun61dvCYlAmeQ=";
   };
 
   CGO_ENABLED = 0;
 
   ldflags = [ "-X github.com/mzz2017/gg/cmd.Version=${version}" "-s" "-w" "-buildid=" ];
-  vendorSha256 = "sha256-/ckudHo/ttNct+yrQYQEaC6hX+p+Q6M1I/cjJCgjYLk=";
+  vendorSha256 = "sha256-26tk6pv3yCVwczuymD7r54C7BKcaVlOseI8TXj8IyOM=";
   subPackages = [ "." ];
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/gopher/geomyidae/default.nix b/pkgs/applications/networking/gopher/geomyidae/default.nix
index c9aa26ad987..197cdaca00c 100644
--- a/pkgs/applications/networking/gopher/geomyidae/default.nix
+++ b/pkgs/applications/networking/gopher/geomyidae/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "geomyidae";
-  version = "0.50.1";
+  version = "0.51";
 
   src = fetchurl {
     url = "gopher://bitreich.org/9/scm/geomyidae/tag/geomyidae-v${version}.tar.gz";
-    sha512 = "2a71b12f51c2ef8d6e791089f9eea49eb90a36be45b874d4234eba1e673186be945711be1f92508190f5c0a6f502f132c4b7cb82caf805a39a3f31903032ac47";
+    sha512 = "3lGAa7BCrspGBcQqjduBkIACpf3u/CkeSCBnaJ3rrz3OIidn4o4dNwZNe7u8swaJxN2dhDSKKeVT3RnFQUaXdg==";
   };
 
   buildInputs = [ libressl ];
diff --git a/pkgs/applications/networking/instant-messengers/alfaview/default.nix b/pkgs/applications/networking/instant-messengers/alfaview/default.nix
index 98049a09287..29febe1dfcf 100644
--- a/pkgs/applications/networking/instant-messengers/alfaview/default.nix
+++ b/pkgs/applications/networking/instant-messengers/alfaview/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "alfaview";
-  version = "8.47.0";
+  version = "8.49.1";
 
   src = fetchurl {
     url = "https://production-alfaview-assets.alfaview.com/stable/linux/${pname}_${version}.deb";
-    sha256 = "sha256-KpFLKl5ifncO3lQbEowwLavsfvNcYyrlvNINqAvNWBY=";
+    sha256 = "sha256-A0kX6r5ubC764XJFinCq4/u9pA1AOP4fXUOFB4voeeE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/cinny-desktop/default.nix b/pkgs/applications/networking/instant-messengers/cinny-desktop/default.nix
new file mode 100644
index 00000000000..c6d135a0289
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/cinny-desktop/default.nix
@@ -0,0 +1,46 @@
+{ stdenv
+, lib
+, dpkg
+, fetchurl
+, autoPatchelfHook
+, glib-networking
+, openssl
+, webkitgtk
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  name = "cinny-desktop";
+  version = "2.1.1";
+
+  src = fetchurl {
+    url = "https://github.com/cinnyapp/cinny-desktop/releases/download/v${version}/Cinny_desktop-x86_64.deb";
+    sha256 = "sha256-4jd+N3a+u+c+XLwgr8BvvdkVLzo+xTBKFdjiQeu7NJU=";
+  };
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+    dpkg
+  ];
+
+  buildInputs = [
+    glib-networking
+    openssl
+    webkitgtk
+    wrapGAppsHook
+  ];
+
+  unpackCmd = "dpkg-deb -x $curSrc source";
+
+  installPhase = "mv usr $out";
+
+  meta = with lib; {
+    description = "Yet another matrix client for desktop";
+    homepage = "https://github.com/cinnyapp/cinny-desktop";
+    maintainers = [ maintainers.aveltras ];
+    license = licenses.mit;
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
+    platforms = platforms.linux;
+    mainProgram = "cinny";
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/cinny/default.nix b/pkgs/applications/networking/instant-messengers/cinny/default.nix
index 3f3d71a3371..6d212b406f5 100644
--- a/pkgs/applications/networking/instant-messengers/cinny/default.nix
+++ b/pkgs/applications/networking/instant-messengers/cinny/default.nix
@@ -4,11 +4,11 @@ let
   configOverrides = writeText "cinny-config-overrides.json" (builtins.toJSON conf);
 in stdenv.mkDerivation rec {
   pname = "cinny";
-  version = "2.0.4";
+  version = "2.1.2";
 
   src = fetchurl {
     url = "https://github.com/ajbura/cinny/releases/download/v${version}/cinny-v${version}.tar.gz";
-    sha256 = "0p5s25nkjs9514a16c7kl0m78vn5f14mv6nbi79yz0sxb7hc12qg";
+    sha256 = "sha256-UbL9HP90zfsoj/ClUoBF27n5zkvvN4UU4pxQu8QsoUA=";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix b/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix
index 980ff7e9b54..83544264234 100644
--- a/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix
@@ -1,6 +1,7 @@
 { lib
 , copyDesktopItems
 , electron_18
+, buildGoModule
 , esbuild
 , fetchFromGitHub
 , libdeltachat
@@ -31,19 +32,18 @@ let
       hash = "sha256-4rpoDQ3o0WdWg/TmazTI+J0hL/MxwHcNMXWMq7GE7Tk=";
     };
   });
-  electronExec = if stdenv.isDarwin then
-    "${electron_18}/Applications/Electron.app/Contents/MacOS/Electron"
-  else
-    "${electron_18}/bin/electron";
-  esbuild' = esbuild.overrideAttrs (old: rec {
-    version = "0.12.29";
-    src = fetchFromGitHub {
-      owner = "evanw";
-      repo = "esbuild";
-      rev = "v${version}";
-      hash = "sha256-oU++9E3StUoyrMVRMZz8/1ntgPI62M1NoNz9sH/N5Bg=";
-    };
-  });
+  esbuild' = esbuild.override {
+    buildGoModule = args: buildGoModule (args // rec {
+      version = "0.12.29";
+      src = fetchFromGitHub {
+        owner = "evanw";
+        repo = "esbuild";
+        rev = "v${version}";
+        hash = "sha256-oU++9E3StUoyrMVRMZz8/1ntgPI62M1NoNz9sH/N5Bg=";
+      };
+      vendorSha256 = "sha256-QPkBR+FscUc3jOvH7olcGUhM6OW4vxawmNJuRQxPuGs=";
+    });
+  };
 in nodePackages.deltachat-desktop.override rec {
   pname = "deltachat-desktop";
   version = "1.30.1";
@@ -98,7 +98,7 @@ in nodePackages.deltachat-desktop.override rec {
         $out/lib/node_modules/deltachat-desktop/html-dist/fonts
     done
 
-    makeWrapper ${electronExec} $out/bin/deltachat \
+    makeWrapper ${electron_18}/bin/electron $out/bin/deltachat \
       --set LD_PRELOAD ${sqlcipher}/lib/libsqlcipher${stdenv.hostPlatform.extensions.sharedLibrary} \
       --add-flags $out/lib/node_modules/deltachat-desktop
   '';
diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix
index f3af6d9e8bf..c4b11068a11 100644
--- a/pkgs/applications/networking/instant-messengers/discord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/default.nix
@@ -1,7 +1,7 @@
 { branch ? "stable", callPackage, fetchurl, lib, stdenv }:
 let
   versions = if stdenv.isLinux then {
-    stable = "0.0.18";
+    stable = "0.0.19";
     ptb = "0.0.29";
     canary = "0.0.136";
   } else {
@@ -14,7 +14,7 @@ let
     x86_64-linux = {
       stable = fetchurl {
         url = "https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
-        sha256 = "1hl01rf3l6kblx5v7rwnwms30iz8zw6dwlkjsx2f1iipljgkh5q4";
+        sha256 = "GfSyddbGF8WA6JmHo4tUM27cyHV5kRAyrEiZe1jbA5A=";
       };
       ptb = fetchurl {
         url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
@@ -53,7 +53,7 @@ let
     downloadPage = "https://discordapp.com/download";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
-    maintainers = with maintainers; [ ldesgoui MP2E devins2518 ];
+    maintainers = with maintainers; [ MP2E devins2518 ];
     platforms = [ "x86_64-linux" "x86_64-darwin" ]
       ++ lib.optionals (branch != "stable") [ "aarch64-darwin" ];
   };
diff --git a/pkgs/applications/networking/instant-messengers/discord/openasar.nix b/pkgs/applications/networking/instant-messengers/discord/openasar.nix
index 664fe622ac3..c6a64212b55 100644
--- a/pkgs/applications/networking/instant-messengers/discord/openasar.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/openasar.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openasar";
-  version = "unstable-2022-06-27";
+  version = "unstable-2022-08-07";
 
   src = fetchFromGitHub {
     owner = "GooseMod";
     repo = "OpenAsar";
-    rev = "6f7505fb91a07035d3661a3a7bf68b3018ddfd82";
-    sha256 = "2tb6OgYOnpryiyk7UH39sgzwtGJf9hNOpy74YqLI+Uk=";
+    rev = "e0870784008a584229d3094e0988f5da155c7fd7";
+    hash = "sha256-t0b2SFlDDBSQEkOCQME0jsLJ8NvoXROTxoQgnoXM9eQ=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/instant-messengers/element/element-desktop.nix b/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
index c8c18604539..5b7c23f7c7a 100644
--- a/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
+++ b/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
@@ -19,7 +19,6 @@
 let
   pinData = lib.importJSON ./pin.json;
   executableName = "element-desktop";
-  electron_exec = if stdenv.isDarwin then "${electron}/Applications/Electron.app/Contents/MacOS/Electron" else "${electron}/bin/electron";
   keytar = callPackage ./keytar { inherit Security AppKit; };
   seshat = callPackage ./seshat { inherit CoreServices; };
 in
@@ -83,7 +82,7 @@ mkYarnPackage rec {
 
     # executable wrapper
     # LD_PRELOAD workaround for sqlcipher not found: https://github.com/matrix-org/seshat/issues/102
-    makeWrapper '${electron_exec}' "$out/bin/${executableName}" \
+    makeWrapper '${electron}/bin/electron' "$out/bin/${executableName}" \
       --set LD_PRELOAD ${sqlcipher}/lib/libsqlcipher.so \
       --add-flags "$out/share/element/electron" \
       --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}"
diff --git a/pkgs/applications/networking/instant-messengers/ferdi/default.nix b/pkgs/applications/networking/instant-messengers/ferdi/default.nix
index edd05a83ad6..82f808be3b6 100644
--- a/pkgs/applications/networking/instant-messengers/ferdi/default.nix
+++ b/pkgs/applications/networking/instant-messengers/ferdi/default.nix
@@ -31,5 +31,8 @@ mkFranzDerivation' rec {
     maintainers = with maintainers; [ davidtwco ma27 ];
     platforms = [ "x86_64-linux" ];
     hydraPlatforms = [ ];
+    knownVulnerabilities = [
+      "CVE-2022-32320"
+    ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix b/pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix
index e2b4cafe993..d1a1c8d6469 100644
--- a/pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix
+++ b/pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix
@@ -19,7 +19,6 @@
 let
   pinData = lib.importJSON ./pin.json;
   executableName = "schildichat-desktop";
-  electron_exec = if stdenv.isDarwin then "${electron}/Applications/Electron.app/Contents/MacOS/Electron" else "${electron}/bin/electron";
 in
 stdenv.mkDerivation rec {
   pname = "schildichat-desktop";
@@ -88,7 +87,7 @@ stdenv.mkDerivation rec {
     done
 
     # executable wrapper
-    makeWrapper '${electron_exec}' "$out/bin/${executableName}" \
+    makeWrapper '${electron}/bin/electron' "$out/bin/${executableName}" \
       --add-flags "$out/share/element/electron" \
       --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}"
 
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index e112c946881..2862ff6612e 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -9,7 +9,7 @@
 
 stdenv.mkDerivation rec {
   pname = "signal-desktop";
-  version = "5.52.0"; # Please backport all updates to the stable channel.
+  version = "5.54.0"; # Please backport all updates to the stable channel.
   # All releases have a limited lifetime and "expire" 90 days after the release.
   # When releases "expire" the application becomes unusable until an update is
   # applied. The expiration date for the current release can be extracted with:
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
-    sha256 = "sha256-KFldVpKICRX2n/ccvqxpt1Dz6QwH2g+wqXRHAXI/iyY=";
+    sha256 = "sha256-dGxbsSNvBT0KFukSNXyii69hMN246IYFbb0CzrDh7IU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/signald/default.nix b/pkgs/applications/networking/instant-messengers/signald/default.nix
index ac7040a9aac..0b855243645 100644
--- a/pkgs/applications/networking/instant-messengers/signald/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signald/default.nix
@@ -4,18 +4,18 @@
 
 let
   pname = "signald";
-  version = "0.18.5";
+  version = "0.19.1";
 
   src = fetchFromGitLab {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-2cb1pyBOoOlFqJsNKXA0Q9x4wCE4yzzcfrDDtTp7HMk=";
+    sha256 = "sha256-Ma6kIKRVM8UUU/TvfVp2RVl/FLxFgBQU3mEypnujJ+c=";
   };
 
   jre' = jre_minimal.override {
     jdk = jdk17_headless;
-    # from https://gitlab.com/signald/signald/-/blob/0.18.5/build.gradle#L173
+    # from https://gitlab.com/signald/signald/-/blob/0.19.1/build.gradle#L173
     modules = [
       "java.base"
       "java.management"
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tg/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tg/default.nix
new file mode 100644
index 00000000000..0918bfee91e
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/telegram/tg/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildPythonApplication, fetchFromGitHub, pythonOlder, python-telegram }:
+
+buildPythonApplication rec {
+  pname = "tg";
+  version = "0.19.0";
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "paul-nameless";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-apHd26XnOz5nak+Kz8PJPsonQfTWDyPz7Mi/tWf7zwM=";
+  };
+
+  propagatedBuildInputs = [ python-telegram ];
+
+  doCheck = false; # No tests
+
+  meta = with lib; {
+    description = "Terminal client for telegram";
+    homepage = "https://github.com/paul-nameless/tg";
+    license = licenses.unlicense;
+    maintainers = with maintainers; [ sikmir ];
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix b/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix
new file mode 100644
index 00000000000..ec9df5ec10d
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix
@@ -0,0 +1,25 @@
+{ lib, fetchFromGitHub, rustPlatform, pkg-config, openssl }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "twitch-tui";
+  version = "1.6.0";
+
+  src = fetchFromGitHub {
+    owner = "Xithrius";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-144yn/QQPIZJOgqKFUWjB7KCmEKfNpj6XjMGhTpQdEQ=";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ openssl ];
+
+  cargoHash = "sha256-zUeI01EyXsuoKzHbpVu3jyA3H2aBk6wMY+GW3h3v8vc=";
+
+  meta = with lib; {
+    description = "Twitch chat in the terminal";
+    homepage = "https://github.com/Xithrius/twitch-tui";
+    license = licenses.mit;
+    maintainers = [ maintainers.taha ];
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/webex/default.nix b/pkgs/applications/networking/instant-messengers/webex/default.nix
index 293f6747d3f..f324dd0db08 100644
--- a/pkgs/applications/networking/instant-messengers/webex/default.nix
+++ b/pkgs/applications/networking/instant-messengers/webex/default.nix
@@ -2,7 +2,7 @@
 , writeScript
 , stdenv
 , fetchurl
-, alsaLib
+, alsa-lib
 , at-spi2-atk
 , at-spi2-core
 , atk
@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    alsaLib
+    alsa-lib
     at-spi2-atk
     at-spi2-core
     atk
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/x86_64-linux-sha.nix b/pkgs/applications/networking/instant-messengers/zoom-us/x86_64-linux-sha.nix
index c50424c7a5b..778aaf85f56 100644
--- a/pkgs/applications/networking/instant-messengers/zoom-us/x86_64-linux-sha.nix
+++ b/pkgs/applications/networking/instant-messengers/zoom-us/x86_64-linux-sha.nix
@@ -1 +1 @@
-"1ir5akl4vrzb0b5s37s2viqisvf4sylw8rfnfj434h1q0gqz79sc"
+"09x0l50frck8v2zhgp84m57q3kj74chk37sc69mpbhwy0s6vg980"
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/x86_64-linux-version.nix b/pkgs/applications/networking/instant-messengers/zoom-us/x86_64-linux-version.nix
index e776017ccb0..e3f51ac695d 100644
--- a/pkgs/applications/networking/instant-messengers/zoom-us/x86_64-linux-version.nix
+++ b/pkgs/applications/networking/instant-messengers/zoom-us/x86_64-linux-version.nix
@@ -1 +1 @@
-"5.11.1.3595"
+"5.11.3.3882"
diff --git a/pkgs/applications/networking/instant-messengers/zulip-term/default.nix b/pkgs/applications/networking/instant-messengers/zulip-term/default.nix
index ad16c84c698..cf48ba4420e 100644
--- a/pkgs/applications/networking/instant-messengers/zulip-term/default.nix
+++ b/pkgs/applications/networking/instant-messengers/zulip-term/default.nix
@@ -17,6 +17,10 @@ python3.pkgs.buildPythonApplication rec {
     sha256 = "sha256-ZouUU4p1FSGMxPuzDo5P971R+rDXpBdJn2MqvkJO+Fw=";
   };
 
+  patches = [
+    ./pytest-executable-name.patch
+  ];
+
   propagatedBuildInputs = with python3.pkgs; [
     beautifulsoup4
     lxml
@@ -43,12 +47,6 @@ python3.pkgs.buildPythonApplication rec {
     "--prefix" "PATH" ":" (lib.makeBinPath [ libnotify ])
   ];
 
-  disabledTests = [
-    # IndexError: list index out of range
-    "test_main_multiple_notify_options"
-    "test_main_multiple_autohide_options"
-  ];
-
   meta = with lib; {
     description = "Zulip's official terminal client";
     homepage = "https://github.com/zulip/zulip-terminal";
diff --git a/pkgs/applications/networking/instant-messengers/zulip-term/pytest-executable-name.patch b/pkgs/applications/networking/instant-messengers/zulip-term/pytest-executable-name.patch
new file mode 100644
index 00000000000..a816993b8c4
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/zulip-term/pytest-executable-name.patch
@@ -0,0 +1,22 @@
+diff --git a/tests/cli/test_run.py b/tests/cli/test_run.py
+index 1452cfd..0a21c09 100644
+--- a/tests/cli/test_run.py
++++ b/tests/cli/test_run.py
+@@ -240,7 +240,7 @@ def test_main_multiple_autohide_options(
+ 
+     captured = capsys.readouterr()
+     lines = captured.err.strip("\n")
+-    lines = lines.split("pytest: ", 1)[1]
++    lines = lines.split("__main__.py: ", 1)[1]
+     expected = f"error: argument {options[1]}: not allowed with argument {options[0]}"
+     assert lines == expected
+ 
+@@ -277,7 +277,7 @@ def test_main_multiple_notify_options(
+ 
+     captured = capsys.readouterr()
+     lines = captured.err.strip("\n")
+-    lines = lines.split("pytest: ", 1)[1]
++    lines = lines.split("__main__.py: ", 1)[1]
+     expected = f"error: argument {options[1]}: not allowed with argument {options[0]}"
+     assert lines == expected
+ 
diff --git a/pkgs/applications/networking/ipfs-cluster/default.nix b/pkgs/applications/networking/ipfs-cluster/default.nix
index 459610feea7..49483ff7eb8 100644
--- a/pkgs/applications/networking/ipfs-cluster/default.nix
+++ b/pkgs/applications/networking/ipfs-cluster/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "ipfs-cluster";
-  version = "1.0.1";
+  version = "1.0.2";
 
-  vendorSha256 = "sha256-V+fqyrol+hXjjaCBlAs6f7FeqBqa2jTmMO2bvb6HfgY=";
+  vendorSha256 = "sha256-4pCJnQ/X5bvlgyHcRVZ8LyOexaKmz+1xAntMpZCpvd0=";
 
   src = fetchFromGitHub {
-    owner = "ipfs";
+    owner = "ipfs-cluster";
     repo = "ipfs-cluster";
     rev = "v${version}";
-    sha256 = "sha256-dwV5fx52QS2QiBUV8gkJ47tBqT54tEOfSpdXF6hmeLQ=";
+    sha256 = "sha256-Mbq4NzMNIGGFOWuHlToGmel/Oa/K6xzpZTVuXnKHq1M=";
   };
 
   meta = with lib; {
     description = "Allocate, replicate, and track Pins across a cluster of IPFS daemons";
-    homepage = "https://cluster.ipfs.io/";
+    homepage = "https://ipfscluster.io";
     license = licenses.mit;
     platforms = platforms.unix;
     maintainers = with maintainers; [ Luflosi jglukasik ];
diff --git a/pkgs/applications/networking/irc/convos/default.nix b/pkgs/applications/networking/irc/convos/default.nix
index 275cf4c726e..7b2a8c3f247 100644
--- a/pkgs/applications/networking/irc/convos/default.nix
+++ b/pkgs/applications/networking/irc/convos/default.nix
@@ -6,13 +6,13 @@ with lib;
 
 perlPackages.buildPerlPackage rec {
   pname = "convos";
-  version = "6.42";
+  version = "7.02";
 
   src = fetchFromGitHub {
     owner = "convos-chat";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-W7ZVZUCNllpFIQpNz2m/8VFOXDZfuppB+g3qibY6wt8=";
+    sha256 = "sha256-i8lDK5/Whi5uo2/Qqh5jgJGLuuHn7kdrfvr+9Ktzp/8=";
   };
 
   nativeBuildInputs = [ makeWrapper ]
@@ -20,7 +20,7 @@ perlPackages.buildPerlPackage rec {
 
   buildInputs = with perlPackages; [
     CryptPassphrase CryptPassphraseArgon2 CryptPassphraseBcrypt
-    FileHomeDir FileReadBackwards HTTPAcceptLanguage
+    FileHomeDir FileReadBackwards HTTPAcceptLanguage SyntaxKeywordTry FutureAsyncAwait
     IOSocketSSL IRCUtils JSONValidator LinkEmbedder ModuleInstall
     Mojolicious MojoliciousPluginOpenAPI MojoliciousPluginSyslog MojoliciousPluginWebpack
     ParseIRC TextMarkdownHoedown TimePiece UnicodeUTF8
@@ -36,6 +36,10 @@ perlPackages.buildPerlPackage rec {
   '';
 
   preCheck = ''
+    # Remove unstable test (PR #176640)
+    #
+    rm t/plugin-auth-header.t
+
     # Remove online test
     #
     rm t/web-pwa.t
diff --git a/pkgs/applications/networking/mailreaders/imapfilter.nix b/pkgs/applications/networking/mailreaders/imapfilter.nix
index bed71202c4f..870477545b5 100644
--- a/pkgs/applications/networking/mailreaders/imapfilter.nix
+++ b/pkgs/applications/networking/mailreaders/imapfilter.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "imapfilter";
-  version = "2.7.5";
+  version = "2.7.6";
 
   src = fetchFromGitHub {
     owner = "lefcha";
     repo = "imapfilter";
     rev = "v${version}";
-    sha256 = "nbVwbPkNbJz4GHhvOp+QVgiBqKA/HR34p4x3NXJB7ig=";
+    sha256 = "sha256-7B3ebY2QAk+64NycptoMmAo7GxUFOo3a7CH7txV/KTY=";
   };
   makeFlags = [
     "SSLCAFILE=/etc/ssl/certs/ca-bundle.crt"
diff --git a/pkgs/applications/networking/mailreaders/mailspring/default.nix b/pkgs/applications/networking/mailreaders/mailspring/default.nix
index 539e69069f3..a5a9b3ac89b 100644
--- a/pkgs/applications/networking/mailreaders/mailspring/default.nix
+++ b/pkgs/applications/networking/mailreaders/mailspring/default.nix
@@ -21,11 +21,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mailspring";
-  version = "1.10.3";
+  version = "1.10.5";
 
   src = fetchurl {
     url = "https://github.com/Foundry376/Mailspring/releases/download/${version}/mailspring-${version}-amd64.deb";
-    sha256 = "sha256-+H2KeaRBApveUG6Vz+Z8LWpmNpZ4lwyeX1LK0AKx/bw=";
+    sha256 = "sha256-eVwb7E04DzGdqfH4T+gkvmBtvN7ja4o8u7LvHk/581I=";
   };
 
   nativeBuildInputs = [
@@ -93,7 +93,7 @@ stdenv.mkDerivation rec {
     '';
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ toschmidt doronbehar ];
+    maintainers = with maintainers; [ toschmidt ];
     homepage = "https://getmailspring.com";
     downloadPage = "https://github.com/Foundry376/Mailspring";
     platforms = [ "x86_64-linux" ];
diff --git a/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix b/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix
index 3873740ef6a..b4b46f36b3f 100644
--- a/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix
+++ b/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix
@@ -3,12 +3,12 @@ electron, libsecret }:
 
 stdenv.mkDerivation rec {
   pname = "tutanota-desktop";
-  version = "3.98.15";
+  version = "3.98.17";
 
   src = fetchurl {
     url = "https://github.com/tutao/tutanota/releases/download/tutanota-desktop-release-${version}/${pname}-${version}-unpacked-linux.tar.gz";
     name = "tutanota-desktop-${version}.tar.gz";
-    sha256 = "sha256-yuSFDLQ7ckuZYuXREbW0VvMapzO2VhVIH1Ccr1uQHmo=";
+    sha256 = "sha256-rVAiutjFI3/KJZeiTy6H2IdMh+SFz9+NvEoriPTnW2w=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/mpop/default.nix b/pkgs/applications/networking/mpop/default.nix
index e2bf0b134d5..21d9d19e03b 100644
--- a/pkgs/applications/networking/mpop/default.nix
+++ b/pkgs/applications/networking/mpop/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mpop";
-  version = "1.4.16";
+  version = "1.4.17";
 
   src = fetchurl {
     url = "https://marlam.de/${pname}/releases/${pname}-${version}.tar.xz";
-    sha256 = "sha256-hw61cerm0j+5KtDITXnenDjF9iTjYUk31XS/5Jumh/k=";
+    sha256 = "sha256-Qq5JS60pQdn2R8SMPtmMOLqapc8/5I+w/gblttrfi9U=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/msmtp/default.nix b/pkgs/applications/networking/msmtp/default.nix
index 418a74a62a3..47ba4b1e698 100644
--- a/pkgs/applications/networking/msmtp/default.nix
+++ b/pkgs/applications/networking/msmtp/default.nix
@@ -1,59 +1,131 @@
-{ stdenv, lib, fetchurl, autoreconfHook, pkg-config, texinfo
-, netcat-gnu, gnutls, gsasl, libidn2, Security
-, withKeyring ? true, libsecret ? null
-, systemd ? null }:
+{ resholve
+, stdenv
+, symlinkJoin
+, lib
+, fetchFromGitHub
+, autoreconfHook
+, pkg-config
+, bash
+, coreutils
+, gnugrep
+, gnutls
+, gsasl
+, libidn2
+, netcat-gnu
+, texinfo
+, which
+, Security
+, withKeyring ? true
+, libsecret ? null
+, withSystemd ? stdenv.isLinux
+, systemd ? null
+}:
 
 let
-  tester = "n"; # {x| |p|P|n|s}
-  journal = if stdenv.isLinux then "y" else "n";
+  inherit (lib) getBin getExe optionals;
 
-in stdenv.mkDerivation rec {
-  pname = "msmtp";
   version = "1.8.20";
 
-  src = fetchurl {
-    url = "https://marlam.de/${pname}/releases/${pname}-${version}.tar.xz";
-    sha256 = "sha256-2TriqvwPSK99ydCzlN8buABYi4tOjQltizzyJTROsRE=";
+  src = fetchFromGitHub {
+    owner = "marlam";
+    repo = "msmtp-mirror";
+    rev = "msmtp-${version}";
+    hash = "sha256-RcQZ7Vm8UjJJoogkmUmZ+/2fz7C4AcVYY/kTOlfz7+I=";
   };
 
-  patches = [
-    ./paths.patch
-  ];
+  meta = with lib; {
+    description = "Simple and easy to use SMTP client with excellent sendmail compatibility";
+    homepage = "https://marlam.de/msmtp/";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ peterhoeg ];
+    platforms = platforms.unix;
+  };
 
-  buildInputs = [ gnutls gsasl libidn2 ]
-    ++ lib.optional stdenv.isDarwin Security
-    ++ lib.optional withKeyring libsecret;
+  binaries = stdenv.mkDerivation rec {
+    pname = "msmtp-binaries";
+    inherit version src meta;
 
-  nativeBuildInputs = [ autoreconfHook pkg-config texinfo ];
+    configureFlags = [ "--sysconfdir=/etc" "--with-libgsasl" ]
+      ++ optionals stdenv.isDarwin [ "--with-macosx-keyring" ];
 
-  configureFlags = [ "--sysconfdir=/etc" "--with-libgsasl" ]
-    ++ lib.optional stdenv.isDarwin [ "--with-macosx-keyring" ];
+    buildInputs = [ gnutls gsasl libidn2 ]
+      ++ optionals stdenv.isDarwin [ Security ]
+      ++ optionals withKeyring [ libsecret ];
 
-  postInstall = ''
-    install -d $out/share/doc/${pname}/scripts
-    cp -r scripts/{find_alias,msmtpqueue,msmtpq,set_sendmail} $out/share/doc/${pname}/scripts
-    install -Dm644 doc/*.example $out/share/doc/${pname}
+    nativeBuildInputs = [ autoreconfHook pkg-config texinfo ];
 
-    substitute scripts/msmtpq/msmtpq $out/bin/msmtpq \
-      --replace @msmtp@      $out/bin/msmtp \
-      --replace @nc@         ${netcat-gnu}/bin/nc \
-      --replace @journal@    ${journal} \
-      ${lib.optionalString (journal == "y") "--replace @systemdcat@ ${systemd}/bin/systemd-cat" } \
-      --replace @test@       ${tester}
+    enableParallelBuilding = true;
 
-    substitute scripts/msmtpq/msmtp-queue $out/bin/msmtp-queue \
-      --replace @msmtpq@ $out/bin/msmtpq
+    postInstall = ''
+      install -Dm444 -t $out/share/doc/msmtp doc/*.example
+      ln -s msmtp $out/bin/sendmail
+    '';
+  };
 
-    ln -s msmtp $out/bin/sendmail
+  scripts = resholve.mkDerivation rec {
+    pname = "msmtp-scripts";
+    inherit version src meta;
 
-    chmod +x $out/bin/*
-  '';
+    patches = [ ./paths.patch ];
 
-  meta = with lib; {
-    description = "Simple and easy to use SMTP client with excellent sendmail compatibility";
-    homepage = "https://marlam.de/msmtp/";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ peterhoeg ];
-    platforms = platforms.unix;
+    postPatch = ''
+      substituteInPlace scripts/msmtpq/msmtpq \
+        --replace @journal@ ${if withSystemd then "Y" else "N"}
+    '';
+
+    dontConfigure = true;
+    dontBuild = true;
+
+    installPhase = ''
+      runHook preInstall
+
+      install -Dm555 -t $out/bin                     scripts/msmtpq/msmtp*
+      install -Dm444 -t $out/share/doc/msmtp/scripts scripts/msmtpq/README*
+      install -Dm444 -t $out/share/doc/msmtp/scripts scripts/{find_alias,msmtpqueue,set_sendmail}/*
+
+      if grep --quiet -E '@.+@' $out/bin/*; then
+        echo "Unsubstituted variables found. Aborting!"
+        grep -E '@.+@' $out/bin/*
+        exit 1
+      fi
+
+      runHook postInstall
+    '';
+
+    solutions = {
+      msmtpq = {
+        scripts = [ "bin/msmtpq" ];
+        interpreter = getExe bash;
+        inputs = [
+          binaries
+          coreutils
+          gnugrep
+          netcat-gnu
+          which
+        ] ++ optionals withSystemd [ systemd ];
+        execer = [
+          "cannot:${getBin binaries}/bin/msmtp"
+          "cannot:${getBin netcat-gnu}/bin/nc"
+        ] ++ optionals withSystemd [
+          "cannot:${getBin systemd}/bin/systemd-cat"
+        ];
+        fix."$MSMTP" = [ "msmtp" ];
+        fake.external = [ "ping" ]
+          ++ optionals (!withSystemd) [ "systemd-cat" ];
+      };
+
+      msmtp-queue = {
+        scripts = [ "bin/msmtp-queue" ];
+        interpreter = getExe bash;
+        inputs = [ "${placeholder "out"}/bin" ];
+        execer = [ "cannot:${placeholder "out"}/bin/msmtpq" ];
+      };
+    };
   };
+
+in
+symlinkJoin {
+  name = "msmtp-${version}";
+  inherit version meta;
+  paths = [ binaries scripts ];
 }
diff --git a/pkgs/applications/networking/msmtp/paths.patch b/pkgs/applications/networking/msmtp/paths.patch
index 26ee6976d50..1a62aa4caed 100644
--- a/pkgs/applications/networking/msmtp/paths.patch
+++ b/pkgs/applications/networking/msmtp/paths.patch
@@ -1,61 +1,31 @@
-diff --git a/scripts/msmtpq/msmtp-queue b/scripts/msmtpq/msmtp-queue
-index 1dc220d..d834241 100755
---- a/scripts/msmtpq/msmtp-queue
-+++ b/scripts/msmtpq/msmtp-queue
-@@ -27,4 +27,4 @@
- ## change the below line to be
- ##   exec /path/to/msmtpq --q-mgmt
- 
--exec msmtpq --q-mgmt "$1"
-+exec @msmtpq@ --q-mgmt "$1"
 diff --git a/scripts/msmtpq/msmtpq b/scripts/msmtpq/msmtpq
-index bdb4fb8..1363a67 100755
+index 1b39fc6..4baa19b 100755
 --- a/scripts/msmtpq/msmtpq
 +++ b/scripts/msmtpq/msmtpq
-@@ -59,7 +59,7 @@ err() { dsp '' "$@" '' ; exit 1 ; }
- ##   enter the location of the msmtp executable  (no quotes !!)
- ##   e.g. ( MSMTP=/path/to/msmtp )
- ##   and uncomment the test for its existence
--MSMTP=msmtp
-+MSMTP=@msmtp@
- #[ -x "$MSMTP" ] || \
- #  log -e 1 "msmtpq : can't find the msmtp executable [ $MSMTP ]"   # if not found - complain ; quit
- ##
-@@ -70,9 +70,9 @@ MSMTP=msmtp
+@@ -70,8 +70,8 @@ MSMTP=msmtp
  ##            ( chmod 0700 msmtp.queue )
  ##
  ## the queue dir - modify this to reflect where you'd like it to be  (no quotes !!)
 -Q=~/.msmtp.queue
 -[ -d "$Q" ] || mkdir -m 0700 "$Q" || \
--  err '' "msmtpq : can't find or create msmtp queue directory [ $Q ]" ''     # if not present - complain ; quit
 +Q=${MSMTP_QUEUE:-~/.msmtp.queue}
 +[ -d "$Q" ] || mkdir -m 0700 -p "$Q" || \
-+   err '' "msmtpq : can't find or create msmtp queue directory [ $Q ]" ''     # if not present - complain ; quit
+   err '' "msmtpq : can't find or create msmtp queue directory [ $Q ]" ''     # if not present - complain ; quit
  ##
  ## set the queue log file var to the location of the msmtp queue log file
- ##   where it is or where you'd like it to be
-@@ -84,7 +83,10 @@ Q=~/.msmtp.queue
+@@ -84,7 +84,10 @@ Q=~/.msmtp.queue
  ##     (doing so would be inadvisable under most conditions, however)
  ##
  ## the queue log file - modify (or comment out) to taste  (but no quotes !!)
 -LOG=~/log/msmtp.queue.log
 +LOG=${MSMTP_LOG:-~/log/msmtp.queue.log}
-+test -d "$(dirname $LOG)" || mkdir -p "$(dirname $LOG)"
++[ -d "$(dirname "$LOG")" ] || mkdir -p "$(dirname "$LOG")"
 +
 +JOURNAL=@journal@
  ## ======================================================================================
  
  ## msmtpq can use the following environment variables :
-@@ -108,7 +110,7 @@ LOG=~/log/msmtp.queue.log
- ##
- #EMAIL_CONN_NOTEST=y                 # deprecated ; use below var
- #EMAIL_CONN_TEST={x| |p|P|n|s}       # see settings above for EMAIL_CONN_TEST
--EMAIL_CONN_TEST=n
-+EMAIL_CONN_TEST=@test@
- #EMAIL_QUEUE_QUIET=t
- ## ======================================================================================
- 
-@@ -138,6 +140,7 @@ on_exit() {                          # unlock the queue on exit if the lock was
+@@ -138,6 +141,7 @@ on_exit() {                          # unlock the queue on exit if the lock was
  ## display msg to user, as well
  ##
  log() {
@@ -63,15 +33,14 @@ index bdb4fb8..1363a67 100755
    local ARG RC PFX
    PFX="$('date' +'%Y %d %b %H:%M:%S')"
                                       # time stamp prefix - "2008 13 Mar 03:59:45 "
-   if [ "$1" = '-e' ] ; then          # there's an error exit code
-@@ -154,10 +157,19 @@ log() {
+@@ -155,10 +159,19 @@ log() {
      done
    fi
  
-+  if [ "$JOURNAL" == "y" ] ; then
++  if [ "$JOURNAL" == "Y" ]; then
 +    for ARG ; do
 +      [ -n "$ARG" ] && \
-+        echo "$PFX : $ARG" | @systemdcat@ -t $NAME -p info
++        echo "$ARG" | systemd-cat -t $NAME -p info
 +    done
 +  fi
 +
@@ -79,20 +48,8 @@ index bdb4fb8..1363a67 100755
      [ -n "$LKD" ] && lock_queue -u   # unlock here (if locked)
      [ -n "$LOG" ] && \
        echo "    exit code = $RC" >> "$LOG" # logging ok ; send exit code to log
-+    [ "$JOURNAL" == "y" ] && \
-+      echo "exit code= $RC" | @systemdcat@ -t $NAME -p emerg
-     exit $RC                         # exit w/return code
++    [ "$JOURNAL" == "Y" ] && \
++      echo "exit code= $RC" | systemd-cat -t $NAME -p emerg
+     exit "$RC"                       # exit w/return code
    fi
  }
-@@ -207,10 +219,7 @@ connect_test() {
-     ping -qnc1 -w4 8.8.8.8 >/dev/null 2>&1 || return 1
- 
-   elif [ "$EMAIL_CONN_TEST" = 'n' ] ; then                     # use netcat (nc) test
--    # must, of course, have netcat (nc) installed
--    which nc >/dev/null 2>&1 || \
--      log -e 1 "msmtpq : can't find netcat executable [ nc ]"  # if not found - complain ; quit
--    'nc' -vz www.debian.org 80 >/dev/null 2>&1 || return 1
-+    @nc@ -vz www.debian.org 80 >/dev/null 2>&1 || return 1
- 
-   elif [ "$EMAIL_CONN_TEST" = 's' ] ; then                     # use sh sockets test
-     # note that this does not work on debian systems
diff --git a/pkgs/applications/networking/mullvad-vpn/default.nix b/pkgs/applications/networking/mullvad-vpn/default.nix
index d1091068c6b..48189e7bfa5 100644
--- a/pkgs/applications/networking/mullvad-vpn/default.nix
+++ b/pkgs/applications/networking/mullvad-vpn/default.nix
@@ -43,11 +43,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "mullvad-vpn";
-  version = "2022.2";
+  version = "2022.3";
 
   src = fetchurl {
     url = "https://github.com/mullvad/mullvadvpn-app/releases/download/${version}/MullvadVPN-${version}_amd64.deb";
-    sha256 = "sha256-h/c4aPH6E2TzbXGROpLJgF9uHYcjvKiW5upIobpJM9o=";
+    sha256 = "sha256-AxBVH5dHp1IBgeAMEUm+6xgHNuDChNs1+kOinbsUJu0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/n8n/node-packages.nix b/pkgs/applications/networking/n8n/node-packages.nix
index cfbb01ebc92..1bffef8d467 100644
--- a/pkgs/applications/networking/n8n/node-packages.nix
+++ b/pkgs/applications/networking/n8n/node-packages.nix
@@ -67,40 +67,40 @@ let
         sha512 = "TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==";
       };
     };
-    "@azure/core-auth-1.3.2" = {
+    "@azure/core-auth-1.4.0" = {
       name = "_at_azure_slash_core-auth";
       packageName = "@azure/core-auth";
-      version = "1.3.2";
+      version = "1.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.3.2.tgz";
-        sha512 = "7CU6DmCHIZp5ZPiZ9r3J17lTKMmYsm/zGvNkjArQwPkrLlZ1TZ+EUYfGgh2X31OLMVAQCTJZW4cXHJi02EbJnA==";
+        url = "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.4.0.tgz";
+        sha512 = "HFrcTgmuSuukRf/EdPmqBrc5l6Q5Uu+2TbuhaKbgaCpP2TfAeiNaQPAadxO+CYBRHGUzIDteMAjFspFLDLnKVQ==";
       };
     };
-    "@azure/core-client-1.6.0" = {
+    "@azure/core-client-1.6.1" = {
       name = "_at_azure_slash_core-client";
       packageName = "@azure/core-client";
-      version = "1.6.0";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@azure/core-client/-/core-client-1.6.0.tgz";
-        sha512 = "YhSf4cb61ApSjItscp9XoaLq8KRnacPDAhmjAZSMnn/gs6FhFbZNfOBOErG2dDj7JRknVtCmJ5mLmfR2sLa11A==";
+        url = "https://registry.npmjs.org/@azure/core-client/-/core-client-1.6.1.tgz";
+        sha512 = "mZ1MSKhZBYoV8GAWceA+PEJFWV2VpdNSpxxcj1wjIAOi00ykRuIQChT99xlQGZWLY3/NApWhSImlFwsmCEs4vA==";
       };
     };
-    "@azure/core-http-2.2.5" = {
+    "@azure/core-http-2.2.6" = {
       name = "_at_azure_slash_core-http";
       packageName = "@azure/core-http";
-      version = "2.2.5";
+      version = "2.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@azure/core-http/-/core-http-2.2.5.tgz";
-        sha512 = "kctMqSQ6zfnlFpuYzfUKadeTyOQYbIQ+3Rj7dzVC3Dk1dOnHroTwR9hLYKX8/n85iJpkyaksaXpuh5L7GJRYuQ==";
+        url = "https://registry.npmjs.org/@azure/core-http/-/core-http-2.2.6.tgz";
+        sha512 = "Lx7A3k2JIXpIbixfUaOOG79WNSo/Y7dhZ0LaLhaayyZ6PwQdVsEQXAR+oIPqPSfgPzv7RtwPSVviJ2APrsQKvQ==";
       };
     };
-    "@azure/core-lro-2.2.4" = {
+    "@azure/core-lro-2.2.5" = {
       name = "_at_azure_slash_core-lro";
       packageName = "@azure/core-lro";
-      version = "2.2.4";
+      version = "2.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@azure/core-lro/-/core-lro-2.2.4.tgz";
-        sha512 = "e1I2v2CZM0mQo8+RSix0x091Av493e4bnT22ds2fcQGslTHzM2oTbswkB65nP4iEpCxBrFxOSDPKExmTmjCVtQ==";
+        url = "https://registry.npmjs.org/@azure/core-lro/-/core-lro-2.2.5.tgz";
+        sha512 = "/7LKDHNd2Q6gGCrg7zV4va/N90w250pE4vaQUfFt+hTd/dyycgJWCqQ6EljQr8hrIFiH93C8Apk97tsnl7Czkg==";
       };
     };
     "@azure/core-paging-1.3.0" = {
@@ -112,13 +112,13 @@ let
         sha512 = "H6Tg9eBm0brHqLy0OSAGzxIh1t4UL8eZVrSUMJ60Ra9cwq2pOskFqVpz2pYoHDsBY1jZ4V/P8LRGb5D5pmC6rg==";
       };
     };
-    "@azure/core-rest-pipeline-1.9.0" = {
+    "@azure/core-rest-pipeline-1.9.1" = {
       name = "_at_azure_slash_core-rest-pipeline";
       packageName = "@azure/core-rest-pipeline";
-      version = "1.9.0";
+      version = "1.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.9.0.tgz";
-        sha512 = "uvM3mY+Vegk0F2r4Eh0yPdsXTUyafTQkeX0USnz1Eyangxm2Bib0w0wkJVZW8fpks7Lcv0ztIdCFTrN7H8uptg==";
+        url = "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.9.1.tgz";
+        sha512 = "OVtt0LP0K5ktsKTmh6/695P0mPFmngjdCJPr4V0uvrkhHTkARSQ3VYRnxRc0LC9g3mHcH90C+8a6iF7ApMAZKg==";
       };
     };
     "@azure/core-tracing-1.0.0-preview.13" = {
@@ -175,31 +175,31 @@ let
         sha512 = "aK4s3Xxjrx3daZr3VylxejK3vG5ExXck5WOHDJ8in/k9AqlfIyFMMT1uG7u8mNjX+QRILTIn0/Xgschfh/dQ9g==";
       };
     };
-    "@azure/msal-browser-2.28.0" = {
+    "@azure/msal-browser-2.28.1" = {
       name = "_at_azure_slash_msal-browser";
       packageName = "@azure/msal-browser";
-      version = "2.28.0";
+      version = "2.28.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-2.28.0.tgz";
-        sha512 = "d83BBMT6id+eAdox+M37PCVWYDiqd6BrXxvjAVI2xJluRoSJCZQvB02Bcg6QCSe3ruLUK6vGwMTe8p1cDExePQ==";
+        url = "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-2.28.1.tgz";
+        sha512 = "5uAfwpNGBSRzBGTSS+5l4Zw6msPV7bEmq99n0U3n/N++iTcha+nIp1QujxTPuOLHmTNCeySdMx9qzGqWuy22zQ==";
       };
     };
-    "@azure/msal-common-7.2.0" = {
+    "@azure/msal-common-7.3.0" = {
       name = "_at_azure_slash_msal-common";
       packageName = "@azure/msal-common";
-      version = "7.2.0";
+      version = "7.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@azure/msal-common/-/msal-common-7.2.0.tgz";
-        sha512 = "+Oz8LKTOACDHqDmv+MZy/z+DZRH8RZbMjhadmvp0scQ0R75OrzZro+HkxifWhtDG8l1ViYkvV9NHb4pEZyajAQ==";
+        url = "https://registry.npmjs.org/@azure/msal-common/-/msal-common-7.3.0.tgz";
+        sha512 = "revxB3z+QLjwAtU1d04nC1voFr+i3LfqTpUfgrWZVqKh/sSgg0mZZUvw4vKVWB57qtL95sul06G+TfdFZny1Xw==";
       };
     };
-    "@azure/msal-node-1.12.0" = {
+    "@azure/msal-node-1.12.1" = {
       name = "_at_azure_slash_msal-node";
       packageName = "@azure/msal-node";
-      version = "1.12.0";
+      version = "1.12.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.12.0.tgz";
-        sha512 = "bNJe5xx3YXj7lrj9wUYl7HX4g1Be7s8VHjDhKPzOnlI54JnRKI+nQ95EmFBs3ckUYM9u82HUsHumDcB21YIC9w==";
+        url = "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.12.1.tgz";
+        sha512 = "m909lX9C8Ty01DBxbjr4KfAKWibohgRvY7hrdDo13U1ztlH+0Nbt7cPF1vrWonW/CRT4H4xtUa4LCNmivghggw==";
       };
     };
     "@azure/storage-blob-12.11.0" = {
@@ -211,13 +211,13 @@ let
         sha512 = "na+FisoARuaOWaHWpmdtk3FeuTWf2VWamdJ9/TJJzj5ZdXPLC3juoDgFs6XVuJIoK30yuBpyFBEDXVRK4pB7Tg==";
       };
     };
-    "@babel/parser-7.18.9" = {
+    "@babel/parser-7.18.11" = {
       name = "_at_babel_slash_parser";
       packageName = "@babel/parser";
-      version = "7.18.9";
+      version = "7.18.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.18.9.tgz";
-        sha512 = "9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg==";
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.18.11.tgz";
+        sha512 = "9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ==";
       };
     };
     "@babel/runtime-7.18.9" = {
@@ -247,13 +247,13 @@ let
         sha512 = "hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==";
       };
     };
-    "@fontsource/open-sans-4.5.10" = {
+    "@fontsource/open-sans-4.5.11" = {
       name = "_at_fontsource_slash_open-sans";
       packageName = "@fontsource/open-sans";
-      version = "4.5.10";
+      version = "4.5.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fontsource/open-sans/-/open-sans-4.5.10.tgz";
-        sha512 = "MrtTDfWb1Tu9YxVh2KaKmsKBn6O3KL/lHZS0KRKK58jgqvdwuiDt4QW4udmW4FQf0XOWgnZ+4vKUF80F3SqBAA==";
+        url = "https://registry.npmjs.org/@fontsource/open-sans/-/open-sans-4.5.11.tgz";
+        sha512 = "nG0gmbx4pSr8wltdG/ZdlS6OrsMK40Wt6iyuLTKHEf0TQfzKRMlWaskZHdeuWCwS6WUgqHKMf9KSwGdxPfapOg==";
       };
     };
     "@fortawesome/fontawesome-common-types-6.1.2" = {
@@ -400,13 +400,13 @@ let
         sha512 = "sBpko86IrTscc39EvHUhL+c++81BVTsIZ3ETu/vG+cCdi0N6vb2DoahR67A9FI2CGnxRRHjnTfa3m6LulwNATA==";
       };
     };
-    "@oclif/core-1.12.1" = {
+    "@oclif/core-1.13.10" = {
       name = "_at_oclif_slash_core";
       packageName = "@oclif/core";
-      version = "1.12.1";
+      version = "1.13.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/core/-/core-1.12.1.tgz";
-        sha512 = "9ZPh9MLirv2CbOHMybPw3Fczr56OAVi8UQZXTBM4AYmtuL3nHsovV5lvsNPvtAqa+IQuJQb//ERpKTThwJY6WA==";
+        url = "https://registry.npmjs.org/@oclif/core/-/core-1.13.10.tgz";
+        sha512 = "nwpjXwWscETdvO+/z94V1zd95vnzmCB6VRaobR4BdBllwWU6jHF/eCi1Ud2Tk9RSedChoLneZuDCkKnRCmxyng==";
       };
     };
     "@oclif/errors-1.3.5" = {
@@ -553,6 +553,15 @@ let
         sha512 = "RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==";
       };
     };
+    "@tootallnate/once-2.0.0" = {
+      name = "_at_tootallnate_slash_once";
+      packageName = "@tootallnate/once";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz";
+        sha512 = "XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==";
+      };
+    };
     "@types/bluebird-3.5.36" = {
       name = "_at_types_slash_bluebird";
       packageName = "@types/bluebird";
@@ -706,13 +715,13 @@ let
         sha512 = "zPE8kmpeL5/6L5gtTQHSOkAW/OSYYNTDRt6/2oEgLO1Zd3Rj5WVDoMloTtLJxQJhZGLGbL4pktKSh3NbzdaWdw==";
       };
     };
-    "@types/mime-1.3.2" = {
+    "@types/mime-3.0.1" = {
       name = "_at_types_slash_mime";
       packageName = "@types/mime";
-      version = "1.3.2";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz";
-        sha512 = "YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==";
+        url = "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz";
+        sha512 = "Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==";
       };
     };
     "@types/minimatch-3.0.5" = {
@@ -733,13 +742,13 @@ let
         sha512 = "/SNsDidUFCvqqcWDwxv2feww/yqhNeTRL5CVoL3jU4Goc4kKEL10T7Eye65ZqPNi4HRx8sAEX59pV1aEH7drNA==";
       };
     };
-    "@types/node-18.6.1" = {
+    "@types/node-18.6.5" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "18.6.1";
+      version = "18.6.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-18.6.1.tgz";
-        sha512 = "z+2vB6yDt1fNwKOeGbckpmirO+VBDuQqecXkgeIqDlaOtmKn6hPR/viQ8cxCfqLU4fTlvM3+YjM367TukWdxpg==";
+        url = "https://registry.npmjs.org/@types/node/-/node-18.6.5.tgz";
+        sha512 = "Xjt5ZGUa5WusGZJ4WJPbOT8QOqp6nDynVFRKcUt32bOgvXEoc6o085WNkYTMO7ifAj2isEfQQ2cseE+wT6jsRw==";
       };
     };
     "@types/node-fetch-2.6.2" = {
@@ -787,13 +796,13 @@ let
         sha512 = "EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==";
       };
     };
-    "@types/serve-static-1.13.10" = {
+    "@types/serve-static-1.15.0" = {
       name = "_at_types_slash_serve-static";
       packageName = "@types/serve-static";
-      version = "1.13.10";
+      version = "1.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz";
-        sha512 = "nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==";
+        url = "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz";
+        sha512 = "z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==";
       };
     };
     "@types/shelljs-0.8.11" = {
@@ -1246,13 +1255,13 @@ let
         sha512 = "z4oo33lmnvvNRqfUe3YjDGGpqu/L2+wXBIhMtwq6oqZ+exOUAkQYM6zd2VWKF7AIlajOF8ZZuPFfryTG9iLC/w==";
       };
     };
-    "aws-sdk-2.1182.0" = {
+    "aws-sdk-2.1191.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.1182.0";
+      version = "2.1191.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1182.0.tgz";
-        sha512 = "iemVvLTc2iy0rz3xTp8zc/kD27gIfDF/mk6bxY8/35xMulKCVANWUkAH8jWRKReHh5F/gX4bp33dnfG63ny1Ww==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1191.0.tgz";
+        sha512 = "G8hWvuc+3rxTfHqsnUwGx/fy8zlnVPtlNesXMHlwU/l4oBx3+Weg0Nhng6HvLGzUJifzlnSKDXrOsWVkHtuZ1w==";
       };
     };
     "aws-sign2-0.7.0" = {
@@ -2227,13 +2236,13 @@ let
         sha512 = "Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==";
       };
     };
-    "core-js-3.24.0" = {
+    "core-js-3.24.1" = {
       name = "core-js";
       packageName = "core-js";
-      version = "3.24.0";
+      version = "3.24.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.24.0.tgz";
-        sha512 = "IeOyT8A6iK37Ep4kZDD423mpi6JfPRoPUdQwEWYiGolvn4o6j2diaRzNfDfpTdu3a5qMbrGUzKUpYpRY8jXCkQ==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.24.1.tgz";
+        sha512 = "0QTBSYSUZ6Gq21utGzkfITDylE8jWC9Ne1D2MrhvlsZBI1x39OdDIVbzSqtgMndIy6BlHxBXpMGqzZmnztg2rg==";
       };
     };
     "core-util-is-1.0.2" = {
@@ -3721,6 +3730,15 @@ let
         sha512 = "k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==";
       };
     };
+    "http-proxy-agent-5.0.0" = {
+      name = "http-proxy-agent";
+      packageName = "http-proxy-agent";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz";
+        sha512 = "n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==";
+      };
+    };
     "http-signature-1.2.0" = {
       name = "http-signature";
       packageName = "http-signature";
@@ -4000,13 +4018,13 @@ let
         sha512 = "nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==";
       };
     };
-    "is-core-module-2.9.0" = {
+    "is-core-module-2.10.0" = {
       name = "is-core-module";
       packageName = "is-core-module";
-      version = "2.9.0";
+      version = "2.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz";
-        sha512 = "+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==";
+        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz";
+        sha512 = "Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==";
       };
     };
     "is-date-object-1.0.5" = {
@@ -4603,13 +4621,13 @@ let
         sha512 = "xOqorG21Va+3CjpFOfFTU7SWohHH2uIX9ZY4Byz6J+lvpfvc486tOAT/G9GfbrKtJ9O7NCX9o0aC2lxqbnZ9EA==";
       };
     };
-    "libphonenumber-js-1.10.10" = {
+    "libphonenumber-js-1.10.11" = {
       name = "libphonenumber-js";
       packageName = "libphonenumber-js";
-      version = "1.10.10";
+      version = "1.10.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.10.tgz";
-        sha512 = "JzYUapWcHkUe5n6OFqxJtHfCfuU0juqkqc9P+hrfzgmJODaREYLUgceiNAmIGx5j3Gjp7KVxi3koFo7OJFSTxg==";
+        url = "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.11.tgz";
+        sha512 = "ehoihx4HpRXO6FH/uJ0EnaEV4dVU+FDny+jv0S6k9JPyPsAIr0eXDAFvGRMBKE1daCtyHAaFSKCiuCxrOjVAzQ==";
       };
     };
     "libqp-1.1.0" = {
@@ -5323,13 +5341,13 @@ let
         sha512 = "6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==";
       };
     };
-    "mssql-8.1.2" = {
+    "mssql-8.1.3" = {
       name = "mssql";
       packageName = "mssql";
-      version = "8.1.2";
+      version = "8.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mssql/-/mssql-8.1.2.tgz";
-        sha512 = "xkTw3Sp1Jpq2f7CG3rFQn6YK4XZbnL8HfZhaB/KRC/hjDZlJB3pSWYN2Cp/WwxIeA1iUJkdFa6GTfdMY8+DAjg==";
+        url = "https://registry.npmjs.org/mssql/-/mssql-8.1.3.tgz";
+        sha512 = "XGxNNNeKZMMTM71na2M4eLMkPWKckcfZtMiCKR1mLzN887x31NisekNhoBAoRpqizErUZxSW8gSDZc8PVig7Kw==";
       };
     };
     "multer-1.4.5-lts.1" = {
@@ -5368,49 +5386,49 @@ let
         sha512 = "z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==";
       };
     };
-    "n8n-core-0.128.0" = {
+    "n8n-core-0.130.0" = {
       name = "n8n-core";
       packageName = "n8n-core";
-      version = "0.128.0";
+      version = "0.130.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-core/-/n8n-core-0.128.0.tgz";
-        sha512 = "JQhSmiqbZxq+zK41Rf71RIpSTnVnhPnxGnDR19wygVESTys0MEZ1d4PXe/p1H+OKHZ/SfKwN2jcp9C/8fOwyZw==";
+        url = "https://registry.npmjs.org/n8n-core/-/n8n-core-0.130.0.tgz";
+        sha512 = "fWqLRMOZ2aXuMrVns6kVX5eWTJVbrrslgQA9aZESMysR/P6eVVnBAcB948YMDHAZB9EeFGBzxCJCdCGdF3VVUQ==";
       };
     };
-    "n8n-design-system-0.28.0" = {
+    "n8n-design-system-0.30.0" = {
       name = "n8n-design-system";
       packageName = "n8n-design-system";
-      version = "0.28.0";
+      version = "0.30.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-design-system/-/n8n-design-system-0.28.0.tgz";
-        sha512 = "ff2TuXrr/2sueh37hXdqSWNSd/2Oz6oAxsjPVnOyxwqAP6vj5rmI4O1qZWYfwdXjqOKXOFzEPY1U9NIKLkC4ag==";
+        url = "https://registry.npmjs.org/n8n-design-system/-/n8n-design-system-0.30.0.tgz";
+        sha512 = "ZZRGms10PjTGzw7W8UPe5MXKuJ9eMZr+z9+mO7jywQg1ADzG+JCIgAcdad2II/V46nM4hkilGk0EI+IaBg0R/g==";
       };
     };
-    "n8n-editor-ui-0.154.0" = {
+    "n8n-editor-ui-0.156.0" = {
       name = "n8n-editor-ui";
       packageName = "n8n-editor-ui";
-      version = "0.154.0";
+      version = "0.156.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-0.154.0.tgz";
-        sha512 = "YmCb4KkK18+v6ecre17ctN4Gzy0q05wMWHQG3Q36GmScGNoCTcSzZpJmygECXQuh0ouoc98sy4YQfeyb8YmKvw==";
+        url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-0.156.0.tgz";
+        sha512 = "otgW18usDm9pD4Zz6JADNFhb3iMRjcHHcgv897uvk7oZC9nHr9VAQry0bOCMvO4bm3oJug37KkM6eNm02EY+tg==";
       };
     };
-    "n8n-nodes-base-0.186.0" = {
+    "n8n-nodes-base-0.188.0" = {
       name = "n8n-nodes-base";
       packageName = "n8n-nodes-base";
-      version = "0.186.0";
+      version = "0.188.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-0.186.0.tgz";
-        sha512 = "gWHuDqhjafqJ7KECM3CcyoiCuYALskKAwkoOj/SOjHTPDq4egLOUjvHXghOZpAoooAk2CTfP0gheEoGSNPVhjA==";
+        url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-0.188.0.tgz";
+        sha512 = "+R15NaRM9H767h7D/kwsQCpXhxmNQDMr3LMwhwPrUAXKGTZbk9YLZWhMlQaewhjGgQV69qo94OS9/Wb2FkvzMg==";
       };
     };
-    "n8n-workflow-0.110.0" = {
+    "n8n-workflow-0.112.0" = {
       name = "n8n-workflow";
       packageName = "n8n-workflow";
-      version = "0.110.0";
+      version = "0.112.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-workflow/-/n8n-workflow-0.110.0.tgz";
-        sha512 = "PZAV/k0Jq2UiiCK5Bx3RqD4qKNfSAdy7+19bn2fkFrzOD6t3aT481PPOgood04iBx0In4l57WJXlOGBkw32eCg==";
+        url = "https://registry.npmjs.org/n8n-workflow/-/n8n-workflow-0.112.0.tgz";
+        sha512 = "6HE3WP4kMdifNJ0plmcye1VU4PKbxlUXr5wIF/74M5M+yLusoMJn2kSLEQ4KO50WYwByl8qttXBbBIjrkM8lNw==";
       };
     };
     "named-placeholders-1.1.2" = {
@@ -5557,13 +5575,13 @@ let
         sha512 = "mGA53bSqo7j62PjmMuFPdO0efNT9pqiGYhQTNVCWkY7PdduRIECJF7n7NOrr5cb+d/js1GdYRLpoTYDwawRk6A==";
       };
     };
-    "node-html-parser-5.3.3" = {
+    "node-html-parser-5.4.1" = {
       name = "node-html-parser";
       packageName = "node-html-parser";
-      version = "5.3.3";
+      version = "5.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-html-parser/-/node-html-parser-5.3.3.tgz";
-        sha512 = "ncg1033CaX9UexbyA7e1N0aAoAYRDiV8jkTvzEnfd1GDvzFdrsXLzR4p4ik8mwLgnaKP/jyUFWDy9q3jvRT2Jw==";
+        url = "https://registry.npmjs.org/node-html-parser/-/node-html-parser-5.4.1.tgz";
+        sha512 = "xy/O2wOEBJsIRLs4avwa1lVY7tIpXXOoHHUJLa0GvnoPPqMG1hgBVl1tNI3GHOwRktTVZy+Y6rjghk4B9/NLyg==";
       };
     };
     "node-ssh-12.0.5" = {
@@ -5710,13 +5728,13 @@ let
         sha512 = "EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==";
       };
     };
-    "object.assign-4.1.2" = {
+    "object.assign-4.1.3" = {
       name = "object.assign";
       packageName = "object.assign";
-      version = "4.1.2";
+      version = "4.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz";
-        sha512 = "ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==";
+        url = "https://registry.npmjs.org/object.assign/-/object.assign-4.1.3.tgz";
+        sha512 = "ZFJnX3zltyjcYJL0RoCJuzb+11zWGyaDbjgxZbdV7rFEcHQuYxrZqhow67aA7xpes6LhojyFDaBKAFfogQrikA==";
       };
     };
     "object.getownpropertydescriptors-2.1.4" = {
@@ -6403,13 +6421,13 @@ let
         sha512 = "epKaq3TTfTzXcxBxjpoKYMcTTcAX8Rykus6QZu77XNhJuRHSRxMd+JJrbX/3PFI0opFGSN0BabbAYCbGxbu0mA==";
       };
     };
-    "postcss-8.4.14" = {
+    "postcss-8.4.16" = {
       name = "postcss";
       packageName = "postcss";
-      version = "8.4.14";
+      version = "8.4.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz";
-        sha512 = "E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==";
+        url = "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz";
+        sha512 = "ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==";
       };
     };
     "postgres-array-2.0.0" = {
@@ -7384,13 +7402,13 @@ let
         sha512 = "wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==";
       };
     };
-    "simple-git-3.10.0" = {
+    "simple-git-3.12.0" = {
       name = "simple-git";
       packageName = "simple-git";
-      version = "3.10.0";
+      version = "3.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-git/-/simple-git-3.10.0.tgz";
-        sha512 = "2w35xrS5rVtAW0g67LqtxCZN5cdddz/woQRfS0OJXaljXEoTychZ4jnE+CQgra/wX4ZvHeiChTUMenCwfIYEYw==";
+        url = "https://registry.npmjs.org/simple-git/-/simple-git-3.12.0.tgz";
+        sha512 = "cy1RSRFHGZSrlYa3MnUuNVOXLUdifEZD2X8+AZjg8mKCdRvtCFSga6acq5N2g0ggb8lH3jBi369MrFZ+Y6sfsA==";
       };
     };
     "simple-lru-cache-0.0.2" = {
@@ -7528,13 +7546,13 @@ let
         sha512 = "VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==";
       };
     };
-    "sqlite3-5.0.10" = {
+    "sqlite3-5.0.11" = {
       name = "sqlite3";
       packageName = "sqlite3";
-      version = "5.0.10";
+      version = "5.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-5.0.10.tgz";
-        sha512 = "xG4XPp7+b/lIlb/acs4XzBmmahI1Qq3Yhy+jZnZJivwB6DXpoOpGR6QinRbsQkHJIvMZyUsJDXouSva/JXcWFA==";
+        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-5.0.11.tgz";
+        sha512 = "4akFOr7u9lJEeAWLJxmwiV43DJcGV7w3ab7SjQFAFaTVyknY3rZjvXTKIVtWqUoY4xwhjwoHKYs2HDW2SoHVsA==";
       };
     };
     "sqlstring-2.3.3" = {
@@ -7771,13 +7789,13 @@ let
         sha512 = "ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==";
       };
     };
-    "swagger-ui-dist-4.13.0" = {
+    "swagger-ui-dist-4.13.2" = {
       name = "swagger-ui-dist";
       packageName = "swagger-ui-dist";
-      version = "4.13.0";
+      version = "4.13.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-4.13.0.tgz";
-        sha512 = "5yqhkUU9uV5oT/MTMBeSgDGI0Vx6eCOU43AszQBs88poI8OB1v+FoXEFHv+NaBbEfTkXCMWlAJrH6iWyDzLETQ==";
+        url = "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-4.13.2.tgz";
+        sha512 = "jHL6UyIYpvEI7NsuWd0R3hJaPQTg6Oo4qSBo+oVfOEkv6rrQm/475RGSMmZgV6ajp+Sgrp9CqrDjQYAgQqiv1A==";
       };
     };
     "swagger-ui-express-4.5.0" = {
@@ -8860,13 +8878,13 @@ let
         sha512 = "y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==";
       };
     };
-    "yargs-parser-21.0.1" = {
+    "yargs-parser-21.1.1" = {
       name = "yargs-parser";
       packageName = "yargs-parser";
-      version = "21.0.1";
+      version = "21.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz";
-        sha512 = "9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==";
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz";
+        sha512 = "tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==";
       };
     };
     "yup-0.32.11" = {
@@ -8911,20 +8929,15 @@ in
   n8n = nodeEnv.buildNodePackage {
     name = "n8n";
     packageName = "n8n";
-    version = "0.188.0";
+    version = "0.190.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/n8n/-/n8n-0.188.0.tgz";
-      sha512 = "Y5qHnMg608MvJq9f+5Bf+A7eAFxyLVF99siBRX76xj7OWGJUtYrCnOPrKd3zvLJuWCWZXMznjwNnlZwgutsLkA==";
+      url = "https://registry.npmjs.org/n8n/-/n8n-0.190.0.tgz";
+      sha512 = "FsvOBZL1FsFuZp9ut6+s97t/Oz5MAIpqNsS/Pdh4ZmJz5XoiTYn1UchlGF4NziUYzvWmdEV96uxo1IU/i8VtSw==";
     };
     dependencies = [
       sources."@apidevtools/json-schema-ref-parser-8.0.0"
       sources."@apidevtools/openapi-schemas-2.1.0"
-      (sources."@apidevtools/swagger-cli-4.0.0" // {
-        dependencies = [
-          sources."chalk-3.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
+      sources."@apidevtools/swagger-cli-4.0.0"
       sources."@apidevtools/swagger-methods-3.0.2"
       (sources."@apidevtools/swagger-parser-9.0.1" // {
         dependencies = [
@@ -8936,17 +8949,17 @@ in
           sources."tslib-2.4.0"
         ];
       })
-      (sources."@azure/core-auth-1.3.2" // {
+      (sources."@azure/core-auth-1.4.0" // {
         dependencies = [
           sources."tslib-2.4.0"
         ];
       })
-      (sources."@azure/core-client-1.6.0" // {
+      (sources."@azure/core-client-1.6.1" // {
         dependencies = [
           sources."tslib-2.4.0"
         ];
       })
-      (sources."@azure/core-http-2.2.5" // {
+      (sources."@azure/core-http-2.2.6" // {
         dependencies = [
           sources."@azure/core-tracing-1.0.0-preview.13"
           sources."tough-cookie-4.0.0"
@@ -8954,9 +8967,8 @@ in
           sources."universalify-0.1.2"
         ];
       })
-      (sources."@azure/core-lro-2.2.4" // {
+      (sources."@azure/core-lro-2.2.5" // {
         dependencies = [
-          sources."@azure/core-tracing-1.0.0-preview.13"
           sources."tslib-2.4.0"
         ];
       })
@@ -8965,8 +8977,10 @@ in
           sources."tslib-2.4.0"
         ];
       })
-      (sources."@azure/core-rest-pipeline-1.9.0" // {
+      (sources."@azure/core-rest-pipeline-1.9.1" // {
         dependencies = [
+          sources."@tootallnate/once-2.0.0"
+          sources."http-proxy-agent-5.0.0"
           sources."tslib-2.4.0"
         ];
       })
@@ -8999,16 +9013,16 @@ in
           sources."tslib-2.4.0"
         ];
       })
-      sources."@azure/msal-browser-2.28.0"
-      sources."@azure/msal-common-7.2.0"
-      sources."@azure/msal-node-1.12.0"
+      sources."@azure/msal-browser-2.28.1"
+      sources."@azure/msal-common-7.3.0"
+      sources."@azure/msal-node-1.12.1"
       (sources."@azure/storage-blob-12.11.0" // {
         dependencies = [
           sources."@azure/core-tracing-1.0.0-preview.13"
           sources."tslib-2.4.0"
         ];
       })
-      sources."@babel/parser-7.18.9"
+      sources."@babel/parser-7.18.11"
       sources."@babel/runtime-7.18.9"
       sources."@colors/colors-1.5.0"
       (sources."@dabh/diagnostics-2.0.3" // {
@@ -9017,7 +9031,7 @@ in
           sources."kuler-2.0.0"
         ];
       })
-      sources."@fontsource/open-sans-4.5.10"
+      sources."@fontsource/open-sans-4.5.11"
       sources."@fortawesome/fontawesome-common-types-6.1.2"
       sources."@fortawesome/free-regular-svg-icons-6.1.2"
       (sources."@icetee/ftp-0.3.15" // {
@@ -9043,9 +9057,16 @@ in
           sources."tslib-2.4.0"
         ];
       })
-      (sources."@oclif/core-1.12.1" // {
+      (sources."@oclif/core-1.13.10" // {
         dependencies = [
+          (sources."chalk-4.1.2" // {
+            dependencies = [
+              sources."supports-color-7.2.0"
+            ];
+          })
+          sources."supports-color-8.1.1"
           sources."tslib-2.4.0"
+          sources."wrap-ansi-7.0.0"
         ];
       })
       (sources."@oclif/errors-1.3.5" // {
@@ -9053,18 +9074,20 @@ in
           sources."fs-extra-8.1.0"
           sources."jsonfile-4.0.0"
           sources."universalify-0.1.2"
+          sources."wrap-ansi-7.0.0"
         ];
       })
       (sources."@oclif/help-1.0.1" // {
         dependencies = [
           sources."@oclif/config-1.18.2"
+          sources."chalk-4.1.2"
           sources."tslib-2.4.0"
-          sources."wrap-ansi-6.2.0"
         ];
       })
       sources."@oclif/linewrap-1.0.0"
       (sources."@oclif/parser-3.8.7" // {
         dependencies = [
+          sources."chalk-4.1.2"
           sources."tslib-2.4.0"
         ];
       })
@@ -9096,10 +9119,10 @@ in
       sources."@types/lodash-4.14.182"
       sources."@types/lodash.intersection-4.4.7"
       sources."@types/lossless-json-1.0.1"
-      sources."@types/mime-1.3.2"
+      sources."@types/mime-3.0.1"
       sources."@types/minimatch-3.0.5"
       sources."@types/multer-1.4.7"
-      sources."@types/node-18.6.1"
+      sources."@types/node-18.6.5"
       (sources."@types/node-fetch-2.6.2" // {
         dependencies = [
           sources."form-data-3.0.1"
@@ -9109,7 +9132,7 @@ in
       sources."@types/promise-ftp-common-1.1.0"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
-      sources."@types/serve-static-1.13.10"
+      sources."@types/serve-static-1.15.0"
       sources."@types/shelljs-0.8.11"
       sources."@types/snowflake-sdk-1.6.7"
       sources."@types/swagger-ui-express-4.1.3"
@@ -9175,7 +9198,7 @@ in
       })
       sources."available-typed-arrays-1.0.5"
       sources."avsc-5.7.4"
-      (sources."aws-sdk-2.1182.0" // {
+      (sources."aws-sdk-2.1191.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."events-1.1.1"
@@ -9264,11 +9287,7 @@ in
           sources."adler-32-1.3.1"
         ];
       })
-      (sources."chalk-4.1.2" // {
-        dependencies = [
-          sources."supports-color-7.2.0"
-        ];
-      })
+      sources."chalk-3.0.0"
       (sources."change-case-4.1.2" // {
         dependencies = [
           sources."tslib-2.4.0"
@@ -9287,8 +9306,10 @@ in
       sources."cli-cursor-3.1.0"
       (sources."cli-highlight-2.1.11" // {
         dependencies = [
+          sources."chalk-4.1.2"
           sources."cliui-7.0.4"
           sources."parse5-5.1.1"
+          sources."wrap-ansi-7.0.0"
           sources."y18n-5.0.8"
           sources."yargs-16.2.0"
           sources."yargs-parser-20.2.9"
@@ -9297,11 +9318,7 @@ in
       sources."cli-progress-3.11.2"
       sources."cli-width-3.0.0"
       sources."client-oauth2-4.3.3"
-      (sources."cliui-6.0.0" // {
-        dependencies = [
-          sources."wrap-ansi-6.2.0"
-        ];
-      })
+      sources."cliui-6.0.0"
       sources."cluster-key-slot-1.1.0"
       sources."codepage-1.15.0"
       (sources."color-3.2.1" // {
@@ -9349,7 +9366,7 @@ in
       sources."cookie-parser-1.4.6"
       sources."cookie-signature-1.0.6"
       sources."copy-to-2.0.1"
-      sources."core-js-3.24.0"
+      sources."core-js-3.24.1"
       sources."core-util-is-1.0.3"
       sources."crc-32-1.2.2"
       sources."cron-1.7.2"
@@ -9591,7 +9608,11 @@ in
       sources."indent-string-4.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."inquirer-7.3.3"
+      (sources."inquirer-7.3.3" // {
+        dependencies = [
+          sources."chalk-4.1.2"
+        ];
+      })
       sources."internal-slot-1.0.3"
       sources."interpret-1.4.0"
       sources."ioredis-4.28.5"
@@ -9606,7 +9627,7 @@ in
       sources."is-boolean-object-1.1.2"
       sources."is-buffer-1.1.6"
       sources."is-callable-1.2.4"
-      sources."is-core-module-2.9.0"
+      sources."is-core-module-2.10.0"
       sources."is-date-object-1.0.5"
       sources."is-docker-2.2.1"
       sources."is-extendable-0.1.1"
@@ -9640,7 +9661,11 @@ in
       sources."isexe-2.0.0"
       sources."iso-639-1-2.1.15"
       sources."isstream-0.1.2"
-      sources."jake-10.8.5"
+      (sources."jake-10.8.5" // {
+        dependencies = [
+          sources."chalk-4.1.2"
+        ];
+      })
       sources."jmespath-0.16.0"
       sources."join-component-1.1.0"
       sources."js-md4-0.3.2"
@@ -9680,7 +9705,7 @@ in
           sources."iconv-lite-0.6.3"
         ];
       })
-      sources."libphonenumber-js-1.10.10"
+      sources."libphonenumber-js-1.10.11"
       sources."libqp-1.1.0"
       sources."limiter-1.1.5"
       sources."linkify-it-4.0.0"
@@ -9688,6 +9713,7 @@ in
         dependencies = [
           sources."cliui-7.0.4"
           sources."debug-4.3.2"
+          sources."wrap-ansi-7.0.0"
           sources."y18n-5.0.8"
           sources."yargs-17.1.1"
           sources."yargs-parser-20.2.9"
@@ -9796,7 +9822,7 @@ in
         ];
       })
       sources."ms-2.1.2"
-      (sources."mssql-8.1.2" // {
+      (sources."mssql-8.1.3" // {
         dependencies = [
           sources."commander-9.4.0"
         ];
@@ -9810,15 +9836,15 @@ in
         ];
       })
       sources."mz-2.7.0"
-      sources."n8n-core-0.128.0"
-      sources."n8n-design-system-0.28.0"
-      sources."n8n-editor-ui-0.154.0"
-      (sources."n8n-nodes-base-0.186.0" // {
+      sources."n8n-core-0.130.0"
+      sources."n8n-design-system-0.30.0"
+      sources."n8n-editor-ui-0.156.0"
+      (sources."n8n-nodes-base-0.188.0" // {
         dependencies = [
           sources."iconv-lite-0.6.3"
         ];
       })
-      sources."n8n-workflow-0.110.0"
+      sources."n8n-workflow-0.112.0"
       (sources."named-placeholders-1.1.2" // {
         dependencies = [
           sources."lru-cache-4.1.5"
@@ -9848,7 +9874,7 @@ in
       sources."node-ensure-0.0.0"
       sources."node-fetch-2.6.7"
       sources."node-html-markdown-1.2.0"
-      sources."node-html-parser-5.3.3"
+      sources."node-html-parser-5.4.1"
       sources."node-ssh-12.0.5"
       sources."nodeify-1.0.1"
       sources."nodemailer-6.7.7"
@@ -9863,7 +9889,7 @@ in
       sources."object-inspect-1.12.2"
       sources."object-keys-1.1.1"
       sources."object-treeify-1.1.33"
-      sources."object.assign-4.1.2"
+      sources."object.assign-4.1.3"
       sources."object.getownpropertydescriptors-2.1.4"
       sources."on-finished-2.4.1"
       sources."on-headers-1.0.2"
@@ -9963,7 +9989,7 @@ in
       sources."popsicle-transport-http-1.2.1"
       sources."popsicle-transport-xhr-2.0.0"
       sources."popsicle-user-agent-1.0.0"
-      sources."postcss-8.4.14"
+      sources."postcss-8.4.16"
       sources."postgres-array-2.0.0"
       sources."postgres-bytea-1.0.0"
       sources."postgres-date-1.0.7"
@@ -10114,7 +10140,7 @@ in
       })
       sources."side-channel-1.0.4"
       sources."signal-exit-3.0.7"
-      sources."simple-git-3.10.0"
+      sources."simple-git-3.12.0"
       sources."simple-lru-cache-0.0.2"
       sources."simple-swizzle-0.2.2"
       sources."slash-3.0.0"
@@ -10148,7 +10174,7 @@ in
         ];
       })
       sources."sprintf-js-1.0.3"
-      sources."sqlite3-5.0.10"
+      sources."sqlite3-5.0.11"
       sources."sqlstring-2.3.3"
       sources."sse-channel-3.1.1"
       sources."ssf-0.11.2"
@@ -10178,14 +10204,10 @@ in
       })
       sources."strip-ansi-6.0.1"
       sources."strtok3-6.3.0"
-      sources."supports-color-8.1.1"
-      (sources."supports-hyperlinks-2.2.0" // {
-        dependencies = [
-          sources."supports-color-7.2.0"
-        ];
-      })
+      sources."supports-color-7.2.0"
+      sources."supports-hyperlinks-2.2.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
-      sources."swagger-ui-dist-4.13.0"
+      sources."swagger-ui-dist-4.13.2"
       sources."swagger-ui-express-4.5.0"
       (sources."tar-6.1.11" // {
         dependencies = [
@@ -10248,13 +10270,15 @@ in
         dependencies = [
           sources."argparse-2.0.1"
           sources."buffer-6.0.3"
+          sources."chalk-4.1.2"
           sources."cliui-7.0.4"
           sources."js-yaml-4.1.0"
           sources."mkdirp-1.0.4"
           sources."tslib-2.4.0"
+          sources."wrap-ansi-7.0.0"
           sources."y18n-5.0.8"
           sources."yargs-17.5.1"
-          sources."yargs-parser-21.0.1"
+          sources."yargs-parser-21.1.1"
         ];
       })
       sources."uc.micro-1.0.6"
@@ -10344,7 +10368,7 @@ in
       sources."word-0.3.0"
       sources."word-wrap-1.2.3"
       sources."wordwrap-1.0.0"
-      sources."wrap-ansi-7.0.0"
+      sources."wrap-ansi-6.2.0"
       sources."wrappy-1.0.2"
       sources."ws-7.5.9"
       sources."xlsx-0.17.5"
diff --git a/pkgs/applications/networking/ncgopher/default.nix b/pkgs/applications/networking/ncgopher/default.nix
index 50ad2d312f9..af9812e8fca 100644
--- a/pkgs/applications/networking/ncgopher/default.nix
+++ b/pkgs/applications/networking/ncgopher/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ncgopher";
-  version = "0.3.0";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "jansc";
     repo = "ncgopher";
     rev = "v${version}";
-    sha256 = "sha256-1tiijW3q/8zS9437G9gJDzBtxqVE3QUxgw74P7rcv98=";
+    sha256 = "sha256-GLt+ByZzQ9v+PPyebTa8LFqySixXw85RjGZ2e3yLRss=";
   };
 
-  cargoSha256 = "sha256-LA8LjY8oZslGFQhKR8fJ2heYxSBqUnmeejXKRvZXjIs=";
+  cargoSha256 = "sha256-VI+BTxgocv434wTr7nBeJRdt12wE53fEeqczE3o3768=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [
diff --git a/pkgs/applications/networking/nextcloud-client/default.nix b/pkgs/applications/networking/nextcloud-client/default.nix
index 7506dae3677..ec2d717e359 100644
--- a/pkgs/applications/networking/nextcloud-client/default.nix
+++ b/pkgs/applications/networking/nextcloud-client/default.nix
@@ -26,7 +26,7 @@
 
 mkDerivation rec {
   pname = "nextcloud-client";
-  version = "3.5.3";
+  version = "3.5.4";
 
   outputs = [ "out" "dev" ];
 
@@ -34,7 +34,7 @@ mkDerivation rec {
     owner = "nextcloud";
     repo = "desktop";
     rev = "v${version}";
-    sha256 = "sha256-J6ukQ29DpCgmX9MF+evWXAy3usl0xB/xv4inBPS8nQI=";
+    sha256 = "sha256-ennKNUuoyhpVfG1XPzJKrop0i77BAB3C2MNqZPOXNkc=";
   };
 
   patches = [
diff --git a/pkgs/applications/networking/opsdroid/default.nix b/pkgs/applications/networking/opsdroid/default.nix
index 2b3cbce2cb4..3ba4f6ac57f 100644
--- a/pkgs/applications/networking/opsdroid/default.nix
+++ b/pkgs/applications/networking/opsdroid/default.nix
@@ -29,7 +29,7 @@ python3Packages.buildPythonPackage rec {
   meta = with lib; {
     description = "An open source chat-ops bot framework";
     homepage = "https://opsdroid.dev";
-    maintainers = with maintainers; [ fpletz globin willibutz ];
+    maintainers = with maintainers; [ globin willibutz ];
     license = licenses.asl20;
     platforms = platforms.unix;
   };
diff --git a/pkgs/applications/networking/r53-ddns/default.nix b/pkgs/applications/networking/r53-ddns/default.nix
index e34d6495d9b..321d1268caa 100644
--- a/pkgs/applications/networking/r53-ddns/default.nix
+++ b/pkgs/applications/networking/r53-ddns/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "r53-ddns";
-  version = "1.0.1";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "fleaz";
     repo = "r53-ddns";
     rev = "v${version}";
-    sha256 = "sha256:1pvd1karq1p81rkq2n7mh040n29f7wb8701ax6g2sqm1yz7gxd08";
+    sha256 = "sha256-KJAPhSGaC3upWLfo2eeSD3Vit9Blmbol7s8y3f849N4=";
   };
 
-  vendorSha256 = "sha256:1jhwds57gi548ahnh5m342csrs5rv9ysy7fqmfvg5w2s9slswq77";
+  vendorSha256 = "sha256-KkyMd94cejWkgg/RJudy1lm/M3lsEJXFGqVTzGIX3qM=";
 
   meta = with lib; {
     license = licenses.mit;
diff --git a/pkgs/applications/networking/remote/freerdp/default.nix b/pkgs/applications/networking/remote/freerdp/default.nix
index 99a81fd1a80..c769b7de6c8 100644
--- a/pkgs/applications/networking/remote/freerdp/default.nix
+++ b/pkgs/applications/networking/remote/freerdp/default.nix
@@ -52,13 +52,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "freerdp";
-  version = "2.7.0";
+  version = "2.8.0";
 
   src = fetchFromGitHub {
     owner = "FreeRDP";
     repo = "FreeRDP";
     rev = version;
-    sha256 = "sha256-XBYRhbwknVa8eXxk31b7n9gMWBcTjCecDN+j2FGcpw0=";
+    sha256 = "sha256-bVq/99jMkxTjckMjWoK4pBa0jD/AYezgKUPJziNSqI0=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/remote/remmina/default.nix b/pkgs/applications/networking/remote/remmina/default.nix
index 9721c6b9ba4..20496f38e86 100644
--- a/pkgs/applications/networking/remote/remmina/default.nix
+++ b/pkgs/applications/networking/remote/remmina/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitLab, cmake, ninja, pkg-config, wrapGAppsHook
-, glib, gtk3, gettext, libxkbfile, libX11
+, glib, gtk3, gettext, libxkbfile, libX11, python3
 , freerdp, libssh, libgcrypt, gnutls, vte
 , pcre2, libdbusmenu-gtk3, libappindicator-gtk3
 , libvncserver, libpthreadstubs, libXdmcp, libxkbcommon
@@ -15,13 +15,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "remmina";
-  version = "1.4.25";
+  version = "1.4.27";
 
   src = fetchFromGitLab {
     owner  = "Remmina";
     repo   = "Remmina";
     rev    = "v${version}";
-    sha256 = "sha256-1val/KCClEtw1prVWuXJe8DmmQ7e7oqwAfAnT9G9iHI=";
+    sha256 = "sha256-WIppHK4ucvKqgXB8VPy9ldbw22ZuDaEn1gNaLpyb4jA=";
   };
 
   nativeBuildInputs = [ cmake ninja pkg-config wrapGAppsHook ];
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     libvncserver libpthreadstubs libXdmcp libxkbcommon
     libsoup spice-protocol spice-gtk libepoxy at-spi2-core
     openssl gnome.adwaita-icon-theme json-glib libsodium webkitgtk
-    harfbuzz
+    harfbuzz python3
   ] ++ optionals withLibsecret [ libsecret ]
     ++ optionals withVte [ vte ];
 
diff --git a/pkgs/applications/networking/seahub/default.nix b/pkgs/applications/networking/seahub/default.nix
index 235b3026a6d..bf236e179cc 100644
--- a/pkgs/applications/networking/seahub/default.nix
+++ b/pkgs/applications/networking/seahub/default.nix
@@ -40,6 +40,7 @@ python.pkgs.buildPythonApplication rec {
   propagatedBuildInputs = with python.pkgs; [
     django
     future
+    django-compressor
     django-statici18n
     django-webpack-loader
     django-simple-captcha
@@ -48,7 +49,6 @@ python.pkgs.buildPythonApplication rec {
     mysqlclient
     pillow
     python-dateutil
-    django_compressor
     djangorestframework
     openpyxl
     requests
diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix
index c93f35bff92..cdef1fdab51 100644
--- a/pkgs/applications/networking/sync/rclone/default.nix
+++ b/pkgs/applications/networking/sync/rclone/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "rclone";
-  version = "1.59.0";
+  version = "1.59.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-SHUAEjdcqzNiIxSsmYb71JiOhWPoi8Z2nJAReRw2M5k=";
+    sha256 = "sha256-eblCMe9ywJztjsWmngUkB/IE2ePI9Yin2jkxBW0tTbQ=";
   };
 
-  vendorSha256 = "sha256-ajOUvZ/0D8QL4MY6xO+hZziyUtIB0WQERU6Ov06K9I8=";
+  vendorSha256 = "sha256-MZ5RtB4UGHPlMxyQ0VbX5iPpZw98oUuEhuMBDZcYiw8=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/applications/networking/sync/wdt/default.nix b/pkgs/applications/networking/sync/wdt/default.nix
index 53a112790ba..f24e1255d5e 100644
--- a/pkgs/applications/networking/sync/wdt/default.nix
+++ b/pkgs/applications/networking/sync/wdt/default.nix
@@ -1,14 +1,26 @@
-{ stdenv, lib, fetchFromGitHub, cmake, folly, boost, gflags, glog, openssl, double-conversion, fmt }:
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, folly
+, boost
+, gflags
+, glog
+, openssl
+, double-conversion
+, fmt
+, unstableGitUpdater
+}:
 
 stdenv.mkDerivation {
   pname = "wdt";
-  version = "unstable-2022-03-24";
+  version = "unstable-2022-07-08";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "wdt";
-    rev = "43319e59d0c77092468367cdadab37d12d7a2383";
-    sha256 = "sha256-MajYK2eTUbWhEql0iTlgW5yLg9xAGZQk+Dx4fNxFFqw=";
+    rev = "8f01b7558a80e5f08b06244d2821c3eb5c1d6e9b";
+    sha256 = "sha256-ozii7EA3j3F/o+lE2mPsUY5lrm3OOtK75gjGkrvoaQ0=";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -24,6 +36,10 @@ stdenv.mkDerivation {
     "-DWDT_USE_SYSTEM_FOLLY=ON"
   ];
 
+  passthru = {
+    updateScript = unstableGitUpdater { };
+  };
+
   meta = with lib; {
     description = "Warp speed Data Transfer";
     homepage = "https://github.com/facebook/wdt";
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index f09f9fb45ab..6fdc0e0d005 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -4,13 +4,13 @@ let
   common = { stname, target, postInstall ? "" }:
     buildGoModule rec {
       pname = stname;
-      version = "1.20.3";
+      version = "1.20.4";
 
       src = fetchFromGitHub {
         owner = "syncthing";
         repo = "syncthing";
         rev = "v${version}";
-        hash = "sha256-8sxCTPFdf5VDysANUYqic6zq5gipTL6wmPXstJc+6bA=";
+        hash = "sha256-umnlYvCtT+76Yer17T7ZvWJ5sUdXu+7kiRikrmWrIM8=";
       };
 
       vendorSha256 = "sha256-CJFKY69Iz8GrVpvUdDveMQQFj6RXApfgYjP7B1wfgfo=";
@@ -34,9 +34,8 @@ let
 
       inherit postInstall;
 
-      passthru.tests = with nixosTests; {
-        init = syncthing-init;
-        relay = syncthing-relay;
+      passthru.tests = {
+        inherit (nixosTests) syncthing syncthing-init syncthing-relay;
       };
 
       meta = with lib; {
diff --git a/pkgs/applications/networking/synology-drive-client/default.nix b/pkgs/applications/networking/synology-drive-client/default.nix
index 69468c0a4df..f86be07dfec 100644
--- a/pkgs/applications/networking/synology-drive-client/default.nix
+++ b/pkgs/applications/networking/synology-drive-client/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, lib, qt5, fetchurl, autoPatchelfHook, dpkg, glibc, cpio, xar, undmg, gtk3, pango }:
+{ stdenv, lib, writeScript, qt5, fetchurl, autoPatchelfHook, dpkg, glibc, cpio, xar, undmg, gtk3, pango, libxcb }:
 let
   pname = "synology-drive-client";
   baseUrl = "https://global.download.synology.com/download/Utility/SynologyDriveClient";
-  buildNumber = "12920";
-  version = "3.1.0";
+  version = "3.1.0-12923";
+  buildNumber = with lib; last (splitString "-" version);
   meta = with lib; {
     description = "Desktop application to synchronize files and folders between the computer and the Synology Drive server.";
     homepage = "https://www.synology.com/en-global/dsm/feature/drive";
@@ -12,18 +12,29 @@ let
     maintainers = with maintainers; [ jcouyang MoritzBoehme ];
     platforms = [ "x86_64-linux" "x86_64-darwin" ];
   };
+  passthru.updateScript = writeScript "update-synology-drive-client" ''
+    #!/usr/bin/env nix-shell
+    #!nix-shell -i bash -p curl common-updater-scripts
+
+    set -eu -o pipefail
+
+    version="$(curl -s https://www.synology.com/en-uk/releaseNote/SynologyDriveClient \
+             | grep -oP '(?<=data-version=")(\d.){2}\d-\d{5}' \
+             | head -1)"
+    update-source-version synology-drive-client "$version"
+  '';
 
   linux = qt5.mkDerivation {
-    inherit pname version meta;
+    inherit pname version meta passthru;
 
     src = fetchurl {
-      url = "${baseUrl}/${version}-${buildNumber}/Ubuntu/Installer/x86_64/synology-drive-client-${buildNumber}.x86_64.deb";
-      sha256 = "sha256-UAO/LwqPchIMhjdQP4METjVorMJsbvIDRkp4JxtZgOs=";
+      url = "${baseUrl}/${version}/Ubuntu/Installer/x86_64/synology-drive-client-${buildNumber}.x86_64.deb";
+      sha256 = "sha256-gL08uJbA2S+SuP1afMBmcJMIcu7QRzdiXgIMxSZQl/I=";
     };
 
     nativeBuildInputs = [ autoPatchelfHook dpkg ];
 
-    buildInputs = [ glibc gtk3 pango ];
+    buildInputs = [ glibc gtk3 pango libxcb ];
 
     unpackPhase = ''
       mkdir -p $out
@@ -44,11 +55,11 @@ let
   };
 
   darwin = stdenv.mkDerivation {
-    inherit pname version meta;
+    inherit pname version meta passthru;
 
     src = fetchurl {
-      url = "${baseUrl}/${version}-${buildNumber}/Mac/Installer/synology-drive-client-${buildNumber}.dmg";
-      sha256 = "15wici8ycil1mfh5cf89rfan4kb93wfkdsd4kmpvzjj4bnddwlxa";
+      url = "${baseUrl}/${version}/Mac/Installer/synology-drive-client-${buildNumber}.dmg";
+      sha256 = "0pwm2xi1b9p9zmhy4dhix3aas49i183wxslyidfwvlaphic9qkxm";
     };
 
     nativeBuildInputs = [ cpio xar undmg ];
diff --git a/pkgs/applications/office/beamerpresenter/default.nix b/pkgs/applications/office/beamerpresenter/default.nix
index 5f8d3adf8c2..c716323d4fc 100644
--- a/pkgs/applications/office/beamerpresenter/default.nix
+++ b/pkgs/applications/office/beamerpresenter/default.nix
@@ -1,39 +1,28 @@
-{ lib,
-  stdenv,
-  fetchFromGitHub,
-  installShellFiles,
-  pkg-config,
-  cmake,
-  qtbase,
-  qtmultimedia,
-  qttools,
-  wrapQtAppsHook,
-  bash,
-  zlib,
-  gcc,
-  gnumake,
-  coreutils,
-  # only required when using poppler
-  poppler,
-  # only required when using mupdf
-  mupdf,
-  freetype,
-  jbig2dec,
-  openjpeg,
-  gumbo,
-  # choose renderer: mupdf or poppler or both (not recommended)
-  renderer ? "mupdf",
-  # choose major Qt version: "5" or "6" (only 5 is tested)
-  qt_version ? "5"}:
-
-let
-  renderers = {
-    mupdf.buildInputs = [ mupdf freetype jbig2dec openjpeg gumbo ];
-    poppler.buildInputs = [ poppler ];
-  };
-  use_poppler = if "${renderer}" == "poppler" || "${renderer}" == "both" then "ON" else "OFF";
-  use_mupdf = if "${renderer}" == "mupdf" || "${renderer}" == "both" then "ON" else "OFF";
-in
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, pkg-config
+, wrapGAppsHook
+, wrapQtAppsHook
+, gst_all_1
+, qtbase
+, qtmultimedia
+, qttools
+, qtwayland
+, zlib
+# only required when using poppler
+, poppler
+# only required when using mupdf
+, freetype
+, gumbo
+, jbig2dec
+, mupdf
+, openjpeg
+# choose renderer: mupdf or poppler or both (not recommended)
+, usePoppler ? false
+, useMupdf ? true
+}:
 
 stdenv.mkDerivation rec {
   pname = "beamerpresenter";
@@ -46,25 +35,53 @@ stdenv.mkDerivation rec {
     sha256 = "16v263nnnipih3lxg95rmwz0ihnvpl4n1wlj9r6zavnspzlp9dvb";
   };
 
-  nativeBuildInputs = [ pkg-config installShellFiles wrapQtAppsHook ];
-  buildInputs = [ gcc cmake coreutils gnumake bash zlib qtbase qtmultimedia qttools ] ++ renderers.${renderer}.buildInputs;
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    wrapGAppsHook
+    wrapQtAppsHook
+  ];
+
+  dontWrapGApps = true;
+
+  buildInputs = [
+    gst_all_1.gst-libav
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-good
+    zlib
+    qtbase
+    qtmultimedia
+    qttools
+    qtwayland
+  ] ++ lib.optionals useMupdf [
+    freetype
+    gumbo
+    jbig2dec
+    mupdf
+    openjpeg
+  ] ++ lib.optionals usePoppler [
+    poppler
+  ];
 
   cmakeFlags = [
-    "-DCMAKE_BUILD_TYPE='Release'"
     "-DGIT_VERSION=OFF"
-    "-DUSE_POPPLER=${use_poppler}"
-    "-DUSE_MUPDF=${use_mupdf}"
+    "-DUSE_POPPLER=${if usePoppler then "ON" else "OFF"}"
+    "-DUSE_MUPDF=${if useMupdf then "ON" else "OFF"}"
     "-DUSE_MUJS=OFF"
     "-DUSE_GUMBO=ON"
     "-DUSE_TRANSLATIONS=ON"
-    "-DQT_VERSION_MAJOR=${qt_version}"
+    "-DQT_VERSION_MAJOR=${lib.versions.major qtbase.version}"
   ];
 
+  preFixup = ''
+    qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
+
   meta = with lib; {
     description = "Modular multi screen pdf presentation viewer";
     homepage = "https://github.com/stiglers-eponym/BeamerPresenter";
     license = with licenses; [ agpl3 gpl3Plus ];
     platforms = platforms.all;
-    maintainers = with maintainers; [ pacien ];
+    maintainers = with maintainers; [ pacien dotlambda ];
   };
 }
diff --git a/pkgs/applications/office/jameica/default.nix b/pkgs/applications/office/jameica/default.nix
index 55e24d80f27..d4a3028b894 100644
--- a/pkgs/applications/office/jameica/default.nix
+++ b/pkgs/applications/office/jameica/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, makeDesktopItem, makeWrapper, ant, jdk, jre, gtk2, glib, xorg, Cocoa }:
+{ lib, stdenv, fetchFromGitHub, makeDesktopItem, makeWrapper, wrapGAppsHook, ant, jdk, jre, gtk2, glib, xorg, Cocoa }:
 
 let
   _version = "2.10.2";
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   pname = "jameica";
   inherit version;
 
-  nativeBuildInputs = [ ant jdk makeWrapper ];
+  nativeBuildInputs = [ ant jdk wrapGAppsHook makeWrapper ];
   buildInputs = lib.optionals stdenv.isLinux [ gtk2 glib xorg.libXtst ]
                 ++ lib.optional stdenv.isDarwin Cocoa;
 
@@ -35,6 +35,8 @@ stdenv.mkDerivation rec {
     sha256 = "1x9sybknzsfxp9z0pvw9dx80732ynyap57y03p7xwwjbcrnjla57";
   };
 
+  dontWrapGApps = true;
+
   # there is also a build.gradle, but it only seems to be used to vendor 3rd party libraries
   # and is not able to build the application itself
   buildPhase = ''
@@ -53,13 +55,16 @@ stdenv.mkDerivation rec {
     install -Dm644 plugin.xml $out/share/java/
     install -Dm644 build/jameica-icon.png $out/share/pixmaps/jameica.png
     cp ${desktopItem}/share/applications/* $out/share/applications/
+  '';
 
+  postFixup = ''
     makeWrapper ${jre}/bin/java $out/bin/jameica \
       --add-flags "-cp $out/share/java/jameica.jar:$out/share/jameica-${version}/* ${
         lib.optionalString stdenv.isDarwin ''-Xdock:name="Jameica" -XstartOnFirstThread''
       } de.willuhn.jameica.Main" \
       --prefix LD_LIBRARY_PATH : ${lib.escapeShellArg (lib.makeLibraryPath buildInputs)} \
-      --chdir "$out/share/java/"
+      --chdir "$out/share/java/" \
+      "''${gappsWrapperArgs[@]}"
   '';
 
   meta = with lib; {
@@ -71,7 +76,7 @@ stdenv.mkDerivation rec {
     '';
     sourceProvenance = with sourceTypes; [
       fromSource
-      binaryBytecode  # source bundles dependencies as jars
+      binaryBytecode # source bundles dependencies as jars
     ];
     license = licenses.gpl2Plus;
     platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
diff --git a/pkgs/applications/office/kmymoney/default.nix b/pkgs/applications/office/kmymoney/default.nix
index 95da79cca4f..3f17e46023a 100644
--- a/pkgs/applications/office/kmymoney/default.nix
+++ b/pkgs/applications/office/kmymoney/default.nix
@@ -1,5 +1,6 @@
 { stdenv, lib, fetchurl, doxygen, extra-cmake-modules, graphviz, kdoctools
 , wrapQtAppsHook
+, autoPatchelfHook
 
 , akonadi, alkimia, aqbanking, gmp, gwenhywfar, kactivities, karchive
 , kcmutils, kcontacts, kdewebkit, kdiagram, kholidays, kidentitymanagement
@@ -10,24 +11,24 @@
 # Needed for running tests:
 , qtbase, xvfb-run
 
-, python2, python3Packages
+, python3
 }:
 
 stdenv.mkDerivation rec {
   pname = "kmymoney";
-  version = "5.1.1";
+  version = "5.1.3";
 
   src = fetchurl {
     url = "mirror://kde/stable/kmymoney/${version}/src/${pname}-${version}.tar.xz";
-    sha256 = "sha256-33ufeOhZb5nSgpXKc4cI8GVe4Fd4nf2SHHsbq5ZXgpg=";
+    sha256 = "sha256-OTi4B4tzkboy4Su0I5di+uE0aDoMLsGnUQXDAso+Xj8=";
   };
 
   # Hidden dependency that wasn't included in CMakeLists.txt:
   NIX_CFLAGS_COMPILE = "-I${kitemmodels.dev}/include/KF5";
 
   nativeBuildInputs = [
-    doxygen extra-cmake-modules graphviz kdoctools python2
-    python3Packages.wrapPython wrapQtAppsHook
+    doxygen extra-cmake-modules graphviz kdoctools
+    python3.pkgs.wrapPython wrapQtAppsHook autoPatchelfHook
   ];
 
   buildInputs = [
@@ -38,20 +39,18 @@ stdenv.mkDerivation rec {
 
     # Put it into buildInputs so that CMake can find it, even though we patch
     # it into the interface later.
-    python3Packages.weboob
+    python3.pkgs.woob
   ];
 
-  weboobPythonPath = [ python3Packages.weboob ];
-
-  postInstall = ''
-    buildPythonPath "$weboobPythonPath"
-    patchPythonScript "$out/share/kmymoney/weboob/kmymoneyweboob.py"
+  postPatch = ''
+    buildPythonPath "${python3.pkgs.woob}"
+    patchPythonScript "kmymoney/plugins/woob/interface/kmymoneywoob.py"
 
     # Within the embedded Python interpreter, sys.argv is unavailable, so let's
     # assign it to a dummy value so that the assignment of sys.argv[0] injected
     # by patchPythonScript doesn't fail:
     sed -i -e '1i import sys; sys.argv = [""]' \
-      "$out/share/kmymoney/weboob/kmymoneyweboob.py"
+      "kmymoney/plugins/woob/interface/kmymoneywoob.py"
   '';
 
   doInstallCheck = stdenv.hostPlatform == stdenv.buildPlatform;
@@ -62,10 +61,18 @@ stdenv.mkDerivation rec {
         ARGS="-E '(reports-chart-test)'" # Test fails, so exclude it for now.
     '';
 
+  # libpython is required by the python interpreter embedded in kmymoney, so we
+  # need to explicitly tell autoPatchelf about it.
+  postFixup = ''
+    patchelf --debug --add-needed libpython${python3.pythonVersion}.so \
+      "$out/bin/.kmymoney-wrapped"
+  '';
+
   meta = {
     description = "Personal finance manager for KDE";
     homepage = "https://kmymoney.org/";
     platforms = lib.platforms.linux;
     license = lib.licenses.gpl2Plus;
+    maintainers = with lib.maintainers; [ aidalgol das-g ];
   };
 }
diff --git a/pkgs/applications/office/micropad/default.nix b/pkgs/applications/office/micropad/default.nix
index c6f0ae106e2..c92cfdb97a1 100644
--- a/pkgs/applications/office/micropad/default.nix
+++ b/pkgs/applications/office/micropad/default.nix
@@ -11,10 +11,6 @@
 }:
 let
   executableName = "micropad";
-  electron_exec =
-    if stdenv.isDarwin
-    then "${electron}/Applications/Electron.app/Contents/MacOS/Electron"
-    else "${electron}/bin/electron";
 in
   mkYarnPackage rec {
     pname = "micropad";
@@ -64,7 +60,7 @@ in
       done
 
       # executable wrapper
-      makeWrapper '${electron_exec}' "$out/bin/${executableName}" \
+      makeWrapper '${electron}/bin/electron' "$out/bin/${executableName}" \
         --add-flags "$out/share/micropad" \
         --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}"
 
diff --git a/pkgs/applications/office/morgen/default.nix b/pkgs/applications/office/morgen/default.nix
index 0e5332b953e..bc2a0563456 100644
--- a/pkgs/applications/office/morgen/default.nix
+++ b/pkgs/applications/office/morgen/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "morgen";
-  version = "2.5.2";
+  version = "2.5.8";
 
   src = fetchurl {
     url = "https://download.todesktop.com/210203cqcj00tw1/morgen-${version}.deb";
-    sha256 = "sha256-KU58UjhFDEJGzHEGVbrii8a9cZwr7ulkQgK1Fea9smk=";
+    sha256 = "sha256-8WFDhEWrVGah2pyhTuaZYamiqQltC8zY2D411rOFBaE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/paperless-ngx/default.nix b/pkgs/applications/office/paperless-ngx/default.nix
index 75bc494d3a8..679a732c2d6 100644
--- a/pkgs/applications/office/paperless-ngx/default.nix
+++ b/pkgs/applications/office/paperless-ngx/default.nix
@@ -11,6 +11,7 @@
 , tesseract4
 , unpaper
 , liberation_ttf
+, fetchFromGitHub
 }:
 
 let
@@ -19,6 +20,20 @@ let
     packageOverrides = self: super: {
       django = super.django_4;
 
+      # use paperless-ngx version of django-q
+      # see https://github.com/paperless-ngx/paperless-ngx/pull/1014
+      django-q = super.django-q.overridePythonAttrs (oldAttrs: rec {
+        src = fetchFromGitHub {
+          owner = "paperless-ngx";
+          repo = "django-q";
+          sha256 = "sha256-aoDuPig8Nf8fLzn7GjBn69aF2zH2l8gxascAu9lIG3U=";
+          rev = "71abc78fdaec029cf71e9849a3b0fa084a1678f7";
+        };
+        # due to paperless-ngx modification of the pyproject.toml file
+        # the patch is not needed any more
+        patches = [];
+      });
+
       # django-extensions 3.1.5 is required, but its tests are incompatible with Django 4
       django-extensions = super.django-extensions.overridePythonAttrs (_: {
         doCheck = false;
@@ -38,12 +53,12 @@ let
 in
 py.pkgs.pythonPackages.buildPythonApplication rec {
   pname = "paperless-ngx";
-  version = "1.7.1";
+  version = "1.8.0";
 
   # Fetch the release tarball instead of a git ref because it contains the prebuilt fontend
   src = fetchurl {
     url = "https://github.com/paperless-ngx/paperless-ngx/releases/download/v${version}/${pname}-v${version}.tar.xz";
-    hash = "sha256-8vx4hvbIqaChjPyS8Q0ar2bz/pLzEdxoF7P2gBEeFzc=";
+    hash = "sha256-BLfhh04RvBJFRQiPXkMl8XlWqZOWKmjjl+6lZ326stU=";
   };
 
   format = "other";
@@ -144,6 +159,13 @@ py.pkgs.pythonPackages.buildPythonApplication rec {
     zope_interface
   ];
 
+  # paperless-ngx includes the bundled django-q version. This will
+  # conflict with the tests and is not needed since we overrode the
+  # django-q version with the paperless-ngx version
+  postPatch = ''
+    rm -rf src/django-q
+  '';
+
   # Compile manually because `pythonRecompileBytecodeHook` only works for
   # files in `python.sitePackages`
   postBuild = ''
diff --git a/pkgs/applications/office/qownnotes/default.nix b/pkgs/applications/office/qownnotes/default.nix
index e729c486a9f..d102a79ea3a 100644
--- a/pkgs/applications/office/qownnotes/default.nix
+++ b/pkgs/applications/office/qownnotes/default.nix
@@ -5,13 +5,13 @@
 
 mkDerivation rec {
   pname = "qownnotes";
-  version = "22.7.6";
+  version = "22.8.0";
 
   src = fetchurl {
     url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz";
     # Fetch the checksum of current version with curl:
     # curl https://download.tuxfamily.org/qownnotes/src/qownnotes-<version>.tar.xz.sha256
-    sha256 = "d2f0b6f62714495dd14387535ab34c0cf94d1679c5db4a257ef87bb855b7771b";
+    sha256 = "37ae0952119341b7a07a80bb79e732d91edab3a684b6b9a626e5a9d13a97fad1";
   };
 
   nativeBuildInputs = [ qmake qttools ];
diff --git a/pkgs/applications/radio/srsran/default.nix b/pkgs/applications/radio/srsran/default.nix
index dc7ae777df7..f9a1c5fbbe6 100644
--- a/pkgs/applications/radio/srsran/default.nix
+++ b/pkgs/applications/radio/srsran/default.nix
@@ -12,6 +12,7 @@
 , uhd
 , soapysdr
 , libbladeRF
+, zeromq
 }:
 
 stdenv.mkDerivation rec {
@@ -37,6 +38,7 @@ stdenv.mkDerivation rec {
     uhd
     soapysdr
     libbladeRF
+    zeromq
   ];
 
   meta = with lib; {
diff --git a/pkgs/applications/radio/welle-io/default.nix b/pkgs/applications/radio/welle-io/default.nix
index fbc7eae9109..fcb35bd66a4 100644
--- a/pkgs/applications/radio/welle-io/default.nix
+++ b/pkgs/applications/radio/welle-io/default.nix
@@ -41,6 +41,6 @@ mkDerivation rec {
     homepage = "https://www.welle.io/";
     maintainers = with maintainers; [ ck3d markuskowa ];
     license = licenses.gpl2Only;
-    platforms = with platforms; [ "x86_64-linux" "i686-linux" ] ++ darwin;
+    platforms = [ "x86_64-linux" "i686-linux" ] ++ platforms.darwin;
   };
 }
diff --git a/pkgs/applications/science/astronomy/gprojector/default.nix b/pkgs/applications/science/astronomy/gprojector/default.nix
index 37d20b585a0..f5fa5f1d1e4 100644
--- a/pkgs/applications/science/astronomy/gprojector/default.nix
+++ b/pkgs/applications/science/astronomy/gprojector/default.nix
@@ -10,11 +10,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "gprojector";
-  version = "3.0.3";
+  version = "3.0.4";
 
   src = fetchzip {
     url = "https://www.giss.nasa.gov/tools/gprojector/download/G.ProjectorJ-${version}.tgz";
-    sha256 = "sha256-60UT6z5aQ3Tk4EujEUp4ntB5GakFVhJzk5eytoIwf78=";
+    sha256 = "sha256-6EixVNRgYnuY9INb7gAyBzo125DhPEUPD+pGxjzmhy8=";
   };
 
   desktopItems = [ (makeDesktopItem {
diff --git a/pkgs/applications/science/astronomy/kstars/default.nix b/pkgs/applications/science/astronomy/kstars/default.nix
index 0474e7de2c6..8212e6a2a9f 100644
--- a/pkgs/applications/science/astronomy/kstars/default.nix
+++ b/pkgs/applications/science/astronomy/kstars/default.nix
@@ -14,11 +14,11 @@
 
 mkDerivation rec {
   pname = "kstars";
-  version = "3.5.9";
+  version = "3.6.0";
 
   src = fetchurl {
     url = "mirror://kde/stable/kstars/kstars-${version}.tar.xz";
-    sha256 = "sha256-SO8W1juP+MkXvXyNCP45AauYTbDrurAUtw4Gp4AA6X4=";
+    sha256 = "sha256-wdv2TOOPIB3VRG3XMs58i/HvMDZ9wvERAhBQNslJ25E=";
   };
 
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/science/biology/delly/default.nix b/pkgs/applications/science/biology/delly/default.nix
index 454f23ce88e..ee4a8f29944 100644
--- a/pkgs/applications/science/biology/delly/default.nix
+++ b/pkgs/applications/science/biology/delly/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "delly";
-  version = "1.0.3";
+  version = "1.1.3";
 
   src = fetchFromGitHub {
       owner = "dellytools";
       repo = pname;
       rev = "v${version}";
-      sha256 = "sha256-37AEaTOFmJ2yYXLwjNa7UXBoH/NxOK8+vlXhUhj6CM4=";
+      sha256 = "sha256-fGwSRYpvGYyYvRvP1ljs3mhXRpONzO5/QVegjqMsOdk=";
   };
 
   buildInputs = [ zlib htslib bzip2 xz ncurses boost ];
diff --git a/pkgs/applications/science/biology/igv/default.nix b/pkgs/applications/science/biology/igv/default.nix
index ff05ef4b8df..29b61db76f2 100644
--- a/pkgs/applications/science/biology/igv/default.nix
+++ b/pkgs/applications/science/biology/igv/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "igv";
-  version = "2.8.13";
+  version = "2.13.2";
   src = fetchzip {
-    url = "https://data.broadinstitute.org/igv/projects/downloads/2.8/IGV_${version}.zip";
-    sha256 = "0sab478jq96iw3fv0560hrrj8qbh40r8m4ncypdb7991j9haxl09";
+    url = "https://data.broadinstitute.org/igv/projects/downloads/${lib.versions.majorMinor version}/IGV_${version}.zip";
+    sha256 = "sha256-S0EoZAqjElrM/bp1p69jLuclXeUzSIuH8VsgCO6F04U=";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/science/biology/mafft/default.nix b/pkgs/applications/science/biology/mafft/default.nix
index 764a0f0da83..7b1a3c68072 100644
--- a/pkgs/applications/science/biology/mafft/default.nix
+++ b/pkgs/applications/science/biology/mafft/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mafft";
-  version = "7.490";
+  version = "7.505";
 
   src = fetchurl {
     url = "https://mafft.cbrc.jp/alignment/software/mafft-${version}-with-extensions-src.tgz";
-    sha256 = "0hb5jzcqdnjn3micm5z301lrnyvmn9pnnnxjz4h2wa4yicyz7vnn";
+    sha256 = "sha256-9Up4Zw/NmWAjO8w7PdNZ85WnHAztRae+HP6uGZUM5v8=";
   };
 
   preBuild = ''
diff --git a/pkgs/applications/science/biology/samtools/default.nix b/pkgs/applications/science/biology/samtools/default.nix
index ec61e0bd7ce..29ba667b055 100644
--- a/pkgs/applications/science/biology/samtools/default.nix
+++ b/pkgs/applications/science/biology/samtools/default.nix
@@ -18,6 +18,9 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  # tests require `bgzip` from the htslib package
+  checkInputs = [ htslib ];
+
   nativeBuildInputs = [ perl ];
 
   buildInputs = [ zlib ncurses htslib ];
diff --git a/pkgs/applications/science/biology/spades/default.nix b/pkgs/applications/science/biology/spades/default.nix
index 5302b43bb02..9780c8a99a4 100644
--- a/pkgs/applications/science/biology/spades/default.nix
+++ b/pkgs/applications/science/biology/spades/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     description = "St. Petersburg genome assembler: assembly toolkit containing various assembly pipelines";
     license = licenses.gpl2Only;
     homepage = "http://cab.spbu.ru/software/spades/";
-    platforms = with platforms; [ "x86_64-linux" "x86_64-darwin"];
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
     maintainers = [ maintainers.bzizou ];
   };
 }
diff --git a/pkgs/applications/science/electronics/fritzing/default.nix b/pkgs/applications/science/electronics/fritzing/default.nix
index 668a34b511d..ca2b2e5175b 100644
--- a/pkgs/applications/science/electronics/fritzing/default.nix
+++ b/pkgs/applications/science/electronics/fritzing/default.nix
@@ -1,7 +1,8 @@
-{ mkDerivation
+{ stdenv
 , lib
 , fetchFromGitHub
 , fetchpatch
+, wrapQtAppsHook
 , qmake
 , pkg-config
 , qtbase
@@ -9,6 +10,7 @@
 , qttools
 , qtserialport
 , boost
+, libngspice
 , libgit2
 , quazip
 }:
@@ -16,35 +18,34 @@
 let
   # SHA256 of the fritzing-parts HEAD on the master branch,
   # which contains the latest stable parts definitions
-  partsSha = "640fa25650211afccd369f960375ade8ec3e8653";
+  partsSha = "4713511c894cb2894eae505b9307c6555afcc32c";
 
   parts = fetchFromGitHub {
     owner = "fritzing";
     repo = "fritzing-parts";
     rev = partsSha;
-    sha256 = "sha256-4S65eX4LCnXCFQAOxmdvr8d0nAgTWcJooE2SpLYpcXI=";
+    sha256 = "sha256-QiOGWc+99MJhOVrXyNOinR8rTVvW/E+wPfoB6QvbhY0=";
   };
 in
 
-mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "fritzing";
-  version = "unstable-2021-09-22";
+  version = "unstable-2022-07-01";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "fritzing-app";
-    rev = "f0af53a9077f7cdecef31d231b85d8307de415d4";
-    sha256 = "sha256-fF38DrBoeZ0aKwVMNyYMPWa5rFPbIVXRARZT+eRat5Q=";
+    rev = "40d23c29b0463d5c968c3c4b34ed5ffc05c5a258";
+    sha256 = "sha256-smvfuxQWF/LMFFXHOKb3zUZsEet/XoiaxXOR5QMaYzw=";
   };
 
-  buildInputs = [ qtbase qtsvg qtserialport boost libgit2 quazip ];
-  nativeBuildInputs = [ qmake pkg-config qttools ];
+  buildInputs = [ qtbase qtsvg qtserialport boost libgit2 quazip libngspice ];
+  nativeBuildInputs = [ qmake pkg-config qttools wrapQtAppsHook ];
 
   patches = [
-    # Add support for QuaZip 1.x
     (fetchpatch {
-      url = "https://github.com/fritzing/fritzing-app/commit/ef83ebd9113266bb31b3604e3e9d0332bb48c999.patch";
-      sha256 = "sha256-J43E6iBRIVbsuuo82gPk3Q7tyLhNkuuyYwtH8hUfcPU=";
+      url = "https://aur.archlinux.org/cgit/aur.git/plain/0001-Quick-Dirty-patch-to-allow-finding-quazip-qt5-on-Arc.patch?h=fritzing&id=1ae0dc88464f375a54b156e6761315bcb04bcc1f";
+      sha256 = "sha256-iS18EWw920gyeXDoHBRGwXvwMJurJS21H77Erl+fqog=";
     })
   ];
 
@@ -60,10 +61,10 @@ mkDerivation rec {
     cp -a ${parts}/* parts/
   '';
 
+  NIX_CFLAGS_COMPILE = "-I${quazip}/include/QuaZip-Qt${lib.versions.major qtbase.version}-${quazip.version}/quazip";
+
   qmakeFlags = [
     "phoenix.pro"
-    "DEFINES=QUAZIP_INSTALLED"
-    "DEFINES+=QUAZIP_1X"
   ];
 
   postFixup = ''
diff --git a/pkgs/applications/science/electronics/kicad/update.sh b/pkgs/applications/science/electronics/kicad/update.sh
index 48270e962f5..c51d32d39ac 100755
--- a/pkgs/applications/science/electronics/kicad/update.sh
+++ b/pkgs/applications/science/electronics/kicad/update.sh
@@ -65,7 +65,7 @@ tmp="${here}/,versions.nix.${RANDOM}"
 libs=( symbols templates footprints packages3d )
 
 get_rev() {
-  git ls-remote --heads --tags "$@"
+  git ls-remote --tags "$@"
 }
 
 gitlab="https://gitlab.com/kicad"
diff --git a/pkgs/applications/science/electronics/kicad/versions.nix b/pkgs/applications/science/electronics/kicad/versions.nix
index 7bd4d0d2bb4..eb8a2fd6daf 100644
--- a/pkgs/applications/science/electronics/kicad/versions.nix
+++ b/pkgs/applications/science/electronics/kicad/versions.nix
@@ -3,23 +3,23 @@
 {
   "kicad" = {
     kicadVersion = {
-      version =			"6.0.6";
+      version =			"6.0.7";
       src = {
-        rev =			"3a73a7531170b37afa1eb22d5924ef8af7f9e71e";
-        sha256 =		"0cb9zba812dlmn2w27s1q38mjpfdwhv0nnbilwsxchpvwg8j4k2j";
+        rev =			"77480857076960b2e8a70e01aee0b843db37f5f7";
+        sha256 =		"10bqn99nif9zyi5v0lkic3na2vac5lgacw01ayil359vaw7d0pzy";
       };
     };
     libVersion = {
-      version =			"6.0.6";
+      version =			"6.0.7";
       libSources = {
-        symbols.rev =		"3df4c49795a65a051fafb1cf81d291be4c891f62";
-        symbols.sha256 =	"02z3vqhz1rlf57zi8vyrlxvvdl1hpsh447p41qdgcpn5dyjycb9d";
-        templates.rev =		"17aca4385144bf872e69f41bf5012fd2018cec2c";
+        symbols.rev =		"059abdef06a0b7b44994ae9948a4f98f7224cb1f";
+        symbols.sha256 =	"006ksx8r6cm6q7v701nalggivp21cmysj8p9zc18y3sch8n1mj4g";
+        templates.rev =		"16d1898d52f1277ce9bd75640a32f7d2c6d122bf";
         templates.sha256 =	"08zxh83fbygh1x2jhca8nrp3f9kihf7kmg65qmyp95wvps4p5h8v";
-        footprints.rev =	"64bae4c4a0d51afbc8129682ef0c2bf28b005c04";
-        footprints.sha256 =	"1phynxisha2pq2knbx5l1hkdz1bmjm0qxl3lcb4ab82h8d35r37c";
-        packages3d.rev =	"6cb25bc10f8c94fbf71479fe9782aecfcc9952bd";
-        packages3d.sha256 =	"0ci9gxbpfnfqwah95ki4qcwlca78s1z6s7hckisnp58a1cm9siya";
+        footprints.rev =	"26e8be9805444cc25d03d2263277aa06620f5374";
+        footprints.sha256 =	"0c5fm4hlkka0ms43j02kbv7s9yrlkffn0jz6649ac3gpx6pk8lbf";
+        packages3d.rev =	"cd9551dfb37ab0c086cac63564e54a7bc7b611d8";
+        packages3d.sha256 =	"0rdhwyhknrc63sc5ykmq097rzrl36zibnkls7q5hf54lrhn0n3k4";
       };
     };
   };
diff --git a/pkgs/applications/science/electronics/verilator/default.nix b/pkgs/applications/science/electronics/verilator/default.nix
index 05d7d0388f0..ee84c15a22c 100644
--- a/pkgs/applications/science/electronics/verilator/default.nix
+++ b/pkgs/applications/science/electronics/verilator/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "verilator";
-  version = "4.222";
+  version = "4.224";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-AvjcStbiXDdhJnaSJJ5Mp6zscvaxhb+A2J+0gpm2rFI=";
+    sha256 = "sha256-Kn44yWkNcOLkc79HLDTxx5zQn/vqft+hhbvsoUAKR7I=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/science/electronics/xschem/default.nix b/pkgs/applications/science/electronics/xschem/default.nix
index 646f374ba48..456b939c60a 100644
--- a/pkgs/applications/science/electronics/xschem/default.nix
+++ b/pkgs/applications/science/electronics/xschem/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xschem";
-  version = "3.0.0";
+  version = "3.1.0";
 
   src = fetchFromGitHub {
     owner = "StefanSchippers";
     repo = "xschem";
     rev = version;
-    sha256 = "sha256-C57jo8tAbiqQAgf4Xp2lpFGOr6F1knPpFcYxPiqSM4k=";
+    sha256 = "sha256-SHpESg5mn9lSDOURQusQUsug8Jqin/W5rqkVgmseSgA=";
   };
 
   nativeBuildInputs = [ bison flex pkg-config ];
diff --git a/pkgs/applications/science/logic/abc/default.nix b/pkgs/applications/science/logic/abc/default.nix
index 11121d1f558..4f37651a171 100644
--- a/pkgs/applications/science/logic/abc/default.nix
+++ b/pkgs/applications/science/logic/abc/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname   = "abc-verifier";
-  version = "2022.05.06";
+  version = "2022.07.27";
 
   src = fetchFromGitHub {
     owner = "yosyshq";
     repo  = "abc";
-    rev   = "09a7e6dac739133a927ae7064d319068ab927f90";
-    hash  = "sha256-+1UcYjK2mvhlTHl6lVCcj5q+1D8RUTquHaajSl5NuJg=";
+    rev   = "7cc11f7f0c49d4ce7e0ed88950d1c4c8abb1cba4";
+    hash  = "sha256-6m8XpSYWT0uMpYHXm3ExnH7RMg923YqZAJPTBeFXMzg=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/science/logic/lean/default.nix b/pkgs/applications/science/logic/lean/default.nix
index 4b95529aa3e..4cbe6ac1448 100644
--- a/pkgs/applications/science/logic/lean/default.nix
+++ b/pkgs/applications/science/logic/lean/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "lean";
-  version = "3.45.0";
+  version = "3.46.0";
 
   src = fetchFromGitHub {
     owner  = "leanprover-community";
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
     # from. this is then used to check whether an olean file should be
     # rebuilt. don't use a tag as rev because this will get replaced into
     # src/githash.h.in in preConfigure.
-    rev    = "22b09be35ef66aece11e6e8f5d114f42b064259b";
-    sha256 = "1i1zpl9m80k64b7ac23gzab55kky4444lvki1isbmd92m3m4bk8x";
+    rev    = "741670c439f1ca266bc7fe61ef7212cc9afd9dd8";
+    sha256 = "sha256-/4R9i9906e5WQnaKNqUqUyDDIbSW9DNKdGg4rlrvC6c=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/science/logic/mcrl2/default.nix b/pkgs/applications/science/logic/mcrl2/default.nix
index a042bd6c751..d3cb5553230 100644
--- a/pkgs/applications/science/logic/mcrl2/default.nix
+++ b/pkgs/applications/science/logic/mcrl2/default.nix
@@ -1,13 +1,13 @@
 {lib, stdenv, fetchurl, cmake, libGLU, libGL, qt5, boost}:
 
 stdenv.mkDerivation rec {
-  version = "201707";
+  version = "202206";
   build_nr = "1";
   pname = "mcrl2";
 
   src = fetchurl {
     url = "https://www.mcrl2.org/download/release/mcrl2-${version}.${build_nr}.tar.gz";
-    sha256 = "1c8h94ja7271ph61zrcgnjgblxppld6v22f7f900prjgzbcfy14m";
+    sha256 = "KoLt8IU/vCdYqzJukNuaZfl8bWiOKB0UxWHEdQj3buU=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/science/logic/metis-prover/default.nix b/pkgs/applications/science/logic/metis-prover/default.nix
index e30a897e565..fca3c20cd85 100644
--- a/pkgs/applications/science/logic/metis-prover/default.nix
+++ b/pkgs/applications/science/logic/metis-prover/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation {
   pname = "metis-prover";
-  version = "2.3.20160713";
+  version = "2.4.20200713";
 
   src = fetchFromGitHub {
     owner = "gilith";
     repo = "metis";
-    rev = "f0b1a17cd57eb098077e963ab092477aee9fb340";
-    sha256 = "1i7paax7b4byk8110f5zk4071mh5603r82bq7hbprqzljvsiipk7";
+    rev = "d17c3a8cf6537212c5c4bfdadcf865bd25723132";
+    sha256 = "phu1x0yahK/B2bSOCvlze7UJw8smX9zw6dJTpDD9chM=";
   };
 
   nativeBuildInputs = [ perl ];
diff --git a/pkgs/applications/science/math/jags/default.nix b/pkgs/applications/science/math/jags/default.nix
index 3ddcd6206d6..1acc6a287ca 100644
--- a/pkgs/applications/science/math/jags/default.nix
+++ b/pkgs/applications/science/math/jags/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "JAGS";
-  version = "4.3.0";
+  version = "4.3.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/mcmc-jags/JAGS-${version}.tar.gz";
-    sha256 = "1z3icccg2ic56vmhyrpinlsvpq7kcaflk1731rgpvz9bk1bxvica";
+    sha256 = "sha256-+SWDVbXp6xO9M8X6cg8MvrrOp9CkpCtxsPsUUB7hQik=";
   };
 
   nativeBuildInputs = [ gfortran ];
diff --git a/pkgs/applications/science/math/scalp/default.nix b/pkgs/applications/science/math/scalp/default.nix
new file mode 100644
index 00000000000..05261701fc2
--- /dev/null
+++ b/pkgs/applications/science/math/scalp/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, stdenv
+, fetchgit
+, cmake
+, withGurobi ? false
+, gurobi
+, withCplex ? false
+, cplex
+, withLpsolve ? true
+, lp_solve
+}:
+
+stdenv.mkDerivation rec {
+  pname = "scalp";
+  version = "unstable-2022-03-15";
+
+  src = fetchgit {
+    url = "https://digidev.digi.e-technik.uni-kassel.de/git/scalp.git";
+    # mirrored at https://github.com/wegank/scalp.git
+    rev = "185b84e4ff967f42cf2de5db4db4e6fa0cc18fb8";
+    sha256 = "sha256-NyMZdJwdD3FR6uweYCclJjfcf3Y24Bns1ViwsmJ5izg=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  buildInputs = lib.optionals withGurobi [
+    gurobi
+  ] ++ lib.optionals withCplex [
+    cplex
+  ] ++ lib.optionals withLpsolve [
+    lp_solve
+  ];
+
+  postPatch = lib.optionalString stdenv.isDarwin ''
+    substituteInPlace CMakeLists.txt \
+      --replace "\''$ORIGIN" "\''${CMAKE_INSTALL_PREFIX}/lib"
+  '';
+
+  cmakeFlags = [
+    "-DBUILD_TESTS=${lib.boolToString doCheck}"
+  ] ++ lib.optionals withGurobi [
+    "-DGUROBI_DIR=${gurobi}"
+  ] ++ lib.optionals withCplex [
+    "-DCPLEX_DIR=${cplex}"
+  ];
+
+  doCheck = true;
+
+  meta = with lib; {
+    description = "Scalable Linear Programming Library";
+    homepage = "https://digidev.digi.e-technik.uni-kassel.de/scalp/";
+    license = licenses.lgpl3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wegank ];
+  };
+}
diff --git a/pkgs/applications/science/misc/root/default.nix b/pkgs/applications/science/misc/root/default.nix
index 3316284349b..b4e0a35184a 100644
--- a/pkgs/applications/science/misc/root/default.nix
+++ b/pkgs/applications/science/misc/root/default.nix
@@ -56,11 +56,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "root";
-  version = "6.26.04";
+  version = "6.26.06";
 
   src = fetchurl {
     url = "https://root.cern.ch/download/root_v${version}.source.tar.gz";
-    hash = "sha256-onHPgngtbtLIfqXu9mgYA/LmnhezA2352GNjbpNYQh4=";
+    hash = "sha256-sfc8l2pYClxWyMigFSWCod/FYLTdgOG3VFI3tl5sics=";
   };
 
   nativeBuildInputs = [ makeWrapper cmake pkg-config git ];
diff --git a/pkgs/applications/system/glances/default.nix b/pkgs/applications/system/glances/default.nix
index 60339bf2e58..495d236b352 100644
--- a/pkgs/applications/system/glances/default.nix
+++ b/pkgs/applications/system/glances/default.nix
@@ -9,29 +9,16 @@
 
 buildPythonApplication rec {
   pname = "glances";
-  version = "3.2.6.4";
+  version = "3.2.7";
   disabled = isPyPy;
 
   src = fetchFromGitHub {
     owner = "nicolargo";
     repo = "glances";
     rev = "v${version}";
-    sha256 = "sha256-i88bz6AwfDbqC+7yvr7uDofAqBwQmnfoKbt3iJz4Ft8=";
+    sha256 = "sha256-WZDvC95Y6Xc7dOuPJJlJLI4PCZR76pYPl8NGtmxe91o=";
   };
 
-  # Some tests fail in the sandbox (they e.g. require access to /sys/class/power_supply):
-  patches = lib.optional (doCheck && stdenv.isLinux) ./skip-failing-tests.patch
-    ++ lib.optional (doCheck && stdenv.isDarwin)
-    [
-      # Fix "TypeError: unsupported operand type(s) for +=: 'int' and 'NoneType'" on darwin
-      # https://github.com/nicolargo/glances/pull/2082
-      (fetchpatch {
-        name = "fix-typeerror-when-testing-on-darwin.patch";
-        url = "https://patch-diff.githubusercontent.com/raw/nicolargo/glances/pull/2082.patch";
-        sha256 = "sha256-MIePPywZ2dTTqXjf7EJiHlQ7eltiHzgocqrnLeLJwZ4=";
-      })
-    ];
-
   # On Darwin this package segfaults due to mismatch of pure and impure
   # CoreFoundation. This issues was solved for binaries but for interpreted
   # scripts a workaround below is still required.
diff --git a/pkgs/applications/terminal-emulators/foot/default.nix b/pkgs/applications/terminal-emulators/foot/default.nix
index abcea5f69a0..02c035914f3 100644
--- a/pkgs/applications/terminal-emulators/foot/default.nix
+++ b/pkgs/applications/terminal-emulators/foot/default.nix
@@ -27,7 +27,7 @@
 }:
 
 let
-  version = "1.12.1";
+  version = "1.13.0";
 
   # build stimuli file for PGO build and the script to generate it
   # independently of the foot's build, so we can cache the result
@@ -99,7 +99,7 @@ stdenv.mkDerivation rec {
     owner = "dnkl";
     repo = pname;
     rev = version;
-    sha256 = "14jqs4sarxbrgi5pxz0afqa9jxq90cb5ayqd21qj2n65whqa5bpk";
+    sha256 = "0cc262jpqp8l25p04pcqh3w671gw0p1d2zrr3d34ch8k9c6s4nzq";
   };
 
   depsBuildBuild = [
@@ -144,7 +144,6 @@ stdenv.mkDerivation rec {
   mesonBuildType = "release";
 
   # See https://codeberg.org/dnkl/foot/src/tag/1.9.2/INSTALL.md#options
-  # TODO(@sternenseemann): install systemd user units
   mesonFlags = [
     # Use lto
     "-Db_lto=true"
@@ -154,6 +153,8 @@ stdenv.mkDerivation rec {
     "-Ddefault-terminfo=foot"
     # Tell foot to set TERMINFO and where to install the terminfo files
     "-Dcustom-terminfo-install-location=${terminfoDir}"
+    # Install systemd user units for foot-server
+    "-Dsystemd-units-dir=${placeholder "out"}/lib/systemd/user"
   ];
 
   # build and run binary generating PGO profiles,
diff --git a/pkgs/applications/terminal-emulators/hyper/default.nix b/pkgs/applications/terminal-emulators/hyper/default.nix
index 031d49d2458..707534d2619 100644
--- a/pkgs/applications/terminal-emulators/hyper/default.nix
+++ b/pkgs/applications/terminal-emulators/hyper/default.nix
@@ -15,11 +15,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "hyper";
-  version = "3.2.1";
+  version = "3.2.3";
 
   src = fetchurl {
     url = "https://github.com/vercel/hyper/releases/download/v${version}/hyper_${version}_amd64.deb";
-    sha256 = "sha256-nwaJ+lnuHv+Qb/QkKF/9jG8cvq1Z+urz8CPwxSsMmuA=";
+    sha256 = "sha256-CHLkHH9u5YWlmRDa4H3ymqg1YMBYjo+kuxpu0OVv4E8=";
   };
 
   nativeBuildInputs = [ dpkg ];
diff --git a/pkgs/applications/terminal-emulators/kitty/default.nix b/pkgs/applications/terminal-emulators/kitty/default.nix
index e818f4a71fa..28dad82fe16 100644
--- a/pkgs/applications/terminal-emulators/kitty/default.nix
+++ b/pkgs/applications/terminal-emulators/kitty/default.nix
@@ -125,6 +125,21 @@ buildPythonApplication rec {
     fish
   ];
 
+  # skip failing tests due to darwin sandbox
+  preCheck = if stdenv.isDarwin then ''
+    substituteInPlace kitty_tests/file_transmission.py \
+      --replace test_file_get dont_test_file_get \
+      --replace test_path_mapping_receive dont_test_path_mapping_receive
+    substituteInPlace kitty_tests/shell_integration.py \
+      --replace test_fish_integration dont_test_fish_integration
+    substituteInPlace kitty_tests/open_actions.py \
+      --replace test_parsing_of_open_actions dont_test_parsing_of_open_actions
+    substituteInPlace kitty_tests/ssh.py \
+      --replace test_ssh_connection_data dont_test_ssh_connection_data
+    substituteInPlace kitty_tests/fonts.py \
+      --replace 'class Rendering(BaseTest)' 'class Rendering'
+  '' else "";
+
   checkPhase =
     let buildBinPath =
       if stdenv.isDarwin
@@ -132,6 +147,8 @@ buildPythonApplication rec {
         else "linux-package/bin";
     in
     ''
+      runHook preCheck
+
       # Fontconfig error: Cannot load default config file: No such file: (null)
       export FONTCONFIG_FILE=${fontconfig.out}/etc/fonts/fonts.conf
 
diff --git a/pkgs/applications/terminal-emulators/wezterm/default.nix b/pkgs/applications/terminal-emulators/wezterm/default.nix
index 4fed03db0dd..70f933e7b20 100644
--- a/pkgs/applications/terminal-emulators/wezterm/default.nix
+++ b/pkgs/applications/terminal-emulators/wezterm/default.nix
@@ -22,20 +22,21 @@
 , Cocoa
 , Foundation
 , libiconv
+, UserNotifications
 , nixosTests
 , runCommand
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "wezterm";
-  version = "20220624-141144-bd1b7c5d";
+  version = "20220807-113146-c2fee766";
 
   src = fetchFromGitHub {
     owner = "wez";
     repo = pname;
     rev = version;
     fetchSubmodules = true;
-    sha256 = "sha256-7VuNOJ4xqTxumLft7wRj4zdN8Y2ZSYtXr/KuqaLNOgw=";
+    sha256 = "sha256-2krngcANqcwq8wNQZSz01srJ6yEOkk03QnO2sL7SuJA=";
   };
 
   postPatch = ''
@@ -45,7 +46,7 @@ rustPlatform.buildRustPackage rec {
     rm -r wezterm-ssh/tests
   '';
 
-  cargoSha256 = "sha256-YvQ0APyPiYwISE/pDD2s+UgYFj4CKPdolb14FrNpocU=";
+  cargoSha256 = "sha256-ZkDGCR86VSCuvVlo4Pf9Ifax2BZuBicZpB/K/7bIMls=";
 
   nativeBuildInputs = [
     pkg-config
@@ -71,6 +72,7 @@ rustPlatform.buildRustPackage rec {
     CoreGraphics
     Foundation
     libiconv
+    UserNotifications
   ];
 
   postInstall = ''
@@ -119,7 +121,5 @@ rustPlatform.buildRustPackage rec {
     license = licenses.mit;
     maintainers = with maintainers; [ SuperSandro2000 ];
     platforms = platforms.unix;
-    # Fails on missing UserNotifications framework while linking
-    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/applications/version-management/dvc/default.nix b/pkgs/applications/version-management/dvc/default.nix
index 382f08f7afc..b8361d8bd70 100644
--- a/pkgs/applications/version-management/dvc/default.nix
+++ b/pkgs/applications/version-management/dvc/default.nix
@@ -10,19 +10,26 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "dvc";
-  version = "2.12.0";
+  version = "2.17.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "iterative";
     repo = pname;
     rev = version;
-    hash = "sha256-d1Tjqomr8Lcf+X+LZgi0wHlxXBUqHq/nAzDBbrxHAl4=";
+    hash = "sha256-2h+fy4KMxFrVtKJBtA1RmJDZv0OVm1BxO1akZzAw95Y=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "grandalf==0.6" "grandalf" \
+      --replace "scmrepo==0.0.25" "scmrepo"
+    substituteInPlace dvc/daemon.py \
+      --subst-var-by dvc "$out/bin/dcv"
+  '';
+
   nativeBuildInputs = with python3.pkgs; [
     setuptools-scm
-    setuptools-scm-git-archive
   ];
 
   propagatedBuildInputs = with python3.pkgs; [
@@ -30,7 +37,6 @@ python3.pkgs.buildPythonApplication rec {
     appdirs
     colorama
     configobj
-    configobj
     dictdiffer
     diskcache
     distro
@@ -38,6 +44,7 @@ python3.pkgs.buildPythonApplication rec {
     dvclive
     dvc-data
     dvc-render
+    dvc-task
     flatten-dict
     flufl_lock
     funcy
@@ -59,7 +66,7 @@ python3.pkgs.buildPythonApplication rec {
     shortuuid
     shtab
     tabulate
-    toml
+    tomlkit
     tqdm
     typing-extensions
     voluptuous
@@ -82,16 +89,6 @@ python3.pkgs.buildPythonApplication rec {
     importlib-resources
   ];
 
-  postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace "grandalf==0.6" "grandalf" \
-      --replace "scmrepo==0.0.25" "scmrepo" \
-      --replace "dvc-data==0.0.16" "dvc-data" \
-      --replace "dvc-render==0.0.6" "dvc-render"
-    substituteInPlace dvc/daemon.py \
-      --subst-var-by dvc "$out/bin/dcv"
-  '';
-
   # Tests require access to real cloud services
   doCheck = false;
 
@@ -99,6 +96,6 @@ python3.pkgs.buildPythonApplication rec {
     description = "Version Control System for Machine Learning Projects";
     homepage = "https://dvc.org";
     license = licenses.asl20;
-    maintainers = with maintainers; [ cmcdragonkai fab ];
+    maintainers = with maintainers; [ cmcdragonkai fab anthonyroussel ];
   };
 }
diff --git a/pkgs/applications/version-management/fossil/default.nix b/pkgs/applications/version-management/fossil/default.nix
index 867efc6eceb..ab610624f37 100644
--- a/pkgs/applications/version-management/fossil/default.nix
+++ b/pkgs/applications/version-management/fossil/default.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "fossil";
-  version = "2.18";
+  version = "2.19";
 
   src = fetchurl {
     url = "https://www.fossil-scm.org/home/tarball/version-${version}/fossil-${version}.tar.gz";
-    sha256 = "0iimdzfdl5687xyqxfadbn640x45n3933q1nfx7b32rl4v3vk778";
+    sha256 = "sha256-RZ9/7b4lRJqFVyfXwzutO8C/Pa6XPyxtvpp7gmEGoj4=";
   };
 
   nativeBuildInputs = [ installShellFiles tcl tcllib ];
diff --git a/pkgs/applications/version-management/git-and-tools/gh/default.nix b/pkgs/applications/version-management/git-and-tools/gh/default.nix
index e7e756a243c..9b1284c6e06 100644
--- a/pkgs/applications/version-management/git-and-tools/gh/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gh/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gh";
-  version = "2.14.3";
+  version = "2.14.4";
 
   src = fetchFromGitHub {
     owner = "cli";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-03XB88Z3v0a9Wi1xF+TaVsiRml6JAdEOeKuMxAbybw4=";
+    sha256 = "sha256-vg91YnwtbD2j6zue5g5j+iyHRDrW83GQKEi/n9nDHBw=";
   };
 
-  vendorSha256 = "sha256-HCOSc6GevbvNuC1zgzaCSfewF13SY1sBV+grsSF1+Fk=";
+  vendorSha256 = "sha256-xyrz+oN9DLDh4jSVFM5gVZFJW+yJKrhYOtQs38URAjM=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/version-management/git-and-tools/ghorg/default.nix b/pkgs/applications/version-management/git-and-tools/ghorg/default.nix
index 32ef0309629..01f69c9c980 100644
--- a/pkgs/applications/version-management/git-and-tools/ghorg/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/ghorg/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ghorg";
-  version = "1.8.0";
+  version = "1.8.1";
 
   src = fetchFromGitHub {
     owner = "gabrie30";
     repo = "ghorg";
     rev = "v${version}";
-    sha256 = "sha256-0ewiCLBAvK0cLsEFN1W7fQyn66Vu2aLor9+VYuX05Os=";
+    sha256 = "sha256-rnlSwqZ3Kigfmkt2ws5bmX/ipqxFUPZYDpdnkZZE59Y=";
   };
 
   doCheck = false;
diff --git a/pkgs/applications/version-management/git-and-tools/git-branchless/default.nix b/pkgs/applications/version-management/git-and-tools/git-branchless/default.nix
index 0b7446b7dda..902211ef3d7 100644
--- a/pkgs/applications/version-management/git-and-tools/git-branchless/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-branchless/default.nix
@@ -15,16 +15,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "git-branchless";
-  version = "0.3.12";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "arxanas";
     repo = "git-branchless";
     rev = "v${version}";
-    sha256 = "sha256-1bUHltONLfJumkxPnzGJFMMyS02LVqjpDL+KgiewyoQ=";
+    sha256 = "sha256-WFrN5TRFr9xHBUawTfvri0qlTiWCfAeC5SL+T6mwlU0=";
   };
 
-  cargoSha256 = "sha256-3+ULHqtKAhf4AdoLPK/3IqnfOcskoh6ctlQnY1oTHJ8=";
+  cargoSha256 = "sha256-AGW1jUKPc5iiuDlgIDHG1sOn1flAB3UdxJJNKPH5+f8=";
 
   nativeBuildInputs = [ pkg-config ];
 
@@ -48,15 +48,6 @@ rustPlatform.buildRustPackage rec {
     "--skip=test_next_ambiguous_interactive"
   ];
 
-  # Fixed in next release
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/arxanas/git-branchless/commit/8bed1e83495a448f479103d2d4b75745aa512667.patch";
-      sha256 = "sha256-bFfXBYxfgx1TxlJ+/2Gh9WsgL2vCJKwwbq4JD8/2c1w=";
-      name = "fix-tests-for-latest-git";
-    })
-  ];
-
   meta = with lib; {
     description = "A suite of tools to help you visualize, navigate, manipulate, and repair your commit history";
     homepage = "https://github.com/arxanas/git-branchless";
diff --git a/pkgs/applications/version-management/git-and-tools/git-cliff/default.nix b/pkgs/applications/version-management/git-and-tools/git-cliff/default.nix
index ced8244256a..2e467b657d6 100644
--- a/pkgs/applications/version-management/git-and-tools/git-cliff/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-cliff/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "git-cliff";
-  version = "0.7.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "orhun";
     repo = "git-cliff";
     rev = "v${version}";
-    sha256 = "sha256-wVHL2+didmiN7UlEeIuSr+8LhkFKCOD3of4rKVg1i1o=";
+    sha256 = "sha256-lRONRLTByhMalN9BKilCcQn2c9f4cxOnHJLL0l0jaOs=";
   };
 
-  cargoSha256 = "sha256-5jhloUnaGXXDu2LCO86SMJo8ETIxLAivv3hx9gEqtJ4=";
+  cargoSha256 = "sha256-1r/k3DQ/vjIjMpOHYCRRosbZ22iAFkuq4EbZUcZoWn0=";
 
   # attempts to run the program on .git in src which is not deterministic
   doCheck = false;
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index 341e1e0b9c9..9e735edea8a 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -19,6 +19,7 @@
 , pkg-config, glib, libsecret
 , gzip # needed at runtime by gitweb.cgi
 , withSsh ? false
+, doInstallCheck ? !stdenv.isDarwin  # extremely slow on darwin
 }:
 
 assert osxkeychainSupport -> stdenv.isDarwin;
@@ -31,7 +32,7 @@ let
   gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
 in
 
-stdenv.mkDerivation {
+stdenv.mkDerivation (finalAttrs: {
   pname = "git"
     + lib.optionalString svnSupport "-with-svn"
     + lib.optionalString (!svnSupport && !guiSupport && !sendEmailSupport && !withManual && !pythonSupport && !withpcre2) "-minimal";
@@ -280,7 +281,7 @@ stdenv.mkDerivation {
   ## InstallCheck
 
   doCheck = false;
-  doInstallCheck = true;
+  inherit doInstallCheck;
 
   installCheckTarget = "test";
 
@@ -369,6 +370,9 @@ stdenv.mkDerivation {
   passthru = {
     shellPath = "/bin/git-shell";
     tests = {
+      withInstallCheck = finalAttrs.finalPackage.overrideAttrs (_: {
+        doInstallCheck = true;
+      });
       buildbot-integration = nixosTests.buildbot;
     };
   };
@@ -387,4 +391,4 @@ stdenv.mkDerivation {
     platforms = lib.platforms.all;
     maintainers = with lib.maintainers; [ primeos wmertens globin ];
   };
-}
+})
diff --git a/pkgs/applications/version-management/github-desktop/default.nix b/pkgs/applications/version-management/github-desktop/default.nix
index f439c62504d..a834a335706 100644
--- a/pkgs/applications/version-management/github-desktop/default.nix
+++ b/pkgs/applications/version-management/github-desktop/default.nix
@@ -19,11 +19,11 @@
 
 stdenv.mkDerivation rec {
   pname = "github-desktop";
-  version = "3.0.3";
+  version = "3.0.5";
 
   src = fetchurl {
     url = "https://github.com/shiftkey/desktop/releases/download/release-${version}-linux1/GitHubDesktop-linux-${version}-linux1.deb";
-    sha256 = "sha256-KC+D4epjEhZPIN6LutRRo2ViX6YVyol3UUEA56ymyfM=";
+    sha256 = "sha256-7Sk2jDNZtOA04hkl/J+Up2yMGT8+FcXGPiUMcHhb7iY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json
index 8f61560bca5..e507401a564 100644
--- a/pkgs/applications/version-management/gitlab/data.json
+++ b/pkgs/applications/version-management/gitlab/data.json
@@ -1,14 +1,22 @@
 {
-  "version": "15.1.4",
-  "repo_hash": "sha256-Ca3rhUJV7OVr3Uv6YmQxHspgwCKp1CZ4phUL1reREy8=",
-  "yarn_hash": "19df16gk0vpvdi1idqaakaglf11cic93i5njw0x4m2cnsznhpvz4",
+  "version": "15.2.2",
+  "repo_hash": "sha256-Rb6u47Ehx1Kee3FFsoFa6ZqpU7c00ToEelvfjyG3aiI=",
+  "yarn_hash": "154akdngdagwfn8s90aw6sajw058i507shv5wzdn8l0vy3badgkv",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v15.1.4-ee",
+  "rev": "v15.2.2-ee",
   "passthru": {
-    "GITALY_SERVER_VERSION": "15.1.4",
-    "GITLAB_PAGES_VERSION": "1.59.1",
-    "GITLAB_SHELL_VERSION": "14.7.4",
-    "GITLAB_WORKHORSE_VERSION": "15.1.4"
-  }
+    "GITALY_SERVER_VERSION": "15.2.2",
+    "GITLAB_PAGES_VERSION": "1.61.1",
+    "GITLAB_SHELL_VERSION": "14.9.0",
+    "GITLAB_WORKHORSE_VERSION": "15.2.2"
+  },
+  "vendored_gems": [
+    "devise-pbkdf2-encryptable",
+    "omniauth-gitlab",
+    "omniauth_crowd",
+    "mail-smtp_pool",
+    "ipynbdiff",
+    "error_tracking_open_api"
+  ]
 }
diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix
index 73a02673471..1175b42fc5d 100644
--- a/pkgs/applications/version-management/gitlab/default.nix
+++ b/pkgs/applications/version-management/gitlab/default.nix
@@ -46,6 +46,8 @@ let
     # N.B. omniauth_oauth2_generic and apollo_upload_server both provide a
     # `console` executable.
     ignoreCollisions = true;
+
+    extraConfigPaths = lib.forEach data.vendored_gems (gem: "${src}/vendor/gems/${gem}");
   };
 
   yarnOfflineCache = fetchYarnDeps {
@@ -203,7 +205,7 @@ stdenv.mkDerivation {
   meta = with lib; {
     homepage = "http://www.gitlab.com/";
     platforms = platforms.linux;
-    maintainers = with maintainers; [ fpletz globin krav talyz yayayayaka yuka ];
+    maintainers = with maintainers; [ globin krav talyz yayayayaka yuka ];
   } // (if gitlabEnterprise then
     {
       license = licenses.unfreeRedistributable; # https://gitlab.com/gitlab-org/gitlab-ee/raw/master/LICENSE
diff --git a/pkgs/applications/version-management/gitlab/gitaly/Gemfile b/pkgs/applications/version-management/gitlab/gitaly/Gemfile
index 787e705f945..cbb9321fd7e 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/Gemfile
+++ b/pkgs/applications/version-management/gitlab/gitaly/Gemfile
@@ -1,7 +1,7 @@
 source 'https://rubygems.org'
 
 gem 'rugged', '~> 1.2'
-gem 'github-linguist', '~> 7.12', require: 'linguist'
+gem 'github-linguist', '~> 7.20.0', require: 'linguist'
 gem 'gitlab-markup', '~> 1.7.1'
 gem 'activesupport', '~> 6.1.4.7'
 gem 'rdoc', '~> 6.0'
@@ -13,7 +13,7 @@ gem 'faraday', '~> 1.0'
 gem 'rbtrace', require: false
 
 # Labkit provides observability functionality
-gem 'gitlab-labkit', '~> 0.21.1'
+gem 'gitlab-labkit', '~> 0.23'
 
 # Detects the open source license the repository includes
 # This version needs to be in sync with GitLab CE/EE
diff --git a/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock b/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
index 3616864ad7e..65faf2b721f 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
@@ -40,7 +40,7 @@ GEM
     dotenv (2.7.6)
     equalizer (0.0.11)
     erubi (1.10.0)
-    escape_utils (1.2.1)
+    escape_utils (1.2.2)
     factory_bot (5.0.2)
       activesupport (>= 4.2.0)
     faraday (1.0.1)
@@ -48,11 +48,11 @@ GEM
     ffi (1.15.3)
     gemojione (3.3.0)
       json
-    github-linguist (7.12.1)
+    github-linguist (7.20.0)
       charlock_holmes (~> 0.7.7)
       escape_utils (~> 1.2.0)
       mini_mime (~> 1.0)
-      rugged (>= 0.25.1)
+      rugged (~> 1.0)
     github-markup (1.7.0)
     gitlab-gollum-lib (4.2.7.10.gitlab.2)
       gemojione (~> 3.2)
@@ -65,11 +65,11 @@ GEM
     gitlab-gollum-rugged_adapter (0.4.4.4.gitlab.1)
       mime-types (>= 1.15)
       rugged (~> 1.0)
-    gitlab-labkit (0.21.2)
+    gitlab-labkit (0.23.0)
       actionpack (>= 5.0.0, < 7.0.0)
       activesupport (>= 5.0.0, < 7.0.0)
-      grpc (~> 1.30)
-      jaeger-client (~> 1.1)
+      grpc (>= 1.37)
+      jaeger-client (~> 1.1.0)
       opentracing (~> 0.4)
       pg_query (~> 2.1)
       redis (> 3.0.0, < 5.0.0)
@@ -110,7 +110,7 @@ GEM
     mime-types (3.3.1)
       mime-types-data (~> 3.2015)
     mime-types-data (3.2020.1104)
-    mini_mime (1.0.2)
+    mini_mime (1.1.2)
     mini_portile2 (2.8.0)
     minitest (5.15.0)
     msgpack (1.3.3)
@@ -228,10 +228,10 @@ DEPENDENCIES
   activesupport (~> 6.1.4.7)
   factory_bot
   faraday (~> 1.0)
-  github-linguist (~> 7.12)
+  github-linguist (~> 7.20.0)
   gitlab-gollum-lib (~> 4.2.7.10.gitlab.2)
   gitlab-gollum-rugged_adapter (~> 0.4.4.4.gitlab.1)
-  gitlab-labkit (~> 0.21.1)
+  gitlab-labkit (~> 0.23)
   gitlab-license_finder
   gitlab-markup (~> 1.7.1)
   google-protobuf (~> 3.19.0)
diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix
index d3390fa419a..dcb9d3cc1fa 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -11,39 +11,55 @@ let
     gemdir = ./.;
   };
 
-  version = "15.1.4";
+  version = "15.2.2";
   package_version = "v${lib.versions.major version}";
   gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}";
-in
 
-buildGoModule {
-  pname = "gitaly";
-  inherit version;
+  commonOpts = {
+    inherit version;
+
+    src = fetchFromGitLab {
+      owner = "gitlab-org";
+      repo = "gitaly";
+      rev = "v${version}";
+      sha256 = "sha256-ZePtqpe5zwbslgisIQ+BFM9vtnWknB75gtgoOlkbuyo=";
+    };
+
+    vendorSha256 = "sha256-aKF7iupg3XNopi0asasSu5ug+2M9p2nwxk/0g5how6U=";
+
+    ldflags = [ "-X ${gitaly_package}/internal/version.version=${version}" "-X ${gitaly_package}/internal/version.moduleVersion=${version}" ];
+
+    tags = [ "static,system_libgit2" ];
 
-  src = fetchFromGitLab {
-    owner = "gitlab-org";
-    repo = "gitaly";
-    rev = "v${version}";
-    sha256 = "sha256-7bsbmC+a+Qk0MevAJvbQoRfvd3G7+q2zY6Gsb5yP44U=";
+    nativeBuildInputs = [ pkg-config ];
+    buildInputs = [ rubyEnv.wrappedRuby libgit2_1_3_0 openssl zlib pcre http-parser ];
+
+    doCheck = false;
   };
 
-  vendorSha256 = "sha256-0JWJ2mpf79gJdnNRdlQLi0oDvnj6VmibkW2XcPnaCww=";
+  auxBins = buildGoModule ({
+    pname = "gitaly-aux";
+
+    subPackages = [ "cmd/gitaly-hooks" "cmd/gitaly-ssh" "cmd/gitaly-git2go-v15" "cmd/gitaly-lfs-smudge" ];
+  } // commonOpts);
+in
+buildGoModule ({
+  pname = "gitaly";
 
   passthru = {
     inherit rubyEnv;
   };
 
-  ldflags = [ "-X ${gitaly_package}/internal/version.version=${version}" "-X ${gitaly_package}/internal/version.moduleVersion=${version}" ];
+  subPackages = [ "cmd/gitaly" "cmd/gitaly-backup" ];
 
-  tags = [ "static,system_libgit2" ];
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ rubyEnv.wrappedRuby libgit2_1_3_0 openssl zlib pcre http-parser ];
-  doCheck = false;
+  preConfigure = ''
+    mkdir -p _build/bin
+    cp -r ${auxBins}/bin/* _build/bin
+  '';
 
   postInstall = ''
     mkdir -p $ruby
     cp -rv $src/ruby/{bin,lib,proto} $ruby
-    mv $out/bin/gitaly-git2go-${package_version} $out/bin/gitaly-git2go-${version}
   '';
 
   outputs = [ "out" "ruby" ];
@@ -52,7 +68,7 @@ buildGoModule {
     homepage = "https://gitlab.com/gitlab-org/gitaly";
     description = "A Git RPC service for handling all the git calls made by GitLab";
     platforms = platforms.linux ++ [ "x86_64-darwin" ];
-    maintainers = with maintainers; [ roblabla globin fpletz talyz yayayayaka ];
+    maintainers = with maintainers; [ roblabla globin talyz yayayayaka ];
     license = licenses.mit;
   };
-}
+} // commonOpts)
diff --git a/pkgs/applications/version-management/gitlab/gitaly/gemset.nix b/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
index 1697a9f9020..692a3614db5 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
@@ -174,12 +174,14 @@
     version = "1.10.0";
   };
   escape_utils = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qminivnyzwmqjhrh3b92halwbk0zcl9xn828p5rnap1szl2yag5";
+      sha256 = "182ha3nmsc6ny4384233pav58a5x2spjn838w9nciwb29lxah1x3";
       type = "gem";
     };
-    version = "1.2.1";
+    version = "1.2.2";
   };
   factory_bot = {
     dependencies = ["activesupport"];
@@ -228,10 +230,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08lnb04qmlz4arls3nr3ia0k8r1kcyn010fr5qvc2qddidckqk88";
+      sha256 = "10biwhh50fdssqs3ai651qgv079bn6h06g5cv00jc5s73iszfns9";
       type = "gem";
     };
-    version = "7.12.1";
+    version = "7.20.0";
   };
   github-markup = {
     source = {
@@ -269,10 +271,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xkzm6kri1dzjrmicm3wgbnxi9gk0byanr6ibfrflv7spd98fz19";
+      sha256 = "0kiz2m3dw6ld2z6dsl8jh2ycw061wv8wiy34flymb5zqjiyyzw8l";
       type = "gem";
     };
-    version = "0.21.2";
+    version = "0.23.0";
   };
   gitlab-license_finder = {
     dependencies = ["rubyzip" "thor" "tomlrb" "with_env" "xml-simple"];
@@ -442,10 +444,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1axm0rxyx3ss93wbmfkm78a6x03l8y4qy60rhkkiq0aza0vwq3ha";
+      sha256 = "0lbim375gw2dk6383qirz13hgdmxlan0vc5da2l072j3qw6fqjm5";
       type = "gem";
     };
-    version = "1.0.2";
+    version = "1.1.2";
   };
   mini_portile2 = {
     groups = ["default"];
diff --git a/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix b/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
index 37d66c3a7f6..029c2048f91 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
@@ -2,19 +2,19 @@
 
 buildGoModule rec {
   pname = "gitlab-shell";
-  version = "14.7.4";
+  version = "14.9.0";
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-shell";
     rev = "v${version}";
-    sha256 = "sha256-kLIjlMwoK1AlhvP38OspXnIWbdOcaLl4r05PiUmqnWw=";
+    sha256 = "sha256-TO0ZO7Hd/9J+801zPrelnAnJa/X0W9yR0Wphjh3TpaE=";
   };
 
   buildInputs = [ ruby ];
 
   patches = [ ./remove-hardcoded-locations.patch ];
 
-  vendorSha256 = "sha256-f2IkdkTZhve/cYKSH+N2Y5bXFSHuQ8t4hjfReyKTPUU=";
+  vendorSha256 = "sha256-urS0FED636APQe5uNvhDvWsnZtHCW60VtRE1B7IzGZQ=";
 
   postInstall = ''
     cp -r "$NIX_BUILD_TOP/source"/bin/* $out/bin
@@ -26,7 +26,7 @@ buildGoModule rec {
     description = "SSH access and repository management app for GitLab";
     homepage = "http://www.gitlab.com/";
     platforms = platforms.linux;
-    maintainers = with maintainers; [ fpletz globin talyz yayayayaka ];
+    maintainers = with maintainers; [ globin talyz yayayayaka ];
     license = licenses.mit;
   };
 }
diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index 639240c6493..7b12ce314c7 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
@@ -5,7 +5,7 @@ in
 buildGoModule rec {
   pname = "gitlab-workhorse";
 
-  version = "15.1.4";
+  version = "15.2.2";
 
   src = fetchFromGitLab {
     owner = data.owner;
@@ -16,7 +16,7 @@ buildGoModule rec {
 
   sourceRoot = "source/workhorse";
 
-  vendorSha256 = "sha256-cF2wVii/uBqlUQvrbDyPlv4tnfKA45deb/sE0c9U7Tk=";
+  vendorSha256 = "sha256-kZs0va/lVAxSYJ8W2bwLij6HjGg5ppE+eQY9lCsljCE=";
   buildInputs = [ git ];
   ldflags = [ "-X main.Version=${version}" ];
   doCheck = false;
@@ -24,7 +24,7 @@ buildGoModule rec {
   meta = with lib; {
     homepage = "http://www.gitlab.com/";
     platforms = platforms.linux;
-    maintainers = with maintainers; [ fpletz globin talyz yayayayaka ];
+    maintainers = with maintainers; [ globin talyz yayayayaka ];
     license = licenses.mit;
   };
 }
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
index 9f5c0e4cbfd..eab90519e64 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
@@ -30,6 +30,7 @@ gem 'declarative_policy', '~> 1.1.0'
 
 # Authentication libraries
 gem 'devise', '~> 4.7.2'
+gem 'devise-pbkdf2-encryptable', '~> 0.0.0', path: 'devise-pbkdf2-encryptable'
 gem 'bcrypt', '~> 3.1', '>= 3.1.14'
 gem 'doorkeeper', '~> 5.5.0.rc2'
 gem 'doorkeeper-openid_connect', '~> 1.7.5'
@@ -44,13 +45,13 @@ gem 'omniauth-dingtalk-oauth2', '~> 1.0'
 gem 'omniauth-alicloud', '~> 1.0.1'
 gem 'omniauth-facebook', '~> 4.0.0'
 gem 'omniauth-github', '~> 1.4'
-gem 'omniauth-gitlab', '~> 1.0.2'
+gem 'omniauth-gitlab', '~> 4.0.0', path: 'omniauth-gitlab' # See vendor/gems/omniauth-gitlab/README.md
 gem 'omniauth-google-oauth2', '~> 0.6.0'
 gem 'omniauth-oauth2-generic', '~> 0.2.2'
 gem 'omniauth-saml', '~> 1.10'
 gem 'omniauth-shibboleth', '~> 1.3.0'
 gem 'omniauth-twitter', '~> 1.4'
-gem 'omniauth_crowd', '~> 2.4.0'
+gem 'omniauth_crowd', '~> 2.4.0', path: 'omniauth_crowd' # See vendor/gems/omniauth_crowd/README.md
 gem 'omniauth-authentiq', '~> 0.3.3'
 gem 'gitlab-omniauth-openid-connect', '~> 0.9.0', require: 'omniauth_openid_connect'
 gem 'omniauth-salesforce', '~> 1.0.5'
@@ -91,7 +92,7 @@ gem 'gpgme', '~> 2.0.19'
 # LDAP Auth
 # GitLab fork with several improvements to original library. For full list of changes
 # see https://github.com/intridea/omniauth-ldap/compare/master...gitlabhq:master
-gem 'gitlab_omniauth-ldap', '~> 2.1.1', require: 'omniauth-ldap'
+gem 'gitlab_omniauth-ldap', '~> 2.2.0', require: 'omniauth-ldap'
 gem 'net-ldap', '~> 0.16.3'
 
 # API
@@ -103,7 +104,7 @@ gem 'rack-cors', '~> 1.1.0', require: 'rack/cors'
 gem 'graphql', '~> 1.13.12'
 gem 'graphiql-rails', '~> 1.8'
 gem 'apollo_upload_server', '~> 2.1.0'
-gem 'graphql-docs', '~> 1.6.0', group: [:development, :test]
+gem 'graphql-docs', '~> 2.1.0', group: [:development, :test]
 gem 'graphlient', '~> 0.5.0' # Used by BulkImport feature (group::import)
 
 gem 'hashie'
@@ -145,9 +146,9 @@ gem 'seed-fu', '~> 2.3.7'
 gem 'elasticsearch-model', '~> 7.2'
 gem 'elasticsearch-rails', '~> 7.2', require: 'elasticsearch/rails/instrumentation'
 gem 'elasticsearch-api',   '7.13.3'
-gem 'aws-sdk-core', '~> 3'
+gem 'aws-sdk-core', '~> 3.131.0'
 gem 'aws-sdk-cloudformation', '~> 1'
-gem 'aws-sdk-s3', '~> 1'
+gem 'aws-sdk-s3', '~> 1.114.0'
 gem 'faraday_middleware-aws-sigv4', '~>0.3.0'
 gem 'typhoeus', '~> 1.4.0' # Used with Elasticsearch to support http keep-alive connections
 
@@ -181,7 +182,7 @@ gem 'diffy', '~> 3.3'
 gem 'diff_match_patch', '~> 0.1.0'
 
 # Application server
-gem 'rack', '~> 2.2.3.0'
+gem 'rack', '~> 2.2.4'
 # https://github.com/zombocom/rack-timeout/blob/master/README.md#rails-apps-manually
 gem 'rack-timeout', '~> 0.6.0', require: 'rack/timeout/base'
 
@@ -255,7 +256,7 @@ gem 'slack-messenger', '~> 2.3.4'
 gem 'hangouts-chat', '~> 0.0.5', require: 'hangouts_chat'
 
 # Asana integration
-gem 'asana', '~> 0.10.3'
+gem 'asana', '~> 0.10.13'
 
 # FogBugz integration
 gem 'ruby-fogbugz', '~> 0.2.1'
@@ -268,7 +269,7 @@ gem 'sanitize', '~> 6.0'
 gem 'babosa', '~> 1.0.4'
 
 # Sanitizes SVG input
-gem 'loofah', '~> 2.2'
+gem 'loofah', '~> 2.18.0'
 
 # Working with license
 gem 'licensee', '~> 9.14.1'
@@ -323,7 +324,7 @@ gem 'thrift', '>= 0.14.0'
 
 # I18n
 gem 'ruby_parser', '~> 3.15', require: false
-gem 'rails-i18n', '~> 6.0'
+gem 'rails-i18n', '~> 7.0'
 gem 'gettext_i18n_rails', '~> 1.8.0'
 gem 'gettext_i18n_rails_js', '~> 1.3'
 gem 'gettext', '~> 3.3', require: false, group: :development
@@ -339,12 +340,12 @@ gem 'snowplow-tracker', '~> 0.6.1'
 # Metrics
 gem 'method_source', '~> 1.0', require: false
 gem 'webrick', '~> 1.6.1', require: false
-gem 'prometheus-client-mmap', '~> 0.15.0', require: 'prometheus/client'
+gem 'prometheus-client-mmap', '~> 0.16', require: 'prometheus/client'
 
-gem 'warning', '~> 1.2.0'
+gem 'warning', '~> 1.3.0'
 
 group :development do
-  gem 'lefthook', '~> 0.8.0', require: false
+  gem 'lefthook', '~> 1.0.0', require: false
   gem 'rubocop'
   gem 'solargraph', '~> 0.44.3', require: false
 
@@ -407,7 +408,7 @@ group :development, :test do
 end
 
 group :development, :test, :danger do
-  gem 'gitlab-dangerfiles', '~> 3.4.0', require: false
+  gem 'gitlab-dangerfiles', '~> 3.4.3', require: false
 end
 
 group :development, :test, :coverage do
@@ -436,7 +437,7 @@ group :test do
   gem 'capybara-screenshot', '~> 1.0.22'
   gem 'selenium-webdriver', '~> 3.142'
 
-  gem 'shoulda-matchers', '~> 4.0.1', require: false
+  gem 'shoulda-matchers', '~> 5.1.0', require: false
   gem 'email_spec', '~> 2.2.0'
   gem 'webmock', '~> 3.9.1'
   gem 'rails-controller-testing'
@@ -466,7 +467,7 @@ gem 'benchmark-memory', '~> 0.1', require: false
 gem 'activerecord-explain-analyze', '~> 0.1', require: false
 
 # OAuth
-gem 'oauth2', '~> 1.4'
+gem 'oauth2', '~> 2.0'
 
 # Health check
 gem 'health_check', '~> 3.0'
@@ -524,7 +525,7 @@ gem 'erubi', '~> 1.9.0'
 # Monkey-patched in `config/initializers/mail_encoding_patch.rb`
 # See https://gitlab.com/gitlab-org/gitlab/issues/197386
 gem 'mail', '= 2.7.1'
-
+gem 'mail-smtp_pool', '~> 0.1.0', path: 'mail-smtp_pool', require: false
 
 # File encryption
 gem 'lockbox', '~> 0.6.2'
@@ -535,7 +536,7 @@ gem 'valid_email', '~> 0.1'
 # JSON
 gem 'json', '~> 2.5.1'
 gem 'json_schemer', '~> 0.2.18'
-gem 'oj', '~> 3.10.6'
+gem 'oj', '~> 3.13.19'
 gem 'multi_json', '~> 1.14.1'
 gem 'yajl-ruby', '~> 1.4.1', require: 'yajl'
 
@@ -546,6 +547,10 @@ gem 'ipaddress', '~> 0.8.3'
 
 gem 'parslet', '~> 1.8'
 
-gem 'ipynbdiff', '0.4.7'
+gem 'ipynbdiff', path: 'ipynbdiff'
 
 gem 'ed25519', '~> 1.3.0'
+
+# Error Tracking OpenAPI client
+# See https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/development/rake_tasks.md#update-openapi-client-for-error-tracking-feature
+gem 'error_tracking_open_api', path: 'error_tracking_open_api'
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
index 535e470372c..7bdffef8140 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
@@ -1,3 +1,44 @@
+PATH
+  remote: devise-pbkdf2-encryptable
+  specs:
+    devise-pbkdf2-encryptable (0.0.0)
+      devise (~> 4.0)
+
+PATH
+  remote: error_tracking_open_api
+  specs:
+    error_tracking_open_api (1.0.0)
+      typhoeus (~> 1.0, >= 1.0.1)
+
+PATH
+  remote: ipynbdiff
+  specs:
+    ipynbdiff (0.4.7)
+      diffy (~> 3.3)
+      oj (~> 3.13.16)
+
+PATH
+  remote: mail-smtp_pool
+  specs:
+    mail-smtp_pool (0.1.0)
+      connection_pool (~> 2.0)
+      mail (~> 2.7)
+
+PATH
+  remote: omniauth-gitlab
+  specs:
+    omniauth-gitlab (4.0.0)
+      omniauth (~> 1.0)
+      omniauth-oauth2 (~> 1.7.1)
+
+PATH
+  remote: omniauth_crowd
+  specs:
+    omniauth_crowd (2.4.0)
+      activesupport
+      nokogiri (>= 1.4.4)
+      omniauth (~> 1.0, < 3)
+
 GEM
   remote: https://rubygems.org/
   specs:
@@ -76,11 +117,11 @@ GEM
     apollo_upload_server (2.1.0)
       actionpack (>= 4.2)
       graphql (>= 1.8)
-    asana (0.10.3)
+    asana (0.10.13)
       faraday (~> 1.0)
       faraday_middleware (~> 1.0)
       faraday_middleware-multi_json (~> 0.0)
-      oauth2 (~> 1.4)
+      oauth2 (>= 1.4, < 3)
     asciidoctor (2.0.15)
     asciidoctor-include-ext (0.4.0)
       asciidoctor (>= 1.5.6, < 3.0.0)
@@ -98,24 +139,24 @@ GEM
       execjs (> 0)
     awesome_print (1.9.2)
     awrence (1.1.1)
-    aws-eventstream (1.1.0)
-    aws-partitions (1.345.0)
+    aws-eventstream (1.2.0)
+    aws-partitions (1.600.0)
     aws-sdk-cloudformation (1.41.0)
       aws-sdk-core (~> 3, >= 3.99.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-core (3.104.3)
+    aws-sdk-core (3.131.1)
       aws-eventstream (~> 1, >= 1.0.2)
-      aws-partitions (~> 1, >= 1.239.0)
+      aws-partitions (~> 1, >= 1.525.0)
       aws-sigv4 (~> 1.1)
-      jmespath (~> 1.0)
-    aws-sdk-kms (1.36.0)
-      aws-sdk-core (~> 3, >= 3.99.0)
+      jmespath (~> 1, >= 1.6.1)
+    aws-sdk-kms (1.57.0)
+      aws-sdk-core (~> 3, >= 3.127.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-s3 (1.75.0)
-      aws-sdk-core (~> 3, >= 3.104.1)
+    aws-sdk-s3 (1.114.0)
+      aws-sdk-core (~> 3, >= 3.127.0)
       aws-sdk-kms (~> 1)
-      aws-sigv4 (~> 1.1)
-    aws-sigv4 (1.2.1)
+      aws-sigv4 (~> 1.4)
+    aws-sigv4 (1.5.0)
       aws-eventstream (~> 1, >= 1.0.2)
     azure-storage-blob (2.0.3)
       azure-storage-common (~> 2.0)
@@ -468,7 +509,7 @@ GEM
       terminal-table (~> 1.5, >= 1.5.1)
     gitlab-chronic (0.10.5)
       numerizer (~> 0.2)
-    gitlab-dangerfiles (3.4.0)
+    gitlab-dangerfiles (3.4.3)
       danger (>= 8.4.5)
       danger-gitlab (>= 8.0.0)
       rake
@@ -516,9 +557,9 @@ GEM
       rubocop-rspec (~> 1.44)
     gitlab_chronic_duration (0.10.6.2)
       numerizer (~> 0.2)
-    gitlab_omniauth-ldap (2.1.1)
+    gitlab_omniauth-ldap (2.2.0)
       net-ldap (~> 0.16)
-      omniauth (~> 1.3)
+      omniauth (>= 1.3, < 3)
       pyu-ruby-sasl (>= 0.0.3.3, < 0.1)
       rubyntlm (~> 0.5)
     globalid (1.0.0)
@@ -580,13 +621,13 @@ GEM
     graphql-client (0.17.0)
       activesupport (>= 3.0)
       graphql (~> 1.10)
-    graphql-docs (1.6.0)
+    graphql-docs (2.1.0)
       commonmarker (~> 0.16)
       escape_utils (~> 1.2)
       extended-markdown-filter (~> 0.4)
       gemoji (~> 3.0)
-      graphql (~> 1.6)
-      html-pipeline (~> 2.8)
+      graphql (~> 1.12)
+      html-pipeline (~> 2.9)
       sass (~> 3.4)
     grpc (1.42.0)
       google-protobuf (~> 3.18)
@@ -660,9 +701,6 @@ GEM
     invisible_captcha (1.1.0)
       rails (>= 4.2)
     ipaddress (0.8.3)
-    ipynbdiff (0.4.7)
-      diffy (~> 3.3)
-      json (~> 2.5, >= 2.5.1)
     jaeger-client (1.1.0)
       opentracing (~> 0.3)
       thrift
@@ -672,7 +710,7 @@ GEM
       atlassian-jwt
       multipart-post
       oauth (~> 0.5, >= 0.5.0)
-    jmespath (1.4.0)
+    jmespath (1.6.1)
     js_regex (3.7.0)
       character_set (~> 1.4)
       regexp_parser (~> 2.1)
@@ -717,7 +755,7 @@ GEM
       rest-client (~> 2.0)
     launchy (2.5.0)
       addressable (~> 2.7)
-    lefthook (0.8.0)
+    lefthook (1.0.2)
     letter_opener (1.7.0)
       launchy (~> 2.2)
     letter_opener_web (2.0.0)
@@ -742,7 +780,7 @@ GEM
       activesupport (>= 4)
       railties (>= 4)
       request_store (~> 1.0)
-    loofah (2.16.0)
+    loofah (2.18.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     lru_redux (1.1.0)
@@ -808,12 +846,13 @@ GEM
       shellany (~> 0.0)
     numerizer (0.2.0)
     oauth (0.5.6)
-    oauth2 (1.4.7)
-      faraday (>= 0.8, < 2.0)
+    oauth2 (2.0.3)
+      faraday (>= 0.17.3, < 3.0)
       jwt (>= 1.0, < 3.0)
-      multi_json (~> 1.3)
       multi_xml (~> 0.5)
       rack (>= 1.2, < 3)
+      rash_alt (>= 0.4, < 1)
+      version_gem (~> 1.0)
     octokit (4.20.0)
       faraday (>= 0.9)
       sawyer (~> 0.8.0, >= 0.5.3)
@@ -830,7 +869,7 @@ GEM
       plist (~> 3.1)
       train-core
       wmi-lite (~> 1.0)
-    oj (3.10.6)
+    oj (3.13.19)
     omniauth (1.9.1)
       hashie (>= 3.4.6)
       rack (>= 1.6.2, < 3)
@@ -861,18 +900,15 @@ GEM
     omniauth-github (1.4.0)
       omniauth (~> 1.5)
       omniauth-oauth2 (>= 1.4.0, < 2.0)
-    omniauth-gitlab (1.0.3)
-      omniauth (~> 1.0)
-      omniauth-oauth2 (~> 1.0)
     omniauth-google-oauth2 (0.6.0)
       jwt (>= 2.0)
       omniauth (>= 1.1.1)
       omniauth-oauth2 (>= 1.5)
-    omniauth-oauth (1.1.0)
+    omniauth-oauth (1.2.0)
       oauth
-      omniauth (~> 1.0)
-    omniauth-oauth2 (1.7.2)
-      oauth2 (~> 1.4)
+      omniauth (>= 1.0, < 3)
+    omniauth-oauth2 (1.7.3)
+      oauth2 (>= 1.4, < 3)
       omniauth (>= 1.9, < 3)
     omniauth-oauth2-generic (0.2.2)
       omniauth-oauth2 (~> 1.0)
@@ -887,10 +923,6 @@ GEM
     omniauth-twitter (1.4.0)
       omniauth-oauth (~> 1.1)
       rack
-    omniauth_crowd (2.4.0)
-      activesupport
-      nokogiri (>= 1.4.4)
-      omniauth (~> 1.0)
     open4 (1.3.4)
     openid_connect (1.3.0)
       activemodel
@@ -959,7 +991,7 @@ GEM
       coderay
       parser
       unparser
-    prometheus-client-mmap (0.15.0)
+    prometheus-client-mmap (0.16.2)
     pry (0.13.1)
       coderay (~> 1.1)
       method_source (~> 1.0)
@@ -981,7 +1013,7 @@ GEM
     pyu-ruby-sasl (0.0.3.3)
     raabro (1.1.6)
     racc (1.6.0)
-    rack (2.2.3.1)
+    rack (2.2.4)
     rack-accept (0.4.5)
       rack (>= 0.4)
     rack-attack (6.6.1)
@@ -1023,9 +1055,9 @@ GEM
       nokogiri (>= 1.6)
     rails-html-sanitizer (1.4.2)
       loofah (~> 2.3)
-    rails-i18n (6.0.0)
+    rails-i18n (7.0.3)
       i18n (>= 0.7, < 2)
-      railties (>= 6.0.0, < 7)
+      railties (>= 6.0.0, < 8)
     railties (6.1.4.7)
       actionpack (= 6.1.4.7)
       activesupport (= 6.1.4.7)
@@ -1035,6 +1067,8 @@ GEM
     rainbow (3.1.1)
     rake (13.0.6)
     randexp (0.1.7)
+    rash_alt (0.4.12)
+      hashie (>= 3.4)
     rb-fsevent (0.10.4)
     rb-inotify (0.10.1)
       ffi (~> 1.0)
@@ -1167,7 +1201,7 @@ GEM
     ruby2_keywords (0.0.5)
     ruby_parser (3.15.0)
       sexp_processor (~> 4.9)
-    rubyntlm (0.6.2)
+    rubyntlm (0.6.3)
     rubypants (0.2.0)
     rubyzip (2.3.2)
     rugged (1.2.0)
@@ -1218,8 +1252,8 @@ GEM
     settingslogic (2.0.9)
     sexp_processor (4.15.1)
     shellany (0.0.1)
-    shoulda-matchers (4.0.1)
-      activesupport (>= 4.2.0)
+    shoulda-matchers (5.1.0)
+      activesupport (>= 5.2.0)
     sidekiq (6.4.0)
       connection_pool (>= 2.2.2)
       rack (~> 2.0)
@@ -1393,6 +1427,7 @@ GEM
     validates_hostname (1.0.11)
       activerecord (>= 3.0)
       activesupport (>= 3.0)
+    version_gem (1.0.0)
     version_sorter (2.2.4)
     view_component (2.50.0)
       activesupport (>= 5.0.0, < 8.0)
@@ -1400,7 +1435,7 @@ GEM
     vmstat (2.3.0)
     warden (1.2.8)
       rack (>= 2.0.6)
-    warning (1.2.0)
+    warning (1.3.0)
     webauthn (2.3.0)
       android_key_attestation (~> 0.3.0)
       awrence (~> 1.1)
@@ -1447,7 +1482,7 @@ DEPENDENCIES
   addressable (~> 2.8)
   akismet (~> 3.0)
   apollo_upload_server (~> 2.1.0)
-  asana (~> 0.10.3)
+  asana (~> 0.10.13)
   asciidoctor (~> 2.0.10)
   asciidoctor-include-ext (~> 0.4.0)
   asciidoctor-kroki (~> 0.5.0)
@@ -1457,8 +1492,8 @@ DEPENDENCIES
   autoprefixer-rails (= 10.2.5.1)
   awesome_print
   aws-sdk-cloudformation (~> 1)
-  aws-sdk-core (~> 3)
-  aws-sdk-s3 (~> 1)
+  aws-sdk-core (~> 3.131.0)
+  aws-sdk-s3 (~> 1.114.0)
   babosa (~> 1.0.4)
   base32 (~> 0.3.0)
   batch-loader (~> 2.0.1)
@@ -1489,6 +1524,7 @@ DEPENDENCIES
   derailed_benchmarks
   device_detector
   devise (~> 4.7.2)
+  devise-pbkdf2-encryptable (~> 0.0.0)!
   devise-two-factor (~> 4.0.2)
   diff_match_patch (~> 0.1.0)
   diffy (~> 3.3)
@@ -1501,6 +1537,7 @@ DEPENDENCIES
   elasticsearch-rails (~> 7.2)
   email_reply_trimmer (~> 0.1)
   email_spec (~> 2.2.0)
+  error_tracking_open_api!
   erubi (~> 1.9.0)
   escape_utils (~> 1.1)
   factory_bot_rails (~> 6.2.0)
@@ -1527,7 +1564,7 @@ DEPENDENCIES
   gitaly (~> 15.1.0.pre.rc1)
   github-markup (~> 1.7.0)
   gitlab-chronic (~> 0.10.5)
-  gitlab-dangerfiles (~> 3.4.0)
+  gitlab-dangerfiles (~> 3.4.3)
   gitlab-experiment (~> 0.7.1)
   gitlab-fog-azure-rm (~> 1.3.0)
   gitlab-labkit (~> 0.23.0)
@@ -1540,7 +1577,7 @@ DEPENDENCIES
   gitlab-sidekiq-fetcher (= 0.8.0)
   gitlab-styles (~> 7.1.0)
   gitlab_chronic_duration (~> 0.10.6.2)
-  gitlab_omniauth-ldap (~> 2.1.1)
+  gitlab_omniauth-ldap (~> 2.2.0)
   gon (~> 6.4.0)
   google-api-client (~> 0.33)
   google-protobuf (~> 3.19.0)
@@ -1552,7 +1589,7 @@ DEPENDENCIES
   graphiql-rails (~> 1.8)
   graphlient (~> 0.5.0)
   graphql (~> 1.13.12)
-  graphql-docs (~> 1.6.0)
+  graphql-docs (~> 2.1.0)
   grpc (~> 1.42.0)
   gssapi
   guard-rspec
@@ -1568,7 +1605,7 @@ DEPENDENCIES
   icalendar
   invisible_captcha (~> 1.1.0)
   ipaddress (~> 0.8.3)
-  ipynbdiff (= 0.4.7)
+  ipynbdiff!
   jira-ruby (~> 2.1.4)
   js_regex (~> 3.7)
   json (~> 2.5.1)
@@ -1579,14 +1616,15 @@ DEPENDENCIES
   knapsack (~> 1.21.1)
   kramdown (~> 2.3.1)
   kubeclient (~> 4.9.2)
-  lefthook (~> 0.8.0)
+  lefthook (~> 1.0.0)
   letter_opener_web (~> 2.0.0)
   licensee (~> 9.14.1)
   lockbox (~> 0.6.2)
   lograge (~> 0.5)
-  loofah (~> 2.2)
+  loofah (~> 2.18.0)
   lru_redux
   mail (= 2.7.1)
+  mail-smtp_pool (~> 0.1.0)!
   marginalia (~> 1.10.0)
   memory_profiler (~> 0.9)
   method_source (~> 1.0)
@@ -1596,10 +1634,10 @@ DEPENDENCIES
   net-ldap (~> 0.16.3)
   net-ntp
   nokogiri (~> 1.13.6)
-  oauth2 (~> 1.4)
+  oauth2 (~> 2.0)
   octokit (~> 4.15)
   ohai (~> 16.10)
-  oj (~> 3.10.6)
+  oj (~> 3.13.19)
   omniauth (~> 1.8)
   omniauth-alicloud (~> 1.0.1)
   omniauth-atlassian-oauth2 (~> 0.2.0)
@@ -1611,14 +1649,14 @@ DEPENDENCIES
   omniauth-dingtalk-oauth2 (~> 1.0)
   omniauth-facebook (~> 4.0.0)
   omniauth-github (~> 1.4)
-  omniauth-gitlab (~> 1.0.2)
+  omniauth-gitlab (~> 4.0.0)!
   omniauth-google-oauth2 (~> 0.6.0)
   omniauth-oauth2-generic (~> 0.2.2)
   omniauth-salesforce (~> 1.0.5)
   omniauth-saml (~> 1.10)
   omniauth-shibboleth (~> 1.3.0)
   omniauth-twitter (~> 1.4)
-  omniauth_crowd (~> 2.4.0)
+  omniauth_crowd (~> 2.4.0)!
   org-ruby (~> 0.9.12)
   pact (~> 1.12)
   parallel (~> 1.19)
@@ -1628,13 +1666,13 @@ DEPENDENCIES
   pg_query (~> 2.1.0)
   png_quantizator (~> 0.2.1)
   premailer-rails (~> 1.10.3)
-  prometheus-client-mmap (~> 0.15.0)
+  prometheus-client-mmap (~> 0.16)
   pry-byebug
   pry-rails (~> 0.3.9)
   pry-shell (~> 0.5.0)
   puma (~> 5.6.2)
   puma_worker_killer (~> 0.3.1)
-  rack (~> 2.2.3.0)
+  rack (~> 2.2.4)
   rack-attack (~> 6.6.0)
   rack-cors (~> 1.1.0)
   rack-oauth2 (~> 1.19.0)
@@ -1642,7 +1680,7 @@ DEPENDENCIES
   rack-timeout (~> 0.6.0)
   rails (~> 6.1.4.7)
   rails-controller-testing
-  rails-i18n (~> 6.0)
+  rails-i18n (~> 7.0)
   rainbow (~> 3.0)
   rbtrace (~> 0.4)
   rdoc (~> 6.3.2)
@@ -1682,7 +1720,7 @@ DEPENDENCIES
   sentry-ruby (~> 5.1.1)
   sentry-sidekiq (~> 5.1.1)
   settingslogic (~> 2.0.9)
-  shoulda-matchers (~> 4.0.1)
+  shoulda-matchers (~> 5.1.0)
   sidekiq (~> 6.4)
   sidekiq-cron (~> 1.2)
   sigdump (~> 0.2.4)
@@ -1722,7 +1760,7 @@ DEPENDENCIES
   version_sorter (~> 2.2.4)
   view_component (~> 2.50.0)
   vmstat (~> 2.3.0)
-  warning (~> 1.2.0)
+  warning (~> 1.3.0)
   webauthn (~> 2.3)
   webmock (~> 3.9.1)
   webrick (~> 1.6.1)
@@ -1730,4 +1768,4 @@ DEPENDENCIES
   yajl-ruby (~> 1.4.1)
 
 BUNDLED WITH
-   2.3.9
+   2.3.15
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
index 5f11d609878..7adf6fb2b8e 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
@@ -211,10 +211,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14cs2k802hlvlmn0nwnx4k3g44944x0a8dsj3k14mjnbvcw1fkxh";
+      sha256 = "1b6pqazhi9922y79763m0alvdmvm90i806qgb1a8l4fnimzx7l1n";
       type = "gem";
     };
-    version = "0.10.3";
+    version = "0.10.13";
   };
   asciidoctor = {
     groups = ["default"];
@@ -337,20 +337,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0r0pn66yqrdkrfdin7qdim0yj2x75miyg4wp6mijckhzhrjb7cv5";
+      sha256 = "1pyis1nvnbjxk12a43xvgj2gv0mvp4cnkc1gzw0v1018r61399gz";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.2.0";
   };
   aws-partitions = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12q3swh4f44iqlq2md9lphg8csi0hd35jhgmkkkji9n0mgay4ggh";
+      sha256 = "0cx73zazv4jsh51b08jgf7pzn62wmfqlwwg2z8w4rcqbvn326n93";
       type = "gem";
     };
-    version = "1.345.0";
+    version = "1.600.0";
   };
   aws-sdk-cloudformation = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -369,10 +369,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xfv8nfz8n700z29di51mcyyrnmbpq7flff4hx9mm92avnly1ysy";
+      sha256 = "0yiz3aaik62rxhxipwznb2bv8ywha13vdxg9nk6anq9bd0nn0728";
       type = "gem";
     };
-    version = "3.104.3";
+    version = "3.131.1";
   };
   aws-sdk-kms = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -380,10 +380,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rpwpj4f4q9wdrbgiqngzwfdaaqyz0iif8sv16z6z0mm6y3cb06q";
+      sha256 = "1m8vwm4cakfv3i4f723a6id07myx18fpdbq8ypa2j7r5njwxpmzz";
       type = "gem";
     };
-    version = "1.36.0";
+    version = "1.57.0";
   };
   aws-sdk-s3 = {
     dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"];
@@ -391,10 +391,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "068xx6wp86wkmikdzg4wqxmg570hc3ydp8211j02g13djjr3k28n";
+      sha256 = "1r6dxz3llgxbbm66jq5mkzk0i6qsxwv0d9s0ipwb23vv3bgp23yf";
       type = "gem";
     };
-    version = "1.75.0";
+    version = "1.114.0";
   };
   aws-sigv4 = {
     dependencies = ["aws-eventstream"];
@@ -402,10 +402,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0aknh3q37rq3ixxa84x2p26g8a15zmiig2rm1pmailsb9vqhfh3j";
+      sha256 = "0xp7diwq7nv4vvxrl9x3lis2l4x6bissrfzbfyy6rv5bmj5w109z";
       type = "gem";
     };
-    version = "1.2.1";
+    version = "1.5.0";
   };
   azure-storage-blob = {
     dependencies = ["azure-storage-common" "nokogiri"];
@@ -2040,10 +2040,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13c7k36xq042fbf7d9jwgfc30zq9dfziwvqfi88h2199v9dkylix";
+      sha256 = "06jfkak5z7jj1g8vy8ljnxradk111phg41f8p6ays4ckfrimkvm4";
       type = "gem";
     };
-    version = "3.4.0";
+    version = "3.4.3";
   };
   gitlab-experiment = {
     dependencies = ["activesupport" "request_store"];
@@ -2179,10 +2179,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1f8cjbzlhckarmm59l380jjy33a3hlljg69b3zkh8rhy1xd3xr90";
+      sha256 = "1343sax19jidp7nr4s8bxpkyqwy6zb9lfslg99jys8xinfn20kdv";
       type = "gem";
     };
-    version = "2.1.1";
+    version = "2.2.0";
   };
   globalid = {
     dependencies = ["activesupport"];
@@ -2364,10 +2364,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12wzsikbn54b2hcv100hz7isq5gdjm5w5b8xya64ra5sw6sabq8d";
+      sha256 = "0xmmifirvm4hay8qy6hjsdwms56sk973cq1b9c85b97xz0129f3y";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "2.1.0";
   };
   grpc = {
     dependencies = ["google-protobuf" "googleapis-common-protos-types"];
@@ -2698,17 +2698,6 @@
     };
     version = "0.8.3";
   };
-  ipynbdiff = {
-    dependencies = ["diffy" "json"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0bm7k1lga4jmbi7fx373npbi0smm7jkhhpvnh7jrjawnjmfii1bz";
-      type = "gem";
-    };
-    version = "0.4.7";
-  };
   jaeger-client = {
     dependencies = ["opentracing" "thrift"];
     groups = ["default"];
@@ -2746,10 +2735,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1d4wac0dcd1jf6kc57891glih9w57552zgqswgy74d1xhgnk0ngf";
+      sha256 = "1mnvb80cdg7fzdcs3xscv21p28w4igk5sj5m7m81xp8v2ks87jj0";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "1.6.1";
   };
   js_regex = {
     dependencies = ["character_set" "regexp_parser" "regexp_property_values"];
@@ -2929,10 +2918,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05ykgpj6cka9vprvrk37ixyhj2pdw7a9m6bq645yai6ihghahlf0";
+      sha256 = "0zmg1kl5fh38gs4nj6mbj1rg61jg1iwplciq7n0qml5jckm75fpd";
       type = "gem";
     };
-    version = "0.8.0";
+    version = "1.0.2";
   };
   letter_opener = {
     dependencies = ["launchy"];
@@ -3025,10 +3014,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15s6z5bvhdhnqv4wg8zcz3mhbc7i4dbqskv5jvhprz33ak7682km";
+      sha256 = "18ymp6l3bv7abz07k6qbbi9c9vsiahq30d2smh4qzsvag8j5m5v1";
       type = "gem";
     };
-    version = "2.16.0";
+    version = "2.18.0";
   };
   lru_redux = {
     groups = ["default"];
@@ -3468,15 +3457,15 @@
     version = "0.5.6";
   };
   oauth2 = {
-    dependencies = ["faraday" "jwt" "multi_json" "multi_xml" "rack"];
+    dependencies = ["faraday" "jwt" "multi_xml" "rack" "rash_alt" "version_gem"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1q6q2kgpxmygk8kmxqn54zkw8cs57a34zzz5cxpsh1bj3ag06rk3";
+      sha256 = "06y4wnsc1flbgv8vhh650x7f2k0k8238zcrmncil4swkb9kdhhxk";
       type = "gem";
     };
-    version = "1.4.7";
+    version = "2.0.3";
   };
   octokit = {
     dependencies = ["faraday" "sawyer"];
@@ -3505,10 +3494,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zik71a9dj2c0cnbqxjfzgrg6r2l3f7584813z6asl50nfdbf7jw";
+      sha256 = "1b10apyzm1qyph42438z9nx2ln5v9sg0686ws9gdrv5wh482fnmf";
       type = "gem";
     };
-    version = "3.10.6";
+    version = "3.13.19";
   };
   omniauth = {
     dependencies = ["hashie" "rack"];
@@ -3631,17 +3620,6 @@
     };
     version = "1.4.0";
   };
-  omniauth-gitlab = {
-    dependencies = ["omniauth" "omniauth-oauth2"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "19ydk2zd2mz8zi80z3l03pajpm9357sg3lrankrcb3pirkkdb9fp";
-      type = "gem";
-    };
-    version = "1.0.3";
-  };
   omniauth-google-oauth2 = {
     dependencies = ["jwt" "omniauth" "omniauth-oauth2"];
     groups = ["default"];
@@ -3659,10 +3637,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1n5vk4by7hkyc09d9blrw2argry5awpw4gbw1l4n2s9b3j4qz037";
+      sha256 = "0yw2vzx633p9wpdkd4jxsih6mw604mj7f6myyfikmj4d95c8d9z7";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.2.0";
   };
   omniauth-oauth2 = {
     dependencies = ["oauth2" "omniauth"];
@@ -3670,10 +3648,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ry65f309rnzhgdjvqybkd5i4qp9rpk1gbp4dz02h4l6bkk6ya10";
+      sha256 = "0ia73zcbmhf02krlkq2rxmksx93jp777ax5x58fzkq3jzacqyniz";
       type = "gem";
     };
-    version = "1.7.2";
+    version = "1.7.3";
   };
   omniauth-oauth2-generic = {
     dependencies = ["omniauth-oauth2"];
@@ -3730,17 +3708,6 @@
     };
     version = "1.4.0";
   };
-  omniauth_crowd = {
-    dependencies = ["activesupport" "nokogiri" "omniauth"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1wiq1vnwjddzw2qzkpr3nqzx6glmcz5pfylw10pc7vkzdcmkpy37";
-      type = "gem";
-    };
-    version = "2.4.0";
-  };
   open4 = {
     groups = ["default" "development"];
     platforms = [];
@@ -4009,10 +3976,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vn736898qyyw29kjyjifx2bg18r6gfaw3q8xzjgmr0jk4jz29c3";
+      sha256 = "0r8iaviqw0bjp83364k04n5kyzvr0hawf3h5xlgjsg30vmpykrrn";
       type = "gem";
     };
-    version = "0.15.0";
+    version = "0.16.2";
   };
   pry = {
     dependencies = ["coderay" "method_source"];
@@ -4129,10 +4096,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1b1qsg0yfargdhmpapp2d3mlxj82wyygs9nj74w0r03diyi8swlc";
+      sha256 = "0axc6w0rs4yj0pksfll1hjgw1k6a5q0xi2lckh91knfb72v348pa";
       type = "gem";
     };
-    version = "2.2.3.1";
+    version = "2.2.4";
   };
   rack-accept = {
     dependencies = ["rack"];
@@ -4260,10 +4227,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05mcgv748vppnm3fnml37wjy3dw61wj8vfw14ldaj1yx1bmkhb07";
+      sha256 = "1lrbrx88ic42adcj36wip3dk1svmqld1f7qksngi4b9kqnc8w5g3";
       type = "gem";
     };
-    version = "6.0.0";
+    version = "7.0.3";
   };
   railties = {
     dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"];
@@ -4306,6 +4273,17 @@
     };
     version = "0.1.7";
   };
+  rash_alt = {
+    dependencies = ["hashie"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "01qn9qrbi79mr4nyf1fqv3fjbh9ipx6r42vwfxmwrkpxp3ansjhx";
+      type = "gem";
+    };
+    version = "0.4.12";
+  };
   rb-fsevent = {
     groups = ["default" "development" "test"];
     platforms = [];
@@ -4896,10 +4874,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1p6bxsklkbcqni4bcq6jajc2n57g0w5rzn4r49c3lb04wz5xg0dy";
+      sha256 = "0b8hczk8hysv53ncsqzx4q6kma5gy5lqc7s5yx8h64x3vdb18cjv";
       type = "gem";
     };
-    version = "0.6.2";
+    version = "0.6.3";
   };
   rubypants = {
     groups = ["default"];
@@ -5161,10 +5139,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1s6a2i39lsqq8rrkk2pddqcb10bsihxy3v5gpnc2gk8xakj1brdq";
+      sha256 = "01svmyma958sbqfz0v29lbqbr0ibvgcng352nhx6bsc9k5c207d0";
       type = "gem";
     };
-    version = "4.0.1";
+    version = "5.1.0";
   };
   sidekiq = {
     dependencies = ["connection_pool" "rack" "redis"];
@@ -5986,6 +5964,16 @@
     };
     version = "1.0.11";
   };
+  version_gem = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0bwgbw56z2mhh2j044lgahrsiddibxx0r62r0cxvp0k4sjj9774j";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
   version_sorter = {
     groups = ["default"];
     platforms = [];
@@ -6033,10 +6021,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qhniramhgrcqhb905rkc82k29kgd6535jqf0aii5w3v6m2kn8qd";
+      sha256 = "17h6x3fh0y46gpkzpknbh94qxcp0pqlvacc90r35rgahirfmls93";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "1.3.0";
   };
   webauthn = {
     dependencies = ["android_key_attestation" "awrence" "bindata" "cbor" "cose" "openssl" "safety_net_attestation" "securecompare" "tpm-key_attestation"];
diff --git a/pkgs/applications/version-management/gitlab/update.py b/pkgs/applications/version-management/gitlab/update.py
index bee10e49f4b..f862e1aca34 100755
--- a/pkgs/applications/version-management/gitlab/update.py
+++ b/pkgs/applications/version-management/gitlab/update.py
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#! nix-shell -I nixpkgs=../../../.. -i python3 -p bundix bundler nix-update nix nix-universal-prefetch python3 python3Packages.requests python3Packages.click python3Packages.click-log prefetch-yarn-deps
+#! nix-shell -I nixpkgs=../../../.. -i python3 -p bundix bundler nix-update nix nix-universal-prefetch python3 python3Packages.requests python3Packages.click python3Packages.click-log python3Packages.packaging prefetch-yarn-deps
 
 import click
 import click_log
@@ -10,11 +10,14 @@ import subprocess
 import json
 import pathlib
 import tempfile
-from distutils.version import LooseVersion
+from packaging.version import Version
 from typing import Iterable
 
 import requests
 
+# Always keep this in sync with the GitLaab version you're updating to.
+# If you see any errors about vendored dependencies during an update, check the Gemfile.
+VENDORED_GEMS = ['devise-pbkdf2-encryptable', 'omniauth-gitlab', 'omniauth_crowd', 'mail-smtp_pool', 'ipynbdiff', 'error_tracking_open_api']
 logger = logging.getLogger(__name__)
 
 
@@ -37,7 +40,7 @@ class GitLabRepo:
         versions = list(filter(self.version_regex.match, tags))
 
         # sort, but ignore v and -ee for sorting comparisons
-        versions.sort(key=lambda x: LooseVersion(x.replace("v", "").replace("-ee", "")), reverse=True)
+        versions.sort(key=lambda x: Version(x.replace("v", "").replace("-ee", "")), reverse=True)
         return versions
 
     def get_git_hash(self, rev: str):
@@ -85,7 +88,8 @@ class GitLabRepo:
                     owner=self.owner,
                     repo=self.repo,
                     rev=rev,
-                    passthru=passthru)
+                    passthru=passthru,
+                    vendored_gems=VENDORED_GEMS)
 
 
 def _get_data_json():
@@ -139,15 +143,30 @@ def update_rubyenv():
     data = _get_data_json()
     rev = data['rev']
 
-    with open(rubyenv_dir / 'Gemfile.lock', 'w') as f:
-        f.write(repo.get_file('Gemfile.lock', rev))
+    gemfile = repo.get_file('Gemfile', rev)
+    gemfile_lock = repo.get_file('Gemfile.lock', rev)
+
     with open(rubyenv_dir / 'Gemfile', 'w') as f:
-        original = repo.get_file('Gemfile', rev)
-        f.write(re.sub(r".*mail-smtp_pool.*", "", original))
+        f.write(re.sub(f'.*({"|".join(VENDORED_GEMS)}).*', "", gemfile))
+
+    with open(rubyenv_dir / 'Gemfile.lock', 'w') as f:
+        f.write(gemfile_lock)
 
     subprocess.check_output(['bundle', 'lock'], cwd=rubyenv_dir)
     subprocess.check_output(['bundix'], cwd=rubyenv_dir)
 
+    with open(rubyenv_dir / 'Gemfile', 'w') as f:
+        for gem in VENDORED_GEMS:
+            gemfile = gemfile.replace(f'path: \'vendor/gems/{gem}\'', f'path: \'{gem}\'')
+
+        f.write(gemfile)
+
+    with open(rubyenv_dir / 'Gemfile.lock', 'w') as f:
+        for gem in VENDORED_GEMS:
+            gemfile_lock = gemfile_lock.replace(f'remote: vendor/gems/{gem}', f'remote: {gem}')
+
+        f.write(gemfile_lock)
+
 
 @cli.command('update-gitaly')
 def update_gitaly():
diff --git a/pkgs/applications/version-management/gogs/default.nix b/pkgs/applications/version-management/gogs/default.nix
index 91b33d0b1e0..0549169ed1b 100644
--- a/pkgs/applications/version-management/gogs/default.nix
+++ b/pkgs/applications/version-management/gogs/default.nix
@@ -8,13 +8,13 @@ with lib;
 
 buildGoModule rec {
   pname = "gogs";
-  version = "0.12.9";
+  version = "0.12.10";
 
   src = fetchFromGitHub {
     owner = "gogs";
     repo = "gogs";
     rev = "v${version}";
-    sha256 = "sha256-oXIA0JY7+pfXk5RnHWCJEkU9bL+ZIc2oXQrLwa1XHMg=";
+    sha256 = "sha256-EFGC94aIMW7AYJpgaHBT4W7BjXd+oijMqQPH40rIvlg=";
   };
 
   vendorSha256 = "sha256-5AnQ7zF2UK1HNoyr6gwFdVv+KMJEGkjKPpDEpUXckUg=";
diff --git a/pkgs/applications/version-management/jujutsu/default.nix b/pkgs/applications/version-management/jujutsu/default.nix
index c99bb409c3e..824a54456bb 100644
--- a/pkgs/applications/version-management/jujutsu/default.nix
+++ b/pkgs/applications/version-management/jujutsu/default.nix
@@ -15,16 +15,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "jujutsu";
-  version = "0.3.1";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "martinvonz";
     repo = "jj";
     rev = "v${version}";
-    sha256 = "sha256-BOT2pKcOSOha28fba62X+GgILcplhkMWhZo7Q0gGTQ8=";
+    sha256 = "sha256-G8Y8ooi3aX6v/Ied62eSfo6PvXbZtx455bF0wVkZN30=";
   };
 
-  cargoSha256 = "sha256-uvR+WXX2iIWFhcPYpOoOS1WBvOXuhTmgVVT2446c6XE=";
+  cargoSha256 = "sha256-7nWrwpv3xAffKiaUsnoA+h6ledjgG9tQeQ69WNl6e8o=";
 
   # Needed to get openssl-sys to use pkg-config.
   OPENSSL_NO_VENDOR = 1;
diff --git a/pkgs/applications/video/ffmpeg-normalize/default.nix b/pkgs/applications/video/ffmpeg-normalize/default.nix
index 6287f282019..606045d0b80 100644
--- a/pkgs/applications/video/ffmpeg-normalize/default.nix
+++ b/pkgs/applications/video/ffmpeg-normalize/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonApplication rec {
   pname = "ffmpeg-normalize";
-  version = "1.23.1";
+  version = "1.24.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-23s5mYwoIUiBs1MXGJVepycGj8e1xCuFAgim5NHKZRc=";
+    sha256 = "sha256-sQ8Qorf74ypMmpRd9b/wrqg28TZ295t6qkKosxyaG1I=";
   };
 
   propagatedBuildInputs = [ ffmpeg ffmpeg-progress-yield ];
diff --git a/pkgs/applications/video/freetube/default.nix b/pkgs/applications/video/freetube/default.nix
index 3ceda283d3d..b507c0d3194 100644
--- a/pkgs/applications/video/freetube/default.nix
+++ b/pkgs/applications/video/freetube/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "freetube";
-  version = "0.17.0";
+  version = "0.17.1";
 
   src = fetchurl {
     url = "https://github.com/FreeTubeApp/FreeTube/releases/download/v${version}-beta/freetube_${version}_amd64.AppImage";
-    sha256 = "sha256-OlWNln62VouUJzzk0CtED+OdSM+aBc4NOu1TSaKVWnk=";
+    sha256 = "1n5r1h2khjwdsckiviv8f2pflxibk8rs68fs08jak0kbm0kkyj18";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/video/gpac/default.nix b/pkgs/applications/video/gpac/default.nix
index 6fd7a2036c5..6390558013f 100644
--- a/pkgs/applications/video/gpac/default.nix
+++ b/pkgs/applications/video/gpac/default.nix
@@ -41,5 +41,14 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl21;
     maintainers = with maintainers; [ bluescreen303 mgdelacroix ];
     platforms = platforms.linux;
+    knownVulnerabilities = [
+      "CVE-2022-1035"
+      "CVE-2022-1172"
+      "CVE-2022-1222"
+      "CVE-2022-1795"
+      "CVE-2022-2453"
+      "CVE-2022-2454"
+      "CVE-2022-2549"
+    ];
   };
 }
diff --git a/pkgs/applications/video/hypnotix/default.nix b/pkgs/applications/video/hypnotix/default.nix
index ad149b947e4..a2da839347f 100644
--- a/pkgs/applications/video/hypnotix/default.nix
+++ b/pkgs/applications/video/hypnotix/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hypnotix";
-  version = "2.8";
+  version = "2.9";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "hypnotix";
     rev = version;
-    hash = "sha256-uj5Bn3K9SCKE4p1jylfQ8XnAwNnN4VXHLMLrwhKhzsk=";
+    hash = "sha256-jjCyO6lyhqH4xeNp5uy/KqNr5Mvv+45pJGHFOXNi0rk=";
   };
 
   patches = [
@@ -44,11 +44,11 @@ stdenv.mkDerivation rec {
   dontWrapGApps = true;
 
   buildInputs = [
-    cinnamon.xapps
+    cinnamon.xapp
   ];
 
   pythonPath = with python3.pkgs; [
-    imdbpy
+    cinemagoer
     pygobject3
     requests
     setproctitle
diff --git a/pkgs/applications/video/iina/default.nix b/pkgs/applications/video/iina/default.nix
index 3adb2a926d2..bb3fd9cd5e5 100644
--- a/pkgs/applications/video/iina/default.nix
+++ b/pkgs/applications/video/iina/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "iina";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchurl {
     url = "https://github.com/iina/iina/releases/download/v${version}/IINA.v${version}.dmg";
-    sha256 = "sha256-kbh+gAVfCXoct6jJGXnetTAzFfIGdVLL5zh/SL/EJzY=";
+    sha256 = "sha256-tQxBaCgAXh7sDcgGbJYe/MOJ5r4aWllVQepi1I0xo5E=";
   };
 
   nativeBuildInputs = [ undmg ];
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-gstreamer.nix b/pkgs/applications/video/obs-studio/plugins/obs-gstreamer.nix
index 20c49692b8d..014a7ef2fba 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-gstreamer.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-gstreamer.nix
@@ -10,22 +10,41 @@
 
 stdenv.mkDerivation rec {
   pname = "obs-gstreamer";
-  version = "0.3.3";
+  version = "0.3.4";
 
   src = fetchFromGitHub {
     owner = "fzwoch";
     repo = "obs-gstreamer";
     rev = "v${version}";
-    hash = "sha256-KhSBZcV2yILTf5+aNoYWDfNwPiJoyYPeIOQMDFvOusg=";
+    hash = "sha256-CDtWe4bx1M06nfqvVmIZaLQoKAsXFnG0Xy/mhiSbMgU=";
   };
 
   nativeBuildInputs = [ pkg-config meson ninja ];
   buildInputs = with gst_all_1; [ gstreamer gst-plugins-base obs-studio ];
 
+  # - We need "getLib" instead of default derivation, otherwise it brings gstreamer-bin;
+  # - without gst-plugins-base it won't even show proper errors in logs;
+  # - Without gst-plugins-bad it won't find element "h264parse";
+  # - gst-vaapi adds "VA-API" to "Encoder type";
+  # - gst-plugins-ugly adds "x264" to "Encoder type";
+  # Tip: "could not link appsrc to videoconvert1" can mean a lot of things, enable GST_DEBUG=2 for help.
+  passthru.obsWrapperArguments =
+    let
+      gstreamerHook = package: "--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : ${lib.getLib package}/lib/gstreamer-1.0";
+    in
+    with gst_all_1; builtins.map gstreamerHook [
+      gstreamer
+      gst-plugins-base
+      gst-plugins-bad
+
+      gst-plugins-ugly
+      gst-vaapi
+    ];
+
   meta = with lib; {
     description = "An OBS Studio source, encoder and video filter plugin to use GStreamer elements/pipelines in OBS Studio";
     homepage = "https://github.com/fzwoch/obs-gstreamer";
-    maintainers = with maintainers; [ ahuzik ];
+    maintainers = with maintainers; [ ahuzik pedrohlc ];
     license = licenses.gpl2Plus;
     platforms = [ "x86_64-linux" "i686-linux" ];
   };
diff --git a/pkgs/applications/video/obs-studio/wrapper.nix b/pkgs/applications/video/obs-studio/wrapper.nix
index 3871151bbb2..80880d9318d 100644
--- a/pkgs/applications/video/obs-studio/wrapper.nix
+++ b/pkgs/applications/video/obs-studio/wrapper.nix
@@ -1,4 +1,4 @@
-{ obs-studio, symlinkJoin, makeWrapper }:
+{ lib, obs-studio, symlinkJoin, makeWrapper }:
 
 { plugins ? [] }:
 
@@ -8,11 +8,19 @@ symlinkJoin {
   nativeBuildInputs = [ makeWrapper ];
   paths = [ obs-studio ] ++ plugins;
 
-  postBuild = ''
-    wrapProgram $out/bin/obs \
-      --set OBS_PLUGINS_PATH      "$out/lib/obs-plugins" \
-      --set OBS_PLUGINS_DATA_PATH "$out/share/obs/obs-plugins"
-  '';
+  postBuild = with lib;
+    let
+      # Some plugins needs extra environment, see obs-gstreamer for an example.
+      pluginArguments =
+        lists.concatMap (plugin: plugin.obsWrapperArguments or []) plugins;
+
+      wrapCommand = [
+          "wrapProgram"
+          "$out/bin/obs"
+          ''--set OBS_PLUGINS_PATH "$out/lib/obs-plugins"''
+          ''--set OBS_PLUGINS_DATA_PATH "$out/share/obs/obs-plugins"''
+        ] ++ pluginArguments;
+    in concatStringsSep " " wrapCommand;
 
   inherit (obs-studio) meta;
   passthru = obs-studio.passthru // {
diff --git a/pkgs/applications/video/olive-editor/default.nix b/pkgs/applications/video/olive-editor/default.nix
index c63011eebc0..c9e1c8343c2 100644
--- a/pkgs/applications/video/olive-editor/default.nix
+++ b/pkgs/applications/video/olive-editor/default.nix
@@ -1,8 +1,8 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, which, qmake, mkDerivation,
-  qtmultimedia, wrapQtAppsHook, frei0r, opencolorio_1, ffmpeg-full,
-  CoreFoundation }:
+{ lib, stdenv, fetchFromGitHub
+, pkg-config, which, qmake, wrapQtAppsHook
+, qtmultimedia, frei0r, opencolorio_1, ffmpeg-full, CoreFoundation }:
 
-mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "olive-editor";
   version = "0.1.2";
 
diff --git a/pkgs/applications/video/xplayer/default.nix b/pkgs/applications/video/xplayer/default.nix
index 9d6a5e18ad5..c75635b44b3 100644
--- a/pkgs/applications/video/xplayer/default.nix
+++ b/pkgs/applications/video/xplayer/default.nix
@@ -22,7 +22,7 @@
 , pkg-config
 , python3
 , wrapGAppsHook
-, xapps
+, xapp
 , yelp-tools }:
 
 let
@@ -34,13 +34,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "xplayer";
-  version = "2.4.2";
+  version = "2.4.4";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "sha256-qoBJKY0CZyhp9foUehq5hInEENRGZuy1D6jAMjbjYhA=";
+    sha256 = "sha256-o2vLNIELd1EYWG26t5gOpnamJrBJeg4P6fcLirkcmfM=";
   };
 
   # configure wants to find gst-inspect-1.0 via pkgconfig but
@@ -83,7 +83,7 @@ stdenv.mkDerivation rec {
     libxml2
     libxplayer-plparser
     pythonenv
-    xapps
+    xapp
     # to satisfy configure script
     pythonenv.pkgs.pygobject3
   ];
diff --git a/pkgs/applications/virtualization/containerd/default.nix b/pkgs/applications/virtualization/containerd/default.nix
index 8c4fbce8e1e..79797195e3b 100644
--- a/pkgs/applications/virtualization/containerd/default.nix
+++ b/pkgs/applications/virtualization/containerd/default.nix
@@ -10,13 +10,13 @@
 
 buildGoModule rec {
   pname = "containerd";
-  version = "1.6.6";
+  version = "1.6.8";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = "containerd";
     rev = "v${version}";
-    sha256 = "sha256-cmarbad6VzcGTCHT/NtApkYsK/oo6WZQ//q8Fvh+ez8=";
+    sha256 = "sha256-0UiPhkTWV61DnAF5kWd1FctX8i0sXaJ1p/xCMznY/A8=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/virtualization/cri-o/default.nix b/pkgs/applications/virtualization/cri-o/default.nix
index b234354f9fc..0e1081ca112 100644
--- a/pkgs/applications/virtualization/cri-o/default.nix
+++ b/pkgs/applications/virtualization/cri-o/default.nix
@@ -15,13 +15,13 @@
 
 buildGoModule rec {
   pname = "cri-o";
-  version = "1.24.1";
+  version = "1.24.2";
 
   src = fetchFromGitHub {
     owner = "cri-o";
     repo = "cri-o";
     rev = "v${version}";
-    sha256 = "sha256-/AoZKeUcYF1fyYtllXpB7GNWR/6SWEOy2ffDLYbTp9E=";
+    sha256 = "sha256-7nQI6zaWSWML2suPn1A+RJZ0iPJu6JD/4ion5zxlnJ8=";
   };
   vendorSha256 = null;
 
diff --git a/pkgs/applications/virtualization/crosvm/default.nix b/pkgs/applications/virtualization/crosvm/default.nix
index 8309b856936..2e74fda9e2c 100644
--- a/pkgs/applications/virtualization/crosvm/default.nix
+++ b/pkgs/applications/virtualization/crosvm/default.nix
@@ -1,68 +1,64 @@
 { stdenv, lib, rustPlatform, fetchgit
-, pkg-config, wayland-scanner
+, minijail-tools, pkg-config, wayland-scanner
 , libcap, libdrm, libepoxy, minijail, virglrenderer, wayland, wayland-protocols
-, linux
 }:
 
-let
+rustPlatform.buildRustPackage rec {
+  pname = "crosvm";
+  version = "103.3";
 
-  upstreamInfo = with builtins; fromJSON (readFile ./upstream-info.json);
+  src = fetchgit {
+    url = "https://chromium.googlesource.com/crosvm/crosvm";
+    rev = "e7db3a5cc78ca90ab06aadd5f08bb151090269b6";
+    sha256 = "0hyz0mg5fn6hi97awfpxfykgv68m935r037sdf85v3vcwjy5n5ki";
+    fetchSubmodules = true;
+  };
 
-  arch = with stdenv.hostPlatform;
-    if isAarch64 then "aarch64"
-    else if isx86_64 then "x86_64"
-    else throw "no seccomp policy files available for host platform";
+  separateDebugInfo = true;
 
-in
+  patches = [
+    ./default-seccomp-policy-dir.diff
+  ];
 
-  rustPlatform.buildRustPackage rec {
-    pname = "crosvm";
-    inherit (upstreamInfo) version;
+  cargoLock.lockFile = ./Cargo.lock;
 
-    src = fetchgit (builtins.removeAttrs upstreamInfo.src [ "date" "path" ]);
+  nativeBuildInputs = [ minijail-tools pkg-config wayland-scanner ];
 
-    separateDebugInfo = true;
+  buildInputs = [
+    libcap libdrm libepoxy minijail virglrenderer wayland wayland-protocols
+  ];
 
-    patches = [
-      ./default-seccomp-policy-dir.diff
-    ];
+  arch = stdenv.hostPlatform.parsed.cpu.name;
 
-    cargoLock.lockFile = ./Cargo.lock;
+  postPatch = ''
+    cp ${cargoLock.lockFile} Cargo.lock
+    sed -i "s|/usr/share/policy/crosvm/|$PWD/seccomp/$arch/|g" \
+        seccomp/$arch/*.policy
+  '';
 
-    nativeBuildInputs = [ pkg-config wayland-scanner ];
+  preBuild = ''
+    export DEFAULT_SECCOMP_POLICY_DIR=$out/share/policy
 
-    buildInputs = [
-      libcap libdrm libepoxy minijail virglrenderer wayland wayland-protocols
-    ];
+    for policy in seccomp/$arch/*.policy; do
+        compile_seccomp_policy \
+            --default-action trap $policy ''${policy%.policy}.bpf
+    done
+  '';
 
-    postPatch = ''
-      cp ${./Cargo.lock} Cargo.lock
-      sed -i "s|/usr/share/policy/crosvm/|$out/share/policy/|g" \
-             seccomp/*/*.policy
-    '';
+  buildFeatures = [ "default" "virgl_renderer" "virgl_renderer_next" ];
 
-    preBuild = ''
-      export DEFAULT_SECCOMP_POLICY_DIR=$out/share/policy
-    '';
+  postInstall = ''
+    mkdir -p $out/share/policy/
+    cp -v seccomp/$arch/*.bpf $out/share/policy/
+  '';
 
-    buildFeatures = [ "default" "virgl_renderer" "virgl_renderer_next" ];
+  passthru.updateScript = ./update.py;
 
-    postInstall = ''
-      mkdir -p $out/share/policy/
-      cp seccomp/${arch}/* $out/share/policy/
-    '';
-
-    CROSVM_CARGO_TEST_KERNEL_BINARY =
-      lib.optionalString (stdenv.buildPlatform == stdenv.hostPlatform)
-        "${linux}/${stdenv.hostPlatform.linux-kernel.target}";
-
-    passthru.updateScript = ./update.py;
-
-    meta = with lib; {
-      description = "A secure virtual machine monitor for KVM";
-      homepage = "https://chromium.googlesource.com/crosvm/crosvm/";
-      maintainers = with maintainers; [ qyliss ];
-      license = licenses.bsd3;
-      platforms = [ "aarch64-linux" "x86_64-linux" ];
-    };
-  }
+  meta = with lib; {
+    description = "A secure virtual machine monitor for KVM";
+    homepage = "https://chromium.googlesource.com/crosvm/crosvm/";
+    maintainers = with maintainers; [ qyliss ];
+    license = licenses.bsd3;
+    platforms = [ "aarch64-linux" "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/virtualization/crosvm/update.py b/pkgs/applications/virtualization/crosvm/update.py
index 825b7b0bb23..d912c49078c 100755
--- a/pkgs/applications/virtualization/crosvm/update.py
+++ b/pkgs/applications/virtualization/crosvm/update.py
@@ -1,5 +1,5 @@
 #! /usr/bin/env nix-shell
-#! nix-shell -p nix-prefetch-git python3
+#! nix-shell -p common-updater-scripts python3
 #! nix-shell -i python
 
 import csv
@@ -36,33 +36,27 @@ chrome_major_version = chrome_version[0]
 chromeos_tip_build = platform_version[0]
 release_branch = f'release-R{chrome_major_version}-{chromeos_tip_build}.B-chromeos'
 
+# Determine the git revision.
+with urlopen(f'https://chromium.googlesource.com/chromiumos/platform/crosvm/+/refs/heads/{release_branch}?format=JSON') as resp:
+    resp.readline() # Remove )]}' header
+    rev = json.load(resp)['commit']
+
 # Determine the patch version by counting the commits that have been
 # added to the release branch since it forked off the chromeos branch.
-with urlopen(f'https://chromium.googlesource.com/chromiumos/platform/crosvm/+log/refs/heads/chromeos..refs/heads/{release_branch}?format=JSON') as resp:
+with urlopen(f'https://chromium.googlesource.com/chromiumos/platform/crosvm/+log/refs/heads/chromeos..{rev}?format=JSON') as resp:
     resp.readline() # Remove )]}' header
     branch_commits = json.load(resp)['log']
-    data = {'version': f'{chrome_major_version}.{len(branch_commits)}'}
+    version = f'{chrome_major_version}.{len(branch_commits)}'
 
-# Fill in the 'src' key with the output from nix-prefetch-git, which
-# can be passed straight to fetchGit when imported by Nix.
-argv = ['nix-prefetch-git',
-        '--fetch-submodules',
-        '--url', 'https://chromium.googlesource.com/crosvm/crosvm',
-        '--rev', f'refs/heads/{release_branch}']
-output = subprocess.check_output(argv)
-data['src'] = json.loads(output.decode('utf-8'))
+# Update the version, git revision, and hash in crosvm's default.nix.
+subprocess.run(['update-source-version', 'crosvm', f'--rev={rev}', version])
 
-# Find the path to crosvm's default.nix, so the src data can be
-# written into the same directory.
+# Find the path to crosvm's default.nix, so Cargo.lock can be written
+# into the same directory.
 argv = ['nix-instantiate', '--eval', '--json', '-A', 'crosvm.meta.position']
 position = json.loads(subprocess.check_output(argv).decode('utf-8'))
 filename = re.match(r'[^:]*', position)[0]
 
-# Write the output.
-with open(dirname(filename) + '/upstream-info.json', 'w') as out:
-    json.dump(data, out, indent=2)
-    out.write('\n')
-
 # Generate a Cargo.lock
 run = ['.',
        dirname(abspath(__file__)) + '/generate-cargo.sh',
diff --git a/pkgs/applications/virtualization/crosvm/upstream-info.json b/pkgs/applications/virtualization/crosvm/upstream-info.json
deleted file mode 100644
index 8472e854e59..00000000000
--- a/pkgs/applications/virtualization/crosvm/upstream-info.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-  "version": "103.3",
-  "src": {
-    "url": "https://chromium.googlesource.com/crosvm/crosvm",
-    "rev": "e7db3a5cc78ca90ab06aadd5f08bb151090269b6",
-    "date": "2022-06-01T00:13:12+00:00",
-    "path": "/nix/store/r08jyffmjdq38f8yy57v8wgfjiil6586-crosvm",
-    "sha256": "0hyz0mg5fn6hi97awfpxfykgv68m935r037sdf85v3vcwjy5n5ki",
-    "fetchLFS": false,
-    "fetchSubmodules": true,
-    "deepClone": false,
-    "leaveDotGit": false
-  }
-}
diff --git a/pkgs/applications/virtualization/docker/buildx.nix b/pkgs/applications/virtualization/docker/buildx.nix
index e98eb404b9c..b9d5a3e9275 100644
--- a/pkgs/applications/virtualization/docker/buildx.nix
+++ b/pkgs/applications/virtualization/docker/buildx.nix
@@ -13,6 +13,12 @@ buildGoModule rec {
 
   vendorSha256 = null;
 
+  ldflags = [
+    "-w" "-s"
+    "-X github.com/docker/buildx/version.Package=github.com/docker/buildx"
+    "-X github.com/docker/buildx/version.Version=v${version}"
+  ];
+
   installPhase = ''
     install -D $GOPATH/bin/buildx $out/libexec/docker/cli-plugins/docker-buildx
   '';
diff --git a/pkgs/applications/virtualization/lima/default.nix b/pkgs/applications/virtualization/lima/default.nix
index f5de8aaf534..dc9521be298 100644
--- a/pkgs/applications/virtualization/lima/default.nix
+++ b/pkgs/applications/virtualization/lima/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "lima";
-  version = "0.11.2";
+  version = "0.11.3";
 
   src = fetchFromGitHub {
     owner = "lima-vm";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-DN8YXbpD7TVVPvl8LKAwLHKt50G37cu8dJBqF+DDE6g=";
+    sha256 = "sha256-sSmadO7iKkJb/kd9rnH34/DyAHqdNtbvGDt9xkK4t8E=";
   };
 
-  vendorSha256 = "sha256-lrJVnWd94nELROP5VYI+Qs8cK5U9PYiZo9j9cusb9cY=";
+  vendorSha256 = "sha256-pe6AaO3vTbix+b21GqEICxdej8mbXXpzNrF4eKbEnSE=";
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
diff --git a/pkgs/applications/virtualization/nixpacks/default.nix b/pkgs/applications/virtualization/nixpacks/default.nix
index 68d74d0710a..22a8b963733 100644
--- a/pkgs/applications/virtualization/nixpacks/default.nix
+++ b/pkgs/applications/virtualization/nixpacks/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nixpacks";
-  version = "0.2.11";
+  version = "0.2.13";
 
   src = fetchFromGitHub {
     owner = "railwayapp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-DRYAVwNrNnMB5e1HQz3gmKcM9O7qWquGVsvWQHkCdhw=";
+    sha256 = "sha256-ZI29kcGteyJWUfCC/DR92YqzfuVYqDx7FtedehVp+vs=";
   };
 
-  cargoSha256 = "sha256-+T8bnUeuzHcHEADZyxvjVuRlEoqMm8T2L9L5hqhNJKU=";
+  cargoSha256 = "sha256-Njvf5+i54TLbcWtWiNefEWudtGsSjw+DJh+FP6OuLek=";
 
   # skip test due FHS dependency
   doCheck = false;
diff --git a/pkgs/applications/virtualization/podman/default.nix b/pkgs/applications/virtualization/podman/default.nix
index 370c37ffec2..1e1263755b7 100644
--- a/pkgs/applications/virtualization/podman/default.nix
+++ b/pkgs/applications/virtualization/podman/default.nix
@@ -17,13 +17,13 @@
 
 buildGoModule rec {
   pname = "podman";
-  version = "4.1.1";
+  version = "4.2.0";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "podman";
     rev = "v${version}";
-    sha256 = "sha256-+lwq4WTPeELjugTg9l1wvoe0VTqRK2lC1jaFIwXMrL0=";
+    sha256 = "sha256-crlOF8FoLlDulJJ8t8M1kk6JhSZdJU1VtR+G0O6VngM=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index c3aa3c49553..bb20f2a7384 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
 
-  nativeBuildInputs = [ makeWrapper removeReferencesTo pkg-config flex bison meson ninja perl python3 python3Packages.sphinx python3Packages.sphinx_rtd_theme ]
+  nativeBuildInputs = [ makeWrapper removeReferencesTo pkg-config flex bison meson ninja perl python3 python3Packages.sphinx python3Packages.sphinx-rtd-theme ]
     ++ lib.optionals gtkSupport [ wrapGAppsHook ]
     ++ lib.optionals stdenv.isDarwin [ sigtool ];
 
@@ -133,18 +133,6 @@ stdenv.mkDerivation rec {
     # Otherwise tries to ensure /var/run exists.
     sed -i "/install_subdir('run', install_dir: get_option('localstatedir'))/d" \
         qga/meson.build
-
-    # glibc 2.33 compat fix: if `has_statx = true` is set, `tools/virtiofsd/passthrough_ll.c` will
-    # rely on `stx_mnt_id`[1] which is not part of glibc's `statx`-struct definition.
-    #
-    # `has_statx` will be set to `true` if a simple C program which uses a few `statx`
-    # consts & struct fields successfully compiles. It seems as this only builds on glibc-2.33
-    # since most likely[2] and because of that, the problematic code-path will be used.
-    #
-    # [1] https://github.com/torvalds/linux/commit/fa2fcf4f1df1559a0a4ee0f46915b496cc2ebf60#diff-64bab5a0a3fcb55e1a6ad77b1dfab89d2c9c71a770a07ecf44e6b82aae76a03a
-    # [2] https://sourceware.org/git/?p=glibc.git;a=blobdiff;f=io/bits/statx-generic.h;h=c34697e3c1fd79cddd60db294302e461ed8db6e2;hp=7a09e94be2abb92d2df612090c132e686a24d764;hb=88a2cf6c4bab6e94a65e9c0db8813709372e9180;hpb=c4e4b2e149705559d28b16a9b47ba2f6142d6a6c
-    substituteInPlace meson.build \
-      --replace 'has_statx = cc.links(statx_test)' 'has_statx = false'
   '';
 
   preConfigure = ''
diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix
index 272e10318ef..65bd4bcecb4 100644
--- a/pkgs/applications/virtualization/virt-manager/default.nix
+++ b/pkgs/applications/virtualization/virt-manager/default.nix
@@ -64,6 +64,10 @@ python3.pkgs.buildPythonApplication rec {
     gappsWrapperArgs+=(--prefix PATH : "${lib.makeBinPath [ cpio e2fsprogs file findutils gzip ]}")
 
     makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+
+    # Fixes testCLI0051virt_install_initrd_inject on Darwin: "cpio: root:root: invalid group"
+    substituteInPlace virtinst/install/installerinject.py \
+      --replace "'--owner=root:root'" "'--owner=0:0'"
   '';
 
   checkInputs = with python3.pkgs; [
@@ -95,8 +99,7 @@ python3.pkgs.buildPythonApplication rec {
       manages Xen and LXC (linux containers).
     '';
     license = licenses.gpl2;
-    # exclude Darwin since libvirt-glib currently doesn't build there
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ qknight offline fpletz globin ];
   };
 }
diff --git a/pkgs/applications/virtualization/virt-what/default.nix b/pkgs/applications/virtualization/virt-what/default.nix
index ead44c40f9c..a9f4a7e58c6 100644
--- a/pkgs/applications/virtualization/virt-what/default.nix
+++ b/pkgs/applications/virtualization/virt-what/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "virt-what";
-  version = "1.21";
+  version = "1.24";
 
   src = fetchurl {
     url = "https://people.redhat.com/~rjones/virt-what/files/${pname}-${version}.tar.gz";
-    sha256 = "0yqz1l4di57d4y1z94yhdmkiykg9a8i7xwkqmd9zsk5a6i9lbjqj";
+    sha256 = "sha256-C9fllw/y1SwJKIEa4mgnlYQjF/7L5VN0z84EI88uS9Y=";
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/window-managers/fvwm/2.6.nix b/pkgs/applications/window-managers/fvwm/2.6.nix
index 2cecb81ea04..44dde60ac05 100644
--- a/pkgs/applications/window-managers/fvwm/2.6.nix
+++ b/pkgs/applications/window-managers/fvwm/2.6.nix
@@ -17,6 +17,7 @@
 , libxslt
 , perl
 , pkg-config
+, python3Packages
 , readline
 , enableGestures ? false
 }:
@@ -32,7 +33,11 @@ stdenv.mkDerivation rec {
     hash = "sha256-sBVOrrl2WrZ2wWN/r1kDUtR+tPwXgDoSJDaxGeFkXJI=";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkg-config ];
+  nativeBuildInputs = [
+    autoreconfHook
+    pkg-config
+    python3Packages.wrapPython
+  ];
 
   buildInputs = [
     cairo
@@ -48,14 +53,25 @@ stdenv.mkDerivation rec {
     librsvg
     libxslt
     perl
+    python3Packages.python
     readline
   ] ++ lib.optional enableGestures libstroke;
 
+  pythonPath = [
+    python3Packages.pyxdg
+  ];
+
   configureFlags = [
     "--enable-mandoc"
     "--disable-htmldoc"
   ];
 
+  postFixup = ''
+    wrapPythonPrograms
+  '';
+
+  enableParallelBuilding = true;
+
   meta = with lib; {
     homepage = "http://fvwm.org";
     description = "A multiple large virtual desktop window manager";
diff --git a/pkgs/applications/window-managers/fvwm/3.nix b/pkgs/applications/window-managers/fvwm/3.nix
index f3862f9ac0d..e68f93bf836 100644
--- a/pkgs/applications/window-managers/fvwm/3.nix
+++ b/pkgs/applications/window-managers/fvwm/3.nix
@@ -25,7 +25,7 @@
 , libxslt
 , perl
 , pkg-config
-, python3
+, python3Packages
 , readline
 , sharutils
 }:
@@ -45,6 +45,7 @@ stdenv.mkDerivation (finalAttrs: {
     autoreconfHook
     asciidoctor
     pkg-config
+    python3Packages.wrapPython
   ];
 
   buildInputs = [
@@ -69,15 +70,25 @@ stdenv.mkDerivation (finalAttrs: {
     libstroke
     libxslt
     perl
-    python3
+    python3Packages.python
     readline
     sharutils
   ];
 
+  pythonPath = [
+    python3Packages.pyxdg
+  ];
+
   configureFlags = [
     "--enable-mandoc"
   ];
 
+  postFixup = ''
+    wrapPythonPrograms
+  '';
+
+  enableParallelBuilding = true;
+
   meta = with lib; {
     homepage = "http://fvwm.org";
     description = "A multiple large virtual desktop window manager - Version 3";
diff --git a/pkgs/applications/window-managers/gamescope/default.nix b/pkgs/applications/window-managers/gamescope/default.nix
new file mode 100644
index 00000000000..2d271893b84
--- /dev/null
+++ b/pkgs/applications/window-managers/gamescope/default.nix
@@ -0,0 +1,91 @@
+{ stdenv
+, fetchFromGitHub
+, meson
+, pkg-config
+, ninja
+, xorg
+, libdrm
+, vulkan-loader
+, wayland
+, wayland-protocols
+, libxkbcommon
+, libcap
+, SDL2
+, pipewire
+, udev
+, pixman
+, libinput
+, libseat
+, xwayland
+, glslang
+, stb
+, wlroots
+, libliftoff
+, lib
+, makeBinaryWrapper
+}:
+let
+  pname = "gamescope";
+  version = "3.11.33-jupiter-3.3-2";
+in
+stdenv.mkDerivation {
+  inherit pname version;
+
+  src = fetchFromGitHub {
+    owner = "Plagman";
+    repo = "gamescope";
+    rev = "refs/tags/${version}";
+    hash = "sha256-6/gTsQGZDQPCdmXe5EI9QcT/MkdTf6odsI2/+g/W7Qc=";
+  };
+
+  patches = [ ./use-pkgconfig.patch ];
+
+  nativeBuildInputs = [
+    meson
+    pkg-config
+    ninja
+    makeBinaryWrapper
+  ];
+
+  buildInputs = [
+    xorg.libXdamage
+    xorg.libXcomposite
+    xorg.libXrender
+    xorg.libXext
+    xorg.libXxf86vm
+    xorg.libXtst
+    xorg.libXres
+    xorg.libXi
+    libdrm
+    libliftoff
+    vulkan-loader
+    glslang
+    SDL2
+    wayland
+    wayland-protocols
+    wlroots
+    xwayland
+    libseat
+    libinput
+    libxkbcommon
+    udev
+    pixman
+    pipewire
+    libcap
+    stb
+  ];
+
+  # --debug-layers flag expects these in the path
+  postInstall = ''
+    wrapProgram "$out/bin/gamescope" \
+     --prefix PATH : ${with xorg; lib.makeBinPath [xprop xwininfo]}
+  '';
+
+  meta = with lib; {
+    description = "SteamOS session compositing window manager";
+    homepage = "https://github.com/Plagman/gamescope";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ nrdxp ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/window-managers/gamescope/use-pkgconfig.patch b/pkgs/applications/window-managers/gamescope/use-pkgconfig.patch
new file mode 100644
index 00000000000..29345952433
--- /dev/null
+++ b/pkgs/applications/window-managers/gamescope/use-pkgconfig.patch
@@ -0,0 +1,11 @@
+diff --git a/meson.build b/meson.build
+index 1311784..77043ac 100644
+--- a/meson.build
++++ b/meson.build
+@@ -6,7 +6,6 @@ project(
+   default_options: [
+     'cpp_std=c++14',
+     'warning_level=2',
+-    'force_fallback_for=wlroots,libliftoff',
+   ],
+ )
diff --git a/pkgs/applications/window-managers/hackedbox/default.nix b/pkgs/applications/window-managers/hackedbox/default.nix
new file mode 100644
index 00000000000..0f608b83a70
--- /dev/null
+++ b/pkgs/applications/window-managers/hackedbox/default.nix
@@ -0,0 +1,61 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, freetype
+, fribidi
+, imlib2
+, libX11
+, libXext
+, libXft
+, libXinerama
+, libXpm
+, libXrandr
+, libXrender
+, pkg-config
+, xorgproto
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "hackedbox";
+  version = "0.8.5.1";
+
+  src = fetchFromGitHub {
+    owner = "museoa";
+    repo = "hackedbox";
+    rev = finalAttrs.version;
+    hash = "sha256-hxfbEj7UxQ19xhetmdi0iyK6ceLUfUvAAyyTbNivlLQ=";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+    pkg-config
+  ];
+
+  buildInputs = [
+    freetype
+    fribidi
+    imlib2
+    libX11
+    libXext
+    libXft
+    libXinerama
+    libXpm
+    libXrandr
+    libXrender
+    xorgproto
+  ];
+
+  configureFlags = [
+    "--x-includes=${libX11.dev}/include"
+    "--x-libraries=${libX11.out}/lib"
+  ];
+
+  meta = with lib; {
+    description = "A bastard hacked offspring of Blackbox";
+    homepage = "http://github.com/museoa/hackedbox/";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    inherit (libX11.meta) platforms;
+  };
+})
diff --git a/pkgs/applications/window-managers/phosh/default.nix b/pkgs/applications/window-managers/phosh/default.nix
index 6a37809bb5f..11a5c9b56ca 100644
--- a/pkgs/applications/window-managers/phosh/default.nix
+++ b/pkgs/applications/window-managers/phosh/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitLab
+, fetchpatch
 , meson
 , ninja
 , pkg-config
@@ -84,6 +85,19 @@ stdenv.mkDerivation rec {
 
   mesonFlags = [ "-Dsystemd=true" "-Dcompositor=${phoc}/bin/phoc" ];
 
+  patches = [
+    # build: Adjust to polkit version changes
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/World/Phosh/phosh/-/commit/16b46e295b86cbf1beaccf8218cf65ebb4b7a6f1.patch";
+      sha256 = "sha256-Db1OEdiI1QBHGEBs1Coi7LTF9bCScdDgxmovpBdIY/g=";
+    })
+    # polkit-auth-agent: Scope cleanup function for PolkitAgentListener
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/World/Phosh/phosh/-/commit/b864653df50bfd8f34766fc6b37a3bf32cfbdfa4.patch";
+      sha256 = "sha256-YCw3tGk94NAa6PPTmA1lCJVzzi9GC74BmvtTcvuHPh0=";
+    })
+  ];
+
   postPatch = ''
     chmod +x build-aux/post_install.py
     patchShebangs build-aux/post_install.py
@@ -113,7 +127,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     providedSessions = [
-     "sm.puri.Phosh"
+      "sm.puri.Phosh"
     ];
   };
 
diff --git a/pkgs/applications/window-managers/sommelier/default.nix b/pkgs/applications/window-managers/sommelier/default.nix
new file mode 100644
index 00000000000..0528553b189
--- /dev/null
+++ b/pkgs/applications/window-managers/sommelier/default.nix
@@ -0,0 +1,35 @@
+{ lib, stdenv, fetchzip, meson, ninja, pkg-config, wayland-scanner
+, libxkbcommon, mesa, pixman, xorg, wayland, gtest
+}:
+
+stdenv.mkDerivation {
+  pname = "sommelier";
+  version = "104.0";
+
+  src = fetchzip rec {
+    url = "https://chromium.googlesource.com/chromiumos/platform2/+archive/${passthru.rev}/vm_tools/sommelier.tar.gz";
+    passthru.rev = "af5434fd9903936a534e1316cbd22361e67949ec";
+    stripRoot = false;
+    sha256 = "LungQqHQorHIKpye2SDBLuMHPt45C1cPYcs9o5Hc3cw=";
+  };
+
+  nativeBuildInputs = [ meson ninja pkg-config wayland-scanner ];
+  buildInputs = [ libxkbcommon mesa pixman wayland xorg.libxcb ];
+
+  doCheck = true;
+  checkInputs = [ gtest ];
+
+  postInstall = ''
+    rm $out/bin/sommelier_test # why does it install the test binary? o_O
+  '';
+
+  passthru.updateScript = ./update.py;
+
+  meta = with lib; {
+    homepage = "https://chromium.googlesource.com/chromiumos/platform2/+/refs/heads/main/vm_tools/sommelier/";
+    description = "Nested Wayland compositor with support for X11 forwarding";
+    maintainers = with maintainers; [ qyliss ];
+    license = licenses.bsd3;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/window-managers/sommelier/update.py b/pkgs/applications/window-managers/sommelier/update.py
new file mode 100755
index 00000000000..03898c9ccdd
--- /dev/null
+++ b/pkgs/applications/window-managers/sommelier/update.py
@@ -0,0 +1,58 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -p common-updater-scripts python3
+#! nix-shell -i python
+
+import csv
+import json
+import re
+import shlex
+import subprocess
+from os.path import abspath, dirname, splitext
+from urllib.request import urlopen
+
+# CrOS version numbers look like this:
+# [<chrome-major-version>.]<tip-build>.<branch-build>.<branch-branch-build>
+#
+# As far as I can tell, branches are where internal Google
+# modifications are added to turn Chromium OS into Chrome OS, and
+# branch branches are used for fixes for specific devices.  So for
+# Chromium OS they will always be 0.  This is a best guess, and is not
+# documented.
+with urlopen('https://chromiumdash.appspot.com/cros/download_serving_builds_csv?deviceCategory=ChromeOS') as resp:
+    reader = csv.reader(map(bytes.decode, resp))
+    header = reader.__next__()
+    cr_stable_index = header.index('cr_stable')
+    cros_stable_index = header.index('cros_stable')
+    chrome_version = []
+    platform_version = []
+
+    for line in reader:
+        this_chrome_version = list(map(int, line[cr_stable_index].split('.')))
+        this_platform_version = list(map(int, line[cros_stable_index].split('.')))
+        chrome_version = max(chrome_version, this_chrome_version)
+        platform_version = max(platform_version, this_platform_version)
+
+chrome_major_version = chrome_version[0]
+chromeos_tip_build = platform_version[0]
+release_branch = f'release-R{chrome_major_version}-{chromeos_tip_build}.B'
+
+# Determine the git revision.
+with urlopen(f'https://chromium.googlesource.com/chromiumos/platform2/+/refs/heads/{release_branch}?format=JSON') as resp:
+    resp.readline() # Remove )]}' header
+    rev = json.load(resp)['commit']
+
+# Determine the patch version by counting the commits that have been
+# added to the release branch since it forked off the chromeos branch.
+with urlopen(f'https://chromium.googlesource.com/chromiumos/platform2/+log/refs/heads/main..{rev}/vm_tools/sommelier?format=JSON') as resp:
+    resp.readline() # Remove )]}' header
+    branch_commits = json.load(resp)['log']
+    version = f'{chrome_major_version}.{len(branch_commits)}'
+
+# Update the version, git revision, and hash in sommelier's default.nix.
+subprocess.run(['update-source-version', 'sommelier', f'--rev={rev}', version])
+
+# Find the path to sommelier's default.nix, so Cargo.lock can be written
+# into the same directory.
+argv = ['nix-instantiate', '--eval', '--json', '-A', 'sommelier.meta.position']
+position = json.loads(subprocess.check_output(argv).decode('utf-8'))
+filename = re.match(r'[^:]*', position)[0]
diff --git a/pkgs/applications/window-managers/xmonad/wrapper.nix b/pkgs/applications/window-managers/xmonad/wrapper.nix
index 409bf73c893..9167b95ddff 100644
--- a/pkgs/applications/window-managers/xmonad/wrapper.nix
+++ b/pkgs/applications/window-managers/xmonad/wrapper.nix
@@ -11,7 +11,7 @@ in stdenv.mkDerivation {
   buildCommand = ''
     install -D ${xmonadEnv}/share/man/man1/xmonad.1.gz $out/share/man/man1/xmonad.1.gz
     makeWrapper ${xmonadEnv}/bin/xmonad $out/bin/xmonad \
-      --set NIX_GHC "${xmonadEnv}/bin/ghc" \
+      --set XMONAD_GHC "${xmonadEnv}/bin/ghc" \
       --set XMONAD_XMESSAGE "${xmessage}/bin/xmessage"
   '';
 
diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix
index 07e79d077db..cdd07d6b2ef 100644
--- a/pkgs/build-support/bintools-wrapper/default.nix
+++ b/pkgs/build-support/bintools-wrapper/default.nix
@@ -165,11 +165,13 @@ stdenv.mkDerivation {
       wrap ld-solaris ${./ld-solaris-wrapper.sh}
     '')
 
-    # Create a symlink to as (the assembler).
+    # Create symlinks for rest of the binaries.
     + ''
-      if [ -e $ldPath/${targetPrefix}as ]; then
-        ln -s $ldPath/${targetPrefix}as $out/bin/${targetPrefix}as
-      fi
+      for binary in objdump objcopy size strings as ar nm gprof dwp c++filt addr2line ranlib readelf elfedit; do
+        if [ -e $ldPath/${targetPrefix}''${binary} ]; then
+          ln -s $ldPath/${targetPrefix}''${binary} $out/bin/${targetPrefix}''${binary}
+        fi
+      done
 
     '' + (if !useMacosReexportHack then ''
       wrap ${targetPrefix}ld ${./ld-wrapper.sh} ''${ld:-$ldPath/${targetPrefix}ld}
diff --git a/pkgs/build-support/bintools-wrapper/ld-wrapper.sh b/pkgs/build-support/bintools-wrapper/ld-wrapper.sh
index f8bddabbc68..86a74160220 100644
--- a/pkgs/build-support/bintools-wrapper/ld-wrapper.sh
+++ b/pkgs/build-support/bintools-wrapper/ld-wrapper.sh
@@ -50,6 +50,11 @@ if [[ "${NIX_ENFORCE_PURITY:-}" = 1 && -n "${NIX_STORE:-}"
             n+=1; skip "$p2"
         elif [ "$p" = -dynamic-linker ] && badPath "$p2"; then
             n+=1; skip "$p2"
+        elif [ "$p" = -syslibroot ] && [ $p2 == // ]; then
+            # When gcc is built on darwin --with-build-sysroot=/
+            # produces '-syslibroot //' linker flag. It's a no-op,
+            # which does not introduce impurities.
+            n+=1; skip "$p2"
         elif [ "${p:0:1}" = / ] && badPath "$p"; then
             # We cannot skip this; barf.
             echo "impure path \`$p' used in link" >&2
diff --git a/pkgs/build-support/build-fhs-userenv-bubblewrap/default.nix b/pkgs/build-support/build-fhs-userenv-bubblewrap/default.nix
index e44519a0404..f66ad38f7b8 100644
--- a/pkgs/build-support/build-fhs-userenv-bubblewrap/default.nix
+++ b/pkgs/build-support/build-fhs-userenv-bubblewrap/default.nix
@@ -88,6 +88,8 @@ let
     /lib32
     /usr/lib/i386-linux-gnu
     /usr/lib32
+    /run/opengl-driver/lib
+    /run/opengl-driver-32/lib
     EOF
     ldconfig &> /dev/null
   '';
diff --git a/pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix b/pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix
index 945b9287ed0..925dfc8bfbe 100644
--- a/pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix
+++ b/pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix
@@ -50,7 +50,8 @@ let
     ];
 
   ldconfig = writeShellScriptBin "ldconfig" ''
-    exec ${pkgs.glibc.bin}/bin/ldconfig -f /etc/ld.so.conf -C /etc/ld.so.cache "$@"
+    # due to a glibc bug, 64-bit ldconfig complains about patchelf'd 32-bit libraries, so we're using 32-bit ldconfig
+    exec ${pkgsi686Linux.glibc.bin}/bin/ldconfig -f /etc/ld.so.conf -C /etc/ld.so.cache "$@"
   '';
   etcProfile = writeText "profile" ''
     export PS1='${name}-chrootenv:\u@\h:\w\$ '
diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix
index d74d0490b40..047cdf6a491 100644
--- a/pkgs/build-support/cc-wrapper/default.nix
+++ b/pkgs/build-support/cc-wrapper/default.nix
@@ -249,12 +249,19 @@ stdenv.mkDerivation {
       wrap ${targetPrefix}gdc $wrapper $ccPath/${targetPrefix}gdc
     ''
 
-    + optionalString cc.langFortran or false ''
+    + optionalString cc.langFortran or false (''
       wrap ${targetPrefix}gfortran $wrapper $ccPath/${targetPrefix}gfortran
       ln -sv ${targetPrefix}gfortran $out/bin/${targetPrefix}g77
       ln -sv ${targetPrefix}gfortran $out/bin/${targetPrefix}f77
       export named_fc=${targetPrefix}gfortran
     ''
+    # Darwin aarch64 fortran compilations seem to fail otherwise, see:
+    # https://github.com/NixOS/nixpkgs/issues/140041
+    + (if (stdenvNoCC.isDarwin && stdenvNoCC.isAarch64) then ''
+      export fortran_hardening="pic strictoverflow relro bindnow"
+    '' else ''
+      export fortran_hardening="pic strictoverflow relro bindnow stackprotector"
+    ''))
 
     + optionalString cc.langJava or false ''
       wrap ${targetPrefix}gcj $wrapper $ccPath/${targetPrefix}gcj
@@ -374,7 +381,6 @@ stdenv.mkDerivation {
     + optionalString (libcxx.isLLVM or false) (''
       echo "-isystem ${lib.getDev libcxx}/include/c++/v1" >> $out/nix-support/libcxx-cxxflags
       echo "-stdlib=libc++" >> $out/nix-support/libcxx-ldflags
-    '' + lib.optionalString stdenv.targetPlatform.isLinux ''
       echo "-lc++abi" >> $out/nix-support/libcxx-ldflags
     '')
 
@@ -474,7 +480,7 @@ stdenv.mkDerivation {
       hardening_unsupported_flags+=" stackprotector fortify"
     '' + optionalString targetPlatform.isAvr ''
       hardening_unsupported_flags+=" stackprotector pic"
-    '' + optionalString (targetPlatform.libc == "newlib") ''
+    '' + optionalString (targetPlatform.libc == "newlib" || targetPlatform.libc == "newlib-nano") ''
       hardening_unsupported_flags+=" stackprotector fortify pie pic"
     '' + optionalString (targetPlatform.libc == "musl" && targetPlatform.isx86_32) ''
       hardening_unsupported_flags+=" stackprotector"
diff --git a/pkgs/build-support/cc-wrapper/fortran-hook.sh b/pkgs/build-support/cc-wrapper/fortran-hook.sh
index d72f314c01c..59e493e1836 100644
--- a/pkgs/build-support/cc-wrapper/fortran-hook.sh
+++ b/pkgs/build-support/cc-wrapper/fortran-hook.sh
@@ -5,7 +5,7 @@ export FC${role_post}=@named_fc@
 
 # If unset, assume the default hardening flags.
 # These are different for fortran.
-: ${NIX_HARDENING_ENABLE="stackprotector pic strictoverflow relro bindnow"}
+: ${NIX_HARDENING_ENABLE="@fortran_hardening@"}
 export NIX_HARDENING_ENABLE
 
 unset -v role_post
diff --git a/pkgs/build-support/docker/examples.nix b/pkgs/build-support/docker/examples.nix
index 16941a72617..ff3934941c7 100644
--- a/pkgs/build-support/docker/examples.nix
+++ b/pkgs/build-support/docker/examples.nix
@@ -584,8 +584,8 @@ rec {
       pkgs.pkgsStatic.busybox
     ];
     fakeRootCommands = ''
-      mkdir -p ./home/jane
-      chown 1000 ./home/jane
+      mkdir -p ./home/alice
+      chown 1000 ./home/alice
       ln -s ${pkgs.hello.overrideAttrs (o: {
         # A unique `hello` to make sure that it isn't included via another mechanism by accident.
         configureFlags = o.configureFlags or [] ++ [ " --program-prefix=layeredImageWithFakeRootCommands-" ];
@@ -607,7 +607,7 @@ rec {
   ];
 
   # tarball consisting of bash and layered image with different owner of the
-  # /home/jane directory
+  # /home/alice directory
   mergedBashFakeRoot = pkgs.dockerTools.mergeImages [
     bash
     layeredImageWithFakeRootCommands
diff --git a/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-build-hook.sh b/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-build-hook.sh
index a8a830195ea..c7a6d8c17ab 100644
--- a/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-build-hook.sh
+++ b/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-build-hook.sh
@@ -15,9 +15,9 @@ dotnetBuildHook() {
     fi
 
     if [ "${selfContainedBuild-}" ]; then
-        dotnetBuildFlags+=("--self-contained")
+        dotnetBuildFlags+=("-p:SelfContained=true")
     else
-        dotnetBuildFlags+=("--no-self-contained")
+        dotnetBuildFlags+=("-p:SelfContained=false")
     fi
 
     if [ "${version-}" ]; then
diff --git a/pkgs/development/go-modules/generic/default.nix b/pkgs/build-support/go/module.nix
index 0ca16f80b41..8b5185979e4 100644
--- a/pkgs/development/go-modules/generic/default.nix
+++ b/pkgs/build-support/go/module.nix
@@ -272,6 +272,8 @@ let
     doCheck = args.doCheck or true;
     checkPhase = args.checkPhase or ''
       runHook preCheck
+      # We do not set trimpath for tests, in case they reference test assets
+      export GOFLAGS=''${GOFLAGS//-trimpath/}
 
       for pkg in $(getGoDirs test); do
         buildGoDir test "$pkg"
diff --git a/pkgs/development/go-packages/generic/default.nix b/pkgs/build-support/go/package.nix
index 643c1955d2b..56c8ceeca15 100644
--- a/pkgs/development/go-packages/generic/default.nix
+++ b/pkgs/build-support/go/package.nix
@@ -233,6 +233,8 @@ let
     doCheck = args.doCheck or false;
     checkPhase = args.checkPhase or ''
       runHook preCheck
+      # We do not set trimpath for tests, in case they reference test assets
+      export GOFLAGS=''${GOFLAGS//-trimpath/}
 
       for pkg in $(getGoDirs test); do
         buildGoDir test "$pkg"
diff --git a/pkgs/build-support/kernel/make-initrd-ng-tool.nix b/pkgs/build-support/kernel/make-initrd-ng-tool.nix
index 654b1036781..b1fbee92b32 100644
--- a/pkgs/build-support/kernel/make-initrd-ng-tool.nix
+++ b/pkgs/build-support/kernel/make-initrd-ng-tool.nix
@@ -7,10 +7,11 @@ rustPlatform.buildRustPackage {
   src = ./make-initrd-ng;
   cargoLock.lockFile = ./make-initrd-ng/Cargo.lock;
 
-  nativeBuildInputs = [ makeWrapper ];
+  passthru.updateScript = ./make-initrd-ng/update.sh;
 
-  postInstall = ''
-    wrapProgram $out/bin/make-initrd-ng \
-      --prefix PATH : ${lib.makeBinPath [ patchelf glibc binutils ]}
-  '';
+  meta = {
+    description = "Tool for copying binaries and their dependencies";
+    maintainers = with lib.maintainers; [ das_j elvishjerricco k900 lheckemann ];
+    license = lib.licenses.mit;
+  };
 }
diff --git a/pkgs/build-support/kernel/make-initrd-ng.nix b/pkgs/build-support/kernel/make-initrd-ng.nix
index 5f0a70f8a96..e762464fc48 100644
--- a/pkgs/build-support/kernel/make-initrd-ng.nix
+++ b/pkgs/build-support/kernel/make-initrd-ng.nix
@@ -8,10 +8,12 @@ let
   # compression type and filename extension.
   compressorName = fullCommand: builtins.elemAt (builtins.match "([^ ]*/)?([^ ]+).*" fullCommand) 1;
 in
-{ stdenvNoCC, perl, cpio, ubootTools, lib, pkgsBuildHost, makeInitrdNGTool, patchelf, runCommand
+{ stdenvNoCC, perl, cpio, ubootTools, lib, pkgsBuildHost, makeInitrdNGTool, binutils, runCommand
 # Name of the derivation (not of the resulting file!)
 , name ? "initrd"
 
+, strip ? true
+
 # Program used to compress the cpio archive; use "cat" for no compression.
 # This can also be a function which takes a package set and returns the path to the compressor,
 # such as `pkgs: "${pkgs.lzop}/bin/lzop"`.
@@ -59,7 +61,7 @@ in
 # If this isn't guessed, you may want to complete the metadata above and send a PR :)
 , uInitrdCompression ? _compressorMeta.ubootName or
     (throw "Unrecognised compressor ${_compressorName}, please specify uInitrdCompression")
-}: runCommand name {
+}: runCommand name ({
   compress = "${_compressorExecutable} ${lib.escapeShellArgs _compressorArgsReal}";
   passthru = {
     compressorExecutableFunction = _compressorFunction;
@@ -72,8 +74,10 @@ in
   passAsFile = ["contents"];
   contents = lib.concatMapStringsSep "\n" ({ object, symlink, ... }: "${object}\n${if symlink == null then "" else symlink}") contents + "\n";
 
-  nativeBuildInputs = [makeInitrdNGTool patchelf cpio] ++ lib.optional makeUInitrd ubootTools;
-} ''
+  nativeBuildInputs = [makeInitrdNGTool cpio] ++ lib.optional makeUInitrd ubootTools ++ lib.optional strip binutils;
+
+  STRIP = if strip then "${(binutils.nativeDrv or binutils).targetPrefix}strip" else null;
+}) ''
   mkdir ./root
   make-initrd-ng "$contentsPath" ./root
   mkdir "$out"
diff --git a/pkgs/build-support/kernel/make-initrd-ng/Cargo.lock b/pkgs/build-support/kernel/make-initrd-ng/Cargo.lock
index 75e732029b5..cce94b3f4cf 100644
--- a/pkgs/build-support/kernel/make-initrd-ng/Cargo.lock
+++ b/pkgs/build-support/kernel/make-initrd-ng/Cargo.lock
@@ -1,5 +1,97 @@
 # This file is automatically @generated by Cargo.
 # It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "goblin"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91766b1121940d622933a13e20665857648681816089c9bc2075c4b75a6e4f6b"
+dependencies = [
+ "log",
+ "plain",
+ "scroll",
+]
+
+[[package]]
+name = "log"
+version = "0.4.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
+dependencies = [
+ "cfg-if",
+]
+
 [[package]]
 name = "make-initrd-ng"
 version = "0.1.0"
+dependencies = [
+ "goblin",
+]
+
+[[package]]
+name = "plain"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.42"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c278e965f1d8cf32d6e0e96de3d3e79712178ae67986d9cf9151f51e95aac89b"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "scroll"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04c565b551bafbef4157586fa379538366e4385d42082f255bfd96e4fe8519da"
+dependencies = [
+ "scroll_derive",
+]
+
+[[package]]
+name = "scroll_derive"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bdbda6ac5cd1321e724fa9cee216f3a61885889b896f073b8f82322789c5250e"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "syn"
+version = "1.0.98"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "15c61ba63f9235225a22310255a29b806b907c9b8c964bcbd0a2c70f3f2deea7"
diff --git a/pkgs/build-support/kernel/make-initrd-ng/Cargo.toml b/pkgs/build-support/kernel/make-initrd-ng/Cargo.toml
index 9076f6b1561..c30eccd9fec 100644
--- a/pkgs/build-support/kernel/make-initrd-ng/Cargo.toml
+++ b/pkgs/build-support/kernel/make-initrd-ng/Cargo.toml
@@ -7,3 +7,4 @@ edition = "2018"
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 
 [dependencies]
+goblin = "0.5.0"
diff --git a/pkgs/build-support/kernel/make-initrd-ng/src/main.rs b/pkgs/build-support/kernel/make-initrd-ng/src/main.rs
index 294c570a374..89a7c08fda7 100644
--- a/pkgs/build-support/kernel/make-initrd-ng/src/main.rs
+++ b/pkgs/build-support/kernel/make-initrd-ng/src/main.rs
@@ -3,11 +3,13 @@ use std::env;
 use std::ffi::OsStr;
 use std::fs;
 use std::hash::Hash;
-use std::io::{BufReader, BufRead, Error, ErrorKind};
+use std::io::{BufRead, BufReader, Error};
 use std::os::unix;
 use std::path::{Component, Path, PathBuf};
 use std::process::Command;
 
+use goblin::{elf::Elf, Object};
+
 struct NonRepeatingQueue<T> {
     queue: VecDeque<T>,
     seen: HashSet<T>,
@@ -38,42 +40,32 @@ impl<T: Clone + Eq + Hash> NonRepeatingQueue<T> {
     }
 }
 
-fn patch_elf<S: AsRef<OsStr>, P: AsRef<OsStr>>(mode: S, path: P) -> Result<String, Error> {
-    let output = Command::new("patchelf")
-        .arg(&mode)
-        .arg(&path)
-        .output()?;
-    if output.status.success() {
-        Ok(String::from_utf8(output.stdout).expect("Failed to parse output"))
-    } else {
-        Err(Error::new(ErrorKind::Other, format!("failed: patchelf {:?} {:?}", OsStr::new(&mode), OsStr::new(&path))))
-    }
-}
-
-fn copy_file<P: AsRef<Path> + AsRef<OsStr>, S: AsRef<Path> + AsRef<OsStr>>(
+fn add_dependencies<P: AsRef<Path> + AsRef<OsStr>>(
     source: P,
-    target: S,
+    elf: Elf,
     queue: &mut NonRepeatingQueue<Box<Path>>,
-) -> Result<(), Error> {
-    fs::copy(&source, &target)?;
-
-    if !Command::new("ldd").arg(&source).output()?.status.success() {
-        // Not dynamically linked - no need to recurse
-        return Ok(());
+) {
+    if let Some(interp) = elf.interpreter {
+        queue.push_back(Box::from(Path::new(interp)));
     }
 
-    let rpath_string = patch_elf("--print-rpath", &source)?;
-    let needed_string = patch_elf("--print-needed", &source)?;
-    // Shared libraries don't have an interpreter
-    if let Ok(interpreter_string) = patch_elf("--print-interpreter", &source) {
-        queue.push_back(Box::from(Path::new(&interpreter_string.trim())));
-    }
+    let rpaths = if elf.runpaths.len() > 0 {
+        elf.runpaths
+    } else if elf.rpaths.len() > 0 {
+        elf.rpaths
+    } else {
+        vec![]
+    };
 
-    let rpath = rpath_string.trim().split(":").map(|p| Box::<Path>::from(Path::new(p))).collect::<Vec<_>>();
+    let rpaths_as_path = rpaths
+        .into_iter()
+        .flat_map(|p| p.split(":"))
+        .map(|p| Box::<Path>::from(Path::new(p)))
+        .collect::<Vec<_>>();
 
-    for line in needed_string.lines() {
+    for line in elf.libraries {
         let mut found = false;
-        for path in &rpath {
+        for path in &rpaths_as_path {
             let lib = path.join(line);
             if lib.exists() {
                 // No need to recurse. The queue will bring it back round.
@@ -85,20 +77,45 @@ fn copy_file<P: AsRef<Path> + AsRef<OsStr>, S: AsRef<Path> + AsRef<OsStr>>(
         if !found {
             // glibc makes it tricky to make this an error because
             // none of the files have a useful rpath.
-            println!("Warning: Couldn't satisfy dependency {} for {:?}", line, OsStr::new(&source));
+            println!(
+                "Warning: Couldn't satisfy dependency {} for {:?}",
+                line,
+                OsStr::new(&source)
+            );
         }
     }
+}
 
-    // Make file writable to strip it
-    let mut permissions = fs::metadata(&target)?.permissions();
-    permissions.set_readonly(false);
-    fs::set_permissions(&target, permissions)?;
-
-    // Strip further than normal
-    if !Command::new("strip").arg("--strip-all").arg(OsStr::new(&target)).output()?.status.success() {
-        println!("{:?} was not successfully stripped.", OsStr::new(&target));
-    }
+fn copy_file<P: AsRef<Path> + AsRef<OsStr>, S: AsRef<Path> + AsRef<OsStr>>(
+    source: P,
+    target: S,
+    queue: &mut NonRepeatingQueue<Box<Path>>,
+) -> Result<(), Error> {
+    fs::copy(&source, &target)?;
 
+    let contents = fs::read(&source)?;
+
+    if let Ok(Object::Elf(e)) = Object::parse(&contents) {
+        add_dependencies(source, e, queue);
+
+        // Make file writable to strip it
+        let mut permissions = fs::metadata(&target)?.permissions();
+        permissions.set_readonly(false);
+        fs::set_permissions(&target, permissions)?;
+
+        // Strip further than normal
+        if let Ok(strip) = env::var("STRIP") {
+            if !Command::new(strip)
+                .arg("--strip-all")
+                .arg(OsStr::new(&target))
+                .output()?
+                .status
+                .success()
+            {
+                println!("{:?} was not successfully stripped.", OsStr::new(&target));
+            }
+        }
+    };
 
     Ok(())
 }
diff --git a/pkgs/build-support/kernel/make-initrd-ng/update.sh b/pkgs/build-support/kernel/make-initrd-ng/update.sh
new file mode 100755
index 00000000000..ffc5ad3917f
--- /dev/null
+++ b/pkgs/build-support/kernel/make-initrd-ng/update.sh
@@ -0,0 +1,4 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -p cargo -i bash
+cd "$(dirname "$0")"
+cargo update
diff --git a/pkgs/build-support/rust/build-rust-crate/build-crate.nix b/pkgs/build-support/rust/build-rust-crate/build-crate.nix
index b5db1ffa7fb..b24398665a1 100644
--- a/pkgs/build-support/rust/build-rust-crate/build-crate.nix
+++ b/pkgs/build-support/rust/build-rust-crate/build-crate.nix
@@ -1,4 +1,8 @@
-{ lib, stdenv, mkRustcDepArgs, mkRustcFeatureArgs, rust }:
+{ lib, stdenv
+, mkRustcDepArgs, mkRustcFeatureArgs, needUnstableCLI
+, rust
+}:
+
 { crateName,
   dependencies,
   crateFeatures, crateRenames, libName, release, libPath,
@@ -18,6 +22,8 @@
         (mkRustcFeatureArgs crateFeatures)
       ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
         "--target" (rust.toRustTargetSpec stdenv.hostPlatform)
+      ] ++ lib.optionals (needUnstableCLI dependencies) [
+        "-Z" "unstable-options"
       ] ++ extraRustcOpts
       # since rustc 1.42 the "proc_macro" crate is part of the default crate prelude
       # https://github.com/rust-lang/cargo/commit/4d64eb99a4#diff-7f98585dbf9d30aa100c8318e2c77e79R1021-R1022
diff --git a/pkgs/build-support/rust/build-rust-crate/default.nix b/pkgs/build-support/rust/build-rust-crate/default.nix
index e122871f8f5..98030225bcb 100644
--- a/pkgs/build-support/rust/build-rust-crate/default.nix
+++ b/pkgs/build-support/rust/build-rust-crate/default.nix
@@ -46,17 +46,28 @@ let
               )
             else
               extern;
+          opts = lib.optionalString (dep.stdlib or false) "noprelude:";
+          filename =
+            if lib.any (x: x == "lib" || x == "rlib") dep.crateType
+            then "${dep.metadata}.rlib"
+            else "${dep.metadata}${stdenv.hostPlatform.extensions.sharedLibrary}";
         in
-        (if lib.any (x: x == "lib" || x == "rlib") dep.crateType then
-          " --extern ${name}=${dep.lib}/lib/lib${extern}-${dep.metadata}.rlib"
-        else
-          " --extern ${name}=${dep.lib}/lib/lib${extern}-${dep.metadata}${stdenv.hostPlatform.extensions.sharedLibrary}")
+        " --extern ${opts}${name}=${dep.lib}/lib/lib${extern}-${filename}"
       )
       dependencies;
 
   # Create feature arguments for rustc.
   mkRustcFeatureArgs = lib.concatMapStringsSep " " (f: ''--cfg feature=\"${f}\"'');
 
+  # Whether we need to use unstable command line flags
+  #
+  # Currently just needed for standard library dependencies, which have a
+  # special "noprelude:" modifier. If in later versions of Rust this is
+  # stabilized we can account for that here, too, so we don't opt into
+  # instability unnecessarily.
+  needUnstableCLI = dependencies:
+    lib.any (dep: dep.stdlib or false) dependencies;
+
   inherit (import ./log.nix { inherit lib; }) noisily echo_colored;
 
   configureCrate = import ./configure-crate.nix {
@@ -64,7 +75,7 @@ let
   };
 
   buildCrate = import ./build-crate.nix {
-    inherit lib stdenv mkRustcDepArgs mkRustcFeatureArgs rust;
+    inherit lib stdenv mkRustcDepArgs mkRustcFeatureArgs needUnstableCLI rust;
   };
 
   installCrate = import ./install-crate.nix { inherit stdenv; };
diff --git a/pkgs/build-support/setup-hooks/strip.sh b/pkgs/build-support/setup-hooks/strip.sh
index 2d8e66a89fa..80bc064ced7 100644
--- a/pkgs/build-support/setup-hooks/strip.sh
+++ b/pkgs/build-support/setup-hooks/strip.sh
@@ -7,38 +7,39 @@ _doStrip() {
     # to $out anyways---if it does, that's a bigger problem that a lack of
     # stripping will help catch.
     local -ra flags=(dontStripHost dontStripTarget)
-    local -ra stripCmds=(STRIP TARGET_STRIP)
+    local -ra debugDirs=(stripDebugList stripDebugListTarget)
+    local -ra allDirs=(stripAllList stripAllListTarget)
+    local -ra stripCmds=(STRIP STRIP_FOR_TARGET)
+    local -ra ranlibCmds=(RANLIB RANLIB_FOR_TARGET)
 
-    # Optimization
-    if [[ "${STRIP-}" == "${TARGET_STRIP-}" ]]; then
-        dontStripTarget+=1
-    fi
+    # Strip only host paths by default. Leave targets as is.
+    stripDebugList=${stripDebugList:-lib lib32 lib64 libexec bin sbin}
+    stripDebugListTarget=${stripDebugListTarget:-}
+    stripAllList=${stripAllList:-}
+    stripAllListTarget=${stripAllListTarget:-}
 
     local i
     for i in ${!stripCmds[@]}; do
         local -n flag="${flags[$i]}"
+        local -n debugDirList="${debugDirs[$i]}"
+        local -n allDirList="${allDirs[$i]}"
         local -n stripCmd="${stripCmds[$i]}"
+        local -n ranlibCmd="${ranlibCmds[$i]}"
 
         # `dontStrip` disables them all
         if [[ "${dontStrip-}" || "${flag-}" ]] || ! type -f "${stripCmd-}" 2>/dev/null
         then continue; fi
 
-        stripDebugList=${stripDebugList:-lib lib32 lib64 libexec bin sbin}
-        if [ -n "$stripDebugList" ]; then
-            stripDirs "$stripCmd" "$stripDebugList" "${stripDebugFlags:--S}"
-        fi
-
-        stripAllList=${stripAllList:-}
-        if [ -n "$stripAllList" ]; then
-            stripDirs "$stripCmd" "$stripAllList" "${stripAllFlags:--s}"
-        fi
+        stripDirs "$stripCmd" "$ranlibCmd" "$debugDirList" "${stripDebugFlags:--S}"
+        stripDirs "$stripCmd" "$ranlibCmd" "$allDirList" "${stripAllFlags:--s}"
     done
 }
 
 stripDirs() {
     local cmd="$1"
-    local dirs="$2"
-    local stripFlags="$3"
+    local ranlibCmd="$2"
+    local dirs="$3"
+    local stripFlags="$4"
     local dirsNew=
 
     local d
@@ -50,8 +51,13 @@ stripDirs() {
     dirs=${dirsNew}
 
     if [ -n "${dirs}" ]; then
-        header "stripping (with command $cmd and flags $stripFlags) in$dirs"
+        echo "stripping (with command $cmd and flags $stripFlags) in$dirs"
         find $dirs -type f -exec $cmd $stripFlags '{}' \; 2>/dev/null
-        stopNest
+        # 'strip' does not normally preserve archive index in .a files.
+        # This usually causes linking failures against static libs like:
+        #   ld: ...-i686-w64-mingw32-stage-final-gcc-13.0.0-lib/i686-w64-mingw32/lib/libstdc++.dll.a:
+        #     error adding symbols: archive has no index; run ranlib to add one
+        # Restore the index by running 'ranlib'.
+        find $dirs -name '*.a' -type f -exec $ranlibCmd '{}' \; 2>/dev/null
     fi
 }
diff --git a/pkgs/data/fonts/fixedsys-excelsior/default.nix b/pkgs/data/fonts/fixedsys-excelsior/default.nix
index 8bdbc2d4c4f..cb9d5e73ed2 100644
--- a/pkgs/data/fonts/fixedsys-excelsior/default.nix
+++ b/pkgs/data/fonts/fixedsys-excelsior/default.nix
@@ -1,17 +1,12 @@
 { lib, fetchurl } :
 
 let
-  major = "3";
-  minor = "00";
-  version = "${major}.${minor}";
+  version = "3.00";
 in fetchurl rec {
   name = "fixedsys-excelsior-${version}";
 
-  urls = [
-    "http://www.fixedsysexcelsior.com/fonts/FSEX300.ttf"
-    "https://raw.githubusercontent.com/chrissimpkins/codeface/master/fonts/fixed-sys-excelsior/FSEX300.ttf"
-    "http://tarballs.nixos.org/sha256/6ee0f3573bc5e33e93b616ef6282f49bc0e227a31aa753ac76ed2e3f3d02056d"
-  ];
+  url = "https://raw.githubusercontent.com/chrissimpkins/codeface/master/fonts/fixed-sys-excelsior/FSEX300.ttf";
+
   downloadToTemp = true;
   recursiveHash = true;
   postFetch = ''
@@ -21,8 +16,8 @@ in fetchurl rec {
   sha256 = "32d6f07f1ff08c764357f8478892b2ba5ade23427af99759f34a0ba24bcd2e37";
 
   meta = {
-    description = "Pan-unicode version of Fixedsys, a classic DOS font";
     homepage = "http://www.fixedsysexcelsior.com/";
+    description = "Pan-unicode version of Fixedsys, a classic DOS font";
     platforms = lib.platforms.all;
     license = lib.licenses.publicDomain;
     maintainers = [ lib.maintainers.ninjatrappeur ];
diff --git a/pkgs/data/fonts/iosevka/comfy-private-build-plans.toml b/pkgs/data/fonts/iosevka/comfy-private-build-plans.toml
deleted file mode 100644
index 1affc3a8c84..00000000000
--- a/pkgs/data/fonts/iosevka/comfy-private-build-plans.toml
+++ /dev/null
@@ -1,507 +0,0 @@
-# The file below is copy/pasted from
-# https://raw.githubusercontent.com/protesilaos/iosevka-comfy/0.2.1/private-build-plans.toml. It
-# seems like ofborg will prevent me from using fetchurl to download
-# this file automatically.
-[buildPlans.iosevka-comfy]       # <iosevka-comfy> is your plan name
-family = "Iosevka Comfy"         # Font menu family name
-spacing = "normal"               # Optional; Values: `normal`, `quasi-proportional`, `quasi-proportional-extension-only`, `term`, `fontconfig-mono`, or `fixed`
-serifs = "sans"                  # Optional; Values: `sans` or `slab`
-
-###################################################################################################
-# Configure variants
-
-# # Optional; Whether to inherit a `ss##` variant
-# [buildPlans.iosevka-comfy.variants]
-# inherits = "ss01"
-
-# Optional; Configure single character's variant
-[buildPlans.iosevka-comfy.variants.design]
-cv01 = 1    # A cap straight
-cv02 = 1    # B cap straight
-cv03 = 1    # C cap serifless
-cv04 = 6    # D cap curly with top and bottom serif (without serifs TODO reads like TOOO at small point sizes)
-cv05 = 1    # E cap serifless
-cv06 = 1    # F cap serifless
-cv07 = 4    # G cap toothed
-cv08 = 1    # H cap serifless
-cv09 = 1    # I cap long serifs
-cv10 = 2    # J cap serified
-cv11 = 2    # K cap curly
-cv12 = 1    # L cap serifless
-cv13 = 3    # M cap short middle leg slanted sides
-cv14 = 1    # N cap symmetric
-cv15 = 1    # P cap straight
-cv16 = 4    # Q cap crossing tail
-cv17 = 1    # R cap straight
-cv18 = 1    # S cap serifless
-cv19 = 1    # T cap serifless
-cv20 = 3    # U cap serifless
-cv21 = 1    # V cap straight
-cv22 = 1    # W straight
-cv23 = 1    # X cap straight
-cv24 = 1    # Y cap straight
-cv25 = 1    # Z cap straight
-cv26 = 10   # a single storey earless tailed bottom
-cv27 = 1    # b toothed
-cv28 = 1    # c serifless
-cv29 = 1    # d toothed
-cv33 = 1    # h straight
-cv34 = 10   # i serified flat tailed
-cv35 = 6    # j flat hook serified
-cv37 = 10   # l serified flat tailed
-cv42 = 9    # r compact
-cv43 = 1    # s serifless
-cv44 = 2    # t flat hook
-cv45 = 4    # u tailed
-cv49 = 6    # y cursive flat terminal hook
-cv53 = 1    # Λ, Δ lambda and delta cap straight
-cv54 = 2    # α alpha straight tailed
-VXAA = 1    # δ delta rounded top
-cv55 = 1    # Γ gamma cap straight
-cv56 = 6    # ι iota serified flat tailed
-cv57 = 2    # λ lambda top tailed
-VXAC = 1    # μ me tailless
-VXAB = 2    # ξ xe flat top
-cv71 = 13   # 0 oval dashed forward slash
-cv74 = 2    # 3 arched
-cv76 = 2    # 5 open contour
-cv78 = 1    # 7 straight
-cv79 = 3    # 8 two asymmetric circles
-cv81 = 2    # ~ tilde low
-cv82 = 2    # * asterisk five-pointed low
-cv83 = 1    # _ underscore right below baseline
-cv85 = 1    # ^ uptick high
-cv86 = 1    # ( parentheses normal slope
-cv87 = 2    # { braces curly
-cv88 = 1    # # column straight
-cv90 = 4    # @ three-fold, tall height
-cv91 = 2    # $ dollar strike through
-cv92 = 2    # ¢ cent strike through
-cv93 = 1    # % percent dots
-cv94 = 1    # | bar natural slope
-cv95 = 2    # ≥ equal-or-{higher,lower} slanted
-cv96 = 1    # ' single quote straight
-cv97 = 1    # ` grave/backtick straight
-cv98 = 1    # ? smooth
-cv99 = 2    # .:; square punctuation marks
-VXDD = 2    # ijäöü square diacretics
-
-# Optional; Configure single character's variant for Upright and Oblique; Overrides [design]
-[buildPlans.iosevka-comfy.variants.upright]
-cv30 = 1    # e straight
-cv31 = 16   # f serifless bottom flat top crossbar at x height
-cv32 = 9    # g single storey flat hook earless cornered top
-cv36 = 1    # k straight
-cv38 = 6    # m earless double arch short middle leg
-cv39 = 3    # n earless straight
-cv40 = 2    # p earless
-cv41 = 2    # q earless
-cv46 = 1    # v straight
-cv47 = 1    # w straight
-cv48 = 1    # x straight
-cv50 = 1    # z straight
-cv72 = 3    # 1 serified with base
-cv73 = 1    # 2 straight
-cv75 = 3    # 4 semi-open contour
-cv77 = 3    # 6 straight
-cv80 = 3    # 9 straight
-cv89 = 2    # & et open top (ampersand)
-
-# Optional; Configure single character's variant for Italic only; Overrides [design]
-[buildPlans.iosevka-comfy.variants.italic]
-cv30 = 2    # e curly
-cv31 = 14   # f extended flat top bottom hook
-cv32 = 7    # g single storey flat hook
-cv36 = 2    # k curly
-cv38 = 2    # m straight middle shortleg
-cv39 = 1    # n straight
-cv40 = 1    # p straight
-cv41 = 1    # q straight
-cv46 = 2    # v curly
-cv47 = 2    # w curly short middle top
-cv48 = 2    # x curly
-cv50 = 4    # z curly
-cv72 = 2    # 1 serified no base
-cv73 = 2    # 2 curly
-cv75 = 1    # 4 closed contour crossing
-cv77 = 1    # 6 closed contour
-cv80 = 1    # 9 closed contour
-cv89 = 4    # & et open top toothed (ampersand)
-
-# End variant section
-###################################################################################################
-
-###################################################################################################
-# Override default building weights
-# When buildPlans.<plan name>.weights is absent, all weights would built and mapped to
-# default values.
-# IMPORTANT : Currently "menu" and "css" property only support numbers between 0 and 1000.
-#             and "shape" properly only supports number between 100 and 900 (inclusive).
-#             If you decide to use custom weights you have to define all the weights you
-#             plan to use otherwise they will not be built.
-[buildPlans.iosevka-comfy.weights.light]
-shape = 300
-menu  = 300
-css   = 300
-
-[buildPlans.iosevka-comfy.weights.semilight]
-shape = 350
-menu  = 350
-css   = 350
-
-[buildPlans.iosevka-comfy.weights.regular]
-shape = 400
-menu  = 400
-css   = 400
-
-[buildPlans.iosevka-comfy.weights.bold]
-shape = 700
-menu  = 700
-css   = 700
-
-[buildPlans.iosevka-comfy.weights.extrabold]
-shape = 800
-menu  = 800
-css   = 800
-
-# End weight section
-###################################################################################################
-
-###################################################################################################
-# Override default building slope sets
-# When this section is absent, all slopes would be built.
-
-[buildPlans.iosevka-comfy.slopes.upright]
-angle = 0             # Angle in degrees. Valid range [0, 15]
-shape = "upright"     # Slope grade used for shape selection.  `upright` | `oblique` | `italic`
-menu  = "upright"     # Slope grade used for naming.           `upright` | `oblique` | `italic`
-css   = "normal"      # Slope grade used for webfont CSS.      `normal`  | `oblique` | `italic`
-
-[buildPlans.iosevka-comfy.slopes.italic]
-angle = 9.4
-shape = "italic"
-menu  = "italic"
-css   = "italic"
-
-# End slope section
-###################################################################################################
-
-###################################################################################################
-# Override default building widths
-# When buildPlans.<plan name>.widths is absent, all widths would built and mapped to
-# default values.
-# IMPORTANT : Currently "shape" property only supports numbers between 434 and 664 (inclusive),
-#             while "menu" only supports integers between 1 and 9 (inclusive).
-#             The "shape" parameter specifies the unit width, measured in 1/1000 em. The glyphs'
-#             width are equal to, or a simple multiple of the unit width.
-#             If you decide to use custom widths you have to define all the widths you plan to use,
-#             otherwise they will not be built.
-
-# [buildPlans.iosevka-comfy.widths.condensed]
-# shape = 485
-# menu  = 3
-# css   = "condensed"
-
-[buildPlans.iosevka-comfy.widths.normal]
-shape = 525        # Unit Width, measured in 1/1000 em.
-menu  = 5          # Width grade for the font's names.
-css   = "normal"   # "font-stretch' property of webfont CSS.
-
-# [buildPlans.iosevka-comfy.widths.expanded]
-# shape = 600
-# menu  = 7
-# css   = "expanded"
-
-# End width section
-###################################################################################################
-
-###################################################################################################
-# Metric overrides
-# Certain metrics like line height (leading) could be overridden in your build plan file.
-# Edit the values to change the metrics. Remove this section when overriding is not needed.
-
-[buildPlans.iosevka-comfy.metric-override]
-leading = 1100
-
-# End metric override section
-###################################################################################################
-
-
-# Iosevka Comfy variants
-# ======================
-# Same glyph overrides and metrics, except for the spacing.
-
-
-# Fixed spacing (no ligatures)
-# ----------------------------
-[buildPlans.iosevka-comfy-fixed]
-family = "Iosevka Comfy Fixed"
-spacing = "fixed"
-serifs = "sans"
-
-# It seems we can inherit variants, but not weights, slopes, widths,
-# metric-override...
-[buildPlans.iosevka-comfy-fixed.variants]
-inherits = "buildPlans.iosevka-comfy"
-
-[buildPlans.iosevka-comfy-fixed.weights.light]
-shape = 300
-menu  = 300
-css   = 300
-
-[buildPlans.iosevka-comfy-fixed.weights.semilight]
-shape = 350
-menu  = 350
-css   = 350
-
-[buildPlans.iosevka-comfy-fixed.weights.regular]
-shape = 400
-menu  = 400
-css   = 400
-
-[buildPlans.iosevka-comfy-fixed.weights.bold]
-shape = 700
-menu  = 700
-css   = 700
-
-[buildPlans.iosevka-comfy-fixed.weights.extrabold]
-shape = 800
-menu  = 800
-css   = 800
-
-[buildPlans.iosevka-comfy-fixed.slopes.upright]
-angle = 0
-shape = "upright"
-menu  = "upright"
-css   = "normal"
-
-[buildPlans.iosevka-comfy-fixed.slopes.italic]
-angle = 9.4
-shape = "italic"
-menu  = "italic"
-css   = "italic"
-
-[buildPlans.iosevka-comfy-fixed.widths.normal]
-shape = 525
-menu  = 5
-css   = "normal"
-
-[buildPlans.iosevka-comfy-fixed.metric-override]
-leading = 1100
-
-
-
-# Duo spacing (quasi-proportional)
-# --------------------------------
-[buildPlans.iosevka-comfy-duo]
-family = "Iosevka Comfy Duo"
-spacing = "quasi-proportional"
-serifs = "sans"
-
-# It seems we can inherit variants, but not weights, slopes, widths,
-# metric-override...
-[buildPlans.iosevka-comfy-duo.variants]
-inherits = "buildPlans.iosevka-comfy"
-
-# The '0' has a forward slash that cuts diagonally through the middle of
-# the circle, connecting the bottom left part to the top right of the
-# oval shape.  Whereas the narrow variants have a dashed forward slash
-# which does not connect the two sides as it is positioned inside the
-# oval shape.
-[buildPlans.iosevka-comfy-duo.variants.design]
-cv71 = 9    # 0 oval forward slash
-
-# The 'm' character has three legs of equal length, insetad of a shorter
-# middle leg.  The short middle leg in the narrow variants is necessary
-# for legibility, especially at small point sizes (otherwise the
-# character's legs visually blend into what appears to be a solid
-# block).
-[buildPlans.iosevka-comfy-duo.variants.upright]
-cv38 = 5    # m earless normal middle leg
-
-[buildPlans.iosevka-comfy-duo.variants.italic]
-cv38 = 1    # m straight normal middle leg
-
-[buildPlans.iosevka-comfy-duo.weights.light]
-shape = 300
-menu  = 300
-css   = 300
-
-[buildPlans.iosevka-comfy-duo.weights.semilight]
-shape = 350
-menu  = 350
-css   = 350
-
-[buildPlans.iosevka-comfy-duo.weights.regular]
-shape = 400
-menu  = 400
-css   = 400
-
-[buildPlans.iosevka-comfy-duo.weights.bold]
-shape = 700
-menu  = 700
-css   = 700
-
-[buildPlans.iosevka-comfy-duo.weights.extrabold]
-shape = 800
-menu  = 800
-css   = 800
-
-[buildPlans.iosevka-comfy-duo.slopes.upright]
-angle = 0
-shape = "upright"
-menu  = "upright"
-css   = "normal"
-
-[buildPlans.iosevka-comfy-duo.slopes.italic]
-angle = 9.4
-shape = "italic"
-menu  = "italic"
-css   = "italic"
-
-[buildPlans.iosevka-comfy-duo.widths.normal]
-shape = 525
-menu  = 5
-css   = "normal"
-
-[buildPlans.iosevka-comfy-duo.metric-override]
-leading = 1100
-
-
-
-# Like iosevka-comfy but expanded
-# -------------------------------
-[buildPlans.iosevka-comfy-wide]
-family = "Iosevka Comfy Wide"
-spacing = "normal"
-serifs = "sans"
-
-# It seems we can inherit variants, but not weights, slopes, widths,
-# metric-override...
-[buildPlans.iosevka-comfy-wide.variants]
-inherits = "buildPlans.iosevka-comfy"
-
-# The '0' has a forward slash that cuts diagonally through the middle of
-# the circle, connecting the bottom left part to the top right of the
-# oval shape.  Whereas the narrow variants have a dashed forward slash
-# which does not connect the two sides as it is positioned inside the
-# oval shape.
-[buildPlans.iosevka-comfy-wide.variants.design]
-cv71 = 9    # 0 oval forward slash
-
-# The 'm' character has three legs of equal length, insetad of a shorter
-# middle leg.  The short middle leg in the narrow variants is necessary
-# for legibility, especially at small point sizes (otherwise the
-# character's legs visually blend into what appears to be a solid
-# block).
-[buildPlans.iosevka-comfy-wide.variants.upright]
-cv38 = 5    # m earless normal middle leg
-
-[buildPlans.iosevka-comfy-wide.variants.italic]
-cv38 = 1    # m straight normal middle leg
-
-[buildPlans.iosevka-comfy-wide.weights.light]
-shape = 300
-menu  = 300
-css   = 300
-
-[buildPlans.iosevka-comfy-wide.weights.semilight]
-shape = 350
-menu  = 350
-css   = 350
-
-[buildPlans.iosevka-comfy-wide.weights.regular]
-shape = 400
-menu  = 400
-css   = 400
-
-[buildPlans.iosevka-comfy-wide.weights.bold]
-shape = 700
-menu  = 700
-css   = 700
-
-[buildPlans.iosevka-comfy-wide.weights.extrabold]
-shape = 800
-menu  = 800
-css   = 800
-
-[buildPlans.iosevka-comfy-wide.slopes.upright]
-angle = 0
-shape = "upright"
-menu  = "upright"
-css   = "normal"
-
-[buildPlans.iosevka-comfy-wide.slopes.italic]
-angle = 9.4
-shape = "italic"
-menu  = "italic"
-css   = "italic"
-
-# For the default width, check buildPlans.iosevka-comfy.widths.normal
-[buildPlans.iosevka-comfy-wide.widths.normal]
-shape = 625
-menu  = 7
-css   = "normal"
-
-[buildPlans.iosevka-comfy-wide.metric-override]
-leading = 1100
-
-
-
-# Like iosevka-comfy-wide but fixed monospace (no ligatures)
-# ----------------------------------------------------------
-[buildPlans.iosevka-comfy-wide-fixed]
-family = "Iosevka Comfy Wide Fixed"
-spacing = "fixed"
-serifs = "sans"
-
-# It seems we can inherit variants, but not weights, slopes, widths,
-# metric-override...
-[buildPlans.iosevka-comfy-wide-fixed.variants]
-inherits = "buildPlans.iosevka-comfy-wide"
-
-[buildPlans.iosevka-comfy-wide-fixed.weights.light]
-shape = 300
-menu  = 300
-css   = 300
-
-[buildPlans.iosevka-comfy-wide-fixed.weights.semilight]
-shape = 350
-menu  = 350
-css   = 350
-
-[buildPlans.iosevka-comfy-wide-fixed.weights.regular]
-shape = 400
-menu  = 400
-css   = 400
-
-[buildPlans.iosevka-comfy-wide-fixed.weights.bold]
-shape = 700
-menu  = 700
-css   = 700
-
-[buildPlans.iosevka-comfy-wide-fixed.weights.extrabold]
-shape = 800
-menu  = 800
-css   = 800
-
-[buildPlans.iosevka-comfy-wide-fixed.slopes.upright]
-angle = 0
-shape = "upright"
-menu  = "upright"
-css   = "normal"
-
-[buildPlans.iosevka-comfy-wide-fixed.slopes.italic]
-angle = 9.4
-shape = "italic"
-menu  = "italic"
-css   = "italic"
-
-# For the default width, check buildPlans.iosevka-comfy.widths.normal
-[buildPlans.iosevka-comfy-wide-fixed.widths.normal]
-shape = 625
-menu  = 7
-css   = "normal"
-
-[buildPlans.iosevka-comfy-wide-fixed.metric-override]
-leading = 1100
diff --git a/pkgs/data/fonts/iosevka/comfy.nix b/pkgs/data/fonts/iosevka/comfy.nix
index 3e42151857f..4921017cf33 100644
--- a/pkgs/data/fonts/iosevka/comfy.nix
+++ b/pkgs/data/fonts/iosevka/comfy.nix
@@ -1,14 +1,17 @@
-{stdenv, lib, nodejs, nodePackages, remarshal, ttfautohint-nox, fetchurl}:
+{ callPackage, lib, fetchFromGitHub }:
 
 let
   sets = [ "comfy" "comfy-fixed" "comfy-duo" "comfy-wide" "comfy-wide-fixed" ];
-  privateBuildPlan = builtins.readFile ./comfy-private-build-plans.toml;
+  version = "0.3.1";
+  src = fetchFromGitHub {
+    owner = "protesilaos";
+    repo = "iosevka-comfy";
+    rev = version;
+    sha256 = "sha256-SMy3Kqve65ZU13lf1vZQR61mH7gcl1DvIZt3yD6tIf4=";
+  };
+  privateBuildPlan = src.outPath + "/private-build-plans.toml";
   overrideAttrs = (attrs: {
-    version = "0.2.1";
-
-    passthru = {
-      updateScript = ./update-comfy.sh;
-    };
+    inherit version;
 
     meta = with lib; {
       homepage = "https://github.com/protesilaos/iosevka-comfy";
@@ -22,8 +25,8 @@ let
       maintainers = [ maintainers.DamienCassou ];
     };
   });
-  makeIosevkaFont = set: (import ./default.nix {
-    inherit stdenv lib nodejs nodePackages remarshal ttfautohint-nox set privateBuildPlan;
+  makeIosevkaFont = set: (callPackage ./. {
+    inherit set privateBuildPlan;
   }).overrideAttrs overrideAttrs;
 in
 builtins.listToAttrs (builtins.map (set: {name=set; value=makeIosevkaFont set;}) sets)
diff --git a/pkgs/data/fonts/iosevka/default.nix b/pkgs/data/fonts/iosevka/default.nix
index c145aad8d7d..b4f64c59d80 100644
--- a/pkgs/data/fonts/iosevka/default.nix
+++ b/pkgs/data/fonts/iosevka/default.nix
@@ -80,16 +80,23 @@ stdenv.mkDerivation rec {
     else privateBuildPlan;
 
   inherit extraParameters;
-  passAsFile = [ "buildPlan" "extraParameters" ];
+  passAsFile = [
+    "extraParameters"
+  ] ++ lib.optional (! (builtins.isString privateBuildPlan && lib.hasPrefix builtins.storeDir privateBuildPlan)) [
+    "buildPlan"
+  ];
 
   configurePhase = ''
     runHook preConfigure
     ${lib.optionalString (builtins.isAttrs privateBuildPlan) ''
       remarshal -i "$buildPlanPath" -o private-build-plans.toml -if json -of toml
     ''}
-    ${lib.optionalString (builtins.isString privateBuildPlan) ''
+    ${lib.optionalString (builtins.isString privateBuildPlan && (!lib.hasPrefix builtins.storeDir privateBuildPlan)) ''
       cp "$buildPlanPath" private-build-plans.toml
     ''}
+    ${lib.optionalString (builtins.isString privateBuildPlan && (lib.hasPrefix builtins.storeDir privateBuildPlan)) ''
+      cp "$buildPlan" private-build-plans.toml
+    ''}
     ${lib.optionalString (extraParameters != null) ''
       echo -e "\n" >> params/parameters.toml
       cat "$extraParametersPath" >> params/parameters.toml
diff --git a/pkgs/data/fonts/iosevka/update-comfy.sh b/pkgs/data/fonts/iosevka/update-comfy.sh
deleted file mode 100755
index 63e68c768dd..00000000000
--- a/pkgs/data/fonts/iosevka/update-comfy.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-#! /usr/bin/env nix-shell
-#! nix-shell -i bash -p curl jq
-
-set -euo pipefail
-cd "$(dirname "${BASH_SOURCE[0]}")"
-
-repo=protesilaos/iosevka-comfy
-oldVersion=$(nix-instantiate --eval -E 'with import ../../../.. {}; lib.getVersion iosevka-comfy.comfy' | tr -d \")
-version=$(curl -s https://api.github.com/repos/$repo/tags | jq '.[0].name' | tr -d \")
-buildPlansUrl=https://raw.githubusercontent.com/$repo/$(echo $version)/private-build-plans.toml
-
-if test "$oldVersion" = "$version"; then
-    echo "New version same as old version, nothing to do." >&2
-    exit 0
-fi
-
-sed --in-place "s/$oldVersion/$version/" comfy.nix
-
-cat  > ./comfy-private-build-plans.toml <<EOF
-# The file below is copy/pasted from
-# $buildPlansUrl. It
-# seems like ofborg will prevent me from using fetchurl to download
-# this file automatically.
-EOF
-
-wget --quiet --output-document=- "$buildPlansUrl" >> ./comfy-private-build-plans.toml
-
-sets=$(grep '^\[buildPlans\.iosevka-comfy[^.]*\]' comfy-private-build-plans.toml \
-           | sed 's/^.*iosevka-\(comfy[^]]*\)].*$/"\1" /' \
-           | tr -d '\n' \
-           | sort)
-
-sed --in-place "s/sets = .*$/sets = [ $sets];/" comfy.nix
diff --git a/pkgs/data/fonts/victor-mono/default.nix b/pkgs/data/fonts/victor-mono/default.nix
index 11d3f1d25ba..e351cea9fdb 100644
--- a/pkgs/data/fonts/victor-mono/default.nix
+++ b/pkgs/data/fonts/victor-mono/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "1.5.3";
+  version = "1.5.4";
 in
 fetchzip {
   name = "victor-mono-${version}";
@@ -25,7 +25,7 @@ fetchzip {
     rm -r $out/{EOT,WOFF,WOFF2}
   '';
 
-  sha256 = "sha256-3TGpUDBJ24NEJb00oaJAHEbjC58bSthohzqM1klVDGA=";
+  sha256 = "sha256-1si0d2lpuXaDcSc3giVMMMbZc/eKbHKU3wmwfYHZ8o0=";
 
   meta = with lib; {
     description = "Free programming font with cursive italics and ligatures";
diff --git a/pkgs/data/icons/kora-icon-theme/default.nix b/pkgs/data/icons/kora-icon-theme/default.nix
index ea321a76359..4c02e9943c2 100644
--- a/pkgs/data/icons/kora-icon-theme/default.nix
+++ b/pkgs/data/icons/kora-icon-theme/default.nix
@@ -1,14 +1,22 @@
-{ lib, stdenvNoCC, fetchFromGitHub , gtk3, adwaita-icon-theme, breeze-icons, hicolor-icon-theme }:
+{ lib
+, stdenvNoCC
+, fetchFromGitHub
+, gtk3
+, adwaita-icon-theme
+, breeze-icons
+, hicolor-icon-theme
+, gitUpdater
+}:
 
 stdenvNoCC.mkDerivation rec  {
   pname = "kora-icon-theme";
-  version = "1.5.2";
+  version = "1.5.3";
 
   src = fetchFromGitHub  {
     owner = "bikass";
     repo = "kora";
     rev = "v${version}";
-    sha256 = "sha256-OwuePPn4seHbzv81pnTEP1Q0Tp1ywZIEmw+dx3bDoXw=";
+    sha256 = "sha256-j4W9w/icGjfkbbb0xYF3NfSFsp5RkNCc805E089JaFQ=";
   };
 
   nativeBuildInputs = [
@@ -27,7 +35,8 @@ stdenvNoCC.mkDerivation rec  {
     runHook preInstall
 
     mkdir -p $out/share/icons
-    mv kora* $out/share/icons/
+    cp -a kora* $out/share/icons/
+    rm $out/share/icons/kora*/create-new-icon-theme.cache.sh
 
     for theme in $out/share/icons/*; do
       gtk-update-icon-cache -f $theme
@@ -36,11 +45,16 @@ stdenvNoCC.mkDerivation rec  {
     runHook postInstall
   '';
 
+  passthru.updateScript = gitUpdater {
+    inherit pname version;
+    rev-prefix = "v";
+  };
+
   meta = with lib; {
     description = "An SVG icon theme in four variants";
     homepage = "https://github.com/bikass/kora";
     license = with licenses; [ gpl3Only ];
     platforms = platforms.linux;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ romildo ];
   };
 }
diff --git a/pkgs/data/icons/oranchelo-icon-theme/default.nix b/pkgs/data/icons/oranchelo-icon-theme/default.nix
index 5c93acbb10a..b676b5956c7 100644
--- a/pkgs/data/icons/oranchelo-icon-theme/default.nix
+++ b/pkgs/data/icons/oranchelo-icon-theme/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "oranchelo-icon-theme";
-  version = "0.8.0.1";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "OrancheloTeam";
     repo = pname;
-    rev = "096c8c8d550ac9a85f5f34f3f30243e6f198df2d";
-    sha256 = "sha256-TKi42SA33pGKdrPtGTpvxFbOP+5N93Y4BvO4CRTveLM=";
+    rev = "v${version}";
+    sha256 = "sha256-IDsZj/X9rFSdDpa3bL6IPEPCRe5GustPteDxSbfz+SA=";
   };
 
   nativeBuildInputs = [
@@ -22,9 +22,18 @@ stdenvNoCC.mkDerivation rec {
 
   dontDropIconThemeCache = true;
 
-  installPhase = ''
-    mkdir -p $out/share/icons
-    cp -r $Oranchelo* $out/share/icons/
+  makeFlags = [
+    "DESTDIR=$(out)"
+    "PREFIX="
+  ];
+
+  postInstall = ''
+    # space in icon name causes gtk-update-icon-cache to fail
+    mv "$out/share/icons/Oranchelo/apps/scalable/ grsync.svg" "$out/share/icons/Oranchelo/apps/scalable/grsync.svg"
+
+    for theme in $out/share/icons/*; do
+      gtk-update-icon-cache "$theme"
+    done
   '';
 
   meta = with lib; {
diff --git a/pkgs/data/icons/papirus-icon-theme/default.nix b/pkgs/data/icons/papirus-icon-theme/default.nix
index 4980f36312c..880fc6f4234 100644
--- a/pkgs/data/icons/papirus-icon-theme/default.nix
+++ b/pkgs/data/icons/papirus-icon-theme/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenvNoCC, fetchFromGitHub, fetchurl, gtk3, pantheon, breeze-icons, gnome-icon-theme, hicolor-icon-theme, papirus-folders, color ? null }:
+{ lib, stdenvNoCC, fetchFromGitHub, gtk3, pantheon, breeze-icons, gnome-icon-theme, hicolor-icon-theme, papirus-folders, color ? null }:
 
 stdenvNoCC.mkDerivation rec {
   pname = "papirus-icon-theme";
-  version = "20220710";
+  version = "20220808";
 
   src = fetchFromGitHub {
     owner = "PapirusDevelopmentTeam";
     repo = pname;
     rev = version;
-    sha256 = "sha256-CInoUlWMmLwc4mMi1krmXr2a2JCWZ7XcPe20wFSNjqk=";
+    sha256 = "sha256-eOsqBIo7Bs/5mbD8x2Q+RO49Cqxd1KoqNbTsiV9RDWg=";
   };
 
   nativeBuildInputs = [ gtk3 papirus-folders ];
diff --git a/pkgs/data/misc/hackage/pin.json b/pkgs/data/misc/hackage/pin.json
index 4ef318f6673..0678176b571 100644
--- a/pkgs/data/misc/hackage/pin.json
+++ b/pkgs/data/misc/hackage/pin.json
@@ -1,6 +1,6 @@
 {
-  "commit": "84a258f1f060f5f31f44b2d966b6e96305932eb2",
-  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/84a258f1f060f5f31f44b2d966b6e96305932eb2.tar.gz",
-  "sha256": "0nyiyxxqa5h46p50jmvrx6sphxy0j8ib2vy3jvfijdpc4d6d5gx6",
-  "msg": "Update from Hackage at 2022-07-27T11:03:11Z"
+  "commit": "7a6596613e0d6549f329cb3c2862b035667e0fc3",
+  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/7a6596613e0d6549f329cb3c2862b035667e0fc3.tar.gz",
+  "sha256": "07sm18dn6lsi8xjhfhm7dyw62lpln9wyhafkigc6f3xaqblz3ap4",
+  "msg": "Update from Hackage at 2022-08-07T14:05:30Z"
 }
diff --git a/pkgs/data/misc/unihan-database/default.nix b/pkgs/data/misc/unihan-database/default.nix
index 02632b92644..8fb065d6b00 100644
--- a/pkgs/data/misc/unihan-database/default.nix
+++ b/pkgs/data/misc/unihan-database/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "unihan-database";
-  version = "12.1.0";
+  version = "14.0.0";
 
   src = fetchurl {
     url = "https://www.unicode.org/Public/zipped/${version}/Unihan.zip";
-    sha256 = "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf";
+    hash = "sha256-KuRRmyuCzU0VN5wX5Xv7EsM8D1TaSXfeA7KwS88RhS0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/data/misc/v2ray-domain-list-community/default.nix b/pkgs/data/misc/v2ray-domain-list-community/default.nix
index 5323348c2f3..8fc5d744850 100644
--- a/pkgs/data/misc/v2ray-domain-list-community/default.nix
+++ b/pkgs/data/misc/v2ray-domain-list-community/default.nix
@@ -3,12 +3,12 @@
 let
   generator = pkgsBuildBuild.buildGoModule rec {
     pname = "v2ray-domain-list-community";
-    version = "20220708161253";
+    version = "20220808014309";
     src = fetchFromGitHub {
       owner = "v2fly";
       repo = "domain-list-community";
       rev = version;
-      sha256 = "sha256-RLfb4DmigoQAKp00RHjGKGjQhCHqxSOLNnphiv1ub8s=";
+      sha256 = "sha256-pqe6AjXDTN71tShD41/tQFljRiH7qJaZ8w5lcTs6dxk=";
     };
     vendorSha256 = "sha256-Igx8yGWWVmVEogvbrosaK13LVs+ZZuYLBNji7iSfzdo=";
     meta = with lib; {
diff --git a/pkgs/data/misc/v2ray-geoip/default.nix b/pkgs/data/misc/v2ray-geoip/default.nix
index 790c323e57f..0788bff7f36 100644
--- a/pkgs/data/misc/v2ray-geoip/default.nix
+++ b/pkgs/data/misc/v2ray-geoip/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "v2ray-geoip";
-  version = "202207070057";
+  version = "202208040058";
 
   src = fetchFromGitHub {
     owner = "v2fly";
     repo = "geoip";
-    rev = "cbabee03cf7b7b60b1167a8a14ba1eba9d9dbb77";
-    sha256 = "sha256-bWhsV7+aj75nd8NDeb5D5UjvCChhtXq9lpkaZN41wDk=";
+    rev = "97174fe0eeb28838b0e5e805687d230df773e661";
+    sha256 = "sha256-hodJ4HQHbv9voSS847pAHd3YSmfkV7fKyJhEUApVN+w=";
   };
 
   installPhase = ''
diff --git a/pkgs/data/themes/arc-kde/default.nix b/pkgs/data/themes/arc-kde/default.nix
index de863524aa2..267e1b8b8b5 100644
--- a/pkgs/data/themes/arc-kde/default.nix
+++ b/pkgs/data/themes/arc-kde/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "arc-kde-theme";
-  version = "20220706";
+  version = "20220810";
 
   src = fetchFromGitHub {
     owner = "PapirusDevelopmentTeam";
     repo = "arc-kde";
     rev = version;
-    sha256 = "sha256-k/+VhqvOg3wkqal7q7nSVpubK/yHnNoTUUWhnxwcIjM=";
+    sha256 = "sha256-atL0sW3AedQl7PabOQOjeJ5U8a4/J4x0rxFCbxJ4ONA=";
   };
 
   makeFlags = [ "PREFIX=$(out)" ];
diff --git a/pkgs/data/themes/catppuccin-gtk/default.nix b/pkgs/data/themes/catppuccin-gtk/default.nix
index ec8c9310024..b9bc042dd09 100644
--- a/pkgs/data/themes/catppuccin-gtk/default.nix
+++ b/pkgs/data/themes/catppuccin-gtk/default.nix
@@ -6,22 +6,22 @@
 , gtk-engine-murrine
 , sassc
 , which
-, tweaks ? [ ]         # can be "nord" "black" "rimless". cannot mix "nord" and "black"
-, size ? "standard"    # can be "standard" "compact"
+, tweaks ? [ ]
+, size ? "standard"
 }:
 let
   validSizes = [ "standard" "compact" ];
-  validTweaks = [ "nord" "black" "rimless" ];
+  validTweaks = [ "nord" "dracula" "black" "rimless" "normal" ];
 
   unknownTweaks = lib.subtractLists validTweaks tweaks;
-  illegalMix = !(lib.elem "nord" tweaks) && !(lib.elem "black" tweaks);
+  illegalMix = !(lib.elem "nord" tweaks) && !(lib.elem "dracula" tweaks);
 
   assertIllegal = lib.assertMsg illegalMix ''
-    Tweaks "nord" and "black" cannot be mixed. Tweaks: ${toString tweaks}
+    Tweaks "nord" and "dracula" cannot be mixed. Tweaks: ${toString tweaks}
   '';
 
   assertSize = lib.assertMsg (lib.elem size validSizes) ''
-    You entered wrong size: ${size}
+    You entered a wrong size: ${size}
     Valid sizes are: ${toString validSizes}
   '';
 
@@ -37,13 +37,13 @@ assert assertUnknown;
 
 stdenvNoCC.mkDerivation rec {
   pname = "catppuccin-gtk";
-  version = "unstable-2022-02-24";
+  version = "unstable-2022-08-01";
 
   src = fetchFromGitHub {
     repo = "gtk";
     owner = "catppuccin";
-    rev = "359c584f607c021fcc657ce77b81c181ebaff6de";
-    sha256 = "sha256-AVhFw1XTnkU0hoM+UyjT7ZevLkePybBATJUMLqRytpk=";
+    rev = "87a79fd2bf07accc694455df30a32a82b1b31f4f";
+    sha256 = "sha256-dKHTQva0BYkO6VPNfY/pzRn/V1ghX+tYqbnM9hTAMeE=";
   };
 
   nativeBuildInputs = [ gtk3 sassc which ];
@@ -52,25 +52,17 @@ stdenvNoCC.mkDerivation rec {
 
   propagatedUserEnvPkgs = [ gtk-engine-murrine ];
 
-  patches = [
-    # Allows installing with `-t all`. Works around missing grey assets.
-    # https://github.com/catppuccin/gtk/issues/17
-    ./grey-fix.patch
-  ];
-
   postPatch = ''
-    patchShebangs --build scripts/*
-    substituteInPlace Makefile \
-      --replace '$(shell git rev-parse --show-toplevel)' "$PWD"
-    substituteInPlace 'scripts/install.sh' \
-      --replace '$(git rev-parse --show-toplevel)' "$PWD"
+    patchShebangs --build clean-old-theme.sh install.sh
   '';
 
   installPhase = ''
     runHook preInstall
 
+    export HOME=$(mktemp -d)
+
     mkdir -p $out/share/themes
-    bash scripts/install.sh -d $out/share/themes -t all \
+    bash install.sh -d $out/share/themes -t all \
       ${lib.optionalString (size != "") "-s ${size}"} \
       ${lib.optionalString (tweaks != []) "--tweaks " + builtins.toString tweaks}
 
@@ -78,7 +70,7 @@ stdenvNoCC.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "Soothing pastel theme for GTK3";
+    description = "Soothing pastel theme for GTK";
     homepage = "https://github.com/catppuccin/gtk";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
diff --git a/pkgs/data/themes/catppuccin-gtk/grey-fix.patch b/pkgs/data/themes/catppuccin-gtk/grey-fix.patch
deleted file mode 100644
index 73f7d8fa65d..00000000000
--- a/pkgs/data/themes/catppuccin-gtk/grey-fix.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/scripts/install.sh b/scripts/install.sh
-index d2a2b86..bd05c93 100755
---- a/scripts/install.sh
-+++ b/scripts/install.sh
-@@ -20,7 +20,7 @@ fi
- SASSC_OPT="-M -t expanded"
- 
- THEME_NAME=Catppuccin
--THEME_VARIANTS=('' '-purple' '-pink' '-red' '-orange' '-yellow' '-green' '-teal' '-grey')
-+THEME_VARIANTS=('' '-purple' '-pink' '-red' '-orange' '-yellow' '-green' '-teal')
- COLOR_VARIANTS=('' '-light' '-dark')
- SIZE_VARIANTS=('' '-compact')
diff --git a/pkgs/data/themes/omni-gtk-theme/default.nix b/pkgs/data/themes/omni-gtk-theme/default.nix
new file mode 100644
index 00000000000..b216eff6193
--- /dev/null
+++ b/pkgs/data/themes/omni-gtk-theme/default.nix
@@ -0,0 +1,34 @@
+{ lib, stdenv, fetchFromGitHub, gtk-engine-murrine }:
+
+stdenv.mkDerivation {
+  pname = "omni-gtk-theme";
+  version = "unstable-2021-03-30";
+
+  src = fetchFromGitHub {
+    owner = "getomni";
+    repo = "gtk";
+    rev = "e81b3fbebebf53369cffe1fb662abc400edb04f7";
+    sha256 = "sha256-NSZjkG+rY6h8d7FYq5kipPAjMDAgyaYAgOOOJlfqBCI=";
+  };
+
+  propagatedUserEnvPkgs = [
+    gtk-engine-murrine
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/themes/Omni
+    cp -a {assets,gnome-shell,gtk-2.0,gtk-3.0,gtk-3.20,index.theme,metacity-1,unity,xfwm4} $out/share/themes/Omni
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Dark theme created by Rocketseat";
+    homepage = "https://github.com/getomni/gtk";
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ zoedsoupe ];
+  };
+}
diff --git a/pkgs/desktops/arcan/arcan/default.nix b/pkgs/desktops/arcan/arcan/default.nix
index 9623a47807d..0cd7e4e0db6 100644
--- a/pkgs/desktops/arcan/arcan/default.nix
+++ b/pkgs/desktops/arcan/arcan/default.nix
@@ -52,14 +52,14 @@
 , useStaticSqlite ? false
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "arcan" + lib.optionalString useStaticOpenAL "-static-openal";
   version = "0.6.2";
 
   src = fetchFromGitHub {
     owner = "letoram";
     repo = "arcan";
-    rev = version;
+    rev = finalAttrs.version;
     hash = "sha256-Qwyt927eLqaCqJ4Lo4J1lQX2A24ke+AH52rmSCTnpO0=";
   };
 
@@ -156,8 +156,8 @@ stdenv.mkDerivation rec {
     substituteInPlace ./src/CMakeLists.txt --replace "SETUID" "# SETUID"
   '';
 
-  # INFO: According to the source code, the manpages need to be generated before
-  # the configure phase
+  # INFO: Arcan build scripts require the manpages to be generated
+  # before the configure phase
   preConfigure = lib.optionalString buildManPages ''
     pushd doc
     ruby docgen.rb mangen
@@ -168,7 +168,7 @@ stdenv.mkDerivation rec {
     "-DBUILD_PRESET=everything"
     # The upstream project recommends tagging the distribution
     "-DDISTR_TAG=Nixpkgs"
-    "-DENGINE_BUILDTAG=${version}"
+    "-DENGINE_BUILDTAG=${finalAttrs.version}"
     "-DHYBRID_SDL=on"
     "-DBUILTIN_LUA=${if useBuiltinLua then "on" else "off"}"
     "-DDISABLE_JIT=${if useBuiltinLua then "on" else "off"}"
@@ -196,4 +196,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.unix;
   };
-}
+})
diff --git a/pkgs/desktops/arcan/durden/default.nix b/pkgs/desktops/arcan/durden/default.nix
index 362e2b7082d..d5e9d0693c8 100644
--- a/pkgs/desktops/arcan/durden/default.nix
+++ b/pkgs/desktops/arcan/durden/default.nix
@@ -3,15 +3,15 @@
 , fetchFromGitHub
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalPackages: {
   pname = "durden";
-  version = "0.6.1+date=2022-05-23";
+  version = "unstable-2022-07-16";
 
   src = fetchFromGitHub {
     owner = "letoram";
-    repo = pname;
-    rev = "9284182bd8b3b976387cd6494c5f605633a559fc";
-    hash = "sha256-K1MjgNyX6qlaHya6Grej0cagORihS35BWECWn2HcRCk=";
+    repo = "durden";
+    rev = "4c9eaf1550d34e10565b545e0f96b1f6b8d26dcd";
+    hash = "sha256-1d+Kg17nxNQeVT/iVa5oPXu96Ivvas9AO/H+NxhB4Yo=";
   };
 
   dontConfigure = true;
@@ -40,4 +40,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.all;
   };
-}
+})
diff --git a/pkgs/desktops/arcan/pipeworld/default.nix b/pkgs/desktops/arcan/pipeworld/default.nix
index 86ab4259640..6954f157d6e 100644
--- a/pkgs/desktops/arcan/pipeworld/default.nix
+++ b/pkgs/desktops/arcan/pipeworld/default.nix
@@ -3,13 +3,13 @@
 , fetchFromGitHub
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalPackages: {
   pname = "pipeworld";
-  version = "0.pre+date=2022-04-03";
+  version = "unstable-2022-04-03";
 
   src = fetchFromGitHub {
     owner = "letoram";
-    repo = pname;
+    repo = "pipeworld";
     rev = "f60d0b93fcd5462f47b1c928c109f5b4cbd74eef";
     hash = "sha256-PNziP5LaUODZwtAHvg8uYt/EyoD3mB5aWIfp7n5a82E=";
   };
@@ -47,4 +47,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.all;
   };
-}
+})
diff --git a/pkgs/desktops/arcan/prio/default.nix b/pkgs/desktops/arcan/prio/default.nix
index 406aea740fc..cc5bef3c3ef 100644
--- a/pkgs/desktops/arcan/prio/default.nix
+++ b/pkgs/desktops/arcan/prio/default.nix
@@ -3,13 +3,13 @@
 , fetchFromGitHub
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalPackages: {
   pname = "prio";
-  version = "0.pre+date=2018-09-13";
+  version = "unstable-2018-09-13";
 
   src = fetchFromGitHub {
     owner = "letoram";
-    repo = pname;
+    repo = finalPackages.pname;
     rev = "c3f97491339d15f063d6937d5f89bcfaea774dd1";
     hash = "sha256-Idv/duEYmDk/rO+TI8n+FY3VFDtUEh8C292jh12BJuM=";
   };
@@ -34,4 +34,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.all;
   };
-}
+})
diff --git a/pkgs/desktops/arcan/xarcan/default.nix b/pkgs/desktops/arcan/xarcan/default.nix
index 0668754d6aa..b979b64a06c 100644
--- a/pkgs/desktops/arcan/xarcan/default.nix
+++ b/pkgs/desktops/arcan/xarcan/default.nix
@@ -36,15 +36,15 @@
 , xtrans
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalPackages: {
   pname = "xarcan";
-  version = "0.6.0+date=2021-08-26";
+  version = "unstable-2022-06-14";
 
   src = fetchFromGitHub {
     owner = "letoram";
-    repo = pname;
-    rev = "e40f0176e495ffdad6e7405c58378df6532eb70d";
-    hash = "sha256-T+1oL7P5MTDkeSfW6OXc1OgfZ8E6e/4YRonf1eXcfIA=";
+    repo = "xarcan";
+    rev = "02111f4925453c0c545e9193c6a5e22c0d4e98c3";
+    hash = "sha256-rp2sNRbv0OZdfyqZfsv/v3TGQY5uyXWqbvlmUDd7iBk=";
   };
 
   nativeBuildInputs = [
@@ -116,4 +116,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.unix;
   };
-}
+})
diff --git a/pkgs/desktops/cinnamon/bulky/default.nix b/pkgs/desktops/cinnamon/bulky/default.nix
index 56cf5a0ff51..bc60bc6bf9d 100644
--- a/pkgs/desktops/cinnamon/bulky/default.nix
+++ b/pkgs/desktops/cinnamon/bulky/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , wrapGAppsHook
 , python3
+, gobject-introspection
 , gsettings-desktop-schemas
 , gettext
 , gtk3
@@ -12,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bulky";
-  version = "1.9";
+  version = "2.4";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "bulky";
     rev = version;
-    hash = "sha256-OCBFhlnEXZROp47KDiy7Y6l4GDVCCP+i1IFYQa7esyg=";
+    hash = "sha256-ynPorkhT/LUkFGNRG6JLDYaQjNPm2vMzthvl0wr7J/M=";
   };
 
   nativeBuildInputs = [
@@ -29,6 +30,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     (python3.withPackages (p: with p; [ pygobject3 magic setproctitle ]))
+    gobject-introspection
     gsettings-desktop-schemas
     gtk3
     glib
@@ -50,6 +52,10 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  postInstall = ''
+    glib-compile-schemas $out/share/glib-2.0/schemas
+  '';
+
   meta = with lib; {
     description = "Bulk rename app";
     homepage = "https://github.com/linuxmint/bulky";
diff --git a/pkgs/desktops/cinnamon/cinnamon-common/default.nix b/pkgs/desktops/cinnamon/cinnamon-common/default.nix
index 303443cc5f9..3581355387e 100644
--- a/pkgs/desktops/cinnamon/cinnamon-common/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-common/default.nix
@@ -1,6 +1,5 @@
 { atk
 , cacert
-, fetchpatch
 , dbus
 , cinnamon-control-center
 , cinnamon-desktop
@@ -8,11 +7,13 @@
 , cinnamon-session
 , cinnamon-translations
 , cjs
+, clutter
 , fetchFromGitHub
 , gdk-pixbuf
 , libgnomekbd
 , glib
 , gobject-introspection
+, gsound
 , gtk3
 , intltool
 , json-glib
@@ -34,7 +35,7 @@
 , python3
 , keybinder3
 , cairo
-, xapps
+, xapp
 , upower
 , nemo
 , libnotify
@@ -47,41 +48,51 @@
 , meson
 , ninja
 , gst_all_1
+, perl
 }:
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-common";
-  version = "5.2.0";
+  version = "5.4.9";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "cinnamon";
     rev = version;
-    hash = "sha256-B2Du2zis0xWeeyh3kSyz1doWImk9Fuk4qQ8HNZZdqdw=";
+    hash = "sha256-nM87NO/dwOd+hN5/3zX7XUjyKvXh4uDhLcGFcKE9ccA=";
   };
 
   patches = [
     ./use-sane-install-dir.patch
     ./libdir.patch
-
-    (fetchpatch {
-      url = "https://github.com/linuxmint/cinnamon/commit/77ed66050f7df889fcb7a10b702c7b8bcdeaa130.patch";
-      sha256 = "sha256-OegLxz6Xr/nxVwVOAd2oOY62ohZ3r6uYn1+YED5EBHQ=";
-    })
   ];
 
   buildInputs = [
-    # TODO: review if we really need this all
-    (python3.withPackages (pp: with pp; [ dbus-python setproctitle pygobject3 pycairo xapp pillow pytz tinycss2 python-pam pexpect distro requests ]))
+    (python3.withPackages (pp: with pp; [
+      dbus-python
+      setproctitle
+      pygobject3
+      pycairo
+      python3.pkgs.xapp # The scope prefix is required
+      pillow
+      pytz
+      tinycss2
+      python-pam
+      pexpect
+      distro
+      requests
+    ]))
     atk
     cacert
     cinnamon-control-center
     cinnamon-desktop
     cinnamon-menus
     cjs
+    clutter
     dbus
     gdk-pixbuf
     glib
+    gsound
     gtk3
     json-glib
     libsoup
@@ -101,7 +112,7 @@ stdenv.mkDerivation rec {
     gnome.caribou
     keybinder3
     upower
-    xapps
+    xapp
     timezonemap
     nemo
     libnotify
@@ -120,6 +131,7 @@ stdenv.mkDerivation rec {
     wrapGAppsHook
     intltool
     gtk-doc
+    perl
   ];
 
   # use locales from cinnamon-translations (not using --localedir because datadir is used)
@@ -135,8 +147,8 @@ stdenv.mkDerivation rec {
 
     sed "s|/usr/share/sounds|/run/current-system/sw/share/sounds|g" -i ./files/usr/share/cinnamon/cinnamon-settings/bin/SettingsWidgets.py
 
-    sed "s|/usr/bin/upload-system-info|${xapps}/bin/upload-system-info|g" -i ./files/usr/share/cinnamon/cinnamon-settings/modules/cs_info.py
-    sed "s|upload-system-info|${xapps}/bin/upload-system-info|g" -i ./files/usr/share/cinnamon/cinnamon-settings/modules/cs_info.py
+    sed "s|/usr/bin/upload-system-info|${xapp}/bin/upload-system-info|g" -i ./files/usr/share/cinnamon/cinnamon-settings/modules/cs_info.py
+    sed "s|upload-system-info|${xapp}/bin/upload-system-info|g" -i ./files/usr/share/cinnamon/cinnamon-settings/modules/cs_info.py
 
     sed "s|/usr/bin/cinnamon-control-center|${cinnamon-control-center}/bin/cinnamon-control-center|g" -i ./files/usr/bin/cinnamon-settings
     # this one really IS optional
@@ -151,6 +163,8 @@ stdenv.mkDerivation rec {
 
     sed "s| cinnamon-session| ${cinnamon-session}/bin/cinnamon-session|g" -i ./files/usr/bin/cinnamon-session-cinnamon  -i ./files/usr/bin/cinnamon-session-cinnamon2d
     sed "s|/usr/bin|$out/bin|g" -i ./files/usr/share/xsessions/cinnamon.desktop ./files/usr/share/xsessions/cinnamon2d.desktop
+
+    patchShebangs src/data-to-c.pl
   '';
 
   passthru = {
diff --git a/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix b/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix
index a105f39ac46..dded4a9ff61 100644
--- a/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix
@@ -14,10 +14,10 @@
 , polkit
 , libxkbfile
 , cinnamon-menus
-, dbus-glib
 , libgnomekbd
 , libxklavier
 , networkmanager
+, libgudev
 , libwacom
 , gnome
 , wrapGAppsHook
@@ -31,17 +31,18 @@
 , ninja
 , cinnamon-translations
 , python3
+, upower
 }:
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-control-center";
-  version = "5.2.0";
+  version = "5.4.6";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-j7+2uLcHr7bO7i8OGqkw3ifawZULNyihhJ+h2D5gx/k=";
+    hash = "sha256-8BDmQT/xDnpwR2YC0TGaqWPnZ61IBmVvft2Mcf6YN+A=";
   };
 
   buildInputs = [
@@ -51,12 +52,12 @@ stdenv.mkDerivation rec {
     libnotify
     cinnamon-menus
     libxml2
-    dbus-glib
     polkit
     libgnomekbd
     libxklavier
     colord
     cinnamon-settings-daemon
+    libgudev
     libwacom
     gnome-online-accounts
     tzdata
@@ -66,6 +67,7 @@ stdenv.mkDerivation rec {
     xorg.libXxf86misc
     xorg.libxkbfile
     gdk-pixbuf
+    upower
   ];
 
   /* ./panels/datetime/test-timezone.c:4:#define TZ_DIR "/usr/share/zoneinfo/"
diff --git a/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix b/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix
index ec786c7bacb..0b9e10e7402 100644
--- a/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-desktop";
-  version = "5.2.0";
+  version = "5.4.2";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-gOlSmcHjBjnLdDpgC5mZ4M3eUBTG3BuET6Kr/Xby14A=";
+    hash = "sha256-U05JiW6PaRAEEQ/uq3wmZSQGohMz4M86Ji9pBl2Azg8=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/desktops/cinnamon/cinnamon-gsettings-overrides/default.nix b/pkgs/desktops/cinnamon/cinnamon-gsettings-overrides/default.nix
index 3066d7fcd80..a3456755045 100644
--- a/pkgs/desktops/cinnamon/cinnamon-gsettings-overrides/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-gsettings-overrides/default.nix
@@ -10,7 +10,7 @@
 
 , muffin
 , nemo
-, xapps
+, xapp
 , cinnamon-desktop
 , cinnamon-session
 , cinnamon-settings-daemon
@@ -28,7 +28,7 @@ let
     bulky
     muffin
     nemo
-    xapps
+    xapp
     cinnamon-desktop
     cinnamon-session
     cinnamon-settings-daemon
diff --git a/pkgs/desktops/cinnamon/cinnamon-menus/default.nix b/pkgs/desktops/cinnamon/cinnamon-menus/default.nix
index 99008b4726e..c3a60d68478 100644
--- a/pkgs/desktops/cinnamon/cinnamon-menus/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-menus/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-menus";
-  version = "5.2.0";
+  version = "5.4.0";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-ioluv/GdWCNGP2jQqsyEbHncCFm8iu69yR8QVKQTJk8=";
+    hash = "sha256-Q4bgaX8nGSWHKHR3+hFTlHtNhSmZW8ZEHi8DaXKQ+fM=";
   };
 
   buildInputs = [
diff --git a/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix b/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix
index 3d84a6a0622..5f0ace4ad1e 100644
--- a/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix
@@ -21,20 +21,21 @@
 , pam
 , accountsservice
 , cairo
-, xapps
+, xapp
+, xdotool
 , xorg
 , iso-flags-png-320x420
 }:
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-screensaver";
-  version = "5.2.0";
+  version = "5.4.2";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-weQ5sw5SY89JFIxamCeLiSLy8xCXGg0Yxj/5Ca5r+6o=";
+    hash = "sha256-GRa3ChUCL/AFDg1F01DNwkC4tmrNaOWoOXwFvwpvSck=";
   };
 
   nativeBuildInputs = [
@@ -60,8 +61,14 @@ stdenv.mkDerivation rec {
     xorg.libX11
     xorg.libXrandr
 
-    (python3.withPackages (pp: with pp; [ pygobject3 setproctitle xapp pycairo ]))
-    xapps
+    (python3.withPackages (pp: with pp; [
+      pygobject3
+      setproctitle
+      python3.pkgs.xapp # The scope prefix is required
+      pycairo
+    ]))
+    xapp
+    xdotool
     pam
     accountsservice
     cairo
@@ -74,11 +81,6 @@ stdenv.mkDerivation rec {
     iso-flags-png-320x420
   ];
 
-  mesonFlags = [
-    # TODO: https://github.com/NixOS/nixpkgs/issues/36468
-    "-Dc_args=-I${glib.dev}/include/gio-unix-2.0"
-  ];
-
   postPatch = ''
     # cscreensaver hardcodes absolute paths everywhere. Nuke from orbit.
     find . -type f -exec sed -i \
diff --git a/pkgs/desktops/cinnamon/cinnamon-session/default.nix b/pkgs/desktops/cinnamon/cinnamon-session/default.nix
index 91c03796a88..261433e6587 100644
--- a/pkgs/desktops/cinnamon/cinnamon-session/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-session/default.nix
@@ -3,8 +3,6 @@
 , cinnamon-settings-daemon
 , cinnamon-translations
 , dbus-glib
-, docbook_xsl
-, docbook_xml_dtd_412
 , glib
 , gsettings-desktop-schemas
 , gtk3
@@ -19,8 +17,7 @@
 , stdenv
 , systemd
 , wrapGAppsHook
-, xapps
-, xmlto
+, xapp
 , xorg
 , libexecinfo
 , pango
@@ -28,13 +25,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-session";
-  version = "5.2.0";
+  version = "5.4.0";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-E5ascwLnpa5NSBAPo9dXRhoraUntzDPHVV32uDU4U8k=";
+    hash = "sha256-m16nf3eC15ZT8eDvRTylBfxsnShkU1Sm8J9qcRGeGQo=";
   };
 
   patches = [
@@ -49,7 +46,7 @@ stdenv.mkDerivation rec {
     pango
     xorg.libX11
     xorg.libXext
-    xapps
+    xapp
     xorg.libXau
     xorg.libXcomposite
 
@@ -73,18 +70,12 @@ stdenv.mkDerivation rec {
     ninja
     wrapGAppsHook
     libexecinfo
-    docbook_xsl
-    docbook_xml_dtd_412
     python3
     pkg-config
     libxslt
-    xmlto
   ];
 
   mesonFlags = [
-    # TODO: https://github.com/NixOS/nixpkgs/issues/36468
-    "-Dc_args=-I${glib.dev}/include/gio-unix-2.0"
-    "-Dgconf=false"
     # use locales from cinnamon-translations
     "--localedir=${cinnamon-translations}/share/locale"
   ];
diff --git a/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix b/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix
index bf83c3d9f59..ed947ee2b50 100644
--- a/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix
@@ -12,7 +12,6 @@
 , libxklavier
 , wrapGAppsHook
 , pkg-config
-, pulseaudio
 , lib
 , stdenv
 , systemd
@@ -22,7 +21,6 @@
 , polkit
 , librsvg
 , libwacom
-, xf86_input_wacom
 , xorg
 , fontconfig
 , tzdata
@@ -30,28 +28,17 @@
 , libgudev
 , meson
 , ninja
-, dbus
-, dbus-glib
 }:
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-settings-daemon";
-  version = "5.2.0";
-
-  /* csd-power-manager.c:50:10: fatal error: csd-power-proxy.h: No such file or directory
-   #include "csd-power-proxy.h"
-            ^~~~~~~~~~~~~~~~~~~
-  compilation terminated. */
-
-  # but this occurs only sometimes, so disabling parallel building
-  # also see https://github.com/linuxmint/cinnamon-settings-daemon/issues/248
-  enableParallelBuilding = false;
+  version = "5.4.5";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-6omif4UxMrXWxL+R9lQ8ogxotW+3E9Kp99toH3PJtaU=";
+    hash = "sha256-qjI1z1MuaI5JFqjHap/+aYDQ0YuP9VNnnY6vy/AaKqs=";
   };
 
   patches = [
@@ -59,8 +46,6 @@ stdenv.mkDerivation rec {
     ./use-sane-install-dir.patch
   ];
 
-  mesonFlags = [ "-Dc_args=-I${glib.dev}/include/gio-unix-2.0" ];
-
   buildInputs = [
     cinnamon-desktop
     colord
@@ -72,7 +57,6 @@ stdenv.mkDerivation rec {
     libgnomekbd
     libnotify
     libxklavier
-    pulseaudio
     systemd
     upower
     dconf
@@ -80,17 +64,13 @@ stdenv.mkDerivation rec {
     polkit
     librsvg
     libwacom
-    xf86_input_wacom
     xorg.libXext
     xorg.libX11
     xorg.libXi
-    xorg.libXtst
     xorg.libXfixes
     fontconfig
     nss
     libgudev
-    dbus
-    dbus-glib
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/cinnamon/cinnamon-translations/default.nix b/pkgs/desktops/cinnamon/cinnamon-translations/default.nix
index f9337f76492..195d0268f3b 100644
--- a/pkgs/desktops/cinnamon/cinnamon-translations/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-translations/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-translations";
-  version = "5.2.0";
+  version = "5.4.2";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-t3PydmS2+LU++2NcosgMr9KTXW0Qy1Re9+YcS3KMDi8=";
+    hash = "sha256-vt60qarNfTX9R5kGOeUBCskKK2zLdEE+ACT0EGvUeao=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/cinnamon/cjs/default.nix b/pkgs/desktops/cinnamon/cjs/default.nix
index 3ac4483c5c9..74b10538183 100644
--- a/pkgs/desktops/cinnamon/cjs/default.nix
+++ b/pkgs/desktops/cinnamon/cjs/default.nix
@@ -8,7 +8,7 @@
 , python3
 , cairo
 , gnome
-, xapps
+, xapp
 , keybinder3
 , upower
 , callPackage
@@ -30,13 +30,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cjs";
-  version = "5.2.0";
+  version = "5.4.1";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "cjs";
     rev = version;
-    hash = "sha256-06sTk513qVMdznSHJzzB3XIPTcfjgxTB2o+ALqwPpHM=";
+    hash = "sha256-8LIVM9+Wt9V7iKUwqTBUTf8LiQ16NE3CYtCJknjl56o=";
   };
 
   outputs = [ "out" "dev" ];
@@ -70,7 +70,7 @@ stdenv.mkDerivation rec {
     gnome.caribou
     keybinder3
     upower
-    xapps
+    xapp
   ];
 
   mesonFlags = [
diff --git a/pkgs/desktops/cinnamon/default.nix b/pkgs/desktops/cinnamon/default.nix
index 7f9d332ed14..5a803c6d487 100644
--- a/pkgs/desktops/cinnamon/default.nix
+++ b/pkgs/desktops/cinnamon/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, lib }:
+{ config, pkgs, lib }:
 
 lib.makeScope pkgs.newScope (self: with self; {
   iso-flags-png-320x420 = pkgs.iso-flags.overrideAttrs (p: p // {
@@ -31,8 +31,11 @@ lib.makeScope pkgs.newScope (self: with self; {
   mint-y-icons = callPackage ./mint-y-icons { };
   muffin = callPackage ./muffin { };
   pix = callPackage ./pix { };
-  xapps = callPackage ./xapps { };
+  xapp = callPackage ./xapp { };
   warpinator = callPackage ./warpinator { };
   xreader = callPackage ./xreader { };
   xviewer = callPackage ./xviewer { };
-})
+}) // lib.optionalAttrs config.allowAliases {
+  # Aliases need to be outside the scope or they will shadow the attributes from parent scope.
+  xapps = pkgs.cinnamon.xapp; # added 2022-07-27
+}
diff --git a/pkgs/desktops/cinnamon/mint-artwork/default.nix b/pkgs/desktops/cinnamon/mint-artwork/default.nix
index abc7c172cb7..16ad1729407 100644
--- a/pkgs/desktops/cinnamon/mint-artwork/default.nix
+++ b/pkgs/desktops/cinnamon/mint-artwork/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mint-artwork";
-  version = "1.5.4";
+  version = "1.6.0";
 
   src = fetchurl {
     url = "http://packages.linuxmint.com/pool/main/m/mint-artwork/mint-artwork_${version}.tar.xz";
-    hash = "sha256-ZRJK1fzIF36BdUlVhLwdFdfgQvN2ashzjgpCxoOIbK8=";
+    hash = "sha256-un5T56zzN2vRVp42RHczDEKwrweSeygASkFJU5LXCDo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/cinnamon/mint-themes/default.nix b/pkgs/desktops/cinnamon/mint-themes/default.nix
index f25cb9df2fd..bfb2d74e8ea 100644
--- a/pkgs/desktops/cinnamon/mint-themes/default.nix
+++ b/pkgs/desktops/cinnamon/mint-themes/default.nix
@@ -8,14 +8,14 @@
 
 stdenv.mkDerivation rec {
   pname = "mint-themes";
-  version = "1.8.8";
+  version = "2.0.4";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     # they don't exactly do tags, it's just a named commit
-    rev = "a833fba6917043bf410dee4364c9a36af1ce4c83";
-    hash = "sha256-8abjjD0XoApvqB8SNlWsqIEp7ozgiERGS0kWglw2DWA=";
+    rev = "73d6cfea807ea84a645f43424c60916cb6214693";
+    hash = "sha256-WyEabE3K7xuBzXuLqJO0N4nxrc67bKT5YD9yn/bELl0=";
   };
 
   nativeBuildInputs = [
@@ -29,8 +29,10 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
+    runHook preInstall
     mkdir -p $out
     mv usr/share $out
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/desktops/cinnamon/mint-x-icons/default.nix b/pkgs/desktops/cinnamon/mint-x-icons/default.nix
index bfcc95c4ff9..2a57e0571ed 100644
--- a/pkgs/desktops/cinnamon/mint-x-icons/default.nix
+++ b/pkgs/desktops/cinnamon/mint-x-icons/default.nix
@@ -11,14 +11,14 @@
 
 stdenv.mkDerivation rec {
   pname = "mint-x-icons";
-  version = "1.6.3";
+  version = "1.6.4";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     # they don't exactly do tags, it's just a named commit
-    rev = "286eb4acdfc3e3c77572dfd0cd70ffd4208d3a35";
-    hash = "sha256-mZkCEBC1O2mW8rM1kpOWdC5CwIeafyBS95cMY6x1yco=";
+    rev = "4ab3c314db1b3751d87d5769629b28ac0ca3c671";
+    hash = "sha256-cPRae3EjzVtAL1Ei2LB4UNUU/m87mFT94xY/NnNR6JM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/desktops/cinnamon/mint-y-icons/default.nix b/pkgs/desktops/cinnamon/mint-y-icons/default.nix
index c1afd2828d2..212de964622 100644
--- a/pkgs/desktops/cinnamon/mint-y-icons/default.nix
+++ b/pkgs/desktops/cinnamon/mint-y-icons/default.nix
@@ -9,14 +9,14 @@
 
 stdenv.mkDerivation rec {
   pname = "mint-y-icons";
-  version = "1.5.8";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     # they don't exactly do tags, it's just a named commit
-    rev = "9489bd161e9503d071227dd36057386a34cfc0a3";
-    hash = "sha256-53yTCWNSJjCpVvrxLfsiaCPNDEZWxJgGVAmVNMNql2M=";
+    rev = "57d16eb85f2af40be17e2232d279bb65b689f5b7";
+    hash = "sha256-voFYz0MiuqyNSngi4QZUJKDIjggQWOAV5B30zMP8iTk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/desktops/cinnamon/muffin/default.nix b/pkgs/desktops/cinnamon/muffin/default.nix
index 6f35d6b5901..bf385a8186d 100644
--- a/pkgs/desktops/cinnamon/muffin/default.nix
+++ b/pkgs/desktops/cinnamon/muffin/default.nix
@@ -1,100 +1,104 @@
-{ fetchFromGitHub
+{ stdenv
+, lib
+, fetchFromGitHub
+, substituteAll
+, cairo
 , cinnamon-desktop
+, dbus
+, desktop-file-utils
 , glib
-, file
 , gnome
-, gnome-doc-utils
-, fetchpatch
 , gobject-introspection
+, graphene
 , gtk3
-, intltool
 , json-glib
+, libcanberra
+, libdrm
+, libgnomekbd
+, libgudev
 , libinput
 , libstartup_notification
-, libXtst
+, libwacom
+, libXdamage
 , libxkbcommon
+, libXtst
+, mesa
+, meson
+, ninja
+, pipewire
 , pkg-config
-, lib
-, stdenv
+, python3
 , udev
-, xorg
 , wrapGAppsHook
-, pango
-, cairo
-, gtk-doc
-, docbook_xsl
-, docbook_xml_dtd_43
-, docbook_xml_dtd_42
-, docbook_xml_dtd_412
-, autoconf
-, automake
-, gettext
-, libtool
+, xorgserver
 }:
 
-# it's a frankensteins monster with some cinnamon sparkles added on top of it
-
 stdenv.mkDerivation rec {
   pname = "muffin";
-  version = "5.2.0";
+  version = "5.4.5";
+
+  outputs = [ "out" "dev" "man" ];
+
+  patches = [
+    (substituteAll {
+      src = ./fix-paths.patch;
+      zenity = gnome.zenity;
+    })
+  ];
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-WAp0HbfRtwsPjJX1kPBqUStqLaudQPZ8E+h4jmggmw8=";
+    hash = "sha256-gtki0MTIMI1JggtVn0dAhkq364hkTuH7Zf7CF32Lc8E=";
   };
 
+  nativeBuildInputs = [
+    desktop-file-utils
+    mesa # needed for gbm
+    meson
+    ninja
+    pkg-config
+    python3
+    wrapGAppsHook
+    xorgserver # for cvt command
+  ];
+
   buildInputs = [
-    gtk3
-    glib
-    pango
     cairo
-    json-glib
     cinnamon-desktop
-    xorg.libXcomposite
-    xorg.libXcursor
-    xorg.libXdamage
-    xorg.libXext
-    xorg.libXfixes
-    xorg.libXi
-    xorg.libxkbfile
-    xorg.xkeyboardconfig
-
-    libxkbcommon
-    gnome.zenity
+    dbus
+    glib
+    gobject-introspection
+    gtk3
+    libcanberra
+    libdrm
+    libgnomekbd
+    libgudev
     libinput
     libstartup_notification
-    libXtst
+    libwacom
+    libXdamage
+    libxkbcommon
+    pipewire
     udev
-    gobject-introspection
   ];
 
-  nativeBuildInputs = [
-    autoconf
-    automake
-    gettext
-    libtool
-    wrapGAppsHook
-    pkg-config
-    intltool
-
-    gnome-doc-utils
-    gtk-doc
-    docbook_xsl
-    docbook_xml_dtd_43
-    docbook_xml_dtd_42
-    docbook_xml_dtd_412
+  propagatedBuildInputs = [
+    # required for pkg-config to detect muffin-clutter
+    json-glib
+    libXtst
+    graphene
   ];
 
-  preConfigure = ''
-    NOCONFIGURE=1 ./autogen.sh
+  postPatch = ''
+    patchShebangs src/backends/native/gen-default-modes.py
   '';
 
   meta = with lib; {
     homepage = "https://github.com/linuxmint/muffin";
     description = "The window management library for the Cinnamon desktop (libmuffin) and its sample WM binary (muffin)";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = teams.cinnamon.members;
   };
diff --git a/pkgs/desktops/cinnamon/muffin/fix-paths.patch b/pkgs/desktops/cinnamon/muffin/fix-paths.patch
new file mode 100644
index 00000000000..6ac0a431f61
--- /dev/null
+++ b/pkgs/desktops/cinnamon/muffin/fix-paths.patch
@@ -0,0 +1,13 @@
+diff --git a/src/core/util.c b/src/core/util.c
+index 57b73747d..f424cc81c 100644
+--- a/src/core/util.c
++++ b/src/core/util.c
+@@ -636,7 +636,7 @@ meta_show_dialog (const char *type,
+ 
+   args = g_ptr_array_new ();
+ 
+-  append_argument (args, "zenity");
++  append_argument (args, "@zenity@/bin/zenity");
+   append_argument (args, type);
+ 
+   if (display)
diff --git a/pkgs/desktops/cinnamon/nemo/default.nix b/pkgs/desktops/cinnamon/nemo/default.nix
index e8bf145e502..4b013050ad8 100644
--- a/pkgs/desktops/cinnamon/nemo/default.nix
+++ b/pkgs/desktops/cinnamon/nemo/default.nix
@@ -10,10 +10,9 @@
 , wrapGAppsHook
 , libxml2
 , gtk3
-, libnotify
 , gvfs
 , cinnamon-desktop
-, xapps
+, xapp
 , libexif
 , exempi
 , intltool
@@ -24,7 +23,7 @@
 
 stdenv.mkDerivation rec {
   pname = "nemo";
-  version = "5.2.4";
+  version = "5.4.2";
 
   # TODO: add plugins support (see https://github.com/NixOS/nixpkgs/issues/78327)
 
@@ -32,7 +31,7 @@ stdenv.mkDerivation rec {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "sha256-v63dFiBKtLCmRnwJ6u814lSv+tfPG+IIJtcWCnOEZjk=";
+    sha256 = "sha256-Xn9CgGe7j2APaJRLvx58z2w+sN7ZeDScQz53ZBBnsQs=";
   };
 
   outputs = [ "out" "dev" ];
@@ -40,10 +39,9 @@ stdenv.mkDerivation rec {
   buildInputs = [
     glib
     gtk3
-    libnotify
     cinnamon-desktop
     libxml2
-    xapps
+    xapp
     libexif
     exempi
     gvfs
@@ -61,8 +59,6 @@ stdenv.mkDerivation rec {
   ];
 
   mesonFlags = [
-    # TODO: https://github.com/NixOS/nixpkgs/issues/36468
-    "-Dc_args=-I${glib.dev}/include/gio-unix-2.0"
     # use locales from cinnamon-translations
     "--localedir=${cinnamon-translations}/share/locale"
   ];
diff --git a/pkgs/desktops/cinnamon/pix/default.nix b/pkgs/desktops/cinnamon/pix/default.nix
index b5477cfeb0d..ebd116882a8 100644
--- a/pkgs/desktops/cinnamon/pix/default.nix
+++ b/pkgs/desktops/cinnamon/pix/default.nix
@@ -16,7 +16,7 @@
 , pkg-config
 , shared-mime-info
 , wrapGAppsHook
-, xapps
+, xapp
 , yelp-tools
 , libsecret
 , webkitgtk
@@ -29,13 +29,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pix";
-  version = "2.8.4";
+  version = "2.8.7";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "sha256-yB8nLGvJZOViD+i4IkKN0yCDl5wRCvEbjzPDs7ZRMNA=";
+    sha256 = "sha256-aID0jxOMFegkcAflTY0VevZyN1HFivkTFi3has8MOY0=";
   };
 
   nativeBuildInputs = [
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     glib
     gtk3
-    xapps
+    xapp
     libsecret
     webkitgtk
     libwebp
diff --git a/pkgs/desktops/cinnamon/warpinator/default.nix b/pkgs/desktops/cinnamon/warpinator/default.nix
index 8ed66dc54d5..ecd4aeec16c 100644
--- a/pkgs/desktops/cinnamon/warpinator/default.nix
+++ b/pkgs/desktops/cinnamon/warpinator/default.nix
@@ -14,7 +14,7 @@
 
 python3.pkgs.buildPythonApplication rec  {
   pname = "warpinator";
-  version = "1.2.5";
+  version = "1.2.13";
 
   format = "other";
 
@@ -22,7 +22,7 @@ python3.pkgs.buildPythonApplication rec  {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-pTLM4CrkBLEZS9IdM9IBSGH0WPOj1rlAgvWLOUy6MxY=";
+    hash = "sha256-iLImyfUsfn+mWrgMv5NnbOvvOlJnwJG4Btx1wwlgTeM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/cinnamon/xapps/default.nix b/pkgs/desktops/cinnamon/xapp/default.nix
index 7927026166a..655284f20d8 100644
--- a/pkgs/desktops/cinnamon/xapps/default.nix
+++ b/pkgs/desktops/cinnamon/xapp/default.nix
@@ -1,4 +1,5 @@
 { fetchFromGitHub
+, fetchpatch
 , glib
 , gobject-introspection
 , gtk3
@@ -21,23 +22,27 @@
 }:
 
 stdenv.mkDerivation rec {
-  pname = "xapps";
-  version = "2.2.8";
+  pname = "xapp";
+  version = "2.2.14";
 
   outputs = [ "out" "dev" ];
 
+  patches = [
+    # Add missing gio-unix-2.0 dependency, can be removed on next update
+    # https://github.com/linuxmint/xapp/pull/156
+    (fetchpatch {
+      url = "https://github.com/linuxmint/xapp/commit/052081f75d1c1212aeb6a913772723c81607bcb3.patch";
+      sha256 = "sha256-VL70Y1FIa7lQ/zKjEx0GhaU1QRu4z6Yu400/bDbgZgM=";
+    })
+  ];
+
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-70troRGklu5xGjBIrGvshcOX/UT96hIEFXyo4yj2GT4=";
+    hash = "sha256-BebsS7y/hRQSc4rYOIWJ+sSJ5fLZaCpNAE48JnviUUc=";
   };
 
-  # TODO: https://github.com/NixOS/nixpkgs/issues/36468
-  NIX_CFLAGS_COMPILE = [
-    "-I${glib.dev}/include/gio-unix-2.0"
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
@@ -91,7 +96,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "https://github.com/linuxmint/xapps";
+    homepage = "https://github.com/linuxmint/xapp";
     description = "Cross-desktop libraries and common resources";
     license = licenses.lgpl3;
     platforms = platforms.linux;
diff --git a/pkgs/desktops/cinnamon/xreader/default.nix b/pkgs/desktops/cinnamon/xreader/default.nix
index 9864e1c0e18..67983d50569 100644
--- a/pkgs/desktops/cinnamon/xreader/default.nix
+++ b/pkgs/desktops/cinnamon/xreader/default.nix
@@ -8,7 +8,7 @@
 , gtk3
 , wrapGAppsHook
 , libxml2
-, xapps
+, xapp
 , meson
 , pkg-config
 , cairo
@@ -26,13 +26,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xreader";
-  version = "3.3.0";
+  version = "3.4.3";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "sha256-wBrP5SHGPvH/Gz9QY253zQuf8WSjV19oNB5aIqXGLZ8=";
+    sha256 = "sha256-GkJo/wc5StyeQv0pv5XK0Qy3o8EGpfPYY8gOMq0Afgs=";
   };
 
   nativeBuildInputs = [
@@ -47,13 +47,12 @@ stdenv.mkDerivation rec {
 
   mesonFlags = [
     "-Dmathjax-directory=${nodePackages.mathjax}"
-    "-Dc_args=-I${glib.dev}/include/gio-unix-2.0"
   ] ++ (map (x: "-D${x}=true") backends);
 
   buildInputs = [
     glib
     gtk3
-    xapps
+    xapp
     cairo
     libxml2
     libsecret
diff --git a/pkgs/desktops/cinnamon/xviewer/default.nix b/pkgs/desktops/cinnamon/xviewer/default.nix
index 5f5720c253b..2c55f614024 100644
--- a/pkgs/desktops/cinnamon/xviewer/default.nix
+++ b/pkgs/desktops/cinnamon/xviewer/default.nix
@@ -1,64 +1,67 @@
 { stdenv
 , lib
 , fetchFromGitHub
-, autoreconfHook
 , cinnamon-desktop
-, file
+, docbook_xsl
+, exempi
 , gdk-pixbuf
 , glib
 , gobject-introspection
-, gtk-doc
 , gtk3
-, intltool
+, gtk-doc
 , itstool
 , lcms2
 , libexif
 , libjpeg
 , libpeas
-, libtool
+, librsvg
 , libxml2
+, meson
+, ninja
 , pkg-config
-, shared-mime-info
+, python3
 , wrapGAppsHook
-, xapps
+, xapp
 , yelp-tools
 }:
 
 stdenv.mkDerivation rec {
   pname = "xviewer";
-  version = "3.2.4";
+  version = "3.2.10";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "sha256-OyHSBXtJ/TExl06NLUAaIZq4u0+fI3YGQ37HRZeNP+0=";
+    sha256 = "sha256-c3K9yjeaAlyXqgxzHgnLXgqwaB5Fdw+mS9jricy8QA8=";
   };
 
   nativeBuildInputs = [
-    wrapGAppsHook
-    autoreconfHook
     cinnamon-desktop
+    docbook_xsl
     gdk-pixbuf
     gobject-introspection
     gtk-doc
-    intltool
     itstool
-    libtool
+    meson
+    ninja
     pkg-config
+    python3
+    wrapGAppsHook
     yelp-tools
   ];
 
   buildInputs = [
+    exempi
     glib
     gtk3
+    lcms2
     libexif
     libjpeg
     libpeas
+    librsvg
     libxml2
-    shared-mime-info
-    xapps
-    lcms2
+    xapp
   ];
 
   meta = with lib; {
diff --git a/pkgs/desktops/gnome/apps/accerciser/default.nix b/pkgs/desktops/gnome/apps/accerciser/default.nix
index 9c099f65295..7d4f5969d0d 100644
--- a/pkgs/desktops/gnome/apps/accerciser/default.nix
+++ b/pkgs/desktops/gnome/apps/accerciser/default.nix
@@ -17,13 +17,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "accerciser";
-  version = "3.38.0";
+  version = "3.40.0";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0fd9vv2abd2if2qj4nlfy7mpd7rc4sx18zhmxd5ijlnfhkpggbp5";
+    sha256 = "U3VF1kgTwtKxSne2TiQBABXpl3z1+zz4qmXbzgHqNiU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/core/gnome-shell/default.nix b/pkgs/desktops/gnome/core/gnome-shell/default.nix
index cb7ba1ce5cf..079e64ad3dd 100644
--- a/pkgs/desktops/gnome/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-shell/default.nix
@@ -184,6 +184,7 @@ stdenv.mkDerivation rec {
 
     # We can generate it ourselves.
     rm -f man/gnome-shell.1
+    rm data/theme/gnome-shell.css
   '';
 
   preFixup = ''
diff --git a/pkgs/desktops/gnome/core/gnome-system-monitor/default.nix b/pkgs/desktops/gnome/core/gnome-system-monitor/default.nix
index 5d24a23e411..aad4744935b 100644
--- a/pkgs/desktops/gnome/core/gnome-system-monitor/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-system-monitor/default.nix
@@ -30,6 +30,11 @@ stdenv.mkDerivation rec {
     sha256 = "EyOdIgMiAaIr0pgzxXW2hIFnANLeFooVMCI1d8XAddw=";
   };
 
+  patches = [
+    # Fix pkexec detection on NixOS.
+    ./fix-paths.patch
+  ];
+
   nativeBuildInputs = [
     pkg-config
     gettext
diff --git a/pkgs/desktops/gnome/core/gnome-system-monitor/fix-paths.patch b/pkgs/desktops/gnome/core/gnome-system-monitor/fix-paths.patch
new file mode 100644
index 00000000000..ab6e845ae4b
--- /dev/null
+++ b/pkgs/desktops/gnome/core/gnome-system-monitor/fix-paths.patch
@@ -0,0 +1,13 @@
+diff --git a/src/gsm_pkexec.cpp b/src/gsm_pkexec.cpp
+index 868969ba..51eb93b5 100644
+--- a/src/gsm_pkexec.cpp
++++ b/src/gsm_pkexec.cpp
+@@ -33,6 +33,7 @@ gboolean gsm_pkexec_create_root_password_dialog(const char *command)
+ gboolean
+ procman_has_pkexec(void)
+ {
+-    return g_file_test("/usr/bin/pkexec", G_FILE_TEST_EXISTS);
++    return g_file_test("/run/wrappers/bin/pkexec", G_FILE_TEST_EXISTS)
++        || g_file_test("/usr/bin/pkexec", G_FILE_TEST_EXISTS);
+ }
+ 
diff --git a/pkgs/desktops/gnome/extensions/extensions.json b/pkgs/desktops/gnome/extensions/extensions.json
index 82b35eccb3b..2403a8e792b 100644
--- a/pkgs/desktops/gnome/extensions/extensions.json
+++ b/pkgs/desktops/gnome/extensions/extensions.json
@@ -28,7 +28,7 @@
 , {"uuid": "impatience@gfxmonk.net", "name": "Impatience", "pname": "impatience", "description": "Speed up the gnome-shell animation speed", "link": "https://extensions.gnome.org/extension/277/impatience/", "shell_version_map": {"40": {"version": "20", "sha256": "19pr55n6mzxcwbg2cz1kmrk2wmcx22mmfqkdcx7m7rlvnvxs5pgg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNwZWVkIHVwIHRoZSBnbm9tZS1zaGVsbCBhbmltYXRpb24gc3BlZWQiLAogICJuYW1lIjogIkltcGF0aWVuY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9nZnhtb25rLm5ldC9kaXN0LzBpbnN0YWxsL2dub21lLXNoZWxsLWltcGF0aWVuY2UueG1sIiwKICAidXVpZCI6ICJpbXBhdGllbmNlQGdmeG1vbmsubmV0IiwKICAidmVyc2lvbiI6IDIwCn0="}, "41": {"version": "20", "sha256": "19pr55n6mzxcwbg2cz1kmrk2wmcx22mmfqkdcx7m7rlvnvxs5pgg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNwZWVkIHVwIHRoZSBnbm9tZS1zaGVsbCBhbmltYXRpb24gc3BlZWQiLAogICJuYW1lIjogIkltcGF0aWVuY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9nZnhtb25rLm5ldC9kaXN0LzBpbnN0YWxsL2dub21lLXNoZWxsLWltcGF0aWVuY2UueG1sIiwKICAidXVpZCI6ICJpbXBhdGllbmNlQGdmeG1vbmsubmV0IiwKICAidmVyc2lvbiI6IDIwCn0="}, "42": {"version": "20", "sha256": "19pr55n6mzxcwbg2cz1kmrk2wmcx22mmfqkdcx7m7rlvnvxs5pgg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNwZWVkIHVwIHRoZSBnbm9tZS1zaGVsbCBhbmltYXRpb24gc3BlZWQiLAogICJuYW1lIjogIkltcGF0aWVuY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9nZnhtb25rLm5ldC9kaXN0LzBpbnN0YWxsL2dub21lLXNoZWxsLWltcGF0aWVuY2UueG1sIiwKICAidXVpZCI6ICJpbXBhdGllbmNlQGdmeG1vbmsubmV0IiwKICAidmVyc2lvbiI6IDIwCn0="}}}
 , {"uuid": "windowoverlay-icons@sustmidown.centrum.cz", "name": "WindowOverlay Icons", "pname": "windowoverlay-icons", "description": "Add application icons to window overview", "link": "https://extensions.gnome.org/extension/302/windowoverlay-icons/", "shell_version_map": {"38": {"version": "37", "sha256": "108a5i5v62a9i61av5pib3b0hcpmb6pw3np7c29jfngs25n14wd3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhcHBsaWNhdGlvbiBpY29ucyB0byB3aW5kb3cgb3ZlcnZpZXciLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aW5kb3dvdmVybGF5LWljb25zIiwKICAibmFtZSI6ICJXaW5kb3dPdmVybGF5IEljb25zIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndpbmRvd292ZXJsYXktaWNvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdXN0bWkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXdpbmRvd292ZXJsYXktaWNvbnMiLAogICJ1dWlkIjogIndpbmRvd292ZXJsYXktaWNvbnNAc3VzdG1pZG93bi5jZW50cnVtLmN6IiwKICAidmVyc2lvbiI6IDM3Cn0="}}}
 , {"uuid": "dash-to-dock@micxgx.gmail.com", "name": "Dash to Dock", "pname": "dash-to-dock", "description": "A dock for the Gnome Shell. This extension moves the dash out of the overview transforming it in a dock for an easier launching of applications and a faster switching between windows and desktops. Side and bottom placement options are available.", "link": "https://extensions.gnome.org/extension/307/dash-to-dock/", "shell_version_map": {"38": {"version": "69", "sha256": "1nmqg875lxbxn8plwgmsrkhq126hcv56yl6iyq5wc4ljp98niaw0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZG9jayBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBvdXQgb2YgdGhlIG92ZXJ2aWV3IHRyYW5zZm9ybWluZyBpdCBpbiBhIGRvY2sgZm9yIGFuIGVhc2llciBsYXVuY2hpbmcgb2YgYXBwbGljYXRpb25zIGFuZCBhIGZhc3RlciBzd2l0Y2hpbmcgYmV0d2VlbiB3aW5kb3dzIGFuZCBkZXNrdG9wcy4gU2lkZSBhbmQgYm90dG9tIHBsYWNlbWVudCBvcHRpb25zIGFyZSBhdmFpbGFibGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaHRvZG9jayIsCiAgIm5hbWUiOiAiRGFzaCB0byBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIm1pY3hneEBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vbWljaGVsZWcuZ2l0aHViLmlvL2Rhc2gtdG8tZG9jay8iLAogICJ1dWlkIjogImRhc2gtdG8tZG9ja0BtaWN4Z3guZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDY5Cn0="}, "40": {"version": "71", "sha256": "071zxnbkh946x1fm16ddwlknaig15cm0dl7kvw97vhx6cw6668c3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZG9jayBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBvdXQgb2YgdGhlIG92ZXJ2aWV3IHRyYW5zZm9ybWluZyBpdCBpbiBhIGRvY2sgZm9yIGFuIGVhc2llciBsYXVuY2hpbmcgb2YgYXBwbGljYXRpb25zIGFuZCBhIGZhc3RlciBzd2l0Y2hpbmcgYmV0d2VlbiB3aW5kb3dzIGFuZCBkZXNrdG9wcy4gU2lkZSBhbmQgYm90dG9tIHBsYWNlbWVudCBvcHRpb25zIGFyZSBhdmFpbGFibGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaHRvZG9jayIsCiAgIm5hbWUiOiAiRGFzaCB0byBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIm1pY3hneEBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9taWNoZWxlZy5naXRodWIuaW8vZGFzaC10by1kb2NrLyIsCiAgInV1aWQiOiAiZGFzaC10by1kb2NrQG1pY3hneC5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNzEKfQ=="}, "41": {"version": "71", "sha256": "071zxnbkh946x1fm16ddwlknaig15cm0dl7kvw97vhx6cw6668c3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZG9jayBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBvdXQgb2YgdGhlIG92ZXJ2aWV3IHRyYW5zZm9ybWluZyBpdCBpbiBhIGRvY2sgZm9yIGFuIGVhc2llciBsYXVuY2hpbmcgb2YgYXBwbGljYXRpb25zIGFuZCBhIGZhc3RlciBzd2l0Y2hpbmcgYmV0d2VlbiB3aW5kb3dzIGFuZCBkZXNrdG9wcy4gU2lkZSBhbmQgYm90dG9tIHBsYWNlbWVudCBvcHRpb25zIGFyZSBhdmFpbGFibGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaHRvZG9jayIsCiAgIm5hbWUiOiAiRGFzaCB0byBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIm1pY3hneEBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9taWNoZWxlZy5naXRodWIuaW8vZGFzaC10by1kb2NrLyIsCiAgInV1aWQiOiAiZGFzaC10by1kb2NrQG1pY3hneC5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNzEKfQ=="}}}
-, {"uuid": "mythtv-fnx@fnxweb.com", "name": "MythTV", "pname": "mythtv", "description": "Displays MythTV status (free space and upcoming recordings)", "link": "https://extensions.gnome.org/extension/321/mythtv/", "shell_version_map": {"38": {"version": "10", "sha256": "070h11gk5zpxn5xbc71skdz174hbb72l0isia2vp7d9wy4ackl0k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIE15dGhUViBzdGF0dXMgKGZyZWUgc3BhY2UgYW5kIHVwY29taW5nIHJlY29yZGluZ3MpIiwKICAibmFtZSI6ICJNeXRoVFYiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mbnh3ZWIvZ25vbWUtc2hlbGwtbXl0aHR2IiwKICAidXVpZCI6ICJteXRodHYtZm54QGZueHdlYi5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "41": {"version": "12", "sha256": "188wd1g2rpp4igfdlnr28r95z14y4sj28mnwnk3wwv6wrpq47n4y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIE15dGhUViBzdGF0dXMgKGZyZWUgc3BhY2UgYW5kIHVwY29taW5nIHJlY29yZGluZ3MpIiwKICAibmFtZSI6ICJNeXRoVFYiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ZueHdlYi9nbm9tZS1zaGVsbC1teXRodHYiLAogICJ1dWlkIjogIm15dGh0di1mbnhAZm54d2ViLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}, "42": {"version": "12", "sha256": "188wd1g2rpp4igfdlnr28r95z14y4sj28mnwnk3wwv6wrpq47n4y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIE15dGhUViBzdGF0dXMgKGZyZWUgc3BhY2UgYW5kIHVwY29taW5nIHJlY29yZGluZ3MpIiwKICAibmFtZSI6ICJNeXRoVFYiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ZueHdlYi9nbm9tZS1zaGVsbC1teXRodHYiLAogICJ1dWlkIjogIm15dGh0di1mbnhAZm54d2ViLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}}}
+, {"uuid": "mythtv-fnx@fnxweb.com", "name": "MythTV", "pname": "mythtv", "description": "Displays MythTV status (free space and upcoming recordings)", "link": "https://extensions.gnome.org/extension/321/mythtv/", "shell_version_map": {"38": {"version": "10", "sha256": "070h11gk5zpxn5xbc71skdz174hbb72l0isia2vp7d9wy4ackl0k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIE15dGhUViBzdGF0dXMgKGZyZWUgc3BhY2UgYW5kIHVwY29taW5nIHJlY29yZGluZ3MpIiwKICAibmFtZSI6ICJNeXRoVFYiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mbnh3ZWIvZ25vbWUtc2hlbGwtbXl0aHR2IiwKICAidXVpZCI6ICJteXRodHYtZm54QGZueHdlYi5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "41": {"version": "13", "sha256": "1zacmlidmkf1jys1cvwpx4yqkjj6hp0bdpw83gnmg7rmgnyls39d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIE15dGhUViBzdGF0dXMgKGZyZWUgc3BhY2UgYW5kIHVwY29taW5nIHJlY29yZGluZ3MpIiwKICAibmFtZSI6ICJNeXRoVFYiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ZueHdlYi9nbm9tZS1zaGVsbC1teXRodHYiLAogICJ1dWlkIjogIm15dGh0di1mbnhAZm54d2ViLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}, "42": {"version": "13", "sha256": "1zacmlidmkf1jys1cvwpx4yqkjj6hp0bdpw83gnmg7rmgnyls39d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIE15dGhUViBzdGF0dXMgKGZyZWUgc3BhY2UgYW5kIHVwY29taW5nIHJlY29yZGluZ3MpIiwKICAibmFtZSI6ICJNeXRoVFYiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ZueHdlYi9nbm9tZS1zaGVsbC1teXRodHYiLAogICJ1dWlkIjogIm15dGh0di1mbnhAZm54d2ViLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}}}
 , {"uuid": "middleclickclose@paolo.tranquilli.gmail.com", "name": "Quick Close in Overview", "pname": "middle-click-to-close-in-overview", "description": "Close windows with a button click (the middle one by default) when in overview mode", "link": "https://extensions.gnome.org/extension/352/middle-click-to-close-in-overview/", "shell_version_map": {"38": {"version": "17", "sha256": "1nv6cjyiz1i7fddh21h0zmrvzfi3y70y1f0xsv2zd0rfg6rf0r77", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHdpbmRvd3Mgd2l0aCBhIGJ1dHRvbiBjbGljayAodGhlIG1pZGRsZSBvbmUgYnkgZGVmYXVsdCkgd2hlbiBpbiBvdmVydmlldyBtb2RlIiwKICAibG9jYWxlIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJRdWljayBDbG9zZSBpbiBPdmVydmlldyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiUGFvbG8gVHJhbnF1aWxsaSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWlkZGxlY2xpY2tjbG9zZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3A5MXBhdWwvbWlkZGxlY2xpY2tjbG9zZSIsCiAgInV1aWQiOiAibWlkZGxlY2xpY2tjbG9zZUBwYW9sby50cmFucXVpbGxpLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxNwp9"}, "40": {"version": "23", "sha256": "1zbnizandqdsakncs3q7p6ylagdf49v5wz658vx47mh4mzbmisfa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHdpbmRvd3Mgd2l0aCBhIGJ1dHRvbiBjbGljayAodGhlIG1pZGRsZSBvbmUgYnkgZGVmYXVsdCkgd2hlbiBpbiBvdmVydmlldyBtb2RlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWlkZGxlY2xpY2tjbG9zZSIsCiAgImxvY2FsZSI6ICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiUXVpY2sgQ2xvc2UgaW4gT3ZlcnZpZXciLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIlBhb2xvIFRyYW5xdWlsbGkiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1pZGRsZWNsaWNrY2xvc2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3A5MXBhdWwvbWlkZGxlY2xpY2tjbG9zZSIsCiAgInV1aWQiOiAibWlkZGxlY2xpY2tjbG9zZUBwYW9sby50cmFucXVpbGxpLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMwp9"}, "41": {"version": "23", "sha256": "1zbnizandqdsakncs3q7p6ylagdf49v5wz658vx47mh4mzbmisfa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHdpbmRvd3Mgd2l0aCBhIGJ1dHRvbiBjbGljayAodGhlIG1pZGRsZSBvbmUgYnkgZGVmYXVsdCkgd2hlbiBpbiBvdmVydmlldyBtb2RlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWlkZGxlY2xpY2tjbG9zZSIsCiAgImxvY2FsZSI6ICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiUXVpY2sgQ2xvc2UgaW4gT3ZlcnZpZXciLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIlBhb2xvIFRyYW5xdWlsbGkiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1pZGRsZWNsaWNrY2xvc2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3A5MXBhdWwvbWlkZGxlY2xpY2tjbG9zZSIsCiAgInV1aWQiOiAibWlkZGxlY2xpY2tjbG9zZUBwYW9sby50cmFucXVpbGxpLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMwp9"}, "42": {"version": "25", "sha256": "1f4xppshgyh8mzc6jslscd2rjj1qj4vb6ikc1lrrqsn2i5lb76pw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHdpbmRvd3Mgd2l0aCBhIGJ1dHRvbiBjbGljayAodGhlIG1pZGRsZSBvbmUgYnkgZGVmYXVsdCkgd2hlbiBpbiBvdmVydmlldyBtb2RlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWlkZGxlY2xpY2tjbG9zZSIsCiAgImxvY2FsZSI6ICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiUXVpY2sgQ2xvc2UgaW4gT3ZlcnZpZXciLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIlBhb2xvIFRyYW5xdWlsbGkiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1pZGRsZWNsaWNrY2xvc2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcDkxcGF1bC9taWRkbGVjbGlja2Nsb3NlIiwKICAidXVpZCI6ICJtaWRkbGVjbGlja2Nsb3NlQHBhb2xvLnRyYW5xdWlsbGkuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDI1Cn0="}}}
 , {"uuid": "status-area-horizontal-spacing@mathematical.coffee.gmail.com", "name": "Status Area Horizontal Spacing", "pname": "status-area-horizontal-spacing", "description": "Reduce the horizontal spacing between icons in the top-right status area", "link": "https://extensions.gnome.org/extension/355/status-area-horizontal-spacing/", "shell_version_map": {"38": {"version": "16", "sha256": "05hhj10hlcpbgd9sbvq89vxzqj6ndf21syas8zidy6yfy613b6l3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlZHVjZSB0aGUgaG9yaXpvbnRhbCBzcGFjaW5nIGJldHdlZW4gaWNvbnMgaW4gdGhlIHRvcC1yaWdodCBzdGF0dXMgYXJlYSIsCiAgImRldi12ZXJzaW9uIjogIjIuMS40IiwKICAibmFtZSI6ICJTdGF0dXMgQXJlYSBIb3Jpem9udGFsIFNwYWNpbmciLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjQiLAogICAgIjMuNiIsCiAgICAiMy44IiwKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcDkxcGF1bC9zdGF0dXMtYXJlYS1ob3Jpem9udGFsLXNwYWNpbmctZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJzdGF0dXMtYXJlYS1ob3Jpem9udGFsLXNwYWNpbmdAbWF0aGVtYXRpY2FsLmNvZmZlZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "40": {"version": "21", "sha256": "1szpxz6ybvq76di2a6bkyv234v0afw2bn12xjcgdzpzvxzr9y3da", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlZHVjZSB0aGUgaG9yaXpvbnRhbCBzcGFjaW5nIGJldHdlZW4gaWNvbnMgaW4gdGhlIHRvcC1yaWdodCBzdGF0dXMgYXJlYSIsCiAgImRldi12ZXJzaW9uIjogIjIuMS40IiwKICAiZ2V0dGV4dC1kb21haW4iOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAibmFtZSI6ICJTdGF0dXMgQXJlYSBIb3Jpem9udGFsIFNwYWNpbmciLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcDkxcGF1bC9zdGF0dXMtYXJlYS1ob3Jpem9udGFsLXNwYWNpbmctZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJzdGF0dXMtYXJlYS1ob3Jpem9udGFsLXNwYWNpbmdAbWF0aGVtYXRpY2FsLmNvZmZlZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjEKfQ=="}, "41": {"version": "21", "sha256": "1szpxz6ybvq76di2a6bkyv234v0afw2bn12xjcgdzpzvxzr9y3da", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlZHVjZSB0aGUgaG9yaXpvbnRhbCBzcGFjaW5nIGJldHdlZW4gaWNvbnMgaW4gdGhlIHRvcC1yaWdodCBzdGF0dXMgYXJlYSIsCiAgImRldi12ZXJzaW9uIjogIjIuMS40IiwKICAiZ2V0dGV4dC1kb21haW4iOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAibmFtZSI6ICJTdGF0dXMgQXJlYSBIb3Jpem9udGFsIFNwYWNpbmciLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcDkxcGF1bC9zdGF0dXMtYXJlYS1ob3Jpem9udGFsLXNwYWNpbmctZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJzdGF0dXMtYXJlYS1ob3Jpem9udGFsLXNwYWNpbmdAbWF0aGVtYXRpY2FsLmNvZmZlZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjEKfQ=="}, "42": {"version": "22", "sha256": "02a68p0j8w434bvgq2s1q4hkj7pvs9b9kgsyfkbncqp44j8aqnwh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlZHVjZSB0aGUgaG9yaXpvbnRhbCBzcGFjaW5nIGJldHdlZW4gaWNvbnMgaW4gdGhlIHRvcC1yaWdodCBzdGF0dXMgYXJlYSIsCiAgImRldi12ZXJzaW9uIjogIjIuMS40IiwKICAiZ2V0dGV4dC1kb21haW4iOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAibmFtZSI6ICJTdGF0dXMgQXJlYSBIb3Jpem9udGFsIFNwYWNpbmciLAogICJzZXNzaW9uLW1vZGVzIjogWwogICAgInVzZXIiLAogICAgInVubG9jay1kaWFsb2ciCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN0YXR1cy1hcmVhLWhvcml6b250YWwtc3BhY2luZyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9wOTFwYXVsL3N0YXR1cy1hcmVhLWhvcml6b250YWwtc3BhY2luZy1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInN0YXR1cy1hcmVhLWhvcml6b250YWwtc3BhY2luZ0BtYXRoZW1hdGljYWwuY29mZmVlLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMgp9"}}}
 , {"uuid": "activities-config@nls1729", "name": "Activities Configurator", "pname": "activities-configurator", "description": "Activities Configurator, activities-config@nls1729 -  Effective March 29, 2021 the extension is NOT MAINTAINED.  I give my permission to anyone who may want to become the maintainer.  I do not have the free time or energy necessary to maintain the extension.\n\nConfigure the Activities Button and Top Panel. Select an icon. Change the text. Disable Hot Corner or set the Hot Corner Threshold. Set Panel Background color and transparency plus much more to enhance your desktop.  Click the icon or text with the secondary mouse button to launch the GS Extension Prefs.", "link": "https://extensions.gnome.org/extension/358/activities-configurator/", "shell_version_map": {"38": {"version": "89", "sha256": "1z00smimg5fj6ri35g80bvfzzy5xxxrgwy4idsakphszdwryi8ny", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFjdGl2aXRpZXMgQ29uZmlndXJhdG9yLCBhY3Rpdml0aWVzLWNvbmZpZ0BubHMxNzI5IC0gIEVmZmVjdGl2ZSBNYXJjaCAyOSwgMjAyMSB0aGUgZXh0ZW5zaW9uIGlzIE5PVCBNQUlOVEFJTkVELiAgSSBnaXZlIG15IHBlcm1pc3Npb24gdG8gYW55b25lIHdobyBtYXkgd2FudCB0byBiZWNvbWUgdGhlIG1haW50YWluZXIuICBJIGRvIG5vdCBoYXZlIHRoZSBmcmVlIHRpbWUgb3IgZW5lcmd5IG5lY2Vzc2FyeSB0byBtYWludGFpbiB0aGUgZXh0ZW5zaW9uLlxuXG5Db25maWd1cmUgdGhlIEFjdGl2aXRpZXMgQnV0dG9uIGFuZCBUb3AgUGFuZWwuIFNlbGVjdCBhbiBpY29uLiBDaGFuZ2UgdGhlIHRleHQuIERpc2FibGUgSG90IENvcm5lciBvciBzZXQgdGhlIEhvdCBDb3JuZXIgVGhyZXNob2xkLiBTZXQgUGFuZWwgQmFja2dyb3VuZCBjb2xvciBhbmQgdHJhbnNwYXJlbmN5IHBsdXMgbXVjaCBtb3JlIHRvIGVuaGFuY2UgeW91ciBkZXNrdG9wLiAgQ2xpY2sgdGhlIGljb24gb3IgdGV4dCB3aXRoIHRoZSBzZWNvbmRhcnkgbW91c2UgYnV0dG9uIHRvIGxhdW5jaCB0aGUgR1MgRXh0ZW5zaW9uIFByZWZzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJhY3Rpdml0aWVzLWNvbmZpZyIsCiAgImdldHRleHQtZG9tYWluIjogImFjdGl2aXRpZXMtY29uZmlnLWV4dGVuc2lvbiIsCiAgIm5hbWUiOiAiQWN0aXZpdGllcyBDb25maWd1cmF0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWN0aXZpdGllcy1jb25maWciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vbmxzMTcyOS5naXRodWIuaW8vYWN0aXZpdGllc19jb25maWcuaHRtbCIsCiAgInV1aWQiOiAiYWN0aXZpdGllcy1jb25maWdAbmxzMTcyOSIsCiAgInZlcnNpb24iOiA4OQp9"}}}
@@ -38,7 +38,7 @@
 , {"uuid": "caffeine@patapon.info", "name": "Caffeine", "pname": "caffeine", "description": "Disable the screensaver and auto suspend", "link": "https://extensions.gnome.org/extension/517/caffeine/", "shell_version_map": {"38": {"version": "37", "sha256": "05g1910jcwkjl9gmvnk57ip20sbzy09mk4v6q2fm0pg8398v0vhf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgdGhlIHNjcmVlbnNhdmVyIGFuZCBhdXRvIHN1c3BlbmQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tY2FmZmVpbmUiLAogICJuYW1lIjogIkNhZmZlaW5lIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNhZmZlaW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZW9ucGF0YXBvbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tY2FmZmVpbmUiLAogICJ1dWlkIjogImNhZmZlaW5lQHBhdGFwb24uaW5mbyIsCiAgInZlcnNpb24iOiAzNwp9"}, "40": {"version": "41", "sha256": "0b3as6l7gd2k0swrgl0dah92l5gyia2slikllrakp2dfvpvxyd2g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgdGhlIHNjcmVlbnNhdmVyIGFuZCBhdXRvIHN1c3BlbmQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tY2FmZmVpbmUiLAogICJuYW1lIjogIkNhZmZlaW5lIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNhZmZlaW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZW9ucGF0YXBvbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tY2FmZmVpbmUiLAogICJ1dWlkIjogImNhZmZlaW5lQHBhdGFwb24uaW5mbyIsCiAgInZlcnNpb24iOiA0MQp9"}, "41": {"version": "41", "sha256": "0b3as6l7gd2k0swrgl0dah92l5gyia2slikllrakp2dfvpvxyd2g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgdGhlIHNjcmVlbnNhdmVyIGFuZCBhdXRvIHN1c3BlbmQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tY2FmZmVpbmUiLAogICJuYW1lIjogIkNhZmZlaW5lIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNhZmZlaW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZW9ucGF0YXBvbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tY2FmZmVpbmUiLAogICJ1dWlkIjogImNhZmZlaW5lQHBhdGFwb24uaW5mbyIsCiAgInZlcnNpb24iOiA0MQp9"}, "42": {"version": "41", "sha256": "0b3as6l7gd2k0swrgl0dah92l5gyia2slikllrakp2dfvpvxyd2g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgdGhlIHNjcmVlbnNhdmVyIGFuZCBhdXRvIHN1c3BlbmQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tY2FmZmVpbmUiLAogICJuYW1lIjogIkNhZmZlaW5lIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNhZmZlaW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZW9ucGF0YXBvbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tY2FmZmVpbmUiLAogICJ1dWlkIjogImNhZmZlaW5lQHBhdGFwb24uaW5mbyIsCiAgInZlcnNpb24iOiA0MQp9"}}}
 , {"uuid": "backslide@codeisland.org", "name": "BackSlide", "pname": "backslide", "description": "Automatic background-image (wallpaper) slideshow for Gnome Shell", "link": "https://extensions.gnome.org/extension/543/backslide/", "shell_version_map": {"38": {"version": "18", "sha256": "1vm4w61cksj9ya5z4xcy7h96bk0wwi5njp0lyhnqa8j2fgsq5iin", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpYyBiYWNrZ3JvdW5kLWltYWdlICh3YWxscGFwZXIpIHNsaWRlc2hvdyBmb3IgR25vbWUgU2hlbGwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYWNrc2xpZGUiLAogICJuYW1lIjogIkJhY2tTbGlkZSIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJMdWthcyBLbnV0aCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9iaXRidWNrZXQub3JnL0x1a2FzS251dGgvYmFja3NsaWRlIiwKICAidXVpZCI6ICJiYWNrc2xpZGVAY29kZWlzbGFuZC5vcmciLAogICJ2ZXJzaW9uIjogMTgKfQ=="}, "40": {"version": "24", "sha256": "0an1w35sbv5w7826xa3k8nl8hc3krxkzc8nhvgcp48z75n2wdksl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpYyBiYWNrZ3JvdW5kLWltYWdlICh3YWxscGFwZXIpIHNsaWRlc2hvdyBmb3IgR25vbWUgU2hlbGwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYWNrc2xpZGUiLAogICJuYW1lIjogIkJhY2tTbGlkZSIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJMdWthcyBLbnV0aCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2JpdGJ1Y2tldC5vcmcvTHVrYXNLbnV0aC9iYWNrc2xpZGUiLAogICJ1dWlkIjogImJhY2tzbGlkZUBjb2RlaXNsYW5kLm9yZyIsCiAgInZlcnNpb24iOiAyNAp9"}, "41": {"version": "24", "sha256": "0an1w35sbv5w7826xa3k8nl8hc3krxkzc8nhvgcp48z75n2wdksl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpYyBiYWNrZ3JvdW5kLWltYWdlICh3YWxscGFwZXIpIHNsaWRlc2hvdyBmb3IgR25vbWUgU2hlbGwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYWNrc2xpZGUiLAogICJuYW1lIjogIkJhY2tTbGlkZSIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJMdWthcyBLbnV0aCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2JpdGJ1Y2tldC5vcmcvTHVrYXNLbnV0aC9iYWNrc2xpZGUiLAogICJ1dWlkIjogImJhY2tzbGlkZUBjb2RlaXNsYW5kLm9yZyIsCiAgInZlcnNpb24iOiAyNAp9"}, "42": {"version": "25", "sha256": "0kq3cpwwxl7d6rhan8y5fz12j1nga0n8bd4r5prs983sxb18xb6y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpYyBiYWNrZ3JvdW5kLWltYWdlICh3YWxscGFwZXIpIHNsaWRlc2hvdyBmb3IgR25vbWUgU2hlbGwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYWNrc2xpZGUiLAogICJuYW1lIjogIkJhY2tTbGlkZSIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJMdWthcyBLbnV0aCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vYml0YnVja2V0Lm9yZy9MdWthc0tudXRoL2JhY2tzbGlkZSIsCiAgInV1aWQiOiAiYmFja3NsaWRlQGNvZGVpc2xhbmQub3JnIiwKICAidmVyc2lvbiI6IDI1Cn0="}}}
 , {"uuid": "historymanager-prefix-search@sustmidown.centrum.cz", "name": "HistoryManager Prefix Search", "pname": "historymanager-prefix-search", "description": "Use PageUp and PageDown to move in HistoryManager (eg. RunCommand, Looking Glass) according to prefix", "link": "https://extensions.gnome.org/extension/544/historymanager-prefix-search/", "shell_version_map": {"40": {"version": "14", "sha256": "1n6gac80xrk6lhlj29zb03h62ia0a66va0i9pmjgqbg3bs74yds0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVzZSBQYWdlVXAgYW5kIFBhZ2VEb3duIHRvIG1vdmUgaW4gSGlzdG9yeU1hbmFnZXIgKGVnLiBSdW5Db21tYW5kLCBMb29raW5nIEdsYXNzKSBhY2NvcmRpbmcgdG8gcHJlZml4IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaGlzdG9yeW1hbmFnZXItcHJlZml4LXNlYXJjaCIsCiAgIm5hbWUiOiAiSGlzdG9yeU1hbmFnZXIgUHJlZml4IFNlYXJjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5oaXN0b3J5bWFuYWdlci1wcmVmaXgtc2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjYiLAogICAgIjMuOCIsCiAgICAiMy43LjMiLAogICAgIjMuMTAiLAogICAgIjMuMTIiLAogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3VzdG1pL2dub21lLXNoZWxsLWV4dGVuc2lvbi1oaXN0b3J5bWFuYWdlci1wcmVmaXgtc2VhcmNoIiwKICAidXVpZCI6ICJoaXN0b3J5bWFuYWdlci1wcmVmaXgtc2VhcmNoQHN1c3RtaWRvd24uY2VudHJ1bS5jeiIsCiAgInZlcnNpb24iOiAxNAp9"}}}
-, {"uuid": "hidetopbar@mathieu.bidon.ca", "name": "Hide Top Bar", "pname": "hide-top-bar", "description": "Hides the top bar, except in overview. However, there is an option to show the panel whenever the mouse pointer approaches the edge of the screen. And if \"intellihide\" is enabled, the panel only hides when a window takes the space.\n\n- Press backspace to remove keyboard shortcut.\n- Log off and on again when there is an error after upgrading.", "link": "https://extensions.gnome.org/extension/545/hide-top-bar/", "shell_version_map": {"38": {"version": "107", "sha256": "0hcja35hvwlsgan7344j2bs8ky8p67icnqc0dpghb2aayn6wa103", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSB0b3AgYmFyLCBleGNlcHQgaW4gb3ZlcnZpZXcuIEhvd2V2ZXIsIHRoZXJlIGlzIGFuIG9wdGlvbiB0byBzaG93IHRoZSBwYW5lbCB3aGVuZXZlciB0aGUgbW91c2UgcG9pbnRlciBhcHByb2FjaGVzIHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4uIEFuZCBpZiBcImludGVsbGloaWRlXCIgaXMgZW5hYmxlZCwgdGhlIHBhbmVsIG9ubHkgaGlkZXMgd2hlbiBhIHdpbmRvdyB0YWtlcyB0aGUgc3BhY2UuXG5cbi0gUHJlc3MgYmFja3NwYWNlIHRvIHJlbW92ZSBrZXlib2FyZCBzaG9ydGN1dC5cbi0gTG9nIG9mZiBhbmQgb24gYWdhaW4gd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhZnRlciB1cGdyYWRpbmcuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGlkZXRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21sdXRmeS9oaWRldG9wYmFyIiwKICAidXVpZCI6ICJoaWRldG9wYmFyQG1hdGhpZXUuYmlkb24uY2EiLAogICJ2ZXJzaW9uIjogMTA3Cn0="}, "40": {"version": "107", "sha256": "0hcja35hvwlsgan7344j2bs8ky8p67icnqc0dpghb2aayn6wa103", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSB0b3AgYmFyLCBleGNlcHQgaW4gb3ZlcnZpZXcuIEhvd2V2ZXIsIHRoZXJlIGlzIGFuIG9wdGlvbiB0byBzaG93IHRoZSBwYW5lbCB3aGVuZXZlciB0aGUgbW91c2UgcG9pbnRlciBhcHByb2FjaGVzIHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4uIEFuZCBpZiBcImludGVsbGloaWRlXCIgaXMgZW5hYmxlZCwgdGhlIHBhbmVsIG9ubHkgaGlkZXMgd2hlbiBhIHdpbmRvdyB0YWtlcyB0aGUgc3BhY2UuXG5cbi0gUHJlc3MgYmFja3NwYWNlIHRvIHJlbW92ZSBrZXlib2FyZCBzaG9ydGN1dC5cbi0gTG9nIG9mZiBhbmQgb24gYWdhaW4gd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhZnRlciB1cGdyYWRpbmcuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGlkZXRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21sdXRmeS9oaWRldG9wYmFyIiwKICAidXVpZCI6ICJoaWRldG9wYmFyQG1hdGhpZXUuYmlkb24uY2EiLAogICJ2ZXJzaW9uIjogMTA3Cn0="}, "41": {"version": "107", "sha256": "0hcja35hvwlsgan7344j2bs8ky8p67icnqc0dpghb2aayn6wa103", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSB0b3AgYmFyLCBleGNlcHQgaW4gb3ZlcnZpZXcuIEhvd2V2ZXIsIHRoZXJlIGlzIGFuIG9wdGlvbiB0byBzaG93IHRoZSBwYW5lbCB3aGVuZXZlciB0aGUgbW91c2UgcG9pbnRlciBhcHByb2FjaGVzIHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4uIEFuZCBpZiBcImludGVsbGloaWRlXCIgaXMgZW5hYmxlZCwgdGhlIHBhbmVsIG9ubHkgaGlkZXMgd2hlbiBhIHdpbmRvdyB0YWtlcyB0aGUgc3BhY2UuXG5cbi0gUHJlc3MgYmFja3NwYWNlIHRvIHJlbW92ZSBrZXlib2FyZCBzaG9ydGN1dC5cbi0gTG9nIG9mZiBhbmQgb24gYWdhaW4gd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhZnRlciB1cGdyYWRpbmcuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGlkZXRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21sdXRmeS9oaWRldG9wYmFyIiwKICAidXVpZCI6ICJoaWRldG9wYmFyQG1hdGhpZXUuYmlkb24uY2EiLAogICJ2ZXJzaW9uIjogMTA3Cn0="}, "42": {"version": "107", "sha256": "0hcja35hvwlsgan7344j2bs8ky8p67icnqc0dpghb2aayn6wa103", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSB0b3AgYmFyLCBleGNlcHQgaW4gb3ZlcnZpZXcuIEhvd2V2ZXIsIHRoZXJlIGlzIGFuIG9wdGlvbiB0byBzaG93IHRoZSBwYW5lbCB3aGVuZXZlciB0aGUgbW91c2UgcG9pbnRlciBhcHByb2FjaGVzIHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4uIEFuZCBpZiBcImludGVsbGloaWRlXCIgaXMgZW5hYmxlZCwgdGhlIHBhbmVsIG9ubHkgaGlkZXMgd2hlbiBhIHdpbmRvdyB0YWtlcyB0aGUgc3BhY2UuXG5cbi0gUHJlc3MgYmFja3NwYWNlIHRvIHJlbW92ZSBrZXlib2FyZCBzaG9ydGN1dC5cbi0gTG9nIG9mZiBhbmQgb24gYWdhaW4gd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhZnRlciB1cGdyYWRpbmcuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGlkZXRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21sdXRmeS9oaWRldG9wYmFyIiwKICAidXVpZCI6ICJoaWRldG9wYmFyQG1hdGhpZXUuYmlkb24uY2EiLAogICJ2ZXJzaW9uIjogMTA3Cn0="}}}
+, {"uuid": "hidetopbar@mathieu.bidon.ca", "name": "Hide Top Bar", "pname": "hide-top-bar", "description": "Hides the top bar, except in overview. However, there is an option to show the panel whenever the mouse pointer approaches the edge of the screen. And if \"intellihide\" is enabled, the panel only hides when a window takes the space.\n\n- Press backspace to remove keyboard shortcut.\n- Log off and on again when there is an error after upgrading.", "link": "https://extensions.gnome.org/extension/545/hide-top-bar/", "shell_version_map": {"38": {"version": "108", "sha256": "1iv4idgbvb1q615yhj9421xp2rbhf733yz404ff744f0g92rw6n8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSB0b3AgYmFyLCBleGNlcHQgaW4gb3ZlcnZpZXcuIEhvd2V2ZXIsIHRoZXJlIGlzIGFuIG9wdGlvbiB0byBzaG93IHRoZSBwYW5lbCB3aGVuZXZlciB0aGUgbW91c2UgcG9pbnRlciBhcHByb2FjaGVzIHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4uIEFuZCBpZiBcImludGVsbGloaWRlXCIgaXMgZW5hYmxlZCwgdGhlIHBhbmVsIG9ubHkgaGlkZXMgd2hlbiBhIHdpbmRvdyB0YWtlcyB0aGUgc3BhY2UuXG5cbi0gUHJlc3MgYmFja3NwYWNlIHRvIHJlbW92ZSBrZXlib2FyZCBzaG9ydGN1dC5cbi0gTG9nIG9mZiBhbmQgb24gYWdhaW4gd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhZnRlciB1cGdyYWRpbmcuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGlkZXRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1eG9yMTMzNy9oaWRldG9wYmFyIiwKICAidXVpZCI6ICJoaWRldG9wYmFyQG1hdGhpZXUuYmlkb24uY2EiLAogICJ2ZXJzaW9uIjogMTA4Cn0="}, "40": {"version": "108", "sha256": "1iv4idgbvb1q615yhj9421xp2rbhf733yz404ff744f0g92rw6n8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSB0b3AgYmFyLCBleGNlcHQgaW4gb3ZlcnZpZXcuIEhvd2V2ZXIsIHRoZXJlIGlzIGFuIG9wdGlvbiB0byBzaG93IHRoZSBwYW5lbCB3aGVuZXZlciB0aGUgbW91c2UgcG9pbnRlciBhcHByb2FjaGVzIHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4uIEFuZCBpZiBcImludGVsbGloaWRlXCIgaXMgZW5hYmxlZCwgdGhlIHBhbmVsIG9ubHkgaGlkZXMgd2hlbiBhIHdpbmRvdyB0YWtlcyB0aGUgc3BhY2UuXG5cbi0gUHJlc3MgYmFja3NwYWNlIHRvIHJlbW92ZSBrZXlib2FyZCBzaG9ydGN1dC5cbi0gTG9nIG9mZiBhbmQgb24gYWdhaW4gd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhZnRlciB1cGdyYWRpbmcuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGlkZXRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1eG9yMTMzNy9oaWRldG9wYmFyIiwKICAidXVpZCI6ICJoaWRldG9wYmFyQG1hdGhpZXUuYmlkb24uY2EiLAogICJ2ZXJzaW9uIjogMTA4Cn0="}, "41": {"version": "108", "sha256": "1iv4idgbvb1q615yhj9421xp2rbhf733yz404ff744f0g92rw6n8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSB0b3AgYmFyLCBleGNlcHQgaW4gb3ZlcnZpZXcuIEhvd2V2ZXIsIHRoZXJlIGlzIGFuIG9wdGlvbiB0byBzaG93IHRoZSBwYW5lbCB3aGVuZXZlciB0aGUgbW91c2UgcG9pbnRlciBhcHByb2FjaGVzIHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4uIEFuZCBpZiBcImludGVsbGloaWRlXCIgaXMgZW5hYmxlZCwgdGhlIHBhbmVsIG9ubHkgaGlkZXMgd2hlbiBhIHdpbmRvdyB0YWtlcyB0aGUgc3BhY2UuXG5cbi0gUHJlc3MgYmFja3NwYWNlIHRvIHJlbW92ZSBrZXlib2FyZCBzaG9ydGN1dC5cbi0gTG9nIG9mZiBhbmQgb24gYWdhaW4gd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhZnRlciB1cGdyYWRpbmcuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGlkZXRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1eG9yMTMzNy9oaWRldG9wYmFyIiwKICAidXVpZCI6ICJoaWRldG9wYmFyQG1hdGhpZXUuYmlkb24uY2EiLAogICJ2ZXJzaW9uIjogMTA4Cn0="}, "42": {"version": "108", "sha256": "1iv4idgbvb1q615yhj9421xp2rbhf733yz404ff744f0g92rw6n8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSB0b3AgYmFyLCBleGNlcHQgaW4gb3ZlcnZpZXcuIEhvd2V2ZXIsIHRoZXJlIGlzIGFuIG9wdGlvbiB0byBzaG93IHRoZSBwYW5lbCB3aGVuZXZlciB0aGUgbW91c2UgcG9pbnRlciBhcHByb2FjaGVzIHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4uIEFuZCBpZiBcImludGVsbGloaWRlXCIgaXMgZW5hYmxlZCwgdGhlIHBhbmVsIG9ubHkgaGlkZXMgd2hlbiBhIHdpbmRvdyB0YWtlcyB0aGUgc3BhY2UuXG5cbi0gUHJlc3MgYmFja3NwYWNlIHRvIHJlbW92ZSBrZXlib2FyZCBzaG9ydGN1dC5cbi0gTG9nIG9mZiBhbmQgb24gYWdhaW4gd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhZnRlciB1cGdyYWRpbmcuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGlkZXRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1eG9yMTMzNy9oaWRldG9wYmFyIiwKICAidXVpZCI6ICJoaWRldG9wYmFyQG1hdGhpZXUuYmlkb24uY2EiLAogICJ2ZXJzaW9uIjogMTA4Cn0="}}}
 , {"uuid": "hdate@hatul.info", "name": "Gnome HDate", "pname": "gnome-hdate", "description": "Show Hebrew Date in the Panel.\nRequires libhdate-glib", "link": "https://extensions.gnome.org/extension/554/gnome-hdate/", "shell_version_map": {"40": {"version": "23", "sha256": "14n41x3808gp35wkd89cwprxgmh9w5sqfi5jx7i8rpa0cb1jzw34", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSGVicmV3IERhdGUgaW4gdGhlIFBhbmVsLlxuUmVxdWlyZXMgbGliaGRhdGUtZ2xpYiIsCiAgIm5hbWUiOiAiR25vbWUgSERhdGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMiIsCiAgICAiMy40IiwKICAgICIzLjYiLAogICAgIjMuOCIsCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FtaWFkL2dub21lLWhkYXRlIiwKICAidXVpZCI6ICJoZGF0ZUBoYXR1bC5pbmZvIiwKICAidmVyc2lvbiI6IDIzCn0="}, "41": {"version": "23", "sha256": "14n41x3808gp35wkd89cwprxgmh9w5sqfi5jx7i8rpa0cb1jzw34", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSGVicmV3IERhdGUgaW4gdGhlIFBhbmVsLlxuUmVxdWlyZXMgbGliaGRhdGUtZ2xpYiIsCiAgIm5hbWUiOiAiR25vbWUgSERhdGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMiIsCiAgICAiMy40IiwKICAgICIzLjYiLAogICAgIjMuOCIsCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FtaWFkL2dub21lLWhkYXRlIiwKICAidXVpZCI6ICJoZGF0ZUBoYXR1bC5pbmZvIiwKICAidmVyc2lvbiI6IDIzCn0="}, "42": {"version": "23", "sha256": "14n41x3808gp35wkd89cwprxgmh9w5sqfi5jx7i8rpa0cb1jzw34", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSGVicmV3IERhdGUgaW4gdGhlIFBhbmVsLlxuUmVxdWlyZXMgbGliaGRhdGUtZ2xpYiIsCiAgIm5hbWUiOiAiR25vbWUgSERhdGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMiIsCiAgICAiMy40IiwKICAgICIzLjYiLAogICAgIjMuOCIsCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FtaWFkL2dub21lLWhkYXRlIiwKICAidXVpZCI6ICJoZGF0ZUBoYXR1bC5pbmZvIiwKICAidmVyc2lvbiI6IDIzCn0="}}}
 , {"uuid": "todo.txt@bart.libert.gmail.com", "name": "Todo.txt", "pname": "todotxt", "description": "A Gnome shell interface for todo.txt. \n\nTodo.txt is a future-proof syntax for tasks (not made by me), for more info: http://todotxt.com/\n\nSome examples:\nTask: Basic task\n(A) Task: High priority task\nTask @project +context: Task is part of project and has a certain context\nx 2013-08-22 Task: Task was completed on the 22nd of August\n\nFor more info about the syntax: https://github.com/ginatrapani/todo.txt-cli/wiki/The-Todo.txt-Format\n\nQuick start:\nWhen you first enable the extension, chances are high you'll see a [X] in your top panel. If you click the [X], you will be able to choose between creating the necessary files automatically or selecting your own existing files to be used with the extension.\n\nPlease use the issue tracker on the homepage to report bugs and/or file feature requests, this makes tracking easier for me. Thanks!\n\nSee the included CHANGELOG.md for info about changes between different versions, or see it online: https://gitlab.com/todo.txt-gnome-shell-extension/todo-txt-gnome-shell-extension/raw/master/CHANGELOG.md", "link": "https://extensions.gnome.org/extension/570/todotxt/", "shell_version_map": {"38": {"version": "33", "sha256": "0vk73vygk6p46f6axsyl9k33jmk2hhvrrynix3rq113nl5qwmy2j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgaW50ZXJmYWNlIGZvciB0b2RvLnR4dC4gXG5cblRvZG8udHh0IGlzIGEgZnV0dXJlLXByb29mIHN5bnRheCBmb3IgdGFza3MgKG5vdCBtYWRlIGJ5IG1lKSwgZm9yIG1vcmUgaW5mbzogaHR0cDovL3RvZG90eHQuY29tL1xuXG5Tb21lIGV4YW1wbGVzOlxuVGFzazogQmFzaWMgdGFza1xuKEEpIFRhc2s6IEhpZ2ggcHJpb3JpdHkgdGFza1xuVGFzayBAcHJvamVjdCArY29udGV4dDogVGFzayBpcyBwYXJ0IG9mIHByb2plY3QgYW5kIGhhcyBhIGNlcnRhaW4gY29udGV4dFxueCAyMDEzLTA4LTIyIFRhc2s6IFRhc2sgd2FzIGNvbXBsZXRlZCBvbiB0aGUgMjJuZCBvZiBBdWd1c3RcblxuRm9yIG1vcmUgaW5mbyBhYm91dCB0aGUgc3ludGF4OiBodHRwczovL2dpdGh1Yi5jb20vZ2luYXRyYXBhbmkvdG9kby50eHQtY2xpL3dpa2kvVGhlLVRvZG8udHh0LUZvcm1hdFxuXG5RdWljayBzdGFydDpcbldoZW4geW91IGZpcnN0IGVuYWJsZSB0aGUgZXh0ZW5zaW9uLCBjaGFuY2VzIGFyZSBoaWdoIHlvdSdsbCBzZWUgYSBbWF0gaW4geW91ciB0b3AgcGFuZWwuIElmIHlvdSBjbGljayB0aGUgW1hdLCB5b3Ugd2lsbCBiZSBhYmxlIHRvIGNob29zZSBiZXR3ZWVuIGNyZWF0aW5nIHRoZSBuZWNlc3NhcnkgZmlsZXMgYXV0b21hdGljYWxseSBvciBzZWxlY3RpbmcgeW91ciBvd24gZXhpc3RpbmcgZmlsZXMgdG8gYmUgdXNlZCB3aXRoIHRoZSBleHRlbnNpb24uXG5cblBsZWFzZSB1c2UgdGhlIGlzc3VlIHRyYWNrZXIgb24gdGhlIGhvbWVwYWdlIHRvIHJlcG9ydCBidWdzIGFuZC9vciBmaWxlIGZlYXR1cmUgcmVxdWVzdHMsIHRoaXMgbWFrZXMgdHJhY2tpbmcgZWFzaWVyIGZvciBtZS4gVGhhbmtzIVxuXG5TZWUgdGhlIGluY2x1ZGVkIENIQU5HRUxPRy5tZCBmb3IgaW5mbyBhYm91dCBjaGFuZ2VzIGJldHdlZW4gZGlmZmVyZW50IHZlcnNpb25zLCBvciBzZWUgaXQgb25saW5lOiBodHRwczovL2dpdGxhYi5jb20vdG9kby50eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uL3RvZG8tdHh0LWdub21lLXNoZWxsLWV4dGVuc2lvbi9yYXcvbWFzdGVyL0NIQU5HRUxPRy5tZCIsCiAgIm5hbWUiOiAiVG9kby50eHQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS90b2RvLnR4dC1nbm9tZS1zaGVsbC1leHRlbnNpb24vdG9kby10eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0b2RvLnR4dEBiYXJ0LmxpYmVydC5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzMKfQ=="}, "40": {"version": "35", "sha256": "0wh8wlic0qhfvyfvngm1vh7qhrs4709npn231q8vljgxav088p5k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgaW50ZXJmYWNlIGZvciB0b2RvLnR4dC4gXG5cblRvZG8udHh0IGlzIGEgZnV0dXJlLXByb29mIHN5bnRheCBmb3IgdGFza3MgKG5vdCBtYWRlIGJ5IG1lKSwgZm9yIG1vcmUgaW5mbzogaHR0cDovL3RvZG90eHQuY29tL1xuXG5Tb21lIGV4YW1wbGVzOlxuVGFzazogQmFzaWMgdGFza1xuKEEpIFRhc2s6IEhpZ2ggcHJpb3JpdHkgdGFza1xuVGFzayBAcHJvamVjdCArY29udGV4dDogVGFzayBpcyBwYXJ0IG9mIHByb2plY3QgYW5kIGhhcyBhIGNlcnRhaW4gY29udGV4dFxueCAyMDEzLTA4LTIyIFRhc2s6IFRhc2sgd2FzIGNvbXBsZXRlZCBvbiB0aGUgMjJuZCBvZiBBdWd1c3RcblxuRm9yIG1vcmUgaW5mbyBhYm91dCB0aGUgc3ludGF4OiBodHRwczovL2dpdGh1Yi5jb20vZ2luYXRyYXBhbmkvdG9kby50eHQtY2xpL3dpa2kvVGhlLVRvZG8udHh0LUZvcm1hdFxuXG5RdWljayBzdGFydDpcbldoZW4geW91IGZpcnN0IGVuYWJsZSB0aGUgZXh0ZW5zaW9uLCBjaGFuY2VzIGFyZSBoaWdoIHlvdSdsbCBzZWUgYSBbWF0gaW4geW91ciB0b3AgcGFuZWwuIElmIHlvdSBjbGljayB0aGUgW1hdLCB5b3Ugd2lsbCBiZSBhYmxlIHRvIGNob29zZSBiZXR3ZWVuIGNyZWF0aW5nIHRoZSBuZWNlc3NhcnkgZmlsZXMgYXV0b21hdGljYWxseSBvciBzZWxlY3RpbmcgeW91ciBvd24gZXhpc3RpbmcgZmlsZXMgdG8gYmUgdXNlZCB3aXRoIHRoZSBleHRlbnNpb24uXG5cblBsZWFzZSB1c2UgdGhlIGlzc3VlIHRyYWNrZXIgb24gdGhlIGhvbWVwYWdlIHRvIHJlcG9ydCBidWdzIGFuZC9vciBmaWxlIGZlYXR1cmUgcmVxdWVzdHMsIHRoaXMgbWFrZXMgdHJhY2tpbmcgZWFzaWVyIGZvciBtZS4gVGhhbmtzIVxuXG5TZWUgdGhlIGluY2x1ZGVkIENIQU5HRUxPRy5tZCBmb3IgaW5mbyBhYm91dCBjaGFuZ2VzIGJldHdlZW4gZGlmZmVyZW50IHZlcnNpb25zLCBvciBzZWUgaXQgb25saW5lOiBodHRwczovL2dpdGxhYi5jb20vdG9kby50eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uL3RvZG8tdHh0LWdub21lLXNoZWxsLWV4dGVuc2lvbi9yYXcvbWFzdGVyL0NIQU5HRUxPRy5tZCIsCiAgIm5hbWUiOiAiVG9kby50eHQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vdG9kby50eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uL3RvZG8tdHh0LWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidG9kby50eHRAYmFydC5saWJlcnQuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDM1Cn0="}, "41": {"version": "37", "sha256": "0zmvkzak62akb95wkk0794cqr4zrzi78amljlfawnjw25i0sc8hd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgaW50ZXJmYWNlIGZvciB0b2RvLnR4dC4gXG5cblRvZG8udHh0IGlzIGEgZnV0dXJlLXByb29mIHN5bnRheCBmb3IgdGFza3MgKG5vdCBtYWRlIGJ5IG1lKSwgZm9yIG1vcmUgaW5mbzogaHR0cDovL3RvZG90eHQuY29tL1xuXG5Tb21lIGV4YW1wbGVzOlxuVGFzazogQmFzaWMgdGFza1xuKEEpIFRhc2s6IEhpZ2ggcHJpb3JpdHkgdGFza1xuVGFzayBAcHJvamVjdCArY29udGV4dDogVGFzayBpcyBwYXJ0IG9mIHByb2plY3QgYW5kIGhhcyBhIGNlcnRhaW4gY29udGV4dFxueCAyMDEzLTA4LTIyIFRhc2s6IFRhc2sgd2FzIGNvbXBsZXRlZCBvbiB0aGUgMjJuZCBvZiBBdWd1c3RcblxuRm9yIG1vcmUgaW5mbyBhYm91dCB0aGUgc3ludGF4OiBodHRwczovL2dpdGh1Yi5jb20vZ2luYXRyYXBhbmkvdG9kby50eHQtY2xpL3dpa2kvVGhlLVRvZG8udHh0LUZvcm1hdFxuXG5RdWljayBzdGFydDpcbldoZW4geW91IGZpcnN0IGVuYWJsZSB0aGUgZXh0ZW5zaW9uLCBjaGFuY2VzIGFyZSBoaWdoIHlvdSdsbCBzZWUgYSBbWF0gaW4geW91ciB0b3AgcGFuZWwuIElmIHlvdSBjbGljayB0aGUgW1hdLCB5b3Ugd2lsbCBiZSBhYmxlIHRvIGNob29zZSBiZXR3ZWVuIGNyZWF0aW5nIHRoZSBuZWNlc3NhcnkgZmlsZXMgYXV0b21hdGljYWxseSBvciBzZWxlY3RpbmcgeW91ciBvd24gZXhpc3RpbmcgZmlsZXMgdG8gYmUgdXNlZCB3aXRoIHRoZSBleHRlbnNpb24uXG5cblBsZWFzZSB1c2UgdGhlIGlzc3VlIHRyYWNrZXIgb24gdGhlIGhvbWVwYWdlIHRvIHJlcG9ydCBidWdzIGFuZC9vciBmaWxlIGZlYXR1cmUgcmVxdWVzdHMsIHRoaXMgbWFrZXMgdHJhY2tpbmcgZWFzaWVyIGZvciBtZS4gVGhhbmtzIVxuXG5TZWUgdGhlIGluY2x1ZGVkIENIQU5HRUxPRy5tZCBmb3IgaW5mbyBhYm91dCBjaGFuZ2VzIGJldHdlZW4gZGlmZmVyZW50IHZlcnNpb25zLCBvciBzZWUgaXQgb25saW5lOiBodHRwczovL2dpdGxhYi5jb20vdG9kby50eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uL3RvZG8tdHh0LWdub21lLXNoZWxsLWV4dGVuc2lvbi9yYXcvbWFzdGVyL0NIQU5HRUxPRy5tZCIsCiAgIm5hbWUiOiAiVG9kby50eHQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3RvZG8udHh0LWdub21lLXNoZWxsLWV4dGVuc2lvbi90b2RvLXR4dC1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInRvZG8udHh0QGJhcnQubGliZXJ0LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzNwp9"}, "42": {"version": "37", "sha256": "0zmvkzak62akb95wkk0794cqr4zrzi78amljlfawnjw25i0sc8hd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgaW50ZXJmYWNlIGZvciB0b2RvLnR4dC4gXG5cblRvZG8udHh0IGlzIGEgZnV0dXJlLXByb29mIHN5bnRheCBmb3IgdGFza3MgKG5vdCBtYWRlIGJ5IG1lKSwgZm9yIG1vcmUgaW5mbzogaHR0cDovL3RvZG90eHQuY29tL1xuXG5Tb21lIGV4YW1wbGVzOlxuVGFzazogQmFzaWMgdGFza1xuKEEpIFRhc2s6IEhpZ2ggcHJpb3JpdHkgdGFza1xuVGFzayBAcHJvamVjdCArY29udGV4dDogVGFzayBpcyBwYXJ0IG9mIHByb2plY3QgYW5kIGhhcyBhIGNlcnRhaW4gY29udGV4dFxueCAyMDEzLTA4LTIyIFRhc2s6IFRhc2sgd2FzIGNvbXBsZXRlZCBvbiB0aGUgMjJuZCBvZiBBdWd1c3RcblxuRm9yIG1vcmUgaW5mbyBhYm91dCB0aGUgc3ludGF4OiBodHRwczovL2dpdGh1Yi5jb20vZ2luYXRyYXBhbmkvdG9kby50eHQtY2xpL3dpa2kvVGhlLVRvZG8udHh0LUZvcm1hdFxuXG5RdWljayBzdGFydDpcbldoZW4geW91IGZpcnN0IGVuYWJsZSB0aGUgZXh0ZW5zaW9uLCBjaGFuY2VzIGFyZSBoaWdoIHlvdSdsbCBzZWUgYSBbWF0gaW4geW91ciB0b3AgcGFuZWwuIElmIHlvdSBjbGljayB0aGUgW1hdLCB5b3Ugd2lsbCBiZSBhYmxlIHRvIGNob29zZSBiZXR3ZWVuIGNyZWF0aW5nIHRoZSBuZWNlc3NhcnkgZmlsZXMgYXV0b21hdGljYWxseSBvciBzZWxlY3RpbmcgeW91ciBvd24gZXhpc3RpbmcgZmlsZXMgdG8gYmUgdXNlZCB3aXRoIHRoZSBleHRlbnNpb24uXG5cblBsZWFzZSB1c2UgdGhlIGlzc3VlIHRyYWNrZXIgb24gdGhlIGhvbWVwYWdlIHRvIHJlcG9ydCBidWdzIGFuZC9vciBmaWxlIGZlYXR1cmUgcmVxdWVzdHMsIHRoaXMgbWFrZXMgdHJhY2tpbmcgZWFzaWVyIGZvciBtZS4gVGhhbmtzIVxuXG5TZWUgdGhlIGluY2x1ZGVkIENIQU5HRUxPRy5tZCBmb3IgaW5mbyBhYm91dCBjaGFuZ2VzIGJldHdlZW4gZGlmZmVyZW50IHZlcnNpb25zLCBvciBzZWUgaXQgb25saW5lOiBodHRwczovL2dpdGxhYi5jb20vdG9kby50eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uL3RvZG8tdHh0LWdub21lLXNoZWxsLWV4dGVuc2lvbi9yYXcvbWFzdGVyL0NIQU5HRUxPRy5tZCIsCiAgIm5hbWUiOiAiVG9kby50eHQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3RvZG8udHh0LWdub21lLXNoZWxsLWV4dGVuc2lvbi90b2RvLXR4dC1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInRvZG8udHh0QGJhcnQubGliZXJ0LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzNwp9"}}}
 , {"uuid": "text_translator@awamper.gmail.com", "name": "Text Translator", "pname": "text-translator", "description": "** Needs the package translate-shell **\nTranslation of the text by different translators (currently Google.Translate, Yandex.Translate).\nShortcuts:\nSuper+T - open translator dialog.\nSuper+Shift+T - open translator dialog and translate text from clipboard.\nSuper+Alt+T - open translator dialog and translate from primary selection.\nCtrl+Enter+ - Translate text.\nCtrl+Shift+C - copy translated text to clipboard.\nCtrl+S - swap languages.\nCtrl+D - reset languages to default\nTab+ - toggle transliteration of result text.", "link": "https://extensions.gnome.org/extension/593/text-translator/", "shell_version_map": {"38": {"version": "36", "sha256": "1idzgg4vb791k5dryjvznr6mfwfx59vlgabw2n3spysbwvjv2a48", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIioqIE5lZWRzIHRoZSBwYWNrYWdlIHRyYW5zbGF0ZS1zaGVsbCAqKlxuVHJhbnNsYXRpb24gb2YgdGhlIHRleHQgYnkgZGlmZmVyZW50IHRyYW5zbGF0b3JzIChjdXJyZW50bHkgR29vZ2xlLlRyYW5zbGF0ZSwgWWFuZGV4LlRyYW5zbGF0ZSkuXG5TaG9ydGN1dHM6XG5TdXBlcitUIC0gb3BlbiB0cmFuc2xhdG9yIGRpYWxvZy5cblN1cGVyK1NoaWZ0K1QgLSBvcGVuIHRyYW5zbGF0b3IgZGlhbG9nIGFuZCB0cmFuc2xhdGUgdGV4dCBmcm9tIGNsaXBib2FyZC5cblN1cGVyK0FsdCtUIC0gb3BlbiB0cmFuc2xhdG9yIGRpYWxvZyBhbmQgdHJhbnNsYXRlIGZyb20gcHJpbWFyeSBzZWxlY3Rpb24uXG5DdHJsK0VudGVyKyAtIFRyYW5zbGF0ZSB0ZXh0LlxuQ3RybCtTaGlmdCtDIC0gY29weSB0cmFuc2xhdGVkIHRleHQgdG8gY2xpcGJvYXJkLlxuQ3RybCtTIC0gc3dhcCBsYW5ndWFnZXMuXG5DdHJsK0QgLSByZXNldCBsYW5ndWFnZXMgdG8gZGVmYXVsdFxuVGFiKyAtIHRvZ2dsZSB0cmFuc2xpdGVyYXRpb24gb2YgcmVzdWx0IHRleHQuIiwKICAibmFtZSI6ICJUZXh0IFRyYW5zbGF0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGV4dC10cmFuc2xhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ3Vmb2UvdGV4dC10cmFuc2xhdG9yIiwKICAidXVpZCI6ICJ0ZXh0X3RyYW5zbGF0b3JAYXdhbXBlci5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzYKfQ=="}}}
@@ -49,7 +49,7 @@
 , {"uuid": "appindicatorsupport@rgcjonas.gmail.com", "name": "AppIndicator and KStatusNotifierItem Support", "pname": "appindicator-support", "description": "Adds AppIndicator, KStatusNotifierItem and legacy Tray icons support to the Shell", "link": "https://extensions.gnome.org/extension/615/appindicator-support/", "shell_version_map": {"38": {"version": "42", "sha256": "0141f3y8vhk3q9v0w295hb5j679rh04isqnmsnihmsjdnw61b7fx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgQXBwSW5kaWNhdG9yLCBLU3RhdHVzTm90aWZpZXJJdGVtIGFuZCBsZWdhY3kgVHJheSBpY29ucyBzdXBwb3J0IHRvIHRoZSBTaGVsbCIsCiAgImdldHRleHQtZG9tYWluIjogIkFwcEluZGljYXRvckV4dGVuc2lvbiIsCiAgIm5hbWUiOiAiQXBwSW5kaWNhdG9yIGFuZCBLU3RhdHVzTm90aWZpZXJJdGVtIFN1cHBvcnQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdWJ1bnR1L2dub21lLXNoZWxsLWV4dGVuc2lvbi1hcHBpbmRpY2F0b3IiLAogICJ1dWlkIjogImFwcGluZGljYXRvcnN1cHBvcnRAcmdjam9uYXMuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQyCn0="}, "40": {"version": "42", "sha256": "0141f3y8vhk3q9v0w295hb5j679rh04isqnmsnihmsjdnw61b7fx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgQXBwSW5kaWNhdG9yLCBLU3RhdHVzTm90aWZpZXJJdGVtIGFuZCBsZWdhY3kgVHJheSBpY29ucyBzdXBwb3J0IHRvIHRoZSBTaGVsbCIsCiAgImdldHRleHQtZG9tYWluIjogIkFwcEluZGljYXRvckV4dGVuc2lvbiIsCiAgIm5hbWUiOiAiQXBwSW5kaWNhdG9yIGFuZCBLU3RhdHVzTm90aWZpZXJJdGVtIFN1cHBvcnQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdWJ1bnR1L2dub21lLXNoZWxsLWV4dGVuc2lvbi1hcHBpbmRpY2F0b3IiLAogICJ1dWlkIjogImFwcGluZGljYXRvcnN1cHBvcnRAcmdjam9uYXMuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQyCn0="}, "41": {"version": "42", "sha256": "0141f3y8vhk3q9v0w295hb5j679rh04isqnmsnihmsjdnw61b7fx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgQXBwSW5kaWNhdG9yLCBLU3RhdHVzTm90aWZpZXJJdGVtIGFuZCBsZWdhY3kgVHJheSBpY29ucyBzdXBwb3J0IHRvIHRoZSBTaGVsbCIsCiAgImdldHRleHQtZG9tYWluIjogIkFwcEluZGljYXRvckV4dGVuc2lvbiIsCiAgIm5hbWUiOiAiQXBwSW5kaWNhdG9yIGFuZCBLU3RhdHVzTm90aWZpZXJJdGVtIFN1cHBvcnQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdWJ1bnR1L2dub21lLXNoZWxsLWV4dGVuc2lvbi1hcHBpbmRpY2F0b3IiLAogICJ1dWlkIjogImFwcGluZGljYXRvcnN1cHBvcnRAcmdjam9uYXMuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQyCn0="}, "42": {"version": "42", "sha256": "0141f3y8vhk3q9v0w295hb5j679rh04isqnmsnihmsjdnw61b7fx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgQXBwSW5kaWNhdG9yLCBLU3RhdHVzTm90aWZpZXJJdGVtIGFuZCBsZWdhY3kgVHJheSBpY29ucyBzdXBwb3J0IHRvIHRoZSBTaGVsbCIsCiAgImdldHRleHQtZG9tYWluIjogIkFwcEluZGljYXRvckV4dGVuc2lvbiIsCiAgIm5hbWUiOiAiQXBwSW5kaWNhdG9yIGFuZCBLU3RhdHVzTm90aWZpZXJJdGVtIFN1cHBvcnQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdWJ1bnR1L2dub21lLXNoZWxsLWV4dGVuc2lvbi1hcHBpbmRpY2F0b3IiLAogICJ1dWlkIjogImFwcGluZGljYXRvcnN1cHBvcnRAcmdjam9uYXMuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQyCn0="}}}
 , {"uuid": "bitcoin-markets@ottoallmendinger.github.com", "name": "Bitcoin Markets", "pname": "bitcoin-markets", "description": "Display info on various crypto-currency exchanges.", "link": "https://extensions.gnome.org/extension/648/bitcoin-markets/", "shell_version_map": {"38": {"version": "57", "sha256": "1dbrkr49gi93nps610afvw2q68d1ialkhxsxd0waa8xgwjxwzyxd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgaW5mbyBvbiB2YXJpb3VzIGNyeXB0by1jdXJyZW5jeSBleGNoYW5nZXMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtYml0Y29pbi1tYXJrZXRzIiwKICAiZ2l0LXZlcnNpb24iOiAidjU3IiwKICAibmFtZSI6ICJCaXRjb2luIE1hcmtldHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYml0Y29pbi1tYXJrZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vT3R0b0FsbG1lbmRpbmdlci9nbm9tZS1zaGVsbC1iaXRjb2luLW1hcmtldHMvIiwKICAidXVpZCI6ICJiaXRjb2luLW1hcmtldHNAb3R0b2FsbG1lbmRpbmdlci5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDU3Cn0="}, "40": {"version": "65", "sha256": "10jg1ixk0zfb67licr807wf68bzsdiv9fb9j40xjg49li72c6hrf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgaW5mbyBvbiB2YXJpb3VzIGNyeXB0by1jdXJyZW5jeSBleGNoYW5nZXMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtYml0Y29pbi1tYXJrZXRzIiwKICAiZ2l0LXZlcnNpb24iOiAidjY1IiwKICAibmFtZSI6ICJCaXRjb2luIE1hcmtldHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYml0Y29pbi1tYXJrZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9PdHRvQWxsbWVuZGluZ2VyL2dub21lLXNoZWxsLWJpdGNvaW4tbWFya2V0cy8iLAogICJ1dWlkIjogImJpdGNvaW4tbWFya2V0c0BvdHRvYWxsbWVuZGluZ2VyLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNjUKfQ=="}, "41": {"version": "65", "sha256": "10jg1ixk0zfb67licr807wf68bzsdiv9fb9j40xjg49li72c6hrf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgaW5mbyBvbiB2YXJpb3VzIGNyeXB0by1jdXJyZW5jeSBleGNoYW5nZXMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtYml0Y29pbi1tYXJrZXRzIiwKICAiZ2l0LXZlcnNpb24iOiAidjY1IiwKICAibmFtZSI6ICJCaXRjb2luIE1hcmtldHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYml0Y29pbi1tYXJrZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9PdHRvQWxsbWVuZGluZ2VyL2dub21lLXNoZWxsLWJpdGNvaW4tbWFya2V0cy8iLAogICJ1dWlkIjogImJpdGNvaW4tbWFya2V0c0BvdHRvYWxsbWVuZGluZ2VyLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNjUKfQ=="}, "42": {"version": "66", "sha256": "0a1156n4ding1ypjnxm1xz5cqihrf5m2d4bf2zmci29nsjina9c8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgaW5mbyBvbiB2YXJpb3VzIGNyeXB0by1jdXJyZW5jeSBleGNoYW5nZXMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtYml0Y29pbi1tYXJrZXRzIiwKICAiZ2l0LXZlcnNpb24iOiAidjY2IiwKICAibmFtZSI6ICJCaXRjb2luIE1hcmtldHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYml0Y29pbi1tYXJrZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL090dG9BbGxtZW5kaW5nZXIvZ25vbWUtc2hlbGwtYml0Y29pbi1tYXJrZXRzLyIsCiAgInV1aWQiOiAiYml0Y29pbi1tYXJrZXRzQG90dG9hbGxtZW5kaW5nZXIuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA2Ngp9"}}}
 , {"uuid": "ShellTile@emasab.it", "name": "ShellTile", "pname": "shelltile", "description": "A tiling window extension for GNOME Shell. Just move a window to the edges of the screen to create a tiling, otherwise move a window over another one, holding down the Control key. Grouped windows minimize, resize, raise and change workspace together. Move or maximize a window to remove it from the group.", "link": "https://extensions.gnome.org/extension/657/shelltile/", "shell_version_map": {"38": {"version": "69", "sha256": "1kpsqaq2fcj1z3jcbvgh23c8k6bv9l6vyl05kpw0fclzsmy60mh1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgdGlsaW5nIHdpbmRvdyBleHRlbnNpb24gZm9yIEdOT01FIFNoZWxsLiBKdXN0IG1vdmUgYSB3aW5kb3cgdG8gdGhlIGVkZ2VzIG9mIHRoZSBzY3JlZW4gdG8gY3JlYXRlIGEgdGlsaW5nLCBvdGhlcndpc2UgbW92ZSBhIHdpbmRvdyBvdmVyIGFub3RoZXIgb25lLCBob2xkaW5nIGRvd24gdGhlIENvbnRyb2wga2V5LiBHcm91cGVkIHdpbmRvd3MgbWluaW1pemUsIHJlc2l6ZSwgcmFpc2UgYW5kIGNoYW5nZSB3b3Jrc3BhY2UgdG9nZXRoZXIuIE1vdmUgb3IgbWF4aW1pemUgYSB3aW5kb3cgdG8gcmVtb3ZlIGl0IGZyb20gdGhlIGdyb3VwLiIsCiAgImdldHRleHQtZG9tYWluIjogInNoZWxsdGlsZSIsCiAgIm5hbWUiOiAiU2hlbGxUaWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNoZWxsdGlsZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy44IiwKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZW1hc2FiL3NoZWxsdGlsZSIsCiAgInV1aWQiOiAiU2hlbGxUaWxlQGVtYXNhYi5pdCIsCiAgInZlcnNpb24iOiA2OQp9"}}}
-, {"uuid": "lunarcal@ailin.nemui", "name": "Lunar Calendar 农历", "pname": "lunar-calendar", "description": "Display Chinese Lunar Calendar in panel\n\n⚠⚠⚠ dependency: typelib-1_0-LunarDate-3_0 / gir1.2-lunar-date-2.0", "link": "https://extensions.gnome.org/extension/675/lunar-calendar/", "shell_version_map": {"38": {"version": "25", "sha256": "1pj439wdsqpxim6p4d0y09v40kdjga908hagxfyvq0fzjykc51rn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyLWRhdGUtMi4wIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibHVuYXJjYWxAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMjUKfQ=="}, "40": {"version": "28", "sha256": "068y5dy81ykmxy3cxi45xq0a0jg061fp22x9zhd4965kmvzqiq4g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyLWRhdGUtMi4wIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibHVuYXJjYWxAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMjgKfQ=="}, "41": {"version": "28", "sha256": "068y5dy81ykmxy3cxi45xq0a0jg061fp22x9zhd4965kmvzqiq4g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyLWRhdGUtMi4wIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibHVuYXJjYWxAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMjgKfQ=="}, "42": {"version": "28", "sha256": "068y5dy81ykmxy3cxi45xq0a0jg061fp22x9zhd4965kmvzqiq4g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyLWRhdGUtMi4wIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibHVuYXJjYWxAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMjgKfQ=="}}}
+, {"uuid": "lunarcal@ailin.nemui", "name": "Lunar Calendar 农历", "pname": "lunar-calendar", "description": "Display Chinese Lunar Calendar in panel\n\n⚠⚠⚠ dependency: typelib-1_0-LunarDate-3_0 / gir1.2-lunar-date-2.0", "link": "https://extensions.gnome.org/extension/675/lunar-calendar/", "shell_version_map": {"38": {"version": "25", "sha256": "1pj439wdsqpxim6p4d0y09v40kdjga908hagxfyvq0fzjykc51rn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyLWRhdGUtMi4wIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibHVuYXJjYWxAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMjUKfQ=="}, "40": {"version": "29", "sha256": "13q4gwn8j0l9x24h2i3q14yxzfy4lbnzlp1afpzcxxrhlb64zm7y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyLWRhdGUtMi4wIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibHVuYXJjYWxAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMjkKfQ=="}, "41": {"version": "29", "sha256": "13q4gwn8j0l9x24h2i3q14yxzfy4lbnzlp1afpzcxxrhlb64zm7y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyLWRhdGUtMi4wIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibHVuYXJjYWxAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMjkKfQ=="}, "42": {"version": "29", "sha256": "13q4gwn8j0l9x24h2i3q14yxzfy4lbnzlp1afpzcxxrhlb64zm7y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyLWRhdGUtMi4wIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibHVuYXJjYWxAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMjkKfQ=="}}}
 , {"uuid": "EasyScreenCast@iacopodeenosee.gmail.com", "name": "EasyScreenCast", "pname": "easyscreencast", "description": "This extension simplifies the use of the video recording function integrated in gnome shell, allows quickly to change the various settings of the desktop recording.\n\nSOURCE CODE ->  https://github.com/EasyScreenCast/EasyScreenCast\n\nVIDEO ->  https://youtu.be/81E9AruraKU\n\n**NOTICE**\nif an error occurs during the update is recommended to reload GNOME Shell (Alt + F2, 'r') and reload the extension's installation page.", "link": "https://extensions.gnome.org/extension/690/easyscreencast/", "shell_version_map": {"38": {"version": "45", "sha256": "0plk308mc45py7xp02y5bvsidyg4fgsph9p8wmr2wr0wyz74c0iq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNpbXBsaWZpZXMgdGhlIHVzZSBvZiB0aGUgdmlkZW8gcmVjb3JkaW5nIGZ1bmN0aW9uIGludGVncmF0ZWQgaW4gZ25vbWUgc2hlbGwsIGFsbG93cyBxdWlja2x5IHRvIGNoYW5nZSB0aGUgdmFyaW91cyBzZXR0aW5ncyBvZiB0aGUgZGVza3RvcCByZWNvcmRpbmcuXG5cblNPVVJDRSBDT0RFIC0+ICBodHRwczovL2dpdGh1Yi5jb20vRWFzeVNjcmVlbkNhc3QvRWFzeVNjcmVlbkNhc3RcblxuVklERU8gLT4gIGh0dHBzOi8veW91dHUuYmUvODFFOUFydXJhS1VcblxuKipOT1RJQ0UqKlxuaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyB0aGUgdXBkYXRlIGlzIHJlY29tbWVuZGVkIHRvIHJlbG9hZCBHTk9NRSBTaGVsbCAoQWx0ICsgRjIsICdyJykgYW5kIHJlbG9hZCB0aGUgZXh0ZW5zaW9uJ3MgaW5zdGFsbGF0aW9uIHBhZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiRWFzeVNjcmVlbkNhc3RAaWFjb3BvZGVlbm9zZWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJFYXN5U2NyZWVuQ2FzdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5FYXN5U2NyZWVuQ2FzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0Vhc3lTY3JlZW5DYXN0L0Vhc3lTY3JlZW5DYXN0IiwKICAidXVpZCI6ICJFYXN5U2NyZWVuQ2FzdEBpYWNvcG9kZWVub3NlZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDUKfQ=="}, "40": {"version": "45", "sha256": "0plk308mc45py7xp02y5bvsidyg4fgsph9p8wmr2wr0wyz74c0iq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNpbXBsaWZpZXMgdGhlIHVzZSBvZiB0aGUgdmlkZW8gcmVjb3JkaW5nIGZ1bmN0aW9uIGludGVncmF0ZWQgaW4gZ25vbWUgc2hlbGwsIGFsbG93cyBxdWlja2x5IHRvIGNoYW5nZSB0aGUgdmFyaW91cyBzZXR0aW5ncyBvZiB0aGUgZGVza3RvcCByZWNvcmRpbmcuXG5cblNPVVJDRSBDT0RFIC0+ICBodHRwczovL2dpdGh1Yi5jb20vRWFzeVNjcmVlbkNhc3QvRWFzeVNjcmVlbkNhc3RcblxuVklERU8gLT4gIGh0dHBzOi8veW91dHUuYmUvODFFOUFydXJhS1VcblxuKipOT1RJQ0UqKlxuaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyB0aGUgdXBkYXRlIGlzIHJlY29tbWVuZGVkIHRvIHJlbG9hZCBHTk9NRSBTaGVsbCAoQWx0ICsgRjIsICdyJykgYW5kIHJlbG9hZCB0aGUgZXh0ZW5zaW9uJ3MgaW5zdGFsbGF0aW9uIHBhZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiRWFzeVNjcmVlbkNhc3RAaWFjb3BvZGVlbm9zZWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJFYXN5U2NyZWVuQ2FzdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5FYXN5U2NyZWVuQ2FzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0Vhc3lTY3JlZW5DYXN0L0Vhc3lTY3JlZW5DYXN0IiwKICAidXVpZCI6ICJFYXN5U2NyZWVuQ2FzdEBpYWNvcG9kZWVub3NlZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDUKfQ=="}, "41": {"version": "45", "sha256": "0plk308mc45py7xp02y5bvsidyg4fgsph9p8wmr2wr0wyz74c0iq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNpbXBsaWZpZXMgdGhlIHVzZSBvZiB0aGUgdmlkZW8gcmVjb3JkaW5nIGZ1bmN0aW9uIGludGVncmF0ZWQgaW4gZ25vbWUgc2hlbGwsIGFsbG93cyBxdWlja2x5IHRvIGNoYW5nZSB0aGUgdmFyaW91cyBzZXR0aW5ncyBvZiB0aGUgZGVza3RvcCByZWNvcmRpbmcuXG5cblNPVVJDRSBDT0RFIC0+ICBodHRwczovL2dpdGh1Yi5jb20vRWFzeVNjcmVlbkNhc3QvRWFzeVNjcmVlbkNhc3RcblxuVklERU8gLT4gIGh0dHBzOi8veW91dHUuYmUvODFFOUFydXJhS1VcblxuKipOT1RJQ0UqKlxuaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyB0aGUgdXBkYXRlIGlzIHJlY29tbWVuZGVkIHRvIHJlbG9hZCBHTk9NRSBTaGVsbCAoQWx0ICsgRjIsICdyJykgYW5kIHJlbG9hZCB0aGUgZXh0ZW5zaW9uJ3MgaW5zdGFsbGF0aW9uIHBhZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiRWFzeVNjcmVlbkNhc3RAaWFjb3BvZGVlbm9zZWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJFYXN5U2NyZWVuQ2FzdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5FYXN5U2NyZWVuQ2FzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0Vhc3lTY3JlZW5DYXN0L0Vhc3lTY3JlZW5DYXN0IiwKICAidXVpZCI6ICJFYXN5U2NyZWVuQ2FzdEBpYWNvcG9kZWVub3NlZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDUKfQ=="}, "42": {"version": "45", "sha256": "0plk308mc45py7xp02y5bvsidyg4fgsph9p8wmr2wr0wyz74c0iq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNpbXBsaWZpZXMgdGhlIHVzZSBvZiB0aGUgdmlkZW8gcmVjb3JkaW5nIGZ1bmN0aW9uIGludGVncmF0ZWQgaW4gZ25vbWUgc2hlbGwsIGFsbG93cyBxdWlja2x5IHRvIGNoYW5nZSB0aGUgdmFyaW91cyBzZXR0aW5ncyBvZiB0aGUgZGVza3RvcCByZWNvcmRpbmcuXG5cblNPVVJDRSBDT0RFIC0+ICBodHRwczovL2dpdGh1Yi5jb20vRWFzeVNjcmVlbkNhc3QvRWFzeVNjcmVlbkNhc3RcblxuVklERU8gLT4gIGh0dHBzOi8veW91dHUuYmUvODFFOUFydXJhS1VcblxuKipOT1RJQ0UqKlxuaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyB0aGUgdXBkYXRlIGlzIHJlY29tbWVuZGVkIHRvIHJlbG9hZCBHTk9NRSBTaGVsbCAoQWx0ICsgRjIsICdyJykgYW5kIHJlbG9hZCB0aGUgZXh0ZW5zaW9uJ3MgaW5zdGFsbGF0aW9uIHBhZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiRWFzeVNjcmVlbkNhc3RAaWFjb3BvZGVlbm9zZWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJFYXN5U2NyZWVuQ2FzdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5FYXN5U2NyZWVuQ2FzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0Vhc3lTY3JlZW5DYXN0L0Vhc3lTY3JlZW5DYXN0IiwKICAidXVpZCI6ICJFYXN5U2NyZWVuQ2FzdEBpYWNvcG9kZWVub3NlZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDUKfQ=="}}}
 , {"uuid": "scroll-workspaces@gfxmonk.net", "name": "Top Panel Workspace Scroll", "pname": "top-panel-workspace-scroll", "description": "Change workspaces by scrolling over the top panel", "link": "https://extensions.gnome.org/extension/701/top-panel-workspace-scroll/", "shell_version_map": {"40": {"version": "31", "sha256": "0zc37qnzmnc4l9j8q23bxl59xxwz31pk4wc3vamzwgz65ncjn469", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB3b3Jrc3BhY2VzIGJ5IHNjcm9sbGluZyBvdmVyIHRoZSB0b3AgcGFuZWwiLAogICJuYW1lIjogIlRvcCBQYW5lbCBXb3Jrc3BhY2UgU2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJ0aW1AZ2Z4bW9uay5uZXQiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5ldC5nZnhtb25rLnNjcm9sbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ2Z4bW9uay9nbm9tZS1zaGVsbC1zY3JvbGwtd29ya3NwYWNlcyIsCiAgInV1aWQiOiAic2Nyb2xsLXdvcmtzcGFjZXNAZ2Z4bW9uay5uZXQiLAogICJ2ZXJzaW9uIjogMzEKfQ=="}, "41": {"version": "31", "sha256": "0zc37qnzmnc4l9j8q23bxl59xxwz31pk4wc3vamzwgz65ncjn469", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB3b3Jrc3BhY2VzIGJ5IHNjcm9sbGluZyBvdmVyIHRoZSB0b3AgcGFuZWwiLAogICJuYW1lIjogIlRvcCBQYW5lbCBXb3Jrc3BhY2UgU2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJ0aW1AZ2Z4bW9uay5uZXQiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5ldC5nZnhtb25rLnNjcm9sbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ2Z4bW9uay9nbm9tZS1zaGVsbC1zY3JvbGwtd29ya3NwYWNlcyIsCiAgInV1aWQiOiAic2Nyb2xsLXdvcmtzcGFjZXNAZ2Z4bW9uay5uZXQiLAogICJ2ZXJzaW9uIjogMzEKfQ=="}, "42": {"version": "31", "sha256": "0zc37qnzmnc4l9j8q23bxl59xxwz31pk4wc3vamzwgz65ncjn469", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB3b3Jrc3BhY2VzIGJ5IHNjcm9sbGluZyBvdmVyIHRoZSB0b3AgcGFuZWwiLAogICJuYW1lIjogIlRvcCBQYW5lbCBXb3Jrc3BhY2UgU2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJ0aW1AZ2Z4bW9uay5uZXQiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5ldC5nZnhtb25rLnNjcm9sbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ2Z4bW9uay9nbm9tZS1zaGVsbC1zY3JvbGwtd29ya3NwYWNlcyIsCiAgInV1aWQiOiAic2Nyb2xsLXdvcmtzcGFjZXNAZ2Z4bW9uay5uZXQiLAogICJ2ZXJzaW9uIjogMzEKfQ=="}}}
 , {"uuid": "all-windows@ezix.org", "name": "All Windows", "pname": "all-windows", "description": "List open windows of all workspaces", "link": "https://extensions.gnome.org/extension/704/all-windows/", "shell_version_map": {"40": {"version": "13", "sha256": "19cxrgxpim2dca6llbi8cr34hjx3pab2i4687803r96cp2hsg07l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3Qgb3BlbiB3aW5kb3dzIG9mIGFsbCB3b3Jrc3BhY2VzIiwKICAibmFtZSI6ICJBbGwgV2luZG93cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbHlvbmVsL2FsbC13aW5kb3dzIiwKICAidXVpZCI6ICJhbGwtd2luZG93c0Bleml4Lm9yZyIsCiAgInZlcnNpb24iOiAxMwp9"}, "41": {"version": "13", "sha256": "19cxrgxpim2dca6llbi8cr34hjx3pab2i4687803r96cp2hsg07l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3Qgb3BlbiB3aW5kb3dzIG9mIGFsbCB3b3Jrc3BhY2VzIiwKICAibmFtZSI6ICJBbGwgV2luZG93cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbHlvbmVsL2FsbC13aW5kb3dzIiwKICAidXVpZCI6ICJhbGwtd2luZG93c0Bleml4Lm9yZyIsCiAgInZlcnNpb24iOiAxMwp9"}}}
@@ -65,7 +65,7 @@
 , {"uuid": "ProxySwitcher@flannaghan.com", "name": "Proxy Switcher", "pname": "proxy-switcher", "description": "Switches between the system proxy settings profiles defined in Network Settings.", "link": "https://extensions.gnome.org/extension/771/proxy-switcher/", "shell_version_map": {"38": {"version": "17", "sha256": "0ap55mxnhwzxzv95jfc4l3bz9v6z04yn53yf233vbjsdpx55vh38", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIGJldHdlZW4gdGhlIHN5c3RlbSBwcm94eSBzZXR0aW5ncyBwcm9maWxlcyBkZWZpbmVkIGluIE5ldHdvcmsgU2V0dGluZ3MuIiwKICAibmFtZSI6ICJQcm94eSBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RvbWZsYW5uYWdoYW4vcHJveHktc3dpdGNoZXIiLAogICJ1dWlkIjogIlByb3h5U3dpdGNoZXJAZmxhbm5hZ2hhbi5jb20iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "40": {"version": "17", "sha256": "0ap55mxnhwzxzv95jfc4l3bz9v6z04yn53yf233vbjsdpx55vh38", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIGJldHdlZW4gdGhlIHN5c3RlbSBwcm94eSBzZXR0aW5ncyBwcm9maWxlcyBkZWZpbmVkIGluIE5ldHdvcmsgU2V0dGluZ3MuIiwKICAibmFtZSI6ICJQcm94eSBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RvbWZsYW5uYWdoYW4vcHJveHktc3dpdGNoZXIiLAogICJ1dWlkIjogIlByb3h5U3dpdGNoZXJAZmxhbm5hZ2hhbi5jb20iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "41": {"version": "17", "sha256": "0ap55mxnhwzxzv95jfc4l3bz9v6z04yn53yf233vbjsdpx55vh38", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIGJldHdlZW4gdGhlIHN5c3RlbSBwcm94eSBzZXR0aW5ncyBwcm9maWxlcyBkZWZpbmVkIGluIE5ldHdvcmsgU2V0dGluZ3MuIiwKICAibmFtZSI6ICJQcm94eSBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RvbWZsYW5uYWdoYW4vcHJveHktc3dpdGNoZXIiLAogICJ1dWlkIjogIlByb3h5U3dpdGNoZXJAZmxhbm5hZ2hhbi5jb20iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "42": {"version": "17", "sha256": "0ap55mxnhwzxzv95jfc4l3bz9v6z04yn53yf233vbjsdpx55vh38", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIGJldHdlZW4gdGhlIHN5c3RlbSBwcm94eSBzZXR0aW5ncyBwcm9maWxlcyBkZWZpbmVkIGluIE5ldHdvcmsgU2V0dGluZ3MuIiwKICAibmFtZSI6ICJQcm94eSBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RvbWZsYW5uYWdoYW4vcHJveHktc3dpdGNoZXIiLAogICJ1dWlkIjogIlByb3h5U3dpdGNoZXJAZmxhbm5hZ2hhbi5jb20iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}}}
 , {"uuid": "clipboard-indicator@tudmotu.com", "name": "Clipboard Indicator", "pname": "clipboard-indicator", "description": "Clipboard Manager extension for Gnome-Shell - Adds a clipboard indicator to the top panel, and caches clipboard history.\n\nSee contributors here:\nhttps://github.com/Tudmotu/gnome-shell-extension-clipboard-indicator/graphs/contributors", "link": "https://extensions.gnome.org/extension/779/clipboard-indicator/", "shell_version_map": {"38": {"version": "37", "sha256": "1a9b5h4i17m3lmgs6qpmr30v2hjffsiad9rx0lgwcv7915a68pxp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsaXBib2FyZCBNYW5hZ2VyIGV4dGVuc2lvbiBmb3IgR25vbWUtU2hlbGwgLSBBZGRzIGEgY2xpcGJvYXJkIGluZGljYXRvciB0byB0aGUgdG9wIHBhbmVsLCBhbmQgY2FjaGVzIGNsaXBib2FyZCBoaXN0b3J5LlxuXG5TZWUgY29udHJpYnV0b3JzIGhlcmU6XG5odHRwczovL2dpdGh1Yi5jb20vVHVkbW90dS9nbm9tZS1zaGVsbC1leHRlbnNpb24tY2xpcGJvYXJkLWluZGljYXRvci9ncmFwaHMvY29udHJpYnV0b3JzIiwKICAibmFtZSI6ICJDbGlwYm9hcmQgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vVHVkbW90dS9nbm9tZS1zaGVsbC1leHRlbnNpb24tY2xpcGJvYXJkLWluZGljYXRvciIsCiAgInV1aWQiOiAiY2xpcGJvYXJkLWluZGljYXRvckB0dWRtb3R1LmNvbSIsCiAgInZlcnNpb24iOiAzNwp9"}, "40": {"version": "38", "sha256": "1vd51yczzs2yhfql8n0hqnphfw05nkqkqrwnz4wcp1xqslrryi6g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsaXBib2FyZCBNYW5hZ2VyIGV4dGVuc2lvbiBmb3IgR25vbWUtU2hlbGwgLSBBZGRzIGEgY2xpcGJvYXJkIGluZGljYXRvciB0byB0aGUgdG9wIHBhbmVsLCBhbmQgY2FjaGVzIGNsaXBib2FyZCBoaXN0b3J5LlxuXG5TZWUgY29udHJpYnV0b3JzIGhlcmU6XG5odHRwczovL2dpdGh1Yi5jb20vVHVkbW90dS9nbm9tZS1zaGVsbC1leHRlbnNpb24tY2xpcGJvYXJkLWluZGljYXRvci9ncmFwaHMvY29udHJpYnV0b3JzIiwKICAibmFtZSI6ICJDbGlwYm9hcmQgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1R1ZG1vdHUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNsaXBib2FyZC1pbmRpY2F0b3IiLAogICJ1dWlkIjogImNsaXBib2FyZC1pbmRpY2F0b3JAdHVkbW90dS5jb20iLAogICJ2ZXJzaW9uIjogMzgKfQ=="}, "42": {"version": "42", "sha256": "1sgssg61z5dbqdcwychaxv0sv9g8392qa271iyn75p78l8lg03x9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsaXBib2FyZCBNYW5hZ2VyIGV4dGVuc2lvbiBmb3IgR25vbWUtU2hlbGwgLSBBZGRzIGEgY2xpcGJvYXJkIGluZGljYXRvciB0byB0aGUgdG9wIHBhbmVsLCBhbmQgY2FjaGVzIGNsaXBib2FyZCBoaXN0b3J5LlxuXG5TZWUgY29udHJpYnV0b3JzIGhlcmU6XG5odHRwczovL2dpdGh1Yi5jb20vVHVkbW90dS9nbm9tZS1zaGVsbC1leHRlbnNpb24tY2xpcGJvYXJkLWluZGljYXRvci9ncmFwaHMvY29udHJpYnV0b3JzIiwKICAibmFtZSI6ICJDbGlwYm9hcmQgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1R1ZG1vdHUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNsaXBib2FyZC1pbmRpY2F0b3IiLAogICJ1dWlkIjogImNsaXBib2FyZC1pbmRpY2F0b3JAdHVkbW90dS5jb20iLAogICJ2ZXJzaW9uIjogNDIKfQ=="}}}
 , {"uuid": "pidgin@muffinmad", "name": "Pidgin IM integration", "pname": "pidgin-im-integration", "description": "Integrate Pidgin IMs in the Gnome Shell message tray", "link": "https://extensions.gnome.org/extension/782/pidgin-im-integration/", "shell_version_map": {"40": {"version": "43", "sha256": "08646prz1kf6maijn4dw5503j5psaijd6g2zlvc3lhvv2pvwjksx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSBQaWRnaW4gSU1zIGluIHRoZSBHbm9tZSBTaGVsbCBtZXNzYWdlIHRyYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tcGlkZ2luIiwKICAibmFtZSI6ICJQaWRnaW4gSU0gaW50ZWdyYXRpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGlkZ2luIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbXVmZmlubWFkL3BpZGdpbi1pbS1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInBpZGdpbkBtdWZmaW5tYWQiLAogICJ2ZXJzaW9uIjogNDMKfQ=="}, "41": {"version": "43", "sha256": "08646prz1kf6maijn4dw5503j5psaijd6g2zlvc3lhvv2pvwjksx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSBQaWRnaW4gSU1zIGluIHRoZSBHbm9tZSBTaGVsbCBtZXNzYWdlIHRyYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tcGlkZ2luIiwKICAibmFtZSI6ICJQaWRnaW4gSU0gaW50ZWdyYXRpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGlkZ2luIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbXVmZmlubWFkL3BpZGdpbi1pbS1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInBpZGdpbkBtdWZmaW5tYWQiLAogICJ2ZXJzaW9uIjogNDMKfQ=="}, "42": {"version": "43", "sha256": "08646prz1kf6maijn4dw5503j5psaijd6g2zlvc3lhvv2pvwjksx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSBQaWRnaW4gSU1zIGluIHRoZSBHbm9tZSBTaGVsbCBtZXNzYWdlIHRyYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tcGlkZ2luIiwKICAibmFtZSI6ICJQaWRnaW4gSU0gaW50ZWdyYXRpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGlkZ2luIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbXVmZmlubWFkL3BpZGdpbi1pbS1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInBpZGdpbkBtdWZmaW5tYWQiLAogICJ2ZXJzaW9uIjogNDMKfQ=="}}}
-, {"uuid": "ShutdownTimer@neumann", "name": "ShutdownTimer", "pname": "shutdowntimer", "description": "Shutdown/suspend the device after a specific time.\n\nMaximum timer value und default slider position can be modified in the settings.", "link": "https://extensions.gnome.org/extension/792/shutdowntimer/", "shell_version_map": {"38": {"version": "34", "sha256": "1glzjcdv90w5mx0xqj57i0s3qgazr5dcdcin1kwb5mqvc362dd68", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3N1c3BlbmQgdGhlIGRldmljZSBhZnRlciBhIHNwZWNpZmljIHRpbWUuXG5cbk1heGltdW0gdGltZXIgdmFsdWUgdW5kIGRlZmF1bHQgc2xpZGVyIHBvc2l0aW9uIGNhbiBiZSBtb2RpZmllZCBpbiB0aGUgc2V0dGluZ3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiU2h1dGRvd25UaW1lciIsCiAgIm5hbWUiOiAiU2h1dGRvd25UaW1lciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV0ZG93bnRpbWVyLW5ldW1hbm4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25ldW1hbm4tZC9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQG5ldW1hbm4iLAogICJ2ZXJzaW9uIjogMzQKfQ=="}, "40": {"version": "34", "sha256": "1glzjcdv90w5mx0xqj57i0s3qgazr5dcdcin1kwb5mqvc362dd68", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3N1c3BlbmQgdGhlIGRldmljZSBhZnRlciBhIHNwZWNpZmljIHRpbWUuXG5cbk1heGltdW0gdGltZXIgdmFsdWUgdW5kIGRlZmF1bHQgc2xpZGVyIHBvc2l0aW9uIGNhbiBiZSBtb2RpZmllZCBpbiB0aGUgc2V0dGluZ3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiU2h1dGRvd25UaW1lciIsCiAgIm5hbWUiOiAiU2h1dGRvd25UaW1lciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV0ZG93bnRpbWVyLW5ldW1hbm4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25ldW1hbm4tZC9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQG5ldW1hbm4iLAogICJ2ZXJzaW9uIjogMzQKfQ=="}, "41": {"version": "34", "sha256": "1glzjcdv90w5mx0xqj57i0s3qgazr5dcdcin1kwb5mqvc362dd68", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3N1c3BlbmQgdGhlIGRldmljZSBhZnRlciBhIHNwZWNpZmljIHRpbWUuXG5cbk1heGltdW0gdGltZXIgdmFsdWUgdW5kIGRlZmF1bHQgc2xpZGVyIHBvc2l0aW9uIGNhbiBiZSBtb2RpZmllZCBpbiB0aGUgc2V0dGluZ3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiU2h1dGRvd25UaW1lciIsCiAgIm5hbWUiOiAiU2h1dGRvd25UaW1lciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV0ZG93bnRpbWVyLW5ldW1hbm4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25ldW1hbm4tZC9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQG5ldW1hbm4iLAogICJ2ZXJzaW9uIjogMzQKfQ=="}}}
+, {"uuid": "ShutdownTimer@neumann", "name": "ShutdownTimer", "pname": "shutdowntimer", "description": "Shutdown/suspend the device after a specific time.\n\nMaximum timer value und default slider position can be modified in the settings.", "link": "https://extensions.gnome.org/extension/792/shutdowntimer/", "shell_version_map": {"38": {"version": "35", "sha256": "1ynbc63lslszd5qihz6kbjlhhibq0m6g572wspln2pxyar23v63a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3N1c3BlbmQgdGhlIGRldmljZSBhZnRlciBhIHNwZWNpZmljIHRpbWUuXG5cbk1heGltdW0gdGltZXIgdmFsdWUgdW5kIGRlZmF1bHQgc2xpZGVyIHBvc2l0aW9uIGNhbiBiZSBtb2RpZmllZCBpbiB0aGUgc2V0dGluZ3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiU2h1dGRvd25UaW1lciIsCiAgIm5hbWUiOiAiU2h1dGRvd25UaW1lciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV0ZG93bnRpbWVyLW5ldW1hbm4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25ldW1hbm4tZC9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQG5ldW1hbm4iLAogICJ2ZXJzaW9uIjogMzUKfQ=="}, "40": {"version": "35", "sha256": "1ynbc63lslszd5qihz6kbjlhhibq0m6g572wspln2pxyar23v63a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3N1c3BlbmQgdGhlIGRldmljZSBhZnRlciBhIHNwZWNpZmljIHRpbWUuXG5cbk1heGltdW0gdGltZXIgdmFsdWUgdW5kIGRlZmF1bHQgc2xpZGVyIHBvc2l0aW9uIGNhbiBiZSBtb2RpZmllZCBpbiB0aGUgc2V0dGluZ3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiU2h1dGRvd25UaW1lciIsCiAgIm5hbWUiOiAiU2h1dGRvd25UaW1lciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV0ZG93bnRpbWVyLW5ldW1hbm4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25ldW1hbm4tZC9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQG5ldW1hbm4iLAogICJ2ZXJzaW9uIjogMzUKfQ=="}, "41": {"version": "35", "sha256": "1ynbc63lslszd5qihz6kbjlhhibq0m6g572wspln2pxyar23v63a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3N1c3BlbmQgdGhlIGRldmljZSBhZnRlciBhIHNwZWNpZmljIHRpbWUuXG5cbk1heGltdW0gdGltZXIgdmFsdWUgdW5kIGRlZmF1bHQgc2xpZGVyIHBvc2l0aW9uIGNhbiBiZSBtb2RpZmllZCBpbiB0aGUgc2V0dGluZ3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiU2h1dGRvd25UaW1lciIsCiAgIm5hbWUiOiAiU2h1dGRvd25UaW1lciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV0ZG93bnRpbWVyLW5ldW1hbm4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25ldW1hbm4tZC9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQG5ldW1hbm4iLAogICJ2ZXJzaW9uIjogMzUKfQ=="}}}
 , {"uuid": "hide-dash@xenatt.github.com", "name": "Hide Dash X", "pname": "hide-dash", "description": "Hide the dash from the activities overview.", "link": "https://extensions.gnome.org/extension/805/hide-dash/", "shell_version_map": {"38": {"version": "10", "sha256": "059cy18awzv9qyn803zjyxiznacnf6pai8px2mb9mrbyf98153xz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgdGhlIGRhc2ggZnJvbSB0aGUgYWN0aXZpdGllcyBvdmVydmlldy4iLAogICJuYW1lIjogIkhpZGUgRGFzaCBYIiwKICAib3JpZ2luYWwtYXV0aG9yIjogInphY2JhcnRvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0VkZW5ob2Zlci9NaW5pbWFsaXNtLUdub21lLVNoZWxsIiwKICAidXVpZCI6ICJoaWRlLWRhc2hAeGVuYXR0LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
 , {"uuid": "hide-workspace@xenatt.github.com", "name": "Hide Workspace Thumbnails", "pname": "hide-workspace-thumbnails", "description": "Hide workspace thumbnails from the overview. But don't worry they are still present and one can switch between them like usual with e.g. shortcuts..", "link": "https://extensions.gnome.org/extension/808/hide-workspace-thumbnails/", "shell_version_map": {"40": {"version": "16", "sha256": "0443zyqr2hwq5fj3h8zch8iav83xzj4bqn1k6qd5f2z46kvzj611", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgd29ya3NwYWNlIHRodW1ibmFpbHMgZnJvbSB0aGUgb3ZlcnZpZXcuIEJ1dCBkb24ndCB3b3JyeSB0aGV5IGFyZSBzdGlsbCBwcmVzZW50IGFuZCBvbmUgY2FuIHN3aXRjaCBiZXR3ZWVuIHRoZW0gbGlrZSB1c3VhbCB3aXRoIGUuZy4gc2hvcnRjdXRzLi4iLAogICJuYW1lIjogIkhpZGUgV29ya3NwYWNlIFRodW1ibmFpbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTAiLAogICAgIjMuMTIiLAogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRWRlbmhvZmVyL01pbmltYWxpc20tR25vbWUtU2hlbGwiLAogICJ1dWlkIjogImhpZGUtd29ya3NwYWNlQHhlbmF0dC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}}}
 , {"uuid": "keyman@dpoetzsch.github.com", "name": "KeyMan", "pname": "keyman", "description": "Access passwords from the gnome keyring in a convenient way:\nSimply search for your password and copy it to clipboad by clicking it. After a certain amount of time it will be removed automatically (default is 5 seconds). As this only works if the keyrings are unlocked, this extension also provides easy access to lock/unlock keyrings.", "link": "https://extensions.gnome.org/extension/819/keyman/", "shell_version_map": {"40": {"version": "20", "sha256": "1wd76bdnzs7mxwwyvffw0fm8r8chsblz3dinpwiyc5d5kmlnyv5v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFjY2VzcyBwYXNzd29yZHMgZnJvbSB0aGUgZ25vbWUga2V5cmluZyBpbiBhIGNvbnZlbmllbnQgd2F5OlxuU2ltcGx5IHNlYXJjaCBmb3IgeW91ciBwYXNzd29yZCBhbmQgY29weSBpdCB0byBjbGlwYm9hZCBieSBjbGlja2luZyBpdC4gQWZ0ZXIgYSBjZXJ0YWluIGFtb3VudCBvZiB0aW1lIGl0IHdpbGwgYmUgcmVtb3ZlZCBhdXRvbWF0aWNhbGx5IChkZWZhdWx0IGlzIDUgc2Vjb25kcykuIEFzIHRoaXMgb25seSB3b3JrcyBpZiB0aGUga2V5cmluZ3MgYXJlIHVubG9ja2VkLCB0aGlzIGV4dGVuc2lvbiBhbHNvIHByb3ZpZGVzIGVhc3kgYWNjZXNzIHRvIGxvY2svdW5sb2NrIGtleXJpbmdzLiIsCiAgIm5hbWUiOiAiS2V5TWFuIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJrZXltYW5AcG9laGUuZGUiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmtleW1hbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kcG9ldHpzY2gva2V5bWFuIiwKICAidXVpZCI6ICJrZXltYW5AZHBvZXR6c2NoLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjAKfQ=="}, "41": {"version": "22", "sha256": "0ijqdsmz6mid30cav7is9ypl0862y2d877zagr75cnq3jshplfbj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFjY2VzcyBwYXNzd29yZHMgZnJvbSB0aGUgZ25vbWUga2V5cmluZyBpbiBhIGNvbnZlbmllbnQgd2F5OlxuU2ltcGx5IHNlYXJjaCBmb3IgeW91ciBwYXNzd29yZCBhbmQgY29weSBpdCB0byBjbGlwYm9hZCBieSBjbGlja2luZyBpdC4gQWZ0ZXIgYSBjZXJ0YWluIGFtb3VudCBvZiB0aW1lIGl0IHdpbGwgYmUgcmVtb3ZlZCBhdXRvbWF0aWNhbGx5IChkZWZhdWx0IGlzIDUgc2Vjb25kcykuIEFzIHRoaXMgb25seSB3b3JrcyBpZiB0aGUga2V5cmluZ3MgYXJlIHVubG9ja2VkLCB0aGlzIGV4dGVuc2lvbiBhbHNvIHByb3ZpZGVzIGVhc3kgYWNjZXNzIHRvIGxvY2svdW5sb2NrIGtleXJpbmdzLiIsCiAgIm5hbWUiOiAiS2V5TWFuIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJrZXltYW5AcG9laGUuZGUiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmtleW1hbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kcG9ldHpzY2gva2V5bWFuIiwKICAidXVpZCI6ICJrZXltYW5AZHBvZXR6c2NoLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}}}
@@ -195,7 +195,7 @@
 , {"uuid": "transparent-window@pbxqdown.github.com", "name": "Transparent Window", "pname": "transparent-window", "description": "Change the opacity of windows by compiz-style shortcut Alt+scroll.\nYou can customize hotkey in Preference page if Alt key doesn't work.", "link": "https://extensions.gnome.org/extension/1454/transparent-window/", "shell_version_map": {"38": {"version": "11", "sha256": "07qn7hwpv8pzwbgw60mr87ww10mwcz8x8w3d4gq4zszgynw63nbq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgb3BhY2l0eSBvZiB3aW5kb3dzIGJ5IGNvbXBpei1zdHlsZSBzaG9ydGN1dCBBbHQrc2Nyb2xsLlxuWW91IGNhbiBjdXN0b21pemUgaG90a2V5IGluIFByZWZlcmVuY2UgcGFnZSBpZiBBbHQga2V5IGRvZXNuJ3Qgd29yay4iLAogICJuYW1lIjogIlRyYW5zcGFyZW50IFdpbmRvdyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5UcmFuc3BhcmVudFdpbmRvdyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOC4xIiwKICAgICIzLjM2LjEiLAogICAgIjMuMzguMSIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiMy4zOC40IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGJ4cWRvd24vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRyYW5zcGFyZW50LXdpbmRvdyIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtd2luZG93QHBieHFkb3duLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "40": {"version": "11", "sha256": "07qn7hwpv8pzwbgw60mr87ww10mwcz8x8w3d4gq4zszgynw63nbq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgb3BhY2l0eSBvZiB3aW5kb3dzIGJ5IGNvbXBpei1zdHlsZSBzaG9ydGN1dCBBbHQrc2Nyb2xsLlxuWW91IGNhbiBjdXN0b21pemUgaG90a2V5IGluIFByZWZlcmVuY2UgcGFnZSBpZiBBbHQga2V5IGRvZXNuJ3Qgd29yay4iLAogICJuYW1lIjogIlRyYW5zcGFyZW50IFdpbmRvdyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5UcmFuc3BhcmVudFdpbmRvdyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOC4xIiwKICAgICIzLjM2LjEiLAogICAgIjMuMzguMSIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiMy4zOC40IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGJ4cWRvd24vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRyYW5zcGFyZW50LXdpbmRvdyIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtd2luZG93QHBieHFkb3duLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "41": {"version": "11", "sha256": "07qn7hwpv8pzwbgw60mr87ww10mwcz8x8w3d4gq4zszgynw63nbq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgb3BhY2l0eSBvZiB3aW5kb3dzIGJ5IGNvbXBpei1zdHlsZSBzaG9ydGN1dCBBbHQrc2Nyb2xsLlxuWW91IGNhbiBjdXN0b21pemUgaG90a2V5IGluIFByZWZlcmVuY2UgcGFnZSBpZiBBbHQga2V5IGRvZXNuJ3Qgd29yay4iLAogICJuYW1lIjogIlRyYW5zcGFyZW50IFdpbmRvdyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5UcmFuc3BhcmVudFdpbmRvdyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOC4xIiwKICAgICIzLjM2LjEiLAogICAgIjMuMzguMSIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiMy4zOC40IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGJ4cWRvd24vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRyYW5zcGFyZW50LXdpbmRvdyIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtd2luZG93QHBieHFkb3duLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "42": {"version": "11", "sha256": "07qn7hwpv8pzwbgw60mr87ww10mwcz8x8w3d4gq4zszgynw63nbq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgb3BhY2l0eSBvZiB3aW5kb3dzIGJ5IGNvbXBpei1zdHlsZSBzaG9ydGN1dCBBbHQrc2Nyb2xsLlxuWW91IGNhbiBjdXN0b21pemUgaG90a2V5IGluIFByZWZlcmVuY2UgcGFnZSBpZiBBbHQga2V5IGRvZXNuJ3Qgd29yay4iLAogICJuYW1lIjogIlRyYW5zcGFyZW50IFdpbmRvdyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5UcmFuc3BhcmVudFdpbmRvdyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOC4xIiwKICAgICIzLjM2LjEiLAogICAgIjMuMzguMSIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiMy4zOC40IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGJ4cWRvd24vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRyYW5zcGFyZW50LXdpbmRvdyIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtd2luZG93QHBieHFkb3duLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
 , {"uuid": "miniview@thesecretaryofwar.com", "name": "Miniview", "pname": "miniview", "description": "Mini preview of another window (like picture-in-picture on a TV)\n- Left-mouse drag: move preview window\n- Right-mouse drag (or ctrl + left mouse drag): resize preview window\n- Scroll wheel (or shift + click): change target window\n- Double click: raise target window\n- Shift + F12: toggle preview window (this can be changed or disabled in preferences)\n- Ctrl + scroll wheel: adjust opacity", "link": "https://extensions.gnome.org/extension/1459/miniview/", "shell_version_map": {"38": {"version": "13", "sha256": "135mg4d49cm6ba72z9174kv31y49wpvlfddh04pmbj2cy95wai46", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmkgcHJldmlldyBvZiBhbm90aGVyIHdpbmRvdyAobGlrZSBwaWN0dXJlLWluLXBpY3R1cmUgb24gYSBUVilcbi0gTGVmdC1tb3VzZSBkcmFnOiBtb3ZlIHByZXZpZXcgd2luZG93XG4tIFJpZ2h0LW1vdXNlIGRyYWcgKG9yIGN0cmwgKyBsZWZ0IG1vdXNlIGRyYWcpOiByZXNpemUgcHJldmlldyB3aW5kb3dcbi0gU2Nyb2xsIHdoZWVsIChvciBzaGlmdCArIGNsaWNrKTogY2hhbmdlIHRhcmdldCB3aW5kb3dcbi0gRG91YmxlIGNsaWNrOiByYWlzZSB0YXJnZXQgd2luZG93XG4tIFNoaWZ0ICsgRjEyOiB0b2dnbGUgcHJldmlldyB3aW5kb3cgKHRoaXMgY2FuIGJlIGNoYW5nZWQgb3IgZGlzYWJsZWQgaW4gcHJlZmVyZW5jZXMpXG4tIEN0cmwgKyBzY3JvbGwgd2hlZWw6IGFkanVzdCBvcGFjaXR5IiwKICAiZXh0ZW5zaW9uLWlkIjogIm1pbml2aWV3IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTWluaXZpZXciLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgInRoZXNlY3JldGFyeW9md2FyQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWluaXZpZXciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pYW1sZW1lYy9taW5pdmlldyIsCiAgInV1aWQiOiAibWluaXZpZXdAdGhlc2VjcmV0YXJ5b2Z3YXIuY29tIiwKICAidmVyc2lvbiI6IDEzCn0="}, "40": {"version": "14", "sha256": "0ylnjpwvdzxsdh68k197rk5dhv1211vcrjhc5w9k39hd2mdhw4ch", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmkgcHJldmlldyBvZiBhbm90aGVyIHdpbmRvdyAobGlrZSBwaWN0dXJlLWluLXBpY3R1cmUgb24gYSBUVilcbi0gTGVmdC1tb3VzZSBkcmFnOiBtb3ZlIHByZXZpZXcgd2luZG93XG4tIFJpZ2h0LW1vdXNlIGRyYWcgKG9yIGN0cmwgKyBsZWZ0IG1vdXNlIGRyYWcpOiByZXNpemUgcHJldmlldyB3aW5kb3dcbi0gU2Nyb2xsIHdoZWVsIChvciBzaGlmdCArIGNsaWNrKTogY2hhbmdlIHRhcmdldCB3aW5kb3dcbi0gRG91YmxlIGNsaWNrOiByYWlzZSB0YXJnZXQgd2luZG93XG4tIFNoaWZ0ICsgRjEyOiB0b2dnbGUgcHJldmlldyB3aW5kb3cgKHRoaXMgY2FuIGJlIGNoYW5nZWQgb3IgZGlzYWJsZWQgaW4gcHJlZmVyZW5jZXMpXG4tIEN0cmwgKyBzY3JvbGwgd2hlZWw6IGFkanVzdCBvcGFjaXR5IiwKICAiZXh0ZW5zaW9uLWlkIjogIm1pbml2aWV3IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTWluaXZpZXciLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgInRoZXNlY3JldGFyeW9md2FyQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWluaXZpZXciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pYW1sZW1lYy9taW5pdmlldyIsCiAgInV1aWQiOiAibWluaXZpZXdAdGhlc2VjcmV0YXJ5b2Z3YXIuY29tIiwKICAidmVyc2lvbiI6IDE0Cn0="}, "41": {"version": "14", "sha256": "0ylnjpwvdzxsdh68k197rk5dhv1211vcrjhc5w9k39hd2mdhw4ch", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmkgcHJldmlldyBvZiBhbm90aGVyIHdpbmRvdyAobGlrZSBwaWN0dXJlLWluLXBpY3R1cmUgb24gYSBUVilcbi0gTGVmdC1tb3VzZSBkcmFnOiBtb3ZlIHByZXZpZXcgd2luZG93XG4tIFJpZ2h0LW1vdXNlIGRyYWcgKG9yIGN0cmwgKyBsZWZ0IG1vdXNlIGRyYWcpOiByZXNpemUgcHJldmlldyB3aW5kb3dcbi0gU2Nyb2xsIHdoZWVsIChvciBzaGlmdCArIGNsaWNrKTogY2hhbmdlIHRhcmdldCB3aW5kb3dcbi0gRG91YmxlIGNsaWNrOiByYWlzZSB0YXJnZXQgd2luZG93XG4tIFNoaWZ0ICsgRjEyOiB0b2dnbGUgcHJldmlldyB3aW5kb3cgKHRoaXMgY2FuIGJlIGNoYW5nZWQgb3IgZGlzYWJsZWQgaW4gcHJlZmVyZW5jZXMpXG4tIEN0cmwgKyBzY3JvbGwgd2hlZWw6IGFkanVzdCBvcGFjaXR5IiwKICAiZXh0ZW5zaW9uLWlkIjogIm1pbml2aWV3IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTWluaXZpZXciLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgInRoZXNlY3JldGFyeW9md2FyQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWluaXZpZXciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pYW1sZW1lYy9taW5pdmlldyIsCiAgInV1aWQiOiAibWluaXZpZXdAdGhlc2VjcmV0YXJ5b2Z3YXIuY29tIiwKICAidmVyc2lvbiI6IDE0Cn0="}, "42": {"version": "14", "sha256": "0ylnjpwvdzxsdh68k197rk5dhv1211vcrjhc5w9k39hd2mdhw4ch", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmkgcHJldmlldyBvZiBhbm90aGVyIHdpbmRvdyAobGlrZSBwaWN0dXJlLWluLXBpY3R1cmUgb24gYSBUVilcbi0gTGVmdC1tb3VzZSBkcmFnOiBtb3ZlIHByZXZpZXcgd2luZG93XG4tIFJpZ2h0LW1vdXNlIGRyYWcgKG9yIGN0cmwgKyBsZWZ0IG1vdXNlIGRyYWcpOiByZXNpemUgcHJldmlldyB3aW5kb3dcbi0gU2Nyb2xsIHdoZWVsIChvciBzaGlmdCArIGNsaWNrKTogY2hhbmdlIHRhcmdldCB3aW5kb3dcbi0gRG91YmxlIGNsaWNrOiByYWlzZSB0YXJnZXQgd2luZG93XG4tIFNoaWZ0ICsgRjEyOiB0b2dnbGUgcHJldmlldyB3aW5kb3cgKHRoaXMgY2FuIGJlIGNoYW5nZWQgb3IgZGlzYWJsZWQgaW4gcHJlZmVyZW5jZXMpXG4tIEN0cmwgKyBzY3JvbGwgd2hlZWw6IGFkanVzdCBvcGFjaXR5IiwKICAiZXh0ZW5zaW9uLWlkIjogIm1pbml2aWV3IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTWluaXZpZXciLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgInRoZXNlY3JldGFyeW9md2FyQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWluaXZpZXciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pYW1sZW1lYy9taW5pdmlldyIsCiAgInV1aWQiOiAibWluaXZpZXdAdGhlc2VjcmV0YXJ5b2Z3YXIuY29tIiwKICAidmVyc2lvbiI6IDE0Cn0="}}}
 , {"uuid": "Vitals@CoreCoding.com", "name": "Vitals", "pname": "vitals", "description": "A glimpse into your computer's temperature, voltage, fan speed, memory usage, processor load, system resources, network speed and storage stats. This is a one stop shop to monitor all of your vital sensors. Uses asynchronous polling to provide a smooth user experience. Feature requests or bugs? Please use GitHub.", "link": "https://extensions.gnome.org/extension/1460/vitals/", "shell_version_map": {"38": {"version": "54", "sha256": "1wfaxzsbzkmnzvszwpapxwj1370idgpxwmyg8a0drvb1jxxq3v1y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29yZWNvZGluZy9WaXRhbHMiLAogICJ1dWlkIjogIlZpdGFsc0BDb3JlQ29kaW5nLmNvbSIsCiAgInZlcnNpb24iOiA1NAp9"}, "40": {"version": "54", "sha256": "1wfaxzsbzkmnzvszwpapxwj1370idgpxwmyg8a0drvb1jxxq3v1y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29yZWNvZGluZy9WaXRhbHMiLAogICJ1dWlkIjogIlZpdGFsc0BDb3JlQ29kaW5nLmNvbSIsCiAgInZlcnNpb24iOiA1NAp9"}, "41": {"version": "54", "sha256": "1wfaxzsbzkmnzvszwpapxwj1370idgpxwmyg8a0drvb1jxxq3v1y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29yZWNvZGluZy9WaXRhbHMiLAogICJ1dWlkIjogIlZpdGFsc0BDb3JlQ29kaW5nLmNvbSIsCiAgInZlcnNpb24iOiA1NAp9"}, "42": {"version": "54", "sha256": "1wfaxzsbzkmnzvszwpapxwj1370idgpxwmyg8a0drvb1jxxq3v1y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29yZWNvZGluZy9WaXRhbHMiLAogICJ1dWlkIjogIlZpdGFsc0BDb3JlQ29kaW5nLmNvbSIsCiAgInZlcnNpb24iOiA1NAp9"}}}
-, {"uuid": "panel-date-format@keiii.github.com", "name": "Panel Date Format", "pname": "panel-date-format", "description": "Allows to customize the date format on the panel.", "link": "https://extensions.gnome.org/extension/1462/panel-date-format/", "shell_version_map": {"40": {"version": "7", "sha256": "0afqf8hkmg1fmnz0nn6jq6k7yl7vs69w0malqhf1bqfsn5w7ksdw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBjdXN0b21pemUgdGhlIGRhdGUgZm9ybWF0IG9uIHRoZSBwYW5lbC4iLAogICJuYW1lIjogIlBhbmVsIERhdGUgRm9ybWF0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhbmVsLWRhdGUtZm9ybWF0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vS0VJSUkvZ25vbWUtc2hlbGwtcGFuZWwtZGF0ZS1mb3JtYXQiLAogICJ1dWlkIjogInBhbmVsLWRhdGUtZm9ybWF0QGtlaWlpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}, "41": {"version": "7", "sha256": "0afqf8hkmg1fmnz0nn6jq6k7yl7vs69w0malqhf1bqfsn5w7ksdw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBjdXN0b21pemUgdGhlIGRhdGUgZm9ybWF0IG9uIHRoZSBwYW5lbC4iLAogICJuYW1lIjogIlBhbmVsIERhdGUgRm9ybWF0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhbmVsLWRhdGUtZm9ybWF0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vS0VJSUkvZ25vbWUtc2hlbGwtcGFuZWwtZGF0ZS1mb3JtYXQiLAogICJ1dWlkIjogInBhbmVsLWRhdGUtZm9ybWF0QGtlaWlpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}, "42": {"version": "7", "sha256": "0afqf8hkmg1fmnz0nn6jq6k7yl7vs69w0malqhf1bqfsn5w7ksdw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBjdXN0b21pemUgdGhlIGRhdGUgZm9ybWF0IG9uIHRoZSBwYW5lbC4iLAogICJuYW1lIjogIlBhbmVsIERhdGUgRm9ybWF0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhbmVsLWRhdGUtZm9ybWF0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vS0VJSUkvZ25vbWUtc2hlbGwtcGFuZWwtZGF0ZS1mb3JtYXQiLAogICJ1dWlkIjogInBhbmVsLWRhdGUtZm9ybWF0QGtlaWlpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}}}
+, {"uuid": "panel-date-format@keiii.github.com", "name": "Panel Date Format", "pname": "panel-date-format", "description": "Allows to customize the date format on the panel.", "link": "https://extensions.gnome.org/extension/1462/panel-date-format/", "shell_version_map": {"40": {"version": "8", "sha256": "0jj6r7q6g2b1k1xmgi1jrkcfzmvaf48kqm2cxp2avw8wqb6wsgm4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBjdXN0b21pemUgdGhlIGRhdGUgZm9ybWF0IG9uIHRoZSBwYW5lbC4iLAogICJuYW1lIjogIlBhbmVsIERhdGUgRm9ybWF0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhbmVsLWRhdGUtZm9ybWF0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vS0VJSUkvZ25vbWUtc2hlbGwtcGFuZWwtZGF0ZS1mb3JtYXQiLAogICJ1dWlkIjogInBhbmVsLWRhdGUtZm9ybWF0QGtlaWlpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogOAp9"}, "41": {"version": "8", "sha256": "0jj6r7q6g2b1k1xmgi1jrkcfzmvaf48kqm2cxp2avw8wqb6wsgm4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBjdXN0b21pemUgdGhlIGRhdGUgZm9ybWF0IG9uIHRoZSBwYW5lbC4iLAogICJuYW1lIjogIlBhbmVsIERhdGUgRm9ybWF0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhbmVsLWRhdGUtZm9ybWF0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vS0VJSUkvZ25vbWUtc2hlbGwtcGFuZWwtZGF0ZS1mb3JtYXQiLAogICJ1dWlkIjogInBhbmVsLWRhdGUtZm9ybWF0QGtlaWlpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogOAp9"}, "42": {"version": "8", "sha256": "0jj6r7q6g2b1k1xmgi1jrkcfzmvaf48kqm2cxp2avw8wqb6wsgm4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBjdXN0b21pemUgdGhlIGRhdGUgZm9ybWF0IG9uIHRoZSBwYW5lbC4iLAogICJuYW1lIjogIlBhbmVsIERhdGUgRm9ybWF0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhbmVsLWRhdGUtZm9ybWF0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vS0VJSUkvZ25vbWUtc2hlbGwtcGFuZWwtZGF0ZS1mb3JtYXQiLAogICJ1dWlkIjogInBhbmVsLWRhdGUtZm9ybWF0QGtlaWlpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogOAp9"}}}
 , {"uuid": "desktop-icons@csoriano", "name": "Desktop Icons", "pname": "desktop-icons", "description": "Add icons to the desktop", "link": "https://extensions.gnome.org/extension/1465/desktop-icons/", "shell_version_map": {"38": {"version": "19", "sha256": "01qdh1kigl3ck1mzgha1a9218lpam5b54ai72mpvr64gkaax2mcv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBpY29ucyB0byB0aGUgZGVza3RvcCIsCiAgIm5hbWUiOiAiRGVza3RvcCBJY29ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvV29ybGQvU2hlbGxFeHRlbnNpb25zL2Rlc2t0b3AtaWNvbnMiLAogICJ1dWlkIjogImRlc2t0b3AtaWNvbnNAY3Nvcmlhbm8iLAogICJ2ZXJzaW9uIjogMTkKfQ=="}}}
 , {"uuid": "fullbattery@categulario.tk", "name": "Full Battery indicator", "pname": "full-battery-indicator", "description": "Notifies when battery is full", "link": "https://extensions.gnome.org/extension/1466/full-battery-indicator/", "shell_version_map": {"38": {"version": "4", "sha256": "167d84phf68fi5bg9fvm4l7l8jq7k86a80adm0l56ngqygxqsyy8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vdGlmaWVzIHdoZW4gYmF0dGVyeSBpcyBmdWxsIiwKICAibmFtZSI6ICJGdWxsIEJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjMyIiwKICAgICIzLjI4LjMiLAogICAgIjMuMzQuNCIsCiAgICAiMy4zNi4wIiwKICAgICIzLjM4IiwKICAgICI0MC4zIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2F0ZWd1bGFyaW8vZnVsbC1iYXR0ZXJ5LWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiZnVsbGJhdHRlcnlAY2F0ZWd1bGFyaW8udGsiLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "167d84phf68fi5bg9fvm4l7l8jq7k86a80adm0l56ngqygxqsyy8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vdGlmaWVzIHdoZW4gYmF0dGVyeSBpcyBmdWxsIiwKICAibmFtZSI6ICJGdWxsIEJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjMyIiwKICAgICIzLjI4LjMiLAogICAgIjMuMzQuNCIsCiAgICAiMy4zNi4wIiwKICAgICIzLjM4IiwKICAgICI0MC4zIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2F0ZWd1bGFyaW8vZnVsbC1iYXR0ZXJ5LWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiZnVsbGJhdHRlcnlAY2F0ZWd1bGFyaW8udGsiLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "rdesktop-menu@bastien.git.geekwu.org", "name": "Rdesktop launcher", "pname": "rdesktop-launcher", "description": "Add a servers status menu for quickly running rdesktop", "link": "https://extensions.gnome.org/extension/1467/rdesktop-launcher/", "shell_version_map": {"38": {"version": "15", "sha256": "1vhlx80jhghg38g13cn1i8410gi4nmhsqqhqklkfkz761rvg8fq7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHNlcnZlcnMgc3RhdHVzIG1lbnUgZm9yIHF1aWNrbHkgcnVubmluZyByZGVza3RvcCIsCiAgImV4dGVuc2lvbi1pZCI6ICJyZGVza3RvcC1tZW51IiwKICAibmFtZSI6ICJSZGVza3RvcCBsYXVuY2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXQuZ2Vla3d1Lm9yZy9iYXN0aWVuL3JkZXNrdG9wLW1lbnUiLAogICJ1dWlkIjogInJkZXNrdG9wLW1lbnVAYmFzdGllbi5naXQuZ2Vla3d1Lm9yZyIsCiAgInZlcnNpb24iOiAxNQp9"}, "40": {"version": "15", "sha256": "1vhlx80jhghg38g13cn1i8410gi4nmhsqqhqklkfkz761rvg8fq7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHNlcnZlcnMgc3RhdHVzIG1lbnUgZm9yIHF1aWNrbHkgcnVubmluZyByZGVza3RvcCIsCiAgImV4dGVuc2lvbi1pZCI6ICJyZGVza3RvcC1tZW51IiwKICAibmFtZSI6ICJSZGVza3RvcCBsYXVuY2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXQuZ2Vla3d1Lm9yZy9iYXN0aWVuL3JkZXNrdG9wLW1lbnUiLAogICJ1dWlkIjogInJkZXNrdG9wLW1lbnVAYmFzdGllbi5naXQuZ2Vla3d1Lm9yZyIsCiAgInZlcnNpb24iOiAxNQp9"}, "41": {"version": "15", "sha256": "1vhlx80jhghg38g13cn1i8410gi4nmhsqqhqklkfkz761rvg8fq7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHNlcnZlcnMgc3RhdHVzIG1lbnUgZm9yIHF1aWNrbHkgcnVubmluZyByZGVza3RvcCIsCiAgImV4dGVuc2lvbi1pZCI6ICJyZGVza3RvcC1tZW51IiwKICAibmFtZSI6ICJSZGVza3RvcCBsYXVuY2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXQuZ2Vla3d1Lm9yZy9iYXN0aWVuL3JkZXNrdG9wLW1lbnUiLAogICJ1dWlkIjogInJkZXNrdG9wLW1lbnVAYmFzdGllbi5naXQuZ2Vla3d1Lm9yZyIsCiAgInZlcnNpb24iOiAxNQp9"}, "42": {"version": "15", "sha256": "1vhlx80jhghg38g13cn1i8410gi4nmhsqqhqklkfkz761rvg8fq7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHNlcnZlcnMgc3RhdHVzIG1lbnUgZm9yIHF1aWNrbHkgcnVubmluZyByZGVza3RvcCIsCiAgImV4dGVuc2lvbi1pZCI6ICJyZGVza3RvcC1tZW51IiwKICAibmFtZSI6ICJSZGVza3RvcCBsYXVuY2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXQuZ2Vla3d1Lm9yZy9iYXN0aWVuL3JkZXNrdG9wLW1lbnUiLAogICJ1dWlkIjogInJkZXNrdG9wLW1lbnVAYmFzdGllbi5naXQuZ2Vla3d1Lm9yZyIsCiAgInZlcnNpb24iOiAxNQp9"}}}
@@ -320,7 +320,7 @@
 , {"uuid": "user-theme-x@tuberry.github.io", "name": "User Themes X", "pname": "user-themes-x", "description": "Customizable user-theme with user stylesheet and dark theme auto-switch support\n\nFor support, please report any issues via the homepage link below.", "link": "https://extensions.gnome.org/extension/3019/user-themes-x/", "shell_version_map": {"38": {"version": "21", "sha256": "08992jny17mbw3gvlfwzgis1ld3wfkkd5fwdyq2c4s6l412fr0mz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6YWJsZSB1c2VyLXRoZW1lIHdpdGggdXNlciBzdHlsZXNoZWV0IGFuZCBkYXJrIHRoZW1lIGF1dG8tc3dpdGNoIHN1cHBvcnRcblxuRm9yIHN1cHBvcnQsIHBsZWFzZSByZXBvcnQgYW55IGlzc3VlcyB2aWEgdGhlIGhvbWVwYWdlIGxpbmsgYmVsb3cuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUteCIsCiAgImdldHRleHQtZG9tYWluIjogInVzZXItdGhlbWUteCIsCiAgIm5hbWUiOiAiVXNlciBUaGVtZXMgWCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiam9obi5zdG93ZXJzQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudXNlci10aGVtZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvdXNlci10aGVtZS14IiwKICAidXVpZCI6ICJ1c2VyLXRoZW1lLXhAdHViZXJyeS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMjEKfQ=="}, "40": {"version": "24", "sha256": "12scyi48nfbrl2bvhq4rwdcj7vyvpdc86sa8iw1fg3y0cw6vlvq6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6YWJsZSB1c2VyLXRoZW1lIHdpdGggdXNlciBzdHlsZXNoZWV0IGFuZCBkYXJrIHRoZW1lIGF1dG8tc3dpdGNoIHN1cHBvcnRcblxuRm9yIHN1cHBvcnQsIHBsZWFzZSByZXBvcnQgYW55IGlzc3VlcyB2aWEgdGhlIGhvbWVwYWdlIGxpbmsgYmVsb3cuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUteCIsCiAgImdldHRleHQtZG9tYWluIjogInVzZXItdGhlbWUteCIsCiAgIm5hbWUiOiAiVXNlciBUaGVtZXMgWCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiam9obi5zdG93ZXJzQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudXNlci10aGVtZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L3VzZXItdGhlbWUteCIsCiAgInV1aWQiOiAidXNlci10aGVtZS14QHR1YmVycnkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDI0Cn0="}, "41": {"version": "25", "sha256": "101y4msarf1dglh0g4wybz4dx8zsz2yg8ny2q5rz3xy1cjj8ac5a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6YWJsZSB1c2VyLXRoZW1lIHdpdGggdXNlciBzdHlsZXNoZWV0IGFuZCBkYXJrIHRoZW1lIGF1dG8tc3dpdGNoIHN1cHBvcnRcblxuRm9yIHN1cHBvcnQsIHBsZWFzZSByZXBvcnQgYW55IGlzc3VlcyB2aWEgdGhlIGhvbWVwYWdlIGxpbmsgYmVsb3cuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUteCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi11c2VyLXRoZW1lLXgiLAogICJuYW1lIjogIlVzZXIgVGhlbWVzIFgiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImpvaG4uc3Rvd2Vyc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZXItdGhlbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHViZXJyeS91c2VyLXRoZW1lLXgiLAogICJ1dWlkIjogInVzZXItdGhlbWUteEB0dWJlcnJ5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAyNQp9"}, "42": {"version": "28", "sha256": "0bszimlk03j49v9f8ab6kv3chg8p29zg6ms3l1nvicdifxyp534g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6YWJsZSB1c2VyLXRoZW1lIHdpdGggdXNlciBzdHlsZXNoZWV0IGFuZCBkYXJrIHRoZW1lIGF1dG8tc3dpdGNoIHN1cHBvcnRcblxuRm9yIHN1cHBvcnQsIHBsZWFzZSByZXBvcnQgYW55IGlzc3VlcyB2aWEgdGhlIGhvbWVwYWdlIGxpbmsgYmVsb3cuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUteCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi11c2VyLXRoZW1lLXgiLAogICJuYW1lIjogIlVzZXIgVGhlbWVzIFgiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImpvaG4uc3Rvd2Vyc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZXItdGhlbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHViZXJyeS91c2VyLXRoZW1lLXgiLAogICJ1dWlkIjogInVzZXItdGhlbWUteEB0dWJlcnJ5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAyOAp9"}}}
 , {"uuid": "app_view_text@fawtytoo", "name": "Application View Text", "pname": "application-view-text", "description": "The text in the Application view can be hard to read on a light coloured background. This extension makes the text bolder with a drop shadow.\nAlso improves the visibility of the app running dot.", "link": "https://extensions.gnome.org/extension/3028/application-view-text/", "shell_version_map": {"38": {"version": "7", "sha256": "1dnf1rqg27y1c50sfmqcnswac93lkgml1hdaalq6lfzm8pbnpx0d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSB0ZXh0IGluIHRoZSBBcHBsaWNhdGlvbiB2aWV3IGNhbiBiZSBoYXJkIHRvIHJlYWQgb24gYSBsaWdodCBjb2xvdXJlZCBiYWNrZ3JvdW5kLiBUaGlzIGV4dGVuc2lvbiBtYWtlcyB0aGUgdGV4dCBib2xkZXIgd2l0aCBhIGRyb3Agc2hhZG93LlxuQWxzbyBpbXByb3ZlcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgYXBwIHJ1bm5pbmcgZG90LiIsCiAgIm5hbWUiOiAiQXBwbGljYXRpb24gVmlldyBUZXh0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYXBwX3ZpZXdfdGV4dEBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "7", "sha256": "1dnf1rqg27y1c50sfmqcnswac93lkgml1hdaalq6lfzm8pbnpx0d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSB0ZXh0IGluIHRoZSBBcHBsaWNhdGlvbiB2aWV3IGNhbiBiZSBoYXJkIHRvIHJlYWQgb24gYSBsaWdodCBjb2xvdXJlZCBiYWNrZ3JvdW5kLiBUaGlzIGV4dGVuc2lvbiBtYWtlcyB0aGUgdGV4dCBib2xkZXIgd2l0aCBhIGRyb3Agc2hhZG93LlxuQWxzbyBpbXByb3ZlcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgYXBwIHJ1bm5pbmcgZG90LiIsCiAgIm5hbWUiOiAiQXBwbGljYXRpb24gVmlldyBUZXh0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYXBwX3ZpZXdfdGV4dEBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "7", "sha256": "1dnf1rqg27y1c50sfmqcnswac93lkgml1hdaalq6lfzm8pbnpx0d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSB0ZXh0IGluIHRoZSBBcHBsaWNhdGlvbiB2aWV3IGNhbiBiZSBoYXJkIHRvIHJlYWQgb24gYSBsaWdodCBjb2xvdXJlZCBiYWNrZ3JvdW5kLiBUaGlzIGV4dGVuc2lvbiBtYWtlcyB0aGUgdGV4dCBib2xkZXIgd2l0aCBhIGRyb3Agc2hhZG93LlxuQWxzbyBpbXByb3ZlcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgYXBwIHJ1bm5pbmcgZG90LiIsCiAgIm5hbWUiOiAiQXBwbGljYXRpb24gVmlldyBUZXh0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYXBwX3ZpZXdfdGV4dEBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "vpn-snx-indicator@als.kz", "name": "VPN and SNX Indicator", "pname": "vpn-and-snx-indicator", "description": "A status indicator for a VPN and SNX(Check Point) connection.", "link": "https://extensions.gnome.org/extension/3049/vpn-and-snx-indicator/", "shell_version_map": {"38": {"version": "8", "sha256": "1mns39frrabpfdvmc7jcqxrlxs1mnjimdwa69hv5lawf0r498h9g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIGluZGljYXRvciBmb3IgYSBWUE4gYW5kIFNOWChDaGVjayBQb2ludCkgY29ubmVjdGlvbi4iLAogICJuYW1lIjogIlZQTiBhbmQgU05YIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNi4wIiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxleGV5bG92Y2hpa292L3Zwbi1pbmRpY2F0b3Itc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ2cG4tc254LWluZGljYXRvckBhbHMua3oiLAogICJ2ZXJzaW9uIjogOAp9"}, "40": {"version": "8", "sha256": "1mns39frrabpfdvmc7jcqxrlxs1mnjimdwa69hv5lawf0r498h9g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIGluZGljYXRvciBmb3IgYSBWUE4gYW5kIFNOWChDaGVjayBQb2ludCkgY29ubmVjdGlvbi4iLAogICJuYW1lIjogIlZQTiBhbmQgU05YIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNi4wIiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxleGV5bG92Y2hpa292L3Zwbi1pbmRpY2F0b3Itc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ2cG4tc254LWluZGljYXRvckBhbHMua3oiLAogICJ2ZXJzaW9uIjogOAp9"}}}
-, {"uuid": "vlan-switcher@darcato.github.io", "name": "VLAN Switcher", "pname": "vlan-switcher", "description": "Activate and deactivate VLAN connections from the system panel.", "link": "https://extensions.gnome.org/extension/3061/vlan-switcher/", "shell_version_map": {"38": {"version": "3", "sha256": "1a9xz9s165nny9zc6ldlh0ij93q1mryy8v2hp3ja399jk4w9wp3w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFjdGl2YXRlIGFuZCBkZWFjdGl2YXRlIFZMQU4gY29ubmVjdGlvbnMgZnJvbSB0aGUgc3lzdGVtIHBhbmVsLiIsCiAgIm5hbWUiOiAiVkxBTiBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFyY2F0by9nbm9tZS12bGFuLXN3aXRjaGVyIiwKICAidXVpZCI6ICJ2bGFuLXN3aXRjaGVyQGRhcmNhdG8uZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "40": {"version": "3", "sha256": "1a9xz9s165nny9zc6ldlh0ij93q1mryy8v2hp3ja399jk4w9wp3w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFjdGl2YXRlIGFuZCBkZWFjdGl2YXRlIFZMQU4gY29ubmVjdGlvbnMgZnJvbSB0aGUgc3lzdGVtIHBhbmVsLiIsCiAgIm5hbWUiOiAiVkxBTiBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFyY2F0by9nbm9tZS12bGFuLXN3aXRjaGVyIiwKICAidXVpZCI6ICJ2bGFuLXN3aXRjaGVyQGRhcmNhdG8uZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "42": {"version": "3", "sha256": "1a9xz9s165nny9zc6ldlh0ij93q1mryy8v2hp3ja399jk4w9wp3w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFjdGl2YXRlIGFuZCBkZWFjdGl2YXRlIFZMQU4gY29ubmVjdGlvbnMgZnJvbSB0aGUgc3lzdGVtIHBhbmVsLiIsCiAgIm5hbWUiOiAiVkxBTiBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFyY2F0by9nbm9tZS12bGFuLXN3aXRjaGVyIiwKICAidXVpZCI6ICJ2bGFuLXN3aXRjaGVyQGRhcmNhdG8uZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
+, {"uuid": "vlan-switcher@darcato.github.io", "name": "VLAN Switcher", "pname": "vlan-switcher", "description": "Activate and deactivate VLAN connections from the system panel.", "link": "https://extensions.gnome.org/extension/3061/vlan-switcher/", "shell_version_map": {"38": {"version": "4", "sha256": "03axq6rikn71d02qjwkb12igxv05y742i7dva3b8n87mjdzr5qc2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFjdGl2YXRlIGFuZCBkZWFjdGl2YXRlIFZMQU4gY29ubmVjdGlvbnMgZnJvbSB0aGUgc3lzdGVtIHBhbmVsLiIsCiAgIm5hbWUiOiAiVkxBTiBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFyY2F0by9nbm9tZS12bGFuLXN3aXRjaGVyIiwKICAidXVpZCI6ICJ2bGFuLXN3aXRjaGVyQGRhcmNhdG8uZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "03axq6rikn71d02qjwkb12igxv05y742i7dva3b8n87mjdzr5qc2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFjdGl2YXRlIGFuZCBkZWFjdGl2YXRlIFZMQU4gY29ubmVjdGlvbnMgZnJvbSB0aGUgc3lzdGVtIHBhbmVsLiIsCiAgIm5hbWUiOiAiVkxBTiBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFyY2F0by9nbm9tZS12bGFuLXN3aXRjaGVyIiwKICAidXVpZCI6ICJ2bGFuLXN3aXRjaGVyQGRhcmNhdG8uZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "42": {"version": "4", "sha256": "03axq6rikn71d02qjwkb12igxv05y742i7dva3b8n87mjdzr5qc2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFjdGl2YXRlIGFuZCBkZWFjdGl2YXRlIFZMQU4gY29ubmVjdGlvbnMgZnJvbSB0aGUgc3lzdGVtIHBhbmVsLiIsCiAgIm5hbWUiOiAiVkxBTiBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFyY2F0by9nbm9tZS12bGFuLXN3aXRjaGVyIiwKICAidXVpZCI6ICJ2bGFuLXN3aXRjaGVyQGRhcmNhdG8uZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "ssss@tu.berry", "name": "Simple Subscriber", "pname": "ss-subscriber", "description": "Simple shadowsocks subscriber (SSD only), yet another proxy switcher for GNOME Shell\n\nFor support, please report any issues via the homepage link below.", "link": "https://extensions.gnome.org/extension/3073/ss-subscriber/", "shell_version_map": {"38": {"version": "18", "sha256": "03gryl577559h2l1s3adi5gxa8ivp454p4lq7jng1db6smlpj95a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBzaGFkb3dzb2NrcyBzdWJzY3JpYmVyIChTU0Qgb25seSksIHlldCBhbm90aGVyIHByb3h5IHN3aXRjaGVyIGZvciBHTk9NRSBTaGVsbFxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzcy1zdWJzY3JpYmVyIiwKICAibmFtZSI6ICJTaW1wbGUgU3Vic2NyaWJlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zcy1zdWJzY3JpYmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHViZXJyeS9zcy1zdWJzY3JpYmVyIiwKICAidXVpZCI6ICJzc3NzQHR1LmJlcnJ5IiwKICAidmVyc2lvbiI6IDE4Cn0="}, "40": {"version": "20", "sha256": "075d00xsbmr4qs554p2anddhkmgcx7xd4nn8prgmf4wpyfk87552", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBzaGFkb3dzb2NrcyBzdWJzY3JpYmVyIChTU0Qgb25seSksIHlldCBhbm90aGVyIHByb3h5IHN3aXRjaGVyIGZvciBHTk9NRSBTaGVsbFxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzcy1zdWJzY3JpYmVyIiwKICAibmFtZSI6ICJTaW1wbGUgU3Vic2NyaWJlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zcy1zdWJzY3JpYmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvc3Mtc3Vic2NyaWJlciIsCiAgInV1aWQiOiAic3Nzc0B0dS5iZXJyeSIsCiAgInZlcnNpb24iOiAyMAp9"}, "41": {"version": "21", "sha256": "06ybzk62fbi88iqssl4pw0amsbcp09pnw99wxanh2jlvaakqgday", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBzaGFkb3dzb2NrcyBzdWJzY3JpYmVyIChTU0Qgb25seSksIHlldCBhbm90aGVyIHByb3h5IHN3aXRjaGVyIGZvciBHTk9NRSBTaGVsbFxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tc3Mtc3Vic2NyaWJlciIsCiAgIm5hbWUiOiAiU2ltcGxlIFN1YnNjcmliZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3Mtc3Vic2NyaWJlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L3NzLXN1YnNjcmliZXIiLAogICJ1dWlkIjogInNzc3NAdHUuYmVycnkiLAogICJ2ZXJzaW9uIjogMjEKfQ=="}, "42": {"version": "23", "sha256": "078111h68zv03n6i4yw9jgdn9idxb91qpami64xl5g1rc75sc91w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBzaGFkb3dzb2NrcyBzdWJzY3JpYmVyIChTU0Qgb25seSksIHlldCBhbm90aGVyIHByb3h5IHN3aXRjaGVyIGZvciBHTk9NRSBTaGVsbFxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tc3Mtc3Vic2NyaWJlciIsCiAgIm5hbWUiOiAiU2ltcGxlIFN1YnNjcmliZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3Mtc3Vic2NyaWJlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L3NzLXN1YnNjcmliZXIiLAogICJ1dWlkIjogInNzc3NAdHUuYmVycnkiLAogICJ2ZXJzaW9uIjogMjMKfQ=="}}}
 , {"uuid": "extension-list@tu.berry", "name": "Extension List", "pname": "extension-list", "description": "Simple GNOME Shell extension manager in the top panel\n\nFor support, please report any issues via the homepage link below.", "link": "https://extensions.gnome.org/extension/3088/extension-list/", "shell_version_map": {"38": {"version": "25", "sha256": "0cwabswbb5p0z156488ag095h558hf541650vfnjgw4nas7v2ccx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBHTk9NRSBTaGVsbCBleHRlbnNpb24gbWFuYWdlciBpbiB0aGUgdG9wIHBhbmVsXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImV4dGVuc2lvbi1saXN0IiwKICAibmFtZSI6ICJFeHRlbnNpb24gTGlzdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5leHRlbnNpb24tbGlzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvZXh0ZW5zaW9uLWxpc3QiLAogICJ1dWlkIjogImV4dGVuc2lvbi1saXN0QHR1LmJlcnJ5IiwKICAidmVyc2lvbiI6IDI1Cn0="}, "40": {"version": "27", "sha256": "0m13qzzbbx5rnq8a9xn09nvr3dy9zqkp8y9529y12250wyjafl1p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBHTk9NRSBTaGVsbCBleHRlbnNpb24gbWFuYWdlciBpbiB0aGUgdG9wIHBhbmVsXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImV4dGVuc2lvbi1saXN0IiwKICAibmFtZSI6ICJFeHRlbnNpb24gTGlzdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5leHRlbnNpb24tbGlzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L2V4dGVuc2lvbi1saXN0IiwKICAidXVpZCI6ICJleHRlbnNpb24tbGlzdEB0dS5iZXJyeSIsCiAgInZlcnNpb24iOiAyNwp9"}, "41": {"version": "29", "sha256": "1yl2b9phvrgsdpkwqjfqpaqi2xcj5bcd4zabqkrfwngqsg17s85j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBHTk9NRSBTaGVsbCBleHRlbnNpb24gbWFuYWdlciBpbiB0aGUgdG9wIHBhbmVsXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1leHRlbnNpb24tbGlzdCIsCiAgIm5hbWUiOiAiRXh0ZW5zaW9uIExpc3QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZXh0ZW5zaW9uLWxpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHViZXJyeS9leHRlbnNpb24tbGlzdCIsCiAgInV1aWQiOiAiZXh0ZW5zaW9uLWxpc3RAdHUuYmVycnkiLAogICJ2ZXJzaW9uIjogMjkKfQ=="}, "42": {"version": "30", "sha256": "1hnidb1f6cawfhmkql4y8kz3rq0ibqcfk678yz1n12l2gp3vvvz3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBHTk9NRSBTaGVsbCBleHRlbnNpb24gbWFuYWdlciBpbiB0aGUgdG9wIHBhbmVsXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1leHRlbnNpb24tbGlzdCIsCiAgIm5hbWUiOiAiRXh0ZW5zaW9uIExpc3QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZXh0ZW5zaW9uLWxpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHViZXJyeS9leHRlbnNpb24tbGlzdCIsCiAgInV1aWQiOiAiZXh0ZW5zaW9uLWxpc3RAdHUuYmVycnkiLAogICJ2ZXJzaW9uIjogMzAKfQ=="}}}
 , {"uuid": "MaximizeToEmptyWorkspace-extension@kaisersite.de", "name": "Maximize To Empty Workspace", "pname": "maximize-to-empty-workspace", "description": "New and maximized windows will be moved to empty workspaces.\nSupports multiple monitors.", "link": "https://extensions.gnome.org/extension/3100/maximize-to-empty-workspace/", "shell_version_map": {"38": {"version": "11", "sha256": "1cbbdgbgnara45152byr5yx52cbsfd48dpkick93ih2plk1gbm3l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgbWF4aW1pemVkIHdpbmRvd3Mgd2lsbCBiZSBtb3ZlZCB0byBlbXB0eSB3b3Jrc3BhY2VzLlxuU3VwcG9ydHMgbXVsdGlwbGUgbW9uaXRvcnMuIiwKICAibmFtZSI6ICJNYXhpbWl6ZSBUbyBFbXB0eSBXb3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYWlzZXJhY20vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW1heGltaXplLXRvLWVtcHR5LXdvcmtzcGFjZSIsCiAgInV1aWQiOiAiTWF4aW1pemVUb0VtcHR5V29ya3NwYWNlLWV4dGVuc2lvbkBrYWlzZXJzaXRlLmRlIiwKICAidmVyc2lvbiI6IDExCn0="}, "40": {"version": "11", "sha256": "1cbbdgbgnara45152byr5yx52cbsfd48dpkick93ih2plk1gbm3l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgbWF4aW1pemVkIHdpbmRvd3Mgd2lsbCBiZSBtb3ZlZCB0byBlbXB0eSB3b3Jrc3BhY2VzLlxuU3VwcG9ydHMgbXVsdGlwbGUgbW9uaXRvcnMuIiwKICAibmFtZSI6ICJNYXhpbWl6ZSBUbyBFbXB0eSBXb3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYWlzZXJhY20vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW1heGltaXplLXRvLWVtcHR5LXdvcmtzcGFjZSIsCiAgInV1aWQiOiAiTWF4aW1pemVUb0VtcHR5V29ya3NwYWNlLWV4dGVuc2lvbkBrYWlzZXJzaXRlLmRlIiwKICAidmVyc2lvbiI6IDExCn0="}, "41": {"version": "11", "sha256": "1cbbdgbgnara45152byr5yx52cbsfd48dpkick93ih2plk1gbm3l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgbWF4aW1pemVkIHdpbmRvd3Mgd2lsbCBiZSBtb3ZlZCB0byBlbXB0eSB3b3Jrc3BhY2VzLlxuU3VwcG9ydHMgbXVsdGlwbGUgbW9uaXRvcnMuIiwKICAibmFtZSI6ICJNYXhpbWl6ZSBUbyBFbXB0eSBXb3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYWlzZXJhY20vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW1heGltaXplLXRvLWVtcHR5LXdvcmtzcGFjZSIsCiAgInV1aWQiOiAiTWF4aW1pemVUb0VtcHR5V29ya3NwYWNlLWV4dGVuc2lvbkBrYWlzZXJzaXRlLmRlIiwKICAidmVyc2lvbiI6IDExCn0="}, "42": {"version": "11", "sha256": "1cbbdgbgnara45152byr5yx52cbsfd48dpkick93ih2plk1gbm3l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgbWF4aW1pemVkIHdpbmRvd3Mgd2lsbCBiZSBtb3ZlZCB0byBlbXB0eSB3b3Jrc3BhY2VzLlxuU3VwcG9ydHMgbXVsdGlwbGUgbW9uaXRvcnMuIiwKICAibmFtZSI6ICJNYXhpbWl6ZSBUbyBFbXB0eSBXb3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYWlzZXJhY20vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW1heGltaXplLXRvLWVtcHR5LXdvcmtzcGFjZSIsCiAgInV1aWQiOiAiTWF4aW1pemVUb0VtcHR5V29ya3NwYWNlLWV4dGVuc2lvbkBrYWlzZXJzaXRlLmRlIiwKICAidmVyc2lvbiI6IDExCn0="}}}
@@ -384,7 +384,7 @@
 , {"uuid": "netspeedsimplified@prateekmedia.extension", "name": "Net speed Simplified", "pname": "net-speed-simplified", "description": "A Net Speed extension With Loads of Customization. Fork of simplenetspeed \n \nWhat's new\n☞ Add Use System Color Scheme option \n☞ Update Preferences logic \n☞ Filter more devices for net speed indicator \n\nFull CHANGELOG can be found on github releases page \n\nFeatures \n1. Clean UI \n2. Adjustable Refresh rate \n3. Preferences to manage extension \n4. Vertical Alignment Support \n5. Two Icon sets for Indicators \n\nFeature Highlights for Preferences \n1. Lock Mouse Actions option \n2. Advance Position options to pinpoint where to place the indicator on the Panel. \n3. Refresh time option by which you can change refresh rate value between 1.0 sec to 10.0 sec. \n4. Show Upload First option to show upload speed first \n5. Color Customizations for speed indicators \n6. Hide when Disconnected option \n7. Use Shorten Units option \n8. Limit Unit option and more... \n\nModes \n- Total net speed in b/s, kb/s, ... \n- Total net speed in B/s, KB/s, ... \n- Up & down speed in b/s, kb/s, ... \n- Up & down speed in B/s, KB/s, ... \n- Total downloads in B, KB, ... (Right click to reset counter) \n\nMouse Events \n- Left click to change modes \n- Right click(in 1-4 modes): Toggle the visibility of total loaded. \n- Right click(in 5th mode): Reset total downloaded. \n- Right Click(Four consecutive times): Toggle through horizontal/vertical alignment. \n- Middle click: Cycle through the font sizes.", "link": "https://extensions.gnome.org/extension/3724/net-speed-simplified/", "shell_version_map": {"38": {"version": "35", "sha256": "0nh00iach2mnrdij1ywp5l6vr064q9dfwwjv4g2n4mqiz9jxr1lv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTmV0IFNwZWVkIGV4dGVuc2lvbiBXaXRoIExvYWRzIG9mIEN1c3RvbWl6YXRpb24uIEZvcmsgb2Ygc2ltcGxlbmV0c3BlZWQgXG4gXG5XaGF0J3MgbmV3XG5cdTI2MWUgQWRkIFVzZSBTeXN0ZW0gQ29sb3IgU2NoZW1lIG9wdGlvbiBcblx1MjYxZSBVcGRhdGUgUHJlZmVyZW5jZXMgbG9naWMgXG5cdTI2MWUgRmlsdGVyIG1vcmUgZGV2aWNlcyBmb3IgbmV0IHNwZWVkIGluZGljYXRvciBcblxuRnVsbCBDSEFOR0VMT0cgY2FuIGJlIGZvdW5kIG9uIGdpdGh1YiByZWxlYXNlcyBwYWdlIFxuXG5GZWF0dXJlcyBcbjEuIENsZWFuIFVJIFxuMi4gQWRqdXN0YWJsZSBSZWZyZXNoIHJhdGUgXG4zLiBQcmVmZXJlbmNlcyB0byBtYW5hZ2UgZXh0ZW5zaW9uIFxuNC4gVmVydGljYWwgQWxpZ25tZW50IFN1cHBvcnQgXG41LiBUd28gSWNvbiBzZXRzIGZvciBJbmRpY2F0b3JzIFxuXG5GZWF0dXJlIEhpZ2hsaWdodHMgZm9yIFByZWZlcmVuY2VzIFxuMS4gTG9jayBNb3VzZSBBY3Rpb25zIG9wdGlvbiBcbjIuIEFkdmFuY2UgUG9zaXRpb24gb3B0aW9ucyB0byBwaW5wb2ludCB3aGVyZSB0byBwbGFjZSB0aGUgaW5kaWNhdG9yIG9uIHRoZSBQYW5lbC4gXG4zLiBSZWZyZXNoIHRpbWUgb3B0aW9uIGJ5IHdoaWNoIHlvdSBjYW4gY2hhbmdlIHJlZnJlc2ggcmF0ZSB2YWx1ZSBiZXR3ZWVuIDEuMCBzZWMgdG8gMTAuMCBzZWMuIFxuNC4gU2hvdyBVcGxvYWQgRmlyc3Qgb3B0aW9uIHRvIHNob3cgdXBsb2FkIHNwZWVkIGZpcnN0IFxuNS4gQ29sb3IgQ3VzdG9taXphdGlvbnMgZm9yIHNwZWVkIGluZGljYXRvcnMgXG42LiBIaWRlIHdoZW4gRGlzY29ubmVjdGVkIG9wdGlvbiBcbjcuIFVzZSBTaG9ydGVuIFVuaXRzIG9wdGlvbiBcbjguIExpbWl0IFVuaXQgb3B0aW9uIGFuZCBtb3JlLi4uIFxuXG5Nb2RlcyBcbi0gVG90YWwgbmV0IHNwZWVkIGluIGIvcywga2IvcywgLi4uIFxuLSBUb3RhbCBuZXQgc3BlZWQgaW4gQi9zLCBLQi9zLCAuLi4gXG4tIFVwICYgZG93biBzcGVlZCBpbiBiL3MsIGtiL3MsIC4uLiBcbi0gVXAgJiBkb3duIHNwZWVkIGluIEIvcywgS0IvcywgLi4uIFxuLSBUb3RhbCBkb3dubG9hZHMgaW4gQiwgS0IsIC4uLiAoUmlnaHQgY2xpY2sgdG8gcmVzZXQgY291bnRlcikgXG5cbk1vdXNlIEV2ZW50cyBcbi0gTGVmdCBjbGljayB0byBjaGFuZ2UgbW9kZXMgXG4tIFJpZ2h0IGNsaWNrKGluIDEtNCBtb2Rlcyk6IFRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiB0b3RhbCBsb2FkZWQuIFxuLSBSaWdodCBjbGljayhpbiA1dGggbW9kZSk6IFJlc2V0IHRvdGFsIGRvd25sb2FkZWQuIFxuLSBSaWdodCBDbGljayhGb3VyIGNvbnNlY3V0aXZlIHRpbWVzKTogVG9nZ2xlIHRocm91Z2ggaG9yaXpvbnRhbC92ZXJ0aWNhbCBhbGlnbm1lbnQuIFxuLSBNaWRkbGUgY2xpY2s6IEN5Y2xlIHRocm91Z2ggdGhlIGZvbnQgc2l6ZXMuIiwKICAibmFtZSI6ICJOZXQgc3BlZWQgU2ltcGxpZmllZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ByYXRlZWttZWRpYS9uZXRzcGVlZHNpbXBsaWZpZWQiLAogICJ1dWlkIjogIm5ldHNwZWVkc2ltcGxpZmllZEBwcmF0ZWVrbWVkaWEuZXh0ZW5zaW9uIiwKICAidmVyc2lvbiI6IDM1Cn0="}, "40": {"version": "35", "sha256": "0nh00iach2mnrdij1ywp5l6vr064q9dfwwjv4g2n4mqiz9jxr1lv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTmV0IFNwZWVkIGV4dGVuc2lvbiBXaXRoIExvYWRzIG9mIEN1c3RvbWl6YXRpb24uIEZvcmsgb2Ygc2ltcGxlbmV0c3BlZWQgXG4gXG5XaGF0J3MgbmV3XG5cdTI2MWUgQWRkIFVzZSBTeXN0ZW0gQ29sb3IgU2NoZW1lIG9wdGlvbiBcblx1MjYxZSBVcGRhdGUgUHJlZmVyZW5jZXMgbG9naWMgXG5cdTI2MWUgRmlsdGVyIG1vcmUgZGV2aWNlcyBmb3IgbmV0IHNwZWVkIGluZGljYXRvciBcblxuRnVsbCBDSEFOR0VMT0cgY2FuIGJlIGZvdW5kIG9uIGdpdGh1YiByZWxlYXNlcyBwYWdlIFxuXG5GZWF0dXJlcyBcbjEuIENsZWFuIFVJIFxuMi4gQWRqdXN0YWJsZSBSZWZyZXNoIHJhdGUgXG4zLiBQcmVmZXJlbmNlcyB0byBtYW5hZ2UgZXh0ZW5zaW9uIFxuNC4gVmVydGljYWwgQWxpZ25tZW50IFN1cHBvcnQgXG41LiBUd28gSWNvbiBzZXRzIGZvciBJbmRpY2F0b3JzIFxuXG5GZWF0dXJlIEhpZ2hsaWdodHMgZm9yIFByZWZlcmVuY2VzIFxuMS4gTG9jayBNb3VzZSBBY3Rpb25zIG9wdGlvbiBcbjIuIEFkdmFuY2UgUG9zaXRpb24gb3B0aW9ucyB0byBwaW5wb2ludCB3aGVyZSB0byBwbGFjZSB0aGUgaW5kaWNhdG9yIG9uIHRoZSBQYW5lbC4gXG4zLiBSZWZyZXNoIHRpbWUgb3B0aW9uIGJ5IHdoaWNoIHlvdSBjYW4gY2hhbmdlIHJlZnJlc2ggcmF0ZSB2YWx1ZSBiZXR3ZWVuIDEuMCBzZWMgdG8gMTAuMCBzZWMuIFxuNC4gU2hvdyBVcGxvYWQgRmlyc3Qgb3B0aW9uIHRvIHNob3cgdXBsb2FkIHNwZWVkIGZpcnN0IFxuNS4gQ29sb3IgQ3VzdG9taXphdGlvbnMgZm9yIHNwZWVkIGluZGljYXRvcnMgXG42LiBIaWRlIHdoZW4gRGlzY29ubmVjdGVkIG9wdGlvbiBcbjcuIFVzZSBTaG9ydGVuIFVuaXRzIG9wdGlvbiBcbjguIExpbWl0IFVuaXQgb3B0aW9uIGFuZCBtb3JlLi4uIFxuXG5Nb2RlcyBcbi0gVG90YWwgbmV0IHNwZWVkIGluIGIvcywga2IvcywgLi4uIFxuLSBUb3RhbCBuZXQgc3BlZWQgaW4gQi9zLCBLQi9zLCAuLi4gXG4tIFVwICYgZG93biBzcGVlZCBpbiBiL3MsIGtiL3MsIC4uLiBcbi0gVXAgJiBkb3duIHNwZWVkIGluIEIvcywgS0IvcywgLi4uIFxuLSBUb3RhbCBkb3dubG9hZHMgaW4gQiwgS0IsIC4uLiAoUmlnaHQgY2xpY2sgdG8gcmVzZXQgY291bnRlcikgXG5cbk1vdXNlIEV2ZW50cyBcbi0gTGVmdCBjbGljayB0byBjaGFuZ2UgbW9kZXMgXG4tIFJpZ2h0IGNsaWNrKGluIDEtNCBtb2Rlcyk6IFRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiB0b3RhbCBsb2FkZWQuIFxuLSBSaWdodCBjbGljayhpbiA1dGggbW9kZSk6IFJlc2V0IHRvdGFsIGRvd25sb2FkZWQuIFxuLSBSaWdodCBDbGljayhGb3VyIGNvbnNlY3V0aXZlIHRpbWVzKTogVG9nZ2xlIHRocm91Z2ggaG9yaXpvbnRhbC92ZXJ0aWNhbCBhbGlnbm1lbnQuIFxuLSBNaWRkbGUgY2xpY2s6IEN5Y2xlIHRocm91Z2ggdGhlIGZvbnQgc2l6ZXMuIiwKICAibmFtZSI6ICJOZXQgc3BlZWQgU2ltcGxpZmllZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ByYXRlZWttZWRpYS9uZXRzcGVlZHNpbXBsaWZpZWQiLAogICJ1dWlkIjogIm5ldHNwZWVkc2ltcGxpZmllZEBwcmF0ZWVrbWVkaWEuZXh0ZW5zaW9uIiwKICAidmVyc2lvbiI6IDM1Cn0="}, "41": {"version": "35", "sha256": "0nh00iach2mnrdij1ywp5l6vr064q9dfwwjv4g2n4mqiz9jxr1lv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTmV0IFNwZWVkIGV4dGVuc2lvbiBXaXRoIExvYWRzIG9mIEN1c3RvbWl6YXRpb24uIEZvcmsgb2Ygc2ltcGxlbmV0c3BlZWQgXG4gXG5XaGF0J3MgbmV3XG5cdTI2MWUgQWRkIFVzZSBTeXN0ZW0gQ29sb3IgU2NoZW1lIG9wdGlvbiBcblx1MjYxZSBVcGRhdGUgUHJlZmVyZW5jZXMgbG9naWMgXG5cdTI2MWUgRmlsdGVyIG1vcmUgZGV2aWNlcyBmb3IgbmV0IHNwZWVkIGluZGljYXRvciBcblxuRnVsbCBDSEFOR0VMT0cgY2FuIGJlIGZvdW5kIG9uIGdpdGh1YiByZWxlYXNlcyBwYWdlIFxuXG5GZWF0dXJlcyBcbjEuIENsZWFuIFVJIFxuMi4gQWRqdXN0YWJsZSBSZWZyZXNoIHJhdGUgXG4zLiBQcmVmZXJlbmNlcyB0byBtYW5hZ2UgZXh0ZW5zaW9uIFxuNC4gVmVydGljYWwgQWxpZ25tZW50IFN1cHBvcnQgXG41LiBUd28gSWNvbiBzZXRzIGZvciBJbmRpY2F0b3JzIFxuXG5GZWF0dXJlIEhpZ2hsaWdodHMgZm9yIFByZWZlcmVuY2VzIFxuMS4gTG9jayBNb3VzZSBBY3Rpb25zIG9wdGlvbiBcbjIuIEFkdmFuY2UgUG9zaXRpb24gb3B0aW9ucyB0byBwaW5wb2ludCB3aGVyZSB0byBwbGFjZSB0aGUgaW5kaWNhdG9yIG9uIHRoZSBQYW5lbC4gXG4zLiBSZWZyZXNoIHRpbWUgb3B0aW9uIGJ5IHdoaWNoIHlvdSBjYW4gY2hhbmdlIHJlZnJlc2ggcmF0ZSB2YWx1ZSBiZXR3ZWVuIDEuMCBzZWMgdG8gMTAuMCBzZWMuIFxuNC4gU2hvdyBVcGxvYWQgRmlyc3Qgb3B0aW9uIHRvIHNob3cgdXBsb2FkIHNwZWVkIGZpcnN0IFxuNS4gQ29sb3IgQ3VzdG9taXphdGlvbnMgZm9yIHNwZWVkIGluZGljYXRvcnMgXG42LiBIaWRlIHdoZW4gRGlzY29ubmVjdGVkIG9wdGlvbiBcbjcuIFVzZSBTaG9ydGVuIFVuaXRzIG9wdGlvbiBcbjguIExpbWl0IFVuaXQgb3B0aW9uIGFuZCBtb3JlLi4uIFxuXG5Nb2RlcyBcbi0gVG90YWwgbmV0IHNwZWVkIGluIGIvcywga2IvcywgLi4uIFxuLSBUb3RhbCBuZXQgc3BlZWQgaW4gQi9zLCBLQi9zLCAuLi4gXG4tIFVwICYgZG93biBzcGVlZCBpbiBiL3MsIGtiL3MsIC4uLiBcbi0gVXAgJiBkb3duIHNwZWVkIGluIEIvcywgS0IvcywgLi4uIFxuLSBUb3RhbCBkb3dubG9hZHMgaW4gQiwgS0IsIC4uLiAoUmlnaHQgY2xpY2sgdG8gcmVzZXQgY291bnRlcikgXG5cbk1vdXNlIEV2ZW50cyBcbi0gTGVmdCBjbGljayB0byBjaGFuZ2UgbW9kZXMgXG4tIFJpZ2h0IGNsaWNrKGluIDEtNCBtb2Rlcyk6IFRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiB0b3RhbCBsb2FkZWQuIFxuLSBSaWdodCBjbGljayhpbiA1dGggbW9kZSk6IFJlc2V0IHRvdGFsIGRvd25sb2FkZWQuIFxuLSBSaWdodCBDbGljayhGb3VyIGNvbnNlY3V0aXZlIHRpbWVzKTogVG9nZ2xlIHRocm91Z2ggaG9yaXpvbnRhbC92ZXJ0aWNhbCBhbGlnbm1lbnQuIFxuLSBNaWRkbGUgY2xpY2s6IEN5Y2xlIHRocm91Z2ggdGhlIGZvbnQgc2l6ZXMuIiwKICAibmFtZSI6ICJOZXQgc3BlZWQgU2ltcGxpZmllZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ByYXRlZWttZWRpYS9uZXRzcGVlZHNpbXBsaWZpZWQiLAogICJ1dWlkIjogIm5ldHNwZWVkc2ltcGxpZmllZEBwcmF0ZWVrbWVkaWEuZXh0ZW5zaW9uIiwKICAidmVyc2lvbiI6IDM1Cn0="}, "42": {"version": "35", "sha256": "0nh00iach2mnrdij1ywp5l6vr064q9dfwwjv4g2n4mqiz9jxr1lv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTmV0IFNwZWVkIGV4dGVuc2lvbiBXaXRoIExvYWRzIG9mIEN1c3RvbWl6YXRpb24uIEZvcmsgb2Ygc2ltcGxlbmV0c3BlZWQgXG4gXG5XaGF0J3MgbmV3XG5cdTI2MWUgQWRkIFVzZSBTeXN0ZW0gQ29sb3IgU2NoZW1lIG9wdGlvbiBcblx1MjYxZSBVcGRhdGUgUHJlZmVyZW5jZXMgbG9naWMgXG5cdTI2MWUgRmlsdGVyIG1vcmUgZGV2aWNlcyBmb3IgbmV0IHNwZWVkIGluZGljYXRvciBcblxuRnVsbCBDSEFOR0VMT0cgY2FuIGJlIGZvdW5kIG9uIGdpdGh1YiByZWxlYXNlcyBwYWdlIFxuXG5GZWF0dXJlcyBcbjEuIENsZWFuIFVJIFxuMi4gQWRqdXN0YWJsZSBSZWZyZXNoIHJhdGUgXG4zLiBQcmVmZXJlbmNlcyB0byBtYW5hZ2UgZXh0ZW5zaW9uIFxuNC4gVmVydGljYWwgQWxpZ25tZW50IFN1cHBvcnQgXG41LiBUd28gSWNvbiBzZXRzIGZvciBJbmRpY2F0b3JzIFxuXG5GZWF0dXJlIEhpZ2hsaWdodHMgZm9yIFByZWZlcmVuY2VzIFxuMS4gTG9jayBNb3VzZSBBY3Rpb25zIG9wdGlvbiBcbjIuIEFkdmFuY2UgUG9zaXRpb24gb3B0aW9ucyB0byBwaW5wb2ludCB3aGVyZSB0byBwbGFjZSB0aGUgaW5kaWNhdG9yIG9uIHRoZSBQYW5lbC4gXG4zLiBSZWZyZXNoIHRpbWUgb3B0aW9uIGJ5IHdoaWNoIHlvdSBjYW4gY2hhbmdlIHJlZnJlc2ggcmF0ZSB2YWx1ZSBiZXR3ZWVuIDEuMCBzZWMgdG8gMTAuMCBzZWMuIFxuNC4gU2hvdyBVcGxvYWQgRmlyc3Qgb3B0aW9uIHRvIHNob3cgdXBsb2FkIHNwZWVkIGZpcnN0IFxuNS4gQ29sb3IgQ3VzdG9taXphdGlvbnMgZm9yIHNwZWVkIGluZGljYXRvcnMgXG42LiBIaWRlIHdoZW4gRGlzY29ubmVjdGVkIG9wdGlvbiBcbjcuIFVzZSBTaG9ydGVuIFVuaXRzIG9wdGlvbiBcbjguIExpbWl0IFVuaXQgb3B0aW9uIGFuZCBtb3JlLi4uIFxuXG5Nb2RlcyBcbi0gVG90YWwgbmV0IHNwZWVkIGluIGIvcywga2IvcywgLi4uIFxuLSBUb3RhbCBuZXQgc3BlZWQgaW4gQi9zLCBLQi9zLCAuLi4gXG4tIFVwICYgZG93biBzcGVlZCBpbiBiL3MsIGtiL3MsIC4uLiBcbi0gVXAgJiBkb3duIHNwZWVkIGluIEIvcywgS0IvcywgLi4uIFxuLSBUb3RhbCBkb3dubG9hZHMgaW4gQiwgS0IsIC4uLiAoUmlnaHQgY2xpY2sgdG8gcmVzZXQgY291bnRlcikgXG5cbk1vdXNlIEV2ZW50cyBcbi0gTGVmdCBjbGljayB0byBjaGFuZ2UgbW9kZXMgXG4tIFJpZ2h0IGNsaWNrKGluIDEtNCBtb2Rlcyk6IFRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiB0b3RhbCBsb2FkZWQuIFxuLSBSaWdodCBjbGljayhpbiA1dGggbW9kZSk6IFJlc2V0IHRvdGFsIGRvd25sb2FkZWQuIFxuLSBSaWdodCBDbGljayhGb3VyIGNvbnNlY3V0aXZlIHRpbWVzKTogVG9nZ2xlIHRocm91Z2ggaG9yaXpvbnRhbC92ZXJ0aWNhbCBhbGlnbm1lbnQuIFxuLSBNaWRkbGUgY2xpY2s6IEN5Y2xlIHRocm91Z2ggdGhlIGZvbnQgc2l6ZXMuIiwKICAibmFtZSI6ICJOZXQgc3BlZWQgU2ltcGxpZmllZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ByYXRlZWttZWRpYS9uZXRzcGVlZHNpbXBsaWZpZWQiLAogICJ1dWlkIjogIm5ldHNwZWVkc2ltcGxpZmllZEBwcmF0ZWVrbWVkaWEuZXh0ZW5zaW9uIiwKICAidmVyc2lvbiI6IDM1Cn0="}}}
 , {"uuid": "cpupower-governors@icar.github.com", "name": "CPU Power Governor", "pname": "cpu-power-governor", "description": "Enables the ability to swap between kernel governors for the CPU useful for laptops.\n\nRequires: polkit, cpupower\nGithub: https://github.com/juxuanu/cpupower-governors", "link": "https://extensions.gnome.org/extension/3727/cpu-power-governor/", "shell_version_map": {"38": {"version": "2", "sha256": "1hb239w4cpz6yzs3pzd3hhrwswh6w5c5xw6dqn57m26cazh843qk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgdGhlIGFiaWxpdHkgdG8gc3dhcCBiZXR3ZWVuIGtlcm5lbCBnb3Zlcm5vcnMgZm9yIHRoZSBDUFUgdXNlZnVsIGZvciBsYXB0b3BzLlxuXG5SZXF1aXJlczogcG9sa2l0LCBjcHVwb3dlclxuR2l0aHViOiBodHRwczovL2dpdGh1Yi5jb20vanV4dWFudS9jcHVwb3dlci1nb3Zlcm5vcnMiLAogICJuYW1lIjogIkNQVSBQb3dlciBHb3Zlcm5vciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJjcHVwb3dlci1nb3Zlcm5vcnNAaWNhci5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "floating-dock@nandoferreira_prof@hotmail.com", "name": "Floating Dock", "pname": "floating-dock", "description": "A Custom Floating Dock fork, now you can change the margin and border radius of the dock.", "link": "https://extensions.gnome.org/extension/3730/floating-dock/", "shell_version_map": {"38": {"version": "1", "sha256": "0giksm5fvrj412v8xnf2hi4s0yi2mqd9prd84npv8jxkfv78y414", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgQ3VzdG9tIEZsb2F0aW5nIERvY2sgZm9yaywgbm93IHlvdSBjYW4gY2hhbmdlIHRoZSBtYXJnaW4gYW5kIGJvcmRlciByYWRpdXMgb2YgdGhlIGRvY2suIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZmxvYXRpbmdkb2NrIiwKICAibmFtZSI6ICJGbG9hdGluZyBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIm5hbmRvZmVycmVpcmFfcHJvZkBob3RtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Zlci1tb3JlaXJhL2Zsb2F0aW5nLWRvY2siLAogICJ1dWlkIjogImZsb2F0aW5nLWRvY2tAbmFuZG9mZXJyZWlyYV9wcm9mQGhvdG1haWwuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}, "40": {"version": "4", "sha256": "0ca22s5vbs6d32ppikmg0xcf5335qmighq6cpvly51q44hlqjamg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgQ3VzdG9tIEZsb2F0aW5nIERvY2sgZm9yaywgbm93IHlvdSBjYW4gY2hhbmdlIHRoZSBtYXJnaW4gYW5kIGJvcmRlciByYWRpdXMgb2YgdGhlIGRvY2suIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZmxvYXRpbmdkb2NrIiwKICAibmFtZSI6ICJGbG9hdGluZyBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIm1pY3hneEBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Zlci1tb3JlaXJhL2Zsb2F0aW5nLWRvY2siLAogICJ1dWlkIjogImZsb2F0aW5nLWRvY2tAbmFuZG9mZXJyZWlyYV9wcm9mQGhvdG1haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "0ca22s5vbs6d32ppikmg0xcf5335qmighq6cpvly51q44hlqjamg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgQ3VzdG9tIEZsb2F0aW5nIERvY2sgZm9yaywgbm93IHlvdSBjYW4gY2hhbmdlIHRoZSBtYXJnaW4gYW5kIGJvcmRlciByYWRpdXMgb2YgdGhlIGRvY2suIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZmxvYXRpbmdkb2NrIiwKICAibmFtZSI6ICJGbG9hdGluZyBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIm1pY3hneEBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Zlci1tb3JlaXJhL2Zsb2F0aW5nLWRvY2siLAogICJ1dWlkIjogImZsb2F0aW5nLWRvY2tAbmFuZG9mZXJyZWlyYV9wcm9mQGhvdG1haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
-, {"uuid": "tiling-assistant@leleat-on-github", "name": "Tiling Assistant", "pname": "tiling-assistant", "description": "Expand GNOME's 2 column tiling and add a Windows-snap-assist-inspired popup...", "link": "https://extensions.gnome.org/extension/3733/tiling-assistant/", "shell_version_map": {"38": {"version": "23", "sha256": "1b9hpll26ggwhw4f52wgflzjfqksmyfy5wyg1rpz41lr1dmva8vk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4cGFuZCBHTk9NRSdzIDIgY29sdW1uIHRpbGluZyBhbmQgYWRkIGEgV2luZG93cy1zbmFwLWFzc2lzdC1pbnNwaXJlZCBwb3B1cC4uLiIsCiAgIm5hbWUiOiAiVGlsaW5nIEFzc2lzdGFudCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTGVsZWF0L1RpbGluZy1Bc3Npc3RhbnQiLAogICJ1dWlkIjogInRpbGluZy1hc3Npc3RhbnRAbGVsZWF0LW9uLWdpdGh1YiIsCiAgInZlcnNpb24iOiAyMwp9"}, "40": {"version": "32", "sha256": "14kvgygfia1961i4v933bg7j2l4mzy7hv7f53sc5giwpmcsj3b5v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4cGFuZCBHTk9NRSdzIDIgY29sdW1uIHRpbGluZyBhbmQgYWRkIGEgV2luZG93cy1zbmFwLWFzc2lzdC1pbnNwaXJlZCBwb3B1cC4uLiIsCiAgIm5hbWUiOiAiVGlsaW5nIEFzc2lzdGFudCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aWxpbmctYXNzaXN0YW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9MZWxlYXQvVGlsaW5nLUFzc2lzdGFudCIsCiAgInV1aWQiOiAidGlsaW5nLWFzc2lzdGFudEBsZWxlYXQtb24tZ2l0aHViIiwKICAidmVyc2lvbiI6IDMyCn0="}, "41": {"version": "32", "sha256": "14kvgygfia1961i4v933bg7j2l4mzy7hv7f53sc5giwpmcsj3b5v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4cGFuZCBHTk9NRSdzIDIgY29sdW1uIHRpbGluZyBhbmQgYWRkIGEgV2luZG93cy1zbmFwLWFzc2lzdC1pbnNwaXJlZCBwb3B1cC4uLiIsCiAgIm5hbWUiOiAiVGlsaW5nIEFzc2lzdGFudCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aWxpbmctYXNzaXN0YW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9MZWxlYXQvVGlsaW5nLUFzc2lzdGFudCIsCiAgInV1aWQiOiAidGlsaW5nLWFzc2lzdGFudEBsZWxlYXQtb24tZ2l0aHViIiwKICAidmVyc2lvbiI6IDMyCn0="}, "42": {"version": "34", "sha256": "1wj1m7f1rjzixg58scz65dk15jvcvhm24cwqd2hz5rpfv6043c5l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4cGFuZCBHTk9NRSdzIDIgY29sdW1uIHRpbGluZyBhbmQgYWRkIGEgV2luZG93cy1zbmFwLWFzc2lzdC1pbnNwaXJlZCBwb3B1cC4uLiIsCiAgIm5hbWUiOiAiVGlsaW5nIEFzc2lzdGFudCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aWxpbmctYXNzaXN0YW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0xlbGVhdC9UaWxpbmctQXNzaXN0YW50IiwKICAidXVpZCI6ICJ0aWxpbmctYXNzaXN0YW50QGxlbGVhdC1vbi1naXRodWIiLAogICJ2ZXJzaW9uIjogMzQKfQ=="}}}
+, {"uuid": "tiling-assistant@leleat-on-github", "name": "Tiling Assistant", "pname": "tiling-assistant", "description": "Expand GNOME's 2 column tiling and add a Windows-snap-assist-inspired popup...", "link": "https://extensions.gnome.org/extension/3733/tiling-assistant/", "shell_version_map": {"38": {"version": "23", "sha256": "1b9hpll26ggwhw4f52wgflzjfqksmyfy5wyg1rpz41lr1dmva8vk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4cGFuZCBHTk9NRSdzIDIgY29sdW1uIHRpbGluZyBhbmQgYWRkIGEgV2luZG93cy1zbmFwLWFzc2lzdC1pbnNwaXJlZCBwb3B1cC4uLiIsCiAgIm5hbWUiOiAiVGlsaW5nIEFzc2lzdGFudCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTGVsZWF0L1RpbGluZy1Bc3Npc3RhbnQiLAogICJ1dWlkIjogInRpbGluZy1hc3Npc3RhbnRAbGVsZWF0LW9uLWdpdGh1YiIsCiAgInZlcnNpb24iOiAyMwp9"}, "40": {"version": "32", "sha256": "14kvgygfia1961i4v933bg7j2l4mzy7hv7f53sc5giwpmcsj3b5v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4cGFuZCBHTk9NRSdzIDIgY29sdW1uIHRpbGluZyBhbmQgYWRkIGEgV2luZG93cy1zbmFwLWFzc2lzdC1pbnNwaXJlZCBwb3B1cC4uLiIsCiAgIm5hbWUiOiAiVGlsaW5nIEFzc2lzdGFudCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aWxpbmctYXNzaXN0YW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9MZWxlYXQvVGlsaW5nLUFzc2lzdGFudCIsCiAgInV1aWQiOiAidGlsaW5nLWFzc2lzdGFudEBsZWxlYXQtb24tZ2l0aHViIiwKICAidmVyc2lvbiI6IDMyCn0="}, "41": {"version": "32", "sha256": "14kvgygfia1961i4v933bg7j2l4mzy7hv7f53sc5giwpmcsj3b5v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4cGFuZCBHTk9NRSdzIDIgY29sdW1uIHRpbGluZyBhbmQgYWRkIGEgV2luZG93cy1zbmFwLWFzc2lzdC1pbnNwaXJlZCBwb3B1cC4uLiIsCiAgIm5hbWUiOiAiVGlsaW5nIEFzc2lzdGFudCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aWxpbmctYXNzaXN0YW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9MZWxlYXQvVGlsaW5nLUFzc2lzdGFudCIsCiAgInV1aWQiOiAidGlsaW5nLWFzc2lzdGFudEBsZWxlYXQtb24tZ2l0aHViIiwKICAidmVyc2lvbiI6IDMyCn0="}, "42": {"version": "35", "sha256": "028sfwlzvv3h51ryszhgi7fxa4r3r1z5h1i73bmc8pryzglm52c6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4cGFuZCBHTk9NRSdzIDIgY29sdW1uIHRpbGluZyBhbmQgYWRkIGEgV2luZG93cy1zbmFwLWFzc2lzdC1pbnNwaXJlZCBwb3B1cC4uLiIsCiAgIm5hbWUiOiAiVGlsaW5nIEFzc2lzdGFudCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aWxpbmctYXNzaXN0YW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0xlbGVhdC9UaWxpbmctQXNzaXN0YW50IiwKICAidXVpZCI6ICJ0aWxpbmctYXNzaXN0YW50QGxlbGVhdC1vbi1naXRodWIiLAogICJ2ZXJzaW9uIjogMzUKfQ=="}}}
 , {"uuid": "airpods-battery-status@ju.wtf", "name": "Airpods Battery status", "pname": "airpods-battery-status", "description": "Show Airpods battery level in top bar\n\n/!\\ Needs AirStatus to work: https://github.com/delphiki/AirStatus", "link": "https://extensions.gnome.org/extension/3736/airpods-battery-status/", "shell_version_map": {"38": {"version": "7", "sha256": "1dyiqinjzjlh89vas00q78dzalh5mgj7q1a3vp8k13xfki4l0gzd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgQWlycG9kcyBiYXR0ZXJ5IGxldmVsIGluIHRvcCBiYXJcblxuLyFcXCBOZWVkcyBBaXJTdGF0dXMgdG8gd29yazogaHR0cHM6Ly9naXRodWIuY29tL2RlbHBoaWtpL0FpclN0YXR1cyIsCiAgIm5hbWUiOiAiQWlycG9kcyBCYXR0ZXJ5IHN0YXR1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RlbHBoaWtpL2dub21lLWFpcnBvZHMtYmF0dGVyeS1zdGF0dXMiLAogICJ1dWlkIjogImFpcnBvZHMtYmF0dGVyeS1zdGF0dXNAanUud3RmIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "40": {"version": "7", "sha256": "1dyiqinjzjlh89vas00q78dzalh5mgj7q1a3vp8k13xfki4l0gzd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgQWlycG9kcyBiYXR0ZXJ5IGxldmVsIGluIHRvcCBiYXJcblxuLyFcXCBOZWVkcyBBaXJTdGF0dXMgdG8gd29yazogaHR0cHM6Ly9naXRodWIuY29tL2RlbHBoaWtpL0FpclN0YXR1cyIsCiAgIm5hbWUiOiAiQWlycG9kcyBCYXR0ZXJ5IHN0YXR1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RlbHBoaWtpL2dub21lLWFpcnBvZHMtYmF0dGVyeS1zdGF0dXMiLAogICJ1dWlkIjogImFpcnBvZHMtYmF0dGVyeS1zdGF0dXNAanUud3RmIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "41": {"version": "7", "sha256": "1dyiqinjzjlh89vas00q78dzalh5mgj7q1a3vp8k13xfki4l0gzd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgQWlycG9kcyBiYXR0ZXJ5IGxldmVsIGluIHRvcCBiYXJcblxuLyFcXCBOZWVkcyBBaXJTdGF0dXMgdG8gd29yazogaHR0cHM6Ly9naXRodWIuY29tL2RlbHBoaWtpL0FpclN0YXR1cyIsCiAgIm5hbWUiOiAiQWlycG9kcyBCYXR0ZXJ5IHN0YXR1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RlbHBoaWtpL2dub21lLWFpcnBvZHMtYmF0dGVyeS1zdGF0dXMiLAogICJ1dWlkIjogImFpcnBvZHMtYmF0dGVyeS1zdGF0dXNAanUud3RmIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "42": {"version": "7", "sha256": "1dyiqinjzjlh89vas00q78dzalh5mgj7q1a3vp8k13xfki4l0gzd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgQWlycG9kcyBiYXR0ZXJ5IGxldmVsIGluIHRvcCBiYXJcblxuLyFcXCBOZWVkcyBBaXJTdGF0dXMgdG8gd29yazogaHR0cHM6Ly9naXRodWIuY29tL2RlbHBoaWtpL0FpclN0YXR1cyIsCiAgIm5hbWUiOiAiQWlycG9kcyBCYXR0ZXJ5IHN0YXR1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RlbHBoaWtpL2dub21lLWFpcnBvZHMtYmF0dGVyeS1zdGF0dXMiLAogICJ1dWlkIjogImFpcnBvZHMtYmF0dGVyeS1zdGF0dXNAanUud3RmIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
 , {"uuid": "hue-lights@chlumskyvaclav.gmail.com", "name": "Hue Lights", "pname": "hue-lights", "description": "This extension controls Philips Hue compatible lights using Philips Hue Bridge on your local network, it also allows controlling Philips Hue Sync Box. If you are experiencing an error on the upgrade, please log out and log in again.", "link": "https://extensions.gnome.org/extension/3737/hue-lights/", "shell_version_map": {"38": {"version": "22", "sha256": "1m80ap2zmx3m18p1mwljasx4xldaj43y7pssff0jhpwgdb9p0rmz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGNvbnRyb2xzIFBoaWxpcHMgSHVlIGNvbXBhdGlibGUgbGlnaHRzIHVzaW5nIFBoaWxpcHMgSHVlIEJyaWRnZSBvbiB5b3VyIGxvY2FsIG5ldHdvcmssIGl0IGFsc28gYWxsb3dzIGNvbnRyb2xsaW5nIFBoaWxpcHMgSHVlIFN5bmMgQm94LiBJZiB5b3UgYXJlIGV4cGVyaWVuY2luZyBhbiBlcnJvciBvbiB0aGUgdXBncmFkZSwgcGxlYXNlIGxvZyBvdXQgYW5kIGxvZyBpbiBhZ2Fpbi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJodWUtbGlnaHRzIiwKICAibmFtZSI6ICJIdWUgTGlnaHRzIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZjaGx1bS9odWUtbGlnaHRzIiwKICAidXVpZCI6ICJodWUtbGlnaHRzQGNobHVtc2t5dmFjbGF2LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMgp9"}, "40": {"version": "22", "sha256": "1m80ap2zmx3m18p1mwljasx4xldaj43y7pssff0jhpwgdb9p0rmz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGNvbnRyb2xzIFBoaWxpcHMgSHVlIGNvbXBhdGlibGUgbGlnaHRzIHVzaW5nIFBoaWxpcHMgSHVlIEJyaWRnZSBvbiB5b3VyIGxvY2FsIG5ldHdvcmssIGl0IGFsc28gYWxsb3dzIGNvbnRyb2xsaW5nIFBoaWxpcHMgSHVlIFN5bmMgQm94LiBJZiB5b3UgYXJlIGV4cGVyaWVuY2luZyBhbiBlcnJvciBvbiB0aGUgdXBncmFkZSwgcGxlYXNlIGxvZyBvdXQgYW5kIGxvZyBpbiBhZ2Fpbi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJodWUtbGlnaHRzIiwKICAibmFtZSI6ICJIdWUgTGlnaHRzIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZjaGx1bS9odWUtbGlnaHRzIiwKICAidXVpZCI6ICJodWUtbGlnaHRzQGNobHVtc2t5dmFjbGF2LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMgp9"}, "41": {"version": "22", "sha256": "1m80ap2zmx3m18p1mwljasx4xldaj43y7pssff0jhpwgdb9p0rmz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGNvbnRyb2xzIFBoaWxpcHMgSHVlIGNvbXBhdGlibGUgbGlnaHRzIHVzaW5nIFBoaWxpcHMgSHVlIEJyaWRnZSBvbiB5b3VyIGxvY2FsIG5ldHdvcmssIGl0IGFsc28gYWxsb3dzIGNvbnRyb2xsaW5nIFBoaWxpcHMgSHVlIFN5bmMgQm94LiBJZiB5b3UgYXJlIGV4cGVyaWVuY2luZyBhbiBlcnJvciBvbiB0aGUgdXBncmFkZSwgcGxlYXNlIGxvZyBvdXQgYW5kIGxvZyBpbiBhZ2Fpbi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJodWUtbGlnaHRzIiwKICAibmFtZSI6ICJIdWUgTGlnaHRzIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZjaGx1bS9odWUtbGlnaHRzIiwKICAidXVpZCI6ICJodWUtbGlnaHRzQGNobHVtc2t5dmFjbGF2LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMgp9"}, "42": {"version": "22", "sha256": "1m80ap2zmx3m18p1mwljasx4xldaj43y7pssff0jhpwgdb9p0rmz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGNvbnRyb2xzIFBoaWxpcHMgSHVlIGNvbXBhdGlibGUgbGlnaHRzIHVzaW5nIFBoaWxpcHMgSHVlIEJyaWRnZSBvbiB5b3VyIGxvY2FsIG5ldHdvcmssIGl0IGFsc28gYWxsb3dzIGNvbnRyb2xsaW5nIFBoaWxpcHMgSHVlIFN5bmMgQm94LiBJZiB5b3UgYXJlIGV4cGVyaWVuY2luZyBhbiBlcnJvciBvbiB0aGUgdXBncmFkZSwgcGxlYXNlIGxvZyBvdXQgYW5kIGxvZyBpbiBhZ2Fpbi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJodWUtbGlnaHRzIiwKICAibmFtZSI6ICJIdWUgTGlnaHRzIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZjaGx1bS9odWUtbGlnaHRzIiwKICAidXVpZCI6ICJodWUtbGlnaHRzQGNobHVtc2t5dmFjbGF2LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMgp9"}}}
 , {"uuid": "compiz-alike-magic-lamp-effect@hermes83.github.com", "name": "Compiz alike magic lamp effect", "pname": "compiz-alike-magic-lamp-effect", "description": "Magic lamp effect inspired by the Compiz ones\n\nNB:\nIn case of update error please restart Gnome Shell (on Xorg press ALT+F2 then write r and press enter, on Wayland end the session and log in again)", "link": "https://extensions.gnome.org/extension/3740/compiz-alike-magic-lamp-effect/", "shell_version_map": {"38": {"version": "12", "sha256": "1km8fmymx7127lva1hz0rfc1nash9hc3h8wya04hgiz64m596y5b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ2ljIGxhbXAgZWZmZWN0IGluc3BpcmVkIGJ5IHRoZSBDb21waXogb25lc1xuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKSIsCiAgIm5hbWUiOiAiQ29tcGl6IGFsaWtlIG1hZ2ljIGxhbXAgZWZmZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGVybWVzODMvY29tcGl6LWFsaWtlLW1hZ2ljLWxhbXAtZWZmZWN0IiwKICAidXVpZCI6ICJjb21waXotYWxpa2UtbWFnaWMtbGFtcC1lZmZlY3RAaGVybWVzODMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}, "40": {"version": "12", "sha256": "1km8fmymx7127lva1hz0rfc1nash9hc3h8wya04hgiz64m596y5b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ2ljIGxhbXAgZWZmZWN0IGluc3BpcmVkIGJ5IHRoZSBDb21waXogb25lc1xuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKSIsCiAgIm5hbWUiOiAiQ29tcGl6IGFsaWtlIG1hZ2ljIGxhbXAgZWZmZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGVybWVzODMvY29tcGl6LWFsaWtlLW1hZ2ljLWxhbXAtZWZmZWN0IiwKICAidXVpZCI6ICJjb21waXotYWxpa2UtbWFnaWMtbGFtcC1lZmZlY3RAaGVybWVzODMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}, "41": {"version": "12", "sha256": "1km8fmymx7127lva1hz0rfc1nash9hc3h8wya04hgiz64m596y5b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ2ljIGxhbXAgZWZmZWN0IGluc3BpcmVkIGJ5IHRoZSBDb21waXogb25lc1xuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKSIsCiAgIm5hbWUiOiAiQ29tcGl6IGFsaWtlIG1hZ2ljIGxhbXAgZWZmZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGVybWVzODMvY29tcGl6LWFsaWtlLW1hZ2ljLWxhbXAtZWZmZWN0IiwKICAidXVpZCI6ICJjb21waXotYWxpa2UtbWFnaWMtbGFtcC1lZmZlY3RAaGVybWVzODMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}, "42": {"version": "12", "sha256": "1km8fmymx7127lva1hz0rfc1nash9hc3h8wya04hgiz64m596y5b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ2ljIGxhbXAgZWZmZWN0IGluc3BpcmVkIGJ5IHRoZSBDb21waXogb25lc1xuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKSIsCiAgIm5hbWUiOiAiQ29tcGl6IGFsaWtlIG1hZ2ljIGxhbXAgZWZmZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGVybWVzODMvY29tcGl6LWFsaWtlLW1hZ2ljLWxhbXAtZWZmZWN0IiwKICAidXVpZCI6ICJjb21waXotYWxpa2UtbWFnaWMtbGFtcC1lZmZlY3RAaGVybWVzODMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}}}
@@ -394,7 +394,7 @@
 , {"uuid": "battery-status@atareao.es", "name": "Battery Status", "pname": "battery-status", "description": "Get information about your battery status", "link": "https://extensions.gnome.org/extension/3763/battery-status/", "shell_version_map": {"40": {"version": "6", "sha256": "00zz3f00bdr95579250m7blrgavqziwh88dw45x928lq06xb052w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdldCBpbmZvcm1hdGlvbiBhYm91dCB5b3VyIGJhdHRlcnkgc3RhdHVzIiwKICAiZXh0ZW5zaW9uLWlkIjogImJhdHRlcnktc3RhdHVzQGF0YXJlYW8uZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYXR0ZXJ5LXN0YXR1c0BhdGFyZWFvLmVzIiwKICAiaWNvbiI6ICJiYXR0ZXJ5LXN0YXR1cy1pY29uIiwKICAibmFtZSI6ICJCYXR0ZXJ5IFN0YXR1cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJlcy5hdGFyZWFvLmJhdHRlcnktc3RhdHVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXRhcmVhby9iYXR0ZXJ5LXN0YXR1cyIsCiAgInV1aWQiOiAiYmF0dGVyeS1zdGF0dXNAYXRhcmVhby5lcyIsCiAgInZlcnNpb24iOiA2Cn0="}, "41": {"version": "6", "sha256": "00zz3f00bdr95579250m7blrgavqziwh88dw45x928lq06xb052w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdldCBpbmZvcm1hdGlvbiBhYm91dCB5b3VyIGJhdHRlcnkgc3RhdHVzIiwKICAiZXh0ZW5zaW9uLWlkIjogImJhdHRlcnktc3RhdHVzQGF0YXJlYW8uZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYXR0ZXJ5LXN0YXR1c0BhdGFyZWFvLmVzIiwKICAiaWNvbiI6ICJiYXR0ZXJ5LXN0YXR1cy1pY29uIiwKICAibmFtZSI6ICJCYXR0ZXJ5IFN0YXR1cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJlcy5hdGFyZWFvLmJhdHRlcnktc3RhdHVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXRhcmVhby9iYXR0ZXJ5LXN0YXR1cyIsCiAgInV1aWQiOiAiYmF0dGVyeS1zdGF0dXNAYXRhcmVhby5lcyIsCiAgInZlcnNpb24iOiA2Cn0="}, "42": {"version": "6", "sha256": "00zz3f00bdr95579250m7blrgavqziwh88dw45x928lq06xb052w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdldCBpbmZvcm1hdGlvbiBhYm91dCB5b3VyIGJhdHRlcnkgc3RhdHVzIiwKICAiZXh0ZW5zaW9uLWlkIjogImJhdHRlcnktc3RhdHVzQGF0YXJlYW8uZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYXR0ZXJ5LXN0YXR1c0BhdGFyZWFvLmVzIiwKICAiaWNvbiI6ICJiYXR0ZXJ5LXN0YXR1cy1pY29uIiwKICAibmFtZSI6ICJCYXR0ZXJ5IFN0YXR1cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJlcy5hdGFyZWFvLmJhdHRlcnktc3RhdHVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXRhcmVhby9iYXR0ZXJ5LXN0YXR1cyIsCiAgInV1aWQiOiAiYmF0dGVyeS1zdGF0dXNAYXRhcmVhby5lcyIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"uuid": "distinct@sireliah.com", "name": "Distinct Windows", "pname": "distinct-windows", "description": "Visually differentiate windows with colors and symbols", "link": "https://extensions.gnome.org/extension/3769/distinct-windows/", "shell_version_map": {"38": {"version": "4", "sha256": "1iqga92l9mk3ykf8bdy9igvqfx9k78jasdmqsrrz9zcz33d7k4h7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZpc3VhbGx5IGRpZmZlcmVudGlhdGUgd2luZG93cyB3aXRoIGNvbG9ycyBhbmQgc3ltYm9scyIsCiAgIm5hbWUiOiAiRGlzdGluY3QgV2luZG93cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NpcmVsaWFoL2Rpc3RpbmN0LXdpbmRvd3MiLAogICJ1dWlkIjogImRpc3RpbmN0QHNpcmVsaWFoLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "miniCal2@breiq", "name": "Minimalist Calendar 2", "pname": "minimalist-calendar-2", "description": "Remove event list and clock/calendar app buttons from the calendar window.", "link": "https://extensions.gnome.org/extension/3775/minimalist-calendar-2/", "shell_version_map": {"38": {"version": "1", "sha256": "1nh10ik3zk3r4jr31mr8nw8nnamgj3mk1f3im06657wv18x9wvam", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBldmVudCBsaXN0IGFuZCBjbG9jay9jYWxlbmRhciBhcHAgYnV0dG9ucyBmcm9tIHRoZSBjYWxlbmRhciB3aW5kb3cuIiwKICAibmFtZSI6ICJNaW5pbWFsaXN0IENhbGVuZGFyIDIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibWluaUNhbDJAYnJlaXEiLAogICJ2ZXJzaW9uIjogMQp9"}}}
-, {"uuid": "ddterm@amezin.github.com", "name": "ddterm", "pname": "ddterm", "description": "Another drop down terminal extension for GNOME Shell. With tabs. Works on Wayland natively", "link": "https://extensions.gnome.org/extension/3780/ddterm/", "shell_version_map": {"38": {"version": "32", "sha256": "1z53gpwipssvwyq80iapr1jpx0swxd7xbbaas91gqfgaxz87frdm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseSIsCiAgImdldHRleHQtZG9tYWluIjogImRkdGVybUBhbWV6aW4uZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiZGR0ZXJtIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIuYW1lemluLmRkdGVybSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FtZXppbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGR0ZXJtIiwKICAidXVpZCI6ICJkZHRlcm1AYW1lemluLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzIKfQ=="}, "40": {"version": "32", "sha256": "1z53gpwipssvwyq80iapr1jpx0swxd7xbbaas91gqfgaxz87frdm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseSIsCiAgImdldHRleHQtZG9tYWluIjogImRkdGVybUBhbWV6aW4uZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiZGR0ZXJtIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIuYW1lemluLmRkdGVybSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FtZXppbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGR0ZXJtIiwKICAidXVpZCI6ICJkZHRlcm1AYW1lemluLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzIKfQ=="}, "41": {"version": "32", "sha256": "1z53gpwipssvwyq80iapr1jpx0swxd7xbbaas91gqfgaxz87frdm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseSIsCiAgImdldHRleHQtZG9tYWluIjogImRkdGVybUBhbWV6aW4uZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiZGR0ZXJtIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIuYW1lemluLmRkdGVybSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FtZXppbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGR0ZXJtIiwKICAidXVpZCI6ICJkZHRlcm1AYW1lemluLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzIKfQ=="}, "42": {"version": "32", "sha256": "1z53gpwipssvwyq80iapr1jpx0swxd7xbbaas91gqfgaxz87frdm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseSIsCiAgImdldHRleHQtZG9tYWluIjogImRkdGVybUBhbWV6aW4uZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiZGR0ZXJtIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIuYW1lemluLmRkdGVybSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FtZXppbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGR0ZXJtIiwKICAidXVpZCI6ICJkZHRlcm1AYW1lemluLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzIKfQ=="}}}
+, {"uuid": "ddterm@amezin.github.com", "name": "ddterm", "pname": "ddterm", "description": "Another drop down terminal extension for GNOME Shell. With tabs. Works on Wayland natively", "link": "https://extensions.gnome.org/extension/3780/ddterm/", "shell_version_map": {"38": {"version": "33", "sha256": "12mk3bfy7sqy0pi5xqhyvza77m3hl8yfbyhwbym9plfhm33qv6d6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseSIsCiAgImdldHRleHQtZG9tYWluIjogImRkdGVybUBhbWV6aW4uZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiZGR0ZXJtIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIuYW1lemluLmRkdGVybSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RkdGVybS9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGR0ZXJtIiwKICAidXVpZCI6ICJkZHRlcm1AYW1lemluLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzMKfQ=="}, "40": {"version": "33", "sha256": "12mk3bfy7sqy0pi5xqhyvza77m3hl8yfbyhwbym9plfhm33qv6d6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseSIsCiAgImdldHRleHQtZG9tYWluIjogImRkdGVybUBhbWV6aW4uZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiZGR0ZXJtIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIuYW1lemluLmRkdGVybSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RkdGVybS9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGR0ZXJtIiwKICAidXVpZCI6ICJkZHRlcm1AYW1lemluLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzMKfQ=="}, "41": {"version": "33", "sha256": "12mk3bfy7sqy0pi5xqhyvza77m3hl8yfbyhwbym9plfhm33qv6d6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseSIsCiAgImdldHRleHQtZG9tYWluIjogImRkdGVybUBhbWV6aW4uZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiZGR0ZXJtIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIuYW1lemluLmRkdGVybSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RkdGVybS9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGR0ZXJtIiwKICAidXVpZCI6ICJkZHRlcm1AYW1lemluLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzMKfQ=="}, "42": {"version": "33", "sha256": "12mk3bfy7sqy0pi5xqhyvza77m3hl8yfbyhwbym9plfhm33qv6d6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseSIsCiAgImdldHRleHQtZG9tYWluIjogImRkdGVybUBhbWV6aW4uZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiZGR0ZXJtIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIuYW1lemluLmRkdGVybSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RkdGVybS9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGR0ZXJtIiwKICAidXVpZCI6ICJkZHRlcm1AYW1lemluLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzMKfQ=="}}}
 , {"uuid": "favorites-only-dash@nahuelwexd.github.io", "name": "Favorites-only Dash", "pname": "favorites-only-dash", "description": "Show only favorite apps on Dash", "link": "https://extensions.gnome.org/extension/3789/favorites-only-dash/", "shell_version_map": {"38": {"version": "1", "sha256": "110h019563j33gksaq5fs0z71sz1mslq1sbsmhk9mj3qggd9vs65", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgb25seSBmYXZvcml0ZSBhcHBzIG9uIERhc2giLAogICJuYW1lIjogIkZhdm9yaXRlcy1vbmx5IERhc2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZmF2b3JpdGVzLW9ubHktZGFzaEBuYWh1ZWx3ZXhkLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "notification-timeout@chlumskyvaclav.gmail.com", "name": "Notification Timeout", "pname": "notification-timeout", "description": "This extension allows configuring the same timeout for all notifications. It also allows ignoring the idle state.", "link": "https://extensions.gnome.org/extension/3795/notification-timeout/", "shell_version_map": {"38": {"version": "5", "sha256": "1az6bbfzsq57nn83i4f4jl61z1n965iayfk7aavwya9z965lyafk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBjb25maWd1cmluZyB0aGUgc2FtZSB0aW1lb3V0IGZvciBhbGwgbm90aWZpY2F0aW9ucy4gSXQgYWxzbyBhbGxvd3MgaWdub3JpbmcgdGhlIGlkbGUgc3RhdGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBUaW1lb3V0IiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZjaGx1bS9ub3RpZmljYXRpb24tdGltZW91dCIsCiAgInV1aWQiOiAibm90aWZpY2F0aW9uLXRpbWVvdXRAY2hsdW1za3l2YWNsYXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "40": {"version": "5", "sha256": "1az6bbfzsq57nn83i4f4jl61z1n965iayfk7aavwya9z965lyafk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBjb25maWd1cmluZyB0aGUgc2FtZSB0aW1lb3V0IGZvciBhbGwgbm90aWZpY2F0aW9ucy4gSXQgYWxzbyBhbGxvd3MgaWdub3JpbmcgdGhlIGlkbGUgc3RhdGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBUaW1lb3V0IiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZjaGx1bS9ub3RpZmljYXRpb24tdGltZW91dCIsCiAgInV1aWQiOiAibm90aWZpY2F0aW9uLXRpbWVvdXRAY2hsdW1za3l2YWNsYXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "1az6bbfzsq57nn83i4f4jl61z1n965iayfk7aavwya9z965lyafk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBjb25maWd1cmluZyB0aGUgc2FtZSB0aW1lb3V0IGZvciBhbGwgbm90aWZpY2F0aW9ucy4gSXQgYWxzbyBhbGxvd3MgaWdub3JpbmcgdGhlIGlkbGUgc3RhdGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBUaW1lb3V0IiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZjaGx1bS9ub3RpZmljYXRpb24tdGltZW91dCIsCiAgInV1aWQiOiAibm90aWZpY2F0aW9uLXRpbWVvdXRAY2hsdW1za3l2YWNsYXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "42": {"version": "5", "sha256": "1az6bbfzsq57nn83i4f4jl61z1n965iayfk7aavwya9z965lyafk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBjb25maWd1cmluZyB0aGUgc2FtZSB0aW1lb3V0IGZvciBhbGwgbm90aWZpY2F0aW9ucy4gSXQgYWxzbyBhbGxvd3MgaWdub3JpbmcgdGhlIGlkbGUgc3RhdGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBUaW1lb3V0IiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZjaGx1bS9ub3RpZmljYXRpb24tdGltZW91dCIsCiAgInV1aWQiOiAibm90aWZpY2F0aW9uLXRpbWVvdXRAY2hsdW1za3l2YWNsYXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"uuid": "podman-as-docker@alberto.yomerengues.xyz", "name": "Podman and Docker", "pname": "podman-as-docker", "description": "podman extension as docker\nIn order to get it work on podman, you just need to create an alias\nSimply put: alias docker=podman\nand install podman-docker", "link": "https://extensions.gnome.org/extension/3799/podman-as-docker/", "shell_version_map": {"38": {"version": "1", "sha256": "18bkd6z5hm6zidh7xv8v3jvj36lmxzx4dar7nwa7nq3p51km6crz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInBvZG1hbiBleHRlbnNpb24gYXMgZG9ja2VyXG5JbiBvcmRlciB0byBnZXQgaXQgd29yayBvbiBwb2RtYW4sIHlvdSBqdXN0IG5lZWQgdG8gY3JlYXRlIGFuIGFsaWFzXG5TaW1wbHkgcHV0OiBhbGlhcyBkb2NrZXI9cG9kbWFuXG5hbmQgaW5zdGFsbCBwb2RtYW4tZG9ja2VyIiwKICAibmFtZSI6ICJQb2RtYW4gYW5kIERvY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJwb2RtYW4tYXMtZG9ja2VyQGFsYmVydG8ueW9tZXJlbmd1ZXMueHl6IiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
@@ -422,7 +422,7 @@
 , {"uuid": "toggle-alacritty@itstime.tech", "name": "Toggle Alacritty", "pname": "toggle-alacritty", "description": "Toggles Alacritty window via hotkey: Alt+z\n\nIf Alacritty is not launched, attempts to start it (/usr/bin/alacritty)\n\nWorks under both Wayland and X11\n\nTo change hotkey please follow instruction in the README.md:", "link": "https://extensions.gnome.org/extension/3942/toggle-alacritty/", "shell_version_map": {"38": {"version": "4", "sha256": "1kz5a8x9fpvilcd4p9pn6cmsj6gvq44cg85yhkgdi9x2qpd52fn1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZXMgQWxhY3JpdHR5IHdpbmRvdyB2aWEgaG90a2V5OiBBbHQrelxuXG5JZiBBbGFjcml0dHkgaXMgbm90IGxhdW5jaGVkLCBhdHRlbXB0cyB0byBzdGFydCBpdCAoL3Vzci9iaW4vYWxhY3JpdHR5KVxuXG5Xb3JrcyB1bmRlciBib3RoIFdheWxhbmQgYW5kIFgxMVxuXG5UbyBjaGFuZ2UgaG90a2V5IHBsZWFzZSBmb2xsb3cgaW5zdHJ1Y3Rpb24gaW4gdGhlIFJFQURNRS5tZDoiLAogICJuYW1lIjogIlRvZ2dsZSBBbGFjcml0dHkiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudG9nZ2xlLWFsYWNyaXR0eSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXh4YXB5L2dub21lLWFsYWNyaXR0eS10b2dnbGUiLAogICJ1dWlkIjogInRvZ2dsZS1hbGFjcml0dHlAaXRzdGltZS50ZWNoIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "1kz5a8x9fpvilcd4p9pn6cmsj6gvq44cg85yhkgdi9x2qpd52fn1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZXMgQWxhY3JpdHR5IHdpbmRvdyB2aWEgaG90a2V5OiBBbHQrelxuXG5JZiBBbGFjcml0dHkgaXMgbm90IGxhdW5jaGVkLCBhdHRlbXB0cyB0byBzdGFydCBpdCAoL3Vzci9iaW4vYWxhY3JpdHR5KVxuXG5Xb3JrcyB1bmRlciBib3RoIFdheWxhbmQgYW5kIFgxMVxuXG5UbyBjaGFuZ2UgaG90a2V5IHBsZWFzZSBmb2xsb3cgaW5zdHJ1Y3Rpb24gaW4gdGhlIFJFQURNRS5tZDoiLAogICJuYW1lIjogIlRvZ2dsZSBBbGFjcml0dHkiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudG9nZ2xlLWFsYWNyaXR0eSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXh4YXB5L2dub21lLWFsYWNyaXR0eS10b2dnbGUiLAogICJ1dWlkIjogInRvZ2dsZS1hbGFjcml0dHlAaXRzdGltZS50ZWNoIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "1kz5a8x9fpvilcd4p9pn6cmsj6gvq44cg85yhkgdi9x2qpd52fn1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZXMgQWxhY3JpdHR5IHdpbmRvdyB2aWEgaG90a2V5OiBBbHQrelxuXG5JZiBBbGFjcml0dHkgaXMgbm90IGxhdW5jaGVkLCBhdHRlbXB0cyB0byBzdGFydCBpdCAoL3Vzci9iaW4vYWxhY3JpdHR5KVxuXG5Xb3JrcyB1bmRlciBib3RoIFdheWxhbmQgYW5kIFgxMVxuXG5UbyBjaGFuZ2UgaG90a2V5IHBsZWFzZSBmb2xsb3cgaW5zdHJ1Y3Rpb24gaW4gdGhlIFJFQURNRS5tZDoiLAogICJuYW1lIjogIlRvZ2dsZSBBbGFjcml0dHkiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudG9nZ2xlLWFsYWNyaXR0eSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXh4YXB5L2dub21lLWFsYWNyaXR0eS10b2dnbGUiLAogICJ1dWlkIjogInRvZ2dsZS1hbGFjcml0dHlAaXRzdGltZS50ZWNoIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "hide-panel@fthx", "name": "Hide Panel", "pname": "hide-panel", "description": "Hide top panel except in overview. Switch button in panel.\n\nVery very light extension. There is a 1 pixel wide line at the top of the screen that allows to blindly use the panel menus. This is needed to keep the native hot corner active without having to recreate it.", "link": "https://extensions.gnome.org/extension/3948/hide-panel/", "shell_version_map": {"38": {"version": "8", "sha256": "0nrj0kxfdxx7nmw0zai070ca5lv5r43bpgm2binv31xjyh385849", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgdG9wIHBhbmVsIGV4Y2VwdCBpbiBvdmVydmlldy4gU3dpdGNoIGJ1dHRvbiBpbiBwYW5lbC5cblxuVmVyeSB2ZXJ5IGxpZ2h0IGV4dGVuc2lvbi4gVGhlcmUgaXMgYSAxIHBpeGVsIHdpZGUgbGluZSBhdCB0aGUgdG9wIG9mIHRoZSBzY3JlZW4gdGhhdCBhbGxvd3MgdG8gYmxpbmRseSB1c2UgdGhlIHBhbmVsIG1lbnVzLiBUaGlzIGlzIG5lZWRlZCB0byBrZWVwIHRoZSBuYXRpdmUgaG90IGNvcm5lciBhY3RpdmUgd2l0aG91dCBoYXZpbmcgdG8gcmVjcmVhdGUgaXQuIiwKICAibmFtZSI6ICJIaWRlIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvaGlkZS1wYW5lbCIsCiAgInV1aWQiOiAiaGlkZS1wYW5lbEBmdGh4IiwKICAidmVyc2lvbiI6IDgKfQ=="}, "40": {"version": "8", "sha256": "0nrj0kxfdxx7nmw0zai070ca5lv5r43bpgm2binv31xjyh385849", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgdG9wIHBhbmVsIGV4Y2VwdCBpbiBvdmVydmlldy4gU3dpdGNoIGJ1dHRvbiBpbiBwYW5lbC5cblxuVmVyeSB2ZXJ5IGxpZ2h0IGV4dGVuc2lvbi4gVGhlcmUgaXMgYSAxIHBpeGVsIHdpZGUgbGluZSBhdCB0aGUgdG9wIG9mIHRoZSBzY3JlZW4gdGhhdCBhbGxvd3MgdG8gYmxpbmRseSB1c2UgdGhlIHBhbmVsIG1lbnVzLiBUaGlzIGlzIG5lZWRlZCB0byBrZWVwIHRoZSBuYXRpdmUgaG90IGNvcm5lciBhY3RpdmUgd2l0aG91dCBoYXZpbmcgdG8gcmVjcmVhdGUgaXQuIiwKICAibmFtZSI6ICJIaWRlIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvaGlkZS1wYW5lbCIsCiAgInV1aWQiOiAiaGlkZS1wYW5lbEBmdGh4IiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
 , {"uuid": "persistent-email-notifications@fthx", "name": "Persistent Email Notifications", "pname": "persistent-email-notifications", "description": "Never hide a new mail notification, except if you close it.\n\nVery very light extension. Email clients supported: Thunderbird, Evolution, Geary, Mailspring, TypeApp, BlueMail. Please ask for another email client if needed.", "link": "https://extensions.gnome.org/extension/3951/persistent-email-notifications/", "shell_version_map": {"38": {"version": "3", "sha256": "06m6fhs50vlrwkgdk6cvkcl5f155a1w8szs1g9pzryf8mmldgmdd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldmVyIGhpZGUgYSBuZXcgbWFpbCBub3RpZmljYXRpb24sIGV4Y2VwdCBpZiB5b3UgY2xvc2UgaXQuXG5cblZlcnkgdmVyeSBsaWdodCBleHRlbnNpb24uIEVtYWlsIGNsaWVudHMgc3VwcG9ydGVkOiBUaHVuZGVyYmlyZCwgRXZvbHV0aW9uLCBHZWFyeSwgTWFpbHNwcmluZywgVHlwZUFwcCwgQmx1ZU1haWwuIFBsZWFzZSBhc2sgZm9yIGFub3RoZXIgZW1haWwgY2xpZW50IGlmIG5lZWRlZC4iLAogICJuYW1lIjogIlBlcnNpc3RlbnQgRW1haWwgTm90aWZpY2F0aW9ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L3BlcnNpc3RlbnQtZW1haWwtbm90aWZpY2F0aW9ucyIsCiAgInV1aWQiOiAicGVyc2lzdGVudC1lbWFpbC1ub3RpZmljYXRpb25zQGZ0aHgiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "06m6fhs50vlrwkgdk6cvkcl5f155a1w8szs1g9pzryf8mmldgmdd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldmVyIGhpZGUgYSBuZXcgbWFpbCBub3RpZmljYXRpb24sIGV4Y2VwdCBpZiB5b3UgY2xvc2UgaXQuXG5cblZlcnkgdmVyeSBsaWdodCBleHRlbnNpb24uIEVtYWlsIGNsaWVudHMgc3VwcG9ydGVkOiBUaHVuZGVyYmlyZCwgRXZvbHV0aW9uLCBHZWFyeSwgTWFpbHNwcmluZywgVHlwZUFwcCwgQmx1ZU1haWwuIFBsZWFzZSBhc2sgZm9yIGFub3RoZXIgZW1haWwgY2xpZW50IGlmIG5lZWRlZC4iLAogICJuYW1lIjogIlBlcnNpc3RlbnQgRW1haWwgTm90aWZpY2F0aW9ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L3BlcnNpc3RlbnQtZW1haWwtbm90aWZpY2F0aW9ucyIsCiAgInV1aWQiOiAicGVyc2lzdGVudC1lbWFpbC1ub3RpZmljYXRpb25zQGZ0aHgiLAogICJ2ZXJzaW9uIjogMwp9"}}}
-, {"uuid": "horizontal-workspace-indicator@tty2.io", "name": "Workspace indicator", "pname": "workspace-indicator", "description": "Workspace indicator shows the amount of opened workspaces and highlights the current one using unicode characters.\n\nYou can use it as an indicator only but widget is clickable. Left button click: move to left, right click: move right. Middle click calls overview.\n\nThere could be an error with the extension after update. The solution is to logout and login again.\n\nIf your indicator looks different from one on screen shot, install DejaVu Sans or Ubuntu font.", "link": "https://extensions.gnome.org/extension/3952/workspace-indicator/", "shell_version_map": {"38": {"version": "9", "sha256": "1inrxf5n2agv94zcqljbkna2lhdj84ppdirfq80035dj6iwpfaz9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuIE1pZGRsZSBjbGljayBjYWxscyBvdmVydmlldy5cblxuVGhlcmUgY291bGQgYmUgYW4gZXJyb3Igd2l0aCB0aGUgZXh0ZW5zaW9uIGFmdGVyIHVwZGF0ZS4gVGhlIHNvbHV0aW9uIGlzIHRvIGxvZ291dCBhbmQgbG9naW4gYWdhaW4uXG5cbklmIHlvdXIgaW5kaWNhdG9yIGxvb2tzIGRpZmZlcmVudCBmcm9tIG9uZSBvbiBzY3JlZW4gc2hvdCwgaW5zdGFsbCBEZWphVnUgU2FucyBvciBVYnVudHUgZm9udC4iLAogICJuYW1lIjogIldvcmtzcGFjZSBpbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R0eTIvaG9yaXpvbnRhbC13b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3JAdHR5Mi5pbyIsCiAgInZlcnNpb24iOiA5Cn0="}, "40": {"version": "13", "sha256": "1r4zw85wwx2idlqiw9gmrmxb3infjvvy8nz1i47pk0ry81h94y7q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuIE1pZGRsZSBjbGljayBjYWxscyBvdmVydmlldy5cblxuVGhlcmUgY291bGQgYmUgYW4gZXJyb3Igd2l0aCB0aGUgZXh0ZW5zaW9uIGFmdGVyIHVwZGF0ZS4gVGhlIHNvbHV0aW9uIGlzIHRvIGxvZ291dCBhbmQgbG9naW4gYWdhaW4uXG5cbklmIHlvdXIgaW5kaWNhdG9yIGxvb2tzIGRpZmZlcmVudCBmcm9tIG9uZSBvbiBzY3JlZW4gc2hvdCwgaW5zdGFsbCBEZWphVnUgU2FucyBvciBVYnVudHUgZm9udC4iLAogICJuYW1lIjogIldvcmtzcGFjZSBpbmRpY2F0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaG9yaXpvbnRhbC13b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHR5Mi9ob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImhvcml6b250YWwtd29ya3NwYWNlLWluZGljYXRvckB0dHkyLmlvIiwKICAidmVyc2lvbiI6IDEzCn0="}, "41": {"version": "13", "sha256": "1r4zw85wwx2idlqiw9gmrmxb3infjvvy8nz1i47pk0ry81h94y7q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuIE1pZGRsZSBjbGljayBjYWxscyBvdmVydmlldy5cblxuVGhlcmUgY291bGQgYmUgYW4gZXJyb3Igd2l0aCB0aGUgZXh0ZW5zaW9uIGFmdGVyIHVwZGF0ZS4gVGhlIHNvbHV0aW9uIGlzIHRvIGxvZ291dCBhbmQgbG9naW4gYWdhaW4uXG5cbklmIHlvdXIgaW5kaWNhdG9yIGxvb2tzIGRpZmZlcmVudCBmcm9tIG9uZSBvbiBzY3JlZW4gc2hvdCwgaW5zdGFsbCBEZWphVnUgU2FucyBvciBVYnVudHUgZm9udC4iLAogICJuYW1lIjogIldvcmtzcGFjZSBpbmRpY2F0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaG9yaXpvbnRhbC13b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHR5Mi9ob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImhvcml6b250YWwtd29ya3NwYWNlLWluZGljYXRvckB0dHkyLmlvIiwKICAidmVyc2lvbiI6IDEzCn0="}, "42": {"version": "13", "sha256": "1r4zw85wwx2idlqiw9gmrmxb3infjvvy8nz1i47pk0ry81h94y7q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuIE1pZGRsZSBjbGljayBjYWxscyBvdmVydmlldy5cblxuVGhlcmUgY291bGQgYmUgYW4gZXJyb3Igd2l0aCB0aGUgZXh0ZW5zaW9uIGFmdGVyIHVwZGF0ZS4gVGhlIHNvbHV0aW9uIGlzIHRvIGxvZ291dCBhbmQgbG9naW4gYWdhaW4uXG5cbklmIHlvdXIgaW5kaWNhdG9yIGxvb2tzIGRpZmZlcmVudCBmcm9tIG9uZSBvbiBzY3JlZW4gc2hvdCwgaW5zdGFsbCBEZWphVnUgU2FucyBvciBVYnVudHUgZm9udC4iLAogICJuYW1lIjogIldvcmtzcGFjZSBpbmRpY2F0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaG9yaXpvbnRhbC13b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHR5Mi9ob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImhvcml6b250YWwtd29ya3NwYWNlLWluZGljYXRvckB0dHkyLmlvIiwKICAidmVyc2lvbiI6IDEzCn0="}}}
+, {"uuid": "horizontal-workspace-indicator@tty2.io", "name": "Workspace indicator", "pname": "workspace-indicator", "description": "Workspace indicator shows the amount of opened workspaces and highlights the current one using unicode characters.\n\nYou can use it as an indicator only but widget is clickable. Left button click: move to left, right click: move right. Middle click calls overview.\n\nIf your indicator looks different from one on screen shot, install DejaVu Serif or Ubuntu font.\n\nUpdate 2022.07.25: there can be issues with appearance related with fonts. Update extension.", "link": "https://extensions.gnome.org/extension/3952/workspace-indicator/", "shell_version_map": {"38": {"version": "9", "sha256": "1s0h2wgrikqfq0cmss64axzwp6njbfbfgp92icx7d8rk4cc07sdn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuIE1pZGRsZSBjbGljayBjYWxscyBvdmVydmlldy5cblxuSWYgeW91ciBpbmRpY2F0b3IgbG9va3MgZGlmZmVyZW50IGZyb20gb25lIG9uIHNjcmVlbiBzaG90LCBpbnN0YWxsIERlamFWdSBTZXJpZiBvciBVYnVudHUgZm9udC5cblxuVXBkYXRlIDIwMjIuMDcuMjU6IHRoZXJlIGNhbiBiZSBpc3N1ZXMgd2l0aCBhcHBlYXJhbmNlIHJlbGF0ZWQgd2l0aCBmb250cy4gVXBkYXRlIGV4dGVuc2lvbi4iLAogICJuYW1lIjogIldvcmtzcGFjZSBpbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R0eTIvaG9yaXpvbnRhbC13b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3JAdHR5Mi5pbyIsCiAgInZlcnNpb24iOiA5Cn0="}, "40": {"version": "14", "sha256": "0df6w9ypy5h8mfcbijah2qc7hhlzrbmp1rifnl2a1pb2jwf4cgx1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuIE1pZGRsZSBjbGljayBjYWxscyBvdmVydmlldy5cblxuSWYgeW91ciBpbmRpY2F0b3IgbG9va3MgZGlmZmVyZW50IGZyb20gb25lIG9uIHNjcmVlbiBzaG90LCBpbnN0YWxsIERlamFWdSBTZXJpZiBvciBVYnVudHUgZm9udC5cblxuVXBkYXRlIDIwMjIuMDcuMjU6IHRoZXJlIGNhbiBiZSBpc3N1ZXMgd2l0aCBhcHBlYXJhbmNlIHJlbGF0ZWQgd2l0aCBmb250cy4gVXBkYXRlIGV4dGVuc2lvbi4iLAogICJuYW1lIjogIldvcmtzcGFjZSBpbmRpY2F0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaG9yaXpvbnRhbC13b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHR5Mi9ob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImhvcml6b250YWwtd29ya3NwYWNlLWluZGljYXRvckB0dHkyLmlvIiwKICAidmVyc2lvbiI6IDE0Cn0="}, "41": {"version": "14", "sha256": "0df6w9ypy5h8mfcbijah2qc7hhlzrbmp1rifnl2a1pb2jwf4cgx1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuIE1pZGRsZSBjbGljayBjYWxscyBvdmVydmlldy5cblxuSWYgeW91ciBpbmRpY2F0b3IgbG9va3MgZGlmZmVyZW50IGZyb20gb25lIG9uIHNjcmVlbiBzaG90LCBpbnN0YWxsIERlamFWdSBTZXJpZiBvciBVYnVudHUgZm9udC5cblxuVXBkYXRlIDIwMjIuMDcuMjU6IHRoZXJlIGNhbiBiZSBpc3N1ZXMgd2l0aCBhcHBlYXJhbmNlIHJlbGF0ZWQgd2l0aCBmb250cy4gVXBkYXRlIGV4dGVuc2lvbi4iLAogICJuYW1lIjogIldvcmtzcGFjZSBpbmRpY2F0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaG9yaXpvbnRhbC13b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHR5Mi9ob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImhvcml6b250YWwtd29ya3NwYWNlLWluZGljYXRvckB0dHkyLmlvIiwKICAidmVyc2lvbiI6IDE0Cn0="}, "42": {"version": "14", "sha256": "0df6w9ypy5h8mfcbijah2qc7hhlzrbmp1rifnl2a1pb2jwf4cgx1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuIE1pZGRsZSBjbGljayBjYWxscyBvdmVydmlldy5cblxuSWYgeW91ciBpbmRpY2F0b3IgbG9va3MgZGlmZmVyZW50IGZyb20gb25lIG9uIHNjcmVlbiBzaG90LCBpbnN0YWxsIERlamFWdSBTZXJpZiBvciBVYnVudHUgZm9udC5cblxuVXBkYXRlIDIwMjIuMDcuMjU6IHRoZXJlIGNhbiBiZSBpc3N1ZXMgd2l0aCBhcHBlYXJhbmNlIHJlbGF0ZWQgd2l0aCBmb250cy4gVXBkYXRlIGV4dGVuc2lvbi4iLAogICJuYW1lIjogIldvcmtzcGFjZSBpbmRpY2F0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaG9yaXpvbnRhbC13b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHR5Mi9ob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImhvcml6b250YWwtd29ya3NwYWNlLWluZGljYXRvckB0dHkyLmlvIiwKICAidmVyc2lvbiI6IDE0Cn0="}}}
 , {"uuid": "kitchentimer@blackjackshellac.ca", "name": "Kitchen Timer", "pname": "kitchen-timer", "description": "General purpose timer extension for Gnome Shell\n\nPlease report issues on github\n\nIf updating the extension reports an ERROR, it should work after the next reboot or if you logout and login again.", "link": "https://extensions.gnome.org/extension/3955/kitchen-timer/", "shell_version_map": {"38": {"version": "28", "sha256": "0k1ahswl2ipjz1v1z1j96lndbk26rgfr2ra2g78lvzjiv6j42sdf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdlbmVyYWwgcHVycG9zZSB0aW1lciBleHRlbnNpb24gZm9yIEdub21lIFNoZWxsXG5cblBsZWFzZSByZXBvcnQgaXNzdWVzIG9uIGdpdGh1YlxuXG5JZiB1cGRhdGluZyB0aGUgZXh0ZW5zaW9uIHJlcG9ydHMgYW4gRVJST1IsIGl0IHNob3VsZCB3b3JrIGFmdGVyIHRoZSBuZXh0IHJlYm9vdCBvciBpZiB5b3UgbG9nb3V0IGFuZCBsb2dpbiBhZ2Fpbi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJraXRjaGVuLXRpbWVyLWJsYWNramFja3NoZWxsYWMiLAogICJuYW1lIjogIktpdGNoZW4gVGltZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMua2l0Y2hlbi10aW1lci1ibGFja2phY2tzaGVsbGFjIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JsYWNramFja3NoZWxsYWMva2l0Y2hlblRpbWVyIiwKICAidXVpZCI6ICJraXRjaGVudGltZXJAYmxhY2tqYWNrc2hlbGxhYy5jYSIsCiAgInZlcnNpb24iOiAyOAp9"}, "40": {"version": "28", "sha256": "0k1ahswl2ipjz1v1z1j96lndbk26rgfr2ra2g78lvzjiv6j42sdf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdlbmVyYWwgcHVycG9zZSB0aW1lciBleHRlbnNpb24gZm9yIEdub21lIFNoZWxsXG5cblBsZWFzZSByZXBvcnQgaXNzdWVzIG9uIGdpdGh1YlxuXG5JZiB1cGRhdGluZyB0aGUgZXh0ZW5zaW9uIHJlcG9ydHMgYW4gRVJST1IsIGl0IHNob3VsZCB3b3JrIGFmdGVyIHRoZSBuZXh0IHJlYm9vdCBvciBpZiB5b3UgbG9nb3V0IGFuZCBsb2dpbiBhZ2Fpbi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJraXRjaGVuLXRpbWVyLWJsYWNramFja3NoZWxsYWMiLAogICJuYW1lIjogIktpdGNoZW4gVGltZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMua2l0Y2hlbi10aW1lci1ibGFja2phY2tzaGVsbGFjIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JsYWNramFja3NoZWxsYWMva2l0Y2hlblRpbWVyIiwKICAidXVpZCI6ICJraXRjaGVudGltZXJAYmxhY2tqYWNrc2hlbGxhYy5jYSIsCiAgInZlcnNpb24iOiAyOAp9"}}}
 , {"uuid": "gnome-fuzzy-app-search@gnome-shell-extensions.Czarlie.gitlab.com", "name": "GNOME Fuzzy App Search", "pname": "gnome-fuzzy-app-search", "description": "Fuzzy application search results for Gnome Search", "link": "https://extensions.gnome.org/extension/3956/gnome-fuzzy-app-search/", "shell_version_map": {"38": {"version": "16", "sha256": "0yhc4rrxdqkd2in0vi3kxc7q3llbk88r47fqbvvlbcf8viv7blkq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJDemFybGllIDxsZWVlNDlAZ21haWwuY29tPiIsCiAgImF1dGhvci1odG1sIjogIkN6YXJsaWUgJmx0OzxhIGhyZWY9XCJtYWlsdG86bGVlZTQ5Ljd4N0BnbWFpbC5jb21cIj5sZWVlNDkuN3g3QGdtYWlsLmNvbTwvYT4mZ3Q7IiwKICAiZGVzY3JpcHRpb24iOiAiRnV6enkgYXBwbGljYXRpb24gc2VhcmNoIHJlc3VsdHMgZm9yIEdub21lIFNlYXJjaCIsCiAgImRlc2NyaXB0aW9uLWh0bWwiOiAiPGEgaHJlZj1cImh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FwcHJveGltYXRlX3N0cmluZ19tYXRjaGluZ1wiPkZ1enp5PC9hPiBhcHBsaWNhdGlvbiBzZWFyY2ggcmVzdWx0cyBmb3IgPGEgaHJlZj1cImh0dHBzOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9TZWFyY2hQcm92aWRlci9cIj5Hbm9tZSBTZWFyY2g8L2E+LiIsCiAgImVtYWlsIjogImxlZWU0OS43eDdAZ21haWwuY29tIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtZnV6enktYXBwLXNlYXJjaCIsCiAgImxpY2Vuc2UiOiAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjMuMCIsCiAgImxpY2Vuc2UtaHRtbCI6ICJUaGlzIHByb2dyYW0gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLlxuU2VlIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLmh0bWxcIj5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2My4wPC9hPiBmb3IgZGV0YWlscy4iLAogICJuYW1lIjogIkdOT01FIEZ1enp5IEFwcCBTZWFyY2giLAogICJvcmlnaW5hbC1hdXRob3IiOiAiRnJhbmpvIEZpbG8gPGZmZmlsbzY2NkBnbWFpbC5jb20+IiwKICAib3JpZ2luYWwtYXV0aG9yLWh0bWwiOiAiRnJhbmpvIEZpbG8gJmx0OzxhIGhyZWY9XCJtYWlsdG86ZmZmaWxvNjY2QGdtYWlsLmNvbVwiPmZmZmlsbzY2NkBnbWFpbC5jb208L2E+Jmd0OyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vQ3phcmxpZS9nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAidXVpZCI6ICJnbm9tZS1mdXp6eS1hcHAtc2VhcmNoQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuQ3phcmxpZS5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "40": {"version": "16", "sha256": "0yhc4rrxdqkd2in0vi3kxc7q3llbk88r47fqbvvlbcf8viv7blkq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJDemFybGllIDxsZWVlNDlAZ21haWwuY29tPiIsCiAgImF1dGhvci1odG1sIjogIkN6YXJsaWUgJmx0OzxhIGhyZWY9XCJtYWlsdG86bGVlZTQ5Ljd4N0BnbWFpbC5jb21cIj5sZWVlNDkuN3g3QGdtYWlsLmNvbTwvYT4mZ3Q7IiwKICAiZGVzY3JpcHRpb24iOiAiRnV6enkgYXBwbGljYXRpb24gc2VhcmNoIHJlc3VsdHMgZm9yIEdub21lIFNlYXJjaCIsCiAgImRlc2NyaXB0aW9uLWh0bWwiOiAiPGEgaHJlZj1cImh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FwcHJveGltYXRlX3N0cmluZ19tYXRjaGluZ1wiPkZ1enp5PC9hPiBhcHBsaWNhdGlvbiBzZWFyY2ggcmVzdWx0cyBmb3IgPGEgaHJlZj1cImh0dHBzOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9TZWFyY2hQcm92aWRlci9cIj5Hbm9tZSBTZWFyY2g8L2E+LiIsCiAgImVtYWlsIjogImxlZWU0OS43eDdAZ21haWwuY29tIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtZnV6enktYXBwLXNlYXJjaCIsCiAgImxpY2Vuc2UiOiAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjMuMCIsCiAgImxpY2Vuc2UtaHRtbCI6ICJUaGlzIHByb2dyYW0gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLlxuU2VlIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLmh0bWxcIj5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2My4wPC9hPiBmb3IgZGV0YWlscy4iLAogICJuYW1lIjogIkdOT01FIEZ1enp5IEFwcCBTZWFyY2giLAogICJvcmlnaW5hbC1hdXRob3IiOiAiRnJhbmpvIEZpbG8gPGZmZmlsbzY2NkBnbWFpbC5jb20+IiwKICAib3JpZ2luYWwtYXV0aG9yLWh0bWwiOiAiRnJhbmpvIEZpbG8gJmx0OzxhIGhyZWY9XCJtYWlsdG86ZmZmaWxvNjY2QGdtYWlsLmNvbVwiPmZmZmlsbzY2NkBnbWFpbC5jb208L2E+Jmd0OyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vQ3phcmxpZS9nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAidXVpZCI6ICJnbm9tZS1mdXp6eS1hcHAtc2VhcmNoQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuQ3phcmxpZS5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "41": {"version": "16", "sha256": "0yhc4rrxdqkd2in0vi3kxc7q3llbk88r47fqbvvlbcf8viv7blkq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJDemFybGllIDxsZWVlNDlAZ21haWwuY29tPiIsCiAgImF1dGhvci1odG1sIjogIkN6YXJsaWUgJmx0OzxhIGhyZWY9XCJtYWlsdG86bGVlZTQ5Ljd4N0BnbWFpbC5jb21cIj5sZWVlNDkuN3g3QGdtYWlsLmNvbTwvYT4mZ3Q7IiwKICAiZGVzY3JpcHRpb24iOiAiRnV6enkgYXBwbGljYXRpb24gc2VhcmNoIHJlc3VsdHMgZm9yIEdub21lIFNlYXJjaCIsCiAgImRlc2NyaXB0aW9uLWh0bWwiOiAiPGEgaHJlZj1cImh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FwcHJveGltYXRlX3N0cmluZ19tYXRjaGluZ1wiPkZ1enp5PC9hPiBhcHBsaWNhdGlvbiBzZWFyY2ggcmVzdWx0cyBmb3IgPGEgaHJlZj1cImh0dHBzOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9TZWFyY2hQcm92aWRlci9cIj5Hbm9tZSBTZWFyY2g8L2E+LiIsCiAgImVtYWlsIjogImxlZWU0OS43eDdAZ21haWwuY29tIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtZnV6enktYXBwLXNlYXJjaCIsCiAgImxpY2Vuc2UiOiAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjMuMCIsCiAgImxpY2Vuc2UtaHRtbCI6ICJUaGlzIHByb2dyYW0gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLlxuU2VlIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLmh0bWxcIj5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2My4wPC9hPiBmb3IgZGV0YWlscy4iLAogICJuYW1lIjogIkdOT01FIEZ1enp5IEFwcCBTZWFyY2giLAogICJvcmlnaW5hbC1hdXRob3IiOiAiRnJhbmpvIEZpbG8gPGZmZmlsbzY2NkBnbWFpbC5jb20+IiwKICAib3JpZ2luYWwtYXV0aG9yLWh0bWwiOiAiRnJhbmpvIEZpbG8gJmx0OzxhIGhyZWY9XCJtYWlsdG86ZmZmaWxvNjY2QGdtYWlsLmNvbVwiPmZmZmlsbzY2NkBnbWFpbC5jb208L2E+Jmd0OyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vQ3phcmxpZS9nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAidXVpZCI6ICJnbm9tZS1mdXp6eS1hcHAtc2VhcmNoQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuQ3phcmxpZS5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "42": {"version": "16", "sha256": "0yhc4rrxdqkd2in0vi3kxc7q3llbk88r47fqbvvlbcf8viv7blkq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJDemFybGllIDxsZWVlNDlAZ21haWwuY29tPiIsCiAgImF1dGhvci1odG1sIjogIkN6YXJsaWUgJmx0OzxhIGhyZWY9XCJtYWlsdG86bGVlZTQ5Ljd4N0BnbWFpbC5jb21cIj5sZWVlNDkuN3g3QGdtYWlsLmNvbTwvYT4mZ3Q7IiwKICAiZGVzY3JpcHRpb24iOiAiRnV6enkgYXBwbGljYXRpb24gc2VhcmNoIHJlc3VsdHMgZm9yIEdub21lIFNlYXJjaCIsCiAgImRlc2NyaXB0aW9uLWh0bWwiOiAiPGEgaHJlZj1cImh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FwcHJveGltYXRlX3N0cmluZ19tYXRjaGluZ1wiPkZ1enp5PC9hPiBhcHBsaWNhdGlvbiBzZWFyY2ggcmVzdWx0cyBmb3IgPGEgaHJlZj1cImh0dHBzOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9TZWFyY2hQcm92aWRlci9cIj5Hbm9tZSBTZWFyY2g8L2E+LiIsCiAgImVtYWlsIjogImxlZWU0OS43eDdAZ21haWwuY29tIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtZnV6enktYXBwLXNlYXJjaCIsCiAgImxpY2Vuc2UiOiAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjMuMCIsCiAgImxpY2Vuc2UtaHRtbCI6ICJUaGlzIHByb2dyYW0gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLlxuU2VlIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLmh0bWxcIj5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2My4wPC9hPiBmb3IgZGV0YWlscy4iLAogICJuYW1lIjogIkdOT01FIEZ1enp5IEFwcCBTZWFyY2giLAogICJvcmlnaW5hbC1hdXRob3IiOiAiRnJhbmpvIEZpbG8gPGZmZmlsbzY2NkBnbWFpbC5jb20+IiwKICAib3JpZ2luYWwtYXV0aG9yLWh0bWwiOiAiRnJhbmpvIEZpbG8gJmx0OzxhIGhyZWY9XCJtYWlsdG86ZmZmaWxvNjY2QGdtYWlsLmNvbVwiPmZmZmlsbzY2NkBnbWFpbC5jb208L2E+Jmd0OyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vQ3phcmxpZS9nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAidXVpZCI6ICJnbm9tZS1mdXp6eS1hcHAtc2VhcmNoQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuQ3phcmxpZS5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}}}
 , {"uuid": "e-ink-mode@fujimo-t.github.io", "name": "E Ink Mode", "pname": "e-ink-mode", "description": "Make desktop suitable for E Ink monitors.\n\nUnmaintenanced.\nPlease migrate to theme:\nhttps://github.com/fujimo-t/gnome-shell-theme-e-ink\nSee below to detail:\nhttps://github.com/fujimo-t/gnome-shell-extension-e-ink-mode/issues/3#issuecomment-1019159171", "link": "https://extensions.gnome.org/extension/3957/e-ink-mode/", "shell_version_map": {"40": {"version": "3", "sha256": "0khqna60a0vblygriiky0jzg92ib8i44i6wkr8s3vxi0bcfa2zhm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgZGVza3RvcCBzdWl0YWJsZSBmb3IgRSBJbmsgbW9uaXRvcnMuXG5cblVubWFpbnRlbmFuY2VkLlxuUGxlYXNlIG1pZ3JhdGUgdG8gdGhlbWU6XG5odHRwczovL2dpdGh1Yi5jb20vZnVqaW1vLXQvZ25vbWUtc2hlbGwtdGhlbWUtZS1pbmtcblNlZSBiZWxvdyB0byBkZXRhaWw6XG5odHRwczovL2dpdGh1Yi5jb20vZnVqaW1vLXQvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWUtaW5rLW1vZGUvaXNzdWVzLzMjaXNzdWVjb21tZW50LTEwMTkxNTkxNzEiLAogICJuYW1lIjogIkUgSW5rIE1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnVqaW1vLXQvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWUtaW5rLW1vZGUiLAogICJ1dWlkIjogImUtaW5rLW1vZGVAZnVqaW1vLXQuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
@@ -431,7 +431,7 @@
 , {"uuid": "gnome4synology@psasse.gmx.de", "name": "Movie Search provider for Synology®", "pname": "gnome-movie-search-provider-for-synology", "description": "search provider for movie titles on Synology® NAS including offline search (yet to come)", "link": "https://extensions.gnome.org/extension/3969/gnome-movie-search-provider-for-synology/", "shell_version_map": {"40": {"version": "14", "sha256": "133jgh7s8mdc4dbcwr623yyrpfb8nv96iggsk2kb18lkw2rcf3xi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInNlYXJjaCBwcm92aWRlciBmb3IgbW92aWUgdGl0bGVzIG9uIFN5bm9sb2d5XHUwMGFlIE5BUyBpbmNsdWRpbmcgb2ZmbGluZSBzZWFyY2ggKHlldCB0byBjb21lKSIsCiAgIm5hbWUiOiAiTW92aWUgU2VhcmNoIHByb3ZpZGVyIGZvciBTeW5vbG9neVx1MDBhZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wc2Fzc2U3Mi9tb3ZpZXM0c3lub2xvZ3kiLAogICJ1dWlkIjogImdub21lNHN5bm9sb2d5QHBzYXNzZS5nbXguZGUiLAogICJ2ZXJzaW9uIjogMTQKfQ=="}}}
 , {"uuid": "guillotine@fopdoodle.net", "name": "Guillotine", "pname": "guillotine", "description": "Guillotine is a gnome extension designed for efficiently carrying out executions of commands from a customizable menu. Simply speaking: it is a highly customizable menu that enables you to launch commands and toggle services.", "link": "https://extensions.gnome.org/extension/3981/guillotine/", "shell_version_map": {"38": {"version": "3", "sha256": "0r171an47d1fdhzwiq7kg59hasibmcvvcsv9z9xd1kh5jahzmam5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkd1aWxsb3RpbmUgaXMgYSBnbm9tZSBleHRlbnNpb24gZGVzaWduZWQgZm9yIGVmZmljaWVudGx5IGNhcnJ5aW5nIG91dCBleGVjdXRpb25zIG9mIGNvbW1hbmRzIGZyb20gYSBjdXN0b21pemFibGUgbWVudS4gU2ltcGx5IHNwZWFraW5nOiBpdCBpcyBhIGhpZ2hseSBjdXN0b21pemFibGUgbWVudSB0aGF0IGVuYWJsZXMgeW91IHRvIGxhdW5jaCBjb21tYW5kcyBhbmQgdG9nZ2xlIHNlcnZpY2VzLiIsCiAgIm5hbWUiOiAiR3VpbGxvdGluZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ndWlsbG90aW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vZW50ZTc2L2d1aWxsb3RpbmUvIiwKICAidXVpZCI6ICJndWlsbG90aW5lQGZvcGRvb2RsZS5uZXQiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "15", "sha256": "10i86kx5j5rd1hamj8b3kn6lhmv9zb9xid98f2l5l1sna74xh161", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkd1aWxsb3RpbmUgaXMgYSBnbm9tZSBleHRlbnNpb24gZGVzaWduZWQgZm9yIGVmZmljaWVudGx5IGNhcnJ5aW5nIG91dCBleGVjdXRpb25zIG9mIGNvbW1hbmRzIGZyb20gYSBjdXN0b21pemFibGUgbWVudS4gU2ltcGx5IHNwZWFraW5nOiBpdCBpcyBhIGhpZ2hseSBjdXN0b21pemFibGUgbWVudSB0aGF0IGVuYWJsZXMgeW91IHRvIGxhdW5jaCBjb21tYW5kcyBhbmQgdG9nZ2xlIHNlcnZpY2VzLiIsCiAgIm5hbWUiOiAiR3VpbGxvdGluZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ndWlsbG90aW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vZW50ZTc2L2d1aWxsb3RpbmUvIiwKICAidXVpZCI6ICJndWlsbG90aW5lQGZvcGRvb2RsZS5uZXQiLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "41": {"version": "15", "sha256": "10i86kx5j5rd1hamj8b3kn6lhmv9zb9xid98f2l5l1sna74xh161", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkd1aWxsb3RpbmUgaXMgYSBnbm9tZSBleHRlbnNpb24gZGVzaWduZWQgZm9yIGVmZmljaWVudGx5IGNhcnJ5aW5nIG91dCBleGVjdXRpb25zIG9mIGNvbW1hbmRzIGZyb20gYSBjdXN0b21pemFibGUgbWVudS4gU2ltcGx5IHNwZWFraW5nOiBpdCBpcyBhIGhpZ2hseSBjdXN0b21pemFibGUgbWVudSB0aGF0IGVuYWJsZXMgeW91IHRvIGxhdW5jaCBjb21tYW5kcyBhbmQgdG9nZ2xlIHNlcnZpY2VzLiIsCiAgIm5hbWUiOiAiR3VpbGxvdGluZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ndWlsbG90aW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vZW50ZTc2L2d1aWxsb3RpbmUvIiwKICAidXVpZCI6ICJndWlsbG90aW5lQGZvcGRvb2RsZS5uZXQiLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "42": {"version": "15", "sha256": "10i86kx5j5rd1hamj8b3kn6lhmv9zb9xid98f2l5l1sna74xh161", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkd1aWxsb3RpbmUgaXMgYSBnbm9tZSBleHRlbnNpb24gZGVzaWduZWQgZm9yIGVmZmljaWVudGx5IGNhcnJ5aW5nIG91dCBleGVjdXRpb25zIG9mIGNvbW1hbmRzIGZyb20gYSBjdXN0b21pemFibGUgbWVudS4gU2ltcGx5IHNwZWFraW5nOiBpdCBpcyBhIGhpZ2hseSBjdXN0b21pemFibGUgbWVudSB0aGF0IGVuYWJsZXMgeW91IHRvIGxhdW5jaCBjb21tYW5kcyBhbmQgdG9nZ2xlIHNlcnZpY2VzLiIsCiAgIm5hbWUiOiAiR3VpbGxvdGluZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ndWlsbG90aW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vZW50ZTc2L2d1aWxsb3RpbmUvIiwKICAidXVpZCI6ICJndWlsbG90aW5lQGZvcGRvb2RsZS5uZXQiLAogICJ2ZXJzaW9uIjogMTUKfQ=="}}}
 , {"uuid": "shuzhi@tuberry", "name": "Shu Zhi", "pname": "shu-zhi", "description": "Wallpaper generation extension for GNOME Shell, inspired by Jizhi\n\nFor support, please report any issues via the homepage link below.", "link": "https://extensions.gnome.org/extension/3985/shu-zhi/", "shell_version_map": {"38": {"version": "7", "sha256": "1yk39q1ydv7kmb8shi4cp7pf5zvpmj99gjl9svack4773dj9rrwi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldhbGxwYXBlciBnZW5lcmF0aW9uIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwsIGluc3BpcmVkIGJ5IEppemhpXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogInNodXpoaSIsCiAgIm5hbWUiOiAiU2h1IFpoaSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV6aGkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L3NodXpoaSIsCiAgInV1aWQiOiAic2h1emhpQHR1YmVycnkiLAogICJ2ZXJzaW9uIjogNwp9"}, "40": {"version": "17", "sha256": "1n0ajmm6d7y6kify6k9g3j2kc3ass9s7zyif5jhr1djzsi6knpq0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldhbGxwYXBlciBnZW5lcmF0aW9uIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwsIGluc3BpcmVkIGJ5IEppemhpXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1zaHV6aGkiLAogICJuYW1lIjogIlNodSBaaGkiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2h1emhpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvc2h1emhpIiwKICAidXVpZCI6ICJzaHV6aGlAdHViZXJyeSIsCiAgInZlcnNpb24iOiAxNwp9"}, "41": {"version": "19", "sha256": "1ib82yf7gh97hygbrxccpsh75jpg65rp834vygi25kyf0b8fykff", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldhbGxwYXBlciBnZW5lcmF0aW9uIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwsIGluc3BpcmVkIGJ5IEppemhpXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1zaHV6aGkiLAogICJuYW1lIjogIlNodSBaaGkiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2h1emhpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvc2h1emhpIiwKICAidXVpZCI6ICJzaHV6aGlAdHViZXJyeSIsCiAgInZlcnNpb24iOiAxOQp9"}, "42": {"version": "21", "sha256": "1pbldn51jjfq45d3bl7nfciff1mn3krl7dhiwp9hqrp3hchlassd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldhbGxwYXBlciBnZW5lcmF0aW9uIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwsIGluc3BpcmVkIGJ5IEppemhpXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1zaHV6aGkiLAogICJuYW1lIjogIlNodSBaaGkiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2h1emhpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvc2h1emhpIiwKICAidXVpZCI6ICJzaHV6aGlAdHViZXJyeSIsCiAgInZlcnNpb24iOiAyMQp9"}}}
-, {"uuid": "zilence@apankowski.github.com", "name": "Zilence", "pname": "zilence", "description": "Turns off notifications while sharing screen during a Zoom call", "link": "https://extensions.gnome.org/extension/3988/zilence/", "shell_version_map": {"38": {"version": "3", "sha256": "03svlpgsjz8i3a7y75m8whx7yr7pqiv5c2x6vgp399h4wjxdl4br", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1pdCI6ICI1NTUxMzk0YTFmNmYxMDlkZDgxNzhkNTg5ODNhN2MwMTE1YzVmYmRjIiwKICAiZGVzY3JpcHRpb24iOiAiVHVybnMgb2ZmIG5vdGlmaWNhdGlvbnMgd2hpbGUgc2hhcmluZyBzY3JlZW4gZHVyaW5nIGEgWm9vbSBjYWxsIiwKICAibmFtZSI6ICJaaWxlbmNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FwYW5rb3dza2kvemlsZW5jZSIsCiAgInV1aWQiOiAiemlsZW5jZUBhcGFua293c2tpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "03svlpgsjz8i3a7y75m8whx7yr7pqiv5c2x6vgp399h4wjxdl4br", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1pdCI6ICI1NTUxMzk0YTFmNmYxMDlkZDgxNzhkNTg5ODNhN2MwMTE1YzVmYmRjIiwKICAiZGVzY3JpcHRpb24iOiAiVHVybnMgb2ZmIG5vdGlmaWNhdGlvbnMgd2hpbGUgc2hhcmluZyBzY3JlZW4gZHVyaW5nIGEgWm9vbSBjYWxsIiwKICAibmFtZSI6ICJaaWxlbmNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FwYW5rb3dza2kvemlsZW5jZSIsCiAgInV1aWQiOiAiemlsZW5jZUBhcGFua293c2tpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}}}
+, {"uuid": "zilence@apankowski.github.com", "name": "Zilence", "pname": "zilence", "description": "Turns off notifications while sharing screen during a Zoom call", "link": "https://extensions.gnome.org/extension/3988/zilence/", "shell_version_map": {"38": {"version": "4", "sha256": "18iy39i5i8ii2salpxnyin0bwfckl6kp2fzkkij3fqd0pga1frix", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1pdCI6ICIyNTU1ZGNhYjYxZTZiODBhZGFiYjM2NDM5MzEwMmY5MGU3MzhiOTRmIiwKICAiZGVzY3JpcHRpb24iOiAiVHVybnMgb2ZmIG5vdGlmaWNhdGlvbnMgd2hpbGUgc2hhcmluZyBzY3JlZW4gZHVyaW5nIGEgWm9vbSBjYWxsIiwKICAibmFtZSI6ICJaaWxlbmNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcGFua293c2tpL3ppbGVuY2UiLAogICJ1dWlkIjogInppbGVuY2VAYXBhbmtvd3NraS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "18iy39i5i8ii2salpxnyin0bwfckl6kp2fzkkij3fqd0pga1frix", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1pdCI6ICIyNTU1ZGNhYjYxZTZiODBhZGFiYjM2NDM5MzEwMmY5MGU3MzhiOTRmIiwKICAiZGVzY3JpcHRpb24iOiAiVHVybnMgb2ZmIG5vdGlmaWNhdGlvbnMgd2hpbGUgc2hhcmluZyBzY3JlZW4gZHVyaW5nIGEgWm9vbSBjYWxsIiwKICAibmFtZSI6ICJaaWxlbmNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcGFua293c2tpL3ppbGVuY2UiLAogICJ1dWlkIjogInppbGVuY2VAYXBhbmtvd3NraS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "42": {"version": "4", "sha256": "18iy39i5i8ii2salpxnyin0bwfckl6kp2fzkkij3fqd0pga1frix", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1pdCI6ICIyNTU1ZGNhYjYxZTZiODBhZGFiYjM2NDM5MzEwMmY5MGU3MzhiOTRmIiwKICAiZGVzY3JpcHRpb24iOiAiVHVybnMgb2ZmIG5vdGlmaWNhdGlvbnMgd2hpbGUgc2hhcmluZyBzY3JlZW4gZHVyaW5nIGEgWm9vbSBjYWxsIiwKICAibmFtZSI6ICJaaWxlbmNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcGFua293c2tpL3ppbGVuY2UiLAogICJ1dWlkIjogInppbGVuY2VAYXBhbmtvd3NraS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "bluetooth-battery@michalw.github.com", "name": "Bluetooth battery indicator", "pname": "bluetooth-battery", "description": "Bluetooth battery indicator", "link": "https://extensions.gnome.org/extension/3991/bluetooth-battery/", "shell_version_map": {"38": {"version": "26", "sha256": "07p56424nlhcs8rmbxyywc86jvhrr83hwzs1xq4jv338kiprp04j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdWV0b290aCBiYXR0ZXJ5IGluZGljYXRvciIsCiAgImdldHRleHQtZG9tYWluIjogImJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgIm5hbWUiOiAiQmx1ZXRvb3RoIGJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFsVy9nbm9tZS1ibHVldG9vdGgtYmF0dGVyeS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImJsdWV0b290aC1iYXR0ZXJ5QG1pY2hhbHcuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyNgp9"}, "40": {"version": "26", "sha256": "07p56424nlhcs8rmbxyywc86jvhrr83hwzs1xq4jv338kiprp04j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdWV0b290aCBiYXR0ZXJ5IGluZGljYXRvciIsCiAgImdldHRleHQtZG9tYWluIjogImJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgIm5hbWUiOiAiQmx1ZXRvb3RoIGJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFsVy9nbm9tZS1ibHVldG9vdGgtYmF0dGVyeS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImJsdWV0b290aC1iYXR0ZXJ5QG1pY2hhbHcuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyNgp9"}, "41": {"version": "26", "sha256": "07p56424nlhcs8rmbxyywc86jvhrr83hwzs1xq4jv338kiprp04j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdWV0b290aCBiYXR0ZXJ5IGluZGljYXRvciIsCiAgImdldHRleHQtZG9tYWluIjogImJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgIm5hbWUiOiAiQmx1ZXRvb3RoIGJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFsVy9nbm9tZS1ibHVldG9vdGgtYmF0dGVyeS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImJsdWV0b290aC1iYXR0ZXJ5QG1pY2hhbHcuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyNgp9"}, "42": {"version": "27", "sha256": "0gibbkzk5806d899csqkbk23dcp9nxawpssnsj7y9ksl11apnphp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdWV0b290aCBiYXR0ZXJ5IGluZGljYXRvciIsCiAgImdldHRleHQtZG9tYWluIjogImJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgIm5hbWUiOiAiQmx1ZXRvb3RoIGJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NaWNoYWxXL2dub21lLWJsdWV0b290aC1iYXR0ZXJ5LWluZGljYXRvciIsCiAgInV1aWQiOiAiYmx1ZXRvb3RoLWJhdHRlcnlAbWljaGFsdy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDI3Cn0="}}}
 , {"uuid": "gnome-extension-all-ip-addresses@havekes.eu", "name": "All IP Addresses", "pname": "all-ip-addresses", "description": "Show IP addresses for LAN, WAN, IPv6 and VPN in the GNOME panel. Click on the address to cycle trough different interfaces.", "link": "https://extensions.gnome.org/extension/3994/all-ip-addresses/", "shell_version_map": {"38": {"version": "8", "sha256": "0yl2fxs1pl9i9yfgks1ypvzdpyzagjf5s51x0lxnw76ciwrrg47v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSVAgYWRkcmVzc2VzIGZvciBMQU4sIFdBTiwgSVB2NiBhbmQgVlBOIGluIHRoZSBHTk9NRSBwYW5lbC4gQ2xpY2sgb24gdGhlIGFkZHJlc3MgdG8gY3ljbGUgdHJvdWdoIGRpZmZlcmVudCBpbnRlcmZhY2VzLiIsCiAgIm5hbWUiOiAiQWxsIElQIEFkZHJlc3NlcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BoYXZla2VzL2dub21lLWV4dGVuc2lvbi1hbGwtaXAtYWRkcmVzc2VzIiwKICAidXVpZCI6ICJnbm9tZS1leHRlbnNpb24tYWxsLWlwLWFkZHJlc3Nlc0BoYXZla2VzLmV1IiwKICAidmVyc2lvbiI6IDgKfQ=="}, "40": {"version": "8", "sha256": "0yl2fxs1pl9i9yfgks1ypvzdpyzagjf5s51x0lxnw76ciwrrg47v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSVAgYWRkcmVzc2VzIGZvciBMQU4sIFdBTiwgSVB2NiBhbmQgVlBOIGluIHRoZSBHTk9NRSBwYW5lbC4gQ2xpY2sgb24gdGhlIGFkZHJlc3MgdG8gY3ljbGUgdHJvdWdoIGRpZmZlcmVudCBpbnRlcmZhY2VzLiIsCiAgIm5hbWUiOiAiQWxsIElQIEFkZHJlc3NlcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BoYXZla2VzL2dub21lLWV4dGVuc2lvbi1hbGwtaXAtYWRkcmVzc2VzIiwKICAidXVpZCI6ICJnbm9tZS1leHRlbnNpb24tYWxsLWlwLWFkZHJlc3Nlc0BoYXZla2VzLmV1IiwKICAidmVyc2lvbiI6IDgKfQ=="}, "41": {"version": "8", "sha256": "0yl2fxs1pl9i9yfgks1ypvzdpyzagjf5s51x0lxnw76ciwrrg47v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSVAgYWRkcmVzc2VzIGZvciBMQU4sIFdBTiwgSVB2NiBhbmQgVlBOIGluIHRoZSBHTk9NRSBwYW5lbC4gQ2xpY2sgb24gdGhlIGFkZHJlc3MgdG8gY3ljbGUgdHJvdWdoIGRpZmZlcmVudCBpbnRlcmZhY2VzLiIsCiAgIm5hbWUiOiAiQWxsIElQIEFkZHJlc3NlcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BoYXZla2VzL2dub21lLWV4dGVuc2lvbi1hbGwtaXAtYWRkcmVzc2VzIiwKICAidXVpZCI6ICJnbm9tZS1leHRlbnNpb24tYWxsLWlwLWFkZHJlc3Nlc0BoYXZla2VzLmV1IiwKICAidmVyc2lvbiI6IDgKfQ=="}, "42": {"version": "8", "sha256": "0yl2fxs1pl9i9yfgks1ypvzdpyzagjf5s51x0lxnw76ciwrrg47v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSVAgYWRkcmVzc2VzIGZvciBMQU4sIFdBTiwgSVB2NiBhbmQgVlBOIGluIHRoZSBHTk9NRSBwYW5lbC4gQ2xpY2sgb24gdGhlIGFkZHJlc3MgdG8gY3ljbGUgdHJvdWdoIGRpZmZlcmVudCBpbnRlcmZhY2VzLiIsCiAgIm5hbWUiOiAiQWxsIElQIEFkZHJlc3NlcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BoYXZla2VzL2dub21lLWV4dGVuc2lvbi1hbGwtaXAtYWRkcmVzc2VzIiwKICAidXVpZCI6ICJnbm9tZS1leHRlbnNpb24tYWxsLWlwLWFkZHJlc3Nlc0BoYXZla2VzLmV1IiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
 , {"uuid": "app-grid-tweaks@Selenium-H", "name": "App Grid Tweaks", "pname": "app-grid-tweaks", "description": "Customize the application grid view.\n\nSet the rows, columns and the app icon size for a particular configuration to work.\nIf the screen space is out numbered, reduce the icon size to fit all the rows and columns.\nOr reduce the number of rows and columns.\n\nPress the Refresh button on the left of header bar to apply changes", "link": "https://extensions.gnome.org/extension/3997/app-grid-tweaks/", "shell_version_map": {"38": {"version": "4", "sha256": "17hriwcwhkjp3n20q7bm7iylr8862ghvnagf2xk0ci2hxwwbyc92", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1lbnQiOiAiQ3VzdG9taXplIHRoZSBhcHBsaWNhdGlvbiBncmlkIHZpZXcuIiwKICAiZGVzY3JpcHRpb24iOiAiQ3VzdG9taXplIHRoZSBhcHBsaWNhdGlvbiBncmlkIHZpZXcuXG5cblNldCB0aGUgcm93cywgY29sdW1ucyBhbmQgdGhlIGFwcCBpY29uIHNpemUgZm9yIGEgcGFydGljdWxhciBjb25maWd1cmF0aW9uIHRvIHdvcmsuXG5JZiB0aGUgc2NyZWVuIHNwYWNlIGlzIG91dCBudW1iZXJlZCwgcmVkdWNlIHRoZSBpY29uIHNpemUgdG8gZml0IGFsbCB0aGUgcm93cyBhbmQgY29sdW1ucy5cbk9yIHJlZHVjZSB0aGUgbnVtYmVyIG9mIHJvd3MgYW5kIGNvbHVtbnMuXG5cblByZXNzIHRoZSBSZWZyZXNoIGJ1dHRvbiBvbiB0aGUgbGVmdCBvZiBoZWFkZXIgYmFyIHRvIGFwcGx5IGNoYW5nZXMiLAogICJuYW1lIjogIkFwcCBHcmlkIFR3ZWFrcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcHAtZ3JpZC10d2Vha3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJzdGF0dXMiOiAiIiwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TZWxlbml1bS1IL0FwcC1HcmlkLVR3ZWFrcyIsCiAgInV1aWQiOiAiYXBwLWdyaWQtdHdlYWtzQFNlbGVuaXVtLUgiLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "17hriwcwhkjp3n20q7bm7iylr8862ghvnagf2xk0ci2hxwwbyc92", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1lbnQiOiAiQ3VzdG9taXplIHRoZSBhcHBsaWNhdGlvbiBncmlkIHZpZXcuIiwKICAiZGVzY3JpcHRpb24iOiAiQ3VzdG9taXplIHRoZSBhcHBsaWNhdGlvbiBncmlkIHZpZXcuXG5cblNldCB0aGUgcm93cywgY29sdW1ucyBhbmQgdGhlIGFwcCBpY29uIHNpemUgZm9yIGEgcGFydGljdWxhciBjb25maWd1cmF0aW9uIHRvIHdvcmsuXG5JZiB0aGUgc2NyZWVuIHNwYWNlIGlzIG91dCBudW1iZXJlZCwgcmVkdWNlIHRoZSBpY29uIHNpemUgdG8gZml0IGFsbCB0aGUgcm93cyBhbmQgY29sdW1ucy5cbk9yIHJlZHVjZSB0aGUgbnVtYmVyIG9mIHJvd3MgYW5kIGNvbHVtbnMuXG5cblByZXNzIHRoZSBSZWZyZXNoIGJ1dHRvbiBvbiB0aGUgbGVmdCBvZiBoZWFkZXIgYmFyIHRvIGFwcGx5IGNoYW5nZXMiLAogICJuYW1lIjogIkFwcCBHcmlkIFR3ZWFrcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcHAtZ3JpZC10d2Vha3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJzdGF0dXMiOiAiIiwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TZWxlbml1bS1IL0FwcC1HcmlkLVR3ZWFrcyIsCiAgInV1aWQiOiAiYXBwLWdyaWQtdHdlYWtzQFNlbGVuaXVtLUgiLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "17hriwcwhkjp3n20q7bm7iylr8862ghvnagf2xk0ci2hxwwbyc92", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1lbnQiOiAiQ3VzdG9taXplIHRoZSBhcHBsaWNhdGlvbiBncmlkIHZpZXcuIiwKICAiZGVzY3JpcHRpb24iOiAiQ3VzdG9taXplIHRoZSBhcHBsaWNhdGlvbiBncmlkIHZpZXcuXG5cblNldCB0aGUgcm93cywgY29sdW1ucyBhbmQgdGhlIGFwcCBpY29uIHNpemUgZm9yIGEgcGFydGljdWxhciBjb25maWd1cmF0aW9uIHRvIHdvcmsuXG5JZiB0aGUgc2NyZWVuIHNwYWNlIGlzIG91dCBudW1iZXJlZCwgcmVkdWNlIHRoZSBpY29uIHNpemUgdG8gZml0IGFsbCB0aGUgcm93cyBhbmQgY29sdW1ucy5cbk9yIHJlZHVjZSB0aGUgbnVtYmVyIG9mIHJvd3MgYW5kIGNvbHVtbnMuXG5cblByZXNzIHRoZSBSZWZyZXNoIGJ1dHRvbiBvbiB0aGUgbGVmdCBvZiBoZWFkZXIgYmFyIHRvIGFwcGx5IGNoYW5nZXMiLAogICJuYW1lIjogIkFwcCBHcmlkIFR3ZWFrcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcHAtZ3JpZC10d2Vha3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJzdGF0dXMiOiAiIiwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TZWxlbml1bS1IL0FwcC1HcmlkLVR3ZWFrcyIsCiAgInV1aWQiOiAiYXBwLWdyaWQtdHdlYWtzQFNlbGVuaXVtLUgiLAogICJ2ZXJzaW9uIjogNAp9"}}}
@@ -452,10 +452,10 @@
 , {"uuid": "switchtwolayouts@qtmax.dev", "name": "Switch Two Layouts", "pname": "switch-two-layouts", "description": "This extension makes XKB shortcuts to switch keyboard layouts (such as Caps Lock, Ctrl+Shift, etc.) cycle between the two first layouts. The other ones still can be selected via the menu or using GNOME's shortcuts (Super+Space, Shift+Super+Space). It's useful when you have two primary layouts and more additional, which are used more rarely.", "link": "https://extensions.gnome.org/extension/4042/switch-two-layouts/", "shell_version_map": {"38": {"version": "4", "sha256": "0b38pcdxyx8znhw7bn4f1x07g672f8rm6k7hhrkdr3v676z3s93n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIG1ha2VzIFhLQiBzaG9ydGN1dHMgdG8gc3dpdGNoIGtleWJvYXJkIGxheW91dHMgKHN1Y2ggYXMgQ2FwcyBMb2NrLCBDdHJsK1NoaWZ0LCBldGMuKSBjeWNsZSBiZXR3ZWVuIHRoZSB0d28gZmlyc3QgbGF5b3V0cy4gVGhlIG90aGVyIG9uZXMgc3RpbGwgY2FuIGJlIHNlbGVjdGVkIHZpYSB0aGUgbWVudSBvciB1c2luZyBHTk9NRSdzIHNob3J0Y3V0cyAoU3VwZXIrU3BhY2UsIFNoaWZ0K1N1cGVyK1NwYWNlKS4gSXQncyB1c2VmdWwgd2hlbiB5b3UgaGF2ZSB0d28gcHJpbWFyeSBsYXlvdXRzIGFuZCBtb3JlIGFkZGl0aW9uYWwsIHdoaWNoIGFyZSB1c2VkIG1vcmUgcmFyZWx5LiIsCiAgIm5hbWUiOiAiU3dpdGNoIFR3byBMYXlvdXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInN3aXRjaHR3b2xheW91dHNAcXRtYXguZGV2IiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "0b38pcdxyx8znhw7bn4f1x07g672f8rm6k7hhrkdr3v676z3s93n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIG1ha2VzIFhLQiBzaG9ydGN1dHMgdG8gc3dpdGNoIGtleWJvYXJkIGxheW91dHMgKHN1Y2ggYXMgQ2FwcyBMb2NrLCBDdHJsK1NoaWZ0LCBldGMuKSBjeWNsZSBiZXR3ZWVuIHRoZSB0d28gZmlyc3QgbGF5b3V0cy4gVGhlIG90aGVyIG9uZXMgc3RpbGwgY2FuIGJlIHNlbGVjdGVkIHZpYSB0aGUgbWVudSBvciB1c2luZyBHTk9NRSdzIHNob3J0Y3V0cyAoU3VwZXIrU3BhY2UsIFNoaWZ0K1N1cGVyK1NwYWNlKS4gSXQncyB1c2VmdWwgd2hlbiB5b3UgaGF2ZSB0d28gcHJpbWFyeSBsYXlvdXRzIGFuZCBtb3JlIGFkZGl0aW9uYWwsIHdoaWNoIGFyZSB1c2VkIG1vcmUgcmFyZWx5LiIsCiAgIm5hbWUiOiAiU3dpdGNoIFR3byBMYXlvdXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInN3aXRjaHR3b2xheW91dHNAcXRtYXguZGV2IiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "0b38pcdxyx8znhw7bn4f1x07g672f8rm6k7hhrkdr3v676z3s93n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIG1ha2VzIFhLQiBzaG9ydGN1dHMgdG8gc3dpdGNoIGtleWJvYXJkIGxheW91dHMgKHN1Y2ggYXMgQ2FwcyBMb2NrLCBDdHJsK1NoaWZ0LCBldGMuKSBjeWNsZSBiZXR3ZWVuIHRoZSB0d28gZmlyc3QgbGF5b3V0cy4gVGhlIG90aGVyIG9uZXMgc3RpbGwgY2FuIGJlIHNlbGVjdGVkIHZpYSB0aGUgbWVudSBvciB1c2luZyBHTk9NRSdzIHNob3J0Y3V0cyAoU3VwZXIrU3BhY2UsIFNoaWZ0K1N1cGVyK1NwYWNlKS4gSXQncyB1c2VmdWwgd2hlbiB5b3UgaGF2ZSB0d28gcHJpbWFyeSBsYXlvdXRzIGFuZCBtb3JlIGFkZGl0aW9uYWwsIHdoaWNoIGFyZSB1c2VkIG1vcmUgcmFyZWx5LiIsCiAgIm5hbWUiOiAiU3dpdGNoIFR3byBMYXlvdXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInN3aXRjaHR3b2xheW91dHNAcXRtYXguZGV2IiwKICAidmVyc2lvbiI6IDQKfQ=="}, "42": {"version": "4", "sha256": "0b38pcdxyx8znhw7bn4f1x07g672f8rm6k7hhrkdr3v676z3s93n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIG1ha2VzIFhLQiBzaG9ydGN1dHMgdG8gc3dpdGNoIGtleWJvYXJkIGxheW91dHMgKHN1Y2ggYXMgQ2FwcyBMb2NrLCBDdHJsK1NoaWZ0LCBldGMuKSBjeWNsZSBiZXR3ZWVuIHRoZSB0d28gZmlyc3QgbGF5b3V0cy4gVGhlIG90aGVyIG9uZXMgc3RpbGwgY2FuIGJlIHNlbGVjdGVkIHZpYSB0aGUgbWVudSBvciB1c2luZyBHTk9NRSdzIHNob3J0Y3V0cyAoU3VwZXIrU3BhY2UsIFNoaWZ0K1N1cGVyK1NwYWNlKS4gSXQncyB1c2VmdWwgd2hlbiB5b3UgaGF2ZSB0d28gcHJpbWFyeSBsYXlvdXRzIGFuZCBtb3JlIGFkZGl0aW9uYWwsIHdoaWNoIGFyZSB1c2VkIG1vcmUgcmFyZWx5LiIsCiAgIm5hbWUiOiAiU3dpdGNoIFR3byBMYXlvdXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInN3aXRjaHR3b2xheW91dHNAcXRtYXguZGV2IiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "notification-dismiss@kronosoul.xyz", "name": "Dismiss Notifications on Right Click", "pname": "dismiss-notifications-on-right-click", "description": "Simple extension that removes notification popups when they are right clicked.", "link": "https://extensions.gnome.org/extension/4048/dismiss-notifications-on-right-click/", "shell_version_map": {"38": {"version": "1", "sha256": "19pdz3lg1ybmgvpahfwzzhwk8fyhm1sr3wawddz5z66i22spcgjj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImFwcGxpY2F0aW9uLWlkIjogIm9yZy5rcm9ub3NvdWwubm90aWZpY2F0aW9uLWRpc21pc3MiLAogICJkZXNjcmlwdGlvbiI6ICJTaW1wbGUgZXh0ZW5zaW9uIHRoYXQgcmVtb3ZlcyBub3RpZmljYXRpb24gcG9wdXBzIHdoZW4gdGhleSBhcmUgcmlnaHQgY2xpY2tlZC4iLAogICJleHRlbnNpb24taWQiOiAiZ2R0b29scyIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzZXRzIiwKICAibmFtZSI6ICJEaXNtaXNzIE5vdGlmaWNhdGlvbnMgb24gUmlnaHQgQ2xpY2siLAogICJvcmlnaW5hbC1hdXRob3IiOiAiYWRtaW5Aa3Jvbm9zb3VsLnh5eiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4wIiwKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmxpcGsvIiwKICAidXVpZCI6ICJub3RpZmljYXRpb24tZGlzbWlzc0Brcm9ub3NvdWwueHl6IiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
 , {"uuid": "disable-gestures-2021@verycrazydog.gmail.com", "name": "Disable Gestures 2021", "pname": "disable-gestures-2021", "description": "Disable all GNOME built-in gestures. Useful for kiosks and touch screen apps.", "link": "https://extensions.gnome.org/extension/4049/disable-gestures-2021/", "shell_version_map": {"38": {"version": "4", "sha256": "116icgf3g079f8pibcb9jb1jc3y97hjf6fcqq1yb1bcsrx4wp0w5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgYWxsIEdOT01FIGJ1aWx0LWluIGdlc3R1cmVzLiBVc2VmdWwgZm9yIGtpb3NrcyBhbmQgdG91Y2ggc2NyZWVuIGFwcHMuIiwKICAibmFtZSI6ICJEaXNhYmxlIEdlc3R1cmVzIDIwMjEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5Q3JhenlEb2cvZ25vbWUtZGlzYWJsZS1nZXN0dXJlcyIsCiAgInV1aWQiOiAiZGlzYWJsZS1nZXN0dXJlcy0yMDIxQHZlcnljcmF6eWRvZy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "116icgf3g079f8pibcb9jb1jc3y97hjf6fcqq1yb1bcsrx4wp0w5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgYWxsIEdOT01FIGJ1aWx0LWluIGdlc3R1cmVzLiBVc2VmdWwgZm9yIGtpb3NrcyBhbmQgdG91Y2ggc2NyZWVuIGFwcHMuIiwKICAibmFtZSI6ICJEaXNhYmxlIEdlc3R1cmVzIDIwMjEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5Q3JhenlEb2cvZ25vbWUtZGlzYWJsZS1nZXN0dXJlcyIsCiAgInV1aWQiOiAiZGlzYWJsZS1nZXN0dXJlcy0yMDIxQHZlcnljcmF6eWRvZy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "116icgf3g079f8pibcb9jb1jc3y97hjf6fcqq1yb1bcsrx4wp0w5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgYWxsIEdOT01FIGJ1aWx0LWluIGdlc3R1cmVzLiBVc2VmdWwgZm9yIGtpb3NrcyBhbmQgdG91Y2ggc2NyZWVuIGFwcHMuIiwKICAibmFtZSI6ICJEaXNhYmxlIEdlc3R1cmVzIDIwMjEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5Q3JhenlEb2cvZ25vbWUtZGlzYWJsZS1nZXN0dXJlcyIsCiAgInV1aWQiOiAiZGlzYWJsZS1nZXN0dXJlcy0yMDIxQHZlcnljcmF6eWRvZy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "42": {"version": "4", "sha256": "116icgf3g079f8pibcb9jb1jc3y97hjf6fcqq1yb1bcsrx4wp0w5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgYWxsIEdOT01FIGJ1aWx0LWluIGdlc3R1cmVzLiBVc2VmdWwgZm9yIGtpb3NrcyBhbmQgdG91Y2ggc2NyZWVuIGFwcHMuIiwKICAibmFtZSI6ICJEaXNhYmxlIEdlc3R1cmVzIDIwMjEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5Q3JhenlEb2cvZ25vbWUtZGlzYWJsZS1nZXN0dXJlcyIsCiAgInV1aWQiOiAiZGlzYWJsZS1nZXN0dXJlcy0yMDIxQHZlcnljcmF6eWRvZy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}}}
-, {"uuid": "pi-hole@fnxweb.com", "name": "pi-hole", "pname": "pi-hole", "description": "Status and basic controls of local Pi-Hole", "link": "https://extensions.gnome.org/extension/4051/pi-hole/", "shell_version_map": {"38": {"version": "1", "sha256": "0m19lv8zfhh8vqn0ln4a8g4g4hw9p6h98gb656vb0hblp5gsycfm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0YXR1cyBhbmQgYmFzaWMgY29udHJvbHMgb2YgbG9jYWwgUGktSG9sZSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1mbnh3ZWItcGktaG9sZSIsCiAgIm5hbWUiOiAicGktaG9sZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mbnh3ZWItcGktaG9sZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ZueHdlYi9nbm9tZS1zaGVsbC1waS1ob2xlIiwKICAidXVpZCI6ICJwaS1ob2xlQGZueHdlYi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}, "41": {"version": "4", "sha256": "05x8xz4pdb7a280akflyzdf8g7kmln6y4bw1mrz5vyjsmm3rhcyb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0YXR1cyBhbmQgYmFzaWMgY29udHJvbHMgb2YgbG9jYWwgUGktSG9sZSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1mbnh3ZWItcGktaG9sZSIsCiAgIm5hbWUiOiAicGktaG9sZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mbnh3ZWItcGktaG9sZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZm54d2ViL2dub21lLXNoZWxsLXBpLWhvbGUiLAogICJ1dWlkIjogInBpLWhvbGVAZm54d2ViLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "42": {"version": "4", "sha256": "05x8xz4pdb7a280akflyzdf8g7kmln6y4bw1mrz5vyjsmm3rhcyb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0YXR1cyBhbmQgYmFzaWMgY29udHJvbHMgb2YgbG9jYWwgUGktSG9sZSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1mbnh3ZWItcGktaG9sZSIsCiAgIm5hbWUiOiAicGktaG9sZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mbnh3ZWItcGktaG9sZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZm54d2ViL2dub21lLXNoZWxsLXBpLWhvbGUiLAogICJ1dWlkIjogInBpLWhvbGVAZm54d2ViLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
+, {"uuid": "pi-hole@fnxweb.com", "name": "pi-hole", "pname": "pi-hole", "description": "Status and basic controls of local Pi-Hole", "link": "https://extensions.gnome.org/extension/4051/pi-hole/", "shell_version_map": {"38": {"version": "1", "sha256": "0m19lv8zfhh8vqn0ln4a8g4g4hw9p6h98gb656vb0hblp5gsycfm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0YXR1cyBhbmQgYmFzaWMgY29udHJvbHMgb2YgbG9jYWwgUGktSG9sZSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1mbnh3ZWItcGktaG9sZSIsCiAgIm5hbWUiOiAicGktaG9sZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mbnh3ZWItcGktaG9sZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ZueHdlYi9nbm9tZS1zaGVsbC1waS1ob2xlIiwKICAidXVpZCI6ICJwaS1ob2xlQGZueHdlYi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}, "41": {"version": "5", "sha256": "1dqa2bpigmycq6nsr04p8n91aj8pmzw5vn0d2za112mizzmb7xpc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0YXR1cyBhbmQgYmFzaWMgY29udHJvbHMgb2YgbG9jYWwgUGktSG9sZSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1mbnh3ZWItcGktaG9sZSIsCiAgIm5hbWUiOiAicGktaG9sZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mbnh3ZWItcGktaG9sZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZm54d2ViL2dub21lLXNoZWxsLXBpLWhvbGUiLAogICJ1dWlkIjogInBpLWhvbGVAZm54d2ViLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}, "42": {"version": "5", "sha256": "1dqa2bpigmycq6nsr04p8n91aj8pmzw5vn0d2za112mizzmb7xpc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0YXR1cyBhbmQgYmFzaWMgY29udHJvbHMgb2YgbG9jYWwgUGktSG9sZSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1mbnh3ZWItcGktaG9sZSIsCiAgIm5hbWUiOiAicGktaG9sZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mbnh3ZWItcGktaG9sZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZm54d2ViL2dub21lLXNoZWxsLXBpLWhvbGUiLAogICJ1dWlkIjogInBpLWhvbGVAZm54d2ViLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"uuid": "miniCal3@mtharpe", "name": "Minimalist Calendar 3", "pname": "minimalist-calendar-3", "description": "Remove event list and clock/calendar app buttons from the calendar window. This is just an updated version of v2 by breiq", "link": "https://extensions.gnome.org/extension/4052/minimalist-calendar-3/", "shell_version_map": {"38": {"version": "3", "sha256": "1vmqx1w9aymwb2a09b07fj18kxpki6blvzbvfamvk84b6x2qcxkn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBldmVudCBsaXN0IGFuZCBjbG9jay9jYWxlbmRhciBhcHAgYnV0dG9ucyBmcm9tIHRoZSBjYWxlbmRhciB3aW5kb3cuIFRoaXMgaXMganVzdCBhbiB1cGRhdGVkIHZlcnNpb24gb2YgdjIgYnkgYnJlaXEiLAogICJuYW1lIjogIk1pbmltYWxpc3QgQ2FsZW5kYXIgMyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbXRoYXJwZS9nbm9tZS1taW5DYWwzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAibWluaUNhbDNAbXRoYXJwZSIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "1vmqx1w9aymwb2a09b07fj18kxpki6blvzbvfamvk84b6x2qcxkn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBldmVudCBsaXN0IGFuZCBjbG9jay9jYWxlbmRhciBhcHAgYnV0dG9ucyBmcm9tIHRoZSBjYWxlbmRhciB3aW5kb3cuIFRoaXMgaXMganVzdCBhbiB1cGRhdGVkIHZlcnNpb24gb2YgdjIgYnkgYnJlaXEiLAogICJuYW1lIjogIk1pbmltYWxpc3QgQ2FsZW5kYXIgMyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbXRoYXJwZS9nbm9tZS1taW5DYWwzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAibWluaUNhbDNAbXRoYXJwZSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "1vmqx1w9aymwb2a09b07fj18kxpki6blvzbvfamvk84b6x2qcxkn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBldmVudCBsaXN0IGFuZCBjbG9jay9jYWxlbmRhciBhcHAgYnV0dG9ucyBmcm9tIHRoZSBjYWxlbmRhciB3aW5kb3cuIFRoaXMgaXMganVzdCBhbiB1cGRhdGVkIHZlcnNpb24gb2YgdjIgYnkgYnJlaXEiLAogICJuYW1lIjogIk1pbmltYWxpc3QgQ2FsZW5kYXIgMyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbXRoYXJwZS9nbm9tZS1taW5DYWwzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAibWluaUNhbDNAbXRoYXJwZSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "spotify-artwork-fixer@wjt.me.uk", "name": "Spotify Artwork Fixer", "pname": "spotify-artwork-fixer", "description": "Fix Spotify artwork missing in media notification", "link": "https://extensions.gnome.org/extension/4055/spotify-artwork-fixer/", "shell_version_map": {"38": {"version": "6", "sha256": "0jvvz9p576x95l6592icnswcbs2nhm0i01wpb8a45xy6iwb07nfn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpeCBTcG90aWZ5IGFydHdvcmsgbWlzc2luZyBpbiBtZWRpYSBub3RpZmljYXRpb24iLAogICJuYW1lIjogIlNwb3RpZnkgQXJ0d29yayBGaXhlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3R1YXJ0aGF5aHVyc3QvZ25vbWUtc2hlbGwtc3BvdGlmeS1hcnR3b3JrLWZpeGVyIiwKICAidXVpZCI6ICJzcG90aWZ5LWFydHdvcmstZml4ZXJAd2p0Lm1lLnVrIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "6", "sha256": "0jvvz9p576x95l6592icnswcbs2nhm0i01wpb8a45xy6iwb07nfn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpeCBTcG90aWZ5IGFydHdvcmsgbWlzc2luZyBpbiBtZWRpYSBub3RpZmljYXRpb24iLAogICJuYW1lIjogIlNwb3RpZnkgQXJ0d29yayBGaXhlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3R1YXJ0aGF5aHVyc3QvZ25vbWUtc2hlbGwtc3BvdGlmeS1hcnR3b3JrLWZpeGVyIiwKICAidXVpZCI6ICJzcG90aWZ5LWFydHdvcmstZml4ZXJAd2p0Lm1lLnVrIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "41": {"version": "6", "sha256": "0jvvz9p576x95l6592icnswcbs2nhm0i01wpb8a45xy6iwb07nfn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpeCBTcG90aWZ5IGFydHdvcmsgbWlzc2luZyBpbiBtZWRpYSBub3RpZmljYXRpb24iLAogICJuYW1lIjogIlNwb3RpZnkgQXJ0d29yayBGaXhlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3R1YXJ0aGF5aHVyc3QvZ25vbWUtc2hlbGwtc3BvdGlmeS1hcnR3b3JrLWZpeGVyIiwKICAidXVpZCI6ICJzcG90aWZ5LWFydHdvcmstZml4ZXJAd2p0Lm1lLnVrIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
-, {"uuid": "custom-vpn-toggler@giteduberger.fr", "name": "Custom VPN Toggler (and indicator)", "pname": "custom-vpn-toggler", "description": "See the status of a VPN (with its icon) and toggle VPN.", "link": "https://extensions.gnome.org/extension/4061/custom-vpn-toggler/", "shell_version_map": {"38": {"version": "8", "sha256": "18600grli2q1m1pms46900wvzy15i4a5f8m9byz1cyizsri17zpl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlZSB0aGUgc3RhdHVzIG9mIGEgVlBOICh3aXRoIGl0cyBpY29uKSBhbmQgdG9nZ2xlIFZQTi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20tdnBuLXRvZ2dsZXJAZ2l0ZWR1YmVyZ2VyLmZyIiwKICAibmFtZSI6ICJDdXN0b20gVlBOIFRvZ2dsZXIgKGFuZCBpbmRpY2F0b3IpIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImZyLmdpdGVkdWJlcmdlci5jdXN0b20tdnBuLXRvZ2dsZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9YYXZpZXJCZXJnZXIvY3VzdG9tLXZwbi10b2dnbGVyIiwKICAidXVpZCI6ICJjdXN0b20tdnBuLXRvZ2dsZXJAZ2l0ZWR1YmVyZ2VyLmZyIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "40": {"version": "10", "sha256": "1spmrz280klkgiipnk69182cjfijdhc9hpmkzy7592iryyzi0m02", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlZSB0aGUgc3RhdHVzIG9mIGEgVlBOICh3aXRoIGl0cyBpY29uKSBhbmQgdG9nZ2xlIFZQTi4iLAogICJleHRlbnNpb24taWQiOiAiY3VzdG9tLXZwbi10b2dnbGVyLmdpdGVkdWJlcmdlci5mciIsCiAgImdldHRleHQtZG9tYWluIjogImN1c3RvbS12cG4tdG9nZ2xlciIsCiAgIm5hbWUiOiAiQ3VzdG9tIFZQTiBUb2dnbGVyIChhbmQgaW5kaWNhdG9yKSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jdXN0b20tdnBuLXRvZ2dsZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9YYXZpZXJCZXJnZXIvY3VzdG9tLXZwbi10b2dnbGVyIiwKICAidXVpZCI6ICJjdXN0b20tdnBuLXRvZ2dsZXJAZ2l0ZWR1YmVyZ2VyLmZyIiwKICAidmVyc2lvbiI6IDEwCn0="}, "41": {"version": "10", "sha256": "1spmrz280klkgiipnk69182cjfijdhc9hpmkzy7592iryyzi0m02", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlZSB0aGUgc3RhdHVzIG9mIGEgVlBOICh3aXRoIGl0cyBpY29uKSBhbmQgdG9nZ2xlIFZQTi4iLAogICJleHRlbnNpb24taWQiOiAiY3VzdG9tLXZwbi10b2dnbGVyLmdpdGVkdWJlcmdlci5mciIsCiAgImdldHRleHQtZG9tYWluIjogImN1c3RvbS12cG4tdG9nZ2xlciIsCiAgIm5hbWUiOiAiQ3VzdG9tIFZQTiBUb2dnbGVyIChhbmQgaW5kaWNhdG9yKSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jdXN0b20tdnBuLXRvZ2dsZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9YYXZpZXJCZXJnZXIvY3VzdG9tLXZwbi10b2dnbGVyIiwKICAidXVpZCI6ICJjdXN0b20tdnBuLXRvZ2dsZXJAZ2l0ZWR1YmVyZ2VyLmZyIiwKICAidmVyc2lvbiI6IDEwCn0="}, "42": {"version": "10", "sha256": "1spmrz280klkgiipnk69182cjfijdhc9hpmkzy7592iryyzi0m02", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlZSB0aGUgc3RhdHVzIG9mIGEgVlBOICh3aXRoIGl0cyBpY29uKSBhbmQgdG9nZ2xlIFZQTi4iLAogICJleHRlbnNpb24taWQiOiAiY3VzdG9tLXZwbi10b2dnbGVyLmdpdGVkdWJlcmdlci5mciIsCiAgImdldHRleHQtZG9tYWluIjogImN1c3RvbS12cG4tdG9nZ2xlciIsCiAgIm5hbWUiOiAiQ3VzdG9tIFZQTiBUb2dnbGVyIChhbmQgaW5kaWNhdG9yKSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jdXN0b20tdnBuLXRvZ2dsZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9YYXZpZXJCZXJnZXIvY3VzdG9tLXZwbi10b2dnbGVyIiwKICAidXVpZCI6ICJjdXN0b20tdnBuLXRvZ2dsZXJAZ2l0ZWR1YmVyZ2VyLmZyIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
+, {"uuid": "custom-vpn-toggler@giteduberger.fr", "name": "Custom VPN Toggler (and indicator)", "pname": "custom-vpn-toggler", "description": "See the status of a VPN (with its icon) and toggle VPN. \nCompatible with FortinetVPN, GlobalProtect, NetExtender, NordVpn, OpenVPN...", "link": "https://extensions.gnome.org/extension/4061/custom-vpn-toggler/", "shell_version_map": {"38": {"version": "8", "sha256": "01nmh9bmwp2w70d4icn61hxl548bspcy7k49ld5pqnpch3i0pa47", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlZSB0aGUgc3RhdHVzIG9mIGEgVlBOICh3aXRoIGl0cyBpY29uKSBhbmQgdG9nZ2xlIFZQTi4gXG5Db21wYXRpYmxlIHdpdGggRm9ydGluZXRWUE4sIEdsb2JhbFByb3RlY3QsIE5ldEV4dGVuZGVyLCBOb3JkVnBuLCBPcGVuVlBOLi4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiY3VzdG9tLXZwbi10b2dnbGVyQGdpdGVkdWJlcmdlci5mciIsCiAgIm5hbWUiOiAiQ3VzdG9tIFZQTiBUb2dnbGVyIChhbmQgaW5kaWNhdG9yKSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJmci5naXRlZHViZXJnZXIuY3VzdG9tLXZwbi10b2dnbGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vWGF2aWVyQmVyZ2VyL2N1c3RvbS12cG4tdG9nZ2xlciIsCiAgInV1aWQiOiAiY3VzdG9tLXZwbi10b2dnbGVyQGdpdGVkdWJlcmdlci5mciIsCiAgInZlcnNpb24iOiA4Cn0="}, "40": {"version": "10", "sha256": "1rawssdlj563nzp5i1w6is8q3v0699zaf12apn7h7jxsqr6qwajf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlZSB0aGUgc3RhdHVzIG9mIGEgVlBOICh3aXRoIGl0cyBpY29uKSBhbmQgdG9nZ2xlIFZQTi4gXG5Db21wYXRpYmxlIHdpdGggRm9ydGluZXRWUE4sIEdsb2JhbFByb3RlY3QsIE5ldEV4dGVuZGVyLCBOb3JkVnBuLCBPcGVuVlBOLi4uIiwKICAiZXh0ZW5zaW9uLWlkIjogImN1c3RvbS12cG4tdG9nZ2xlci5naXRlZHViZXJnZXIuZnIiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20tdnBuLXRvZ2dsZXIiLAogICJuYW1lIjogIkN1c3RvbSBWUE4gVG9nZ2xlciAoYW5kIGluZGljYXRvcikiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3VzdG9tLXZwbi10b2dnbGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vWGF2aWVyQmVyZ2VyL2N1c3RvbS12cG4tdG9nZ2xlciIsCiAgInV1aWQiOiAiY3VzdG9tLXZwbi10b2dnbGVyQGdpdGVkdWJlcmdlci5mciIsCiAgInZlcnNpb24iOiAxMAp9"}, "41": {"version": "10", "sha256": "1rawssdlj563nzp5i1w6is8q3v0699zaf12apn7h7jxsqr6qwajf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlZSB0aGUgc3RhdHVzIG9mIGEgVlBOICh3aXRoIGl0cyBpY29uKSBhbmQgdG9nZ2xlIFZQTi4gXG5Db21wYXRpYmxlIHdpdGggRm9ydGluZXRWUE4sIEdsb2JhbFByb3RlY3QsIE5ldEV4dGVuZGVyLCBOb3JkVnBuLCBPcGVuVlBOLi4uIiwKICAiZXh0ZW5zaW9uLWlkIjogImN1c3RvbS12cG4tdG9nZ2xlci5naXRlZHViZXJnZXIuZnIiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20tdnBuLXRvZ2dsZXIiLAogICJuYW1lIjogIkN1c3RvbSBWUE4gVG9nZ2xlciAoYW5kIGluZGljYXRvcikiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3VzdG9tLXZwbi10b2dnbGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vWGF2aWVyQmVyZ2VyL2N1c3RvbS12cG4tdG9nZ2xlciIsCiAgInV1aWQiOiAiY3VzdG9tLXZwbi10b2dnbGVyQGdpdGVkdWJlcmdlci5mciIsCiAgInZlcnNpb24iOiAxMAp9"}, "42": {"version": "10", "sha256": "1rawssdlj563nzp5i1w6is8q3v0699zaf12apn7h7jxsqr6qwajf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlZSB0aGUgc3RhdHVzIG9mIGEgVlBOICh3aXRoIGl0cyBpY29uKSBhbmQgdG9nZ2xlIFZQTi4gXG5Db21wYXRpYmxlIHdpdGggRm9ydGluZXRWUE4sIEdsb2JhbFByb3RlY3QsIE5ldEV4dGVuZGVyLCBOb3JkVnBuLCBPcGVuVlBOLi4uIiwKICAiZXh0ZW5zaW9uLWlkIjogImN1c3RvbS12cG4tdG9nZ2xlci5naXRlZHViZXJnZXIuZnIiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20tdnBuLXRvZ2dsZXIiLAogICJuYW1lIjogIkN1c3RvbSBWUE4gVG9nZ2xlciAoYW5kIGluZGljYXRvcikiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3VzdG9tLXZwbi10b2dnbGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vWGF2aWVyQmVyZ2VyL2N1c3RvbS12cG4tdG9nZ2xlciIsCiAgInV1aWQiOiAiY3VzdG9tLXZwbi10b2dnbGVyQGdpdGVkdWJlcmdlci5mciIsCiAgInZlcnNpb24iOiAxMAp9"}}}
 , {"uuid": "geary-tray-icon@taylantatli.github.com", "name": "Geary Tray Icon", "pname": "geary-tray-icon", "description": "Adds an icon to the panel to open mailbox and creating new mail.", "link": "https://extensions.gnome.org/extension/4073/geary-tray-icon/", "shell_version_map": {"38": {"version": "3", "sha256": "0nq7jf63yln8w4fivflwncdrdzagzky0ds9qzj43s1vhp046wbf8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gaWNvbiB0byB0aGUgcGFuZWwgdG8gb3BlbiBtYWlsYm94IGFuZCBjcmVhdGluZyBuZXcgbWFpbC4iLAogICJuYW1lIjogIkdlYXJ5IFRyYXkgSWNvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1RheWxhblRhdGxpL2dlYXJ5LXRyYXktaWNvbiIsCiAgInV1aWQiOiAiZ2VhcnktdHJheS1pY29uQHRheWxhbnRhdGxpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "0nq7jf63yln8w4fivflwncdrdzagzky0ds9qzj43s1vhp046wbf8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gaWNvbiB0byB0aGUgcGFuZWwgdG8gb3BlbiBtYWlsYm94IGFuZCBjcmVhdGluZyBuZXcgbWFpbC4iLAogICJuYW1lIjogIkdlYXJ5IFRyYXkgSWNvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1RheWxhblRhdGxpL2dlYXJ5LXRyYXktaWNvbiIsCiAgInV1aWQiOiAiZ2VhcnktdHJheS1pY29uQHRheWxhbnRhdGxpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "0nq7jf63yln8w4fivflwncdrdzagzky0ds9qzj43s1vhp046wbf8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gaWNvbiB0byB0aGUgcGFuZWwgdG8gb3BlbiBtYWlsYm94IGFuZCBjcmVhdGluZyBuZXcgbWFpbC4iLAogICJuYW1lIjogIkdlYXJ5IFRyYXkgSWNvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1RheWxhblRhdGxpL2dlYXJ5LXRyYXktaWNvbiIsCiAgInV1aWQiOiAiZ2VhcnktdHJheS1pY29uQHRheWxhbnRhdGxpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "42": {"version": "3", "sha256": "0nq7jf63yln8w4fivflwncdrdzagzky0ds9qzj43s1vhp046wbf8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gaWNvbiB0byB0aGUgcGFuZWwgdG8gb3BlbiBtYWlsYm94IGFuZCBjcmVhdGluZyBuZXcgbWFpbC4iLAogICJuYW1lIjogIkdlYXJ5IFRyYXkgSWNvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1RheWxhblRhdGxpL2dlYXJ5LXRyYXktaWNvbiIsCiAgInV1aWQiOiAiZ2VhcnktdHJheS1pY29uQHRheWxhbnRhdGxpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"uuid": "shell-restarter@koolskateguy89.github.io", "name": "Shell Restarter", "pname": "shell-restarter", "description": "Tired of pressing Alt+F2+R?\nWell you can restart GNOME Shell with just the press of a button! (May or may not work on Wayland)", "link": "https://extensions.gnome.org/extension/4075/shell-restarter/", "shell_version_map": {"38": {"version": "5", "sha256": "19v3sxbsrk0cskq7cikwz6w95m8q2v56hyrkwj595c8m8i0x6i1g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpcmVkIG9mIHByZXNzaW5nIEFsdCtGMitSP1xuV2VsbCB5b3UgY2FuIHJlc3RhcnQgR05PTUUgU2hlbGwgd2l0aCBqdXN0IHRoZSBwcmVzcyBvZiBhIGJ1dHRvbiEgKE1heSBvciBtYXkgbm90IHdvcmsgb24gV2F5bGFuZCkiLAogICJuYW1lIjogIlNoZWxsIFJlc3RhcnRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaGVsbC1yZXN0YXJ0ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va29vbHNrYXRlZ3V5ODkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNoZWxsLXJlc3RhcnRlciIsCiAgInV1aWQiOiAic2hlbGwtcmVzdGFydGVyQGtvb2xza2F0ZWd1eTg5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "5", "sha256": "19v3sxbsrk0cskq7cikwz6w95m8q2v56hyrkwj595c8m8i0x6i1g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpcmVkIG9mIHByZXNzaW5nIEFsdCtGMitSP1xuV2VsbCB5b3UgY2FuIHJlc3RhcnQgR05PTUUgU2hlbGwgd2l0aCBqdXN0IHRoZSBwcmVzcyBvZiBhIGJ1dHRvbiEgKE1heSBvciBtYXkgbm90IHdvcmsgb24gV2F5bGFuZCkiLAogICJuYW1lIjogIlNoZWxsIFJlc3RhcnRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaGVsbC1yZXN0YXJ0ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va29vbHNrYXRlZ3V5ODkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNoZWxsLXJlc3RhcnRlciIsCiAgInV1aWQiOiAic2hlbGwtcmVzdGFydGVyQGtvb2xza2F0ZWd1eTg5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"uuid": "iqair@wotmshuaisi_github", "name": "Iqair Gnome Extension", "pname": "iqair-gnome-extension", "description": "Gnome extension for tracking air quality in real-time. data provider: https://iqair.com/. to get an API token: https://www.iqair.com/us/dashboard/api", "link": "https://extensions.gnome.org/extension/4082/iqair-gnome-extension/", "shell_version_map": {"38": {"version": "6", "sha256": "150rn9gk6nzba30g38bjpgjyqr2a25cysg6fd6p1is92w8lknls4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIGV4dGVuc2lvbiBmb3IgdHJhY2tpbmcgYWlyIHF1YWxpdHkgaW4gcmVhbC10aW1lLiBkYXRhIHByb3ZpZGVyOiBodHRwczovL2lxYWlyLmNvbS8uIHRvIGdldCBhbiBBUEkgdG9rZW46IGh0dHBzOi8vd3d3LmlxYWlyLmNvbS91cy9kYXNoYm9hcmQvYXBpIiwKICAibmFtZSI6ICJJcWFpciBHbm9tZSBFeHRlbnNpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93b3Rtc2h1YWlzaS9pcWFpckdub21lRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJpcWFpckB3b3Rtc2h1YWlzaV9naXRodWIiLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "17", "sha256": "07fv1z9rk9xjdrqrvs9cglmq5dbcnf3dgjfz7dnflabcrb9yqisv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIGV4dGVuc2lvbiBmb3IgdHJhY2tpbmcgYWlyIHF1YWxpdHkgaW4gcmVhbC10aW1lLiBkYXRhIHByb3ZpZGVyOiBodHRwczovL2lxYWlyLmNvbS8uIHRvIGdldCBhbiBBUEkgdG9rZW46IGh0dHBzOi8vd3d3LmlxYWlyLmNvbS91cy9kYXNoYm9hcmQvYXBpIiwKICAibmFtZSI6ICJJcWFpciBHbm9tZSBFeHRlbnNpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93b3Rtc2h1YWlzaS9pcWFpckdub21lRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJpcWFpckB3b3Rtc2h1YWlzaV9naXRodWIiLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "41": {"version": "17", "sha256": "07fv1z9rk9xjdrqrvs9cglmq5dbcnf3dgjfz7dnflabcrb9yqisv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIGV4dGVuc2lvbiBmb3IgdHJhY2tpbmcgYWlyIHF1YWxpdHkgaW4gcmVhbC10aW1lLiBkYXRhIHByb3ZpZGVyOiBodHRwczovL2lxYWlyLmNvbS8uIHRvIGdldCBhbiBBUEkgdG9rZW46IGh0dHBzOi8vd3d3LmlxYWlyLmNvbS91cy9kYXNoYm9hcmQvYXBpIiwKICAibmFtZSI6ICJJcWFpciBHbm9tZSBFeHRlbnNpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93b3Rtc2h1YWlzaS9pcWFpckdub21lRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJpcWFpckB3b3Rtc2h1YWlzaV9naXRodWIiLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "42": {"version": "17", "sha256": "07fv1z9rk9xjdrqrvs9cglmq5dbcnf3dgjfz7dnflabcrb9yqisv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIGV4dGVuc2lvbiBmb3IgdHJhY2tpbmcgYWlyIHF1YWxpdHkgaW4gcmVhbC10aW1lLiBkYXRhIHByb3ZpZGVyOiBodHRwczovL2lxYWlyLmNvbS8uIHRvIGdldCBhbiBBUEkgdG9rZW46IGh0dHBzOi8vd3d3LmlxYWlyLmNvbS91cy9kYXNoYm9hcmQvYXBpIiwKICAibmFtZSI6ICJJcWFpciBHbm9tZSBFeHRlbnNpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93b3Rtc2h1YWlzaS9pcWFpckdub21lRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJpcWFpckB3b3Rtc2h1YWlzaV9naXRodWIiLAogICJ2ZXJzaW9uIjogMTcKfQ=="}}}
@@ -465,7 +465,7 @@
 , {"uuid": "right_click_for_apps@briansayre", "name": "Right Click for Apps", "pname": "right-click-for-apps", "description": "Allows you to right-click the Activities button to reveal the application menu.", "link": "https://extensions.gnome.org/extension/4090/right-click-for-apps/", "shell_version_map": {"38": {"version": "1", "sha256": "1rzx8ksl48badrwyqxwbgvfgf48z642mdwl57aq280ng61nrndaf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB5b3UgdG8gcmlnaHQtY2xpY2sgdGhlIEFjdGl2aXRpZXMgYnV0dG9uIHRvIHJldmVhbCB0aGUgYXBwbGljYXRpb24gbWVudS4iLAogICJuYW1lIjogIlJpZ2h0IENsaWNrIGZvciBBcHBzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYnJpYW5zYXlyZS9SaWdodC1DbGljay1Gb3ItQXBwcyIsCiAgInV1aWQiOiAicmlnaHRfY2xpY2tfZm9yX2FwcHNAYnJpYW5zYXlyZSIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "devbar@ludvigbostrom", "name": "DevBar", "pname": "devbar", "description": "This extension helps you keep track of your development workflow.", "link": "https://extensions.gnome.org/extension/4091/devbar/", "shell_version_map": {"38": {"version": "8", "sha256": "1yj7qpadlcgq1p85rk76gdffyp9mm2h6a7p5c43xqjqnjdpf561f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGhlbHBzIHlvdSBrZWVwIHRyYWNrIG9mIHlvdXIgZGV2ZWxvcG1lbnQgd29ya2Zsb3cuIiwKICAibmFtZSI6ICJEZXZCYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x1ZHZpZ2Jvc3Ryb20vRGV2QmFyR25vbWUiLAogICJ1dWlkIjogImRldmJhckBsdWR2aWdib3N0cm9tIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "40": {"version": "8", "sha256": "1yj7qpadlcgq1p85rk76gdffyp9mm2h6a7p5c43xqjqnjdpf561f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGhlbHBzIHlvdSBrZWVwIHRyYWNrIG9mIHlvdXIgZGV2ZWxvcG1lbnQgd29ya2Zsb3cuIiwKICAibmFtZSI6ICJEZXZCYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x1ZHZpZ2Jvc3Ryb20vRGV2QmFyR25vbWUiLAogICJ1dWlkIjogImRldmJhckBsdWR2aWdib3N0cm9tIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "41": {"version": "8", "sha256": "1yj7qpadlcgq1p85rk76gdffyp9mm2h6a7p5c43xqjqnjdpf561f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGhlbHBzIHlvdSBrZWVwIHRyYWNrIG9mIHlvdXIgZGV2ZWxvcG1lbnQgd29ya2Zsb3cuIiwKICAibmFtZSI6ICJEZXZCYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x1ZHZpZ2Jvc3Ryb20vRGV2QmFyR25vbWUiLAogICJ1dWlkIjogImRldmJhckBsdWR2aWdib3N0cm9tIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
 , {"uuid": "notifications_to_file@fawtytoo", "name": "Notifications Logger", "pname": "notifications-to-file", "description": "Notifications are appended to a file in $HOME/.notifications/ with one file created per day.\nEntries show the following information:\nTimestamp\nWhether the banner was shown\nThe urgency\nThe title\nBanner text", "link": "https://extensions.gnome.org/extension/4093/notifications-to-file/", "shell_version_map": {"38": {"version": "4", "sha256": "1pnb8qp5kq42dp4hxbsx4chlzd5xpg9fdnjfa11xf9n7x38sckdv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vdGlmaWNhdGlvbnMgYXJlIGFwcGVuZGVkIHRvIGEgZmlsZSBpbiAkSE9NRS8ubm90aWZpY2F0aW9ucy8gd2l0aCBvbmUgZmlsZSBjcmVhdGVkIHBlciBkYXkuXG5FbnRyaWVzIHNob3cgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbjpcblRpbWVzdGFtcFxuV2hldGhlciB0aGUgYmFubmVyIHdhcyBzaG93blxuVGhlIHVyZ2VuY3lcblRoZSB0aXRsZVxuQmFubmVyIHRleHQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbnMgTG9nZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbnNfdG9fZmlsZUBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiA0Cn0="}, "40": {"version": "4", "sha256": "1pnb8qp5kq42dp4hxbsx4chlzd5xpg9fdnjfa11xf9n7x38sckdv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vdGlmaWNhdGlvbnMgYXJlIGFwcGVuZGVkIHRvIGEgZmlsZSBpbiAkSE9NRS8ubm90aWZpY2F0aW9ucy8gd2l0aCBvbmUgZmlsZSBjcmVhdGVkIHBlciBkYXkuXG5FbnRyaWVzIHNob3cgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbjpcblRpbWVzdGFtcFxuV2hldGhlciB0aGUgYmFubmVyIHdhcyBzaG93blxuVGhlIHVyZ2VuY3lcblRoZSB0aXRsZVxuQmFubmVyIHRleHQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbnMgTG9nZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbnNfdG9fZmlsZUBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "1pnb8qp5kq42dp4hxbsx4chlzd5xpg9fdnjfa11xf9n7x38sckdv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vdGlmaWNhdGlvbnMgYXJlIGFwcGVuZGVkIHRvIGEgZmlsZSBpbiAkSE9NRS8ubm90aWZpY2F0aW9ucy8gd2l0aCBvbmUgZmlsZSBjcmVhdGVkIHBlciBkYXkuXG5FbnRyaWVzIHNob3cgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbjpcblRpbWVzdGFtcFxuV2hldGhlciB0aGUgYmFubmVyIHdhcyBzaG93blxuVGhlIHVyZ2VuY3lcblRoZSB0aXRsZVxuQmFubmVyIHRleHQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbnMgTG9nZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbnNfdG9fZmlsZUBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiA0Cn0="}, "42": {"version": "4", "sha256": "1pnb8qp5kq42dp4hxbsx4chlzd5xpg9fdnjfa11xf9n7x38sckdv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vdGlmaWNhdGlvbnMgYXJlIGFwcGVuZGVkIHRvIGEgZmlsZSBpbiAkSE9NRS8ubm90aWZpY2F0aW9ucy8gd2l0aCBvbmUgZmlsZSBjcmVhdGVkIHBlciBkYXkuXG5FbnRyaWVzIHNob3cgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbjpcblRpbWVzdGFtcFxuV2hldGhlciB0aGUgYmFubmVyIHdhcyBzaG93blxuVGhlIHVyZ2VuY3lcblRoZSB0aXRsZVxuQmFubmVyIHRleHQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbnMgTG9nZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbnNfdG9fZmlsZUBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiA0Cn0="}}}
-, {"uuid": "change_desktop_background_when_empty@fawtytoo", "name": "Change Desktop Background When Workspace Empty", "pname": "change-desktop-background-when-workspace-empty", "description": "Changes the desktop background when the workspace is or becomes empty, such as switching to an empty workspace, when all windows on a workspace are closed, or after login.\nNo folder needs to be set explicitly, as it will use the folder that the current background is in.", "link": "https://extensions.gnome.org/extension/4096/change-desktop-background-when-workspace-empty/", "shell_version_map": {"38": {"version": "14", "sha256": "1f01kppgipj2ga70cgzzgl7wjrngfrmia9xi1r5i5m76lybyb2ak", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgdGhlIGRlc2t0b3AgYmFja2dyb3VuZCB3aGVuIHRoZSB3b3Jrc3BhY2UgaXMgb3IgYmVjb21lcyBlbXB0eSwgc3VjaCBhcyBzd2l0Y2hpbmcgdG8gYW4gZW1wdHkgd29ya3NwYWNlLCB3aGVuIGFsbCB3aW5kb3dzIG9uIGEgd29ya3NwYWNlIGFyZSBjbG9zZWQsIG9yIGFmdGVyIGxvZ2luLlxuTm8gZm9sZGVyIG5lZWRzIHRvIGJlIHNldCBleHBsaWNpdGx5LCBhcyBpdCB3aWxsIHVzZSB0aGUgZm9sZGVyIHRoYXQgdGhlIGN1cnJlbnQgYmFja2dyb3VuZCBpcyBpbi4iLAogICJuYW1lIjogIkNoYW5nZSBEZXNrdG9wIEJhY2tncm91bmQgV2hlbiBXb3Jrc3BhY2UgRW1wdHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiY2hhbmdlX2Rlc2t0b3BfYmFja2dyb3VuZF93aGVuX2VtcHR5QGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDE0Cn0="}, "40": {"version": "14", "sha256": "1f01kppgipj2ga70cgzzgl7wjrngfrmia9xi1r5i5m76lybyb2ak", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgdGhlIGRlc2t0b3AgYmFja2dyb3VuZCB3aGVuIHRoZSB3b3Jrc3BhY2UgaXMgb3IgYmVjb21lcyBlbXB0eSwgc3VjaCBhcyBzd2l0Y2hpbmcgdG8gYW4gZW1wdHkgd29ya3NwYWNlLCB3aGVuIGFsbCB3aW5kb3dzIG9uIGEgd29ya3NwYWNlIGFyZSBjbG9zZWQsIG9yIGFmdGVyIGxvZ2luLlxuTm8gZm9sZGVyIG5lZWRzIHRvIGJlIHNldCBleHBsaWNpdGx5LCBhcyBpdCB3aWxsIHVzZSB0aGUgZm9sZGVyIHRoYXQgdGhlIGN1cnJlbnQgYmFja2dyb3VuZCBpcyBpbi4iLAogICJuYW1lIjogIkNoYW5nZSBEZXNrdG9wIEJhY2tncm91bmQgV2hlbiBXb3Jrc3BhY2UgRW1wdHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiY2hhbmdlX2Rlc2t0b3BfYmFja2dyb3VuZF93aGVuX2VtcHR5QGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDE0Cn0="}, "41": {"version": "14", "sha256": "1f01kppgipj2ga70cgzzgl7wjrngfrmia9xi1r5i5m76lybyb2ak", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgdGhlIGRlc2t0b3AgYmFja2dyb3VuZCB3aGVuIHRoZSB3b3Jrc3BhY2UgaXMgb3IgYmVjb21lcyBlbXB0eSwgc3VjaCBhcyBzd2l0Y2hpbmcgdG8gYW4gZW1wdHkgd29ya3NwYWNlLCB3aGVuIGFsbCB3aW5kb3dzIG9uIGEgd29ya3NwYWNlIGFyZSBjbG9zZWQsIG9yIGFmdGVyIGxvZ2luLlxuTm8gZm9sZGVyIG5lZWRzIHRvIGJlIHNldCBleHBsaWNpdGx5LCBhcyBpdCB3aWxsIHVzZSB0aGUgZm9sZGVyIHRoYXQgdGhlIGN1cnJlbnQgYmFja2dyb3VuZCBpcyBpbi4iLAogICJuYW1lIjogIkNoYW5nZSBEZXNrdG9wIEJhY2tncm91bmQgV2hlbiBXb3Jrc3BhY2UgRW1wdHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiY2hhbmdlX2Rlc2t0b3BfYmFja2dyb3VuZF93aGVuX2VtcHR5QGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDE0Cn0="}, "42": {"version": "14", "sha256": "1f01kppgipj2ga70cgzzgl7wjrngfrmia9xi1r5i5m76lybyb2ak", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgdGhlIGRlc2t0b3AgYmFja2dyb3VuZCB3aGVuIHRoZSB3b3Jrc3BhY2UgaXMgb3IgYmVjb21lcyBlbXB0eSwgc3VjaCBhcyBzd2l0Y2hpbmcgdG8gYW4gZW1wdHkgd29ya3NwYWNlLCB3aGVuIGFsbCB3aW5kb3dzIG9uIGEgd29ya3NwYWNlIGFyZSBjbG9zZWQsIG9yIGFmdGVyIGxvZ2luLlxuTm8gZm9sZGVyIG5lZWRzIHRvIGJlIHNldCBleHBsaWNpdGx5LCBhcyBpdCB3aWxsIHVzZSB0aGUgZm9sZGVyIHRoYXQgdGhlIGN1cnJlbnQgYmFja2dyb3VuZCBpcyBpbi4iLAogICJuYW1lIjogIkNoYW5nZSBEZXNrdG9wIEJhY2tncm91bmQgV2hlbiBXb3Jrc3BhY2UgRW1wdHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiY2hhbmdlX2Rlc2t0b3BfYmFja2dyb3VuZF93aGVuX2VtcHR5QGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDE0Cn0="}}}
+, {"uuid": "change_desktop_background_when_empty@fawtytoo", "name": "Change Desktop Background When Workspace Empty", "pname": "change-desktop-background-when-workspace-empty", "description": "Changes the desktop background when the workspace is or becomes empty, such as switching to an empty workspace, when all windows on a workspace are closed, or after login.\nNo folder needs to be set explicitly, as it will use the folder that the current background is in.", "link": "https://extensions.gnome.org/extension/4096/change-desktop-background-when-workspace-empty/", "shell_version_map": {"38": {"version": "16", "sha256": "05h6rkf04syr0cpyhhbcbx9w83rdq8xq8dgfkzwbzxfg0avqlcd9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgdGhlIGRlc2t0b3AgYmFja2dyb3VuZCB3aGVuIHRoZSB3b3Jrc3BhY2UgaXMgb3IgYmVjb21lcyBlbXB0eSwgc3VjaCBhcyBzd2l0Y2hpbmcgdG8gYW4gZW1wdHkgd29ya3NwYWNlLCB3aGVuIGFsbCB3aW5kb3dzIG9uIGEgd29ya3NwYWNlIGFyZSBjbG9zZWQsIG9yIGFmdGVyIGxvZ2luLlxuTm8gZm9sZGVyIG5lZWRzIHRvIGJlIHNldCBleHBsaWNpdGx5LCBhcyBpdCB3aWxsIHVzZSB0aGUgZm9sZGVyIHRoYXQgdGhlIGN1cnJlbnQgYmFja2dyb3VuZCBpcyBpbi4iLAogICJuYW1lIjogIkNoYW5nZSBEZXNrdG9wIEJhY2tncm91bmQgV2hlbiBXb3Jrc3BhY2UgRW1wdHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiY2hhbmdlX2Rlc2t0b3BfYmFja2dyb3VuZF93aGVuX2VtcHR5QGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "40": {"version": "16", "sha256": "05h6rkf04syr0cpyhhbcbx9w83rdq8xq8dgfkzwbzxfg0avqlcd9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgdGhlIGRlc2t0b3AgYmFja2dyb3VuZCB3aGVuIHRoZSB3b3Jrc3BhY2UgaXMgb3IgYmVjb21lcyBlbXB0eSwgc3VjaCBhcyBzd2l0Y2hpbmcgdG8gYW4gZW1wdHkgd29ya3NwYWNlLCB3aGVuIGFsbCB3aW5kb3dzIG9uIGEgd29ya3NwYWNlIGFyZSBjbG9zZWQsIG9yIGFmdGVyIGxvZ2luLlxuTm8gZm9sZGVyIG5lZWRzIHRvIGJlIHNldCBleHBsaWNpdGx5LCBhcyBpdCB3aWxsIHVzZSB0aGUgZm9sZGVyIHRoYXQgdGhlIGN1cnJlbnQgYmFja2dyb3VuZCBpcyBpbi4iLAogICJuYW1lIjogIkNoYW5nZSBEZXNrdG9wIEJhY2tncm91bmQgV2hlbiBXb3Jrc3BhY2UgRW1wdHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiY2hhbmdlX2Rlc2t0b3BfYmFja2dyb3VuZF93aGVuX2VtcHR5QGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "41": {"version": "16", "sha256": "05h6rkf04syr0cpyhhbcbx9w83rdq8xq8dgfkzwbzxfg0avqlcd9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgdGhlIGRlc2t0b3AgYmFja2dyb3VuZCB3aGVuIHRoZSB3b3Jrc3BhY2UgaXMgb3IgYmVjb21lcyBlbXB0eSwgc3VjaCBhcyBzd2l0Y2hpbmcgdG8gYW4gZW1wdHkgd29ya3NwYWNlLCB3aGVuIGFsbCB3aW5kb3dzIG9uIGEgd29ya3NwYWNlIGFyZSBjbG9zZWQsIG9yIGFmdGVyIGxvZ2luLlxuTm8gZm9sZGVyIG5lZWRzIHRvIGJlIHNldCBleHBsaWNpdGx5LCBhcyBpdCB3aWxsIHVzZSB0aGUgZm9sZGVyIHRoYXQgdGhlIGN1cnJlbnQgYmFja2dyb3VuZCBpcyBpbi4iLAogICJuYW1lIjogIkNoYW5nZSBEZXNrdG9wIEJhY2tncm91bmQgV2hlbiBXb3Jrc3BhY2UgRW1wdHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiY2hhbmdlX2Rlc2t0b3BfYmFja2dyb3VuZF93aGVuX2VtcHR5QGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "42": {"version": "16", "sha256": "05h6rkf04syr0cpyhhbcbx9w83rdq8xq8dgfkzwbzxfg0avqlcd9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgdGhlIGRlc2t0b3AgYmFja2dyb3VuZCB3aGVuIHRoZSB3b3Jrc3BhY2UgaXMgb3IgYmVjb21lcyBlbXB0eSwgc3VjaCBhcyBzd2l0Y2hpbmcgdG8gYW4gZW1wdHkgd29ya3NwYWNlLCB3aGVuIGFsbCB3aW5kb3dzIG9uIGEgd29ya3NwYWNlIGFyZSBjbG9zZWQsIG9yIGFmdGVyIGxvZ2luLlxuTm8gZm9sZGVyIG5lZWRzIHRvIGJlIHNldCBleHBsaWNpdGx5LCBhcyBpdCB3aWxsIHVzZSB0aGUgZm9sZGVyIHRoYXQgdGhlIGN1cnJlbnQgYmFja2dyb3VuZCBpcyBpbi4iLAogICJuYW1lIjogIkNoYW5nZSBEZXNrdG9wIEJhY2tncm91bmQgV2hlbiBXb3Jrc3BhY2UgRW1wdHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiY2hhbmdlX2Rlc2t0b3BfYmFja2dyb3VuZF93aGVuX2VtcHR5QGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDE2Cn0="}}}
 , {"uuid": "translate-clipboard@lsnow.github.io", "name": "Translate clipboard", "pname": "translate-clipboard", "description": "Translate clipboard text", "link": "https://extensions.gnome.org/extension/4097/translate-clipboard/", "shell_version_map": {"38": {"version": "1", "sha256": "071x3q6y7s8qx4i3lis79g5nc68ld8ln5q8qgc713nvjgfsg05hs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSBjbGlwYm9hcmQgdGV4dCIsCiAgIm5hbWUiOiAiVHJhbnNsYXRlIGNsaXBib2FyZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xzbm93L3RyYW5zbGF0ZS1jbGlwYm9hcmQiLAogICJ1dWlkIjogInRyYW5zbGF0ZS1jbGlwYm9hcmRAbHNub3cuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDEKfQ=="}, "40": {"version": "16", "sha256": "11r7r4azaf94f453ima2sms0ycaygh0l3k30dm5zpbkdp4pbczbh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSBjbGlwYm9hcmQgdGV4dCIsCiAgIm5hbWUiOiAiVHJhbnNsYXRlIGNsaXBib2FyZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDEuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xzbm93L3RyYW5zbGF0ZS1jbGlwYm9hcmQiLAogICJ1dWlkIjogInRyYW5zbGF0ZS1jbGlwYm9hcmRAbHNub3cuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "41": {"version": "16", "sha256": "11r7r4azaf94f453ima2sms0ycaygh0l3k30dm5zpbkdp4pbczbh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSBjbGlwYm9hcmQgdGV4dCIsCiAgIm5hbWUiOiAiVHJhbnNsYXRlIGNsaXBib2FyZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDEuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xzbm93L3RyYW5zbGF0ZS1jbGlwYm9hcmQiLAogICJ1dWlkIjogInRyYW5zbGF0ZS1jbGlwYm9hcmRAbHNub3cuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "42": {"version": "17", "sha256": "0rq6fc479x0hjkbam37pcnax909bssybz1ibnn7a0nx1ai9zkxr7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSBjbGlwYm9hcmQgdGV4dCIsCiAgIm5hbWUiOiAiVHJhbnNsYXRlIGNsaXBib2FyZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sc25vdy90cmFuc2xhdGUtY2xpcGJvYXJkIiwKICAidXVpZCI6ICJ0cmFuc2xhdGUtY2xpcGJvYXJkQGxzbm93LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxNwp9"}}}
 , {"uuid": "no-overview@fthx", "name": "No overview at start-up", "pname": "no-overview", "description": "No overview at start-up. For GNOME Shell 40+.", "link": "https://extensions.gnome.org/extension/4099/no-overview/", "shell_version_map": {"40": {"version": "11", "sha256": "15abz4w5n4md1b0f7c403hiyifslgw7dw2jlhzpn47r7k7giwpdk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vIG92ZXJ2aWV3IGF0IHN0YXJ0LXVwLiBGb3IgR05PTUUgU2hlbGwgNDArLiIsCiAgIm5hbWUiOiAiTm8gb3ZlcnZpZXcgYXQgc3RhcnQtdXAiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImZ0aHgiCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9uby1vdmVydmlldyIsCiAgInV1aWQiOiAibm8tb3ZlcnZpZXdAZnRoeCIsCiAgInZlcnNpb24iOiAxMQp9"}, "41": {"version": "11", "sha256": "15abz4w5n4md1b0f7c403hiyifslgw7dw2jlhzpn47r7k7giwpdk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vIG92ZXJ2aWV3IGF0IHN0YXJ0LXVwLiBGb3IgR05PTUUgU2hlbGwgNDArLiIsCiAgIm5hbWUiOiAiTm8gb3ZlcnZpZXcgYXQgc3RhcnQtdXAiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImZ0aHgiCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9uby1vdmVydmlldyIsCiAgInV1aWQiOiAibm8tb3ZlcnZpZXdAZnRoeCIsCiAgInZlcnNpb24iOiAxMQp9"}, "42": {"version": "11", "sha256": "15abz4w5n4md1b0f7c403hiyifslgw7dw2jlhzpn47r7k7giwpdk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vIG92ZXJ2aWV3IGF0IHN0YXJ0LXVwLiBGb3IgR05PTUUgU2hlbGwgNDArLiIsCiAgIm5hbWUiOiAiTm8gb3ZlcnZpZXcgYXQgc3RhcnQtdXAiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImZ0aHgiCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9uby1vdmVydmlldyIsCiAgInV1aWQiOiAibm8tb3ZlcnZpZXdAZnRoeCIsCiAgInZlcnNpb24iOiAxMQp9"}}}
 , {"uuid": "notification-position@drugo.dev", "name": "Notification Banner Position", "pname": "notification-banner-position", "description": "Changes position of the notification banner from the default to the right side of the screen.", "link": "https://extensions.gnome.org/extension/4105/notification-banner-position/", "shell_version_map": {"38": {"version": "6", "sha256": "0fknms2di01y348zal27s109z6m12hw9pnra3i2ajkci7nq5x7vl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgcG9zaXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBiYW5uZXIgZnJvbSB0aGUgZGVmYXVsdCB0byB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgc2NyZWVuLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEJhbm5lciBQb3NpdGlvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JydW5vZHJ1Z293aWNrL25vdGlmaWNhdGlvbi1wb3NpdGlvbi1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbi1wb3NpdGlvbkBkcnVnby5kZXYiLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "0fknms2di01y348zal27s109z6m12hw9pnra3i2ajkci7nq5x7vl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgcG9zaXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBiYW5uZXIgZnJvbSB0aGUgZGVmYXVsdCB0byB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgc2NyZWVuLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEJhbm5lciBQb3NpdGlvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JydW5vZHJ1Z293aWNrL25vdGlmaWNhdGlvbi1wb3NpdGlvbi1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbi1wb3NpdGlvbkBkcnVnby5kZXYiLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "0fknms2di01y348zal27s109z6m12hw9pnra3i2ajkci7nq5x7vl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgcG9zaXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBiYW5uZXIgZnJvbSB0aGUgZGVmYXVsdCB0byB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgc2NyZWVuLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEJhbm5lciBQb3NpdGlvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JydW5vZHJ1Z293aWNrL25vdGlmaWNhdGlvbi1wb3NpdGlvbi1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbi1wb3NpdGlvbkBkcnVnby5kZXYiLAogICJ2ZXJzaW9uIjogNgp9"}, "42": {"version": "6", "sha256": "0fknms2di01y348zal27s109z6m12hw9pnra3i2ajkci7nq5x7vl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgcG9zaXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBiYW5uZXIgZnJvbSB0aGUgZGVmYXVsdCB0byB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgc2NyZWVuLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEJhbm5lciBQb3NpdGlvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JydW5vZHJ1Z293aWNrL25vdGlmaWNhdGlvbi1wb3NpdGlvbi1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbi1wb3NpdGlvbkBkcnVnby5kZXYiLAogICJ2ZXJzaW9uIjogNgp9"}}}
@@ -486,8 +486,8 @@
 , {"uuid": "alwaysshowworkspacethumbnails@alynx.one", "name": "Always Show Workspace Thumbnails", "pname": "always-show-workspace-thumbnails", "description": "Always show workspace thumbnails even there is only one workspace.", "link": "https://extensions.gnome.org/extension/4156/always-show-workspace-thumbnails/", "shell_version_map": {"40": {"version": "4", "sha256": "0yxg7dmlkm4islaz1y3as5p04b80r192vc3n4zx0ga1nnp80w8p9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBzaG93IHdvcmtzcGFjZSB0aHVtYm5haWxzIGV2ZW4gdGhlcmUgaXMgb25seSBvbmUgd29ya3NwYWNlLiIsCiAgIm5hbWUiOiAiQWx3YXlzIFNob3cgV29ya3NwYWNlIFRodW1ibmFpbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BbHlueFpob3UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFsd2F5cy1zaG93LXdvcmtzcGFjZS10aHVtYm5haWxzLyIsCiAgInV1aWQiOiAiYWx3YXlzc2hvd3dvcmtzcGFjZXRodW1ibmFpbHNAYWx5bngub25lIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "0yxg7dmlkm4islaz1y3as5p04b80r192vc3n4zx0ga1nnp80w8p9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBzaG93IHdvcmtzcGFjZSB0aHVtYm5haWxzIGV2ZW4gdGhlcmUgaXMgb25seSBvbmUgd29ya3NwYWNlLiIsCiAgIm5hbWUiOiAiQWx3YXlzIFNob3cgV29ya3NwYWNlIFRodW1ibmFpbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BbHlueFpob3UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFsd2F5cy1zaG93LXdvcmtzcGFjZS10aHVtYm5haWxzLyIsCiAgInV1aWQiOiAiYWx3YXlzc2hvd3dvcmtzcGFjZXRodW1ibmFpbHNAYWx5bngub25lIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "42": {"version": "4", "sha256": "0yxg7dmlkm4islaz1y3as5p04b80r192vc3n4zx0ga1nnp80w8p9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBzaG93IHdvcmtzcGFjZSB0aHVtYm5haWxzIGV2ZW4gdGhlcmUgaXMgb25seSBvbmUgd29ya3NwYWNlLiIsCiAgIm5hbWUiOiAiQWx3YXlzIFNob3cgV29ya3NwYWNlIFRodW1ibmFpbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BbHlueFpob3UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFsd2F5cy1zaG93LXdvcmtzcGFjZS10aHVtYm5haWxzLyIsCiAgInV1aWQiOiAiYWx3YXlzc2hvd3dvcmtzcGFjZXRodW1ibmFpbHNAYWx5bngub25lIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "gnome-ui-tune@itstime.tech", "name": "Gnome 4x UI Improvements", "pname": "gnome-40-ui-improvements", "description": "Tunes gnome 40/41/42's Overview UI to make it more usable.\n\nChanges:\n- Search textbox is hidden by default and shown only when user begins to type-to-search\n- Scale of workspaces' thumbnails increased 2x\n- Restores wallpaper on workspaces' thumbnails. No more gray background\n- Show workspaces' thumbnails even when there is only one workspace\n- Firefox's PIP (picture in picture) window is now displayed on the overview screen\n\nAll modifications can be disabled in the extension's settings.\n\nATTENTION!\nAfter extension update, gnome-shell restart is required:\nX11: Alt+F2 => r\nWayland: logout => login", "link": "https://extensions.gnome.org/extension/4158/gnome-40-ui-improvements/", "shell_version_map": {"40": {"version": "13", "sha256": "1ypf74vlisn6rvjq243m6839hglgahzb4zd21hg1d1cldzw34i3i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR1bmVzIGdub21lIDQwLzQxLzQyJ3MgT3ZlcnZpZXcgVUkgdG8gbWFrZSBpdCBtb3JlIHVzYWJsZS5cblxuQ2hhbmdlczpcbi0gU2VhcmNoIHRleHRib3ggaXMgaGlkZGVuIGJ5IGRlZmF1bHQgYW5kIHNob3duIG9ubHkgd2hlbiB1c2VyIGJlZ2lucyB0byB0eXBlLXRvLXNlYXJjaFxuLSBTY2FsZSBvZiB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGluY3JlYXNlZCAyeFxuLSBSZXN0b3JlcyB3YWxscGFwZXIgb24gd29ya3NwYWNlcycgdGh1bWJuYWlscy4gTm8gbW9yZSBncmF5IGJhY2tncm91bmRcbi0gU2hvdyB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGV2ZW4gd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSB3b3Jrc3BhY2Vcbi0gRmlyZWZveCdzIFBJUCAocGljdHVyZSBpbiBwaWN0dXJlKSB3aW5kb3cgaXMgbm93IGRpc3BsYXllZCBvbiB0aGUgb3ZlcnZpZXcgc2NyZWVuXG5cbkFsbCBtb2RpZmljYXRpb25zIGNhbiBiZSBkaXNhYmxlZCBpbiB0aGUgZXh0ZW5zaW9uJ3Mgc2V0dGluZ3MuXG5cbkFUVEVOVElPTiFcbkFmdGVyIGV4dGVuc2lvbiB1cGRhdGUsIGdub21lLXNoZWxsIHJlc3RhcnQgaXMgcmVxdWlyZWQ6XG5YMTE6IEFsdCtGMiA9PiByXG5XYXlsYW5kOiBsb2dvdXQgPT4gbG9naW4iLAogICJuYW1lIjogIkdub21lIDR4IFVJIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS11aS10dW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXh4YXB5L2dub21lLXVpLXR1bmUiLAogICJ1dWlkIjogImdub21lLXVpLXR1bmVAaXRzdGltZS50ZWNoIiwKICAidmVyc2lvbiI6IDEzCn0="}, "41": {"version": "13", "sha256": "1ypf74vlisn6rvjq243m6839hglgahzb4zd21hg1d1cldzw34i3i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR1bmVzIGdub21lIDQwLzQxLzQyJ3MgT3ZlcnZpZXcgVUkgdG8gbWFrZSBpdCBtb3JlIHVzYWJsZS5cblxuQ2hhbmdlczpcbi0gU2VhcmNoIHRleHRib3ggaXMgaGlkZGVuIGJ5IGRlZmF1bHQgYW5kIHNob3duIG9ubHkgd2hlbiB1c2VyIGJlZ2lucyB0byB0eXBlLXRvLXNlYXJjaFxuLSBTY2FsZSBvZiB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGluY3JlYXNlZCAyeFxuLSBSZXN0b3JlcyB3YWxscGFwZXIgb24gd29ya3NwYWNlcycgdGh1bWJuYWlscy4gTm8gbW9yZSBncmF5IGJhY2tncm91bmRcbi0gU2hvdyB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGV2ZW4gd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSB3b3Jrc3BhY2Vcbi0gRmlyZWZveCdzIFBJUCAocGljdHVyZSBpbiBwaWN0dXJlKSB3aW5kb3cgaXMgbm93IGRpc3BsYXllZCBvbiB0aGUgb3ZlcnZpZXcgc2NyZWVuXG5cbkFsbCBtb2RpZmljYXRpb25zIGNhbiBiZSBkaXNhYmxlZCBpbiB0aGUgZXh0ZW5zaW9uJ3Mgc2V0dGluZ3MuXG5cbkFUVEVOVElPTiFcbkFmdGVyIGV4dGVuc2lvbiB1cGRhdGUsIGdub21lLXNoZWxsIHJlc3RhcnQgaXMgcmVxdWlyZWQ6XG5YMTE6IEFsdCtGMiA9PiByXG5XYXlsYW5kOiBsb2dvdXQgPT4gbG9naW4iLAogICJuYW1lIjogIkdub21lIDR4IFVJIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS11aS10dW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXh4YXB5L2dub21lLXVpLXR1bmUiLAogICJ1dWlkIjogImdub21lLXVpLXR1bmVAaXRzdGltZS50ZWNoIiwKICAidmVyc2lvbiI6IDEzCn0="}, "42": {"version": "13", "sha256": "1ypf74vlisn6rvjq243m6839hglgahzb4zd21hg1d1cldzw34i3i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR1bmVzIGdub21lIDQwLzQxLzQyJ3MgT3ZlcnZpZXcgVUkgdG8gbWFrZSBpdCBtb3JlIHVzYWJsZS5cblxuQ2hhbmdlczpcbi0gU2VhcmNoIHRleHRib3ggaXMgaGlkZGVuIGJ5IGRlZmF1bHQgYW5kIHNob3duIG9ubHkgd2hlbiB1c2VyIGJlZ2lucyB0byB0eXBlLXRvLXNlYXJjaFxuLSBTY2FsZSBvZiB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGluY3JlYXNlZCAyeFxuLSBSZXN0b3JlcyB3YWxscGFwZXIgb24gd29ya3NwYWNlcycgdGh1bWJuYWlscy4gTm8gbW9yZSBncmF5IGJhY2tncm91bmRcbi0gU2hvdyB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGV2ZW4gd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSB3b3Jrc3BhY2Vcbi0gRmlyZWZveCdzIFBJUCAocGljdHVyZSBpbiBwaWN0dXJlKSB3aW5kb3cgaXMgbm93IGRpc3BsYXllZCBvbiB0aGUgb3ZlcnZpZXcgc2NyZWVuXG5cbkFsbCBtb2RpZmljYXRpb25zIGNhbiBiZSBkaXNhYmxlZCBpbiB0aGUgZXh0ZW5zaW9uJ3Mgc2V0dGluZ3MuXG5cbkFUVEVOVElPTiFcbkFmdGVyIGV4dGVuc2lvbiB1cGRhdGUsIGdub21lLXNoZWxsIHJlc3RhcnQgaXMgcmVxdWlyZWQ6XG5YMTE6IEFsdCtGMiA9PiByXG5XYXlsYW5kOiBsb2dvdXQgPT4gbG9naW4iLAogICJuYW1lIjogIkdub21lIDR4IFVJIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS11aS10dW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXh4YXB5L2dub21lLXVpLXR1bmUiLAogICJ1dWlkIjogImdub21lLXVpLXR1bmVAaXRzdGltZS50ZWNoIiwKICAidmVyc2lvbiI6IDEzCn0="}}}
 , {"uuid": "monitor-window-switcher@thefungusrocket.com", "name": "Monitor window switcher", "pname": "monitor-window-switcher", "description": "Improves the window switcher on dual (or more) monitor setups", "link": "https://extensions.gnome.org/extension/4164/monitor-window-switcher/", "shell_version_map": {"38": {"version": "6", "sha256": "0pazjbi0aikpnvnfxyamqy70xi1xclydyxdkf908c6ybwnc5956z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmVzIHRoZSB3aW5kb3cgc3dpdGNoZXIgb24gZHVhbCAob3IgbW9yZSkgbW9uaXRvciBzZXR1cHMiLAogICJuYW1lIjogIk1vbml0b3Igd2luZG93IHN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nZWR6ZXBwZWxpbi9tb25pdG9yLXdpbmRvdy1zd2l0Y2hlciIsCiAgInV1aWQiOiAibW9uaXRvci13aW5kb3ctc3dpdGNoZXJAdGhlZnVuZ3Vzcm9ja2V0LmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}, "40": {"version": "6", "sha256": "0pazjbi0aikpnvnfxyamqy70xi1xclydyxdkf908c6ybwnc5956z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmVzIHRoZSB3aW5kb3cgc3dpdGNoZXIgb24gZHVhbCAob3IgbW9yZSkgbW9uaXRvciBzZXR1cHMiLAogICJuYW1lIjogIk1vbml0b3Igd2luZG93IHN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nZWR6ZXBwZWxpbi9tb25pdG9yLXdpbmRvdy1zd2l0Y2hlciIsCiAgInV1aWQiOiAibW9uaXRvci13aW5kb3ctc3dpdGNoZXJAdGhlZnVuZ3Vzcm9ja2V0LmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}, "41": {"version": "6", "sha256": "0pazjbi0aikpnvnfxyamqy70xi1xclydyxdkf908c6ybwnc5956z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmVzIHRoZSB3aW5kb3cgc3dpdGNoZXIgb24gZHVhbCAob3IgbW9yZSkgbW9uaXRvciBzZXR1cHMiLAogICJuYW1lIjogIk1vbml0b3Igd2luZG93IHN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nZWR6ZXBwZWxpbi9tb25pdG9yLXdpbmRvdy1zd2l0Y2hlciIsCiAgInV1aWQiOiAibW9uaXRvci13aW5kb3ctc3dpdGNoZXJAdGhlZnVuZ3Vzcm9ja2V0LmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}}}
-, {"uuid": "custom-hot-corners-extended@G-dH.github.com", "name": "Custom Hot Corners - Extended", "pname": "custom-hot-corners-extended", "description": "Give a function to any corner or edge of your monitors and expand your keyboard capabilities.\nMouse pointer pressure, clicks and scrolls over the corners/edges or custom keyboard shortcuts can trigger any of dozens of built-in actions that helps you navigate and control your desktop environment, or your own shell commands.\n\nSignificant part of available actions are visual adjustments (contrast, brightness, opacity) and color filters (red, green, desaturate, lightness and color inversions) , including correction filters for colorblind users and cb simulation filters for developers.\n\nRestart your Gnome Shell after each update of the extension to load new code, and reload this site to get rid of the error message, before you post a bug report.\n\nPlease report bugs/issues on GitHub page linked below as Extension Homepage.\nDo NOT use bug report form on this page, I will NOT respond to it.\n\nkeywords: overview, app grid, command, brightness, contrast, transparent, opacity, color effect, invert lightness, color tint, color blind filter, simulation, desaturate, night lights, dark theme, volume, mute, magnifier, zoom, screen keyboard, reader, large text, force close, kill -9, show desktop, reorder workspace, window thumbnail / preview, looking glass, custom menu, window, workspace, switcher, hide panel", "link": "https://extensions.gnome.org/extension/4167/custom-hot-corners-extended/", "shell_version_map": {"38": {"version": "20", "sha256": "190mqgvdsl60i8lc71n8aiyc5910wzd368d34bqmm132k6pp2vsc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycyBhbmQgZXhwYW5kIHlvdXIga2V5Ym9hcmQgY2FwYWJpbGl0aWVzLlxuTW91c2UgcG9pbnRlciBwcmVzc3VyZSwgY2xpY2tzIGFuZCBzY3JvbGxzIG92ZXIgdGhlIGNvcm5lcnMvZWRnZXMgb3IgY3VzdG9tIGtleWJvYXJkIHNob3J0Y3V0cyBjYW4gdHJpZ2dlciBhbnkgb2YgZG96ZW5zIG9mIGJ1aWx0LWluIGFjdGlvbnMgdGhhdCBoZWxwcyB5b3UgbmF2aWdhdGUgYW5kIGNvbnRyb2wgeW91ciBkZXNrdG9wIGVudmlyb25tZW50LCBvciB5b3VyIG93biBzaGVsbCBjb21tYW5kcy5cblxuU2lnbmlmaWNhbnQgcGFydCBvZiBhdmFpbGFibGUgYWN0aW9ucyBhcmUgdmlzdWFsIGFkanVzdG1lbnRzIChjb250cmFzdCwgYnJpZ2h0bmVzcywgb3BhY2l0eSkgYW5kIGNvbG9yIGZpbHRlcnMgKHJlZCwgZ3JlZW4sIGRlc2F0dXJhdGUsIGxpZ2h0bmVzcyBhbmQgY29sb3IgaW52ZXJzaW9ucykgLCBpbmNsdWRpbmcgY29ycmVjdGlvbiBmaWx0ZXJzIGZvciBjb2xvcmJsaW5kIHVzZXJzIGFuZCBjYiBzaW11bGF0aW9uIGZpbHRlcnMgZm9yIGRldmVsb3BlcnMuXG5cblJlc3RhcnQgeW91ciBHbm9tZSBTaGVsbCBhZnRlciBlYWNoIHVwZGF0ZSBvZiB0aGUgZXh0ZW5zaW9uIHRvIGxvYWQgbmV3IGNvZGUsIGFuZCByZWxvYWQgdGhpcyBzaXRlIHRvIGdldCByaWQgb2YgdGhlIGVycm9yIG1lc3NhZ2UsIGJlZm9yZSB5b3UgcG9zdCBhIGJ1ZyByZXBvcnQuXG5cblBsZWFzZSByZXBvcnQgYnVncy9pc3N1ZXMgb24gR2l0SHViIHBhZ2UgbGlua2VkIGJlbG93IGFzIEV4dGVuc2lvbiBIb21lcGFnZS5cbkRvIE5PVCB1c2UgYnVnIHJlcG9ydCBmb3JtIG9uIHRoaXMgcGFnZSwgSSB3aWxsIE5PVCByZXNwb25kIHRvIGl0LlxuXG5rZXl3b3Jkczogb3ZlcnZpZXcsIGFwcCBncmlkLCBjb21tYW5kLCBicmlnaHRuZXNzLCBjb250cmFzdCwgdHJhbnNwYXJlbnQsIG9wYWNpdHksIGNvbG9yIGVmZmVjdCwgaW52ZXJ0IGxpZ2h0bmVzcywgY29sb3IgdGludCwgY29sb3IgYmxpbmQgZmlsdGVyLCBzaW11bGF0aW9uLCBkZXNhdHVyYXRlLCBuaWdodCBsaWdodHMsIGRhcmsgdGhlbWUsIHZvbHVtZSwgbXV0ZSwgbWFnbmlmaWVyLCB6b29tLCBzY3JlZW4ga2V5Ym9hcmQsIHJlYWRlciwgbGFyZ2UgdGV4dCwgZm9yY2UgY2xvc2UsIGtpbGwgLTksIHNob3cgZGVza3RvcCwgcmVvcmRlciB3b3Jrc3BhY2UsIHdpbmRvdyB0aHVtYm5haWwgLyBwcmV2aWV3LCBsb29raW5nIGdsYXNzLCBjdXN0b20gbWVudSwgd2luZG93LCB3b3Jrc3BhY2UsIHN3aXRjaGVyLCBoaWRlIHBhbmVsIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiY3VzdG9tLWhvdC1jb3JuZXJzLWV4dGVuZGVkIiwKICAibmFtZSI6ICJDdXN0b20gSG90IENvcm5lcnMgLSBFeHRlbmRlZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HLWRIL2N1c3RvbS1ob3QtY29ybmVycy90cmVlL2dkaCIsCiAgInV1aWQiOiAiY3VzdG9tLWhvdC1jb3JuZXJzLWV4dGVuZGVkQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyMAp9"}, "40": {"version": "20", "sha256": "190mqgvdsl60i8lc71n8aiyc5910wzd368d34bqmm132k6pp2vsc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycyBhbmQgZXhwYW5kIHlvdXIga2V5Ym9hcmQgY2FwYWJpbGl0aWVzLlxuTW91c2UgcG9pbnRlciBwcmVzc3VyZSwgY2xpY2tzIGFuZCBzY3JvbGxzIG92ZXIgdGhlIGNvcm5lcnMvZWRnZXMgb3IgY3VzdG9tIGtleWJvYXJkIHNob3J0Y3V0cyBjYW4gdHJpZ2dlciBhbnkgb2YgZG96ZW5zIG9mIGJ1aWx0LWluIGFjdGlvbnMgdGhhdCBoZWxwcyB5b3UgbmF2aWdhdGUgYW5kIGNvbnRyb2wgeW91ciBkZXNrdG9wIGVudmlyb25tZW50LCBvciB5b3VyIG93biBzaGVsbCBjb21tYW5kcy5cblxuU2lnbmlmaWNhbnQgcGFydCBvZiBhdmFpbGFibGUgYWN0aW9ucyBhcmUgdmlzdWFsIGFkanVzdG1lbnRzIChjb250cmFzdCwgYnJpZ2h0bmVzcywgb3BhY2l0eSkgYW5kIGNvbG9yIGZpbHRlcnMgKHJlZCwgZ3JlZW4sIGRlc2F0dXJhdGUsIGxpZ2h0bmVzcyBhbmQgY29sb3IgaW52ZXJzaW9ucykgLCBpbmNsdWRpbmcgY29ycmVjdGlvbiBmaWx0ZXJzIGZvciBjb2xvcmJsaW5kIHVzZXJzIGFuZCBjYiBzaW11bGF0aW9uIGZpbHRlcnMgZm9yIGRldmVsb3BlcnMuXG5cblJlc3RhcnQgeW91ciBHbm9tZSBTaGVsbCBhZnRlciBlYWNoIHVwZGF0ZSBvZiB0aGUgZXh0ZW5zaW9uIHRvIGxvYWQgbmV3IGNvZGUsIGFuZCByZWxvYWQgdGhpcyBzaXRlIHRvIGdldCByaWQgb2YgdGhlIGVycm9yIG1lc3NhZ2UsIGJlZm9yZSB5b3UgcG9zdCBhIGJ1ZyByZXBvcnQuXG5cblBsZWFzZSByZXBvcnQgYnVncy9pc3N1ZXMgb24gR2l0SHViIHBhZ2UgbGlua2VkIGJlbG93IGFzIEV4dGVuc2lvbiBIb21lcGFnZS5cbkRvIE5PVCB1c2UgYnVnIHJlcG9ydCBmb3JtIG9uIHRoaXMgcGFnZSwgSSB3aWxsIE5PVCByZXNwb25kIHRvIGl0LlxuXG5rZXl3b3Jkczogb3ZlcnZpZXcsIGFwcCBncmlkLCBjb21tYW5kLCBicmlnaHRuZXNzLCBjb250cmFzdCwgdHJhbnNwYXJlbnQsIG9wYWNpdHksIGNvbG9yIGVmZmVjdCwgaW52ZXJ0IGxpZ2h0bmVzcywgY29sb3IgdGludCwgY29sb3IgYmxpbmQgZmlsdGVyLCBzaW11bGF0aW9uLCBkZXNhdHVyYXRlLCBuaWdodCBsaWdodHMsIGRhcmsgdGhlbWUsIHZvbHVtZSwgbXV0ZSwgbWFnbmlmaWVyLCB6b29tLCBzY3JlZW4ga2V5Ym9hcmQsIHJlYWRlciwgbGFyZ2UgdGV4dCwgZm9yY2UgY2xvc2UsIGtpbGwgLTksIHNob3cgZGVza3RvcCwgcmVvcmRlciB3b3Jrc3BhY2UsIHdpbmRvdyB0aHVtYm5haWwgLyBwcmV2aWV3LCBsb29raW5nIGdsYXNzLCBjdXN0b20gbWVudSwgd2luZG93LCB3b3Jrc3BhY2UsIHN3aXRjaGVyLCBoaWRlIHBhbmVsIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiY3VzdG9tLWhvdC1jb3JuZXJzLWV4dGVuZGVkIiwKICAibmFtZSI6ICJDdXN0b20gSG90IENvcm5lcnMgLSBFeHRlbmRlZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HLWRIL2N1c3RvbS1ob3QtY29ybmVycy90cmVlL2dkaCIsCiAgInV1aWQiOiAiY3VzdG9tLWhvdC1jb3JuZXJzLWV4dGVuZGVkQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyMAp9"}, "41": {"version": "20", "sha256": "190mqgvdsl60i8lc71n8aiyc5910wzd368d34bqmm132k6pp2vsc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycyBhbmQgZXhwYW5kIHlvdXIga2V5Ym9hcmQgY2FwYWJpbGl0aWVzLlxuTW91c2UgcG9pbnRlciBwcmVzc3VyZSwgY2xpY2tzIGFuZCBzY3JvbGxzIG92ZXIgdGhlIGNvcm5lcnMvZWRnZXMgb3IgY3VzdG9tIGtleWJvYXJkIHNob3J0Y3V0cyBjYW4gdHJpZ2dlciBhbnkgb2YgZG96ZW5zIG9mIGJ1aWx0LWluIGFjdGlvbnMgdGhhdCBoZWxwcyB5b3UgbmF2aWdhdGUgYW5kIGNvbnRyb2wgeW91ciBkZXNrdG9wIGVudmlyb25tZW50LCBvciB5b3VyIG93biBzaGVsbCBjb21tYW5kcy5cblxuU2lnbmlmaWNhbnQgcGFydCBvZiBhdmFpbGFibGUgYWN0aW9ucyBhcmUgdmlzdWFsIGFkanVzdG1lbnRzIChjb250cmFzdCwgYnJpZ2h0bmVzcywgb3BhY2l0eSkgYW5kIGNvbG9yIGZpbHRlcnMgKHJlZCwgZ3JlZW4sIGRlc2F0dXJhdGUsIGxpZ2h0bmVzcyBhbmQgY29sb3IgaW52ZXJzaW9ucykgLCBpbmNsdWRpbmcgY29ycmVjdGlvbiBmaWx0ZXJzIGZvciBjb2xvcmJsaW5kIHVzZXJzIGFuZCBjYiBzaW11bGF0aW9uIGZpbHRlcnMgZm9yIGRldmVsb3BlcnMuXG5cblJlc3RhcnQgeW91ciBHbm9tZSBTaGVsbCBhZnRlciBlYWNoIHVwZGF0ZSBvZiB0aGUgZXh0ZW5zaW9uIHRvIGxvYWQgbmV3IGNvZGUsIGFuZCByZWxvYWQgdGhpcyBzaXRlIHRvIGdldCByaWQgb2YgdGhlIGVycm9yIG1lc3NhZ2UsIGJlZm9yZSB5b3UgcG9zdCBhIGJ1ZyByZXBvcnQuXG5cblBsZWFzZSByZXBvcnQgYnVncy9pc3N1ZXMgb24gR2l0SHViIHBhZ2UgbGlua2VkIGJlbG93IGFzIEV4dGVuc2lvbiBIb21lcGFnZS5cbkRvIE5PVCB1c2UgYnVnIHJlcG9ydCBmb3JtIG9uIHRoaXMgcGFnZSwgSSB3aWxsIE5PVCByZXNwb25kIHRvIGl0LlxuXG5rZXl3b3Jkczogb3ZlcnZpZXcsIGFwcCBncmlkLCBjb21tYW5kLCBicmlnaHRuZXNzLCBjb250cmFzdCwgdHJhbnNwYXJlbnQsIG9wYWNpdHksIGNvbG9yIGVmZmVjdCwgaW52ZXJ0IGxpZ2h0bmVzcywgY29sb3IgdGludCwgY29sb3IgYmxpbmQgZmlsdGVyLCBzaW11bGF0aW9uLCBkZXNhdHVyYXRlLCBuaWdodCBsaWdodHMsIGRhcmsgdGhlbWUsIHZvbHVtZSwgbXV0ZSwgbWFnbmlmaWVyLCB6b29tLCBzY3JlZW4ga2V5Ym9hcmQsIHJlYWRlciwgbGFyZ2UgdGV4dCwgZm9yY2UgY2xvc2UsIGtpbGwgLTksIHNob3cgZGVza3RvcCwgcmVvcmRlciB3b3Jrc3BhY2UsIHdpbmRvdyB0aHVtYm5haWwgLyBwcmV2aWV3LCBsb29raW5nIGdsYXNzLCBjdXN0b20gbWVudSwgd2luZG93LCB3b3Jrc3BhY2UsIHN3aXRjaGVyLCBoaWRlIHBhbmVsIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiY3VzdG9tLWhvdC1jb3JuZXJzLWV4dGVuZGVkIiwKICAibmFtZSI6ICJDdXN0b20gSG90IENvcm5lcnMgLSBFeHRlbmRlZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HLWRIL2N1c3RvbS1ob3QtY29ybmVycy90cmVlL2dkaCIsCiAgInV1aWQiOiAiY3VzdG9tLWhvdC1jb3JuZXJzLWV4dGVuZGVkQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyMAp9"}, "42": {"version": "20", "sha256": "190mqgvdsl60i8lc71n8aiyc5910wzd368d34bqmm132k6pp2vsc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycyBhbmQgZXhwYW5kIHlvdXIga2V5Ym9hcmQgY2FwYWJpbGl0aWVzLlxuTW91c2UgcG9pbnRlciBwcmVzc3VyZSwgY2xpY2tzIGFuZCBzY3JvbGxzIG92ZXIgdGhlIGNvcm5lcnMvZWRnZXMgb3IgY3VzdG9tIGtleWJvYXJkIHNob3J0Y3V0cyBjYW4gdHJpZ2dlciBhbnkgb2YgZG96ZW5zIG9mIGJ1aWx0LWluIGFjdGlvbnMgdGhhdCBoZWxwcyB5b3UgbmF2aWdhdGUgYW5kIGNvbnRyb2wgeW91ciBkZXNrdG9wIGVudmlyb25tZW50LCBvciB5b3VyIG93biBzaGVsbCBjb21tYW5kcy5cblxuU2lnbmlmaWNhbnQgcGFydCBvZiBhdmFpbGFibGUgYWN0aW9ucyBhcmUgdmlzdWFsIGFkanVzdG1lbnRzIChjb250cmFzdCwgYnJpZ2h0bmVzcywgb3BhY2l0eSkgYW5kIGNvbG9yIGZpbHRlcnMgKHJlZCwgZ3JlZW4sIGRlc2F0dXJhdGUsIGxpZ2h0bmVzcyBhbmQgY29sb3IgaW52ZXJzaW9ucykgLCBpbmNsdWRpbmcgY29ycmVjdGlvbiBmaWx0ZXJzIGZvciBjb2xvcmJsaW5kIHVzZXJzIGFuZCBjYiBzaW11bGF0aW9uIGZpbHRlcnMgZm9yIGRldmVsb3BlcnMuXG5cblJlc3RhcnQgeW91ciBHbm9tZSBTaGVsbCBhZnRlciBlYWNoIHVwZGF0ZSBvZiB0aGUgZXh0ZW5zaW9uIHRvIGxvYWQgbmV3IGNvZGUsIGFuZCByZWxvYWQgdGhpcyBzaXRlIHRvIGdldCByaWQgb2YgdGhlIGVycm9yIG1lc3NhZ2UsIGJlZm9yZSB5b3UgcG9zdCBhIGJ1ZyByZXBvcnQuXG5cblBsZWFzZSByZXBvcnQgYnVncy9pc3N1ZXMgb24gR2l0SHViIHBhZ2UgbGlua2VkIGJlbG93IGFzIEV4dGVuc2lvbiBIb21lcGFnZS5cbkRvIE5PVCB1c2UgYnVnIHJlcG9ydCBmb3JtIG9uIHRoaXMgcGFnZSwgSSB3aWxsIE5PVCByZXNwb25kIHRvIGl0LlxuXG5rZXl3b3Jkczogb3ZlcnZpZXcsIGFwcCBncmlkLCBjb21tYW5kLCBicmlnaHRuZXNzLCBjb250cmFzdCwgdHJhbnNwYXJlbnQsIG9wYWNpdHksIGNvbG9yIGVmZmVjdCwgaW52ZXJ0IGxpZ2h0bmVzcywgY29sb3IgdGludCwgY29sb3IgYmxpbmQgZmlsdGVyLCBzaW11bGF0aW9uLCBkZXNhdHVyYXRlLCBuaWdodCBsaWdodHMsIGRhcmsgdGhlbWUsIHZvbHVtZSwgbXV0ZSwgbWFnbmlmaWVyLCB6b29tLCBzY3JlZW4ga2V5Ym9hcmQsIHJlYWRlciwgbGFyZ2UgdGV4dCwgZm9yY2UgY2xvc2UsIGtpbGwgLTksIHNob3cgZGVza3RvcCwgcmVvcmRlciB3b3Jrc3BhY2UsIHdpbmRvdyB0aHVtYm5haWwgLyBwcmV2aWV3LCBsb29raW5nIGdsYXNzLCBjdXN0b20gbWVudSwgd2luZG93LCB3b3Jrc3BhY2UsIHN3aXRjaGVyLCBoaWRlIHBhbmVsIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiY3VzdG9tLWhvdC1jb3JuZXJzLWV4dGVuZGVkIiwKICAibmFtZSI6ICJDdXN0b20gSG90IENvcm5lcnMgLSBFeHRlbmRlZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HLWRIL2N1c3RvbS1ob3QtY29ybmVycy90cmVlL2dkaCIsCiAgInV1aWQiOiAiY3VzdG9tLWhvdC1jb3JuZXJzLWV4dGVuZGVkQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyMAp9"}}}
-, {"uuid": "hass-gshell@geoph9-on-github", "name": "Home Assistant Extension", "pname": "home-assistant-extension", "description": "A simple gnome shell extension for Home Assistant. Check the README on github for additional help!\n\nMain points:\n- You need to provide the url of your hass, a long live access token obtained from your profile page (on your hass web instance) and the entity ids of the entities you want to have as togglable.\n- In order to add some local temperature/humidity sensor, you may also provide a temperature and/or a humidity entity id (which should match the corresponding ids of your hass instance).", "link": "https://extensions.gnome.org/extension/4170/home-assistant-extension/", "shell_version_map": {"38": {"version": "3", "sha256": "04p2hvxyyc1zv441sv0l1dcxbdvzqp46mii3zvw0nhq8jg5pz8rr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3IgSG9tZSBBc3Npc3RhbnQuIENoZWNrIHRoZSBSRUFETUUgb24gZ2l0aHViIGZvciBhZGRpdGlvbmFsIGhlbHAhXG5cbk1haW4gcG9pbnRzOlxuLSBZb3UgbmVlZCB0byBwcm92aWRlIHRoZSB1cmwgb2YgeW91ciBoYXNzLCBhIGxvbmcgbGl2ZSBhY2Nlc3MgdG9rZW4gb2J0YWluZWQgZnJvbSB5b3VyIHByb2ZpbGUgcGFnZSAob24geW91ciBoYXNzIHdlYiBpbnN0YW5jZSkgYW5kIHRoZSBlbnRpdHkgaWRzIG9mIHRoZSBlbnRpdGllcyB5b3Ugd2FudCB0byBoYXZlIGFzIHRvZ2dsYWJsZS5cbi0gSW4gb3JkZXIgdG8gYWRkIHNvbWUgbG9jYWwgdGVtcGVyYXR1cmUvaHVtaWRpdHkgc2Vuc29yLCB5b3UgbWF5IGFsc28gcHJvdmlkZSBhIHRlbXBlcmF0dXJlIGFuZC9vciBhIGh1bWlkaXR5IGVudGl0eSBpZCAod2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nIGlkcyBvZiB5b3VyIGhhc3MgaW5zdGFuY2UpLiIsCiAgIm5hbWUiOiAiSG9tZSBBc3Npc3RhbnQgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmhhc3MtZGF0YSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dlb3BoOS9oYXNzLWdzaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImhhc3MtZ3NoZWxsQGdlb3BoOS1vbi1naXRodWIiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "10", "sha256": "1h6lms1szjp2rz6q3hs8s0jsv71lyiabgygy4cqp1lj834k9hqpd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3IgSG9tZSBBc3Npc3RhbnQuIENoZWNrIHRoZSBSRUFETUUgb24gZ2l0aHViIGZvciBhZGRpdGlvbmFsIGhlbHAhXG5cbk1haW4gcG9pbnRzOlxuLSBZb3UgbmVlZCB0byBwcm92aWRlIHRoZSB1cmwgb2YgeW91ciBoYXNzLCBhIGxvbmcgbGl2ZSBhY2Nlc3MgdG9rZW4gb2J0YWluZWQgZnJvbSB5b3VyIHByb2ZpbGUgcGFnZSAob24geW91ciBoYXNzIHdlYiBpbnN0YW5jZSkgYW5kIHRoZSBlbnRpdHkgaWRzIG9mIHRoZSBlbnRpdGllcyB5b3Ugd2FudCB0byBoYXZlIGFzIHRvZ2dsYWJsZS5cbi0gSW4gb3JkZXIgdG8gYWRkIHNvbWUgbG9jYWwgdGVtcGVyYXR1cmUvaHVtaWRpdHkgc2Vuc29yLCB5b3UgbWF5IGFsc28gcHJvdmlkZSBhIHRlbXBlcmF0dXJlIGFuZC9vciBhIGh1bWlkaXR5IGVudGl0eSBpZCAod2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nIGlkcyBvZiB5b3VyIGhhc3MgaW5zdGFuY2UpLiIsCiAgIm5hbWUiOiAiSG9tZSBBc3Npc3RhbnQgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmhhc3MtZGF0YSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dlb3BoOS9oYXNzLWdzaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImhhc3MtZ3NoZWxsQGdlb3BoOS1vbi1naXRodWIiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "41": {"version": "10", "sha256": "1h6lms1szjp2rz6q3hs8s0jsv71lyiabgygy4cqp1lj834k9hqpd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3IgSG9tZSBBc3Npc3RhbnQuIENoZWNrIHRoZSBSRUFETUUgb24gZ2l0aHViIGZvciBhZGRpdGlvbmFsIGhlbHAhXG5cbk1haW4gcG9pbnRzOlxuLSBZb3UgbmVlZCB0byBwcm92aWRlIHRoZSB1cmwgb2YgeW91ciBoYXNzLCBhIGxvbmcgbGl2ZSBhY2Nlc3MgdG9rZW4gb2J0YWluZWQgZnJvbSB5b3VyIHByb2ZpbGUgcGFnZSAob24geW91ciBoYXNzIHdlYiBpbnN0YW5jZSkgYW5kIHRoZSBlbnRpdHkgaWRzIG9mIHRoZSBlbnRpdGllcyB5b3Ugd2FudCB0byBoYXZlIGFzIHRvZ2dsYWJsZS5cbi0gSW4gb3JkZXIgdG8gYWRkIHNvbWUgbG9jYWwgdGVtcGVyYXR1cmUvaHVtaWRpdHkgc2Vuc29yLCB5b3UgbWF5IGFsc28gcHJvdmlkZSBhIHRlbXBlcmF0dXJlIGFuZC9vciBhIGh1bWlkaXR5IGVudGl0eSBpZCAod2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nIGlkcyBvZiB5b3VyIGhhc3MgaW5zdGFuY2UpLiIsCiAgIm5hbWUiOiAiSG9tZSBBc3Npc3RhbnQgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmhhc3MtZGF0YSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dlb3BoOS9oYXNzLWdzaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImhhc3MtZ3NoZWxsQGdlb3BoOS1vbi1naXRodWIiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "42": {"version": "10", "sha256": "1h6lms1szjp2rz6q3hs8s0jsv71lyiabgygy4cqp1lj834k9hqpd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3IgSG9tZSBBc3Npc3RhbnQuIENoZWNrIHRoZSBSRUFETUUgb24gZ2l0aHViIGZvciBhZGRpdGlvbmFsIGhlbHAhXG5cbk1haW4gcG9pbnRzOlxuLSBZb3UgbmVlZCB0byBwcm92aWRlIHRoZSB1cmwgb2YgeW91ciBoYXNzLCBhIGxvbmcgbGl2ZSBhY2Nlc3MgdG9rZW4gb2J0YWluZWQgZnJvbSB5b3VyIHByb2ZpbGUgcGFnZSAob24geW91ciBoYXNzIHdlYiBpbnN0YW5jZSkgYW5kIHRoZSBlbnRpdHkgaWRzIG9mIHRoZSBlbnRpdGllcyB5b3Ugd2FudCB0byBoYXZlIGFzIHRvZ2dsYWJsZS5cbi0gSW4gb3JkZXIgdG8gYWRkIHNvbWUgbG9jYWwgdGVtcGVyYXR1cmUvaHVtaWRpdHkgc2Vuc29yLCB5b3UgbWF5IGFsc28gcHJvdmlkZSBhIHRlbXBlcmF0dXJlIGFuZC9vciBhIGh1bWlkaXR5IGVudGl0eSBpZCAod2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nIGlkcyBvZiB5b3VyIGhhc3MgaW5zdGFuY2UpLiIsCiAgIm5hbWUiOiAiSG9tZSBBc3Npc3RhbnQgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmhhc3MtZGF0YSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dlb3BoOS9oYXNzLWdzaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImhhc3MtZ3NoZWxsQGdlb3BoOS1vbi1naXRodWIiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
+, {"uuid": "custom-hot-corners-extended@G-dH.github.com", "name": "Custom Hot Corners - Extended", "pname": "custom-hot-corners-extended", "description": "Give a function to any corner or edge of your monitors and expand your keyboard capabilities.\nMouse pointer pressure, clicks and scrolls over the corners/edges or custom keyboard shortcuts can trigger any of dozens of built-in actions that helps you navigate and control your desktop environment, or your own shell commands.\n\nSignificant part of available actions are visual adjustments (contrast, brightness, opacity) and color filters (red, green, desaturate, lightness and color inversions) , including correction filters for colorblind users and cb simulation filters for developers.\n\nRestart your Gnome Shell after each update of the extension to load new code, and reload this site to get rid of the error message, before you post a bug report.\n\nPlease report bugs/issues on GitHub page linked below as Extension Homepage.\nDo NOT use bug report form on this page, I will NOT respond to it.\n\nkeywords: keyboard shortcut, switch windows, overview, app grid, command, brightness, contrast, transparent, opacity, color effect, invert lightness, color tint, color blind filter, simulation, desaturate, night lights, dark theme, volume, mute, magnifier, zoom, screen keyboard, reader, large text, force close, kill -9, show desktop, reorder workspace, window thumbnail / preview, looking glass, custom menu, window, workspace, switcher, hide panel", "link": "https://extensions.gnome.org/extension/4167/custom-hot-corners-extended/", "shell_version_map": {"38": {"version": "20", "sha256": "0b1rva1yk9242qgv9rkf19jdm18jhzpqv0kc0qqfx4xjf68pkchf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycyBhbmQgZXhwYW5kIHlvdXIga2V5Ym9hcmQgY2FwYWJpbGl0aWVzLlxuTW91c2UgcG9pbnRlciBwcmVzc3VyZSwgY2xpY2tzIGFuZCBzY3JvbGxzIG92ZXIgdGhlIGNvcm5lcnMvZWRnZXMgb3IgY3VzdG9tIGtleWJvYXJkIHNob3J0Y3V0cyBjYW4gdHJpZ2dlciBhbnkgb2YgZG96ZW5zIG9mIGJ1aWx0LWluIGFjdGlvbnMgdGhhdCBoZWxwcyB5b3UgbmF2aWdhdGUgYW5kIGNvbnRyb2wgeW91ciBkZXNrdG9wIGVudmlyb25tZW50LCBvciB5b3VyIG93biBzaGVsbCBjb21tYW5kcy5cblxuU2lnbmlmaWNhbnQgcGFydCBvZiBhdmFpbGFibGUgYWN0aW9ucyBhcmUgdmlzdWFsIGFkanVzdG1lbnRzIChjb250cmFzdCwgYnJpZ2h0bmVzcywgb3BhY2l0eSkgYW5kIGNvbG9yIGZpbHRlcnMgKHJlZCwgZ3JlZW4sIGRlc2F0dXJhdGUsIGxpZ2h0bmVzcyBhbmQgY29sb3IgaW52ZXJzaW9ucykgLCBpbmNsdWRpbmcgY29ycmVjdGlvbiBmaWx0ZXJzIGZvciBjb2xvcmJsaW5kIHVzZXJzIGFuZCBjYiBzaW11bGF0aW9uIGZpbHRlcnMgZm9yIGRldmVsb3BlcnMuXG5cblJlc3RhcnQgeW91ciBHbm9tZSBTaGVsbCBhZnRlciBlYWNoIHVwZGF0ZSBvZiB0aGUgZXh0ZW5zaW9uIHRvIGxvYWQgbmV3IGNvZGUsIGFuZCByZWxvYWQgdGhpcyBzaXRlIHRvIGdldCByaWQgb2YgdGhlIGVycm9yIG1lc3NhZ2UsIGJlZm9yZSB5b3UgcG9zdCBhIGJ1ZyByZXBvcnQuXG5cblBsZWFzZSByZXBvcnQgYnVncy9pc3N1ZXMgb24gR2l0SHViIHBhZ2UgbGlua2VkIGJlbG93IGFzIEV4dGVuc2lvbiBIb21lcGFnZS5cbkRvIE5PVCB1c2UgYnVnIHJlcG9ydCBmb3JtIG9uIHRoaXMgcGFnZSwgSSB3aWxsIE5PVCByZXNwb25kIHRvIGl0LlxuXG5rZXl3b3Jkczoga2V5Ym9hcmQgc2hvcnRjdXQsIHN3aXRjaCB3aW5kb3dzLCBvdmVydmlldywgYXBwIGdyaWQsIGNvbW1hbmQsIGJyaWdodG5lc3MsIGNvbnRyYXN0LCB0cmFuc3BhcmVudCwgb3BhY2l0eSwgY29sb3IgZWZmZWN0LCBpbnZlcnQgbGlnaHRuZXNzLCBjb2xvciB0aW50LCBjb2xvciBibGluZCBmaWx0ZXIsIHNpbXVsYXRpb24sIGRlc2F0dXJhdGUsIG5pZ2h0IGxpZ2h0cywgZGFyayB0aGVtZSwgdm9sdW1lLCBtdXRlLCBtYWduaWZpZXIsIHpvb20sIHNjcmVlbiBrZXlib2FyZCwgcmVhZGVyLCBsYXJnZSB0ZXh0LCBmb3JjZSBjbG9zZSwga2lsbCAtOSwgc2hvdyBkZXNrdG9wLCByZW9yZGVyIHdvcmtzcGFjZSwgd2luZG93IHRodW1ibmFpbCAvIHByZXZpZXcsIGxvb2tpbmcgZ2xhc3MsIGN1c3RvbSBtZW51LCB3aW5kb3csIHdvcmtzcGFjZSwgc3dpdGNoZXIsIGhpZGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJuYW1lIjogIkN1c3RvbSBIb3QgQ29ybmVycyAtIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbS1ob3QtY29ybmVycy1leHRlbmRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvY3VzdG9tLWhvdC1jb3JuZXJzL3RyZWUvZ2RoIiwKICAidXVpZCI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWRARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIwCn0="}, "40": {"version": "20", "sha256": "0b1rva1yk9242qgv9rkf19jdm18jhzpqv0kc0qqfx4xjf68pkchf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycyBhbmQgZXhwYW5kIHlvdXIga2V5Ym9hcmQgY2FwYWJpbGl0aWVzLlxuTW91c2UgcG9pbnRlciBwcmVzc3VyZSwgY2xpY2tzIGFuZCBzY3JvbGxzIG92ZXIgdGhlIGNvcm5lcnMvZWRnZXMgb3IgY3VzdG9tIGtleWJvYXJkIHNob3J0Y3V0cyBjYW4gdHJpZ2dlciBhbnkgb2YgZG96ZW5zIG9mIGJ1aWx0LWluIGFjdGlvbnMgdGhhdCBoZWxwcyB5b3UgbmF2aWdhdGUgYW5kIGNvbnRyb2wgeW91ciBkZXNrdG9wIGVudmlyb25tZW50LCBvciB5b3VyIG93biBzaGVsbCBjb21tYW5kcy5cblxuU2lnbmlmaWNhbnQgcGFydCBvZiBhdmFpbGFibGUgYWN0aW9ucyBhcmUgdmlzdWFsIGFkanVzdG1lbnRzIChjb250cmFzdCwgYnJpZ2h0bmVzcywgb3BhY2l0eSkgYW5kIGNvbG9yIGZpbHRlcnMgKHJlZCwgZ3JlZW4sIGRlc2F0dXJhdGUsIGxpZ2h0bmVzcyBhbmQgY29sb3IgaW52ZXJzaW9ucykgLCBpbmNsdWRpbmcgY29ycmVjdGlvbiBmaWx0ZXJzIGZvciBjb2xvcmJsaW5kIHVzZXJzIGFuZCBjYiBzaW11bGF0aW9uIGZpbHRlcnMgZm9yIGRldmVsb3BlcnMuXG5cblJlc3RhcnQgeW91ciBHbm9tZSBTaGVsbCBhZnRlciBlYWNoIHVwZGF0ZSBvZiB0aGUgZXh0ZW5zaW9uIHRvIGxvYWQgbmV3IGNvZGUsIGFuZCByZWxvYWQgdGhpcyBzaXRlIHRvIGdldCByaWQgb2YgdGhlIGVycm9yIG1lc3NhZ2UsIGJlZm9yZSB5b3UgcG9zdCBhIGJ1ZyByZXBvcnQuXG5cblBsZWFzZSByZXBvcnQgYnVncy9pc3N1ZXMgb24gR2l0SHViIHBhZ2UgbGlua2VkIGJlbG93IGFzIEV4dGVuc2lvbiBIb21lcGFnZS5cbkRvIE5PVCB1c2UgYnVnIHJlcG9ydCBmb3JtIG9uIHRoaXMgcGFnZSwgSSB3aWxsIE5PVCByZXNwb25kIHRvIGl0LlxuXG5rZXl3b3Jkczoga2V5Ym9hcmQgc2hvcnRjdXQsIHN3aXRjaCB3aW5kb3dzLCBvdmVydmlldywgYXBwIGdyaWQsIGNvbW1hbmQsIGJyaWdodG5lc3MsIGNvbnRyYXN0LCB0cmFuc3BhcmVudCwgb3BhY2l0eSwgY29sb3IgZWZmZWN0LCBpbnZlcnQgbGlnaHRuZXNzLCBjb2xvciB0aW50LCBjb2xvciBibGluZCBmaWx0ZXIsIHNpbXVsYXRpb24sIGRlc2F0dXJhdGUsIG5pZ2h0IGxpZ2h0cywgZGFyayB0aGVtZSwgdm9sdW1lLCBtdXRlLCBtYWduaWZpZXIsIHpvb20sIHNjcmVlbiBrZXlib2FyZCwgcmVhZGVyLCBsYXJnZSB0ZXh0LCBmb3JjZSBjbG9zZSwga2lsbCAtOSwgc2hvdyBkZXNrdG9wLCByZW9yZGVyIHdvcmtzcGFjZSwgd2luZG93IHRodW1ibmFpbCAvIHByZXZpZXcsIGxvb2tpbmcgZ2xhc3MsIGN1c3RvbSBtZW51LCB3aW5kb3csIHdvcmtzcGFjZSwgc3dpdGNoZXIsIGhpZGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJuYW1lIjogIkN1c3RvbSBIb3QgQ29ybmVycyAtIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbS1ob3QtY29ybmVycy1leHRlbmRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvY3VzdG9tLWhvdC1jb3JuZXJzL3RyZWUvZ2RoIiwKICAidXVpZCI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWRARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIwCn0="}, "41": {"version": "20", "sha256": "0b1rva1yk9242qgv9rkf19jdm18jhzpqv0kc0qqfx4xjf68pkchf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycyBhbmQgZXhwYW5kIHlvdXIga2V5Ym9hcmQgY2FwYWJpbGl0aWVzLlxuTW91c2UgcG9pbnRlciBwcmVzc3VyZSwgY2xpY2tzIGFuZCBzY3JvbGxzIG92ZXIgdGhlIGNvcm5lcnMvZWRnZXMgb3IgY3VzdG9tIGtleWJvYXJkIHNob3J0Y3V0cyBjYW4gdHJpZ2dlciBhbnkgb2YgZG96ZW5zIG9mIGJ1aWx0LWluIGFjdGlvbnMgdGhhdCBoZWxwcyB5b3UgbmF2aWdhdGUgYW5kIGNvbnRyb2wgeW91ciBkZXNrdG9wIGVudmlyb25tZW50LCBvciB5b3VyIG93biBzaGVsbCBjb21tYW5kcy5cblxuU2lnbmlmaWNhbnQgcGFydCBvZiBhdmFpbGFibGUgYWN0aW9ucyBhcmUgdmlzdWFsIGFkanVzdG1lbnRzIChjb250cmFzdCwgYnJpZ2h0bmVzcywgb3BhY2l0eSkgYW5kIGNvbG9yIGZpbHRlcnMgKHJlZCwgZ3JlZW4sIGRlc2F0dXJhdGUsIGxpZ2h0bmVzcyBhbmQgY29sb3IgaW52ZXJzaW9ucykgLCBpbmNsdWRpbmcgY29ycmVjdGlvbiBmaWx0ZXJzIGZvciBjb2xvcmJsaW5kIHVzZXJzIGFuZCBjYiBzaW11bGF0aW9uIGZpbHRlcnMgZm9yIGRldmVsb3BlcnMuXG5cblJlc3RhcnQgeW91ciBHbm9tZSBTaGVsbCBhZnRlciBlYWNoIHVwZGF0ZSBvZiB0aGUgZXh0ZW5zaW9uIHRvIGxvYWQgbmV3IGNvZGUsIGFuZCByZWxvYWQgdGhpcyBzaXRlIHRvIGdldCByaWQgb2YgdGhlIGVycm9yIG1lc3NhZ2UsIGJlZm9yZSB5b3UgcG9zdCBhIGJ1ZyByZXBvcnQuXG5cblBsZWFzZSByZXBvcnQgYnVncy9pc3N1ZXMgb24gR2l0SHViIHBhZ2UgbGlua2VkIGJlbG93IGFzIEV4dGVuc2lvbiBIb21lcGFnZS5cbkRvIE5PVCB1c2UgYnVnIHJlcG9ydCBmb3JtIG9uIHRoaXMgcGFnZSwgSSB3aWxsIE5PVCByZXNwb25kIHRvIGl0LlxuXG5rZXl3b3Jkczoga2V5Ym9hcmQgc2hvcnRjdXQsIHN3aXRjaCB3aW5kb3dzLCBvdmVydmlldywgYXBwIGdyaWQsIGNvbW1hbmQsIGJyaWdodG5lc3MsIGNvbnRyYXN0LCB0cmFuc3BhcmVudCwgb3BhY2l0eSwgY29sb3IgZWZmZWN0LCBpbnZlcnQgbGlnaHRuZXNzLCBjb2xvciB0aW50LCBjb2xvciBibGluZCBmaWx0ZXIsIHNpbXVsYXRpb24sIGRlc2F0dXJhdGUsIG5pZ2h0IGxpZ2h0cywgZGFyayB0aGVtZSwgdm9sdW1lLCBtdXRlLCBtYWduaWZpZXIsIHpvb20sIHNjcmVlbiBrZXlib2FyZCwgcmVhZGVyLCBsYXJnZSB0ZXh0LCBmb3JjZSBjbG9zZSwga2lsbCAtOSwgc2hvdyBkZXNrdG9wLCByZW9yZGVyIHdvcmtzcGFjZSwgd2luZG93IHRodW1ibmFpbCAvIHByZXZpZXcsIGxvb2tpbmcgZ2xhc3MsIGN1c3RvbSBtZW51LCB3aW5kb3csIHdvcmtzcGFjZSwgc3dpdGNoZXIsIGhpZGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJuYW1lIjogIkN1c3RvbSBIb3QgQ29ybmVycyAtIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbS1ob3QtY29ybmVycy1leHRlbmRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvY3VzdG9tLWhvdC1jb3JuZXJzL3RyZWUvZ2RoIiwKICAidXVpZCI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWRARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIwCn0="}, "42": {"version": "20", "sha256": "0b1rva1yk9242qgv9rkf19jdm18jhzpqv0kc0qqfx4xjf68pkchf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycyBhbmQgZXhwYW5kIHlvdXIga2V5Ym9hcmQgY2FwYWJpbGl0aWVzLlxuTW91c2UgcG9pbnRlciBwcmVzc3VyZSwgY2xpY2tzIGFuZCBzY3JvbGxzIG92ZXIgdGhlIGNvcm5lcnMvZWRnZXMgb3IgY3VzdG9tIGtleWJvYXJkIHNob3J0Y3V0cyBjYW4gdHJpZ2dlciBhbnkgb2YgZG96ZW5zIG9mIGJ1aWx0LWluIGFjdGlvbnMgdGhhdCBoZWxwcyB5b3UgbmF2aWdhdGUgYW5kIGNvbnRyb2wgeW91ciBkZXNrdG9wIGVudmlyb25tZW50LCBvciB5b3VyIG93biBzaGVsbCBjb21tYW5kcy5cblxuU2lnbmlmaWNhbnQgcGFydCBvZiBhdmFpbGFibGUgYWN0aW9ucyBhcmUgdmlzdWFsIGFkanVzdG1lbnRzIChjb250cmFzdCwgYnJpZ2h0bmVzcywgb3BhY2l0eSkgYW5kIGNvbG9yIGZpbHRlcnMgKHJlZCwgZ3JlZW4sIGRlc2F0dXJhdGUsIGxpZ2h0bmVzcyBhbmQgY29sb3IgaW52ZXJzaW9ucykgLCBpbmNsdWRpbmcgY29ycmVjdGlvbiBmaWx0ZXJzIGZvciBjb2xvcmJsaW5kIHVzZXJzIGFuZCBjYiBzaW11bGF0aW9uIGZpbHRlcnMgZm9yIGRldmVsb3BlcnMuXG5cblJlc3RhcnQgeW91ciBHbm9tZSBTaGVsbCBhZnRlciBlYWNoIHVwZGF0ZSBvZiB0aGUgZXh0ZW5zaW9uIHRvIGxvYWQgbmV3IGNvZGUsIGFuZCByZWxvYWQgdGhpcyBzaXRlIHRvIGdldCByaWQgb2YgdGhlIGVycm9yIG1lc3NhZ2UsIGJlZm9yZSB5b3UgcG9zdCBhIGJ1ZyByZXBvcnQuXG5cblBsZWFzZSByZXBvcnQgYnVncy9pc3N1ZXMgb24gR2l0SHViIHBhZ2UgbGlua2VkIGJlbG93IGFzIEV4dGVuc2lvbiBIb21lcGFnZS5cbkRvIE5PVCB1c2UgYnVnIHJlcG9ydCBmb3JtIG9uIHRoaXMgcGFnZSwgSSB3aWxsIE5PVCByZXNwb25kIHRvIGl0LlxuXG5rZXl3b3Jkczoga2V5Ym9hcmQgc2hvcnRjdXQsIHN3aXRjaCB3aW5kb3dzLCBvdmVydmlldywgYXBwIGdyaWQsIGNvbW1hbmQsIGJyaWdodG5lc3MsIGNvbnRyYXN0LCB0cmFuc3BhcmVudCwgb3BhY2l0eSwgY29sb3IgZWZmZWN0LCBpbnZlcnQgbGlnaHRuZXNzLCBjb2xvciB0aW50LCBjb2xvciBibGluZCBmaWx0ZXIsIHNpbXVsYXRpb24sIGRlc2F0dXJhdGUsIG5pZ2h0IGxpZ2h0cywgZGFyayB0aGVtZSwgdm9sdW1lLCBtdXRlLCBtYWduaWZpZXIsIHpvb20sIHNjcmVlbiBrZXlib2FyZCwgcmVhZGVyLCBsYXJnZSB0ZXh0LCBmb3JjZSBjbG9zZSwga2lsbCAtOSwgc2hvdyBkZXNrdG9wLCByZW9yZGVyIHdvcmtzcGFjZSwgd2luZG93IHRodW1ibmFpbCAvIHByZXZpZXcsIGxvb2tpbmcgZ2xhc3MsIGN1c3RvbSBtZW51LCB3aW5kb3csIHdvcmtzcGFjZSwgc3dpdGNoZXIsIGhpZGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJuYW1lIjogIkN1c3RvbSBIb3QgQ29ybmVycyAtIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbS1ob3QtY29ybmVycy1leHRlbmRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvY3VzdG9tLWhvdC1jb3JuZXJzL3RyZWUvZ2RoIiwKICAidXVpZCI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWRARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIwCn0="}}}
+, {"uuid": "hass-gshell@geoph9-on-github", "name": "Home Assistant Extension", "pname": "home-assistant-extension", "description": "A simple gnome shell extension for Home Assistant. Check the README on github for additional help!\n\nMain points:\n- You need to provide the url of your hass, a long live access token obtained from your profile page (on your hass web instance) and the entity ids of the entities you want to have as togglable.\n- In order to add some local temperature/humidity sensor, you may also provide a temperature and/or a humidity entity id (which should match the corresponding ids of your hass instance).", "link": "https://extensions.gnome.org/extension/4170/home-assistant-extension/", "shell_version_map": {"38": {"version": "3", "sha256": "04p2hvxyyc1zv441sv0l1dcxbdvzqp46mii3zvw0nhq8jg5pz8rr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3IgSG9tZSBBc3Npc3RhbnQuIENoZWNrIHRoZSBSRUFETUUgb24gZ2l0aHViIGZvciBhZGRpdGlvbmFsIGhlbHAhXG5cbk1haW4gcG9pbnRzOlxuLSBZb3UgbmVlZCB0byBwcm92aWRlIHRoZSB1cmwgb2YgeW91ciBoYXNzLCBhIGxvbmcgbGl2ZSBhY2Nlc3MgdG9rZW4gb2J0YWluZWQgZnJvbSB5b3VyIHByb2ZpbGUgcGFnZSAob24geW91ciBoYXNzIHdlYiBpbnN0YW5jZSkgYW5kIHRoZSBlbnRpdHkgaWRzIG9mIHRoZSBlbnRpdGllcyB5b3Ugd2FudCB0byBoYXZlIGFzIHRvZ2dsYWJsZS5cbi0gSW4gb3JkZXIgdG8gYWRkIHNvbWUgbG9jYWwgdGVtcGVyYXR1cmUvaHVtaWRpdHkgc2Vuc29yLCB5b3UgbWF5IGFsc28gcHJvdmlkZSBhIHRlbXBlcmF0dXJlIGFuZC9vciBhIGh1bWlkaXR5IGVudGl0eSBpZCAod2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nIGlkcyBvZiB5b3VyIGhhc3MgaW5zdGFuY2UpLiIsCiAgIm5hbWUiOiAiSG9tZSBBc3Npc3RhbnQgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmhhc3MtZGF0YSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dlb3BoOS9oYXNzLWdzaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImhhc3MtZ3NoZWxsQGdlb3BoOS1vbi1naXRodWIiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "11", "sha256": "0jjjzcqdhprlbxk2aacb339spf3svpqyx9sz38cpw2xvy3hy6cy5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3IgSG9tZSBBc3Npc3RhbnQuIENoZWNrIHRoZSBSRUFETUUgb24gZ2l0aHViIGZvciBhZGRpdGlvbmFsIGhlbHAhXG5cbk1haW4gcG9pbnRzOlxuLSBZb3UgbmVlZCB0byBwcm92aWRlIHRoZSB1cmwgb2YgeW91ciBoYXNzLCBhIGxvbmcgbGl2ZSBhY2Nlc3MgdG9rZW4gb2J0YWluZWQgZnJvbSB5b3VyIHByb2ZpbGUgcGFnZSAob24geW91ciBoYXNzIHdlYiBpbnN0YW5jZSkgYW5kIHRoZSBlbnRpdHkgaWRzIG9mIHRoZSBlbnRpdGllcyB5b3Ugd2FudCB0byBoYXZlIGFzIHRvZ2dsYWJsZS5cbi0gSW4gb3JkZXIgdG8gYWRkIHNvbWUgbG9jYWwgdGVtcGVyYXR1cmUvaHVtaWRpdHkgc2Vuc29yLCB5b3UgbWF5IGFsc28gcHJvdmlkZSBhIHRlbXBlcmF0dXJlIGFuZC9vciBhIGh1bWlkaXR5IGVudGl0eSBpZCAod2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nIGlkcyBvZiB5b3VyIGhhc3MgaW5zdGFuY2UpLiIsCiAgImdldHRleHQtZG9tYWluIjogImhhc3MtZ3NoZWxsIiwKICAibmFtZSI6ICJIb21lIEFzc2lzdGFudCBFeHRlbnNpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGFzcy1kYXRhIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ2VvcGg5L2hhc3MtZ3NoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiaGFzcy1nc2hlbGxAZ2VvcGg5LW9uLWdpdGh1YiIsCiAgInZlcnNpb24iOiAxMQp9"}, "41": {"version": "11", "sha256": "0jjjzcqdhprlbxk2aacb339spf3svpqyx9sz38cpw2xvy3hy6cy5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3IgSG9tZSBBc3Npc3RhbnQuIENoZWNrIHRoZSBSRUFETUUgb24gZ2l0aHViIGZvciBhZGRpdGlvbmFsIGhlbHAhXG5cbk1haW4gcG9pbnRzOlxuLSBZb3UgbmVlZCB0byBwcm92aWRlIHRoZSB1cmwgb2YgeW91ciBoYXNzLCBhIGxvbmcgbGl2ZSBhY2Nlc3MgdG9rZW4gb2J0YWluZWQgZnJvbSB5b3VyIHByb2ZpbGUgcGFnZSAob24geW91ciBoYXNzIHdlYiBpbnN0YW5jZSkgYW5kIHRoZSBlbnRpdHkgaWRzIG9mIHRoZSBlbnRpdGllcyB5b3Ugd2FudCB0byBoYXZlIGFzIHRvZ2dsYWJsZS5cbi0gSW4gb3JkZXIgdG8gYWRkIHNvbWUgbG9jYWwgdGVtcGVyYXR1cmUvaHVtaWRpdHkgc2Vuc29yLCB5b3UgbWF5IGFsc28gcHJvdmlkZSBhIHRlbXBlcmF0dXJlIGFuZC9vciBhIGh1bWlkaXR5IGVudGl0eSBpZCAod2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nIGlkcyBvZiB5b3VyIGhhc3MgaW5zdGFuY2UpLiIsCiAgImdldHRleHQtZG9tYWluIjogImhhc3MtZ3NoZWxsIiwKICAibmFtZSI6ICJIb21lIEFzc2lzdGFudCBFeHRlbnNpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGFzcy1kYXRhIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ2VvcGg5L2hhc3MtZ3NoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiaGFzcy1nc2hlbGxAZ2VvcGg5LW9uLWdpdGh1YiIsCiAgInZlcnNpb24iOiAxMQp9"}, "42": {"version": "11", "sha256": "0jjjzcqdhprlbxk2aacb339spf3svpqyx9sz38cpw2xvy3hy6cy5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3IgSG9tZSBBc3Npc3RhbnQuIENoZWNrIHRoZSBSRUFETUUgb24gZ2l0aHViIGZvciBhZGRpdGlvbmFsIGhlbHAhXG5cbk1haW4gcG9pbnRzOlxuLSBZb3UgbmVlZCB0byBwcm92aWRlIHRoZSB1cmwgb2YgeW91ciBoYXNzLCBhIGxvbmcgbGl2ZSBhY2Nlc3MgdG9rZW4gb2J0YWluZWQgZnJvbSB5b3VyIHByb2ZpbGUgcGFnZSAob24geW91ciBoYXNzIHdlYiBpbnN0YW5jZSkgYW5kIHRoZSBlbnRpdHkgaWRzIG9mIHRoZSBlbnRpdGllcyB5b3Ugd2FudCB0byBoYXZlIGFzIHRvZ2dsYWJsZS5cbi0gSW4gb3JkZXIgdG8gYWRkIHNvbWUgbG9jYWwgdGVtcGVyYXR1cmUvaHVtaWRpdHkgc2Vuc29yLCB5b3UgbWF5IGFsc28gcHJvdmlkZSBhIHRlbXBlcmF0dXJlIGFuZC9vciBhIGh1bWlkaXR5IGVudGl0eSBpZCAod2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nIGlkcyBvZiB5b3VyIGhhc3MgaW5zdGFuY2UpLiIsCiAgImdldHRleHQtZG9tYWluIjogImhhc3MtZ3NoZWxsIiwKICAibmFtZSI6ICJIb21lIEFzc2lzdGFudCBFeHRlbnNpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGFzcy1kYXRhIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ2VvcGg5L2hhc3MtZ3NoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiaGFzcy1nc2hlbGxAZ2VvcGg5LW9uLWdpdGh1YiIsCiAgInZlcnNpb24iOiAxMQp9"}}}
 , {"uuid": "clear-top-bar@superterran.net", "name": "Clear Top Bar", "pname": "clear-top-bar", "description": "Fully transparent topbar, pairs with the zhanghai transparent top bar extension to make bar opaque when window is maximized", "link": "https://extensions.gnome.org/extension/4173/clear-top-bar/", "shell_version_map": {"40": {"version": "6", "sha256": "1xfq9i816p0djfidimgci5xk1mjfrka0xrvxrs44lsqq109xf8pc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZ1bGx5IHRyYW5zcGFyZW50IHRvcGJhciwgcGFpcnMgd2l0aCB0aGUgemhhbmdoYWkgdHJhbnNwYXJlbnQgdG9wIGJhciBleHRlbnNpb24gdG8gbWFrZSBiYXIgb3BhcXVlIHdoZW4gd2luZG93IGlzIG1heGltaXplZCIsCiAgIm5hbWUiOiAiQ2xlYXIgVG9wIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1cGVydGVycmFuL2dub21lLXNoZWxsLWV4dGVuc2lvbi1jbGVhci10b3AtYmFyIiwKICAidXVpZCI6ICJjbGVhci10b3AtYmFyQHN1cGVydGVycmFuLm5ldCIsCiAgInZlcnNpb24iOiA2Cn0="}, "41": {"version": "6", "sha256": "1xfq9i816p0djfidimgci5xk1mjfrka0xrvxrs44lsqq109xf8pc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZ1bGx5IHRyYW5zcGFyZW50IHRvcGJhciwgcGFpcnMgd2l0aCB0aGUgemhhbmdoYWkgdHJhbnNwYXJlbnQgdG9wIGJhciBleHRlbnNpb24gdG8gbWFrZSBiYXIgb3BhcXVlIHdoZW4gd2luZG93IGlzIG1heGltaXplZCIsCiAgIm5hbWUiOiAiQ2xlYXIgVG9wIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1cGVydGVycmFuL2dub21lLXNoZWxsLWV4dGVuc2lvbi1jbGVhci10b3AtYmFyIiwKICAidXVpZCI6ICJjbGVhci10b3AtYmFyQHN1cGVydGVycmFuLm5ldCIsCiAgInZlcnNpb24iOiA2Cn0="}, "42": {"version": "6", "sha256": "1xfq9i816p0djfidimgci5xk1mjfrka0xrvxrs44lsqq109xf8pc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZ1bGx5IHRyYW5zcGFyZW50IHRvcGJhciwgcGFpcnMgd2l0aCB0aGUgemhhbmdoYWkgdHJhbnNwYXJlbnQgdG9wIGJhciBleHRlbnNpb24gdG8gbWFrZSBiYXIgb3BhcXVlIHdoZW4gd2luZG93IGlzIG1heGltaXplZCIsCiAgIm5hbWUiOiAiQ2xlYXIgVG9wIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1cGVydGVycmFuL2dub21lLXNoZWxsLWV4dGVuc2lvbi1jbGVhci10b3AtYmFyIiwKICAidXVpZCI6ICJjbGVhci10b3AtYmFyQHN1cGVydGVycmFuLm5ldCIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"uuid": "systemd-manager@hardpixel.eu", "name": "Systemd Manager", "pname": "systemd-manager", "description": "Toggle systemd services on/off from a popup menu in the top gnome panel. Can be used to start services like apache2, mysql, postgres. It uses `pkexec' to run `sytemctl'. If you want to start services without entering a password you have to polkit policy file. An example policy file can be found in the github repository.", "link": "https://extensions.gnome.org/extension/4174/systemd-manager/", "shell_version_map": {"38": {"version": "7", "sha256": "11c26d8iwii76i0zwvrdsjypqrq1qi6xsjlx31128pnxsacbj4bs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBzeXN0ZW1kIHNlcnZpY2VzIG9uL29mZiBmcm9tIGEgcG9wdXAgbWVudSBpbiB0aGUgdG9wIGdub21lIHBhbmVsLiBDYW4gYmUgdXNlZCB0byBzdGFydCBzZXJ2aWNlcyBsaWtlIGFwYWNoZTIsIG15c3FsLCBwb3N0Z3Jlcy4gSXQgdXNlcyBgcGtleGVjJyB0byBydW4gYHN5dGVtY3RsJy4gSWYgeW91IHdhbnQgdG8gc3RhcnQgc2VydmljZXMgd2l0aG91dCBlbnRlcmluZyBhIHBhc3N3b3JkIHlvdSBoYXZlIHRvIHBvbGtpdCBwb2xpY3kgZmlsZS4gQW4gZXhhbXBsZSBwb2xpY3kgZmlsZSBjYW4gYmUgZm91bmQgaW4gdGhlIGdpdGh1YiByZXBvc2l0b3J5LiIsCiAgImdldHRleHQtZG9tYWluIjogInN5c3RlbWQtbWFuYWdlciIsCiAgIm5hbWUiOiAiU3lzdGVtZCBNYW5hZ2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN5c3RlbWQtbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hhcmRwaXhlbC9zeXN0ZW1kLW1hbmFnZXIiLAogICJ1dWlkIjogInN5c3RlbWQtbWFuYWdlckBoYXJkcGl4ZWwuZXUiLAogICJ2ZXJzaW9uIjogNwp9"}, "40": {"version": "7", "sha256": "11c26d8iwii76i0zwvrdsjypqrq1qi6xsjlx31128pnxsacbj4bs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBzeXN0ZW1kIHNlcnZpY2VzIG9uL29mZiBmcm9tIGEgcG9wdXAgbWVudSBpbiB0aGUgdG9wIGdub21lIHBhbmVsLiBDYW4gYmUgdXNlZCB0byBzdGFydCBzZXJ2aWNlcyBsaWtlIGFwYWNoZTIsIG15c3FsLCBwb3N0Z3Jlcy4gSXQgdXNlcyBgcGtleGVjJyB0byBydW4gYHN5dGVtY3RsJy4gSWYgeW91IHdhbnQgdG8gc3RhcnQgc2VydmljZXMgd2l0aG91dCBlbnRlcmluZyBhIHBhc3N3b3JkIHlvdSBoYXZlIHRvIHBvbGtpdCBwb2xpY3kgZmlsZS4gQW4gZXhhbXBsZSBwb2xpY3kgZmlsZSBjYW4gYmUgZm91bmQgaW4gdGhlIGdpdGh1YiByZXBvc2l0b3J5LiIsCiAgImdldHRleHQtZG9tYWluIjogInN5c3RlbWQtbWFuYWdlciIsCiAgIm5hbWUiOiAiU3lzdGVtZCBNYW5hZ2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN5c3RlbWQtbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hhcmRwaXhlbC9zeXN0ZW1kLW1hbmFnZXIiLAogICJ1dWlkIjogInN5c3RlbWQtbWFuYWdlckBoYXJkcGl4ZWwuZXUiLAogICJ2ZXJzaW9uIjogNwp9"}, "41": {"version": "7", "sha256": "11c26d8iwii76i0zwvrdsjypqrq1qi6xsjlx31128pnxsacbj4bs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBzeXN0ZW1kIHNlcnZpY2VzIG9uL29mZiBmcm9tIGEgcG9wdXAgbWVudSBpbiB0aGUgdG9wIGdub21lIHBhbmVsLiBDYW4gYmUgdXNlZCB0byBzdGFydCBzZXJ2aWNlcyBsaWtlIGFwYWNoZTIsIG15c3FsLCBwb3N0Z3Jlcy4gSXQgdXNlcyBgcGtleGVjJyB0byBydW4gYHN5dGVtY3RsJy4gSWYgeW91IHdhbnQgdG8gc3RhcnQgc2VydmljZXMgd2l0aG91dCBlbnRlcmluZyBhIHBhc3N3b3JkIHlvdSBoYXZlIHRvIHBvbGtpdCBwb2xpY3kgZmlsZS4gQW4gZXhhbXBsZSBwb2xpY3kgZmlsZSBjYW4gYmUgZm91bmQgaW4gdGhlIGdpdGh1YiByZXBvc2l0b3J5LiIsCiAgImdldHRleHQtZG9tYWluIjogInN5c3RlbWQtbWFuYWdlciIsCiAgIm5hbWUiOiAiU3lzdGVtZCBNYW5hZ2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN5c3RlbWQtbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hhcmRwaXhlbC9zeXN0ZW1kLW1hbmFnZXIiLAogICJ1dWlkIjogInN5c3RlbWQtbWFuYWdlckBoYXJkcGl4ZWwuZXUiLAogICJ2ZXJzaW9uIjogNwp9"}, "42": {"version": "7", "sha256": "11c26d8iwii76i0zwvrdsjypqrq1qi6xsjlx31128pnxsacbj4bs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBzeXN0ZW1kIHNlcnZpY2VzIG9uL29mZiBmcm9tIGEgcG9wdXAgbWVudSBpbiB0aGUgdG9wIGdub21lIHBhbmVsLiBDYW4gYmUgdXNlZCB0byBzdGFydCBzZXJ2aWNlcyBsaWtlIGFwYWNoZTIsIG15c3FsLCBwb3N0Z3Jlcy4gSXQgdXNlcyBgcGtleGVjJyB0byBydW4gYHN5dGVtY3RsJy4gSWYgeW91IHdhbnQgdG8gc3RhcnQgc2VydmljZXMgd2l0aG91dCBlbnRlcmluZyBhIHBhc3N3b3JkIHlvdSBoYXZlIHRvIHBvbGtpdCBwb2xpY3kgZmlsZS4gQW4gZXhhbXBsZSBwb2xpY3kgZmlsZSBjYW4gYmUgZm91bmQgaW4gdGhlIGdpdGh1YiByZXBvc2l0b3J5LiIsCiAgImdldHRleHQtZG9tYWluIjogInN5c3RlbWQtbWFuYWdlciIsCiAgIm5hbWUiOiAiU3lzdGVtZCBNYW5hZ2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN5c3RlbWQtbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hhcmRwaXhlbC9zeXN0ZW1kLW1hbmFnZXIiLAogICJ1dWlkIjogInN5c3RlbWQtbWFuYWdlckBoYXJkcGl4ZWwuZXUiLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "auto-activities@acedron.github.io", "name": "Auto Activities", "pname": "auto-activities", "description": "Show activities overview when there are no windows, or hide it when there are new windows.", "link": "https://extensions.gnome.org/extension/4179/auto-activities/", "shell_version_map": {"40": {"version": "14", "sha256": "1ccaf3v4pz0kqxcchcwwqx7654fnfvs5dldhdjdxsnf2419cgvg0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYWN0aXZpdGllcyBvdmVydmlldyB3aGVuIHRoZXJlIGFyZSBubyB3aW5kb3dzLCBvciBoaWRlIGl0IHdoZW4gdGhlcmUgYXJlIG5ldyB3aW5kb3dzLiIsCiAgImdldHRleHQtZG9tYWluIjogImF1dG8tYWN0aXZpdGllcyIsCiAgIm5hbWUiOiAiQXV0byBBY3Rpdml0aWVzIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImFjZWRyb25zQHlhaG9vLmNvLmpwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamFuLW5ld2lrby9hdXRvLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogImF1dG8tYWN0aXZpdGllc0BhY2Vkcm9uLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxNAp9"}, "41": {"version": "14", "sha256": "1ccaf3v4pz0kqxcchcwwqx7654fnfvs5dldhdjdxsnf2419cgvg0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYWN0aXZpdGllcyBvdmVydmlldyB3aGVuIHRoZXJlIGFyZSBubyB3aW5kb3dzLCBvciBoaWRlIGl0IHdoZW4gdGhlcmUgYXJlIG5ldyB3aW5kb3dzLiIsCiAgImdldHRleHQtZG9tYWluIjogImF1dG8tYWN0aXZpdGllcyIsCiAgIm5hbWUiOiAiQXV0byBBY3Rpdml0aWVzIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImFjZWRyb25zQHlhaG9vLmNvLmpwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamFuLW5ld2lrby9hdXRvLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogImF1dG8tYWN0aXZpdGllc0BhY2Vkcm9uLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxNAp9"}, "42": {"version": "14", "sha256": "1ccaf3v4pz0kqxcchcwwqx7654fnfvs5dldhdjdxsnf2419cgvg0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYWN0aXZpdGllcyBvdmVydmlldyB3aGVuIHRoZXJlIGFyZSBubyB3aW5kb3dzLCBvciBoaWRlIGl0IHdoZW4gdGhlcmUgYXJlIG5ldyB3aW5kb3dzLiIsCiAgImdldHRleHQtZG9tYWluIjogImF1dG8tYWN0aXZpdGllcyIsCiAgIm5hbWUiOiAiQXV0byBBY3Rpdml0aWVzIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImFjZWRyb25zQHlhaG9vLmNvLmpwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamFuLW5ld2lrby9hdXRvLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogImF1dG8tYWN0aXZpdGllc0BhY2Vkcm9uLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxNAp9"}}}
@@ -514,7 +514,7 @@
 , {"uuid": "rippleremove@slippinggitty", "name": "Ripple Remove", "pname": "ripple-remove", "description": "Removes the ripple effect from the Activities hot corner", "link": "https://extensions.gnome.org/extension/4264/ripple-remove/", "shell_version_map": {"40": {"version": "1", "sha256": "1dnk8nfnv5hp8c11fzhn5vscicij4lk9i1vz25fz6sjc3rn1a9pq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZXMgdGhlIHJpcHBsZSBlZmZlY3QgZnJvbSB0aGUgQWN0aXZpdGllcyBob3QgY29ybmVyIiwKICAibmFtZSI6ICJSaXBwbGUgUmVtb3ZlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5zbGlwcGluZ2l0dHkucmlwcGxlcmVtb3ZlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJyaXBwbGVyZW1vdmVAc2xpcHBpbmdnaXR0eSIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "quickmenu@slippinggitty", "name": "Quick Menu [DEAD]", "pname": "quick-menu", "description": "This is a fork of fedoramenu (which is a fork of Big Sur Menu by fausto) that scrubs references of Fedora by replacing the icon with the GNOME logo.\n\nQuick Menu is a panel applet similar to the Apple menu found on macOS.\n\nEDIT: This extension's purpose is dead. Check out Tofu Menu, which is fedoramenu, but with the ability to change the icon. https://extensions.gnome.org/extension/4272/tofu-menu/", "link": "https://extensions.gnome.org/extension/4266/quick-menu/", "shell_version_map": {"40": {"version": "1", "sha256": "1qla029n79366a7xvg2d9v0wa7272bqj40ggvbjrfsbd8x066aca", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgaXMgYSBmb3JrIG9mIGZlZG9yYW1lbnUgKHdoaWNoIGlzIGEgZm9yayBvZiBCaWcgU3VyIE1lbnUgYnkgZmF1c3RvKSB0aGF0IHNjcnVicyByZWZlcmVuY2VzIG9mIEZlZG9yYSBieSByZXBsYWNpbmcgdGhlIGljb24gd2l0aCB0aGUgR05PTUUgbG9nby5cblxuUXVpY2sgTWVudSBpcyBhIHBhbmVsIGFwcGxldCBzaW1pbGFyIHRvIHRoZSBBcHBsZSBtZW51IGZvdW5kIG9uIG1hY09TLlxuXG5FRElUOiBUaGlzIGV4dGVuc2lvbidzIHB1cnBvc2UgaXMgZGVhZC4gQ2hlY2sgb3V0IFRvZnUgTWVudSwgd2hpY2ggaXMgZmVkb3JhbWVudSwgYnV0IHdpdGggdGhlIGFiaWxpdHkgdG8gY2hhbmdlIHRoZSBpY29uLiBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi80MjcyL3RvZnUtbWVudS8iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJxdWljay1tZW51IiwKICAibmFtZSI6ICJRdWljayBNZW51IFtERUFEXSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuc2xpcHBpbmdpdHR5LnF1aWNrLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2xpcHBpbmdHaXR0eS9xdWlja21lbnUiLAogICJ1dWlkIjogInF1aWNrbWVudUBzbGlwcGluZ2dpdHR5IiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
 , {"uuid": "show-desktop-applet@valent-in", "name": "Show Desktop Applet", "pname": "show-desktop-applet", "description": "Minimize/unminimize all open windows with a single click.\n\nForked from https://extensions.gnome.org/extension/1194/show-desktop-button/\n\nFeatures:\n- Windows-like behavior\n- Can be placed at the end of panel\n- Hotkey support (can be activated in settings)", "link": "https://extensions.gnome.org/extension/4267/show-desktop-applet/", "shell_version_map": {"38": {"version": "3", "sha256": "1cm3mfcijjgm9wy2m5hvc6q4ra4b4nqpwl8zhvpf2gxp7vrg4l2y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplL3VubWluaW1pemUgYWxsIG9wZW4gd2luZG93cyB3aXRoIGEgc2luZ2xlIGNsaWNrLlxuXG5Gb3JrZWQgZnJvbSBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTk0L3Nob3ctZGVza3RvcC1idXR0b24vXG5cbkZlYXR1cmVzOlxuLSBXaW5kb3dzLWxpa2UgYmVoYXZpb3Jcbi0gQ2FuIGJlIHBsYWNlZCBhdCB0aGUgZW5kIG9mIHBhbmVsXG4tIEhvdGtleSBzdXBwb3J0IChjYW4gYmUgYWN0aXZhdGVkIGluIHNldHRpbmdzKSIsCiAgImV4dGVuc2lvbi1pZCI6ICJzaG93LWRlc2t0b3AtYXBwbGV0IiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2hvdy1kZXNrdG9wLWFwcGxldCIsCiAgImxvY2FsZWRpciI6ICIvdXNyL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiU2hvdyBEZXNrdG9wIEFwcGxldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaG93LWRlc2t0b3AtYXBwbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9WYWxlbnQtaW4vU2hvdy1EZXNrdG9wLUFwcGxldCIsCiAgInV1aWQiOiAic2hvdy1kZXNrdG9wLWFwcGxldEB2YWxlbnQtaW4iLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "1cm3mfcijjgm9wy2m5hvc6q4ra4b4nqpwl8zhvpf2gxp7vrg4l2y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplL3VubWluaW1pemUgYWxsIG9wZW4gd2luZG93cyB3aXRoIGEgc2luZ2xlIGNsaWNrLlxuXG5Gb3JrZWQgZnJvbSBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTk0L3Nob3ctZGVza3RvcC1idXR0b24vXG5cbkZlYXR1cmVzOlxuLSBXaW5kb3dzLWxpa2UgYmVoYXZpb3Jcbi0gQ2FuIGJlIHBsYWNlZCBhdCB0aGUgZW5kIG9mIHBhbmVsXG4tIEhvdGtleSBzdXBwb3J0IChjYW4gYmUgYWN0aXZhdGVkIGluIHNldHRpbmdzKSIsCiAgImV4dGVuc2lvbi1pZCI6ICJzaG93LWRlc2t0b3AtYXBwbGV0IiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2hvdy1kZXNrdG9wLWFwcGxldCIsCiAgImxvY2FsZWRpciI6ICIvdXNyL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiU2hvdyBEZXNrdG9wIEFwcGxldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaG93LWRlc2t0b3AtYXBwbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9WYWxlbnQtaW4vU2hvdy1EZXNrdG9wLUFwcGxldCIsCiAgInV1aWQiOiAic2hvdy1kZXNrdG9wLWFwcGxldEB2YWxlbnQtaW4iLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "1cm3mfcijjgm9wy2m5hvc6q4ra4b4nqpwl8zhvpf2gxp7vrg4l2y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplL3VubWluaW1pemUgYWxsIG9wZW4gd2luZG93cyB3aXRoIGEgc2luZ2xlIGNsaWNrLlxuXG5Gb3JrZWQgZnJvbSBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTk0L3Nob3ctZGVza3RvcC1idXR0b24vXG5cbkZlYXR1cmVzOlxuLSBXaW5kb3dzLWxpa2UgYmVoYXZpb3Jcbi0gQ2FuIGJlIHBsYWNlZCBhdCB0aGUgZW5kIG9mIHBhbmVsXG4tIEhvdGtleSBzdXBwb3J0IChjYW4gYmUgYWN0aXZhdGVkIGluIHNldHRpbmdzKSIsCiAgImV4dGVuc2lvbi1pZCI6ICJzaG93LWRlc2t0b3AtYXBwbGV0IiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2hvdy1kZXNrdG9wLWFwcGxldCIsCiAgImxvY2FsZWRpciI6ICIvdXNyL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiU2hvdyBEZXNrdG9wIEFwcGxldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaG93LWRlc2t0b3AtYXBwbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9WYWxlbnQtaW4vU2hvdy1EZXNrdG9wLUFwcGxldCIsCiAgInV1aWQiOiAic2hvdy1kZXNrdG9wLWFwcGxldEB2YWxlbnQtaW4iLAogICJ2ZXJzaW9uIjogMwp9"}}}
-, {"uuid": "AlphabeticalAppGrid@stuarthayhurst", "name": "Alphabetical App Grid", "pname": "alphabetical-app-grid", "description": "Restore the alphabetical ordering of the app grid", "link": "https://extensions.gnome.org/extension/4269/alphabetical-app-grid/", "shell_version_map": {"38": {"version": "24", "sha256": "0v2s215c9gahr2farhx66qhiq5k8qvchnqhw25bhly1klfd21gbh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlYnVnIjogZmFsc2UsCiAgImRlc2NyaXB0aW9uIjogIlJlc3RvcmUgdGhlIGFscGhhYmV0aWNhbCBvcmRlcmluZyBvZiB0aGUgYXBwIGdyaWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJBbHBoYWJldGljYWxBcHBHcmlkQHN0dWFydGhheWh1cnN0IiwKICAibmFtZSI6ICJBbHBoYWJldGljYWwgQXBwIEdyaWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWxwaGFiZXRpY2FsLWFwcC1ncmlkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3R1YXJ0aGF5aHVyc3QvYWxwaGFiZXRpY2FsLWdyaWQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJBbHBoYWJldGljYWxBcHBHcmlkQHN0dWFydGhheWh1cnN0IiwKICAidmVyc2lvbiI6IDI0Cn0="}, "40": {"version": "24", "sha256": "0v2s215c9gahr2farhx66qhiq5k8qvchnqhw25bhly1klfd21gbh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlYnVnIjogZmFsc2UsCiAgImRlc2NyaXB0aW9uIjogIlJlc3RvcmUgdGhlIGFscGhhYmV0aWNhbCBvcmRlcmluZyBvZiB0aGUgYXBwIGdyaWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJBbHBoYWJldGljYWxBcHBHcmlkQHN0dWFydGhheWh1cnN0IiwKICAibmFtZSI6ICJBbHBoYWJldGljYWwgQXBwIEdyaWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWxwaGFiZXRpY2FsLWFwcC1ncmlkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3R1YXJ0aGF5aHVyc3QvYWxwaGFiZXRpY2FsLWdyaWQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJBbHBoYWJldGljYWxBcHBHcmlkQHN0dWFydGhheWh1cnN0IiwKICAidmVyc2lvbiI6IDI0Cn0="}, "41": {"version": "24", "sha256": "0v2s215c9gahr2farhx66qhiq5k8qvchnqhw25bhly1klfd21gbh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlYnVnIjogZmFsc2UsCiAgImRlc2NyaXB0aW9uIjogIlJlc3RvcmUgdGhlIGFscGhhYmV0aWNhbCBvcmRlcmluZyBvZiB0aGUgYXBwIGdyaWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJBbHBoYWJldGljYWxBcHBHcmlkQHN0dWFydGhheWh1cnN0IiwKICAibmFtZSI6ICJBbHBoYWJldGljYWwgQXBwIEdyaWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWxwaGFiZXRpY2FsLWFwcC1ncmlkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3R1YXJ0aGF5aHVyc3QvYWxwaGFiZXRpY2FsLWdyaWQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJBbHBoYWJldGljYWxBcHBHcmlkQHN0dWFydGhheWh1cnN0IiwKICAidmVyc2lvbiI6IDI0Cn0="}, "42": {"version": "24", "sha256": "0v2s215c9gahr2farhx66qhiq5k8qvchnqhw25bhly1klfd21gbh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlYnVnIjogZmFsc2UsCiAgImRlc2NyaXB0aW9uIjogIlJlc3RvcmUgdGhlIGFscGhhYmV0aWNhbCBvcmRlcmluZyBvZiB0aGUgYXBwIGdyaWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJBbHBoYWJldGljYWxBcHBHcmlkQHN0dWFydGhheWh1cnN0IiwKICAibmFtZSI6ICJBbHBoYWJldGljYWwgQXBwIEdyaWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWxwaGFiZXRpY2FsLWFwcC1ncmlkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3R1YXJ0aGF5aHVyc3QvYWxwaGFiZXRpY2FsLWdyaWQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJBbHBoYWJldGljYWxBcHBHcmlkQHN0dWFydGhheWh1cnN0IiwKICAidmVyc2lvbiI6IDI0Cn0="}}}
+, {"uuid": "AlphabeticalAppGrid@stuarthayhurst", "name": "Alphabetical App Grid", "pname": "alphabetical-app-grid", "description": "Restore the alphabetical ordering of the app grid", "link": "https://extensions.gnome.org/extension/4269/alphabetical-app-grid/", "shell_version_map": {"38": {"version": "25", "sha256": "01012rr9azwidh5anwl54g33c2z1yfz9sz1bdjdc7c895jzzr07g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlYnVnIjogZmFsc2UsCiAgImRlc2NyaXB0aW9uIjogIlJlc3RvcmUgdGhlIGFscGhhYmV0aWNhbCBvcmRlcmluZyBvZiB0aGUgYXBwIGdyaWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJBbHBoYWJldGljYWxBcHBHcmlkQHN0dWFydGhheWh1cnN0IiwKICAibmFtZSI6ICJBbHBoYWJldGljYWwgQXBwIEdyaWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWxwaGFiZXRpY2FsLWFwcC1ncmlkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3R1YXJ0aGF5aHVyc3QvYWxwaGFiZXRpY2FsLWdyaWQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJBbHBoYWJldGljYWxBcHBHcmlkQHN0dWFydGhheWh1cnN0IiwKICAidmVyc2lvbiI6IDI1Cn0="}, "40": {"version": "25", "sha256": "01012rr9azwidh5anwl54g33c2z1yfz9sz1bdjdc7c895jzzr07g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlYnVnIjogZmFsc2UsCiAgImRlc2NyaXB0aW9uIjogIlJlc3RvcmUgdGhlIGFscGhhYmV0aWNhbCBvcmRlcmluZyBvZiB0aGUgYXBwIGdyaWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJBbHBoYWJldGljYWxBcHBHcmlkQHN0dWFydGhheWh1cnN0IiwKICAibmFtZSI6ICJBbHBoYWJldGljYWwgQXBwIEdyaWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWxwaGFiZXRpY2FsLWFwcC1ncmlkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3R1YXJ0aGF5aHVyc3QvYWxwaGFiZXRpY2FsLWdyaWQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJBbHBoYWJldGljYWxBcHBHcmlkQHN0dWFydGhheWh1cnN0IiwKICAidmVyc2lvbiI6IDI1Cn0="}, "41": {"version": "25", "sha256": "01012rr9azwidh5anwl54g33c2z1yfz9sz1bdjdc7c895jzzr07g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlYnVnIjogZmFsc2UsCiAgImRlc2NyaXB0aW9uIjogIlJlc3RvcmUgdGhlIGFscGhhYmV0aWNhbCBvcmRlcmluZyBvZiB0aGUgYXBwIGdyaWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJBbHBoYWJldGljYWxBcHBHcmlkQHN0dWFydGhheWh1cnN0IiwKICAibmFtZSI6ICJBbHBoYWJldGljYWwgQXBwIEdyaWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWxwaGFiZXRpY2FsLWFwcC1ncmlkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3R1YXJ0aGF5aHVyc3QvYWxwaGFiZXRpY2FsLWdyaWQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJBbHBoYWJldGljYWxBcHBHcmlkQHN0dWFydGhheWh1cnN0IiwKICAidmVyc2lvbiI6IDI1Cn0="}, "42": {"version": "25", "sha256": "01012rr9azwidh5anwl54g33c2z1yfz9sz1bdjdc7c895jzzr07g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlYnVnIjogZmFsc2UsCiAgImRlc2NyaXB0aW9uIjogIlJlc3RvcmUgdGhlIGFscGhhYmV0aWNhbCBvcmRlcmluZyBvZiB0aGUgYXBwIGdyaWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJBbHBoYWJldGljYWxBcHBHcmlkQHN0dWFydGhheWh1cnN0IiwKICAibmFtZSI6ICJBbHBoYWJldGljYWwgQXBwIEdyaWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWxwaGFiZXRpY2FsLWFwcC1ncmlkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3R1YXJ0aGF5aHVyc3QvYWxwaGFiZXRpY2FsLWdyaWQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJBbHBoYWJldGljYWxBcHBHcmlkQHN0dWFydGhheWh1cnN0IiwKICAidmVyc2lvbiI6IDI1Cn0="}}}
 , {"uuid": "tofumenu@tofu", "name": "Tofu Menu", "pname": "tofu-menu", "description": "Quick access menu for the GNOME panel with options that help ease the workflow for newcomers and power users alike.\n\nhttps://github.com/tofutech/tofumenu", "link": "https://extensions.gnome.org/extension/4272/tofu-menu/", "shell_version_map": {"40": {"version": "2", "sha256": "05ndbjvvz0v1y8iq6ngqylz4z1ld6q5ibhkr5dh24wqc4wiky30v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrIGFjY2VzcyBtZW51IGZvciB0aGUgR05PTUUgcGFuZWwgd2l0aCBvcHRpb25zIHRoYXQgaGVscCBlYXNlIHRoZSB3b3JrZmxvdyBmb3IgbmV3Y29tZXJzIGFuZCBwb3dlciB1c2VycyBhbGlrZS5cblxuaHR0cHM6Ly9naXRodWIuY29tL3RvZnV0ZWNoL3RvZnVtZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZmVkb3JhLW1lbnUiLAogICJuYW1lIjogIlRvZnUgTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcudG9mdS5mZWRvcmEtbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidG9mdW1lbnVAdG9mdSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "cryptostash@filidorwiese.nl", "name": "CryptoStash", "pname": "cryptostash", "description": "Keep an eye on the real time value of your crypto coins collections.\n\nYou can create multiple \"stashes\" (portfolios) of coins and monitor the accumulated value in USD or EUR. Or if you prefer, you can simply track the current value of your favorite coin.", "link": "https://extensions.gnome.org/extension/4276/cryptostash/", "shell_version_map": {"38": {"version": "4", "sha256": "0n1452ky1dppcxazgqxv5jc91l4piwp64rmc9b41ak3792j1sgbw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvcl91cmwiOiAiaHR0cHM6Ly9maWxpZG9yd2llc2UubmwiLAogICJkZXNjcmlwdGlvbiI6ICJLZWVwIGFuIGV5ZSBvbiB0aGUgcmVhbCB0aW1lIHZhbHVlIG9mIHlvdXIgY3J5cHRvIGNvaW5zIGNvbGxlY3Rpb25zLlxuXG5Zb3UgY2FuIGNyZWF0ZSBtdWx0aXBsZSBcInN0YXNoZXNcIiAocG9ydGZvbGlvcykgb2YgY29pbnMgYW5kIG1vbml0b3IgdGhlIGFjY3VtdWxhdGVkIHZhbHVlIGluIFVTRCBvciBFVVIuIE9yIGlmIHlvdSBwcmVmZXIsIHlvdSBjYW4gc2ltcGx5IHRyYWNrIHRoZSBjdXJyZW50IHZhbHVlIG9mIHlvdXIgZmF2b3JpdGUgY29pbi4iLAogICJuYW1lIjogIkNyeXB0b1N0YXNoIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNyeXB0by1zdGFzaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ0YWciOiAxLjMsCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmlsaWRvcndpZXNlL2dub21lLXNoZWxsLWNyeXB0by1zdGFzaCIsCiAgInV1aWQiOiAiY3J5cHRvc3Rhc2hAZmlsaWRvcndpZXNlLm5sIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "xmlfix@pwall.github.com", "name": "XML-Fix", "pname": "xml-fix", "description": "Fixes the XML-Codes displaying instead of the characters on notifications.", "link": "https://extensions.gnome.org/extension/4279/xml-fix/", "shell_version_map": {"38": {"version": "2", "sha256": "1c9qa3ky873hkckylsbv0s7q9bmsnia7h8mlc36i7xz7h1ml6fpx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpeGVzIHRoZSBYTUwtQ29kZXMgZGlzcGxheWluZyBpbnN0ZWFkIG9mIHRoZSBjaGFyYWN0ZXJzIG9uIG5vdGlmaWNhdGlvbnMuIiwKICAibmFtZSI6ICJYTUwtRml4IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUFdhbGwyMjIyL1hNTEZpeCIsCiAgInV1aWQiOiAieG1sZml4QHB3YWxsLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}}}
@@ -531,11 +531,11 @@
 , {"uuid": "force-show-osk@bruh.ltd", "name": "Force Show OSK", "pname": "force-show-osk", "description": "Show the on-screen keyboard regardless of whether the touch mode is enabled", "link": "https://extensions.gnome.org/extension/4316/force-show-osk/", "shell_version_map": {"40": {"version": "4", "sha256": "1lgqiph6mf01w689vnjw7sgp54h2m6pnvccy625nz924mf8xql6b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIG9uLXNjcmVlbiBrZXlib2FyZCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIHRvdWNoIG1vZGUgaXMgZW5hYmxlZCIsCiAgIm5hbWUiOiAiRm9yY2UgU2hvdyBPU0siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9raXJieWtldmluc29uL2ZvcmNlLXNob3ctb3NrIiwKICAidXVpZCI6ICJmb3JjZS1zaG93LW9za0BicnVoLmx0ZCIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "1lgqiph6mf01w689vnjw7sgp54h2m6pnvccy625nz924mf8xql6b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIG9uLXNjcmVlbiBrZXlib2FyZCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIHRvdWNoIG1vZGUgaXMgZW5hYmxlZCIsCiAgIm5hbWUiOiAiRm9yY2UgU2hvdyBPU0siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9raXJieWtldmluc29uL2ZvcmNlLXNob3ctb3NrIiwKICAidXVpZCI6ICJmb3JjZS1zaG93LW9za0BicnVoLmx0ZCIsCiAgInZlcnNpb24iOiA0Cn0="}, "42": {"version": "4", "sha256": "1lgqiph6mf01w689vnjw7sgp54h2m6pnvccy625nz924mf8xql6b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIG9uLXNjcmVlbiBrZXlib2FyZCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIHRvdWNoIG1vZGUgaXMgZW5hYmxlZCIsCiAgIm5hbWUiOiAiRm9yY2UgU2hvdyBPU0siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9raXJieWtldmluc29uL2ZvcmNlLXNob3ctb3NrIiwKICAidXVpZCI6ICJmb3JjZS1zaG93LW9za0BicnVoLmx0ZCIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "asusctl-gex@asus-linux.org", "name": "asusctl-gex", "pname": "asusctl-gex", "description": "asusctl-gex is a frontend for some functionalities of asusctl and supergfxctl that were born inside the asus-linux.org community.\n\nasusctl is not required\nsupergfxctl is required if you have a dual GPU laptop and want to switch between various GPU modes. It is tested on a variaty of laptops including Intel / Nvidia, AMD / Nvidia, Intel / AMD and AMD / AMD GPU combinations.\n\nTo learn more about it, please have a look at:\nhttps://gitlab.com/asus-linux/asusctl\nhttps://gitlab.com/asus-linux/supergfxctl\nhttps://gitlab.com/asus-linux/asusctl-gex\n\nhttps://asus-linux.org/", "link": "https://extensions.gnome.org/extension/4320/asusctl-gex/", "shell_version_map": {"40": {"version": "9", "sha256": "0ivnw4bw494l5zi82yap54zd035kvr4pg6rfkz7ivwccf3y0gfzg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImFzdXNjdGwtZ2V4IGlzIGEgZnJvbnRlbmQgZm9yIHNvbWUgZnVuY3Rpb25hbGl0aWVzIG9mIGFzdXNjdGwgYW5kIHN1cGVyZ2Z4Y3RsIHRoYXQgd2VyZSBib3JuIGluc2lkZSB0aGUgYXN1cy1saW51eC5vcmcgY29tbXVuaXR5LlxuXG5hc3VzY3RsIGlzIG5vdCByZXF1aXJlZFxuc3VwZXJnZnhjdGwgaXMgcmVxdWlyZWQgaWYgeW91IGhhdmUgYSBkdWFsIEdQVSBsYXB0b3AgYW5kIHdhbnQgdG8gc3dpdGNoIGJldHdlZW4gdmFyaW91cyBHUFUgbW9kZXMuIEl0IGlzIHRlc3RlZCBvbiBhIHZhcmlhdHkgb2YgbGFwdG9wcyBpbmNsdWRpbmcgSW50ZWwgLyBOdmlkaWEsIEFNRCAvIE52aWRpYSwgSW50ZWwgLyBBTUQgYW5kIEFNRCAvIEFNRCBHUFUgY29tYmluYXRpb25zLlxuXG5UbyBsZWFybiBtb3JlIGFib3V0IGl0LCBwbGVhc2UgaGF2ZSBhIGxvb2sgYXQ6XG5odHRwczovL2dpdGxhYi5jb20vYXN1cy1saW51eC9hc3VzY3RsXG5odHRwczovL2dpdGxhYi5jb20vYXN1cy1saW51eC9zdXBlcmdmeGN0bFxuaHR0cHM6Ly9naXRsYWIuY29tL2FzdXMtbGludXgvYXN1c2N0bC1nZXhcblxuaHR0cHM6Ly9hc3VzLWxpbnV4Lm9yZy8iLAogICJuYW1lIjogImFzdXNjdGwtZ2V4IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFzdXNjdGwtZ2V4IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImFzdXNjdGwtZ2V4QGFzdXMtbGludXgub3JnIiwKICAidXVpZC1kZXYiOiAiYXN1c2N0bC1nZXgtZGV2QGFzdXMtbGludXgub3JnIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "41": {"version": "9", "sha256": "0ivnw4bw494l5zi82yap54zd035kvr4pg6rfkz7ivwccf3y0gfzg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImFzdXNjdGwtZ2V4IGlzIGEgZnJvbnRlbmQgZm9yIHNvbWUgZnVuY3Rpb25hbGl0aWVzIG9mIGFzdXNjdGwgYW5kIHN1cGVyZ2Z4Y3RsIHRoYXQgd2VyZSBib3JuIGluc2lkZSB0aGUgYXN1cy1saW51eC5vcmcgY29tbXVuaXR5LlxuXG5hc3VzY3RsIGlzIG5vdCByZXF1aXJlZFxuc3VwZXJnZnhjdGwgaXMgcmVxdWlyZWQgaWYgeW91IGhhdmUgYSBkdWFsIEdQVSBsYXB0b3AgYW5kIHdhbnQgdG8gc3dpdGNoIGJldHdlZW4gdmFyaW91cyBHUFUgbW9kZXMuIEl0IGlzIHRlc3RlZCBvbiBhIHZhcmlhdHkgb2YgbGFwdG9wcyBpbmNsdWRpbmcgSW50ZWwgLyBOdmlkaWEsIEFNRCAvIE52aWRpYSwgSW50ZWwgLyBBTUQgYW5kIEFNRCAvIEFNRCBHUFUgY29tYmluYXRpb25zLlxuXG5UbyBsZWFybiBtb3JlIGFib3V0IGl0LCBwbGVhc2UgaGF2ZSBhIGxvb2sgYXQ6XG5odHRwczovL2dpdGxhYi5jb20vYXN1cy1saW51eC9hc3VzY3RsXG5odHRwczovL2dpdGxhYi5jb20vYXN1cy1saW51eC9zdXBlcmdmeGN0bFxuaHR0cHM6Ly9naXRsYWIuY29tL2FzdXMtbGludXgvYXN1c2N0bC1nZXhcblxuaHR0cHM6Ly9hc3VzLWxpbnV4Lm9yZy8iLAogICJuYW1lIjogImFzdXNjdGwtZ2V4IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFzdXNjdGwtZ2V4IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImFzdXNjdGwtZ2V4QGFzdXMtbGludXgub3JnIiwKICAidXVpZC1kZXYiOiAiYXN1c2N0bC1nZXgtZGV2QGFzdXMtbGludXgub3JnIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "42": {"version": "9", "sha256": "0ivnw4bw494l5zi82yap54zd035kvr4pg6rfkz7ivwccf3y0gfzg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImFzdXNjdGwtZ2V4IGlzIGEgZnJvbnRlbmQgZm9yIHNvbWUgZnVuY3Rpb25hbGl0aWVzIG9mIGFzdXNjdGwgYW5kIHN1cGVyZ2Z4Y3RsIHRoYXQgd2VyZSBib3JuIGluc2lkZSB0aGUgYXN1cy1saW51eC5vcmcgY29tbXVuaXR5LlxuXG5hc3VzY3RsIGlzIG5vdCByZXF1aXJlZFxuc3VwZXJnZnhjdGwgaXMgcmVxdWlyZWQgaWYgeW91IGhhdmUgYSBkdWFsIEdQVSBsYXB0b3AgYW5kIHdhbnQgdG8gc3dpdGNoIGJldHdlZW4gdmFyaW91cyBHUFUgbW9kZXMuIEl0IGlzIHRlc3RlZCBvbiBhIHZhcmlhdHkgb2YgbGFwdG9wcyBpbmNsdWRpbmcgSW50ZWwgLyBOdmlkaWEsIEFNRCAvIE52aWRpYSwgSW50ZWwgLyBBTUQgYW5kIEFNRCAvIEFNRCBHUFUgY29tYmluYXRpb25zLlxuXG5UbyBsZWFybiBtb3JlIGFib3V0IGl0LCBwbGVhc2UgaGF2ZSBhIGxvb2sgYXQ6XG5odHRwczovL2dpdGxhYi5jb20vYXN1cy1saW51eC9hc3VzY3RsXG5odHRwczovL2dpdGxhYi5jb20vYXN1cy1saW51eC9zdXBlcmdmeGN0bFxuaHR0cHM6Ly9naXRsYWIuY29tL2FzdXMtbGludXgvYXN1c2N0bC1nZXhcblxuaHR0cHM6Ly9hc3VzLWxpbnV4Lm9yZy8iLAogICJuYW1lIjogImFzdXNjdGwtZ2V4IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFzdXNjdGwtZ2V4IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImFzdXNjdGwtZ2V4QGFzdXMtbGludXgub3JnIiwKICAidXVpZC1kZXYiOiAiYXN1c2N0bC1nZXgtZGV2QGFzdXMtbGludXgub3JnIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
 , {"uuid": "hide-activities-button@nmingori.gnome-shell-extensions.org", "name": "Hide Activities Button", "pname": "hide-activities-button", "description": "Hide Activities Button on the top panel. For Gnome 40 or 3.6+", "link": "https://extensions.gnome.org/extension/4325/hide-activities-button/", "shell_version_map": {"38": {"version": "1", "sha256": "0644h9cqy07h1fgr9wcjp4agvszrcpk6f0yr725hxfil600k5m9b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgQWN0aXZpdGllcyBCdXR0b24gb24gdGhlIHRvcCBwYW5lbC4gRm9yIEdub21lIDQwIG9yIDMuNisiLAogICJuYW1lIjogIkhpZGUgQWN0aXZpdGllcyBCdXR0b24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuNiIsCiAgICAiMy44IiwKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25taW5nb3JpL2dub21lLWhpZGUtYWN0aXRpdmllcy1idXR0b24iLAogICJ1dWlkIjogImhpZGUtYWN0aXZpdGllcy1idXR0b25Abm1pbmdvcmkuZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5vcmciLAogICJ2ZXJzaW9uIjogMQp9"}, "40": {"version": "1", "sha256": "0644h9cqy07h1fgr9wcjp4agvszrcpk6f0yr725hxfil600k5m9b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgQWN0aXZpdGllcyBCdXR0b24gb24gdGhlIHRvcCBwYW5lbC4gRm9yIEdub21lIDQwIG9yIDMuNisiLAogICJuYW1lIjogIkhpZGUgQWN0aXZpdGllcyBCdXR0b24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuNiIsCiAgICAiMy44IiwKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25taW5nb3JpL2dub21lLWhpZGUtYWN0aXRpdmllcy1idXR0b24iLAogICJ1dWlkIjogImhpZGUtYWN0aXZpdGllcy1idXR0b25Abm1pbmdvcmkuZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5vcmciLAogICJ2ZXJzaW9uIjogMQp9"}}}
-, {"uuid": "apt-shortcuts@rx1310", "name": "Shortcuts for APT", "pname": "shortcuts-for-apt", "description": "A small extension that adds buttons to the panel to check for APT updates through the terminal without entering commands.", "link": "https://extensions.gnome.org/extension/4328/shortcuts-for-apt/", "shell_version_map": {"38": {"version": "2", "sha256": "1dagzbryg85hgdksxqb90j6ia1b4rfpm46jihviivc8jz1iqb6f0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc21hbGwgZXh0ZW5zaW9uIHRoYXQgYWRkcyBidXR0b25zIHRvIHRoZSBwYW5lbCB0byBjaGVjayBmb3IgQVBUIHVwZGF0ZXMgdGhyb3VnaCB0aGUgdGVybWluYWwgd2l0aG91dCBlbnRlcmluZyBjb21tYW5kcy4iLAogICJuYW1lIjogIlNob3J0Y3V0cyBmb3IgQVBUIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3J4MTMxMC9nbm9tZS1leHRlbnNpb25fYXB0dXBkYXRlIiwKICAidXVpZCI6ICJhcHQtc2hvcnRjdXRzQHJ4MTMxMCIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "1dagzbryg85hgdksxqb90j6ia1b4rfpm46jihviivc8jz1iqb6f0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc21hbGwgZXh0ZW5zaW9uIHRoYXQgYWRkcyBidXR0b25zIHRvIHRoZSBwYW5lbCB0byBjaGVjayBmb3IgQVBUIHVwZGF0ZXMgdGhyb3VnaCB0aGUgdGVybWluYWwgd2l0aG91dCBlbnRlcmluZyBjb21tYW5kcy4iLAogICJuYW1lIjogIlNob3J0Y3V0cyBmb3IgQVBUIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3J4MTMxMC9nbm9tZS1leHRlbnNpb25fYXB0dXBkYXRlIiwKICAidXVpZCI6ICJhcHQtc2hvcnRjdXRzQHJ4MTMxMCIsCiAgInZlcnNpb24iOiAyCn0="}}}
+, {"uuid": "apt-shortcuts@rx1310", "name": "Shortcuts for APT", "pname": "shortcuts-for-apt", "description": "A small extension that adds buttons to the panel to check for APT updates through the terminal without entering commands.\n\n", "link": "https://extensions.gnome.org/extension/4328/shortcuts-for-apt/", "shell_version_map": {"38": {"version": "2", "sha256": "0p4nzm6wv7akjywdis9prlvdg7y6660i7iby9c1ns865068s6i5m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc21hbGwgZXh0ZW5zaW9uIHRoYXQgYWRkcyBidXR0b25zIHRvIHRoZSBwYW5lbCB0byBjaGVjayBmb3IgQVBUIHVwZGF0ZXMgdGhyb3VnaCB0aGUgdGVybWluYWwgd2l0aG91dCBlbnRlcmluZyBjb21tYW5kcy5cblxuIiwKICAibmFtZSI6ICJTaG9ydGN1dHMgZm9yIEFQVCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYXB0LXNob3J0Y3V0c0ByeDEzMTAiLAogICJ2ZXJzaW9uIjogMgp9"}, "40": {"version": "2", "sha256": "0p4nzm6wv7akjywdis9prlvdg7y6660i7iby9c1ns865068s6i5m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc21hbGwgZXh0ZW5zaW9uIHRoYXQgYWRkcyBidXR0b25zIHRvIHRoZSBwYW5lbCB0byBjaGVjayBmb3IgQVBUIHVwZGF0ZXMgdGhyb3VnaCB0aGUgdGVybWluYWwgd2l0aG91dCBlbnRlcmluZyBjb21tYW5kcy5cblxuIiwKICAibmFtZSI6ICJTaG9ydGN1dHMgZm9yIEFQVCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYXB0LXNob3J0Y3V0c0ByeDEzMTAiLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "ideapad-mode@annexhack.inceptive.ru", "name": "ideapad mode", "pname": "ideapad-mode", "description": "Chargning mode indicator for laptops. Allows to switch the charging mode from conservative or healthy to normal mode. Indicates also which mode you are using now. Works on Lenovo Slim 7.\n\nPlease Report Problems or issues on Gitlab at:\n\nhttps://gitlab.com/annexhack/conservation-mode-lenovo", "link": "https://extensions.gnome.org/extension/4331/ideapad-mode/", "shell_version_map": {"40": {"version": "4", "sha256": "13yrdgly54bbpx7f23h929mq86nyl716kpa426h4np08g8w4rzb1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYXJnbmluZyBtb2RlIGluZGljYXRvciBmb3IgbGFwdG9wcy4gQWxsb3dzIHRvIHN3aXRjaCB0aGUgY2hhcmdpbmcgbW9kZSBmcm9tIGNvbnNlcnZhdGl2ZSBvciBoZWFsdGh5IHRvIG5vcm1hbCBtb2RlLiBJbmRpY2F0ZXMgYWxzbyB3aGljaCBtb2RlIHlvdSBhcmUgdXNpbmcgbm93LiBXb3JrcyBvbiBMZW5vdm8gU2xpbSA3LlxuXG5QbGVhc2UgUmVwb3J0IFByb2JsZW1zIG9yIGlzc3VlcyBvbiBHaXRsYWIgYXQ6XG5cbmh0dHBzOi8vZ2l0bGFiLmNvbS9hbm5leGhhY2svY29uc2VydmF0aW9uLW1vZGUtbGVub3ZvIiwKICAibmFtZSI6ICJpZGVhcGFkIG1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9hbm5leGhhY2svY29uc2VydmF0aW9uLW1vZGUtbGVub3ZvIiwKICAidXVpZCI6ICJpZGVhcGFkLW1vZGVAYW5uZXhoYWNrLmluY2VwdGl2ZS5ydSIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "13yrdgly54bbpx7f23h929mq86nyl716kpa426h4np08g8w4rzb1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYXJnbmluZyBtb2RlIGluZGljYXRvciBmb3IgbGFwdG9wcy4gQWxsb3dzIHRvIHN3aXRjaCB0aGUgY2hhcmdpbmcgbW9kZSBmcm9tIGNvbnNlcnZhdGl2ZSBvciBoZWFsdGh5IHRvIG5vcm1hbCBtb2RlLiBJbmRpY2F0ZXMgYWxzbyB3aGljaCBtb2RlIHlvdSBhcmUgdXNpbmcgbm93LiBXb3JrcyBvbiBMZW5vdm8gU2xpbSA3LlxuXG5QbGVhc2UgUmVwb3J0IFByb2JsZW1zIG9yIGlzc3VlcyBvbiBHaXRsYWIgYXQ6XG5cbmh0dHBzOi8vZ2l0bGFiLmNvbS9hbm5leGhhY2svY29uc2VydmF0aW9uLW1vZGUtbGVub3ZvIiwKICAibmFtZSI6ICJpZGVhcGFkIG1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9hbm5leGhhY2svY29uc2VydmF0aW9uLW1vZGUtbGVub3ZvIiwKICAidXVpZCI6ICJpZGVhcGFkLW1vZGVAYW5uZXhoYWNrLmluY2VwdGl2ZS5ydSIsCiAgInZlcnNpb24iOiA0Cn0="}, "42": {"version": "4", "sha256": "13yrdgly54bbpx7f23h929mq86nyl716kpa426h4np08g8w4rzb1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYXJnbmluZyBtb2RlIGluZGljYXRvciBmb3IgbGFwdG9wcy4gQWxsb3dzIHRvIHN3aXRjaCB0aGUgY2hhcmdpbmcgbW9kZSBmcm9tIGNvbnNlcnZhdGl2ZSBvciBoZWFsdGh5IHRvIG5vcm1hbCBtb2RlLiBJbmRpY2F0ZXMgYWxzbyB3aGljaCBtb2RlIHlvdSBhcmUgdXNpbmcgbm93LiBXb3JrcyBvbiBMZW5vdm8gU2xpbSA3LlxuXG5QbGVhc2UgUmVwb3J0IFByb2JsZW1zIG9yIGlzc3VlcyBvbiBHaXRsYWIgYXQ6XG5cbmh0dHBzOi8vZ2l0bGFiLmNvbS9hbm5leGhhY2svY29uc2VydmF0aW9uLW1vZGUtbGVub3ZvIiwKICAibmFtZSI6ICJpZGVhcGFkIG1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9hbm5leGhhY2svY29uc2VydmF0aW9uLW1vZGUtbGVub3ZvIiwKICAidXVpZCI6ICJpZGVhcGFkLW1vZGVAYW5uZXhoYWNrLmluY2VwdGl2ZS5ydSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "ubuntu-yaru-appearance@itzlightyhd", "name": "Ubuntu Appearance (GNOME 40)", "pname": "ubuntu-appearance-gnome-40", "description": "Adds a toggle between the default Ubuntu themes on GNOME 40. Forked from https://github.com/Muqtxdir/yaru-remix-theme-toggle.\n\nIt requires the `gnome-shell-extension-prefs` package installed on your Linux environment.", "link": "https://extensions.gnome.org/extension/4335/ubuntu-appearance-gnome-40/", "shell_version_map": {"40": {"version": "1", "sha256": "16068sihwydg99w82nw6qr3lrnq1vh8jl8fbr3q27i3zyds4xyja", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvcnMiOiBbCiAgICAiQXBleGllRGV2ZWxvcG1lbnQiLAogICAgIkl0ekxpZ2h0eUhEIgogIF0sCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSB0b2dnbGUgYmV0d2VlbiB0aGUgZGVmYXVsdCBVYnVudHUgdGhlbWVzIG9uIEdOT01FIDQwLiBGb3JrZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vTXVxdHhkaXIveWFydS1yZW1peC10aGVtZS10b2dnbGUuXG5cbkl0IHJlcXVpcmVzIHRoZSBgZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXByZWZzYCBwYWNrYWdlIGluc3RhbGxlZCBvbiB5b3VyIExpbnV4IGVudmlyb25tZW50LiIsCiAgIm5hbWUiOiAiVWJ1bnR1IEFwcGVhcmFuY2UgKEdOT01FIDQwKSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BcGV4aWVEZXZlbG9wbWVudC91YnVudHUteWFydS1hcHBlYXJhbmNlIiwKICAidXVpZCI6ICJ1YnVudHUteWFydS1hcHBlYXJhbmNlQGl0emxpZ2h0eWhkIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
 , {"uuid": "desktopicons-neo@darkdemon", "name": "Desktop Icons: Neo", "pname": "desktop-icons-neo", "description": "This adds desktop icons to GNOME. A fork of Desktop Icons NG with a massive amount of customizations (like icon shapes and curved corners), features, bug fixes, and overall polish.", "link": "https://extensions.gnome.org/extension/4337/desktop-icons-neo/", "shell_version_map": {"38": {"version": "7", "sha256": "1gvpcgvx2d3mkyb4qzyw4d2gw6s700042ld033dix1v3isdb4sn7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgYWRkcyBkZXNrdG9wIGljb25zIHRvIEdOT01FLiBBIGZvcmsgb2YgRGVza3RvcCBJY29ucyBORyB3aXRoIGEgbWFzc2l2ZSBhbW91bnQgb2YgY3VzdG9taXphdGlvbnMgKGxpa2UgaWNvbiBzaGFwZXMgYW5kIGN1cnZlZCBjb3JuZXJzKSwgZmVhdHVyZXMsIGJ1ZyBmaXhlcywgYW5kIG92ZXJhbGwgcG9saXNoLiIsCiAgIm5hbWUiOiAiRGVza3RvcCBJY29uczogTmVvIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vREVNME5Bc3Npc3NhbjcvZGVza3RvcC1pY29ucy1uZW8iLAogICJ1dWlkIjogImRlc2t0b3BpY29ucy1uZW9AZGFya2RlbW9uIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "40": {"version": "7", "sha256": "1gvpcgvx2d3mkyb4qzyw4d2gw6s700042ld033dix1v3isdb4sn7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgYWRkcyBkZXNrdG9wIGljb25zIHRvIEdOT01FLiBBIGZvcmsgb2YgRGVza3RvcCBJY29ucyBORyB3aXRoIGEgbWFzc2l2ZSBhbW91bnQgb2YgY3VzdG9taXphdGlvbnMgKGxpa2UgaWNvbiBzaGFwZXMgYW5kIGN1cnZlZCBjb3JuZXJzKSwgZmVhdHVyZXMsIGJ1ZyBmaXhlcywgYW5kIG92ZXJhbGwgcG9saXNoLiIsCiAgIm5hbWUiOiAiRGVza3RvcCBJY29uczogTmVvIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vREVNME5Bc3Npc3NhbjcvZGVza3RvcC1pY29ucy1uZW8iLAogICJ1dWlkIjogImRlc2t0b3BpY29ucy1uZW9AZGFya2RlbW9uIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "41": {"version": "7", "sha256": "1gvpcgvx2d3mkyb4qzyw4d2gw6s700042ld033dix1v3isdb4sn7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgYWRkcyBkZXNrdG9wIGljb25zIHRvIEdOT01FLiBBIGZvcmsgb2YgRGVza3RvcCBJY29ucyBORyB3aXRoIGEgbWFzc2l2ZSBhbW91bnQgb2YgY3VzdG9taXphdGlvbnMgKGxpa2UgaWNvbiBzaGFwZXMgYW5kIGN1cnZlZCBjb3JuZXJzKSwgZmVhdHVyZXMsIGJ1ZyBmaXhlcywgYW5kIG92ZXJhbGwgcG9saXNoLiIsCiAgIm5hbWUiOiAiRGVza3RvcCBJY29uczogTmVvIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vREVNME5Bc3Npc3NhbjcvZGVza3RvcC1pY29ucy1uZW8iLAogICJ1dWlkIjogImRlc2t0b3BpY29ucy1uZW9AZGFya2RlbW9uIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "42": {"version": "7", "sha256": "1gvpcgvx2d3mkyb4qzyw4d2gw6s700042ld033dix1v3isdb4sn7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgYWRkcyBkZXNrdG9wIGljb25zIHRvIEdOT01FLiBBIGZvcmsgb2YgRGVza3RvcCBJY29ucyBORyB3aXRoIGEgbWFzc2l2ZSBhbW91bnQgb2YgY3VzdG9taXphdGlvbnMgKGxpa2UgaWNvbiBzaGFwZXMgYW5kIGN1cnZlZCBjb3JuZXJzKSwgZmVhdHVyZXMsIGJ1ZyBmaXhlcywgYW5kIG92ZXJhbGwgcG9saXNoLiIsCiAgIm5hbWUiOiAiRGVza3RvcCBJY29uczogTmVvIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vREVNME5Bc3Npc3NhbjcvZGVza3RvcC1pY29ucy1uZW8iLAogICJ1dWlkIjogImRlc2t0b3BpY29ucy1uZW9AZGFya2RlbW9uIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
-, {"uuid": "allowlockedremotedesktop@kamens.us", "name": "Allow Locked Remote Desktop", "pname": "allow-locked-remote-desktop", "description": "Allow remote desktop connections when the screen is locked", "link": "https://extensions.gnome.org/extension/4338/allow-locked-remote-desktop/", "shell_version_map": {"38": {"version": "4", "sha256": "0z1kkvplvqywjpxw9cv2lv0bhl1m56fmq7d98gcv4iqh94s1p2zm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHJlbW90ZSBkZXNrdG9wIGNvbm5lY3Rpb25zIHdoZW4gdGhlIHNjcmVlbiBpcyBsb2NrZWQiLAogICJuYW1lIjogIkFsbG93IExvY2tlZCBSZW1vdGUgRGVza3RvcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJhbGxvd2xvY2tlZHJlbW90ZWRlc2t0b3BAa2FtZW5zLnVzIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "0z1kkvplvqywjpxw9cv2lv0bhl1m56fmq7d98gcv4iqh94s1p2zm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHJlbW90ZSBkZXNrdG9wIGNvbm5lY3Rpb25zIHdoZW4gdGhlIHNjcmVlbiBpcyBsb2NrZWQiLAogICJuYW1lIjogIkFsbG93IExvY2tlZCBSZW1vdGUgRGVza3RvcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJhbGxvd2xvY2tlZHJlbW90ZWRlc2t0b3BAa2FtZW5zLnVzIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "0z1kkvplvqywjpxw9cv2lv0bhl1m56fmq7d98gcv4iqh94s1p2zm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHJlbW90ZSBkZXNrdG9wIGNvbm5lY3Rpb25zIHdoZW4gdGhlIHNjcmVlbiBpcyBsb2NrZWQiLAogICJuYW1lIjogIkFsbG93IExvY2tlZCBSZW1vdGUgRGVza3RvcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJhbGxvd2xvY2tlZHJlbW90ZWRlc2t0b3BAa2FtZW5zLnVzIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "42": {"version": "4", "sha256": "0z1kkvplvqywjpxw9cv2lv0bhl1m56fmq7d98gcv4iqh94s1p2zm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHJlbW90ZSBkZXNrdG9wIGNvbm5lY3Rpb25zIHdoZW4gdGhlIHNjcmVlbiBpcyBsb2NrZWQiLAogICJuYW1lIjogIkFsbG93IExvY2tlZCBSZW1vdGUgRGVza3RvcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJhbGxvd2xvY2tlZHJlbW90ZWRlc2t0b3BAa2FtZW5zLnVzIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
+, {"uuid": "allowlockedremotedesktop@kamens.us", "name": "Allow Locked Remote Desktop", "pname": "allow-locked-remote-desktop", "description": "Allow remote desktop connections when the screen is locked", "link": "https://extensions.gnome.org/extension/4338/allow-locked-remote-desktop/", "shell_version_map": {"38": {"version": "6", "sha256": "0imfg8camy52qnidh4b1yqdasmmc3xba6d96pa2skw388h71h40j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHJlbW90ZSBkZXNrdG9wIGNvbm5lY3Rpb25zIHdoZW4gdGhlIHNjcmVlbiBpcyBsb2NrZWQiLAogICJuYW1lIjogIkFsbG93IExvY2tlZCBSZW1vdGUgRGVza3RvcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImFsbG93bG9ja2VkcmVtb3RlZGVza3RvcEBrYW1lbnMudXMiLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "0imfg8camy52qnidh4b1yqdasmmc3xba6d96pa2skw388h71h40j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHJlbW90ZSBkZXNrdG9wIGNvbm5lY3Rpb25zIHdoZW4gdGhlIHNjcmVlbiBpcyBsb2NrZWQiLAogICJuYW1lIjogIkFsbG93IExvY2tlZCBSZW1vdGUgRGVza3RvcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImFsbG93bG9ja2VkcmVtb3RlZGVza3RvcEBrYW1lbnMudXMiLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "0imfg8camy52qnidh4b1yqdasmmc3xba6d96pa2skw388h71h40j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHJlbW90ZSBkZXNrdG9wIGNvbm5lY3Rpb25zIHdoZW4gdGhlIHNjcmVlbiBpcyBsb2NrZWQiLAogICJuYW1lIjogIkFsbG93IExvY2tlZCBSZW1vdGUgRGVza3RvcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImFsbG93bG9ja2VkcmVtb3RlZGVza3RvcEBrYW1lbnMudXMiLAogICJ2ZXJzaW9uIjogNgp9"}, "42": {"version": "7", "sha256": "04w9kkkpfppajwi0ph14sc8pm8wjf0pd7av84y9ggdybd3i3wh9n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHJlbW90ZSBkZXNrdG9wIGNvbm5lY3Rpb25zIHdoZW4gdGhlIHNjcmVlbiBpcyBsb2NrZWQiLAogICJuYW1lIjogIkFsbG93IExvY2tlZCBSZW1vdGUgRGVza3RvcCIsCiAgInNlc3Npb24tbW9kZXMiOiBbCiAgICAidXNlciIsCiAgICAidW5sb2NrLWRpYWxvZyIKICBdLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImFsbG93bG9ja2VkcmVtb3RlZGVza3RvcEBrYW1lbnMudXMiLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "mumble-ping@maweil.github.com", "name": "MumblePing", "pname": "mumbleping", "description": "Displays how many users are currently online on a mumble server", "link": "https://extensions.gnome.org/extension/4341/mumbleping/", "shell_version_map": {"38": {"version": "3", "sha256": "1lbpscd4lyhm9hy7w287pqaam73qgx756dyk17zysksg3fjhp3w8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIGhvdyBtYW55IHVzZXJzIGFyZSBjdXJyZW50bHkgb25saW5lIG9uIGEgbXVtYmxlIHNlcnZlciIsCiAgImdldHRleHQtZG9tYWluIjogIm11bWJsZS1waW5nIiwKICAibmFtZSI6ICJNdW1ibGVQaW5nIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm11bWJsZS1waW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWF3ZWlsL2dub21lLXNoZWxsLWV4dGVuc2lvbi1tdW1ibGUtcGluZyIsCiAgInV1aWQiOiAibXVtYmxlLXBpbmdAbWF3ZWlsLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "1lbpscd4lyhm9hy7w287pqaam73qgx756dyk17zysksg3fjhp3w8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIGhvdyBtYW55IHVzZXJzIGFyZSBjdXJyZW50bHkgb25saW5lIG9uIGEgbXVtYmxlIHNlcnZlciIsCiAgImdldHRleHQtZG9tYWluIjogIm11bWJsZS1waW5nIiwKICAibmFtZSI6ICJNdW1ibGVQaW5nIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm11bWJsZS1waW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWF3ZWlsL2dub21lLXNoZWxsLWV4dGVuc2lvbi1tdW1ibGUtcGluZyIsCiAgInV1aWQiOiAibXVtYmxlLXBpbmdAbWF3ZWlsLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "1lbpscd4lyhm9hy7w287pqaam73qgx756dyk17zysksg3fjhp3w8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIGhvdyBtYW55IHVzZXJzIGFyZSBjdXJyZW50bHkgb25saW5lIG9uIGEgbXVtYmxlIHNlcnZlciIsCiAgImdldHRleHQtZG9tYWluIjogIm11bWJsZS1waW5nIiwKICAibmFtZSI6ICJNdW1ibGVQaW5nIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm11bWJsZS1waW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWF3ZWlsL2dub21lLXNoZWxsLWV4dGVuc2lvbi1tdW1ibGUtcGluZyIsCiAgInV1aWQiOiAibXVtYmxlLXBpbmdAbWF3ZWlsLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "42": {"version": "3", "sha256": "1lbpscd4lyhm9hy7w287pqaam73qgx756dyk17zysksg3fjhp3w8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIGhvdyBtYW55IHVzZXJzIGFyZSBjdXJyZW50bHkgb25saW5lIG9uIGEgbXVtYmxlIHNlcnZlciIsCiAgImdldHRleHQtZG9tYWluIjogIm11bWJsZS1waW5nIiwKICAibmFtZSI6ICJNdW1ibGVQaW5nIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm11bWJsZS1waW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWF3ZWlsL2dub21lLXNoZWxsLWV4dGVuc2lvbi1tdW1ibGUtcGluZyIsCiAgInV1aWQiOiAibXVtYmxlLXBpbmdAbWF3ZWlsLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"uuid": "simply.workspaces@andyrichardson.dev", "name": "Simply Workspaces", "pname": "simply-workspaces", "description": "Workspace indication with an i3/polybar style.", "link": "https://extensions.gnome.org/extension/4343/simply-workspaces/", "shell_version_map": {"40": {"version": "6", "sha256": "0pz14h5pf774bl4ij9qg7d8cgc60kyv0q5gmf9isgk38javqdwis", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0aW9uIHdpdGggYW4gaTMvcG9seWJhciBzdHlsZS4iLAogICJuYW1lIjogIlNpbXBseSBXb3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYW5keXJpY2hhcmRzb24vc2ltcGx5LXdvcmtzcGFjZXMiLAogICJ1dWlkIjogInNpbXBseS53b3Jrc3BhY2VzQGFuZHlyaWNoYXJkc29uLmRldiIsCiAgInZlcnNpb24iOiA2Cn0="}, "41": {"version": "6", "sha256": "0pz14h5pf774bl4ij9qg7d8cgc60kyv0q5gmf9isgk38javqdwis", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0aW9uIHdpdGggYW4gaTMvcG9seWJhciBzdHlsZS4iLAogICJuYW1lIjogIlNpbXBseSBXb3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYW5keXJpY2hhcmRzb24vc2ltcGx5LXdvcmtzcGFjZXMiLAogICJ1dWlkIjogInNpbXBseS53b3Jrc3BhY2VzQGFuZHlyaWNoYXJkc29uLmRldiIsCiAgInZlcnNpb24iOiA2Cn0="}, "42": {"version": "6", "sha256": "0pz14h5pf774bl4ij9qg7d8cgc60kyv0q5gmf9isgk38javqdwis", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0aW9uIHdpdGggYW4gaTMvcG9seWJhciBzdHlsZS4iLAogICJuYW1lIjogIlNpbXBseSBXb3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYW5keXJpY2hhcmRzb24vc2ltcGx5LXdvcmtzcGFjZXMiLAogICJ1dWlkIjogInNpbXBseS53b3Jrc3BhY2VzQGFuZHlyaWNoYXJkc29uLmRldiIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"uuid": "nonblockingswitcher@scottworley.com", "name": "Non-Blocking Switcher", "pname": "non-blocking-switcher", "description": "Application switching oughtn't stop all other keyboard shortcuts", "link": "https://extensions.gnome.org/extension/4347/non-blocking-switcher/", "shell_version_map": {"40": {"version": "2", "sha256": "05a59fi1454kxh2q8p5qp3an7ss243v3d67jm37k6xggwd59v5fn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIHN3aXRjaGluZyBvdWdodG4ndCBzdG9wIGFsbCBvdGhlciBrZXlib2FyZCBzaG9ydGN1dHMiLAogICJuYW1lIjogIk5vbi1CbG9ja2luZyBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMiIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9jaHVjay9ub24tYmxvY2tpbmctc3dpdGNoZXIiLAogICJ1dWlkIjogIm5vbmJsb2NraW5nc3dpdGNoZXJAc2NvdHR3b3JsZXkuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
@@ -562,13 +562,13 @@
 , {"uuid": "advanced-alt-tab@G-dH.github.com", "name": "AATWS - Advanced Alt-Tab Window Switcher", "pname": "advanced-alttab-window-switcher", "description": "Highly customizable replacement for the Alt/Super+Tab window/app switchers that offers 'type to search' mode, various filtering and sorting options, workspace and monitor navigation, configurable hotkeys for navigation and window/app control and an app launcher.\nAATWS is compatible with Custom Hot Corners - Extended extension, allows to configure any mouse button and scroll wheel and can be used as a mouse controlled 'dock'.\n\nNote that GNOME has 3 built-in window switcher popups and this extension replaces all of them. The first one is grouping windows by applications and is used as default in vanilla GNOME distributions. The second one offers window list and the third one windows of the currently focused application. You can set keyboard shortcuts for all the switchers in the Gnome Settings.\n\nFollow the link below for more information and bug reports.\n\nKeywords: alttab, search, find, window search, popup delay, applications, apps, dock, monitor, thumbnail, preview, move windows, launch app, switch, VIM.", "link": "https://extensions.gnome.org/extension/4412/advanced-alttab-window-switcher/", "shell_version_map": {"38": {"version": "18", "sha256": "1yffq1i2pczjgy5kgj0mnqp5asimvw5ajnr62p2ywy2di2g2zryb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZ2hseSBjdXN0b21pemFibGUgcmVwbGFjZW1lbnQgZm9yIHRoZSBBbHQvU3VwZXIrVGFiIHdpbmRvdy9hcHAgc3dpdGNoZXJzIHRoYXQgb2ZmZXJzICd0eXBlIHRvIHNlYXJjaCcgbW9kZSwgdmFyaW91cyBmaWx0ZXJpbmcgYW5kIHNvcnRpbmcgb3B0aW9ucywgd29ya3NwYWNlIGFuZCBtb25pdG9yIG5hdmlnYXRpb24sIGNvbmZpZ3VyYWJsZSBob3RrZXlzIGZvciBuYXZpZ2F0aW9uIGFuZCB3aW5kb3cvYXBwIGNvbnRyb2wgYW5kIGFuIGFwcCBsYXVuY2hlci5cbkFBVFdTIGlzIGNvbXBhdGlibGUgd2l0aCBDdXN0b20gSG90IENvcm5lcnMgLSBFeHRlbmRlZCBleHRlbnNpb24sIGFsbG93cyB0byBjb25maWd1cmUgYW55IG1vdXNlIGJ1dHRvbiBhbmQgc2Nyb2xsIHdoZWVsIGFuZCBjYW4gYmUgdXNlZCBhcyBhIG1vdXNlIGNvbnRyb2xsZWQgJ2RvY2snLlxuXG5Ob3RlIHRoYXQgR05PTUUgaGFzIDMgYnVpbHQtaW4gd2luZG93IHN3aXRjaGVyIHBvcHVwcyBhbmQgdGhpcyBleHRlbnNpb24gcmVwbGFjZXMgYWxsIG9mIHRoZW0uIFRoZSBmaXJzdCBvbmUgaXMgZ3JvdXBpbmcgd2luZG93cyBieSBhcHBsaWNhdGlvbnMgYW5kIGlzIHVzZWQgYXMgZGVmYXVsdCBpbiB2YW5pbGxhIEdOT01FIGRpc3RyaWJ1dGlvbnMuIFRoZSBzZWNvbmQgb25lIG9mZmVycyB3aW5kb3cgbGlzdCBhbmQgdGhlIHRoaXJkIG9uZSB3aW5kb3dzIG9mIHRoZSBjdXJyZW50bHkgZm9jdXNlZCBhcHBsaWNhdGlvbi4gWW91IGNhbiBzZXQga2V5Ym9hcmQgc2hvcnRjdXRzIGZvciBhbGwgdGhlIHN3aXRjaGVycyBpbiB0aGUgR25vbWUgU2V0dGluZ3MuXG5cbkZvbGxvdyB0aGUgbGluayBiZWxvdyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgYnVnIHJlcG9ydHMuXG5cbktleXdvcmRzOiBhbHR0YWIsIHNlYXJjaCwgZmluZCwgd2luZG93IHNlYXJjaCwgcG9wdXAgZGVsYXksIGFwcGxpY2F0aW9ucywgYXBwcywgZG9jaywgbW9uaXRvciwgdGh1bWJuYWlsLCBwcmV2aWV3LCBtb3ZlIHdpbmRvd3MsIGxhdW5jaCBhcHAsIHN3aXRjaCwgVklNLiIsCiAgImdldHRleHQtZG9tYWluIjogImFkdmFuY2VkLWFsdC10YWItd2luZG93LXN3aXRjaGVyIiwKICAibmFtZSI6ICJBQVRXUyAtIEFkdmFuY2VkIEFsdC1UYWIgV2luZG93IFN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFkdmFuY2VkLWFsdC10YWItd2luZG93LXN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC9hZHZhbmNlZC1hbHR0YWItd2luZG93LXN3aXRjaGVyIiwKICAidXVpZCI6ICJhZHZhbmNlZC1hbHQtdGFiQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxOAp9"}, "40": {"version": "18", "sha256": "1yffq1i2pczjgy5kgj0mnqp5asimvw5ajnr62p2ywy2di2g2zryb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZ2hseSBjdXN0b21pemFibGUgcmVwbGFjZW1lbnQgZm9yIHRoZSBBbHQvU3VwZXIrVGFiIHdpbmRvdy9hcHAgc3dpdGNoZXJzIHRoYXQgb2ZmZXJzICd0eXBlIHRvIHNlYXJjaCcgbW9kZSwgdmFyaW91cyBmaWx0ZXJpbmcgYW5kIHNvcnRpbmcgb3B0aW9ucywgd29ya3NwYWNlIGFuZCBtb25pdG9yIG5hdmlnYXRpb24sIGNvbmZpZ3VyYWJsZSBob3RrZXlzIGZvciBuYXZpZ2F0aW9uIGFuZCB3aW5kb3cvYXBwIGNvbnRyb2wgYW5kIGFuIGFwcCBsYXVuY2hlci5cbkFBVFdTIGlzIGNvbXBhdGlibGUgd2l0aCBDdXN0b20gSG90IENvcm5lcnMgLSBFeHRlbmRlZCBleHRlbnNpb24sIGFsbG93cyB0byBjb25maWd1cmUgYW55IG1vdXNlIGJ1dHRvbiBhbmQgc2Nyb2xsIHdoZWVsIGFuZCBjYW4gYmUgdXNlZCBhcyBhIG1vdXNlIGNvbnRyb2xsZWQgJ2RvY2snLlxuXG5Ob3RlIHRoYXQgR05PTUUgaGFzIDMgYnVpbHQtaW4gd2luZG93IHN3aXRjaGVyIHBvcHVwcyBhbmQgdGhpcyBleHRlbnNpb24gcmVwbGFjZXMgYWxsIG9mIHRoZW0uIFRoZSBmaXJzdCBvbmUgaXMgZ3JvdXBpbmcgd2luZG93cyBieSBhcHBsaWNhdGlvbnMgYW5kIGlzIHVzZWQgYXMgZGVmYXVsdCBpbiB2YW5pbGxhIEdOT01FIGRpc3RyaWJ1dGlvbnMuIFRoZSBzZWNvbmQgb25lIG9mZmVycyB3aW5kb3cgbGlzdCBhbmQgdGhlIHRoaXJkIG9uZSB3aW5kb3dzIG9mIHRoZSBjdXJyZW50bHkgZm9jdXNlZCBhcHBsaWNhdGlvbi4gWW91IGNhbiBzZXQga2V5Ym9hcmQgc2hvcnRjdXRzIGZvciBhbGwgdGhlIHN3aXRjaGVycyBpbiB0aGUgR25vbWUgU2V0dGluZ3MuXG5cbkZvbGxvdyB0aGUgbGluayBiZWxvdyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgYnVnIHJlcG9ydHMuXG5cbktleXdvcmRzOiBhbHR0YWIsIHNlYXJjaCwgZmluZCwgd2luZG93IHNlYXJjaCwgcG9wdXAgZGVsYXksIGFwcGxpY2F0aW9ucywgYXBwcywgZG9jaywgbW9uaXRvciwgdGh1bWJuYWlsLCBwcmV2aWV3LCBtb3ZlIHdpbmRvd3MsIGxhdW5jaCBhcHAsIHN3aXRjaCwgVklNLiIsCiAgImdldHRleHQtZG9tYWluIjogImFkdmFuY2VkLWFsdC10YWItd2luZG93LXN3aXRjaGVyIiwKICAibmFtZSI6ICJBQVRXUyAtIEFkdmFuY2VkIEFsdC1UYWIgV2luZG93IFN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFkdmFuY2VkLWFsdC10YWItd2luZG93LXN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC9hZHZhbmNlZC1hbHR0YWItd2luZG93LXN3aXRjaGVyIiwKICAidXVpZCI6ICJhZHZhbmNlZC1hbHQtdGFiQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxOAp9"}, "41": {"version": "18", "sha256": "1yffq1i2pczjgy5kgj0mnqp5asimvw5ajnr62p2ywy2di2g2zryb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZ2hseSBjdXN0b21pemFibGUgcmVwbGFjZW1lbnQgZm9yIHRoZSBBbHQvU3VwZXIrVGFiIHdpbmRvdy9hcHAgc3dpdGNoZXJzIHRoYXQgb2ZmZXJzICd0eXBlIHRvIHNlYXJjaCcgbW9kZSwgdmFyaW91cyBmaWx0ZXJpbmcgYW5kIHNvcnRpbmcgb3B0aW9ucywgd29ya3NwYWNlIGFuZCBtb25pdG9yIG5hdmlnYXRpb24sIGNvbmZpZ3VyYWJsZSBob3RrZXlzIGZvciBuYXZpZ2F0aW9uIGFuZCB3aW5kb3cvYXBwIGNvbnRyb2wgYW5kIGFuIGFwcCBsYXVuY2hlci5cbkFBVFdTIGlzIGNvbXBhdGlibGUgd2l0aCBDdXN0b20gSG90IENvcm5lcnMgLSBFeHRlbmRlZCBleHRlbnNpb24sIGFsbG93cyB0byBjb25maWd1cmUgYW55IG1vdXNlIGJ1dHRvbiBhbmQgc2Nyb2xsIHdoZWVsIGFuZCBjYW4gYmUgdXNlZCBhcyBhIG1vdXNlIGNvbnRyb2xsZWQgJ2RvY2snLlxuXG5Ob3RlIHRoYXQgR05PTUUgaGFzIDMgYnVpbHQtaW4gd2luZG93IHN3aXRjaGVyIHBvcHVwcyBhbmQgdGhpcyBleHRlbnNpb24gcmVwbGFjZXMgYWxsIG9mIHRoZW0uIFRoZSBmaXJzdCBvbmUgaXMgZ3JvdXBpbmcgd2luZG93cyBieSBhcHBsaWNhdGlvbnMgYW5kIGlzIHVzZWQgYXMgZGVmYXVsdCBpbiB2YW5pbGxhIEdOT01FIGRpc3RyaWJ1dGlvbnMuIFRoZSBzZWNvbmQgb25lIG9mZmVycyB3aW5kb3cgbGlzdCBhbmQgdGhlIHRoaXJkIG9uZSB3aW5kb3dzIG9mIHRoZSBjdXJyZW50bHkgZm9jdXNlZCBhcHBsaWNhdGlvbi4gWW91IGNhbiBzZXQga2V5Ym9hcmQgc2hvcnRjdXRzIGZvciBhbGwgdGhlIHN3aXRjaGVycyBpbiB0aGUgR25vbWUgU2V0dGluZ3MuXG5cbkZvbGxvdyB0aGUgbGluayBiZWxvdyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgYnVnIHJlcG9ydHMuXG5cbktleXdvcmRzOiBhbHR0YWIsIHNlYXJjaCwgZmluZCwgd2luZG93IHNlYXJjaCwgcG9wdXAgZGVsYXksIGFwcGxpY2F0aW9ucywgYXBwcywgZG9jaywgbW9uaXRvciwgdGh1bWJuYWlsLCBwcmV2aWV3LCBtb3ZlIHdpbmRvd3MsIGxhdW5jaCBhcHAsIHN3aXRjaCwgVklNLiIsCiAgImdldHRleHQtZG9tYWluIjogImFkdmFuY2VkLWFsdC10YWItd2luZG93LXN3aXRjaGVyIiwKICAibmFtZSI6ICJBQVRXUyAtIEFkdmFuY2VkIEFsdC1UYWIgV2luZG93IFN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFkdmFuY2VkLWFsdC10YWItd2luZG93LXN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC9hZHZhbmNlZC1hbHR0YWItd2luZG93LXN3aXRjaGVyIiwKICAidXVpZCI6ICJhZHZhbmNlZC1hbHQtdGFiQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxOAp9"}, "42": {"version": "18", "sha256": "1yffq1i2pczjgy5kgj0mnqp5asimvw5ajnr62p2ywy2di2g2zryb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZ2hseSBjdXN0b21pemFibGUgcmVwbGFjZW1lbnQgZm9yIHRoZSBBbHQvU3VwZXIrVGFiIHdpbmRvdy9hcHAgc3dpdGNoZXJzIHRoYXQgb2ZmZXJzICd0eXBlIHRvIHNlYXJjaCcgbW9kZSwgdmFyaW91cyBmaWx0ZXJpbmcgYW5kIHNvcnRpbmcgb3B0aW9ucywgd29ya3NwYWNlIGFuZCBtb25pdG9yIG5hdmlnYXRpb24sIGNvbmZpZ3VyYWJsZSBob3RrZXlzIGZvciBuYXZpZ2F0aW9uIGFuZCB3aW5kb3cvYXBwIGNvbnRyb2wgYW5kIGFuIGFwcCBsYXVuY2hlci5cbkFBVFdTIGlzIGNvbXBhdGlibGUgd2l0aCBDdXN0b20gSG90IENvcm5lcnMgLSBFeHRlbmRlZCBleHRlbnNpb24sIGFsbG93cyB0byBjb25maWd1cmUgYW55IG1vdXNlIGJ1dHRvbiBhbmQgc2Nyb2xsIHdoZWVsIGFuZCBjYW4gYmUgdXNlZCBhcyBhIG1vdXNlIGNvbnRyb2xsZWQgJ2RvY2snLlxuXG5Ob3RlIHRoYXQgR05PTUUgaGFzIDMgYnVpbHQtaW4gd2luZG93IHN3aXRjaGVyIHBvcHVwcyBhbmQgdGhpcyBleHRlbnNpb24gcmVwbGFjZXMgYWxsIG9mIHRoZW0uIFRoZSBmaXJzdCBvbmUgaXMgZ3JvdXBpbmcgd2luZG93cyBieSBhcHBsaWNhdGlvbnMgYW5kIGlzIHVzZWQgYXMgZGVmYXVsdCBpbiB2YW5pbGxhIEdOT01FIGRpc3RyaWJ1dGlvbnMuIFRoZSBzZWNvbmQgb25lIG9mZmVycyB3aW5kb3cgbGlzdCBhbmQgdGhlIHRoaXJkIG9uZSB3aW5kb3dzIG9mIHRoZSBjdXJyZW50bHkgZm9jdXNlZCBhcHBsaWNhdGlvbi4gWW91IGNhbiBzZXQga2V5Ym9hcmQgc2hvcnRjdXRzIGZvciBhbGwgdGhlIHN3aXRjaGVycyBpbiB0aGUgR25vbWUgU2V0dGluZ3MuXG5cbkZvbGxvdyB0aGUgbGluayBiZWxvdyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgYnVnIHJlcG9ydHMuXG5cbktleXdvcmRzOiBhbHR0YWIsIHNlYXJjaCwgZmluZCwgd2luZG93IHNlYXJjaCwgcG9wdXAgZGVsYXksIGFwcGxpY2F0aW9ucywgYXBwcywgZG9jaywgbW9uaXRvciwgdGh1bWJuYWlsLCBwcmV2aWV3LCBtb3ZlIHdpbmRvd3MsIGxhdW5jaCBhcHAsIHN3aXRjaCwgVklNLiIsCiAgImdldHRleHQtZG9tYWluIjogImFkdmFuY2VkLWFsdC10YWItd2luZG93LXN3aXRjaGVyIiwKICAibmFtZSI6ICJBQVRXUyAtIEFkdmFuY2VkIEFsdC1UYWIgV2luZG93IFN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFkdmFuY2VkLWFsdC10YWItd2luZG93LXN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC9hZHZhbmNlZC1hbHR0YWItd2luZG93LXN3aXRjaGVyIiwKICAidXVpZCI6ICJhZHZhbmNlZC1hbHQtdGFiQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxOAp9"}}}
 , {"uuid": "improvedosk@nick-shmyrev.dev", "name": "Improved OSK", "pname": "improved-osk", "description": "Makes Gnome's onscreen keyboard more useable with e.g. more keys.\nThis extension is a fork of https://extensions.gnome.org/extension/3330/improved-onscreen-keyboard/ by SebastianLuebke.", "link": "https://extensions.gnome.org/extension/4413/improved-osk/", "shell_version_map": {"38": {"version": "8", "sha256": "01n9gllpxvscg56awq8pmyb538mki5zddqyz7cf2c4j2s8glmaz8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdub21lJ3Mgb25zY3JlZW4ga2V5Ym9hcmQgbW9yZSB1c2VhYmxlIHdpdGggZS5nLiBtb3JlIGtleXMuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMzMzMC9pbXByb3ZlZC1vbnNjcmVlbi1rZXlib2FyZC8gYnkgU2ViYXN0aWFuTHVlYmtlLiIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgT1NLIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmljay1zaG15cmV2L2ltcHJvdmVkLW9zay1nbm9tZS1leHQiLAogICJ1dWlkIjogImltcHJvdmVkb3NrQG5pY2stc2hteXJldi5kZXYiLAogICJ2ZXJzaW9uIjogOAp9"}, "40": {"version": "8", "sha256": "01n9gllpxvscg56awq8pmyb538mki5zddqyz7cf2c4j2s8glmaz8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdub21lJ3Mgb25zY3JlZW4ga2V5Ym9hcmQgbW9yZSB1c2VhYmxlIHdpdGggZS5nLiBtb3JlIGtleXMuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMzMzMC9pbXByb3ZlZC1vbnNjcmVlbi1rZXlib2FyZC8gYnkgU2ViYXN0aWFuTHVlYmtlLiIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgT1NLIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmljay1zaG15cmV2L2ltcHJvdmVkLW9zay1nbm9tZS1leHQiLAogICJ1dWlkIjogImltcHJvdmVkb3NrQG5pY2stc2hteXJldi5kZXYiLAogICJ2ZXJzaW9uIjogOAp9"}, "41": {"version": "8", "sha256": "01n9gllpxvscg56awq8pmyb538mki5zddqyz7cf2c4j2s8glmaz8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdub21lJ3Mgb25zY3JlZW4ga2V5Ym9hcmQgbW9yZSB1c2VhYmxlIHdpdGggZS5nLiBtb3JlIGtleXMuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMzMzMC9pbXByb3ZlZC1vbnNjcmVlbi1rZXlib2FyZC8gYnkgU2ViYXN0aWFuTHVlYmtlLiIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgT1NLIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmljay1zaG15cmV2L2ltcHJvdmVkLW9zay1nbm9tZS1leHQiLAogICJ1dWlkIjogImltcHJvdmVkb3NrQG5pY2stc2hteXJldi5kZXYiLAogICJ2ZXJzaW9uIjogOAp9"}, "42": {"version": "8", "sha256": "01n9gllpxvscg56awq8pmyb538mki5zddqyz7cf2c4j2s8glmaz8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdub21lJ3Mgb25zY3JlZW4ga2V5Ym9hcmQgbW9yZSB1c2VhYmxlIHdpdGggZS5nLiBtb3JlIGtleXMuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMzMzMC9pbXByb3ZlZC1vbnNjcmVlbi1rZXlib2FyZC8gYnkgU2ViYXN0aWFuTHVlYmtlLiIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgT1NLIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmljay1zaG15cmV2L2ltcHJvdmVkLW9zay1nbm9tZS1leHQiLAogICJ1dWlkIjogImltcHJvdmVkb3NrQG5pY2stc2hteXJldi5kZXYiLAogICJ2ZXJzaW9uIjogOAp9"}}}
 , {"uuid": "fedora-update@pepe386", "name": "Fedora Linux Updates Indicator", "pname": "fedora-linux-updates-indicator", "description": "Update indicator for Fedora Linux and GNOME Shell.", "link": "https://extensions.gnome.org/extension/4415/fedora-linux-updates-indicator/", "shell_version_map": {"40": {"version": "5", "sha256": "1j6q1mgl75mjbr53z88vj2ablnrp4nx0q2a416wdgbiiwdazidbw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVwZGF0ZSBpbmRpY2F0b3IgZm9yIEZlZG9yYSBMaW51eCBhbmQgR05PTUUgU2hlbGwuIiwKICAibmFtZSI6ICJGZWRvcmEgTGludXggVXBkYXRlcyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wZXBlMzg2L2ZlZG9yYS11cGRhdGUiLAogICJ1dWlkIjogImZlZG9yYS11cGRhdGVAcGVwZTM4NiIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "1j6q1mgl75mjbr53z88vj2ablnrp4nx0q2a416wdgbiiwdazidbw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVwZGF0ZSBpbmRpY2F0b3IgZm9yIEZlZG9yYSBMaW51eCBhbmQgR05PTUUgU2hlbGwuIiwKICAibmFtZSI6ICJGZWRvcmEgTGludXggVXBkYXRlcyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wZXBlMzg2L2ZlZG9yYS11cGRhdGUiLAogICJ1dWlkIjogImZlZG9yYS11cGRhdGVAcGVwZTM4NiIsCiAgInZlcnNpb24iOiA1Cn0="}, "42": {"version": "5", "sha256": "1j6q1mgl75mjbr53z88vj2ablnrp4nx0q2a416wdgbiiwdazidbw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVwZGF0ZSBpbmRpY2F0b3IgZm9yIEZlZG9yYSBMaW51eCBhbmQgR05PTUUgU2hlbGwuIiwKICAibmFtZSI6ICJGZWRvcmEgTGludXggVXBkYXRlcyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wZXBlMzg2L2ZlZG9yYS11cGRhdGUiLAogICJ1dWlkIjogImZlZG9yYS11cGRhdGVAcGVwZTM4NiIsCiAgInZlcnNpb24iOiA1Cn0="}}}
-, {"uuid": "readingstrip@lupantano.gihthub", "name": "Reading Strip", "pname": "reading-strip", "description": "It is a extension for Gnome-Shell with an equivalent function to a reading guide on the computer, that's really useful for people with dyslexia.", "link": "https://extensions.gnome.org/extension/4419/reading-strip/", "shell_version_map": {"40": {"version": "17", "sha256": "0ng4zvpq7abks1y99mkvvc1h5wj0ydfcijyx6j34ipkf730mnmnb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkl0IGlzIGEgZXh0ZW5zaW9uIGZvciBHbm9tZS1TaGVsbCB3aXRoIGFuIGVxdWl2YWxlbnQgZnVuY3Rpb24gdG8gYSByZWFkaW5nIGd1aWRlIG9uIHRoZSBjb21wdXRlciwgdGhhdCdzIHJlYWxseSB1c2VmdWwgZm9yIHBlb3BsZSB3aXRoIGR5c2xleGlhLiIsCiAgIm5hbWUiOiAiUmVhZGluZyBTdHJpcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yZWFkaW5nc3RyaXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sdXBhbnRhbm8vcmVhZGluZ3N0cmlwIiwKICAidXVpZCI6ICJyZWFkaW5nc3RyaXBAbHVwYW50YW5vLmdpaHRodWIiLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "41": {"version": "17", "sha256": "0ng4zvpq7abks1y99mkvvc1h5wj0ydfcijyx6j34ipkf730mnmnb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkl0IGlzIGEgZXh0ZW5zaW9uIGZvciBHbm9tZS1TaGVsbCB3aXRoIGFuIGVxdWl2YWxlbnQgZnVuY3Rpb24gdG8gYSByZWFkaW5nIGd1aWRlIG9uIHRoZSBjb21wdXRlciwgdGhhdCdzIHJlYWxseSB1c2VmdWwgZm9yIHBlb3BsZSB3aXRoIGR5c2xleGlhLiIsCiAgIm5hbWUiOiAiUmVhZGluZyBTdHJpcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yZWFkaW5nc3RyaXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sdXBhbnRhbm8vcmVhZGluZ3N0cmlwIiwKICAidXVpZCI6ICJyZWFkaW5nc3RyaXBAbHVwYW50YW5vLmdpaHRodWIiLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "42": {"version": "17", "sha256": "0ng4zvpq7abks1y99mkvvc1h5wj0ydfcijyx6j34ipkf730mnmnb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkl0IGlzIGEgZXh0ZW5zaW9uIGZvciBHbm9tZS1TaGVsbCB3aXRoIGFuIGVxdWl2YWxlbnQgZnVuY3Rpb24gdG8gYSByZWFkaW5nIGd1aWRlIG9uIHRoZSBjb21wdXRlciwgdGhhdCdzIHJlYWxseSB1c2VmdWwgZm9yIHBlb3BsZSB3aXRoIGR5c2xleGlhLiIsCiAgIm5hbWUiOiAiUmVhZGluZyBTdHJpcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yZWFkaW5nc3RyaXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sdXBhbnRhbm8vcmVhZGluZ3N0cmlwIiwKICAidXVpZCI6ICJyZWFkaW5nc3RyaXBAbHVwYW50YW5vLmdpaHRodWIiLAogICJ2ZXJzaW9uIjogMTcKfQ=="}}}
+, {"uuid": "readingstrip@lupantano.gihthub", "name": "Reading Strip", "pname": "reading-strip", "description": "It’s an extension for Gnome-Shell. It works as a reading guide for computer and this is really useful for people affected by dyslexia. It works great in helping children focusing to read very well, it marks the sentence that they are reading and hides the previous and the next one. It's already used in education projects at schools, it puts the attention on screen but it's also really useful for programmers and graphic designers who want to check their works.", "link": "https://extensions.gnome.org/extension/4419/reading-strip/", "shell_version_map": {"38": {"version": "23", "sha256": "0zca565nrz40ykkgv5rvf8lcyz82xqikwjqfd343n9dwz3q7v48y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkl0XHUyMDE5cyBhbiBleHRlbnNpb24gZm9yIEdub21lLVNoZWxsLiBJdCB3b3JrcyBhcyBhIHJlYWRpbmcgZ3VpZGUgZm9yIGNvbXB1dGVyIGFuZCB0aGlzIGlzIHJlYWxseSB1c2VmdWwgZm9yIHBlb3BsZSBhZmZlY3RlZCBieSBkeXNsZXhpYS4gSXQgd29ya3MgZ3JlYXQgaW4gaGVscGluZyBjaGlsZHJlbiBmb2N1c2luZyB0byByZWFkIHZlcnkgd2VsbCwgaXQgbWFya3MgdGhlIHNlbnRlbmNlIHRoYXQgdGhleSBhcmUgcmVhZGluZyBhbmQgaGlkZXMgdGhlIHByZXZpb3VzIGFuZCB0aGUgbmV4dCBvbmUuIEl0J3MgYWxyZWFkeSB1c2VkIGluIGVkdWNhdGlvbiBwcm9qZWN0cyBhdCBzY2hvb2xzLCBpdCBwdXRzIHRoZSBhdHRlbnRpb24gb24gc2NyZWVuIGJ1dCBpdCdzIGFsc28gcmVhbGx5IHVzZWZ1bCBmb3IgcHJvZ3JhbW1lcnMgYW5kIGdyYXBoaWMgZGVzaWduZXJzIHdobyB3YW50IHRvIGNoZWNrIHRoZWlyIHdvcmtzLiIsCiAgImdldHRleHQtZG9tYWluIjogInJlYWRpbmctc3RyaXAiLAogICJuYW1lIjogIlJlYWRpbmcgU3RyaXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbHVwYW50YW5vL3JlYWRpbmdzdHJpcCIsCiAgInV1aWQiOiAicmVhZGluZ3N0cmlwQGx1cGFudGFuby5naWh0aHViIiwKICAidmVyc2lvbiI6IDIzCn0="}, "40": {"version": "23", "sha256": "0zca565nrz40ykkgv5rvf8lcyz82xqikwjqfd343n9dwz3q7v48y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkl0XHUyMDE5cyBhbiBleHRlbnNpb24gZm9yIEdub21lLVNoZWxsLiBJdCB3b3JrcyBhcyBhIHJlYWRpbmcgZ3VpZGUgZm9yIGNvbXB1dGVyIGFuZCB0aGlzIGlzIHJlYWxseSB1c2VmdWwgZm9yIHBlb3BsZSBhZmZlY3RlZCBieSBkeXNsZXhpYS4gSXQgd29ya3MgZ3JlYXQgaW4gaGVscGluZyBjaGlsZHJlbiBmb2N1c2luZyB0byByZWFkIHZlcnkgd2VsbCwgaXQgbWFya3MgdGhlIHNlbnRlbmNlIHRoYXQgdGhleSBhcmUgcmVhZGluZyBhbmQgaGlkZXMgdGhlIHByZXZpb3VzIGFuZCB0aGUgbmV4dCBvbmUuIEl0J3MgYWxyZWFkeSB1c2VkIGluIGVkdWNhdGlvbiBwcm9qZWN0cyBhdCBzY2hvb2xzLCBpdCBwdXRzIHRoZSBhdHRlbnRpb24gb24gc2NyZWVuIGJ1dCBpdCdzIGFsc28gcmVhbGx5IHVzZWZ1bCBmb3IgcHJvZ3JhbW1lcnMgYW5kIGdyYXBoaWMgZGVzaWduZXJzIHdobyB3YW50IHRvIGNoZWNrIHRoZWlyIHdvcmtzLiIsCiAgImdldHRleHQtZG9tYWluIjogInJlYWRpbmctc3RyaXAiLAogICJuYW1lIjogIlJlYWRpbmcgU3RyaXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbHVwYW50YW5vL3JlYWRpbmdzdHJpcCIsCiAgInV1aWQiOiAicmVhZGluZ3N0cmlwQGx1cGFudGFuby5naWh0aHViIiwKICAidmVyc2lvbiI6IDIzCn0="}, "41": {"version": "23", "sha256": "0zca565nrz40ykkgv5rvf8lcyz82xqikwjqfd343n9dwz3q7v48y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkl0XHUyMDE5cyBhbiBleHRlbnNpb24gZm9yIEdub21lLVNoZWxsLiBJdCB3b3JrcyBhcyBhIHJlYWRpbmcgZ3VpZGUgZm9yIGNvbXB1dGVyIGFuZCB0aGlzIGlzIHJlYWxseSB1c2VmdWwgZm9yIHBlb3BsZSBhZmZlY3RlZCBieSBkeXNsZXhpYS4gSXQgd29ya3MgZ3JlYXQgaW4gaGVscGluZyBjaGlsZHJlbiBmb2N1c2luZyB0byByZWFkIHZlcnkgd2VsbCwgaXQgbWFya3MgdGhlIHNlbnRlbmNlIHRoYXQgdGhleSBhcmUgcmVhZGluZyBhbmQgaGlkZXMgdGhlIHByZXZpb3VzIGFuZCB0aGUgbmV4dCBvbmUuIEl0J3MgYWxyZWFkeSB1c2VkIGluIGVkdWNhdGlvbiBwcm9qZWN0cyBhdCBzY2hvb2xzLCBpdCBwdXRzIHRoZSBhdHRlbnRpb24gb24gc2NyZWVuIGJ1dCBpdCdzIGFsc28gcmVhbGx5IHVzZWZ1bCBmb3IgcHJvZ3JhbW1lcnMgYW5kIGdyYXBoaWMgZGVzaWduZXJzIHdobyB3YW50IHRvIGNoZWNrIHRoZWlyIHdvcmtzLiIsCiAgImdldHRleHQtZG9tYWluIjogInJlYWRpbmctc3RyaXAiLAogICJuYW1lIjogIlJlYWRpbmcgU3RyaXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbHVwYW50YW5vL3JlYWRpbmdzdHJpcCIsCiAgInV1aWQiOiAicmVhZGluZ3N0cmlwQGx1cGFudGFuby5naWh0aHViIiwKICAidmVyc2lvbiI6IDIzCn0="}, "42": {"version": "23", "sha256": "0zca565nrz40ykkgv5rvf8lcyz82xqikwjqfd343n9dwz3q7v48y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkl0XHUyMDE5cyBhbiBleHRlbnNpb24gZm9yIEdub21lLVNoZWxsLiBJdCB3b3JrcyBhcyBhIHJlYWRpbmcgZ3VpZGUgZm9yIGNvbXB1dGVyIGFuZCB0aGlzIGlzIHJlYWxseSB1c2VmdWwgZm9yIHBlb3BsZSBhZmZlY3RlZCBieSBkeXNsZXhpYS4gSXQgd29ya3MgZ3JlYXQgaW4gaGVscGluZyBjaGlsZHJlbiBmb2N1c2luZyB0byByZWFkIHZlcnkgd2VsbCwgaXQgbWFya3MgdGhlIHNlbnRlbmNlIHRoYXQgdGhleSBhcmUgcmVhZGluZyBhbmQgaGlkZXMgdGhlIHByZXZpb3VzIGFuZCB0aGUgbmV4dCBvbmUuIEl0J3MgYWxyZWFkeSB1c2VkIGluIGVkdWNhdGlvbiBwcm9qZWN0cyBhdCBzY2hvb2xzLCBpdCBwdXRzIHRoZSBhdHRlbnRpb24gb24gc2NyZWVuIGJ1dCBpdCdzIGFsc28gcmVhbGx5IHVzZWZ1bCBmb3IgcHJvZ3JhbW1lcnMgYW5kIGdyYXBoaWMgZGVzaWduZXJzIHdobyB3YW50IHRvIGNoZWNrIHRoZWlyIHdvcmtzLiIsCiAgImdldHRleHQtZG9tYWluIjogInJlYWRpbmctc3RyaXAiLAogICJuYW1lIjogIlJlYWRpbmcgU3RyaXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbHVwYW50YW5vL3JlYWRpbmdzdHJpcCIsCiAgInV1aWQiOiAicmVhZGluZ3N0cmlwQGx1cGFudGFuby5naWh0aHViIiwKICAidmVyc2lvbiI6IDIzCn0="}}}
 , {"uuid": "gnome-clipboard@b00f.github.io", "name": "Gnome Clipboard", "pname": "gnome-clipboard", "description": "A gnome shell extension to manage your clipboard.", "link": "https://extensions.gnome.org/extension/4422/gnome-clipboard/", "shell_version_map": {"38": {"version": "8", "sha256": "1zgymry549c6pmj1c0f6gvpyyfj0z93fwbhhxa67fx3nf95gb3kv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIG1hbmFnZSB5b3VyIGNsaXBib2FyZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1jbGlwYm9hcmQiLAogICJuYW1lIjogIkdub21lIENsaXBib2FyZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2IwMGYvZ25vbWUtY2xpcGJvYXJkIiwKICAidXVpZCI6ICJnbm9tZS1jbGlwYm9hcmRAYjAwZi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogOAp9"}, "40": {"version": "14", "sha256": "1cflqd12djby97ji6a595hrszimyxdzd1wwbrcdsb1519cc8gj8d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIG1hbmFnZSB5b3VyIGNsaXBib2FyZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1jbGlwYm9hcmQiLAogICJuYW1lIjogIkdub21lIENsaXBib2FyZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2IwMGYvZ25vbWUtY2xpcGJvYXJkIiwKICAidXVpZCI6ICJnbm9tZS1jbGlwYm9hcmRAYjAwZi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "41": {"version": "14", "sha256": "1cflqd12djby97ji6a595hrszimyxdzd1wwbrcdsb1519cc8gj8d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIG1hbmFnZSB5b3VyIGNsaXBib2FyZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1jbGlwYm9hcmQiLAogICJuYW1lIjogIkdub21lIENsaXBib2FyZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2IwMGYvZ25vbWUtY2xpcGJvYXJkIiwKICAidXVpZCI6ICJnbm9tZS1jbGlwYm9hcmRAYjAwZi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "42": {"version": "14", "sha256": "1cflqd12djby97ji6a595hrszimyxdzd1wwbrcdsb1519cc8gj8d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIG1hbmFnZSB5b3VyIGNsaXBib2FyZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1jbGlwYm9hcmQiLAogICJuYW1lIjogIkdub21lIENsaXBib2FyZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2IwMGYvZ25vbWUtY2xpcGJvYXJkIiwKICAidXVpZCI6ICJnbm9tZS1jbGlwYm9hcmRAYjAwZi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}}}
 , {"uuid": "thanatophobia@yatx.one", "name": "Thanatophobia", "pname": "thanatophobia", "description": "Displays your age in real time. \n\nGreat source of motivation according to terror management theory!", "link": "https://extensions.gnome.org/extension/4425/thanatophobia/", "shell_version_map": {"40": {"version": "8", "sha256": "1bak0ap7rf6101qhvlbjiw41dwqiz21yg3px9l2dqkf751jmq7gz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIHlvdXIgYWdlIGluIHJlYWwgdGltZS4gXG5cbkdyZWF0IHNvdXJjZSBvZiBtb3RpdmF0aW9uIGFjY29yZGluZyB0byB0ZXJyb3IgbWFuYWdlbWVudCB0aGVvcnkhIiwKICAibmFtZSI6ICJUaGFuYXRvcGhvYmlhIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2V5b3RlZC90aGFuYXRvcGhvYmlhIiwKICAidXVpZCI6ICJ0aGFuYXRvcGhvYmlhQHlhdHgub25lIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "41": {"version": "8", "sha256": "1bak0ap7rf6101qhvlbjiw41dwqiz21yg3px9l2dqkf751jmq7gz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIHlvdXIgYWdlIGluIHJlYWwgdGltZS4gXG5cbkdyZWF0IHNvdXJjZSBvZiBtb3RpdmF0aW9uIGFjY29yZGluZyB0byB0ZXJyb3IgbWFuYWdlbWVudCB0aGVvcnkhIiwKICAibmFtZSI6ICJUaGFuYXRvcGhvYmlhIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2V5b3RlZC90aGFuYXRvcGhvYmlhIiwKICAidXVpZCI6ICJ0aGFuYXRvcGhvYmlhQHlhdHgub25lIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "42": {"version": "8", "sha256": "1bak0ap7rf6101qhvlbjiw41dwqiz21yg3px9l2dqkf751jmq7gz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIHlvdXIgYWdlIGluIHJlYWwgdGltZS4gXG5cbkdyZWF0IHNvdXJjZSBvZiBtb3RpdmF0aW9uIGFjY29yZGluZyB0byB0ZXJyb3IgbWFuYWdlbWVudCB0aGVvcnkhIiwKICAibmFtZSI6ICJUaGFuYXRvcGhvYmlhIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2V5b3RlZC90aGFuYXRvcGhvYmlhIiwKICAidXVpZCI6ICJ0aGFuYXRvcGhvYmlhQHlhdHgub25lIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
 , {"uuid": "typewriter-kb@zzzheka97.gmail.com", "name": "Typewriter Keyboard", "pname": "typewriter-keyboard", "description": "Add a typewriter effect to your keyboard.\n \nThis extension is based on typewriter-kb application \n(https://github.com/ZhekehZ/linux-typewriter-kb), which \nis required to run the extension, but is not part of it.\n \n-------------------------------------------\nIcons made by Freepik from www.flaticon.com", "link": "https://extensions.gnome.org/extension/4427/typewriter-keyboard/", "shell_version_map": {"38": {"version": "3", "sha256": "0f4w8bf0vp6s79zcfwa0r7ksazrvl309v8jdbfjf0800dc0zsnw0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHR5cGV3cml0ZXIgZWZmZWN0IHRvIHlvdXIga2V5Ym9hcmQuXG4gXG5UaGlzIGV4dGVuc2lvbiBpcyBiYXNlZCBvbiB0eXBld3JpdGVyLWtiIGFwcGxpY2F0aW9uIFxuKGh0dHBzOi8vZ2l0aHViLmNvbS9aaGVrZWhaL2xpbnV4LXR5cGV3cml0ZXIta2IpLCB3aGljaCBcbmlzIHJlcXVpcmVkIHRvIHJ1biB0aGUgZXh0ZW5zaW9uLCBidXQgaXMgbm90IHBhcnQgb2YgaXQuXG4gXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5JY29ucyBtYWRlIGJ5IEZyZWVwaWsgZnJvbSB3d3cuZmxhdGljb24uY29tIiwKICAibmFtZSI6ICJUeXBld3JpdGVyIEtleWJvYXJkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInR5cGV3cml0ZXIta2JAenp6aGVrYTk3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "0f4w8bf0vp6s79zcfwa0r7ksazrvl309v8jdbfjf0800dc0zsnw0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHR5cGV3cml0ZXIgZWZmZWN0IHRvIHlvdXIga2V5Ym9hcmQuXG4gXG5UaGlzIGV4dGVuc2lvbiBpcyBiYXNlZCBvbiB0eXBld3JpdGVyLWtiIGFwcGxpY2F0aW9uIFxuKGh0dHBzOi8vZ2l0aHViLmNvbS9aaGVrZWhaL2xpbnV4LXR5cGV3cml0ZXIta2IpLCB3aGljaCBcbmlzIHJlcXVpcmVkIHRvIHJ1biB0aGUgZXh0ZW5zaW9uLCBidXQgaXMgbm90IHBhcnQgb2YgaXQuXG4gXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5JY29ucyBtYWRlIGJ5IEZyZWVwaWsgZnJvbSB3d3cuZmxhdGljb24uY29tIiwKICAibmFtZSI6ICJUeXBld3JpdGVyIEtleWJvYXJkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInR5cGV3cml0ZXIta2JAenp6aGVrYTk3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "0f4w8bf0vp6s79zcfwa0r7ksazrvl309v8jdbfjf0800dc0zsnw0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHR5cGV3cml0ZXIgZWZmZWN0IHRvIHlvdXIga2V5Ym9hcmQuXG4gXG5UaGlzIGV4dGVuc2lvbiBpcyBiYXNlZCBvbiB0eXBld3JpdGVyLWtiIGFwcGxpY2F0aW9uIFxuKGh0dHBzOi8vZ2l0aHViLmNvbS9aaGVrZWhaL2xpbnV4LXR5cGV3cml0ZXIta2IpLCB3aGljaCBcbmlzIHJlcXVpcmVkIHRvIHJ1biB0aGUgZXh0ZW5zaW9uLCBidXQgaXMgbm90IHBhcnQgb2YgaXQuXG4gXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5JY29ucyBtYWRlIGJ5IEZyZWVwaWsgZnJvbSB3d3cuZmxhdGljb24uY29tIiwKICAibmFtZSI6ICJUeXBld3JpdGVyIEtleWJvYXJkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInR5cGV3cml0ZXIta2JAenp6aGVrYTk3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "42": {"version": "3", "sha256": "0f4w8bf0vp6s79zcfwa0r7ksazrvl309v8jdbfjf0800dc0zsnw0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHR5cGV3cml0ZXIgZWZmZWN0IHRvIHlvdXIga2V5Ym9hcmQuXG4gXG5UaGlzIGV4dGVuc2lvbiBpcyBiYXNlZCBvbiB0eXBld3JpdGVyLWtiIGFwcGxpY2F0aW9uIFxuKGh0dHBzOi8vZ2l0aHViLmNvbS9aaGVrZWhaL2xpbnV4LXR5cGV3cml0ZXIta2IpLCB3aGljaCBcbmlzIHJlcXVpcmVkIHRvIHJ1biB0aGUgZXh0ZW5zaW9uLCBidXQgaXMgbm90IHBhcnQgb2YgaXQuXG4gXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5JY29ucyBtYWRlIGJ5IEZyZWVwaWsgZnJvbSB3d3cuZmxhdGljb24uY29tIiwKICAibmFtZSI6ICJUeXBld3JpdGVyIEtleWJvYXJkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInR5cGV3cml0ZXIta2JAenp6aGVrYTk3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "dark-side@kamil-galek.pl", "name": "Dark side of Gnome", "pname": "dark-side-of-gnome", "description": "Join the dark side with some of your apps. For now it won't work with every app.", "link": "https://extensions.gnome.org/extension/4430/dark-side-of-gnome/", "shell_version_map": {"40": {"version": "2", "sha256": "08kzwpn22qwgyrps4khwkarn4rakr1rn57wg94wpfgd9pfbgb7ri", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkpvaW4gdGhlIGRhcmsgc2lkZSB3aXRoIHNvbWUgb2YgeW91ciBhcHBzLiBGb3Igbm93IGl0IHdvbid0IHdvcmsgd2l0aCBldmVyeSBhcHAuIiwKICAibmFtZSI6ICJEYXJrIHNpZGUgb2YgR25vbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImRhcmstc2lkZUBrYW1pbC1nYWxlay5wbCIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "wizlight@iabhilashjoshi", "name": "Wiz Light", "pname": "wiz-light", "description": "Control Wiz Connected Lights Through Gnome Shell\n\nRequirements:\n        #Wiz enabled smart bulb\n        #python3  (To install  use command \"sudo apt install python3\")\n        #pywizlight (To install use command \"pip3 install pywizlight\")\n\nTo Use go to the location where extension is installed (usually stored in \"~/.local/share/gnome-shell/extensions\") and change IP address in extension.js file to your smart bulb's IP address and then extension should work.", "link": "https://extensions.gnome.org/extension/4436/wiz-light/", "shell_version_map": {"38": {"version": "4", "sha256": "0pby93ivqz2ymdskyjp6ajc2c588dbpq7vjj7b7d8mc03hvkap5z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgV2l6IENvbm5lY3RlZCBMaWdodHMgVGhyb3VnaCBHbm9tZSBTaGVsbFxuXG5SZXF1aXJlbWVudHM6XG4gICAgICAgICNXaXogZW5hYmxlZCBzbWFydCBidWxiXG4gICAgICAgICNweXRob24zICAoVG8gaW5zdGFsbCAgdXNlIGNvbW1hbmQgXCJzdWRvIGFwdCBpbnN0YWxsIHB5dGhvbjNcIilcbiAgICAgICAgI3B5d2l6bGlnaHQgKFRvIGluc3RhbGwgdXNlIGNvbW1hbmQgXCJwaXAzIGluc3RhbGwgcHl3aXpsaWdodFwiKVxuXG5UbyBVc2UgZ28gdG8gdGhlIGxvY2F0aW9uIHdoZXJlIGV4dGVuc2lvbiBpcyBpbnN0YWxsZWQgKHVzdWFsbHkgc3RvcmVkIGluIFwifi8ubG9jYWwvc2hhcmUvZ25vbWUtc2hlbGwvZXh0ZW5zaW9uc1wiKSBhbmQgY2hhbmdlIElQIGFkZHJlc3MgaW4gZXh0ZW5zaW9uLmpzIGZpbGUgdG8geW91ciBzbWFydCBidWxiJ3MgSVAgYWRkcmVzcyBhbmQgdGhlbiBleHRlbnNpb24gc2hvdWxkIHdvcmsuIiwKICAibmFtZSI6ICJXaXogTGlnaHQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYXNwZWFyL1dpei1MaWdodCIsCiAgInV1aWQiOiAid2l6bGlnaHRAaWFiaGlsYXNoam9zaGkiLAogICJ2ZXJzaW9uIjogNAp9"}}}
-, {"uuid": "gSnap@micahosborne", "name": "gSnap", "pname": "gsnap", "description": "Organize windows in customizable snap zones like FancyZones on Windows.", "link": "https://extensions.gnome.org/extension/4442/gsnap/", "shell_version_map": {"40": {"version": "9", "sha256": "0ar2kj0y999n2zprl3m2b0q2xkyjw28xbbfcsngy9isnim40qz1f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXplIHdpbmRvd3MgaW4gY3VzdG9taXphYmxlIHNuYXAgem9uZXMgbGlrZSBGYW5jeVpvbmVzIG9uIFdpbmRvd3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3NuYXBAbWljYWhvc2Jvcm5lIiwKICAibmFtZSI6ICJnU25hcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nc25hcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21pY2Fob3Nib3JuZS9nU25hcCIsCiAgInV1aWQiOiAiZ1NuYXBAbWljYWhvc2Jvcm5lIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "41": {"version": "9", "sha256": "0ar2kj0y999n2zprl3m2b0q2xkyjw28xbbfcsngy9isnim40qz1f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXplIHdpbmRvd3MgaW4gY3VzdG9taXphYmxlIHNuYXAgem9uZXMgbGlrZSBGYW5jeVpvbmVzIG9uIFdpbmRvd3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3NuYXBAbWljYWhvc2Jvcm5lIiwKICAibmFtZSI6ICJnU25hcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nc25hcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21pY2Fob3Nib3JuZS9nU25hcCIsCiAgInV1aWQiOiAiZ1NuYXBAbWljYWhvc2Jvcm5lIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "42": {"version": "9", "sha256": "0ar2kj0y999n2zprl3m2b0q2xkyjw28xbbfcsngy9isnim40qz1f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXplIHdpbmRvd3MgaW4gY3VzdG9taXphYmxlIHNuYXAgem9uZXMgbGlrZSBGYW5jeVpvbmVzIG9uIFdpbmRvd3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3NuYXBAbWljYWhvc2Jvcm5lIiwKICAibmFtZSI6ICJnU25hcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nc25hcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21pY2Fob3Nib3JuZS9nU25hcCIsCiAgInV1aWQiOiAiZ1NuYXBAbWljYWhvc2Jvcm5lIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
+, {"uuid": "gSnap@micahosborne", "name": "gSnap", "pname": "gsnap", "description": "Organize windows in customizable snap zones like FancyZones on Windows.", "link": "https://extensions.gnome.org/extension/4442/gsnap/", "shell_version_map": {"40": {"version": "11", "sha256": "0xg7pn262j62jbk3ghr72g3wbghgbxv5jjmib18d1ndzripfsyv8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXplIHdpbmRvd3MgaW4gY3VzdG9taXphYmxlIHNuYXAgem9uZXMgbGlrZSBGYW5jeVpvbmVzIG9uIFdpbmRvd3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3NuYXBAbWljYWhvc2Jvcm5lIiwKICAibmFtZSI6ICJnU25hcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nc25hcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21pY2Fob3Nib3JuZS9nU25hcCIsCiAgInV1aWQiOiAiZ1NuYXBAbWljYWhvc2Jvcm5lIiwKICAidmVyc2lvbiI6IDExCn0="}, "41": {"version": "11", "sha256": "0xg7pn262j62jbk3ghr72g3wbghgbxv5jjmib18d1ndzripfsyv8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXplIHdpbmRvd3MgaW4gY3VzdG9taXphYmxlIHNuYXAgem9uZXMgbGlrZSBGYW5jeVpvbmVzIG9uIFdpbmRvd3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3NuYXBAbWljYWhvc2Jvcm5lIiwKICAibmFtZSI6ICJnU25hcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nc25hcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21pY2Fob3Nib3JuZS9nU25hcCIsCiAgInV1aWQiOiAiZ1NuYXBAbWljYWhvc2Jvcm5lIiwKICAidmVyc2lvbiI6IDExCn0="}, "42": {"version": "11", "sha256": "0xg7pn262j62jbk3ghr72g3wbghgbxv5jjmib18d1ndzripfsyv8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXplIHdpbmRvd3MgaW4gY3VzdG9taXphYmxlIHNuYXAgem9uZXMgbGlrZSBGYW5jeVpvbmVzIG9uIFdpbmRvd3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3NuYXBAbWljYWhvc2Jvcm5lIiwKICAibmFtZSI6ICJnU25hcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nc25hcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21pY2Fob3Nib3JuZS9nU25hcCIsCiAgInV1aWQiOiAiZ1NuYXBAbWljYWhvc2Jvcm5lIiwKICAidmVyc2lvbiI6IDExCn0="}}}
 , {"uuid": "appswitcheronlyoncurrentworkspace@ermesonsampaio.com", "name": "Alt + Tab only on current workspace", "pname": "alt-tab-only-on-current-workspace", "description": "Force alt + tab to switch only in the current workspace.", "link": "https://extensions.gnome.org/extension/4443/alt-tab-only-on-current-workspace/", "shell_version_map": {"40": {"version": "3", "sha256": "1jl7gi45gz9fliggkwdg44rdqcirh6qxfkvc639vbw2sgmpbmcvw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmNlIGFsdCArIHRhYiB0byBzd2l0Y2ggb25seSBpbiB0aGUgY3VycmVudCB3b3Jrc3BhY2UuIiwKICAibmFtZSI6ICJBbHQgKyBUYWIgb25seSBvbiBjdXJyZW50IHdvcmtzcGFjZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lcm1lc29uc2FtcGFpby9hcHAtc3dpdGNoZXItb25seS1vbi1jdXJyZW50LXdvcmtzcGFjZSIsCiAgInV1aWQiOiAiYXBwc3dpdGNoZXJvbmx5b25jdXJyZW50d29ya3NwYWNlQGVybWVzb25zYW1wYWlvLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "logomenu@aryan_k", "name": "Logo Menu", "pname": "logo-menu", "description": "Logo Menu - Menu similar to Apple's macOS menu for the GNOME Desktop\nThis extension gives a simple menu along with the ability to get the icon of your distro on top left part of the panel for a great look.\nThe Icon can be customized through settings, it has both Linux and BSD logos.\nfor more screenshots, visit GitHub.\n\nThe default Terminal and Software center can also be changed.\n\nThis extension is a fork of - https://github.com/tofutech/tofumenu\n\nThe original project is no more supported thus I made this.", "link": "https://extensions.gnome.org/extension/4451/logo-menu/", "shell_version_map": {"38": {"version": "13", "sha256": "0bv9dm3c7dc6xvr3bsi7ibaz9f0cw6rycyz6p53qvrf4zzavnjhx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvZ28gTWVudSAtIE1lbnUgc2ltaWxhciB0byBBcHBsZSdzIG1hY09TIG1lbnUgZm9yIHRoZSBHTk9NRSBEZXNrdG9wXG5UaGlzIGV4dGVuc2lvbiBnaXZlcyBhIHNpbXBsZSBtZW51IGFsb25nIHdpdGggdGhlIGFiaWxpdHkgdG8gZ2V0IHRoZSBpY29uIG9mIHlvdXIgZGlzdHJvIG9uIHRvcCBsZWZ0IHBhcnQgb2YgdGhlIHBhbmVsIGZvciBhIGdyZWF0IGxvb2suXG5UaGUgSWNvbiBjYW4gYmUgY3VzdG9taXplZCB0aHJvdWdoIHNldHRpbmdzLCBpdCBoYXMgYm90aCBMaW51eCBhbmQgQlNEIGxvZ29zLlxuZm9yIG1vcmUgc2NyZWVuc2hvdHMsIHZpc2l0IEdpdEh1Yi5cblxuVGhlIGRlZmF1bHQgVGVybWluYWwgYW5kIFNvZnR3YXJlIGNlbnRlciBjYW4gYWxzbyBiZSBjaGFuZ2VkLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgLSBodHRwczovL2dpdGh1Yi5jb20vdG9mdXRlY2gvdG9mdW1lbnVcblxuVGhlIG9yaWdpbmFsIHByb2plY3QgaXMgbm8gbW9yZSBzdXBwb3J0ZWQgdGh1cyBJIG1hZGUgdGhpcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsb2dvLW1lbnUiLAogICJuYW1lIjogIkxvZ28gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuYXJ5YW5fay5sb2dvLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BcnlhbjIwL0xvZ29tZW51IiwKICAidXVpZCI6ICJsb2dvbWVudUBhcnlhbl9rIiwKICAidmVyc2lvbiI6IDEzCn0="}, "40": {"version": "13", "sha256": "0bv9dm3c7dc6xvr3bsi7ibaz9f0cw6rycyz6p53qvrf4zzavnjhx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvZ28gTWVudSAtIE1lbnUgc2ltaWxhciB0byBBcHBsZSdzIG1hY09TIG1lbnUgZm9yIHRoZSBHTk9NRSBEZXNrdG9wXG5UaGlzIGV4dGVuc2lvbiBnaXZlcyBhIHNpbXBsZSBtZW51IGFsb25nIHdpdGggdGhlIGFiaWxpdHkgdG8gZ2V0IHRoZSBpY29uIG9mIHlvdXIgZGlzdHJvIG9uIHRvcCBsZWZ0IHBhcnQgb2YgdGhlIHBhbmVsIGZvciBhIGdyZWF0IGxvb2suXG5UaGUgSWNvbiBjYW4gYmUgY3VzdG9taXplZCB0aHJvdWdoIHNldHRpbmdzLCBpdCBoYXMgYm90aCBMaW51eCBhbmQgQlNEIGxvZ29zLlxuZm9yIG1vcmUgc2NyZWVuc2hvdHMsIHZpc2l0IEdpdEh1Yi5cblxuVGhlIGRlZmF1bHQgVGVybWluYWwgYW5kIFNvZnR3YXJlIGNlbnRlciBjYW4gYWxzbyBiZSBjaGFuZ2VkLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgLSBodHRwczovL2dpdGh1Yi5jb20vdG9mdXRlY2gvdG9mdW1lbnVcblxuVGhlIG9yaWdpbmFsIHByb2plY3QgaXMgbm8gbW9yZSBzdXBwb3J0ZWQgdGh1cyBJIG1hZGUgdGhpcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsb2dvLW1lbnUiLAogICJuYW1lIjogIkxvZ28gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuYXJ5YW5fay5sb2dvLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BcnlhbjIwL0xvZ29tZW51IiwKICAidXVpZCI6ICJsb2dvbWVudUBhcnlhbl9rIiwKICAidmVyc2lvbiI6IDEzCn0="}, "41": {"version": "13", "sha256": "0bv9dm3c7dc6xvr3bsi7ibaz9f0cw6rycyz6p53qvrf4zzavnjhx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvZ28gTWVudSAtIE1lbnUgc2ltaWxhciB0byBBcHBsZSdzIG1hY09TIG1lbnUgZm9yIHRoZSBHTk9NRSBEZXNrdG9wXG5UaGlzIGV4dGVuc2lvbiBnaXZlcyBhIHNpbXBsZSBtZW51IGFsb25nIHdpdGggdGhlIGFiaWxpdHkgdG8gZ2V0IHRoZSBpY29uIG9mIHlvdXIgZGlzdHJvIG9uIHRvcCBsZWZ0IHBhcnQgb2YgdGhlIHBhbmVsIGZvciBhIGdyZWF0IGxvb2suXG5UaGUgSWNvbiBjYW4gYmUgY3VzdG9taXplZCB0aHJvdWdoIHNldHRpbmdzLCBpdCBoYXMgYm90aCBMaW51eCBhbmQgQlNEIGxvZ29zLlxuZm9yIG1vcmUgc2NyZWVuc2hvdHMsIHZpc2l0IEdpdEh1Yi5cblxuVGhlIGRlZmF1bHQgVGVybWluYWwgYW5kIFNvZnR3YXJlIGNlbnRlciBjYW4gYWxzbyBiZSBjaGFuZ2VkLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgLSBodHRwczovL2dpdGh1Yi5jb20vdG9mdXRlY2gvdG9mdW1lbnVcblxuVGhlIG9yaWdpbmFsIHByb2plY3QgaXMgbm8gbW9yZSBzdXBwb3J0ZWQgdGh1cyBJIG1hZGUgdGhpcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsb2dvLW1lbnUiLAogICJuYW1lIjogIkxvZ28gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuYXJ5YW5fay5sb2dvLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BcnlhbjIwL0xvZ29tZW51IiwKICAidXVpZCI6ICJsb2dvbWVudUBhcnlhbl9rIiwKICAidmVyc2lvbiI6IDEzCn0="}, "42": {"version": "13", "sha256": "0bv9dm3c7dc6xvr3bsi7ibaz9f0cw6rycyz6p53qvrf4zzavnjhx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvZ28gTWVudSAtIE1lbnUgc2ltaWxhciB0byBBcHBsZSdzIG1hY09TIG1lbnUgZm9yIHRoZSBHTk9NRSBEZXNrdG9wXG5UaGlzIGV4dGVuc2lvbiBnaXZlcyBhIHNpbXBsZSBtZW51IGFsb25nIHdpdGggdGhlIGFiaWxpdHkgdG8gZ2V0IHRoZSBpY29uIG9mIHlvdXIgZGlzdHJvIG9uIHRvcCBsZWZ0IHBhcnQgb2YgdGhlIHBhbmVsIGZvciBhIGdyZWF0IGxvb2suXG5UaGUgSWNvbiBjYW4gYmUgY3VzdG9taXplZCB0aHJvdWdoIHNldHRpbmdzLCBpdCBoYXMgYm90aCBMaW51eCBhbmQgQlNEIGxvZ29zLlxuZm9yIG1vcmUgc2NyZWVuc2hvdHMsIHZpc2l0IEdpdEh1Yi5cblxuVGhlIGRlZmF1bHQgVGVybWluYWwgYW5kIFNvZnR3YXJlIGNlbnRlciBjYW4gYWxzbyBiZSBjaGFuZ2VkLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgLSBodHRwczovL2dpdGh1Yi5jb20vdG9mdXRlY2gvdG9mdW1lbnVcblxuVGhlIG9yaWdpbmFsIHByb2plY3QgaXMgbm8gbW9yZSBzdXBwb3J0ZWQgdGh1cyBJIG1hZGUgdGhpcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsb2dvLW1lbnUiLAogICJuYW1lIjogIkxvZ28gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuYXJ5YW5fay5sb2dvLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BcnlhbjIwL0xvZ29tZW51IiwKICAidXVpZCI6ICJsb2dvbWVudUBhcnlhbl9rIiwKICAidmVyc2lvbiI6IDEzCn0="}}}
 , {"uuid": "rog-manager@rog", "name": "Rog Asus Manager", "pname": "rog-asus-manager", "description": "Asus ROG manager", "link": "https://extensions.gnome.org/extension/4452/rog-asus-manager/", "shell_version_map": {"38": {"version": "4", "sha256": "194k3qzjd05rki20ww0nv8001aiyp4ih9abv82g64058x8rmnff5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFzdXMgUk9HIG1hbmFnZXIiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJyb2ctbWFuYWdlciIsCiAgIm5hbWUiOiAiUm9nIEFzdXMgTWFuYWdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yb2dtYW5hZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxlamFuZHJvLW1vdXJhcy9yb2ctbWFuYWdlciIsCiAgInV1aWQiOiAicm9nLW1hbmFnZXJAcm9nIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
@@ -617,7 +617,7 @@
 , {"uuid": "batterythreshold@francku.gitlab.com", "name": "Battery threshold", "pname": "battery-threshold", "description": "A simple extension for gnome-shell that let easily set a threshold to limit battery charge level.\n\nThis extension uses \"pkexec\" since sudo permissions are needed to change the threshold level.\n\nTested on Fedora Silverblue 35 (gnome-shell 3.41) and Fedora Silverblue 36 (gnome-shell 3.42)on an Asus Vivobook.\n\nGithub page: https://github.com/francku/gnome-shell-extension-battery-threshold", "link": "https://extensions.gnome.org/extension/4612/battery-threshold/", "shell_version_map": {"41": {"version": "2", "sha256": "1zygyzif2h6ylzw6ajih3mwpr561afla4r2k7dflnksl0cch69f2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGV4dGVuc2lvbiBmb3IgZ25vbWUtc2hlbGwgdGhhdCBsZXQgZWFzaWx5IHNldCBhIHRocmVzaG9sZCB0byBsaW1pdCBiYXR0ZXJ5IGNoYXJnZSBsZXZlbC5cblxuVGhpcyBleHRlbnNpb24gdXNlcyBcInBrZXhlY1wiIHNpbmNlIHN1ZG8gcGVybWlzc2lvbnMgYXJlIG5lZWRlZCB0byBjaGFuZ2UgdGhlIHRocmVzaG9sZCBsZXZlbC5cblxuVGVzdGVkIG9uIEZlZG9yYSBTaWx2ZXJibHVlIDM1IChnbm9tZS1zaGVsbCAzLjQxKSBhbmQgRmVkb3JhIFNpbHZlcmJsdWUgMzYgKGdub21lLXNoZWxsIDMuNDIpb24gYW4gQXN1cyBWaXZvYm9vay5cblxuR2l0aHViIHBhZ2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9mcmFuY2t1L2dub21lLXNoZWxsLWV4dGVuc2lvbi1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgIm5hbWUiOiAiQmF0dGVyeSB0aHJlc2hvbGQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJiYXR0ZXJ5dGhyZXNob2xkQGZyYW5ja3UuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "42": {"version": "2", "sha256": "1zygyzif2h6ylzw6ajih3mwpr561afla4r2k7dflnksl0cch69f2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGV4dGVuc2lvbiBmb3IgZ25vbWUtc2hlbGwgdGhhdCBsZXQgZWFzaWx5IHNldCBhIHRocmVzaG9sZCB0byBsaW1pdCBiYXR0ZXJ5IGNoYXJnZSBsZXZlbC5cblxuVGhpcyBleHRlbnNpb24gdXNlcyBcInBrZXhlY1wiIHNpbmNlIHN1ZG8gcGVybWlzc2lvbnMgYXJlIG5lZWRlZCB0byBjaGFuZ2UgdGhlIHRocmVzaG9sZCBsZXZlbC5cblxuVGVzdGVkIG9uIEZlZG9yYSBTaWx2ZXJibHVlIDM1IChnbm9tZS1zaGVsbCAzLjQxKSBhbmQgRmVkb3JhIFNpbHZlcmJsdWUgMzYgKGdub21lLXNoZWxsIDMuNDIpb24gYW4gQXN1cyBWaXZvYm9vay5cblxuR2l0aHViIHBhZ2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9mcmFuY2t1L2dub21lLXNoZWxsLWV4dGVuc2lvbi1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgIm5hbWUiOiAiQmF0dGVyeSB0aHJlc2hvbGQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJiYXR0ZXJ5dGhyZXNob2xkQGZyYW5ja3UuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "one-third-window@chmouel.com", "name": "One third window", "pname": "one-third-window", "description": "Center or Cycle the current window by one third of the screen via a keyboard shortcut.", "link": "https://extensions.gnome.org/extension/4615/one-third-window/", "shell_version_map": {"38": {"version": "7", "sha256": "0fisinjf8x31zb71qfs8hqyyls37425456yy0p9mmapzs562pj5w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNlbnRlciBvciBDeWNsZSB0aGUgY3VycmVudCB3aW5kb3cgYnkgb25lIHRoaXJkIG9mIHRoZSBzY3JlZW4gdmlhIGEga2V5Ym9hcmQgc2hvcnRjdXQuIiwKICAibmFtZSI6ICJPbmUgdGhpcmQgd2luZG93IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm9uZXRoaXJkd2luZG93IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2htb3VlbC9vbmUtdGhpcmQtd2luZG93LWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAib25lLXRoaXJkLXdpbmRvd0BjaG1vdWVsLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "7", "sha256": "0fisinjf8x31zb71qfs8hqyyls37425456yy0p9mmapzs562pj5w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNlbnRlciBvciBDeWNsZSB0aGUgY3VycmVudCB3aW5kb3cgYnkgb25lIHRoaXJkIG9mIHRoZSBzY3JlZW4gdmlhIGEga2V5Ym9hcmQgc2hvcnRjdXQuIiwKICAibmFtZSI6ICJPbmUgdGhpcmQgd2luZG93IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm9uZXRoaXJkd2luZG93IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2htb3VlbC9vbmUtdGhpcmQtd2luZG93LWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAib25lLXRoaXJkLXdpbmRvd0BjaG1vdWVsLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "7", "sha256": "0fisinjf8x31zb71qfs8hqyyls37425456yy0p9mmapzs562pj5w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNlbnRlciBvciBDeWNsZSB0aGUgY3VycmVudCB3aW5kb3cgYnkgb25lIHRoaXJkIG9mIHRoZSBzY3JlZW4gdmlhIGEga2V5Ym9hcmQgc2hvcnRjdXQuIiwKICAibmFtZSI6ICJPbmUgdGhpcmQgd2luZG93IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm9uZXRoaXJkd2luZG93IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2htb3VlbC9vbmUtdGhpcmQtd2luZG93LWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAib25lLXRoaXJkLXdpbmRvd0BjaG1vdWVsLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "42": {"version": "7", "sha256": "0fisinjf8x31zb71qfs8hqyyls37425456yy0p9mmapzs562pj5w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNlbnRlciBvciBDeWNsZSB0aGUgY3VycmVudCB3aW5kb3cgYnkgb25lIHRoaXJkIG9mIHRoZSBzY3JlZW4gdmlhIGEga2V5Ym9hcmQgc2hvcnRjdXQuIiwKICAibmFtZSI6ICJPbmUgdGhpcmQgd2luZG93IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm9uZXRoaXJkd2luZG93IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2htb3VlbC9vbmUtdGhpcmQtd2luZG93LWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAib25lLXRoaXJkLXdpbmRvd0BjaG1vdWVsLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "hideTopBarWindow@kinzoku.one", "name": "Hide Top Bar Window", "pname": "hide-top-bar-window", "description": "Hides the selected window entry in the top bar.", "link": "https://extensions.gnome.org/extension/4621/hide-top-bar-window/", "shell_version_map": {"41": {"version": "1", "sha256": "0r7f8qb23ilz42pbbcd4rh22nnczqa9bags6msri1hl68lbv1qwj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBzZWxlY3RlZCB3aW5kb3cgZW50cnkgaW4gdGhlIHRvcCBiYXIuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIgV2luZG93IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIsCiAgICAiNDEuMSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9raW56b2t1Lm9uZSIsCiAgInV1aWQiOiAiaGlkZVRvcEJhcldpbmRvd0BraW56b2t1Lm9uZSIsCiAgInZlcnNpb24iOiAxCn0="}}}
-, {"uuid": "alphatint@saifulbkhan.github.com", "name": "AlphaTint", "pname": "alphatint", "description": "Artificially reduce brightness of your displays (including external monitors).\n\nIt is a fork of ColorTint modified to reduce brightness without an alpha channel.", "link": "https://extensions.gnome.org/extension/4624/alphatint/", "shell_version_map": {"40": {"version": "4", "sha256": "0yzip19k148y7yjkgxirhmi5sqj8brgnxij310ka5sl3big95rqb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFydGlmaWNpYWxseSByZWR1Y2UgYnJpZ2h0bmVzcyBvZiB5b3VyIGRpc3BsYXlzIChpbmNsdWRpbmcgZXh0ZXJuYWwgbW9uaXRvcnMpLlxuXG5JdCBpcyBhIGZvcmsgb2YgQ29sb3JUaW50IG1vZGlmaWVkIHRvIHJlZHVjZSBicmlnaHRuZXNzIHdpdGhvdXQgYW4gYWxwaGEgY2hhbm5lbC4iLAogICJuYW1lIjogIkFscGhhVGludCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2FpZnVsYmtoYW4vYWxwaGEtdGludCIsCiAgInV1aWQiOiAiYWxwaGF0aW50QHNhaWZ1bGJraGFuLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "0yzip19k148y7yjkgxirhmi5sqj8brgnxij310ka5sl3big95rqb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFydGlmaWNpYWxseSByZWR1Y2UgYnJpZ2h0bmVzcyBvZiB5b3VyIGRpc3BsYXlzIChpbmNsdWRpbmcgZXh0ZXJuYWwgbW9uaXRvcnMpLlxuXG5JdCBpcyBhIGZvcmsgb2YgQ29sb3JUaW50IG1vZGlmaWVkIHRvIHJlZHVjZSBicmlnaHRuZXNzIHdpdGhvdXQgYW4gYWxwaGEgY2hhbm5lbC4iLAogICJuYW1lIjogIkFscGhhVGludCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2FpZnVsYmtoYW4vYWxwaGEtdGludCIsCiAgInV1aWQiOiAiYWxwaGF0aW50QHNhaWZ1bGJraGFuLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}}}
+, {"uuid": "alphatint@saifulbkhan.github.com", "name": "AlphaTint", "pname": "alphatint", "description": "Artificially reduce brightness of your displays (including external monitors).\n\nIt is a fork of ColorTint modified to reduce brightness without an alpha channel.", "link": "https://extensions.gnome.org/extension/4624/alphatint/", "shell_version_map": {"40": {"version": "6", "sha256": "0b76kxjpx2vwsib6lchg2b7b0ggvm83dma2diydwwi5rjichl3kh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFydGlmaWNpYWxseSByZWR1Y2UgYnJpZ2h0bmVzcyBvZiB5b3VyIGRpc3BsYXlzIChpbmNsdWRpbmcgZXh0ZXJuYWwgbW9uaXRvcnMpLlxuXG5JdCBpcyBhIGZvcmsgb2YgQ29sb3JUaW50IG1vZGlmaWVkIHRvIHJlZHVjZSBicmlnaHRuZXNzIHdpdGhvdXQgYW4gYWxwaGEgY2hhbm5lbC4iLAogICJuYW1lIjogIkFscGhhVGludCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NhaWZ1bGJraGFuL2FscGhhLXRpbnQiLAogICJ1dWlkIjogImFscGhhdGludEBzYWlmdWxia2hhbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "41": {"version": "6", "sha256": "0b76kxjpx2vwsib6lchg2b7b0ggvm83dma2diydwwi5rjichl3kh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFydGlmaWNpYWxseSByZWR1Y2UgYnJpZ2h0bmVzcyBvZiB5b3VyIGRpc3BsYXlzIChpbmNsdWRpbmcgZXh0ZXJuYWwgbW9uaXRvcnMpLlxuXG5JdCBpcyBhIGZvcmsgb2YgQ29sb3JUaW50IG1vZGlmaWVkIHRvIHJlZHVjZSBicmlnaHRuZXNzIHdpdGhvdXQgYW4gYWxwaGEgY2hhbm5lbC4iLAogICJuYW1lIjogIkFscGhhVGludCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NhaWZ1bGJraGFuL2FscGhhLXRpbnQiLAogICJ1dWlkIjogImFscGhhdGludEBzYWlmdWxia2hhbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "42": {"version": "6", "sha256": "0b76kxjpx2vwsib6lchg2b7b0ggvm83dma2diydwwi5rjichl3kh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFydGlmaWNpYWxseSByZWR1Y2UgYnJpZ2h0bmVzcyBvZiB5b3VyIGRpc3BsYXlzIChpbmNsdWRpbmcgZXh0ZXJuYWwgbW9uaXRvcnMpLlxuXG5JdCBpcyBhIGZvcmsgb2YgQ29sb3JUaW50IG1vZGlmaWVkIHRvIHJlZHVjZSBicmlnaHRuZXNzIHdpdGhvdXQgYW4gYWxwaGEgY2hhbm5lbC4iLAogICJuYW1lIjogIkFscGhhVGludCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NhaWZ1bGJraGFuL2FscGhhLXRpbnQiLAogICJ1dWlkIjogImFscGhhdGludEBzYWlmdWxia2hhbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"uuid": "focus-changer@heartmire", "name": "Focus changer", "pname": "focus-changer", "description": "Change focus between windows in all directions.\n\nThe extension will first try to find a suitable window within the same monitor. If there is none, it will try to find one on the next monitor in that direction (in a multi-monitor setup).\n\nDefault shortcuts (can be changed in preferences):\n<Super>+h = Focus left\n<Super>+j = Focus down\n<Super>+k = Focus up\n<Super>+l = Focus right", "link": "https://extensions.gnome.org/extension/4627/focus-changer/", "shell_version_map": {"38": {"version": "9", "sha256": "0ngn0bw0f2fpp0vv4hq7gb0vx2xq2gk3nkkb6p393i9qbr42l3y1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBmb2N1cyBiZXR3ZWVuIHdpbmRvd3MgaW4gYWxsIGRpcmVjdGlvbnMuXG5cblRoZSBleHRlbnNpb24gd2lsbCBmaXJzdCB0cnkgdG8gZmluZCBhIHN1aXRhYmxlIHdpbmRvdyB3aXRoaW4gdGhlIHNhbWUgbW9uaXRvci4gSWYgdGhlcmUgaXMgbm9uZSwgaXQgd2lsbCB0cnkgdG8gZmluZCBvbmUgb24gdGhlIG5leHQgbW9uaXRvciBpbiB0aGF0IGRpcmVjdGlvbiAoaW4gYSBtdWx0aS1tb25pdG9yIHNldHVwKS5cblxuRGVmYXVsdCBzaG9ydGN1dHMgKGNhbiBiZSBjaGFuZ2VkIGluIHByZWZlcmVuY2VzKTpcbjxTdXBlcj4raCA9IEZvY3VzIGxlZnRcbjxTdXBlcj4raiA9IEZvY3VzIGRvd25cbjxTdXBlcj4rayA9IEZvY3VzIHVwXG48U3VwZXI+K2wgPSBGb2N1cyByaWdodCIsCiAgIm5hbWUiOiAiRm9jdXMgY2hhbmdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcnRpbmhqYXJ0bXlyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1mb2N1cy1jaGFuZ2VyIiwKICAidXVpZCI6ICJmb2N1cy1jaGFuZ2VyQGhlYXJ0bWlyZSIsCiAgInZlcnNpb24iOiA5Cn0="}, "40": {"version": "12", "sha256": "0lzz8850wy0vqxjv8lc792p59r1qpyy39v3iv9zcy95ra2h8mxs3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBmb2N1cyBiZXR3ZWVuIHdpbmRvd3MgaW4gYWxsIGRpcmVjdGlvbnMuXG5cblRoZSBleHRlbnNpb24gd2lsbCBmaXJzdCB0cnkgdG8gZmluZCBhIHN1aXRhYmxlIHdpbmRvdyB3aXRoaW4gdGhlIHNhbWUgbW9uaXRvci4gSWYgdGhlcmUgaXMgbm9uZSwgaXQgd2lsbCB0cnkgdG8gZmluZCBvbmUgb24gdGhlIG5leHQgbW9uaXRvciBpbiB0aGF0IGRpcmVjdGlvbiAoaW4gYSBtdWx0aS1tb25pdG9yIHNldHVwKS5cblxuRGVmYXVsdCBzaG9ydGN1dHMgKGNhbiBiZSBjaGFuZ2VkIGluIHByZWZlcmVuY2VzKTpcbjxTdXBlcj4raCA9IEZvY3VzIGxlZnRcbjxTdXBlcj4raiA9IEZvY3VzIGRvd25cbjxTdXBlcj4rayA9IEZvY3VzIHVwXG48U3VwZXI+K2wgPSBGb2N1cyByaWdodCIsCiAgIm5hbWUiOiAiRm9jdXMgY2hhbmdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcnRpbmhqYXJ0bXlyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1mb2N1cy1jaGFuZ2VyIiwKICAidXVpZCI6ICJmb2N1cy1jaGFuZ2VyQGhlYXJ0bWlyZSIsCiAgInZlcnNpb24iOiAxMgp9"}, "41": {"version": "12", "sha256": "0lzz8850wy0vqxjv8lc792p59r1qpyy39v3iv9zcy95ra2h8mxs3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBmb2N1cyBiZXR3ZWVuIHdpbmRvd3MgaW4gYWxsIGRpcmVjdGlvbnMuXG5cblRoZSBleHRlbnNpb24gd2lsbCBmaXJzdCB0cnkgdG8gZmluZCBhIHN1aXRhYmxlIHdpbmRvdyB3aXRoaW4gdGhlIHNhbWUgbW9uaXRvci4gSWYgdGhlcmUgaXMgbm9uZSwgaXQgd2lsbCB0cnkgdG8gZmluZCBvbmUgb24gdGhlIG5leHQgbW9uaXRvciBpbiB0aGF0IGRpcmVjdGlvbiAoaW4gYSBtdWx0aS1tb25pdG9yIHNldHVwKS5cblxuRGVmYXVsdCBzaG9ydGN1dHMgKGNhbiBiZSBjaGFuZ2VkIGluIHByZWZlcmVuY2VzKTpcbjxTdXBlcj4raCA9IEZvY3VzIGxlZnRcbjxTdXBlcj4raiA9IEZvY3VzIGRvd25cbjxTdXBlcj4rayA9IEZvY3VzIHVwXG48U3VwZXI+K2wgPSBGb2N1cyByaWdodCIsCiAgIm5hbWUiOiAiRm9jdXMgY2hhbmdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcnRpbmhqYXJ0bXlyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1mb2N1cy1jaGFuZ2VyIiwKICAidXVpZCI6ICJmb2N1cy1jaGFuZ2VyQGhlYXJ0bWlyZSIsCiAgInZlcnNpb24iOiAxMgp9"}, "42": {"version": "12", "sha256": "0lzz8850wy0vqxjv8lc792p59r1qpyy39v3iv9zcy95ra2h8mxs3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBmb2N1cyBiZXR3ZWVuIHdpbmRvd3MgaW4gYWxsIGRpcmVjdGlvbnMuXG5cblRoZSBleHRlbnNpb24gd2lsbCBmaXJzdCB0cnkgdG8gZmluZCBhIHN1aXRhYmxlIHdpbmRvdyB3aXRoaW4gdGhlIHNhbWUgbW9uaXRvci4gSWYgdGhlcmUgaXMgbm9uZSwgaXQgd2lsbCB0cnkgdG8gZmluZCBvbmUgb24gdGhlIG5leHQgbW9uaXRvciBpbiB0aGF0IGRpcmVjdGlvbiAoaW4gYSBtdWx0aS1tb25pdG9yIHNldHVwKS5cblxuRGVmYXVsdCBzaG9ydGN1dHMgKGNhbiBiZSBjaGFuZ2VkIGluIHByZWZlcmVuY2VzKTpcbjxTdXBlcj4raCA9IEZvY3VzIGxlZnRcbjxTdXBlcj4raiA9IEZvY3VzIGRvd25cbjxTdXBlcj4rayA9IEZvY3VzIHVwXG48U3VwZXI+K2wgPSBGb2N1cyByaWdodCIsCiAgIm5hbWUiOiAiRm9jdXMgY2hhbmdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcnRpbmhqYXJ0bXlyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1mb2N1cy1jaGFuZ2VyIiwKICAidXVpZCI6ICJmb2N1cy1jaGFuZ2VyQGhlYXJ0bWlyZSIsCiAgInZlcnNpb24iOiAxMgp9"}}}
 , {"uuid": "no-titlebar-when-maximized@alec.ninja", "name": "No Titlebar When Maximized", "pname": "no-titlebar-when-maximized", "description": "Hides the classic title bar of maximized X.Org windows", "link": "https://extensions.gnome.org/extension/4630/no-titlebar-when-maximized/", "shell_version_map": {"41": {"version": "5", "sha256": "0gawpvbybkm4mlvx4h9d2bzqgll6rdgbmd9m1ia90bb2rzplmhii", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBjbGFzc2ljIHRpdGxlIGJhciBvZiBtYXhpbWl6ZWQgWC5Pcmcgd2luZG93cyIsCiAgIm5hbWUiOiAiTm8gVGl0bGViYXIgV2hlbiBNYXhpbWl6ZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsZWNkb3RuaW5qYS9uby10aXRsZWJhci13aGVuLW1heGltaXplZCIsCiAgInV1aWQiOiAibm8tdGl0bGViYXItd2hlbi1tYXhpbWl6ZWRAYWxlYy5uaW5qYSIsCiAgInZlcnNpb24iOiA1Cn0="}, "42": {"version": "5", "sha256": "0gawpvbybkm4mlvx4h9d2bzqgll6rdgbmd9m1ia90bb2rzplmhii", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBjbGFzc2ljIHRpdGxlIGJhciBvZiBtYXhpbWl6ZWQgWC5Pcmcgd2luZG93cyIsCiAgIm5hbWUiOiAiTm8gVGl0bGViYXIgV2hlbiBNYXhpbWl6ZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsZWNkb3RuaW5qYS9uby10aXRsZWJhci13aGVuLW1heGltaXplZCIsCiAgInV1aWQiOiAibm8tdGl0bGViYXItd2hlbi1tYXhpbWl6ZWRAYWxlYy5uaW5qYSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"uuid": "cryptowatch@d0x2f.github.com", "name": "CryptoWatch", "pname": "cryptowatch", "description": "Display live crypto portfolio balances.", "link": "https://extensions.gnome.org/extension/4633/cryptowatch/", "shell_version_map": {"40": {"version": "9", "sha256": "18gq0ylx5s0y71fr9pd67nd27dzkhgr5ympw39ijh763hnx2nlpw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgbGl2ZSBjcnlwdG8gcG9ydGZvbGlvIGJhbGFuY2VzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJjcnlwdG93YXRjaCIsCiAgImdldHRleHQtZG9tYWluIjogImNyeXB0b3dhdGNoIiwKICAibmFtZSI6ICJDcnlwdG9XYXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jcnlwdG93YXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2QweDJmL0NyeXB0b1dhdGNoIiwKICAidXVpZCI6ICJjcnlwdG93YXRjaEBkMHgyZi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "41": {"version": "9", "sha256": "18gq0ylx5s0y71fr9pd67nd27dzkhgr5ympw39ijh763hnx2nlpw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgbGl2ZSBjcnlwdG8gcG9ydGZvbGlvIGJhbGFuY2VzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJjcnlwdG93YXRjaCIsCiAgImdldHRleHQtZG9tYWluIjogImNyeXB0b3dhdGNoIiwKICAibmFtZSI6ICJDcnlwdG9XYXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jcnlwdG93YXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2QweDJmL0NyeXB0b1dhdGNoIiwKICAidXVpZCI6ICJjcnlwdG93YXRjaEBkMHgyZi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "42": {"version": "9", "sha256": "18gq0ylx5s0y71fr9pd67nd27dzkhgr5ympw39ijh763hnx2nlpw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgbGl2ZSBjcnlwdG8gcG9ydGZvbGlvIGJhbGFuY2VzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJjcnlwdG93YXRjaCIsCiAgImdldHRleHQtZG9tYWluIjogImNyeXB0b3dhdGNoIiwKICAibmFtZSI6ICJDcnlwdG9XYXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jcnlwdG93YXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2QweDJmL0NyeXB0b1dhdGNoIiwKICAidXVpZCI6ICJjcnlwdG93YXRjaEBkMHgyZi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
@@ -658,7 +658,7 @@
 , {"uuid": "hplip-menu2@grizzlysmit.smit.id.au", "name": "Alternate Menu for Hplip2", "pname": "alternate-menu-for-hplip2", "description": "control your hp printers by calling the device manager hp-toolbox, also some useful links\nMotivation: the hp-systray doesn't work reliably under gnome shell\nyou need to have installed hplip in order to use this\nChoice of using a printer icon or a hp_logo.png if it's installed in the same place as mine on Ubuntu\nyou could use symbolic links to fake the path.\nThis is a replacement for the old \"Alternate Menu for Hplip\" which doesn't work under the new Gome-Shell I have cleaned it up a bit and it has a few new menu's but it is still basically the same thing.\n Added even more menus all most all system settings ones.\n\nNote: the menu will be too big if your resolution is way too low like 800x600 I have no soln for this just now.", "link": "https://extensions.gnome.org/extension/4739/alternate-menu-for-hplip2/", "shell_version_map": {"40": {"version": "5", "sha256": "1r6iv02zlkkcq0h57agirm6sqi17pcqkyjlsd5bn8h4hykc7bwb7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImNvbnRyb2wgeW91ciBocCBwcmludGVycyBieSBjYWxsaW5nIHRoZSBkZXZpY2UgbWFuYWdlciBocC10b29sYm94LCBhbHNvIHNvbWUgdXNlZnVsIGxpbmtzXG5Nb3RpdmF0aW9uOiB0aGUgaHAtc3lzdHJheSBkb2Vzbid0IHdvcmsgcmVsaWFibHkgdW5kZXIgZ25vbWUgc2hlbGxcbnlvdSBuZWVkIHRvIGhhdmUgaW5zdGFsbGVkIGhwbGlwIGluIG9yZGVyIHRvIHVzZSB0aGlzXG5DaG9pY2Ugb2YgdXNpbmcgYSBwcmludGVyIGljb24gb3IgYSBocF9sb2dvLnBuZyBpZiBpdCdzIGluc3RhbGxlZCBpbiB0aGUgc2FtZSBwbGFjZSBhcyBtaW5lIG9uIFVidW50dVxueW91IGNvdWxkIHVzZSBzeW1ib2xpYyBsaW5rcyB0byBmYWtlIHRoZSBwYXRoLlxuVGhpcyBpcyBhIHJlcGxhY2VtZW50IGZvciB0aGUgb2xkIFwiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwXCIgd2hpY2ggZG9lc24ndCB3b3JrIHVuZGVyIHRoZSBuZXcgR29tZS1TaGVsbCBJIGhhdmUgY2xlYW5lZCBpdCB1cCBhIGJpdCBhbmQgaXQgaGFzIGEgZmV3IG5ldyBtZW51J3MgYnV0IGl0IGlzIHN0aWxsIGJhc2ljYWxseSB0aGUgc2FtZSB0aGluZy5cbiBBZGRlZCBldmVuIG1vcmUgbWVudXMgYWxsIG1vc3QgYWxsIHN5c3RlbSBzZXR0aW5ncyBvbmVzLlxuXG5Ob3RlOiB0aGUgbWVudSB3aWxsIGJlIHRvbyBiaWcgaWYgeW91ciByZXNvbHV0aW9uIGlzIHdheSB0b28gbG93IGxpa2UgODAweDYwMCBJIGhhdmUgbm8gc29sbiBmb3IgdGhpcyBqdXN0IG5vdy4iLAogICJuYW1lIjogIkFsdGVybmF0ZSBNZW51IGZvciBIcGxpcDIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaHBsaXAtbWVudTIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ncml6emx5c21pdC9ocGxpcC1tZW51Mi1ncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidXVpZCI6ICJocGxpcC1tZW51MkBncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "1r6iv02zlkkcq0h57agirm6sqi17pcqkyjlsd5bn8h4hykc7bwb7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImNvbnRyb2wgeW91ciBocCBwcmludGVycyBieSBjYWxsaW5nIHRoZSBkZXZpY2UgbWFuYWdlciBocC10b29sYm94LCBhbHNvIHNvbWUgdXNlZnVsIGxpbmtzXG5Nb3RpdmF0aW9uOiB0aGUgaHAtc3lzdHJheSBkb2Vzbid0IHdvcmsgcmVsaWFibHkgdW5kZXIgZ25vbWUgc2hlbGxcbnlvdSBuZWVkIHRvIGhhdmUgaW5zdGFsbGVkIGhwbGlwIGluIG9yZGVyIHRvIHVzZSB0aGlzXG5DaG9pY2Ugb2YgdXNpbmcgYSBwcmludGVyIGljb24gb3IgYSBocF9sb2dvLnBuZyBpZiBpdCdzIGluc3RhbGxlZCBpbiB0aGUgc2FtZSBwbGFjZSBhcyBtaW5lIG9uIFVidW50dVxueW91IGNvdWxkIHVzZSBzeW1ib2xpYyBsaW5rcyB0byBmYWtlIHRoZSBwYXRoLlxuVGhpcyBpcyBhIHJlcGxhY2VtZW50IGZvciB0aGUgb2xkIFwiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwXCIgd2hpY2ggZG9lc24ndCB3b3JrIHVuZGVyIHRoZSBuZXcgR29tZS1TaGVsbCBJIGhhdmUgY2xlYW5lZCBpdCB1cCBhIGJpdCBhbmQgaXQgaGFzIGEgZmV3IG5ldyBtZW51J3MgYnV0IGl0IGlzIHN0aWxsIGJhc2ljYWxseSB0aGUgc2FtZSB0aGluZy5cbiBBZGRlZCBldmVuIG1vcmUgbWVudXMgYWxsIG1vc3QgYWxsIHN5c3RlbSBzZXR0aW5ncyBvbmVzLlxuXG5Ob3RlOiB0aGUgbWVudSB3aWxsIGJlIHRvbyBiaWcgaWYgeW91ciByZXNvbHV0aW9uIGlzIHdheSB0b28gbG93IGxpa2UgODAweDYwMCBJIGhhdmUgbm8gc29sbiBmb3IgdGhpcyBqdXN0IG5vdy4iLAogICJuYW1lIjogIkFsdGVybmF0ZSBNZW51IGZvciBIcGxpcDIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaHBsaXAtbWVudTIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ncml6emx5c21pdC9ocGxpcC1tZW51Mi1ncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidXVpZCI6ICJocGxpcC1tZW51MkBncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidmVyc2lvbiI6IDUKfQ=="}, "42": {"version": "5", "sha256": "1r6iv02zlkkcq0h57agirm6sqi17pcqkyjlsd5bn8h4hykc7bwb7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImNvbnRyb2wgeW91ciBocCBwcmludGVycyBieSBjYWxsaW5nIHRoZSBkZXZpY2UgbWFuYWdlciBocC10b29sYm94LCBhbHNvIHNvbWUgdXNlZnVsIGxpbmtzXG5Nb3RpdmF0aW9uOiB0aGUgaHAtc3lzdHJheSBkb2Vzbid0IHdvcmsgcmVsaWFibHkgdW5kZXIgZ25vbWUgc2hlbGxcbnlvdSBuZWVkIHRvIGhhdmUgaW5zdGFsbGVkIGhwbGlwIGluIG9yZGVyIHRvIHVzZSB0aGlzXG5DaG9pY2Ugb2YgdXNpbmcgYSBwcmludGVyIGljb24gb3IgYSBocF9sb2dvLnBuZyBpZiBpdCdzIGluc3RhbGxlZCBpbiB0aGUgc2FtZSBwbGFjZSBhcyBtaW5lIG9uIFVidW50dVxueW91IGNvdWxkIHVzZSBzeW1ib2xpYyBsaW5rcyB0byBmYWtlIHRoZSBwYXRoLlxuVGhpcyBpcyBhIHJlcGxhY2VtZW50IGZvciB0aGUgb2xkIFwiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwXCIgd2hpY2ggZG9lc24ndCB3b3JrIHVuZGVyIHRoZSBuZXcgR29tZS1TaGVsbCBJIGhhdmUgY2xlYW5lZCBpdCB1cCBhIGJpdCBhbmQgaXQgaGFzIGEgZmV3IG5ldyBtZW51J3MgYnV0IGl0IGlzIHN0aWxsIGJhc2ljYWxseSB0aGUgc2FtZSB0aGluZy5cbiBBZGRlZCBldmVuIG1vcmUgbWVudXMgYWxsIG1vc3QgYWxsIHN5c3RlbSBzZXR0aW5ncyBvbmVzLlxuXG5Ob3RlOiB0aGUgbWVudSB3aWxsIGJlIHRvbyBiaWcgaWYgeW91ciByZXNvbHV0aW9uIGlzIHdheSB0b28gbG93IGxpa2UgODAweDYwMCBJIGhhdmUgbm8gc29sbiBmb3IgdGhpcyBqdXN0IG5vdy4iLAogICJuYW1lIjogIkFsdGVybmF0ZSBNZW51IGZvciBIcGxpcDIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaHBsaXAtbWVudTIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ncml6emx5c21pdC9ocGxpcC1tZW51Mi1ncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidXVpZCI6ICJocGxpcC1tZW51MkBncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"uuid": "dash-from-panel@fthx", "name": "Dash from Panel", "pname": "dash-from-panel", "description": "Top dock for GNOME 40+. Hover top panel and GNOME Shell dash appears without overview.\n\n Scroll on dock or panel changes workspace. Preferences UI.\n\n Does use native GNOME Shell Dash. Very light extension.\n\n Please report bugs through GitHub.", "link": "https://extensions.gnome.org/extension/4741/dash-from-panel/", "shell_version_map": {"40": {"version": "3", "sha256": "10lcxqkg9i7gjvgdb01b6fahj5yr7c614yj4jcz9ywi5v571b1hw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvcCBkb2NrIGZvciBHTk9NRSA0MCsuIEhvdmVyIHRvcCBwYW5lbCBhbmQgR05PTUUgU2hlbGwgZGFzaCBhcHBlYXJzIHdpdGhvdXQgb3ZlcnZpZXcuXG5cbiBTY3JvbGwgb24gZG9jayBvciBwYW5lbCBjaGFuZ2VzIHdvcmtzcGFjZS4gUHJlZmVyZW5jZXMgVUkuXG5cbiBEb2VzIHVzZSBuYXRpdmUgR05PTUUgU2hlbGwgRGFzaC4gVmVyeSBsaWdodCBleHRlbnNpb24uXG5cbiBQbGVhc2UgcmVwb3J0IGJ1Z3MgdGhyb3VnaCBHaXRIdWIuIiwKICAibmFtZSI6ICJEYXNoIGZyb20gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2Rhc2gtZnJvbS1wYW5lbCIsCiAgInV1aWQiOiAiZGFzaC1mcm9tLXBhbmVsQGZ0aHgiLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "10lcxqkg9i7gjvgdb01b6fahj5yr7c614yj4jcz9ywi5v571b1hw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvcCBkb2NrIGZvciBHTk9NRSA0MCsuIEhvdmVyIHRvcCBwYW5lbCBhbmQgR05PTUUgU2hlbGwgZGFzaCBhcHBlYXJzIHdpdGhvdXQgb3ZlcnZpZXcuXG5cbiBTY3JvbGwgb24gZG9jayBvciBwYW5lbCBjaGFuZ2VzIHdvcmtzcGFjZS4gUHJlZmVyZW5jZXMgVUkuXG5cbiBEb2VzIHVzZSBuYXRpdmUgR05PTUUgU2hlbGwgRGFzaC4gVmVyeSBsaWdodCBleHRlbnNpb24uXG5cbiBQbGVhc2UgcmVwb3J0IGJ1Z3MgdGhyb3VnaCBHaXRIdWIuIiwKICAibmFtZSI6ICJEYXNoIGZyb20gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2Rhc2gtZnJvbS1wYW5lbCIsCiAgInV1aWQiOiAiZGFzaC1mcm9tLXBhbmVsQGZ0aHgiLAogICJ2ZXJzaW9uIjogMwp9"}, "42": {"version": "3", "sha256": "10lcxqkg9i7gjvgdb01b6fahj5yr7c614yj4jcz9ywi5v571b1hw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvcCBkb2NrIGZvciBHTk9NRSA0MCsuIEhvdmVyIHRvcCBwYW5lbCBhbmQgR05PTUUgU2hlbGwgZGFzaCBhcHBlYXJzIHdpdGhvdXQgb3ZlcnZpZXcuXG5cbiBTY3JvbGwgb24gZG9jayBvciBwYW5lbCBjaGFuZ2VzIHdvcmtzcGFjZS4gUHJlZmVyZW5jZXMgVUkuXG5cbiBEb2VzIHVzZSBuYXRpdmUgR05PTUUgU2hlbGwgRGFzaC4gVmVyeSBsaWdodCBleHRlbnNpb24uXG5cbiBQbGVhc2UgcmVwb3J0IGJ1Z3MgdGhyb3VnaCBHaXRIdWIuIiwKICAibmFtZSI6ICJEYXNoIGZyb20gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2Rhc2gtZnJvbS1wYW5lbCIsCiAgInV1aWQiOiAiZGFzaC1mcm9tLXBhbmVsQGZ0aHgiLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"uuid": "clip-translator@eexpss.gmail.com", "name": "Clip Translator", "pname": "clip-translator", "description": "* Translate from Clipboard content", "link": "https://extensions.gnome.org/extension/4744/clip-translator/", "shell_version_map": {"40": {"version": "13", "sha256": "0i5gcmxxl8p0zfh6jbdrhb6s4dw7wrfl74h0z527zwfzb454yj20", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogVHJhbnNsYXRlIGZyb20gQ2xpcGJvYXJkIGNvbnRlbnQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjbGlwLXRyYW5zbGF0b3IiLAogICJuYW1lIjogIkNsaXAgVHJhbnNsYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dzLWNsaXAtdHJhbnNsYXRvciIsCiAgInV1aWQiOiAiY2xpcC10cmFuc2xhdG9yQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "41": {"version": "13", "sha256": "0i5gcmxxl8p0zfh6jbdrhb6s4dw7wrfl74h0z527zwfzb454yj20", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogVHJhbnNsYXRlIGZyb20gQ2xpcGJvYXJkIGNvbnRlbnQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjbGlwLXRyYW5zbGF0b3IiLAogICJuYW1lIjogIkNsaXAgVHJhbnNsYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dzLWNsaXAtdHJhbnNsYXRvciIsCiAgInV1aWQiOiAiY2xpcC10cmFuc2xhdG9yQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "42": {"version": "13", "sha256": "0i5gcmxxl8p0zfh6jbdrhb6s4dw7wrfl74h0z527zwfzb454yj20", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogVHJhbnNsYXRlIGZyb20gQ2xpcGJvYXJkIGNvbnRlbnQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjbGlwLXRyYW5zbGF0b3IiLAogICJuYW1lIjogIkNsaXAgVHJhbnNsYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dzLWNsaXAtdHJhbnNsYXRvciIsCiAgInV1aWQiOiAiY2xpcC10cmFuc2xhdG9yQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTMKfQ=="}}}
-, {"uuid": "hidedate@hidedate.com", "name": "Hide Date", "pname": "hide-date", "description": "hides date and clocks", "link": "https://extensions.gnome.org/extension/4747/hide-date/", "shell_version_map": {"38": {"version": "3", "sha256": "1k0dbq26lnc2dj6w0jmjv2xyih405k02w9c7m220nspbwhspzpw6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImhpZGVzIGRhdGUgYW5kIGNsb2NrcyIsCiAgIm5hbWUiOiAiSGlkZSBEYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9idXNyYWNhZ2xpeWFuL0dub21lLUV4dGVuc2lvbi1FeGFtcGxlcy90cmVlL21haW4vaGlkZWRhdGUlNDBoaWRlZGF0ZS5jb20iLAogICJ1dWlkIjogImhpZGVkYXRlQGhpZGVkYXRlLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "1k0dbq26lnc2dj6w0jmjv2xyih405k02w9c7m220nspbwhspzpw6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImhpZGVzIGRhdGUgYW5kIGNsb2NrcyIsCiAgIm5hbWUiOiAiSGlkZSBEYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9idXNyYWNhZ2xpeWFuL0dub21lLUV4dGVuc2lvbi1FeGFtcGxlcy90cmVlL21haW4vaGlkZWRhdGUlNDBoaWRlZGF0ZS5jb20iLAogICJ1dWlkIjogImhpZGVkYXRlQGhpZGVkYXRlLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "1k0dbq26lnc2dj6w0jmjv2xyih405k02w9c7m220nspbwhspzpw6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImhpZGVzIGRhdGUgYW5kIGNsb2NrcyIsCiAgIm5hbWUiOiAiSGlkZSBEYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9idXNyYWNhZ2xpeWFuL0dub21lLUV4dGVuc2lvbi1FeGFtcGxlcy90cmVlL21haW4vaGlkZWRhdGUlNDBoaWRlZGF0ZS5jb20iLAogICJ1dWlkIjogImhpZGVkYXRlQGhpZGVkYXRlLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
+, {"uuid": "hidedate@hidedate.com", "name": "Hide Date", "pname": "hide-date", "description": "hides date and clocks", "link": "https://extensions.gnome.org/extension/4747/hide-date/", "shell_version_map": {"38": {"version": "5", "sha256": "0bg0dsmx89ndf6gkhhqy8av6jvcgfzdnnalj51vvcgcprz5msm5j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImhpZGVzIGRhdGUgYW5kIGNsb2NrcyIsCiAgIm5hbWUiOiAiSGlkZSBEYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYnVzcmFjYWdsaXlhbi9Hbm9tZS1FeHRlbnNpb24tRXhhbXBsZXMvdHJlZS9tYWluL2hpZGVkYXRlJTQwaGlkZWRhdGUuY29tIiwKICAidXVpZCI6ICJoaWRlZGF0ZUBoaWRlZGF0ZS5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "5", "sha256": "0bg0dsmx89ndf6gkhhqy8av6jvcgfzdnnalj51vvcgcprz5msm5j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImhpZGVzIGRhdGUgYW5kIGNsb2NrcyIsCiAgIm5hbWUiOiAiSGlkZSBEYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYnVzcmFjYWdsaXlhbi9Hbm9tZS1FeHRlbnNpb24tRXhhbXBsZXMvdHJlZS9tYWluL2hpZGVkYXRlJTQwaGlkZWRhdGUuY29tIiwKICAidXVpZCI6ICJoaWRlZGF0ZUBoaWRlZGF0ZS5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}, "41": {"version": "5", "sha256": "0bg0dsmx89ndf6gkhhqy8av6jvcgfzdnnalj51vvcgcprz5msm5j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImhpZGVzIGRhdGUgYW5kIGNsb2NrcyIsCiAgIm5hbWUiOiAiSGlkZSBEYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYnVzcmFjYWdsaXlhbi9Hbm9tZS1FeHRlbnNpb24tRXhhbXBsZXMvdHJlZS9tYWluL2hpZGVkYXRlJTQwaGlkZWRhdGUuY29tIiwKICAidXVpZCI6ICJoaWRlZGF0ZUBoaWRlZGF0ZS5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}, "42": {"version": "5", "sha256": "0bg0dsmx89ndf6gkhhqy8av6jvcgfzdnnalj51vvcgcprz5msm5j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImhpZGVzIGRhdGUgYW5kIGNsb2NrcyIsCiAgIm5hbWUiOiAiSGlkZSBEYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYnVzcmFjYWdsaXlhbi9Hbm9tZS1FeHRlbnNpb24tRXhhbXBsZXMvdHJlZS9tYWluL2hpZGVkYXRlJTQwaGlkZWRhdGUuY29tIiwKICAidXVpZCI6ICJoaWRlZGF0ZUBoaWRlZGF0ZS5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}}}
 , {"uuid": "toggleimwheel@mijorus.it", "name": "Toggle imwheel", "pname": "toggle-imwheel", "description": "This simple extension wants to mitigate the lack of a dedicated mouse wheel control on most of the modern linux distributions. Many are using imwheel as a temporary fix; however, if you are using a laptop, you might want to have two different settings for the touchpad and the mouse. \n This extension will add an icon in the top bar which lets you toggle imwheel between two custom settings. \n https://github.com/mijorus/toggle-imwheel", "link": "https://extensions.gnome.org/extension/4748/toggle-imwheel/", "shell_version_map": {"40": {"version": "6", "sha256": "0kf477yyhqy0lkg4r48lgwzadpjs4fxyw0v6yaf412swz7h7713c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgc2ltcGxlIGV4dGVuc2lvbiB3YW50cyB0byBtaXRpZ2F0ZSB0aGUgbGFjayBvZiBhIGRlZGljYXRlZCBtb3VzZSB3aGVlbCBjb250cm9sIG9uIG1vc3Qgb2YgdGhlIG1vZGVybiBsaW51eCBkaXN0cmlidXRpb25zLiBNYW55IGFyZSB1c2luZyBpbXdoZWVsIGFzIGEgdGVtcG9yYXJ5IGZpeDsgaG93ZXZlciwgaWYgeW91IGFyZSB1c2luZyBhIGxhcHRvcCwgeW91IG1pZ2h0IHdhbnQgdG8gaGF2ZSB0d28gZGlmZmVyZW50IHNldHRpbmdzIGZvciB0aGUgdG91Y2hwYWQgYW5kIHRoZSBtb3VzZS4gXG4gVGhpcyBleHRlbnNpb24gd2lsbCBhZGQgYW4gaWNvbiBpbiB0aGUgdG9wIGJhciB3aGljaCBsZXRzIHlvdSB0b2dnbGUgaW13aGVlbCBiZXR3ZWVuIHR3byBjdXN0b20gc2V0dGluZ3MuIFxuIGh0dHBzOi8vZ2l0aHViLmNvbS9taWpvcnVzL3RvZ2dsZS1pbXdoZWVsIiwKICAibmFtZSI6ICJUb2dnbGUgaW13aGVlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ0b2dnbGVpbXdoZWVsQG1pam9ydXMuaXQiLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "0kf477yyhqy0lkg4r48lgwzadpjs4fxyw0v6yaf412swz7h7713c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgc2ltcGxlIGV4dGVuc2lvbiB3YW50cyB0byBtaXRpZ2F0ZSB0aGUgbGFjayBvZiBhIGRlZGljYXRlZCBtb3VzZSB3aGVlbCBjb250cm9sIG9uIG1vc3Qgb2YgdGhlIG1vZGVybiBsaW51eCBkaXN0cmlidXRpb25zLiBNYW55IGFyZSB1c2luZyBpbXdoZWVsIGFzIGEgdGVtcG9yYXJ5IGZpeDsgaG93ZXZlciwgaWYgeW91IGFyZSB1c2luZyBhIGxhcHRvcCwgeW91IG1pZ2h0IHdhbnQgdG8gaGF2ZSB0d28gZGlmZmVyZW50IHNldHRpbmdzIGZvciB0aGUgdG91Y2hwYWQgYW5kIHRoZSBtb3VzZS4gXG4gVGhpcyBleHRlbnNpb24gd2lsbCBhZGQgYW4gaWNvbiBpbiB0aGUgdG9wIGJhciB3aGljaCBsZXRzIHlvdSB0b2dnbGUgaW13aGVlbCBiZXR3ZWVuIHR3byBjdXN0b20gc2V0dGluZ3MuIFxuIGh0dHBzOi8vZ2l0aHViLmNvbS9taWpvcnVzL3RvZ2dsZS1pbXdoZWVsIiwKICAibmFtZSI6ICJUb2dnbGUgaW13aGVlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ0b2dnbGVpbXdoZWVsQG1pam9ydXMuaXQiLAogICJ2ZXJzaW9uIjogNgp9"}, "42": {"version": "6", "sha256": "0kf477yyhqy0lkg4r48lgwzadpjs4fxyw0v6yaf412swz7h7713c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgc2ltcGxlIGV4dGVuc2lvbiB3YW50cyB0byBtaXRpZ2F0ZSB0aGUgbGFjayBvZiBhIGRlZGljYXRlZCBtb3VzZSB3aGVlbCBjb250cm9sIG9uIG1vc3Qgb2YgdGhlIG1vZGVybiBsaW51eCBkaXN0cmlidXRpb25zLiBNYW55IGFyZSB1c2luZyBpbXdoZWVsIGFzIGEgdGVtcG9yYXJ5IGZpeDsgaG93ZXZlciwgaWYgeW91IGFyZSB1c2luZyBhIGxhcHRvcCwgeW91IG1pZ2h0IHdhbnQgdG8gaGF2ZSB0d28gZGlmZmVyZW50IHNldHRpbmdzIGZvciB0aGUgdG91Y2hwYWQgYW5kIHRoZSBtb3VzZS4gXG4gVGhpcyBleHRlbnNpb24gd2lsbCBhZGQgYW4gaWNvbiBpbiB0aGUgdG9wIGJhciB3aGljaCBsZXRzIHlvdSB0b2dnbGUgaW13aGVlbCBiZXR3ZWVuIHR3byBjdXN0b20gc2V0dGluZ3MuIFxuIGh0dHBzOi8vZ2l0aHViLmNvbS9taWpvcnVzL3RvZ2dsZS1pbXdoZWVsIiwKICAibmFtZSI6ICJUb2dnbGUgaW13aGVlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ0b2dnbGVpbXdoZWVsQG1pam9ydXMuaXQiLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "yakuake-extension@kde.org", "name": "Yakuake", "pname": "yakuake", "description": "A Gnome shell extension to use Yakuake on Gnome. Adds a global shortcut to show/hide yakuake and makes the console appear focussed.", "link": "https://extensions.gnome.org/extension/4757/yakuake/", "shell_version_map": {"40": {"version": "6", "sha256": "069fk11nr2nnssyb8ljzdf3xb15lvbgny2jp8skq1ky7w8k7a0cx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIHVzZSBZYWt1YWtlIG9uIEdub21lLiBBZGRzIGEgZ2xvYmFsIHNob3J0Y3V0IHRvIHNob3cvaGlkZSB5YWt1YWtlIGFuZCBtYWtlcyB0aGUgY29uc29sZSBhcHBlYXIgZm9jdXNzZWQuIiwKICAibmFtZSI6ICJZYWt1YWtlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxiZXJ0dmFrYS95YWt1YWtlLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAieWFrdWFrZS1leHRlbnNpb25Aa2RlLm9yZyIsCiAgInZlcnNpb24iOiA2Cn0="}, "41": {"version": "6", "sha256": "069fk11nr2nnssyb8ljzdf3xb15lvbgny2jp8skq1ky7w8k7a0cx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIHVzZSBZYWt1YWtlIG9uIEdub21lLiBBZGRzIGEgZ2xvYmFsIHNob3J0Y3V0IHRvIHNob3cvaGlkZSB5YWt1YWtlIGFuZCBtYWtlcyB0aGUgY29uc29sZSBhcHBlYXIgZm9jdXNzZWQuIiwKICAibmFtZSI6ICJZYWt1YWtlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxiZXJ0dmFrYS95YWt1YWtlLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAieWFrdWFrZS1leHRlbnNpb25Aa2RlLm9yZyIsCiAgInZlcnNpb24iOiA2Cn0="}, "42": {"version": "6", "sha256": "069fk11nr2nnssyb8ljzdf3xb15lvbgny2jp8skq1ky7w8k7a0cx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIHVzZSBZYWt1YWtlIG9uIEdub21lLiBBZGRzIGEgZ2xvYmFsIHNob3J0Y3V0IHRvIHNob3cvaGlkZSB5YWt1YWtlIGFuZCBtYWtlcyB0aGUgY29uc29sZSBhcHBlYXIgZm9jdXNzZWQuIiwKICAibmFtZSI6ICJZYWt1YWtlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxiZXJ0dmFrYS95YWt1YWtlLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAieWFrdWFrZS1leHRlbnNpb25Aa2RlLm9yZyIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"uuid": "dnf-shotcuts@rx1310", "name": "Shortcuts for DNF", "pname": "shortcuts-for-dnf", "description": "A small extension that adds buttons to the panel to check for DNF updates through the terminal without entering commands.", "link": "https://extensions.gnome.org/extension/4758/shortcuts-for-dnf/", "shell_version_map": {"38": {"version": "4", "sha256": "0hknf92ijxg6xcadk7sac3qvlc8lpyf80013vkmzai7bbbbcypsm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc21hbGwgZXh0ZW5zaW9uIHRoYXQgYWRkcyBidXR0b25zIHRvIHRoZSBwYW5lbCB0byBjaGVjayBmb3IgRE5GIHVwZGF0ZXMgdGhyb3VnaCB0aGUgdGVybWluYWwgd2l0aG91dCBlbnRlcmluZyBjb21tYW5kcy4iLAogICJuYW1lIjogIlNob3J0Y3V0cyBmb3IgRE5GIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcngxMzEwL2dub21lLWV4dGVuc2lvbl9hcHR1cGRhdGUiLAogICJ1dWlkIjogImRuZi1zaG90Y3V0c0ByeDEzMTAiLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "0hknf92ijxg6xcadk7sac3qvlc8lpyf80013vkmzai7bbbbcypsm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc21hbGwgZXh0ZW5zaW9uIHRoYXQgYWRkcyBidXR0b25zIHRvIHRoZSBwYW5lbCB0byBjaGVjayBmb3IgRE5GIHVwZGF0ZXMgdGhyb3VnaCB0aGUgdGVybWluYWwgd2l0aG91dCBlbnRlcmluZyBjb21tYW5kcy4iLAogICJuYW1lIjogIlNob3J0Y3V0cyBmb3IgRE5GIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcngxMzEwL2dub21lLWV4dGVuc2lvbl9hcHR1cGRhdGUiLAogICJ1dWlkIjogImRuZi1zaG90Y3V0c0ByeDEzMTAiLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "0hknf92ijxg6xcadk7sac3qvlc8lpyf80013vkmzai7bbbbcypsm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc21hbGwgZXh0ZW5zaW9uIHRoYXQgYWRkcyBidXR0b25zIHRvIHRoZSBwYW5lbCB0byBjaGVjayBmb3IgRE5GIHVwZGF0ZXMgdGhyb3VnaCB0aGUgdGVybWluYWwgd2l0aG91dCBlbnRlcmluZyBjb21tYW5kcy4iLAogICJuYW1lIjogIlNob3J0Y3V0cyBmb3IgRE5GIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcngxMzEwL2dub21lLWV4dGVuc2lvbl9hcHR1cGRhdGUiLAogICJ1dWlkIjogImRuZi1zaG90Y3V0c0ByeDEzMTAiLAogICJ2ZXJzaW9uIjogNAp9"}, "42": {"version": "4", "sha256": "0hknf92ijxg6xcadk7sac3qvlc8lpyf80013vkmzai7bbbbcypsm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc21hbGwgZXh0ZW5zaW9uIHRoYXQgYWRkcyBidXR0b25zIHRvIHRoZSBwYW5lbCB0byBjaGVjayBmb3IgRE5GIHVwZGF0ZXMgdGhyb3VnaCB0aGUgdGVybWluYWwgd2l0aG91dCBlbnRlcmluZyBjb21tYW5kcy4iLAogICJuYW1lIjogIlNob3J0Y3V0cyBmb3IgRE5GIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcngxMzEwL2dub21lLWV4dGVuc2lvbl9hcHR1cGRhdGUiLAogICJ1dWlkIjogImRuZi1zaG90Y3V0c0ByeDEzMTAiLAogICJ2ZXJzaW9uIjogNAp9"}}}
@@ -673,8 +673,8 @@
 , {"uuid": "alt-mouse@eexpss.gmail.com", "name": "Alt Mouse", "pname": "alt-mouse", "description": "* Alt + Mouse control window\nDetailed instructions are on the home page and in config interface. \nDisable desktop BackgroundMenu, Disable Panel dragMode. \nAdd a gap at right screen edge. \nAdd Top-Left and Top-Right corner as hot coner.", "link": "https://extensions.gnome.org/extension/4786/alt-mouse/", "shell_version_map": {"40": {"version": "12", "sha256": "1kcsbvvm6wigw0h2d23rx4vsqdawa7m5gfynjdc9xzxn3q8sxx0b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQWx0ICsgTW91c2UgY29udHJvbCB3aW5kb3dcbkRldGFpbGVkIGluc3RydWN0aW9ucyBhcmUgb24gdGhlIGhvbWUgcGFnZSBhbmQgaW4gY29uZmlnIGludGVyZmFjZS4gXG5EaXNhYmxlIGRlc2t0b3AgQmFja2dyb3VuZE1lbnUsIERpc2FibGUgUGFuZWwgZHJhZ01vZGUuIFxuQWRkIGEgZ2FwIGF0IHJpZ2h0IHNjcmVlbiBlZGdlLiBcbkFkZCBUb3AtTGVmdCBhbmQgVG9wLVJpZ2h0IGNvcm5lciBhcyBob3QgY29uZXIuIiwKICAibmFtZSI6ICJBbHQgTW91c2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lZXhwcmVzcy9ncy1hbHQtbW91c2UiLAogICJ1dWlkIjogImFsdC1tb3VzZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDEyCn0="}, "41": {"version": "12", "sha256": "1kcsbvvm6wigw0h2d23rx4vsqdawa7m5gfynjdc9xzxn3q8sxx0b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQWx0ICsgTW91c2UgY29udHJvbCB3aW5kb3dcbkRldGFpbGVkIGluc3RydWN0aW9ucyBhcmUgb24gdGhlIGhvbWUgcGFnZSBhbmQgaW4gY29uZmlnIGludGVyZmFjZS4gXG5EaXNhYmxlIGRlc2t0b3AgQmFja2dyb3VuZE1lbnUsIERpc2FibGUgUGFuZWwgZHJhZ01vZGUuIFxuQWRkIGEgZ2FwIGF0IHJpZ2h0IHNjcmVlbiBlZGdlLiBcbkFkZCBUb3AtTGVmdCBhbmQgVG9wLVJpZ2h0IGNvcm5lciBhcyBob3QgY29uZXIuIiwKICAibmFtZSI6ICJBbHQgTW91c2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lZXhwcmVzcy9ncy1hbHQtbW91c2UiLAogICJ1dWlkIjogImFsdC1tb3VzZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDEyCn0="}, "42": {"version": "24", "sha256": "1j20kzq4va9s0jpvcm2y91wjk0c772mx4xk1rmr49hy1rb2crdpc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQWx0ICsgTW91c2UgY29udHJvbCB3aW5kb3dcbkRldGFpbGVkIGluc3RydWN0aW9ucyBhcmUgb24gdGhlIGhvbWUgcGFnZSBhbmQgaW4gY29uZmlnIGludGVyZmFjZS4gXG5EaXNhYmxlIGRlc2t0b3AgQmFja2dyb3VuZE1lbnUsIERpc2FibGUgUGFuZWwgZHJhZ01vZGUuIFxuQWRkIGEgZ2FwIGF0IHJpZ2h0IHNjcmVlbiBlZGdlLiBcbkFkZCBUb3AtTGVmdCBhbmQgVG9wLVJpZ2h0IGNvcm5lciBhcyBob3QgY29uZXIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYWx0LW1vdXNlIiwKICAibmFtZSI6ICJBbHQgTW91c2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWx0LW1vdXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dzLWFsdC1tb3VzZSIsCiAgInV1aWQiOiAiYWx0LW1vdXNlQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjQKfQ=="}}}
 , {"uuid": "workspace-switcher-manager@G-dH.github.com", "name": "Workspace Switcher Manager", "pname": "workspace-switcher-manager", "description": "Make the workspace switcher popup useful! Customize your workspace switcher behavior and the content, dimensions, position, orientation and colors of its popup indicator.\n\n- all GNOME workspace related options at one place\n- allows to switch workspaces orientation to horizontal or vertical\n- adds workspace switcher 'Wraparoud' and 'Ignore Last (empty) Workspace' options\n- allows to disable or customize switcher popup\n- allows adding content to the workspace switcher popup - Workspace Name, Current Application Name, Workspace Index\n- workspace switcher popup appearance customization includes position on screen, timings, size, colors , orientation", "link": "https://extensions.gnome.org/extension/4788/workspace-switcher-manager/", "shell_version_map": {"38": {"version": "7", "sha256": "13bkgdrf5pdqj6w63adn4hhjqi6f2bilppfwrbr4g909ci8qsfg5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCB1c2VmdWwhIEN1c3RvbWl6ZSB5b3VyIHdvcmtzcGFjZSBzd2l0Y2hlciBiZWhhdmlvciBhbmQgdGhlIGNvbnRlbnQsIGRpbWVuc2lvbnMsIHBvc2l0aW9uLCBvcmllbnRhdGlvbiBhbmQgY29sb3JzIG9mIGl0cyBwb3B1cCBpbmRpY2F0b3IuXG5cbi0gYWxsIEdOT01FIHdvcmtzcGFjZSByZWxhdGVkIG9wdGlvbnMgYXQgb25lIHBsYWNlXG4tIGFsbG93cyB0byBzd2l0Y2ggd29ya3NwYWNlcyBvcmllbnRhdGlvbiB0byBob3Jpem9udGFsIG9yIHZlcnRpY2FsXG4tIGFkZHMgd29ya3NwYWNlIHN3aXRjaGVyICdXcmFwYXJvdWQnIGFuZCAnSWdub3JlIExhc3QgKGVtcHR5KSBXb3Jrc3BhY2UnIG9wdGlvbnNcbi0gYWxsb3dzIHRvIGRpc2FibGUgb3IgY3VzdG9taXplIHN3aXRjaGVyIHBvcHVwXG4tIGFsbG93cyBhZGRpbmcgY29udGVudCB0byB0aGUgd29ya3NwYWNlIHN3aXRjaGVyIHBvcHVwIC0gV29ya3NwYWNlIE5hbWUsIEN1cnJlbnQgQXBwbGljYXRpb24gTmFtZSwgV29ya3NwYWNlIEluZGV4XG4tIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCBhcHBlYXJhbmNlIGN1c3RvbWl6YXRpb24gaW5jbHVkZXMgcG9zaXRpb24gb24gc2NyZWVuLCB0aW1pbmdzLCBzaXplLCBjb2xvcnMgLCBvcmllbnRhdGlvbiIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoZXIgTWFuYWdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc3BhY2Utc3dpdGNoZXItbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvd29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "7", "sha256": "13bkgdrf5pdqj6w63adn4hhjqi6f2bilppfwrbr4g909ci8qsfg5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCB1c2VmdWwhIEN1c3RvbWl6ZSB5b3VyIHdvcmtzcGFjZSBzd2l0Y2hlciBiZWhhdmlvciBhbmQgdGhlIGNvbnRlbnQsIGRpbWVuc2lvbnMsIHBvc2l0aW9uLCBvcmllbnRhdGlvbiBhbmQgY29sb3JzIG9mIGl0cyBwb3B1cCBpbmRpY2F0b3IuXG5cbi0gYWxsIEdOT01FIHdvcmtzcGFjZSByZWxhdGVkIG9wdGlvbnMgYXQgb25lIHBsYWNlXG4tIGFsbG93cyB0byBzd2l0Y2ggd29ya3NwYWNlcyBvcmllbnRhdGlvbiB0byBob3Jpem9udGFsIG9yIHZlcnRpY2FsXG4tIGFkZHMgd29ya3NwYWNlIHN3aXRjaGVyICdXcmFwYXJvdWQnIGFuZCAnSWdub3JlIExhc3QgKGVtcHR5KSBXb3Jrc3BhY2UnIG9wdGlvbnNcbi0gYWxsb3dzIHRvIGRpc2FibGUgb3IgY3VzdG9taXplIHN3aXRjaGVyIHBvcHVwXG4tIGFsbG93cyBhZGRpbmcgY29udGVudCB0byB0aGUgd29ya3NwYWNlIHN3aXRjaGVyIHBvcHVwIC0gV29ya3NwYWNlIE5hbWUsIEN1cnJlbnQgQXBwbGljYXRpb24gTmFtZSwgV29ya3NwYWNlIEluZGV4XG4tIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCBhcHBlYXJhbmNlIGN1c3RvbWl6YXRpb24gaW5jbHVkZXMgcG9zaXRpb24gb24gc2NyZWVuLCB0aW1pbmdzLCBzaXplLCBjb2xvcnMgLCBvcmllbnRhdGlvbiIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoZXIgTWFuYWdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc3BhY2Utc3dpdGNoZXItbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvd29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "7", "sha256": "13bkgdrf5pdqj6w63adn4hhjqi6f2bilppfwrbr4g909ci8qsfg5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCB1c2VmdWwhIEN1c3RvbWl6ZSB5b3VyIHdvcmtzcGFjZSBzd2l0Y2hlciBiZWhhdmlvciBhbmQgdGhlIGNvbnRlbnQsIGRpbWVuc2lvbnMsIHBvc2l0aW9uLCBvcmllbnRhdGlvbiBhbmQgY29sb3JzIG9mIGl0cyBwb3B1cCBpbmRpY2F0b3IuXG5cbi0gYWxsIEdOT01FIHdvcmtzcGFjZSByZWxhdGVkIG9wdGlvbnMgYXQgb25lIHBsYWNlXG4tIGFsbG93cyB0byBzd2l0Y2ggd29ya3NwYWNlcyBvcmllbnRhdGlvbiB0byBob3Jpem9udGFsIG9yIHZlcnRpY2FsXG4tIGFkZHMgd29ya3NwYWNlIHN3aXRjaGVyICdXcmFwYXJvdWQnIGFuZCAnSWdub3JlIExhc3QgKGVtcHR5KSBXb3Jrc3BhY2UnIG9wdGlvbnNcbi0gYWxsb3dzIHRvIGRpc2FibGUgb3IgY3VzdG9taXplIHN3aXRjaGVyIHBvcHVwXG4tIGFsbG93cyBhZGRpbmcgY29udGVudCB0byB0aGUgd29ya3NwYWNlIHN3aXRjaGVyIHBvcHVwIC0gV29ya3NwYWNlIE5hbWUsIEN1cnJlbnQgQXBwbGljYXRpb24gTmFtZSwgV29ya3NwYWNlIEluZGV4XG4tIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCBhcHBlYXJhbmNlIGN1c3RvbWl6YXRpb24gaW5jbHVkZXMgcG9zaXRpb24gb24gc2NyZWVuLCB0aW1pbmdzLCBzaXplLCBjb2xvcnMgLCBvcmllbnRhdGlvbiIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoZXIgTWFuYWdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc3BhY2Utc3dpdGNoZXItbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvd29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "42": {"version": "7", "sha256": "13bkgdrf5pdqj6w63adn4hhjqi6f2bilppfwrbr4g909ci8qsfg5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCB1c2VmdWwhIEN1c3RvbWl6ZSB5b3VyIHdvcmtzcGFjZSBzd2l0Y2hlciBiZWhhdmlvciBhbmQgdGhlIGNvbnRlbnQsIGRpbWVuc2lvbnMsIHBvc2l0aW9uLCBvcmllbnRhdGlvbiBhbmQgY29sb3JzIG9mIGl0cyBwb3B1cCBpbmRpY2F0b3IuXG5cbi0gYWxsIEdOT01FIHdvcmtzcGFjZSByZWxhdGVkIG9wdGlvbnMgYXQgb25lIHBsYWNlXG4tIGFsbG93cyB0byBzd2l0Y2ggd29ya3NwYWNlcyBvcmllbnRhdGlvbiB0byBob3Jpem9udGFsIG9yIHZlcnRpY2FsXG4tIGFkZHMgd29ya3NwYWNlIHN3aXRjaGVyICdXcmFwYXJvdWQnIGFuZCAnSWdub3JlIExhc3QgKGVtcHR5KSBXb3Jrc3BhY2UnIG9wdGlvbnNcbi0gYWxsb3dzIHRvIGRpc2FibGUgb3IgY3VzdG9taXplIHN3aXRjaGVyIHBvcHVwXG4tIGFsbG93cyBhZGRpbmcgY29udGVudCB0byB0aGUgd29ya3NwYWNlIHN3aXRjaGVyIHBvcHVwIC0gV29ya3NwYWNlIE5hbWUsIEN1cnJlbnQgQXBwbGljYXRpb24gTmFtZSwgV29ya3NwYWNlIEluZGV4XG4tIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCBhcHBlYXJhbmNlIGN1c3RvbWl6YXRpb24gaW5jbHVkZXMgcG9zaXRpb24gb24gc2NyZWVuLCB0aW1pbmdzLCBzaXplLCBjb2xvcnMgLCBvcmllbnRhdGlvbiIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoZXIgTWFuYWdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc3BhY2Utc3dpdGNoZXItbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvd29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "compare@eexpss.gmail.com", "name": "Compare or Open", "pname": "compare-filedir-from-clip", "description": "Copy/Select two Dirs/Files from anywhere such as `nautilus` or `gnome-terminal`, and then compare them (use `meld`) or open with Ctrl-O or open with context-menu.", "link": "https://extensions.gnome.org/extension/4789/compare-filedir-from-clip/", "shell_version_map": {"40": {"version": "15", "sha256": "0is8y6cs3qfaljlmyfhjpp71fbd98bizldf0rhrblm91mjfhqi3a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvcHkvU2VsZWN0IHR3byBEaXJzL0ZpbGVzIGZyb20gYW55d2hlcmUgc3VjaCBhcyBgbmF1dGlsdXNgIG9yIGBnbm9tZS10ZXJtaW5hbGAsIGFuZCB0aGVuIGNvbXBhcmUgdGhlbSAodXNlIGBtZWxkYCkgb3Igb3BlbiB3aXRoIEN0cmwtTyBvciBvcGVuIHdpdGggY29udGV4dC1tZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogImNvbXBhcmUiLAogICJuYW1lIjogIkNvbXBhcmUgb3IgT3BlbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jb21wYXJlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ25vbWUtc2hlbGwtY29tcGFyZSIsCiAgInV1aWQiOiAiY29tcGFyZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE1Cn0="}, "41": {"version": "15", "sha256": "0is8y6cs3qfaljlmyfhjpp71fbd98bizldf0rhrblm91mjfhqi3a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvcHkvU2VsZWN0IHR3byBEaXJzL0ZpbGVzIGZyb20gYW55d2hlcmUgc3VjaCBhcyBgbmF1dGlsdXNgIG9yIGBnbm9tZS10ZXJtaW5hbGAsIGFuZCB0aGVuIGNvbXBhcmUgdGhlbSAodXNlIGBtZWxkYCkgb3Igb3BlbiB3aXRoIEN0cmwtTyBvciBvcGVuIHdpdGggY29udGV4dC1tZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogImNvbXBhcmUiLAogICJuYW1lIjogIkNvbXBhcmUgb3IgT3BlbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jb21wYXJlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ25vbWUtc2hlbGwtY29tcGFyZSIsCiAgInV1aWQiOiAiY29tcGFyZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE1Cn0="}, "42": {"version": "15", "sha256": "0is8y6cs3qfaljlmyfhjpp71fbd98bizldf0rhrblm91mjfhqi3a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvcHkvU2VsZWN0IHR3byBEaXJzL0ZpbGVzIGZyb20gYW55d2hlcmUgc3VjaCBhcyBgbmF1dGlsdXNgIG9yIGBnbm9tZS10ZXJtaW5hbGAsIGFuZCB0aGVuIGNvbXBhcmUgdGhlbSAodXNlIGBtZWxkYCkgb3Igb3BlbiB3aXRoIEN0cmwtTyBvciBvcGVuIHdpdGggY29udGV4dC1tZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogImNvbXBhcmUiLAogICJuYW1lIjogIkNvbXBhcmUgb3IgT3BlbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jb21wYXJlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ25vbWUtc2hlbGwtY29tcGFyZSIsCiAgInV1aWQiOiAiY29tcGFyZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE1Cn0="}}}
-, {"uuid": "freq-boost-switch@metal03326", "name": "Frequency Boost Switch", "pname": "frequency-boost-switch", "description": "Add a toggle to enable/disable CPU frequency boost in Gnome Power Profiles menu.", "link": "https://extensions.gnome.org/extension/4792/frequency-boost-switch/", "shell_version_map": {"41": {"version": "6", "sha256": "0yrrh10n7nkj8x1kmsndqlwcv5crad77a52vmq1xbcb24m3aswgp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHRvZ2dsZSB0byBlbmFibGUvZGlzYWJsZSBDUFUgZnJlcXVlbmN5IGJvb3N0IGluIEdub21lIFBvd2VyIFByb2ZpbGVzIG1lbnUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZnJlcS1ib29zdC1zd2l0Y2hAbWV0YWwwMzMyNiIsCiAgIm5hbWUiOiAiRnJlcXVlbmN5IEJvb3N0IFN3aXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mcmVxLWJvb3N0LXN3aXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWV0YWwwMzMyNi9nbm9tZS1mcmVxdWVuY3ktYm9vc3Qtc3dpdGNoIiwKICAidXVpZCI6ICJmcmVxLWJvb3N0LXN3aXRjaEBtZXRhbDAzMzI2IiwKICAidmVyc2lvbiI6IDYKfQ=="}, "42": {"version": "6", "sha256": "0yrrh10n7nkj8x1kmsndqlwcv5crad77a52vmq1xbcb24m3aswgp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHRvZ2dsZSB0byBlbmFibGUvZGlzYWJsZSBDUFUgZnJlcXVlbmN5IGJvb3N0IGluIEdub21lIFBvd2VyIFByb2ZpbGVzIG1lbnUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZnJlcS1ib29zdC1zd2l0Y2hAbWV0YWwwMzMyNiIsCiAgIm5hbWUiOiAiRnJlcXVlbmN5IEJvb3N0IFN3aXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mcmVxLWJvb3N0LXN3aXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWV0YWwwMzMyNi9nbm9tZS1mcmVxdWVuY3ktYm9vc3Qtc3dpdGNoIiwKICAidXVpZCI6ICJmcmVxLWJvb3N0LXN3aXRjaEBtZXRhbDAzMzI2IiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
-, {"uuid": "pop-launcher-super-key@ManeLippert", "name": "Pop Launcher Super-Key", "pname": "pop-launcher-super-key", "description": "Fork of Pop COSMIC: Binds Pop Launcher on Super-Key when Pop COSMIC Extension is disabled", "link": "https://extensions.gnome.org/extension/4797/pop-launcher-super-key/", "shell_version_map": {"38": {"version": "4", "sha256": "004h856a0mb8d4s6pqjbk6k855pnpig555f00wazgivgscv7x2r3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2YgUG9wIENPU01JQzogQmluZHMgUG9wIExhdW5jaGVyIG9uIFN1cGVyLUtleSB3aGVuIFBvcCBDT1NNSUMgRXh0ZW5zaW9uIGlzIGRpc2FibGVkIiwKICAibmFtZSI6ICJQb3AgTGF1bmNoZXIgU3VwZXItS2V5IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJTeXN0ZW03NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wb3AtbGF1bmNoZXItc3VwZXIta2V5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFuZUxpcHBlcnQvcG9wLWxhdW5jaGVyLXN1cGVyLWtleSIsCiAgInV1aWQiOiAicG9wLWxhdW5jaGVyLXN1cGVyLWtleUBNYW5lTGlwcGVydCIsCiAgInZlcnNpb24iOiA0Cn0="}, "40": {"version": "4", "sha256": "004h856a0mb8d4s6pqjbk6k855pnpig555f00wazgivgscv7x2r3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2YgUG9wIENPU01JQzogQmluZHMgUG9wIExhdW5jaGVyIG9uIFN1cGVyLUtleSB3aGVuIFBvcCBDT1NNSUMgRXh0ZW5zaW9uIGlzIGRpc2FibGVkIiwKICAibmFtZSI6ICJQb3AgTGF1bmNoZXIgU3VwZXItS2V5IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJTeXN0ZW03NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wb3AtbGF1bmNoZXItc3VwZXIta2V5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFuZUxpcHBlcnQvcG9wLWxhdW5jaGVyLXN1cGVyLWtleSIsCiAgInV1aWQiOiAicG9wLWxhdW5jaGVyLXN1cGVyLWtleUBNYW5lTGlwcGVydCIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "004h856a0mb8d4s6pqjbk6k855pnpig555f00wazgivgscv7x2r3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2YgUG9wIENPU01JQzogQmluZHMgUG9wIExhdW5jaGVyIG9uIFN1cGVyLUtleSB3aGVuIFBvcCBDT1NNSUMgRXh0ZW5zaW9uIGlzIGRpc2FibGVkIiwKICAibmFtZSI6ICJQb3AgTGF1bmNoZXIgU3VwZXItS2V5IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJTeXN0ZW03NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wb3AtbGF1bmNoZXItc3VwZXIta2V5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFuZUxpcHBlcnQvcG9wLWxhdW5jaGVyLXN1cGVyLWtleSIsCiAgInV1aWQiOiAicG9wLWxhdW5jaGVyLXN1cGVyLWtleUBNYW5lTGlwcGVydCIsCiAgInZlcnNpb24iOiA0Cn0="}, "42": {"version": "4", "sha256": "004h856a0mb8d4s6pqjbk6k855pnpig555f00wazgivgscv7x2r3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2YgUG9wIENPU01JQzogQmluZHMgUG9wIExhdW5jaGVyIG9uIFN1cGVyLUtleSB3aGVuIFBvcCBDT1NNSUMgRXh0ZW5zaW9uIGlzIGRpc2FibGVkIiwKICAibmFtZSI6ICJQb3AgTGF1bmNoZXIgU3VwZXItS2V5IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJTeXN0ZW03NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wb3AtbGF1bmNoZXItc3VwZXIta2V5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFuZUxpcHBlcnQvcG9wLWxhdW5jaGVyLXN1cGVyLWtleSIsCiAgInV1aWQiOiAicG9wLWxhdW5jaGVyLXN1cGVyLWtleUBNYW5lTGlwcGVydCIsCiAgInZlcnNpb24iOiA0Cn0="}}}
+, {"uuid": "freq-boost-switch@metal03326", "name": "Frequency Boost Switch", "pname": "frequency-boost-switch", "description": "Add a toggle to enable/disable CPU frequency boost in Gnome Power Profiles menu.", "link": "https://extensions.gnome.org/extension/4792/frequency-boost-switch/", "shell_version_map": {"41": {"version": "6", "sha256": "0yrrh10n7nkj8x1kmsndqlwcv5crad77a52vmq1xbcb24m3aswgp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHRvZ2dsZSB0byBlbmFibGUvZGlzYWJsZSBDUFUgZnJlcXVlbmN5IGJvb3N0IGluIEdub21lIFBvd2VyIFByb2ZpbGVzIG1lbnUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZnJlcS1ib29zdC1zd2l0Y2hAbWV0YWwwMzMyNiIsCiAgIm5hbWUiOiAiRnJlcXVlbmN5IEJvb3N0IFN3aXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mcmVxLWJvb3N0LXN3aXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWV0YWwwMzMyNi9nbm9tZS1mcmVxdWVuY3ktYm9vc3Qtc3dpdGNoIiwKICAidXVpZCI6ICJmcmVxLWJvb3N0LXN3aXRjaEBtZXRhbDAzMzI2IiwKICAidmVyc2lvbiI6IDYKfQ=="}, "42": {"version": "8", "sha256": "0ldkfawgpdzzicr7ja1v1lyjg38pw0mh2i91gm3bdf9wxln4d6j7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHRvZ2dsZSB0byBlbmFibGUvZGlzYWJsZSBDUFUgZnJlcXVlbmN5IGJvb3N0IGluIEdub21lIFBvd2VyIFByb2ZpbGVzIG1lbnUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZnJlcS1ib29zdC1zd2l0Y2hAbWV0YWwwMzMyNiIsCiAgIm5hbWUiOiAiRnJlcXVlbmN5IEJvb3N0IFN3aXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mcmVxLWJvb3N0LXN3aXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9tZXRhbDAzMzI2L2dub21lLWZyZXF1ZW5jeS1ib29zdC1zd2l0Y2giLAogICJ1dWlkIjogImZyZXEtYm9vc3Qtc3dpdGNoQG1ldGFsMDMzMjYiLAogICJ2ZXJzaW9uIjogOAp9"}}}
+, {"uuid": "pop-launcher-super-key@ManeLippert", "name": "Pop Launcher Super-Key", "pname": "pop-launcher-super-key", "description": "Fork of Pop COSMIC: Binds Pop Launcher on Super-Key when Pop COSMIC Extension is disabled", "link": "https://extensions.gnome.org/extension/4797/pop-launcher-super-key/", "shell_version_map": {"38": {"version": "4", "sha256": "0j2ydxh7nv3bq7y7a48rw0hrwnckf9nfqpwscpsl16wv1cz30r7j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2YgUG9wIENPU01JQzogQmluZHMgUG9wIExhdW5jaGVyIG9uIFN1cGVyLUtleSB3aGVuIFBvcCBDT1NNSUMgRXh0ZW5zaW9uIGlzIGRpc2FibGVkIiwKICAibmFtZSI6ICJQb3AgTGF1bmNoZXIgU3VwZXItS2V5IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJTeXN0ZW03NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wb3AtbGF1bmNoZXItc3VwZXIta2V5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFuZUxpcHBlcnQvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXBvcC1sYXVuY2hlci1zdXBlci1rZXkiLAogICJ1dWlkIjogInBvcC1sYXVuY2hlci1zdXBlci1rZXlATWFuZUxpcHBlcnQiLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "0j2ydxh7nv3bq7y7a48rw0hrwnckf9nfqpwscpsl16wv1cz30r7j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2YgUG9wIENPU01JQzogQmluZHMgUG9wIExhdW5jaGVyIG9uIFN1cGVyLUtleSB3aGVuIFBvcCBDT1NNSUMgRXh0ZW5zaW9uIGlzIGRpc2FibGVkIiwKICAibmFtZSI6ICJQb3AgTGF1bmNoZXIgU3VwZXItS2V5IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJTeXN0ZW03NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wb3AtbGF1bmNoZXItc3VwZXIta2V5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFuZUxpcHBlcnQvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXBvcC1sYXVuY2hlci1zdXBlci1rZXkiLAogICJ1dWlkIjogInBvcC1sYXVuY2hlci1zdXBlci1rZXlATWFuZUxpcHBlcnQiLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "0j2ydxh7nv3bq7y7a48rw0hrwnckf9nfqpwscpsl16wv1cz30r7j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2YgUG9wIENPU01JQzogQmluZHMgUG9wIExhdW5jaGVyIG9uIFN1cGVyLUtleSB3aGVuIFBvcCBDT1NNSUMgRXh0ZW5zaW9uIGlzIGRpc2FibGVkIiwKICAibmFtZSI6ICJQb3AgTGF1bmNoZXIgU3VwZXItS2V5IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJTeXN0ZW03NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wb3AtbGF1bmNoZXItc3VwZXIta2V5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFuZUxpcHBlcnQvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXBvcC1sYXVuY2hlci1zdXBlci1rZXkiLAogICJ1dWlkIjogInBvcC1sYXVuY2hlci1zdXBlci1rZXlATWFuZUxpcHBlcnQiLAogICJ2ZXJzaW9uIjogNAp9"}, "42": {"version": "4", "sha256": "0j2ydxh7nv3bq7y7a48rw0hrwnckf9nfqpwscpsl16wv1cz30r7j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2YgUG9wIENPU01JQzogQmluZHMgUG9wIExhdW5jaGVyIG9uIFN1cGVyLUtleSB3aGVuIFBvcCBDT1NNSUMgRXh0ZW5zaW9uIGlzIGRpc2FibGVkIiwKICAibmFtZSI6ICJQb3AgTGF1bmNoZXIgU3VwZXItS2V5IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJTeXN0ZW03NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wb3AtbGF1bmNoZXItc3VwZXIta2V5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFuZUxpcHBlcnQvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXBvcC1sYXVuY2hlci1zdXBlci1rZXkiLAogICJ1dWlkIjogInBvcC1sYXVuY2hlci1zdXBlci1rZXlATWFuZUxpcHBlcnQiLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "thinkpad-battery-threshold@marcosdalvarez.org", "name": "Thinkpad Battery Threshold", "pname": "thinkpad-battery-threshold", "description": "Enable/Disable battery threshold on Lenovo Thinkpad laptops.\n\nIf you mainly use the system with the AC power adapter connected and only use the battery sporadically, you can increase battery life by setting the maximum charge value to less than 100%. This is useful because batteries that are used sporadically have a longer lifespan when kept at less than full charge.", "link": "https://extensions.gnome.org/extension/4798/thinkpad-battery-threshold/", "shell_version_map": {"41": {"version": "11", "sha256": "1m4d92v7ym8as25kpm3l00dnf5rzp36m2p9jdjmbk3i5xk1dk61a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzLlxuXG5JZiB5b3UgbWFpbmx5IHVzZSB0aGUgc3lzdGVtIHdpdGggdGhlIEFDIHBvd2VyIGFkYXB0ZXIgY29ubmVjdGVkIGFuZCBvbmx5IHVzZSB0aGUgYmF0dGVyeSBzcG9yYWRpY2FsbHksIHlvdSBjYW4gaW5jcmVhc2UgYmF0dGVyeSBsaWZlIGJ5IHNldHRpbmcgdGhlIG1heGltdW0gY2hhcmdlIHZhbHVlIHRvIGxlc3MgdGhhbiAxMDAlLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGJhdHRlcmllcyB0aGF0IGFyZSB1c2VkIHNwb3JhZGljYWxseSBoYXZlIGEgbG9uZ2VyIGxpZmVzcGFuIHdoZW4ga2VwdCBhdCBsZXNzIHRoYW4gZnVsbCBjaGFyZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAibmFtZSI6ICJUaGlua3BhZCBCYXR0ZXJ5IFRocmVzaG9sZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWFyY29zZGFsdmFyZXovdGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZEBtYXJjb3NkYWx2YXJlei5vcmciLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "42": {"version": "11", "sha256": "1m4d92v7ym8as25kpm3l00dnf5rzp36m2p9jdjmbk3i5xk1dk61a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzLlxuXG5JZiB5b3UgbWFpbmx5IHVzZSB0aGUgc3lzdGVtIHdpdGggdGhlIEFDIHBvd2VyIGFkYXB0ZXIgY29ubmVjdGVkIGFuZCBvbmx5IHVzZSB0aGUgYmF0dGVyeSBzcG9yYWRpY2FsbHksIHlvdSBjYW4gaW5jcmVhc2UgYmF0dGVyeSBsaWZlIGJ5IHNldHRpbmcgdGhlIG1heGltdW0gY2hhcmdlIHZhbHVlIHRvIGxlc3MgdGhhbiAxMDAlLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGJhdHRlcmllcyB0aGF0IGFyZSB1c2VkIHNwb3JhZGljYWxseSBoYXZlIGEgbG9uZ2VyIGxpZmVzcGFuIHdoZW4ga2VwdCBhdCBsZXNzIHRoYW4gZnVsbCBjaGFyZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAibmFtZSI6ICJUaGlua3BhZCBCYXR0ZXJ5IFRocmVzaG9sZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWFyY29zZGFsdmFyZXovdGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZEBtYXJjb3NkYWx2YXJlei5vcmciLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
 , {"uuid": "lock-screen-message@advendradeswanta.gitlab.com", "name": "Lock Screen Message", "pname": "lock-screen-message", "description": "Simple extension that let's you add your message to the lock screen (unlockDialog)", "link": "https://extensions.gnome.org/extension/4801/lock-screen-message/", "shell_version_map": {"40": {"version": "3", "sha256": "0hkr6gm7kr69fc4zjb8rddwj75jpbpvqz4wpkfl659wjn4980s3c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdGhhdCBsZXQncyB5b3UgYWRkIHlvdXIgbWVzc2FnZSB0byB0aGUgbG9jayBzY3JlZW4gKHVubG9ja0RpYWxvZykiLAogICJuYW1lIjogIkxvY2sgU2NyZWVuIE1lc3NhZ2UiLAogICJzZXNzaW9uLW1vZGVzIjogWwogICAgInVzZXIiLAogICAgInVubG9jay1kaWFsb2ciCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxvY2stc2NyZWVuLW1lc3NhZ2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9BZHZlbmRyYURlc3dhbnRhL2xvY2stc2NyZWVuLW1lc3NhZ2UiLAogICJ1dWlkIjogImxvY2stc2NyZWVuLW1lc3NhZ2VAYWR2ZW5kcmFkZXN3YW50YS5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "41": {"version": "3", "sha256": "0hkr6gm7kr69fc4zjb8rddwj75jpbpvqz4wpkfl659wjn4980s3c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdGhhdCBsZXQncyB5b3UgYWRkIHlvdXIgbWVzc2FnZSB0byB0aGUgbG9jayBzY3JlZW4gKHVubG9ja0RpYWxvZykiLAogICJuYW1lIjogIkxvY2sgU2NyZWVuIE1lc3NhZ2UiLAogICJzZXNzaW9uLW1vZGVzIjogWwogICAgInVzZXIiLAogICAgInVubG9jay1kaWFsb2ciCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxvY2stc2NyZWVuLW1lc3NhZ2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9BZHZlbmRyYURlc3dhbnRhL2xvY2stc2NyZWVuLW1lc3NhZ2UiLAogICJ1dWlkIjogImxvY2stc2NyZWVuLW1lc3NhZ2VAYWR2ZW5kcmFkZXN3YW50YS5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "42": {"version": "3", "sha256": "0hkr6gm7kr69fc4zjb8rddwj75jpbpvqz4wpkfl659wjn4980s3c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdGhhdCBsZXQncyB5b3UgYWRkIHlvdXIgbWVzc2FnZSB0byB0aGUgbG9jayBzY3JlZW4gKHVubG9ja0RpYWxvZykiLAogICJuYW1lIjogIkxvY2sgU2NyZWVuIE1lc3NhZ2UiLAogICJzZXNzaW9uLW1vZGVzIjogWwogICAgInVzZXIiLAogICAgInVubG9jay1kaWFsb2ciCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxvY2stc2NyZWVuLW1lc3NhZ2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9BZHZlbmRyYURlc3dhbnRhL2xvY2stc2NyZWVuLW1lc3NhZ2UiLAogICJ1dWlkIjogImxvY2stc2NyZWVuLW1lc3NhZ2VAYWR2ZW5kcmFkZXN3YW50YS5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
 , {"uuid": "panel-corners@aunetx", "name": "Panel corners", "pname": "panel-corners", "description": "A GNOME shell extension to keep the old topbar corners, which were removed for GNOME 42. It also allows you to customize the rounded corners, even if you use GNOME 40 or 41.\n\nIt is widely based on already existing gnome-shell code, and on a merge request by Alexander Mikhaylenko: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1328", "link": "https://extensions.gnome.org/extension/4805/panel-corners/", "shell_version_map": {"40": {"version": "3", "sha256": "0piacfxwa5ca5cnvrz0s8pqykfixynmvvdmh1rznfsh407v1kw1v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgc2hlbGwgZXh0ZW5zaW9uIHRvIGtlZXAgdGhlIG9sZCB0b3BiYXIgY29ybmVycywgd2hpY2ggd2VyZSByZW1vdmVkIGZvciBHTk9NRSA0Mi4gSXQgYWxzbyBhbGxvd3MgeW91IHRvIGN1c3RvbWl6ZSB0aGUgcm91bmRlZCBjb3JuZXJzLCBldmVuIGlmIHlvdSB1c2UgR05PTUUgNDAgb3IgNDEuXG5cbkl0IGlzIHdpZGVseSBiYXNlZCBvbiBhbHJlYWR5IGV4aXN0aW5nIGdub21lLXNoZWxsIGNvZGUsIGFuZCBvbiBhIG1lcmdlIHJlcXVlc3QgYnkgQWxleGFuZGVyIE1pa2hheWxlbmtvOiBodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwvLS9tZXJnZV9yZXF1ZXN0cy8xMzI4IiwKICAibmFtZSI6ICJQYW5lbCBjb3JuZXJzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhbmVsLWNvcm5lcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hdW5ldHgvcGFuZWwtY29ybmVycyIsCiAgInV1aWQiOiAicGFuZWwtY29ybmVyc0BhdW5ldHgiLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "0piacfxwa5ca5cnvrz0s8pqykfixynmvvdmh1rznfsh407v1kw1v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgc2hlbGwgZXh0ZW5zaW9uIHRvIGtlZXAgdGhlIG9sZCB0b3BiYXIgY29ybmVycywgd2hpY2ggd2VyZSByZW1vdmVkIGZvciBHTk9NRSA0Mi4gSXQgYWxzbyBhbGxvd3MgeW91IHRvIGN1c3RvbWl6ZSB0aGUgcm91bmRlZCBjb3JuZXJzLCBldmVuIGlmIHlvdSB1c2UgR05PTUUgNDAgb3IgNDEuXG5cbkl0IGlzIHdpZGVseSBiYXNlZCBvbiBhbHJlYWR5IGV4aXN0aW5nIGdub21lLXNoZWxsIGNvZGUsIGFuZCBvbiBhIG1lcmdlIHJlcXVlc3QgYnkgQWxleGFuZGVyIE1pa2hheWxlbmtvOiBodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwvLS9tZXJnZV9yZXF1ZXN0cy8xMzI4IiwKICAibmFtZSI6ICJQYW5lbCBjb3JuZXJzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhbmVsLWNvcm5lcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hdW5ldHgvcGFuZWwtY29ybmVycyIsCiAgInV1aWQiOiAicGFuZWwtY29ybmVyc0BhdW5ldHgiLAogICJ2ZXJzaW9uIjogMwp9"}, "42": {"version": "4", "sha256": "13mc18sds1z0ij1x8plx5d4b4mk4zkwx3hngh3z2ib7db8la7wdw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgc2hlbGwgZXh0ZW5zaW9uIHRvIGtlZXAgdGhlIG9sZCB0b3BiYXIgY29ybmVycywgd2hpY2ggd2VyZSByZW1vdmVkIGZvciBHTk9NRSA0Mi4gSXQgYWxzbyBhbGxvd3MgeW91IHRvIGN1c3RvbWl6ZSB0aGUgcm91bmRlZCBjb3JuZXJzLCBldmVuIGlmIHlvdSB1c2UgR05PTUUgNDAgb3IgNDEuXG5cbkl0IGlzIHdpZGVseSBiYXNlZCBvbiBhbHJlYWR5IGV4aXN0aW5nIGdub21lLXNoZWxsIGNvZGUsIGFuZCBvbiBhIG1lcmdlIHJlcXVlc3QgYnkgQWxleGFuZGVyIE1pa2hheWxlbmtvOiBodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwvLS9tZXJnZV9yZXF1ZXN0cy8xMzI4IiwKICAibmFtZSI6ICJQYW5lbCBjb3JuZXJzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhbmVsLWNvcm5lcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXVuZXR4L3BhbmVsLWNvcm5lcnMiLAogICJ1dWlkIjogInBhbmVsLWNvcm5lcnNAYXVuZXR4IiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
@@ -708,7 +708,7 @@
 , {"uuid": "overview-clicking@mechtifs", "name": "Overview Clicking", "pname": "overview-clicking", "description": "Close the overview or show up application grid by left/right clicking empty space. Forked from click-to-close-overview@l3nn4rt.github.io.", "link": "https://extensions.gnome.org/extension/4898/overview-clicking/", "shell_version_map": {"40": {"version": "1", "sha256": "10f08rn9m66ynrs5jsgxg4qzrimcjdslgs36s8fgcblr5r31kw8i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHRoZSBvdmVydmlldyBvciBzaG93IHVwIGFwcGxpY2F0aW9uIGdyaWQgYnkgbGVmdC9yaWdodCBjbGlja2luZyBlbXB0eSBzcGFjZS4gRm9ya2VkIGZyb20gY2xpY2stdG8tY2xvc2Utb3ZlcnZpZXdAbDNubjRydC5naXRodWIuaW8uIiwKICAibmFtZSI6ICJPdmVydmlldyBDbGlja2luZyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21lY2h0aWZzL292ZXJ2aWV3LWNsaWNraW5nIiwKICAidXVpZCI6ICJvdmVydmlldy1jbGlja2luZ0BtZWNodGlmcyIsCiAgInZlcnNpb24iOiAxCn0="}, "41": {"version": "1", "sha256": "10f08rn9m66ynrs5jsgxg4qzrimcjdslgs36s8fgcblr5r31kw8i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHRoZSBvdmVydmlldyBvciBzaG93IHVwIGFwcGxpY2F0aW9uIGdyaWQgYnkgbGVmdC9yaWdodCBjbGlja2luZyBlbXB0eSBzcGFjZS4gRm9ya2VkIGZyb20gY2xpY2stdG8tY2xvc2Utb3ZlcnZpZXdAbDNubjRydC5naXRodWIuaW8uIiwKICAibmFtZSI6ICJPdmVydmlldyBDbGlja2luZyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21lY2h0aWZzL292ZXJ2aWV3LWNsaWNraW5nIiwKICAidXVpZCI6ICJvdmVydmlldy1jbGlja2luZ0BtZWNodGlmcyIsCiAgInZlcnNpb24iOiAxCn0="}, "42": {"version": "1", "sha256": "10f08rn9m66ynrs5jsgxg4qzrimcjdslgs36s8fgcblr5r31kw8i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHRoZSBvdmVydmlldyBvciBzaG93IHVwIGFwcGxpY2F0aW9uIGdyaWQgYnkgbGVmdC9yaWdodCBjbGlja2luZyBlbXB0eSBzcGFjZS4gRm9ya2VkIGZyb20gY2xpY2stdG8tY2xvc2Utb3ZlcnZpZXdAbDNubjRydC5naXRodWIuaW8uIiwKICAibmFtZSI6ICJPdmVydmlldyBDbGlja2luZyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21lY2h0aWZzL292ZXJ2aWV3LWNsaWNraW5nIiwKICAidXVpZCI6ICJvdmVydmlldy1jbGlja2luZ0BtZWNodGlmcyIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "speed@eexpss.gmail.com", "name": "Screen Net Speed", "pname": "screen-net-speed", "description": "* Animation net speed show on the screen. You can click it to have fun and pass the time. Can be turned on / off at any time.\nScroll Mouse on panel icon, can change the shape.", "link": "https://extensions.gnome.org/extension/4901/screen-net-speed/", "shell_version_map": {"40": {"version": "6", "sha256": "18wr7jxydm4394bjais986q9qrx8w0kmljyy56z93hmj45pwq0c2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQW5pbWF0aW9uIG5ldCBzcGVlZCBzaG93IG9uIHRoZSBzY3JlZW4uIFlvdSBjYW4gY2xpY2sgaXQgdG8gaGF2ZSBmdW4gYW5kIHBhc3MgdGhlIHRpbWUuIENhbiBiZSB0dXJuZWQgb24gLyBvZmYgYXQgYW55IHRpbWUuXG5TY3JvbGwgTW91c2Ugb24gcGFuZWwgaWNvbiwgY2FuIGNoYW5nZSB0aGUgc2hhcGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2NyZWVuLW5ldC1zcGVlZCIsCiAgIm5hbWUiOiAiU2NyZWVuIE5ldCBTcGVlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dzLXNwZWVkIiwKICAidXVpZCI6ICJzcGVlZEBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "41": {"version": "6", "sha256": "18wr7jxydm4394bjais986q9qrx8w0kmljyy56z93hmj45pwq0c2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQW5pbWF0aW9uIG5ldCBzcGVlZCBzaG93IG9uIHRoZSBzY3JlZW4uIFlvdSBjYW4gY2xpY2sgaXQgdG8gaGF2ZSBmdW4gYW5kIHBhc3MgdGhlIHRpbWUuIENhbiBiZSB0dXJuZWQgb24gLyBvZmYgYXQgYW55IHRpbWUuXG5TY3JvbGwgTW91c2Ugb24gcGFuZWwgaWNvbiwgY2FuIGNoYW5nZSB0aGUgc2hhcGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2NyZWVuLW5ldC1zcGVlZCIsCiAgIm5hbWUiOiAiU2NyZWVuIE5ldCBTcGVlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dzLXNwZWVkIiwKICAidXVpZCI6ICJzcGVlZEBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "42": {"version": "6", "sha256": "18wr7jxydm4394bjais986q9qrx8w0kmljyy56z93hmj45pwq0c2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQW5pbWF0aW9uIG5ldCBzcGVlZCBzaG93IG9uIHRoZSBzY3JlZW4uIFlvdSBjYW4gY2xpY2sgaXQgdG8gaGF2ZSBmdW4gYW5kIHBhc3MgdGhlIHRpbWUuIENhbiBiZSB0dXJuZWQgb24gLyBvZmYgYXQgYW55IHRpbWUuXG5TY3JvbGwgTW91c2Ugb24gcGFuZWwgaWNvbiwgY2FuIGNoYW5nZSB0aGUgc2hhcGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2NyZWVuLW5ldC1zcGVlZCIsCiAgIm5hbWUiOiAiU2NyZWVuIE5ldCBTcGVlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dzLXNwZWVkIiwKICAidXVpZCI6ICJzcGVlZEBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"uuid": "addshutbutton@jerom@olika.ovh", "name": "Add Shutdown Button", "pname": "add-shutdown-button", "description": "Add a button power off", "link": "https://extensions.gnome.org/extension/4905/add-shutdown-button/", "shell_version_map": {"40": {"version": "4", "sha256": "1mjwpm8078d4n2ff5rsq4plp5fhsf91k1f2zar6f5jf650bzz6rh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGJ1dHRvbiBwb3dlciBvZmYiLAogICJuYW1lIjogIkFkZCBTaHV0ZG93biBCdXR0b24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJhZGRzaHV0YnV0dG9uQGplcm9tQG9saWthLm92aCIsCiAgInZlcnNpb24iOiA0Cn0="}, "42": {"version": "4", "sha256": "1mjwpm8078d4n2ff5rsq4plp5fhsf91k1f2zar6f5jf650bzz6rh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGJ1dHRvbiBwb3dlciBvZmYiLAogICJuYW1lIjogIkFkZCBTaHV0ZG93biBCdXR0b24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJhZGRzaHV0YnV0dG9uQGplcm9tQG9saWthLm92aCIsCiAgInZlcnNpb24iOiA0Cn0="}}}
-, {"uuid": "eepresetselector@ulville.github.io", "name": "EasyEffects Preset Selector", "pname": "easyeffects-preset-selector", "description": "Quickly show and load EasyEffects Presets", "link": "https://extensions.gnome.org/extension/4907/easyeffects-preset-selector/", "shell_version_map": {"38": {"version": "10", "sha256": "0j2316f3l4v1vqc2pxdivkbj90flcr1irczw50rp7wvmhhfm74mc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAibmFtZSI6ICJFYXN5RWZmZWN0cyBQcmVzZXQgU2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS91bHZpbGxlL2VlcHJlc2V0c2VsZWN0b3IiLAogICJ1dWlkIjogImVlcHJlc2V0c2VsZWN0b3JAdWx2aWxsZS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "40": {"version": "10", "sha256": "0j2316f3l4v1vqc2pxdivkbj90flcr1irczw50rp7wvmhhfm74mc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAibmFtZSI6ICJFYXN5RWZmZWN0cyBQcmVzZXQgU2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS91bHZpbGxlL2VlcHJlc2V0c2VsZWN0b3IiLAogICJ1dWlkIjogImVlcHJlc2V0c2VsZWN0b3JAdWx2aWxsZS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "41": {"version": "10", "sha256": "0j2316f3l4v1vqc2pxdivkbj90flcr1irczw50rp7wvmhhfm74mc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAibmFtZSI6ICJFYXN5RWZmZWN0cyBQcmVzZXQgU2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS91bHZpbGxlL2VlcHJlc2V0c2VsZWN0b3IiLAogICJ1dWlkIjogImVlcHJlc2V0c2VsZWN0b3JAdWx2aWxsZS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "42": {"version": "10", "sha256": "0j2316f3l4v1vqc2pxdivkbj90flcr1irczw50rp7wvmhhfm74mc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAibmFtZSI6ICJFYXN5RWZmZWN0cyBQcmVzZXQgU2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS91bHZpbGxlL2VlcHJlc2V0c2VsZWN0b3IiLAogICJ1dWlkIjogImVlcHJlc2V0c2VsZWN0b3JAdWx2aWxsZS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
+, {"uuid": "eepresetselector@ulville.github.io", "name": "EasyEffects Preset Selector", "pname": "easyeffects-preset-selector", "description": "Quickly show and load EasyEffects Presets", "link": "https://extensions.gnome.org/extension/4907/easyeffects-preset-selector/", "shell_version_map": {"38": {"version": "11", "sha256": "0mswrakibw50gmm6libgjdmll24k3s04zv0lvw73n7q269qzrwsv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAibmFtZSI6ICJFYXN5RWZmZWN0cyBQcmVzZXQgU2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS91bHZpbGxlL2VlcHJlc2V0c2VsZWN0b3IiLAogICJ1dWlkIjogImVlcHJlc2V0c2VsZWN0b3JAdWx2aWxsZS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "40": {"version": "11", "sha256": "0mswrakibw50gmm6libgjdmll24k3s04zv0lvw73n7q269qzrwsv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAibmFtZSI6ICJFYXN5RWZmZWN0cyBQcmVzZXQgU2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS91bHZpbGxlL2VlcHJlc2V0c2VsZWN0b3IiLAogICJ1dWlkIjogImVlcHJlc2V0c2VsZWN0b3JAdWx2aWxsZS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "41": {"version": "11", "sha256": "0mswrakibw50gmm6libgjdmll24k3s04zv0lvw73n7q269qzrwsv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAibmFtZSI6ICJFYXN5RWZmZWN0cyBQcmVzZXQgU2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS91bHZpbGxlL2VlcHJlc2V0c2VsZWN0b3IiLAogICJ1dWlkIjogImVlcHJlc2V0c2VsZWN0b3JAdWx2aWxsZS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "42": {"version": "11", "sha256": "0mswrakibw50gmm6libgjdmll24k3s04zv0lvw73n7q269qzrwsv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAibmFtZSI6ICJFYXN5RWZmZWN0cyBQcmVzZXQgU2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS91bHZpbGxlL2VlcHJlc2V0c2VsZWN0b3IiLAogICJ1dWlkIjogImVlcHJlc2V0c2VsZWN0b3JAdWx2aWxsZS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
 , {"uuid": "gnomehub@gnome-hub.github.io", "name": "gnomehub", "pname": "gnomehub", "description": "An all in one extension which catagorizes notifications and displays system information", "link": "https://extensions.gnome.org/extension/4913/gnomehub/", "shell_version_map": {"38": {"version": "6", "sha256": "15dgj0jbfhsa0p87gi0ai6c55kj4nj9yz5ydpzamwy69k9jjjcd0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGFsbCBpbiBvbmUgZXh0ZW5zaW9uIHdoaWNoIGNhdGFnb3JpemVzIG5vdGlmaWNhdGlvbnMgYW5kIGRpc3BsYXlzIHN5c3RlbSBpbmZvcm1hdGlvbiIsCiAgIm5hbWUiOiAiZ25vbWVodWIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dub21lLWh1Yi5naXRodWIuaW8vIiwKICAidXVpZCI6ICJnbm9tZWh1YkBnbm9tZS1odWIuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "6", "sha256": "15dgj0jbfhsa0p87gi0ai6c55kj4nj9yz5ydpzamwy69k9jjjcd0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGFsbCBpbiBvbmUgZXh0ZW5zaW9uIHdoaWNoIGNhdGFnb3JpemVzIG5vdGlmaWNhdGlvbnMgYW5kIGRpc3BsYXlzIHN5c3RlbSBpbmZvcm1hdGlvbiIsCiAgIm5hbWUiOiAiZ25vbWVodWIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dub21lLWh1Yi5naXRodWIuaW8vIiwKICAidXVpZCI6ICJnbm9tZWh1YkBnbm9tZS1odWIuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"uuid": "volume_scroller@noskoski", "name": "Volume Scroller", "pname": "volume-scroller", "description": "Scroll up or down in the Top Bar to adjust volume.", "link": "https://extensions.gnome.org/extension/4916/volume-scroller/", "shell_version_map": {"38": {"version": "2", "sha256": "0524g5yc4k0sgdy1v6dah5y3nrf95zdl94nmqp5x77nwmdxvdpqm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNjcm9sbCB1cCBvciBkb3duIGluIHRoZSBUb3AgQmFyIHRvIGFkanVzdCB2b2x1bWUuIiwKICAibmFtZSI6ICJWb2x1bWUgU2Nyb2xsZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAidHJmbHlubjg5QHBtLm1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbm9za29za2kvZ25vbWUtc2hlbGwtdm9sdW1lLXNjcm9sbGVyIiwKICAidXVpZCI6ICJ2b2x1bWVfc2Nyb2xsZXJAbm9za29za2kiLAogICJ2ZXJzaW9uIjogMgp9"}, "40": {"version": "2", "sha256": "0524g5yc4k0sgdy1v6dah5y3nrf95zdl94nmqp5x77nwmdxvdpqm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNjcm9sbCB1cCBvciBkb3duIGluIHRoZSBUb3AgQmFyIHRvIGFkanVzdCB2b2x1bWUuIiwKICAibmFtZSI6ICJWb2x1bWUgU2Nyb2xsZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAidHJmbHlubjg5QHBtLm1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbm9za29za2kvZ25vbWUtc2hlbGwtdm9sdW1lLXNjcm9sbGVyIiwKICAidXVpZCI6ICJ2b2x1bWVfc2Nyb2xsZXJAbm9za29za2kiLAogICJ2ZXJzaW9uIjogMgp9"}, "41": {"version": "2", "sha256": "0524g5yc4k0sgdy1v6dah5y3nrf95zdl94nmqp5x77nwmdxvdpqm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNjcm9sbCB1cCBvciBkb3duIGluIHRoZSBUb3AgQmFyIHRvIGFkanVzdCB2b2x1bWUuIiwKICAibmFtZSI6ICJWb2x1bWUgU2Nyb2xsZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAidHJmbHlubjg5QHBtLm1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbm9za29za2kvZ25vbWUtc2hlbGwtdm9sdW1lLXNjcm9sbGVyIiwKICAidXVpZCI6ICJ2b2x1bWVfc2Nyb2xsZXJAbm9za29za2kiLAogICJ2ZXJzaW9uIjogMgp9"}, "42": {"version": "2", "sha256": "0524g5yc4k0sgdy1v6dah5y3nrf95zdl94nmqp5x77nwmdxvdpqm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNjcm9sbCB1cCBvciBkb3duIGluIHRoZSBUb3AgQmFyIHRvIGFkanVzdCB2b2x1bWUuIiwKICAibmFtZSI6ICJWb2x1bWUgU2Nyb2xsZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAidHJmbHlubjg5QHBtLm1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbm9za29za2kvZ25vbWUtc2hlbGwtdm9sdW1lLXNjcm9sbGVyIiwKICAidXVpZCI6ICJ2b2x1bWVfc2Nyb2xsZXJAbm9za29za2kiLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "weather@eexpss.gmail.com", "name": "Weather", "pname": "weather", "description": "Animation Weather. \nMouse 1: show weather\nMouse 2: refresh weather\nMouse 3: dismiss\nScrollUp: increase day\nScrollDown: decrease day\nAdded i18n date, weather, temperature", "link": "https://extensions.gnome.org/extension/4919/weather/", "shell_version_map": {"40": {"version": "3", "sha256": "1ygk3jab26axk6wdn63wgfqlglrppyxwxh443bnwg1vyi3f6sz1a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuaW1hdGlvbiBXZWF0aGVyLiBcbk1vdXNlIDE6IHNob3cgd2VhdGhlclxuTW91c2UgMjogcmVmcmVzaCB3ZWF0aGVyXG5Nb3VzZSAzOiBkaXNtaXNzXG5TY3JvbGxVcDogaW5jcmVhc2UgZGF5XG5TY3JvbGxEb3duOiBkZWNyZWFzZSBkYXlcbkFkZGVkIGkxOG4gZGF0ZSwgd2VhdGhlciwgdGVtcGVyYXR1cmUiLAogICJuYW1lIjogIldlYXRoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lZXhwcmVzcy9ncy13ZWF0aGVyIiwKICAidXVpZCI6ICJ3ZWF0aGVyQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "1ygk3jab26axk6wdn63wgfqlglrppyxwxh443bnwg1vyi3f6sz1a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuaW1hdGlvbiBXZWF0aGVyLiBcbk1vdXNlIDE6IHNob3cgd2VhdGhlclxuTW91c2UgMjogcmVmcmVzaCB3ZWF0aGVyXG5Nb3VzZSAzOiBkaXNtaXNzXG5TY3JvbGxVcDogaW5jcmVhc2UgZGF5XG5TY3JvbGxEb3duOiBkZWNyZWFzZSBkYXlcbkFkZGVkIGkxOG4gZGF0ZSwgd2VhdGhlciwgdGVtcGVyYXR1cmUiLAogICJuYW1lIjogIldlYXRoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lZXhwcmVzcy9ncy13ZWF0aGVyIiwKICAidXVpZCI6ICJ3ZWF0aGVyQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "42": {"version": "13", "sha256": "05mijfwd5pxsf45bk1ld3g18dvdni41gz0yvq1bm944igp3wnqki", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuaW1hdGlvbiBXZWF0aGVyLiBcbk1vdXNlIDE6IHNob3cgd2VhdGhlclxuTW91c2UgMjogcmVmcmVzaCB3ZWF0aGVyXG5Nb3VzZSAzOiBkaXNtaXNzXG5TY3JvbGxVcDogaW5jcmVhc2UgZGF5XG5TY3JvbGxEb3duOiBkZWNyZWFzZSBkYXlcbkFkZGVkIGkxOG4gZGF0ZSwgd2VhdGhlciwgdGVtcGVyYXR1cmUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3ZWF0aGVyIiwKICAibmFtZSI6ICJXZWF0aGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndlYXRoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ3Mtd2VhdGhlciIsCiAgInV1aWQiOiAid2VhdGhlckBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDEzCn0="}}}
@@ -724,14 +724,14 @@
 , {"uuid": "clipman@popov895.ukr.net", "name": "Clipman", "pname": "clipman", "description": "Simple clipboard manager.", "link": "https://extensions.gnome.org/extension/4958/clipman/", "shell_version_map": {"40": {"version": "10", "sha256": "1z0nrwmsf4amp1jhgfwqbvsajjanwvnh0b9hn8giidqaz17fxdk4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBjbGlwYm9hcmQgbWFuYWdlci4iLAogICJuYW1lIjogIkNsaXBtYW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wb3Bvdjg5NS9DbGlwbWFuIiwKICAidXVpZCI6ICJjbGlwbWFuQHBvcG92ODk1LnVrci5uZXQiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "41": {"version": "10", "sha256": "1z0nrwmsf4amp1jhgfwqbvsajjanwvnh0b9hn8giidqaz17fxdk4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBjbGlwYm9hcmQgbWFuYWdlci4iLAogICJuYW1lIjogIkNsaXBtYW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wb3Bvdjg5NS9DbGlwbWFuIiwKICAidXVpZCI6ICJjbGlwbWFuQHBvcG92ODk1LnVrci5uZXQiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "42": {"version": "15", "sha256": "12dyjw7xn08fqzlwcqb78rdiw560v73ankdx0427bs350ac8cs5r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBjbGlwYm9hcmQgbWFuYWdlci4iLAogICJuYW1lIjogIkNsaXBtYW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcG9wb3Y4OTUvQ2xpcG1hbiIsCiAgInV1aWQiOiAiY2xpcG1hbkBwb3Bvdjg5NS51a3IubmV0IiwKICAidmVyc2lvbiI6IDE1Cn0="}}}
 , {"uuid": "note@eexpss.gmail.com", "name": "note", "pname": "note", "description": "Add selected text to Note.\n- Notes automatic recognition and sort as 'Directory' 'Command' 'Clipboard'.\n- 'Directory': Mouse 1/2/3 act as 'Open in Files/Open in termianl/Paste dir'. It can be used as a temporary bookmark. And any click will change the working diretory in real time.\n- 'Command': Mouse 1/3 as 'Excute command in Terminal/Paste cmd'.\n- 'Clipboard': Mouse act as 'Paste to Clipboard(PRIMARY)'.\n- Terminal support kgx(new gnome-console) and gnome-terminal.", "link": "https://extensions.gnome.org/extension/4962/note/", "shell_version_map": {"42": {"version": "7", "sha256": "1niwlhls41l92g0bcllp4y4bdhn7k310514xkd36rn61pqz9b7q6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBzZWxlY3RlZCB0ZXh0IHRvIE5vdGUuXG4tIE5vdGVzIGF1dG9tYXRpYyByZWNvZ25pdGlvbiBhbmQgc29ydCBhcyAnRGlyZWN0b3J5JyAnQ29tbWFuZCcgJ0NsaXBib2FyZCcuXG4tICdEaXJlY3RvcnknOiBNb3VzZSAxLzIvMyBhY3QgYXMgJ09wZW4gaW4gRmlsZXMvT3BlbiBpbiB0ZXJtaWFubC9QYXN0ZSBkaXInLiBJdCBjYW4gYmUgdXNlZCBhcyBhIHRlbXBvcmFyeSBib29rbWFyay4gQW5kIGFueSBjbGljayB3aWxsIGNoYW5nZSB0aGUgd29ya2luZyBkaXJldG9yeSBpbiByZWFsIHRpbWUuXG4tICdDb21tYW5kJzogTW91c2UgMS8zIGFzICdFeGN1dGUgY29tbWFuZCBpbiBUZXJtaW5hbC9QYXN0ZSBjbWQnLlxuLSAnQ2xpcGJvYXJkJzogTW91c2UgYWN0IGFzICdQYXN0ZSB0byBDbGlwYm9hcmQoUFJJTUFSWSknLlxuLSBUZXJtaW5hbCBzdXBwb3J0IGtneChuZXcgZ25vbWUtY29uc29sZSkgYW5kIGdub21lLXRlcm1pbmFsLiIsCiAgImdldHRleHQtZG9tYWluIjogIm5vdGUiLAogICJuYW1lIjogIm5vdGUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubm90ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lZXhwcmVzcy9ncy1ub3RlIiwKICAidXVpZCI6ICJub3RlQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "ddnet-friends-panel@hus3h", "name": "DDNet Friends Panel", "pname": "ddnet-friends-panel", "description": "Automatically check for online DDNet friends and join them from your top bar.\n\nThis extension will check for online DDNet friends every 1 minute and show their count in your top bar. You can click the indicator to expand the panel and see more details like what map each friend is playing, you can click on a friend list item to launch the game and connect to the server they are in.\n\nMore details: https://github.com/hus3h/gnome-shell-extension-ddnet-friends-panel", "link": "https://extensions.gnome.org/extension/4965/ddnet-friends-panel/", "shell_version_map": {"40": {"version": "1", "sha256": "1v0axd614hrrrzqps6nkg9daki8fcykfd20w201gxvdnmrvfspkc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgY2hlY2sgZm9yIG9ubGluZSBERE5ldCBmcmllbmRzIGFuZCBqb2luIHRoZW0gZnJvbSB5b3VyIHRvcCBiYXIuXG5cblRoaXMgZXh0ZW5zaW9uIHdpbGwgY2hlY2sgZm9yIG9ubGluZSBERE5ldCBmcmllbmRzIGV2ZXJ5IDEgbWludXRlIGFuZCBzaG93IHRoZWlyIGNvdW50IGluIHlvdXIgdG9wIGJhci4gWW91IGNhbiBjbGljayB0aGUgaW5kaWNhdG9yIHRvIGV4cGFuZCB0aGUgcGFuZWwgYW5kIHNlZSBtb3JlIGRldGFpbHMgbGlrZSB3aGF0IG1hcCBlYWNoIGZyaWVuZCBpcyBwbGF5aW5nLCB5b3UgY2FuIGNsaWNrIG9uIGEgZnJpZW5kIGxpc3QgaXRlbSB0byBsYXVuY2ggdGhlIGdhbWUgYW5kIGNvbm5lY3QgdG8gdGhlIHNlcnZlciB0aGV5IGFyZSBpbi5cblxuTW9yZSBkZXRhaWxzOiBodHRwczovL2dpdGh1Yi5jb20vaHVzM2gvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRkbmV0LWZyaWVuZHMtcGFuZWwiLAogICJuYW1lIjogIkRETmV0IEZyaWVuZHMgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2h1czNoL2dub21lLXNoZWxsLWV4dGVuc2lvbi1kZG5ldC1mcmllbmRzLXBhbmVsIiwKICAidXVpZCI6ICJkZG5ldC1mcmllbmRzLXBhbmVsQGh1czNoIiwKICAidmVyc2lvbiI6IDEKfQ=="}, "41": {"version": "1", "sha256": "1v0axd614hrrrzqps6nkg9daki8fcykfd20w201gxvdnmrvfspkc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgY2hlY2sgZm9yIG9ubGluZSBERE5ldCBmcmllbmRzIGFuZCBqb2luIHRoZW0gZnJvbSB5b3VyIHRvcCBiYXIuXG5cblRoaXMgZXh0ZW5zaW9uIHdpbGwgY2hlY2sgZm9yIG9ubGluZSBERE5ldCBmcmllbmRzIGV2ZXJ5IDEgbWludXRlIGFuZCBzaG93IHRoZWlyIGNvdW50IGluIHlvdXIgdG9wIGJhci4gWW91IGNhbiBjbGljayB0aGUgaW5kaWNhdG9yIHRvIGV4cGFuZCB0aGUgcGFuZWwgYW5kIHNlZSBtb3JlIGRldGFpbHMgbGlrZSB3aGF0IG1hcCBlYWNoIGZyaWVuZCBpcyBwbGF5aW5nLCB5b3UgY2FuIGNsaWNrIG9uIGEgZnJpZW5kIGxpc3QgaXRlbSB0byBsYXVuY2ggdGhlIGdhbWUgYW5kIGNvbm5lY3QgdG8gdGhlIHNlcnZlciB0aGV5IGFyZSBpbi5cblxuTW9yZSBkZXRhaWxzOiBodHRwczovL2dpdGh1Yi5jb20vaHVzM2gvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRkbmV0LWZyaWVuZHMtcGFuZWwiLAogICJuYW1lIjogIkRETmV0IEZyaWVuZHMgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2h1czNoL2dub21lLXNoZWxsLWV4dGVuc2lvbi1kZG5ldC1mcmllbmRzLXBhbmVsIiwKICAidXVpZCI6ICJkZG5ldC1mcmllbmRzLXBhbmVsQGh1czNoIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
-, {"uuid": "theme-switcher@fthx", "name": "Light/Dark Theme Switcher", "pname": "lightdark-theme-switcher", "description": "Button in panel: switch between global dark and light themes. For GNOME Shell 42+.", "link": "https://extensions.gnome.org/extension/4968/lightdark-theme-switcher/", "shell_version_map": {"42": {"version": "4", "sha256": "09chmx04cxs42zpz8i7535nhggd681g11zkawwagq225gsma0yls", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJ1dHRvbiBpbiBwYW5lbDogc3dpdGNoIGJldHdlZW4gZ2xvYmFsIGRhcmsgYW5kIGxpZ2h0IHRoZW1lcy4gRm9yIEdOT01FIFNoZWxsIDQyKy4iLAogICJuYW1lIjogIkxpZ2h0L0RhcmsgVGhlbWUgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC90aGVtZS1zd2l0Y2hlciIsCiAgInV1aWQiOiAidGhlbWUtc3dpdGNoZXJAZnRoeCIsCiAgInZlcnNpb24iOiA0Cn0="}}}
+, {"uuid": "theme-switcher@fthx", "name": "Light/Dark Theme Switcher", "pname": "lightdark-theme-switcher", "description": "Button in panel: switch between global dark and light themes. For GNOME Shell 42+.", "link": "https://extensions.gnome.org/extension/4968/lightdark-theme-switcher/", "shell_version_map": {"42": {"version": "5", "sha256": "14nfjcls9fj0my923jyiznlq482r1apgz9q83idz9b0qr50fi3ah", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJ1dHRvbiBpbiBwYW5lbDogc3dpdGNoIGJldHdlZW4gZ2xvYmFsIGRhcmsgYW5kIGxpZ2h0IHRoZW1lcy4gRm9yIEdOT01FIFNoZWxsIDQyKy4iLAogICJuYW1lIjogIkxpZ2h0L0RhcmsgVGhlbWUgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC90aGVtZS1zd2l0Y2hlciIsCiAgInV1aWQiOiAidGhlbWUtc3dpdGNoZXJAZnRoeCIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"uuid": "window-calls-extended@hseliger.eu", "name": "Window Calls Extended", "pname": "window-calls-extended", "description": "Add new dbus call for windows to get windows list and some of theirs properties, plus details on window under focus.", "link": "https://extensions.gnome.org/extension/4974/window-calls-extended/", "shell_version_map": {"41": {"version": "2", "sha256": "153c6gwlgpi6lhsd2ym9qhcp6add58za3i2djdqj39n9zx0q1gy2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBuZXcgZGJ1cyBjYWxsIGZvciB3aW5kb3dzIHRvIGdldCB3aW5kb3dzIGxpc3QgYW5kIHNvbWUgb2YgdGhlaXJzIHByb3BlcnRpZXMsIHBsdXMgZGV0YWlscyBvbiB3aW5kb3cgdW5kZXIgZm9jdXMuIiwKICAibmFtZSI6ICJXaW5kb3cgQ2FsbHMgRXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hzZWxpZ2VyL3dpbmRvdy1jYWxscy1leHRlbmRlZCIsCiAgInV1aWQiOiAid2luZG93LWNhbGxzLWV4dGVuZGVkQGhzZWxpZ2VyLmV1IiwKICAidmVyc2lvbiI6IDIKfQ=="}, "42": {"version": "2", "sha256": "153c6gwlgpi6lhsd2ym9qhcp6add58za3i2djdqj39n9zx0q1gy2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBuZXcgZGJ1cyBjYWxsIGZvciB3aW5kb3dzIHRvIGdldCB3aW5kb3dzIGxpc3QgYW5kIHNvbWUgb2YgdGhlaXJzIHByb3BlcnRpZXMsIHBsdXMgZGV0YWlscyBvbiB3aW5kb3cgdW5kZXIgZm9jdXMuIiwKICAibmFtZSI6ICJXaW5kb3cgQ2FsbHMgRXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hzZWxpZ2VyL3dpbmRvdy1jYWxscy1leHRlbmRlZCIsCiAgInV1aWQiOiAid2luZG93LWNhbGxzLWV4dGVuZGVkQGhzZWxpZ2VyLmV1IiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "Sur_Clock@medaip90.com", "name": "Sur Clock", "pname": "sur-clock", "description": "Move the clock to the left or the right of the system indicators like in MacOs.", "link": "https://extensions.gnome.org/extension/4977/sur-clock/", "shell_version_map": {"40": {"version": "2", "sha256": "01689ldy0ghjj75i5pncb4nhl8w4yzwj0pb8y5q8wkiirv7h0cxy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIGNsb2NrIHRvIHRoZSBsZWZ0IG9yIHRoZSByaWdodCBvZiB0aGUgc3lzdGVtIGluZGljYXRvcnMgbGlrZSBpbiBNYWNPcy4iLAogICJuYW1lIjogIlN1ciBDbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01lZGFpUDkwL2dub21lLXN1ci1jbG9jayIsCiAgInV1aWQiOiAiU3VyX0Nsb2NrQG1lZGFpcDkwLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "01689ldy0ghjj75i5pncb4nhl8w4yzwj0pb8y5q8wkiirv7h0cxy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIGNsb2NrIHRvIHRoZSBsZWZ0IG9yIHRoZSByaWdodCBvZiB0aGUgc3lzdGVtIGluZGljYXRvcnMgbGlrZSBpbiBNYWNPcy4iLAogICJuYW1lIjogIlN1ciBDbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01lZGFpUDkwL2dub21lLXN1ci1jbG9jayIsCiAgInV1aWQiOiAiU3VyX0Nsb2NrQG1lZGFpcDkwLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "42": {"version": "2", "sha256": "01689ldy0ghjj75i5pncb4nhl8w4yzwj0pb8y5q8wkiirv7h0cxy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIGNsb2NrIHRvIHRoZSBsZWZ0IG9yIHRoZSByaWdodCBvZiB0aGUgc3lzdGVtIGluZGljYXRvcnMgbGlrZSBpbiBNYWNPcy4iLAogICJuYW1lIjogIlN1ciBDbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01lZGFpUDkwL2dub21lLXN1ci1jbG9jayIsCiAgInV1aWQiOiAiU3VyX0Nsb2NrQG1lZGFpcDkwLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "disable-workspace-switcher@jbradaric.me", "name": "Disable Workspace Switcher", "pname": "disable-workspace-switcher", "description": "Disable the workspace switcher popup.", "link": "https://extensions.gnome.org/extension/4980/disable-workspace-switcher/", "shell_version_map": {"42": {"version": "1", "sha256": "0wpkcaqnlwg5065ygmmqiai9vqwwwl3kd22zhg2s6kcxz3b42is6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cC4iLAogICJuYW1lIjogIkRpc2FibGUgV29ya3NwYWNlIFN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2picmFkYXJpYy9kaXNhYmxlLXdvcmtzcGFjZS1zd2l0Y2hlciIsCiAgInV1aWQiOiAiZGlzYWJsZS13b3Jrc3BhY2Utc3dpdGNoZXJAamJyYWRhcmljLm1lIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
 , {"uuid": "nextcloud-folder@cosinus.org", "name": "Nextcloud Folder", "pname": "nextcloud-folder", "description": "Simple and lightweight GNOME 42+ extension to open Nextcloud folder in one click.", "link": "https://extensions.gnome.org/extension/4983/nextcloud-folder/", "shell_version_map": {"42": {"version": "4", "sha256": "1cdkfd03y0bfh09m40zikl51mcli311sarjqicnnqw6bzj1zqskj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBhbmQgbGlnaHR3ZWlnaHQgR05PTUUgNDIrIGV4dGVuc2lvbiB0byBvcGVuIE5leHRjbG91ZCBmb2xkZXIgaW4gb25lIGNsaWNrLiIsCiAgIm5hbWUiOiAiTmV4dGNsb3VkIEZvbGRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uZXh0Y2xvdWQtZm9sZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsZXNjZGIvbmV4dGNsb3VkLWZvbGRlciIsCiAgInV1aWQiOiAibmV4dGNsb3VkLWZvbGRlckBjb3NpbnVzLm9yZyIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "php-laravel-valet@rahulhaque", "name": "PHP Laravel Valet", "pname": "php-laravel-valet", "description": "A PHP Laravel Valet status indicator and manager.", "link": "https://extensions.gnome.org/extension/4985/php-laravel-valet/", "shell_version_map": {"40": {"version": "4", "sha256": "0h1hfh8i6sqzi0dy0sbh35s7flncqwpsxha4yr1bgrmg2a0gshzw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgUEhQIExhcmF2ZWwgVmFsZXQgc3RhdHVzIGluZGljYXRvciBhbmQgbWFuYWdlci4iLAogICJuYW1lIjogIlBIUCBMYXJhdmVsIFZhbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmFodWxoYXF1ZS9waHAtbGFyYXZlbC12YWxldC1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInBocC1sYXJhdmVsLXZhbGV0QHJhaHVsaGFxdWUiLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "0h1hfh8i6sqzi0dy0sbh35s7flncqwpsxha4yr1bgrmg2a0gshzw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgUEhQIExhcmF2ZWwgVmFsZXQgc3RhdHVzIGluZGljYXRvciBhbmQgbWFuYWdlci4iLAogICJuYW1lIjogIlBIUCBMYXJhdmVsIFZhbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmFodWxoYXF1ZS9waHAtbGFyYXZlbC12YWxldC1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInBocC1sYXJhdmVsLXZhbGV0QHJhaHVsaGFxdWUiLAogICJ2ZXJzaW9uIjogNAp9"}, "42": {"version": "4", "sha256": "0h1hfh8i6sqzi0dy0sbh35s7flncqwpsxha4yr1bgrmg2a0gshzw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgUEhQIExhcmF2ZWwgVmFsZXQgc3RhdHVzIGluZGljYXRvciBhbmQgbWFuYWdlci4iLAogICJuYW1lIjogIlBIUCBMYXJhdmVsIFZhbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmFodWxoYXF1ZS9waHAtbGFyYXZlbC12YWxldC1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInBocC1sYXJhdmVsLXZhbGV0QHJhaHVsaGFxdWUiLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "Home-Server@sven.kramer", "name": "Home-Server", "pname": "home-server", "description": "A simple Indicator that shows my home-server status (online / offline) on the main panel. Furthermore a wake on lan can be triggered. For WOL functionality, its necessary that you have 'wakeonlan' installed.", "link": "https://extensions.gnome.org/extension/4989/home-server/", "shell_version_map": {"38": {"version": "1", "sha256": "05cwv23w1438pg38ixhrvm360g3s11vrl8wqk84ai2xgydy94z2f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIEluZGljYXRvciB0aGF0IHNob3dzIG15IGhvbWUtc2VydmVyIHN0YXR1cyAob25saW5lIC8gb2ZmbGluZSkgb24gdGhlIG1haW4gcGFuZWwuIEZ1cnRoZXJtb3JlIGEgd2FrZSBvbiBsYW4gY2FuIGJlIHRyaWdnZXJlZC4gRm9yIFdPTCBmdW5jdGlvbmFsaXR5LCBpdHMgbmVjZXNzYXJ5IHRoYXQgeW91IGhhdmUgJ3dha2VvbmxhbicgaW5zdGFsbGVkLiIsCiAgIm1pbm9yIjogMSwKICAibmFtZSI6ICJIb21lLVNlcnZlciIsCiAgInJldmlzaW9uIjogMSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLkhvbWUtU2VydmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL3d3dy5zdmVuLWtyYW1lci5ldS9saW51eC9nbm9tZS1zaGVsbC1leHRlbnNpb24vaG9tZS1zZXJ2ZXIvIiwKICAidXVpZCI6ICJIb21lLVNlcnZlckBzdmVuLmtyYW1lciIsCiAgInZlcnNpb24iOiAxCn0="}, "40": {"version": "1", "sha256": "05cwv23w1438pg38ixhrvm360g3s11vrl8wqk84ai2xgydy94z2f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIEluZGljYXRvciB0aGF0IHNob3dzIG15IGhvbWUtc2VydmVyIHN0YXR1cyAob25saW5lIC8gb2ZmbGluZSkgb24gdGhlIG1haW4gcGFuZWwuIEZ1cnRoZXJtb3JlIGEgd2FrZSBvbiBsYW4gY2FuIGJlIHRyaWdnZXJlZC4gRm9yIFdPTCBmdW5jdGlvbmFsaXR5LCBpdHMgbmVjZXNzYXJ5IHRoYXQgeW91IGhhdmUgJ3dha2VvbmxhbicgaW5zdGFsbGVkLiIsCiAgIm1pbm9yIjogMSwKICAibmFtZSI6ICJIb21lLVNlcnZlciIsCiAgInJldmlzaW9uIjogMSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLkhvbWUtU2VydmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL3d3dy5zdmVuLWtyYW1lci5ldS9saW51eC9nbm9tZS1zaGVsbC1leHRlbnNpb24vaG9tZS1zZXJ2ZXIvIiwKICAidXVpZCI6ICJIb21lLVNlcnZlckBzdmVuLmtyYW1lciIsCiAgInZlcnNpb24iOiAxCn0="}, "41": {"version": "1", "sha256": "05cwv23w1438pg38ixhrvm360g3s11vrl8wqk84ai2xgydy94z2f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIEluZGljYXRvciB0aGF0IHNob3dzIG15IGhvbWUtc2VydmVyIHN0YXR1cyAob25saW5lIC8gb2ZmbGluZSkgb24gdGhlIG1haW4gcGFuZWwuIEZ1cnRoZXJtb3JlIGEgd2FrZSBvbiBsYW4gY2FuIGJlIHRyaWdnZXJlZC4gRm9yIFdPTCBmdW5jdGlvbmFsaXR5LCBpdHMgbmVjZXNzYXJ5IHRoYXQgeW91IGhhdmUgJ3dha2VvbmxhbicgaW5zdGFsbGVkLiIsCiAgIm1pbm9yIjogMSwKICAibmFtZSI6ICJIb21lLVNlcnZlciIsCiAgInJldmlzaW9uIjogMSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLkhvbWUtU2VydmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL3d3dy5zdmVuLWtyYW1lci5ldS9saW51eC9nbm9tZS1zaGVsbC1leHRlbnNpb24vaG9tZS1zZXJ2ZXIvIiwKICAidXVpZCI6ICJIb21lLVNlcnZlckBzdmVuLmtyYW1lciIsCiAgInZlcnNpb24iOiAxCn0="}, "42": {"version": "1", "sha256": "05cwv23w1438pg38ixhrvm360g3s11vrl8wqk84ai2xgydy94z2f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIEluZGljYXRvciB0aGF0IHNob3dzIG15IGhvbWUtc2VydmVyIHN0YXR1cyAob25saW5lIC8gb2ZmbGluZSkgb24gdGhlIG1haW4gcGFuZWwuIEZ1cnRoZXJtb3JlIGEgd2FrZSBvbiBsYW4gY2FuIGJlIHRyaWdnZXJlZC4gRm9yIFdPTCBmdW5jdGlvbmFsaXR5LCBpdHMgbmVjZXNzYXJ5IHRoYXQgeW91IGhhdmUgJ3dha2VvbmxhbicgaW5zdGFsbGVkLiIsCiAgIm1pbm9yIjogMSwKICAibmFtZSI6ICJIb21lLVNlcnZlciIsCiAgInJldmlzaW9uIjogMSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLkhvbWUtU2VydmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL3d3dy5zdmVuLWtyYW1lci5ldS9saW51eC9nbm9tZS1zaGVsbC1leHRlbnNpb24vaG9tZS1zZXJ2ZXIvIiwKICAidXVpZCI6ICJIb21lLVNlcnZlckBzdmVuLmtyYW1lciIsCiAgInZlcnNpb24iOiAxCn0="}}}
-, {"uuid": "dash2dock-lite@icedman.github.com", "name": "Dash2Dock Lite", "pname": "dash2dock-lite", "description": "minimal implementation of dash to dock", "link": "https://extensions.gnome.org/extension/4994/dash2dock-lite/", "shell_version_map": {"40": {"version": "5", "sha256": "06x55wbmb1jrw6v4kc21lyg05iwzlzpkpgrqxhs5svbglchnird7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1pbmltYWwgaW1wbGVtZW50YXRpb24gb2YgZGFzaCB0byBkb2NrIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaDJkb2NrLWxpdGUiLAogICJuYW1lIjogIkRhc2gyRG9jayBMaXRlIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJpY2VkbWFuIgogIF0sCiAgInNjaGVtYS1pZCI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXNoMmRvY2stbGl0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ljZWRtYW4vZGFzaDJkb2NrLWxpdGUiLAogICJ1dWlkIjogImRhc2gyZG9jay1saXRlQGljZWRtYW4uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "06x55wbmb1jrw6v4kc21lyg05iwzlzpkpgrqxhs5svbglchnird7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1pbmltYWwgaW1wbGVtZW50YXRpb24gb2YgZGFzaCB0byBkb2NrIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaDJkb2NrLWxpdGUiLAogICJuYW1lIjogIkRhc2gyRG9jayBMaXRlIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJpY2VkbWFuIgogIF0sCiAgInNjaGVtYS1pZCI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXNoMmRvY2stbGl0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ljZWRtYW4vZGFzaDJkb2NrLWxpdGUiLAogICJ1dWlkIjogImRhc2gyZG9jay1saXRlQGljZWRtYW4uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}, "42": {"version": "5", "sha256": "06x55wbmb1jrw6v4kc21lyg05iwzlzpkpgrqxhs5svbglchnird7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1pbmltYWwgaW1wbGVtZW50YXRpb24gb2YgZGFzaCB0byBkb2NrIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaDJkb2NrLWxpdGUiLAogICJuYW1lIjogIkRhc2gyRG9jayBMaXRlIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJpY2VkbWFuIgogIF0sCiAgInNjaGVtYS1pZCI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXNoMmRvY2stbGl0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ljZWRtYW4vZGFzaDJkb2NrLWxpdGUiLAogICJ1dWlkIjogImRhc2gyZG9jay1saXRlQGljZWRtYW4uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
+, {"uuid": "dash2dock-lite@icedman.github.com", "name": "Dash2Dock Lite", "pname": "dash2dock-lite", "description": "A minimal implementation of Dash to Dock with Animation", "link": "https://extensions.gnome.org/extension/4994/dash2dock-lite/", "shell_version_map": {"40": {"version": "8", "sha256": "0jbkpz8fy33hrhrmrbax3ci2y6lxi2zzi46x62gh9krn48vb31hl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWluaW1hbCBpbXBsZW1lbnRhdGlvbiBvZiBEYXNoIHRvIERvY2sgd2l0aCBBbmltYXRpb24iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkYXNoMmRvY2stbGl0ZSIsCiAgIm5hbWUiOiAiRGFzaDJEb2NrIExpdGUiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImljZWRtYW4iCiAgXSwKICAic2NoZW1hLWlkIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRhc2gyZG9jay1saXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaWNlZG1hbi9kYXNoMmRvY2stbGl0ZSIsCiAgInV1aWQiOiAiZGFzaDJkb2NrLWxpdGVAaWNlZG1hbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "41": {"version": "8", "sha256": "0jbkpz8fy33hrhrmrbax3ci2y6lxi2zzi46x62gh9krn48vb31hl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWluaW1hbCBpbXBsZW1lbnRhdGlvbiBvZiBEYXNoIHRvIERvY2sgd2l0aCBBbmltYXRpb24iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkYXNoMmRvY2stbGl0ZSIsCiAgIm5hbWUiOiAiRGFzaDJEb2NrIExpdGUiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImljZWRtYW4iCiAgXSwKICAic2NoZW1hLWlkIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRhc2gyZG9jay1saXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaWNlZG1hbi9kYXNoMmRvY2stbGl0ZSIsCiAgInV1aWQiOiAiZGFzaDJkb2NrLWxpdGVAaWNlZG1hbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "42": {"version": "8", "sha256": "0jbkpz8fy33hrhrmrbax3ci2y6lxi2zzi46x62gh9krn48vb31hl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWluaW1hbCBpbXBsZW1lbnRhdGlvbiBvZiBEYXNoIHRvIERvY2sgd2l0aCBBbmltYXRpb24iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkYXNoMmRvY2stbGl0ZSIsCiAgIm5hbWUiOiAiRGFzaDJEb2NrIExpdGUiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImljZWRtYW4iCiAgXSwKICAic2NoZW1hLWlkIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRhc2gyZG9jay1saXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaWNlZG1hbi9kYXNoMmRvY2stbGl0ZSIsCiAgInV1aWQiOiAiZGFzaDJkb2NrLWxpdGVAaWNlZG1hbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
 , {"uuid": "animate@eexpss.gmail.com", "name": "animate", "pname": "animate", "description": "Animated small man run through the screen. Scroll mouse can change deferent character. You can use your PNG characters instead of the original ones.", "link": "https://extensions.gnome.org/extension/4995/animate/", "shell_version_map": {"40": {"version": "4", "sha256": "1p110wz7wdr51z2fsn6z72lcnln13h8lfbw9a00hs9qb0y71qf5q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuaW1hdGVkIHNtYWxsIG1hbiBydW4gdGhyb3VnaCB0aGUgc2NyZWVuLiBTY3JvbGwgbW91c2UgY2FuIGNoYW5nZSBkZWZlcmVudCBjaGFyYWN0ZXIuIFlvdSBjYW4gdXNlIHlvdXIgUE5HIGNoYXJhY3RlcnMgaW5zdGVhZCBvZiB0aGUgb3JpZ2luYWwgb25lcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhbmltYXRlIiwKICAibmFtZSI6ICJhbmltYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ3MtYW5pbWF0ZSIsCiAgInV1aWQiOiAiYW5pbWF0ZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "1p110wz7wdr51z2fsn6z72lcnln13h8lfbw9a00hs9qb0y71qf5q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuaW1hdGVkIHNtYWxsIG1hbiBydW4gdGhyb3VnaCB0aGUgc2NyZWVuLiBTY3JvbGwgbW91c2UgY2FuIGNoYW5nZSBkZWZlcmVudCBjaGFyYWN0ZXIuIFlvdSBjYW4gdXNlIHlvdXIgUE5HIGNoYXJhY3RlcnMgaW5zdGVhZCBvZiB0aGUgb3JpZ2luYWwgb25lcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhbmltYXRlIiwKICAibmFtZSI6ICJhbmltYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ3MtYW5pbWF0ZSIsCiAgInV1aWQiOiAiYW5pbWF0ZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "42": {"version": "4", "sha256": "1p110wz7wdr51z2fsn6z72lcnln13h8lfbw9a00hs9qb0y71qf5q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuaW1hdGVkIHNtYWxsIG1hbiBydW4gdGhyb3VnaCB0aGUgc2NyZWVuLiBTY3JvbGwgbW91c2UgY2FuIGNoYW5nZSBkZWZlcmVudCBjaGFyYWN0ZXIuIFlvdSBjYW4gdXNlIHlvdXIgUE5HIGNoYXJhY3RlcnMgaW5zdGVhZCBvZiB0aGUgb3JpZ2luYWwgb25lcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhbmltYXRlIiwKICAibmFtZSI6ICJhbmltYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ3MtYW5pbWF0ZSIsCiAgInV1aWQiOiAiYW5pbWF0ZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "legacyschemeautoswitcher@joshimukul29.gmail.com", "name": "Legacy (GTK3) Theme Scheme Auto Switcher", "pname": "legacy-gtk3-theme-scheme-auto-switcher", "description": "Change the GTK3 theme to light/dark variant based on the system color scheme on Gnome 42", "link": "https://extensions.gnome.org/extension/4998/legacy-gtk3-theme-scheme-auto-switcher/", "shell_version_map": {"42": {"version": "3", "sha256": "0mdlskrjvn6j1mcy3484vwwwjg4j9b0km1mdlkkrssx5rk9x97xv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgR1RLMyB0aGVtZSB0byBsaWdodC9kYXJrIHZhcmlhbnQgYmFzZWQgb24gdGhlIHN5c3RlbSBjb2xvciBzY2hlbWUgb24gR25vbWUgNDIiLAogICJuYW1lIjogIkxlZ2FjeSAoR1RLMykgVGhlbWUgU2NoZW1lIEF1dG8gU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbXVrdWwyOS9sZWdhY3ktdGhlbWUtYXV0by1zd2l0Y2hlci1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogImxlZ2FjeXNjaGVtZWF1dG9zd2l0Y2hlckBqb3NoaW11a3VsMjkuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
 , {"uuid": "dash-to-dock-cosmic-@halfmexicanhalfamazing@gmail.com", "name": "Dash to Dock for COSMIC", "pname": "dash-to-dock-for-cosmic", "description": "A Dash to Dock fork for the COSMIC/GNOME Shell, fixes conflict with Cosmic Workspace.  It prevents Cosmic Workspaces from breaking after suspend.", "link": "https://extensions.gnome.org/extension/5004/dash-to-dock-for-cosmic/", "shell_version_map": {"40": {"version": "1", "sha256": "09chdybydr3q3f630w42wx81g0zb4kzp3mnwijj9dqsvjimag8n2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgRGFzaCB0byBEb2NrIGZvcmsgZm9yIHRoZSBDT1NNSUMvR05PTUUgU2hlbGwsIGZpeGVzIGNvbmZsaWN0IHdpdGggQ29zbWljIFdvcmtzcGFjZS4gIEl0IHByZXZlbnRzIENvc21pYyBXb3Jrc3BhY2VzIGZyb20gYnJlYWtpbmcgYWZ0ZXIgc3VzcGVuZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkYXNodG9kb2NrIiwKICAibmFtZSI6ICJEYXNoIHRvIERvY2sgZm9yIENPU01JQyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJtaWN4Z3hAZ21haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFsZm1leGljYW4vZGFzaC10by1kb2NrLXBvcC90cmVlL3VidW50dS1kb2NrIiwKICAidXVpZCI6ICJkYXNoLXRvLWRvY2stY29zbWljLUBoYWxmbWV4aWNhbmhhbGZhbWF6aW5nQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}, "41": {"version": "1", "sha256": "09chdybydr3q3f630w42wx81g0zb4kzp3mnwijj9dqsvjimag8n2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgRGFzaCB0byBEb2NrIGZvcmsgZm9yIHRoZSBDT1NNSUMvR05PTUUgU2hlbGwsIGZpeGVzIGNvbmZsaWN0IHdpdGggQ29zbWljIFdvcmtzcGFjZS4gIEl0IHByZXZlbnRzIENvc21pYyBXb3Jrc3BhY2VzIGZyb20gYnJlYWtpbmcgYWZ0ZXIgc3VzcGVuZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkYXNodG9kb2NrIiwKICAibmFtZSI6ICJEYXNoIHRvIERvY2sgZm9yIENPU01JQyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJtaWN4Z3hAZ21haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFsZm1leGljYW4vZGFzaC10by1kb2NrLXBvcC90cmVlL3VidW50dS1kb2NrIiwKICAidXVpZCI6ICJkYXNoLXRvLWRvY2stY29zbWljLUBoYWxmbWV4aWNhbmhhbGZhbWF6aW5nQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}, "42": {"version": "1", "sha256": "09chdybydr3q3f630w42wx81g0zb4kzp3mnwijj9dqsvjimag8n2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgRGFzaCB0byBEb2NrIGZvcmsgZm9yIHRoZSBDT1NNSUMvR05PTUUgU2hlbGwsIGZpeGVzIGNvbmZsaWN0IHdpdGggQ29zbWljIFdvcmtzcGFjZS4gIEl0IHByZXZlbnRzIENvc21pYyBXb3Jrc3BhY2VzIGZyb20gYnJlYWtpbmcgYWZ0ZXIgc3VzcGVuZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkYXNodG9kb2NrIiwKICAibmFtZSI6ICJEYXNoIHRvIERvY2sgZm9yIENPU01JQyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJtaWN4Z3hAZ21haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFsZm1leGljYW4vZGFzaC10by1kb2NrLXBvcC90cmVlL3VidW50dS1kb2NrIiwKICAidXVpZCI6ICJkYXNoLXRvLWRvY2stY29zbWljLUBoYWxmbWV4aWNhbmhhbGZhbWF6aW5nQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}}}
@@ -761,29 +761,35 @@
 , {"uuid": "favorites-apps-indicator@zecarneiro.pt", "name": "Favorites Apps Indicator", "pname": "favorites-apps-indicator", "description": "Your favorites commands and Apps Menu Indicator", "link": "https://extensions.gnome.org/extension/5096/favorites-apps-indicator/", "shell_version_map": {"42": {"version": "4", "sha256": "1hxb94bniwk0gvd4dk193rhjsqhawpcm3x5vi5djflqhc37bjzp6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIllvdXIgZmF2b3JpdGVzIGNvbW1hbmRzIGFuZCBBcHBzIE1lbnUgSW5kaWNhdG9yIiwKICAibmFtZSI6ICJGYXZvcml0ZXMgQXBwcyBJbmRpY2F0b3IiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIkpvc1x1MDBlOSBNLiBDLiBOb3JvbmhhIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3plY2FybmVpcm8vZmF2b3JpdGVzLWFwcHMtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJmYXZvcml0ZXMtYXBwcy1pbmRpY2F0b3JAemVjYXJuZWlyby5wdCIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "hot-bottom@fthx", "name": "Hot Bottom", "pname": "hot-bottom", "description": "Enter overview when you hover the bottom of the screen. Very light extension.\n\n For GNOME Shell 40+. The width of the show zone is the same as the Gnome Shell dash.\n\n I'm not notified of messages here, please report bugs only through GitHub.", "link": "https://extensions.gnome.org/extension/5099/hot-bottom/", "shell_version_map": {"40": {"version": "2", "sha256": "0xarbsardhqzpcwxa59vyb11v90fl9qj03kdrn8sqmcjs48xir3f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVudGVyIG92ZXJ2aWV3IHdoZW4geW91IGhvdmVyIHRoZSBib3R0b20gb2YgdGhlIHNjcmVlbi4gVmVyeSBsaWdodCBleHRlbnNpb24uXG5cbiBGb3IgR05PTUUgU2hlbGwgNDArLiBUaGUgd2lkdGggb2YgdGhlIHNob3cgem9uZSBpcyB0aGUgc2FtZSBhcyB0aGUgR25vbWUgU2hlbGwgZGFzaC5cblxuIEknbSBub3Qgbm90aWZpZWQgb2YgbWVzc2FnZXMgaGVyZSwgcGxlYXNlIHJlcG9ydCBidWdzIG9ubHkgdGhyb3VnaCBHaXRIdWIuIiwKICAibmFtZSI6ICJIb3QgQm90dG9tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9ob3QtYm90dG9tIiwKICAidXVpZCI6ICJob3QtYm90dG9tQGZ0aHgiLAogICJ2ZXJzaW9uIjogMgp9"}, "41": {"version": "2", "sha256": "0xarbsardhqzpcwxa59vyb11v90fl9qj03kdrn8sqmcjs48xir3f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVudGVyIG92ZXJ2aWV3IHdoZW4geW91IGhvdmVyIHRoZSBib3R0b20gb2YgdGhlIHNjcmVlbi4gVmVyeSBsaWdodCBleHRlbnNpb24uXG5cbiBGb3IgR05PTUUgU2hlbGwgNDArLiBUaGUgd2lkdGggb2YgdGhlIHNob3cgem9uZSBpcyB0aGUgc2FtZSBhcyB0aGUgR25vbWUgU2hlbGwgZGFzaC5cblxuIEknbSBub3Qgbm90aWZpZWQgb2YgbWVzc2FnZXMgaGVyZSwgcGxlYXNlIHJlcG9ydCBidWdzIG9ubHkgdGhyb3VnaCBHaXRIdWIuIiwKICAibmFtZSI6ICJIb3QgQm90dG9tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9ob3QtYm90dG9tIiwKICAidXVpZCI6ICJob3QtYm90dG9tQGZ0aHgiLAogICJ2ZXJzaW9uIjogMgp9"}, "42": {"version": "2", "sha256": "0xarbsardhqzpcwxa59vyb11v90fl9qj03kdrn8sqmcjs48xir3f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVudGVyIG92ZXJ2aWV3IHdoZW4geW91IGhvdmVyIHRoZSBib3R0b20gb2YgdGhlIHNjcmVlbi4gVmVyeSBsaWdodCBleHRlbnNpb24uXG5cbiBGb3IgR05PTUUgU2hlbGwgNDArLiBUaGUgd2lkdGggb2YgdGhlIHNob3cgem9uZSBpcyB0aGUgc2FtZSBhcyB0aGUgR25vbWUgU2hlbGwgZGFzaC5cblxuIEknbSBub3Qgbm90aWZpZWQgb2YgbWVzc2FnZXMgaGVyZSwgcGxlYXNlIHJlcG9ydCBidWdzIG9ubHkgdGhyb3VnaCBHaXRIdWIuIiwKICAibmFtZSI6ICJIb3QgQm90dG9tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9ob3QtYm90dG9tIiwKICAidXVpZCI6ICJob3QtYm90dG9tQGZ0aHgiLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "docker@stickman_0x00.com", "name": "Docker", "pname": "docker", "description": "Quick access to docker.", "link": "https://extensions.gnome.org/extension/5103/docker/", "shell_version_map": {"42": {"version": "7", "sha256": "1bk4axj1zmvbc44m21h5959ic5wdci6cqxi9rsbiqjx352r2hr78", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrIGFjY2VzcyB0byBkb2NrZXIuIiwKICAibmFtZSI6ICJEb2NrZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vc3RpY2ttYW5fMHgwMC9nbm9tZV9zaGVsbF9leHRlbnNpb25fZG9ja2VyIiwKICAidXVpZCI6ICJkb2NrZXJAc3RpY2ttYW5fMHgwMC5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}}}
-, {"uuid": "reboottouefi@ubaygd.com", "name": "RebootToUEFI", "pname": "reboottouefi", "description": "This is a small Gnome extension that adds the ability to reboot directly to the UEFI.", "link": "https://extensions.gnome.org/extension/5105/reboottouefi/", "shell_version_map": {"42": {"version": "1", "sha256": "1zhliqi84wplbpjy0w7cdcalxw6xk4grxh0jdm3gqkiw6mxbl9x2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgaXMgYSBzbWFsbCBHbm9tZSBleHRlbnNpb24gdGhhdCBhZGRzIHRoZSBhYmlsaXR5IHRvIHJlYm9vdCBkaXJlY3RseSB0byB0aGUgVUVGSS4iLAogICJuYW1lIjogIlJlYm9vdFRvVUVGSSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAicmVib290dG91ZWZpQHViYXlnZC5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}}}
+, {"uuid": "reboottouefi@ubaygd.com", "name": "RebootToUEFI", "pname": "reboottouefi", "description": "Reboot system into UEFI", "link": "https://extensions.gnome.org/extension/5105/reboottouefi/", "shell_version_map": {"42": {"version": "2", "sha256": "1isscyn5nd16g6xmrbi81vz6x64qjqa1c1hwgz57y0z2p11k1na7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlYm9vdCBzeXN0ZW0gaW50byBVRUZJIiwKICAibGljZW5zZSI6ICJHUEx2MyIsCiAgIm5hbWUiOiAiUmVib290VG9VRUZJIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1ViYXlHRC9yZWJvb3R0b3VlZmkiLAogICJ1dWlkIjogInJlYm9vdHRvdWVmaUB1YmF5Z2QuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "touch-ux@dblandford.com", "name": "Touch-UX", "pname": "touch-ux", "description": "Provides a swipe up gesture bar and a status bar shortcut to force the on screen keyboard to show in scenarios that it does not automatically show when expected.", "link": "https://extensions.gnome.org/extension/5108/touch-ux/", "shell_version_map": {"42": {"version": "3", "sha256": "1vjchsz0jml0qaj2mz0khsagacxz1m60ypcjnymh3swrx9lj765m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGVzIGEgc3dpcGUgdXAgZ2VzdHVyZSBiYXIgYW5kIGEgc3RhdHVzIGJhciBzaG9ydGN1dCB0byBmb3JjZSB0aGUgb24gc2NyZWVuIGtleWJvYXJkIHRvIHNob3cgaW4gc2NlbmFyaW9zIHRoYXQgaXQgZG9lcyBub3QgYXV0b21hdGljYWxseSBzaG93IHdoZW4gZXhwZWN0ZWQuIiwKICAibmFtZSI6ICJUb3VjaC1VWCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9EYW5pZWwtQmxhbmRmb3JkL1RvdWNoLVVYIiwKICAidXVpZCI6ICJ0b3VjaC11eEBkYmxhbmRmb3JkLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "display-scale-switcher@knokelmaat.gitlab.com", "name": "Display Scale Switcher", "pname": "display-scale-switcher", "description": "Quickly change the display scaling factor from the system menu. (Currently only supports single display)\n", "link": "https://extensions.gnome.org/extension/5111/display-scale-switcher/", "shell_version_map": {"42": {"version": "1", "sha256": "06sh5j6achhy13v1vprivpndwwv2h3y0x5qg17s1lkhbdyy4fxm5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgY2hhbmdlIHRoZSBkaXNwbGF5IHNjYWxpbmcgZmFjdG9yIGZyb20gdGhlIHN5c3RlbSBtZW51LiAoQ3VycmVudGx5IG9ubHkgc3VwcG9ydHMgc2luZ2xlIGRpc3BsYXkpXG4iLAogICJuYW1lIjogIkRpc3BsYXkgU2NhbGUgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20va25va2VsbWFhdC9kaXNwbGF5LXNjYWxlLXN3aXRjaGVyLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiZGlzcGxheS1zY2FsZS1zd2l0Y2hlckBrbm9rZWxtYWF0LmdpdGxhYi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}}}
-, {"uuid": "tailscale-status@maxgallup.github.com", "name": "Tailscale Status", "pname": "tailscale-status", "description": "Manage Tailscale connections and check status from desktop read more at https://github.com/maxgallup/tailscale-status/blob/main/README.md", "link": "https://extensions.gnome.org/extension/5112/tailscale-status/", "shell_version_map": {"42": {"version": "4", "sha256": "0iyc5xswimsnyjgc37ccichxfqlhsk6gswnk52nnf4h71zsgj8sx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBUYWlsc2NhbGUgY29ubmVjdGlvbnMgYW5kIGNoZWNrIHN0YXR1cyBmcm9tIGRlc2t0b3AgcmVhZCBtb3JlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9tYXhnYWxsdXAvdGFpbHNjYWxlLXN0YXR1cy9ibG9iL21haW4vUkVBRE1FLm1kIiwKICAibmFtZSI6ICJUYWlsc2NhbGUgU3RhdHVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21heGdhbGx1cC90YWlsc2NhbGUtc3RhdHVzIiwKICAidXVpZCI6ICJ0YWlsc2NhbGUtc3RhdHVzQG1heGdhbGx1cC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
+, {"uuid": "tailscale-status@maxgallup.github.com", "name": "Tailscale Status", "pname": "tailscale-status", "description": "Manage Tailscale connections and check status from desktop read more at https://github.com/maxgallup/tailscale-status/blob/main/README.md", "link": "https://extensions.gnome.org/extension/5112/tailscale-status/", "shell_version_map": {"42": {"version": "5", "sha256": "1n9magr8445ayh5sdnj2glhd59lgyh24nf2cjylds12qiaa3kxvq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBUYWlsc2NhbGUgY29ubmVjdGlvbnMgYW5kIGNoZWNrIHN0YXR1cyBmcm9tIGRlc2t0b3AgcmVhZCBtb3JlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9tYXhnYWxsdXAvdGFpbHNjYWxlLXN0YXR1cy9ibG9iL21haW4vUkVBRE1FLm1kIiwKICAibmFtZSI6ICJUYWlsc2NhbGUgU3RhdHVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21heGdhbGx1cC90YWlsc2NhbGUtc3RhdHVzIiwKICAidXVpZCI6ICJ0YWlsc2NhbGUtc3RhdHVzQG1heGdhbGx1cC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"uuid": "simple-timer@majortomvr.github.com", "name": "Simple Timer", "pname": "simple-timer", "description": "Simple Timer is a Gnome Shell Extension that adds a Timer to the Panel.", "link": "https://extensions.gnome.org/extension/5115/simple-timer/", "shell_version_map": {"41": {"version": "1", "sha256": "1k1qxygahg7h5x5g2b6c13j0hnv0sy9k82nw45ixjkzmfrx99pr6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBUaW1lciBpcyBhIEdub21lIFNoZWxsIEV4dGVuc2lvbiB0aGF0IGFkZHMgYSBUaW1lciB0byB0aGUgUGFuZWwuIiwKICAibmFtZSI6ICJTaW1wbGUgVGltZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01ham9ydG9tVlIvc2ltcGxlLXRpbWVyLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAic2ltcGxlLXRpbWVyQG1ham9ydG9tdnIuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}, "42": {"version": "1", "sha256": "1k1qxygahg7h5x5g2b6c13j0hnv0sy9k82nw45ixjkzmfrx99pr6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBUaW1lciBpcyBhIEdub21lIFNoZWxsIEV4dGVuc2lvbiB0aGF0IGFkZHMgYSBUaW1lciB0byB0aGUgUGFuZWwuIiwKICAibmFtZSI6ICJTaW1wbGUgVGltZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01ham9ydG9tVlIvc2ltcGxlLXRpbWVyLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAic2ltcGxlLXRpbWVyQG1ham9ydG9tdnIuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "translate-assistant@atareao.es", "name": "Translate assistant", "pname": "translate-assistant", "description": "Translate with DeepL Translator", "link": "https://extensions.gnome.org/extension/5124/translate-assistant/", "shell_version_map": {"42": {"version": "6", "sha256": "0rql3ax7m3pr8g5h7iadl4isa2wv2wyzl9n0nihwf2js19i6ya97", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSB3aXRoIERlZXBMIFRyYW5zbGF0b3IiLAogICJleHRlbnNpb24taWQiOiAidHJhbnNsYXRlLWFzc2lzdGFudEBhdGFyZWFvLmVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidHJhbnNsYXRlLWFzc2lzdGFudEBhdGFyZWFvLmVzIiwKICAiaWNvbiI6ICJ0cmFuc2xhdGUtYXNzaXN0YW50LWljb24iLAogICJuYW1lIjogIlRyYW5zbGF0ZSBhc3Npc3RhbnQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudHJhbnNsYXRlLWFzc2lzdGFudCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hdGFyZWFvL3RyYW5zbGF0ZS1hc3Npc3RhbnQiLAogICJ1dWlkIjogInRyYW5zbGF0ZS1hc3Npc3RhbnRAYXRhcmVhby5lcyIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"uuid": "stand-with-ukraine@vshut", "name": "Stand With Ukraine", "pname": "stand-with-ukraine", "description": "Displays Ukraine emoji flag in the top panel and provides menu with useful links.", "link": "https://extensions.gnome.org/extension/5126/stand-with-ukraine/", "shell_version_map": {"38": {"version": "3", "sha256": "1iqhy6jf6l74dig8lfd5kyqn6rc0f1f43qr9xk3396f2l1wjy6vf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIFVrcmFpbmUgZW1vamkgZmxhZyBpbiB0aGUgdG9wIHBhbmVsIGFuZCBwcm92aWRlcyBtZW51IHdpdGggdXNlZnVsIGxpbmtzLiIsCiAgIm5hbWUiOiAiU3RhbmQgV2l0aCBVa3JhaW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vdmxhZHNodXQvc3RhbmQtd2l0aC11a3JhaW5lLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAic3RhbmQtd2l0aC11a3JhaW5lQHZzaHV0IiwKICAidmVyc2lvbiI6IDMKfQ=="}, "40": {"version": "3", "sha256": "1iqhy6jf6l74dig8lfd5kyqn6rc0f1f43qr9xk3396f2l1wjy6vf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIFVrcmFpbmUgZW1vamkgZmxhZyBpbiB0aGUgdG9wIHBhbmVsIGFuZCBwcm92aWRlcyBtZW51IHdpdGggdXNlZnVsIGxpbmtzLiIsCiAgIm5hbWUiOiAiU3RhbmQgV2l0aCBVa3JhaW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vdmxhZHNodXQvc3RhbmQtd2l0aC11a3JhaW5lLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAic3RhbmQtd2l0aC11a3JhaW5lQHZzaHV0IiwKICAidmVyc2lvbiI6IDMKfQ=="}, "41": {"version": "3", "sha256": "1iqhy6jf6l74dig8lfd5kyqn6rc0f1f43qr9xk3396f2l1wjy6vf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIFVrcmFpbmUgZW1vamkgZmxhZyBpbiB0aGUgdG9wIHBhbmVsIGFuZCBwcm92aWRlcyBtZW51IHdpdGggdXNlZnVsIGxpbmtzLiIsCiAgIm5hbWUiOiAiU3RhbmQgV2l0aCBVa3JhaW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vdmxhZHNodXQvc3RhbmQtd2l0aC11a3JhaW5lLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAic3RhbmQtd2l0aC11a3JhaW5lQHZzaHV0IiwKICAidmVyc2lvbiI6IDMKfQ=="}, "42": {"version": "3", "sha256": "1iqhy6jf6l74dig8lfd5kyqn6rc0f1f43qr9xk3396f2l1wjy6vf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIFVrcmFpbmUgZW1vamkgZmxhZyBpbiB0aGUgdG9wIHBhbmVsIGFuZCBwcm92aWRlcyBtZW51IHdpdGggdXNlZnVsIGxpbmtzLiIsCiAgIm5hbWUiOiAiU3RhbmQgV2l0aCBVa3JhaW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vdmxhZHNodXQvc3RhbmQtd2l0aC11a3JhaW5lLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAic3RhbmQtd2l0aC11a3JhaW5lQHZzaHV0IiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
 , {"uuid": "audio-selector@harald65.simon.gmail.com", "name": "Audio Selector", "pname": "audio-selector", "description": "Select audio output and/or input port", "link": "https://extensions.gnome.org/extension/5135/audio-selector/", "shell_version_map": {"42": {"version": "5", "sha256": "00ww12j34fpbrqlxkc6d47s0i542byz6r39yrshyf8xrcs8r7ifm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlbGVjdCBhdWRpbyBvdXRwdXQgYW5kL29yIGlucHV0IHBvcnQiLAogICJuYW1lIjogIkF1ZGlvIFNlbGVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hzNjUvR25vbWUtU2hlbGwtRXh0ZW5zaW9uLUF1ZGlvLVNlbGVjdG9yLmdpdCIsCiAgInV1aWQiOiAiYXVkaW8tc2VsZWN0b3JAaGFyYWxkNjUuc2ltb24uZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
-, {"uuid": "dashbar@fthx", "name": "DashBar", "pname": "dashbar", "description": "Task bar. Very light extension.\n\n Features:\n\n - Hide overview at start-up.\n\n - Scroll on taskbar to change workspace.\n\n - Show desktop button. Left click to minimize all windows. Right click to activate all windows.\n\n - Show apps button. Left click to enter overview. Right click to show apps overview.\n\n - GNOME Shell dash items in top bar. Left click to toggle (or cycle if many app windows). Right click to show app menu. Middle click to open new window. Drag'n'drop favorites.\n\n - Remove 'Activities' button.\n\n - Change 'Places' extension label to an icon.\n\n No settings. If you want customization through preferences UI, please consider BaBar or Dash to Panel.\n\n ----------\n\n Please report any bug only through GitHub, I'm not notified here.", "link": "https://extensions.gnome.org/extension/5143/dashbar/", "shell_version_map": {"42": {"version": "7", "sha256": "0p6yfxsla904s7p65gqj02hipkyza9qlyi1q3rihr8kwkz9vm2dv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2sgYmFyLiBWZXJ5IGxpZ2h0IGV4dGVuc2lvbi5cblxuIEZlYXR1cmVzOlxuXG4gLSBIaWRlIG92ZXJ2aWV3IGF0IHN0YXJ0LXVwLlxuXG4gLSBTY3JvbGwgb24gdGFza2JhciB0byBjaGFuZ2Ugd29ya3NwYWNlLlxuXG4gLSBTaG93IGRlc2t0b3AgYnV0dG9uLiBMZWZ0IGNsaWNrIHRvIG1pbmltaXplIGFsbCB3aW5kb3dzLiBSaWdodCBjbGljayB0byBhY3RpdmF0ZSBhbGwgd2luZG93cy5cblxuIC0gU2hvdyBhcHBzIGJ1dHRvbi4gTGVmdCBjbGljayB0byBlbnRlciBvdmVydmlldy4gUmlnaHQgY2xpY2sgdG8gc2hvdyBhcHBzIG92ZXJ2aWV3LlxuXG4gLSBHTk9NRSBTaGVsbCBkYXNoIGl0ZW1zIGluIHRvcCBiYXIuIExlZnQgY2xpY2sgdG8gdG9nZ2xlIChvciBjeWNsZSBpZiBtYW55IGFwcCB3aW5kb3dzKS4gUmlnaHQgY2xpY2sgdG8gc2hvdyBhcHAgbWVudS4gTWlkZGxlIGNsaWNrIHRvIG9wZW4gbmV3IHdpbmRvdy4gRHJhZyduJ2Ryb3AgZmF2b3JpdGVzLlxuXG4gLSBSZW1vdmUgJ0FjdGl2aXRpZXMnIGJ1dHRvbi5cblxuIC0gQ2hhbmdlICdQbGFjZXMnIGV4dGVuc2lvbiBsYWJlbCB0byBhbiBpY29uLlxuXG4gTm8gc2V0dGluZ3MuIElmIHlvdSB3YW50IGN1c3RvbWl6YXRpb24gdGhyb3VnaCBwcmVmZXJlbmNlcyBVSSwgcGxlYXNlIGNvbnNpZGVyIEJhQmFyIG9yIERhc2ggdG8gUGFuZWwuXG5cbiAtLS0tLS0tLS0tXG5cbiBQbGVhc2UgcmVwb3J0IGFueSBidWcgb25seSB0aHJvdWdoIEdpdEh1YiwgSSdtIG5vdCBub3RpZmllZCBoZXJlLiIsCiAgIm5hbWUiOiAiRGFzaEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2Rhc2hiYXIiLAogICJ1dWlkIjogImRhc2hiYXJAZnRoeCIsCiAgInZlcnNpb24iOiA3Cn0="}}}
+, {"uuid": "dashbar@fthx", "name": "DashBar", "pname": "dashbar", "description": "Task bar. Very light extension.\n\n Features:\n\n - Hide overview at start-up.\n\n - Scroll on taskbar to change workspace.\n\n - Show desktop button. Left click to minimize all windows. Right click to activate all windows.\n\n - Show apps button. Left click to enter overview. Right click to show apps overview.\n\n - GNOME Shell dash items in top bar. Left click to toggle (or cycle if many app windows). Right click to show app menu. Middle click to open new window. Drag'n'drop favorites.\n\n - Remove 'Activities' button.\n\n - Change 'Places' extension label to an icon.\n\n No settings. If you want customization through preferences UI, please consider BaBar or Dash to Panel.\n\n ----------\n\n Please report any bug only through GitHub, I'm not notified here.", "link": "https://extensions.gnome.org/extension/5143/dashbar/", "shell_version_map": {"42": {"version": "8", "sha256": "043g41llm6s18ijbm3sz5ya0hdrpdd03h6wmydvyaq26xlimh7cb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2sgYmFyLiBWZXJ5IGxpZ2h0IGV4dGVuc2lvbi5cblxuIEZlYXR1cmVzOlxuXG4gLSBIaWRlIG92ZXJ2aWV3IGF0IHN0YXJ0LXVwLlxuXG4gLSBTY3JvbGwgb24gdGFza2JhciB0byBjaGFuZ2Ugd29ya3NwYWNlLlxuXG4gLSBTaG93IGRlc2t0b3AgYnV0dG9uLiBMZWZ0IGNsaWNrIHRvIG1pbmltaXplIGFsbCB3aW5kb3dzLiBSaWdodCBjbGljayB0byBhY3RpdmF0ZSBhbGwgd2luZG93cy5cblxuIC0gU2hvdyBhcHBzIGJ1dHRvbi4gTGVmdCBjbGljayB0byBlbnRlciBvdmVydmlldy4gUmlnaHQgY2xpY2sgdG8gc2hvdyBhcHBzIG92ZXJ2aWV3LlxuXG4gLSBHTk9NRSBTaGVsbCBkYXNoIGl0ZW1zIGluIHRvcCBiYXIuIExlZnQgY2xpY2sgdG8gdG9nZ2xlIChvciBjeWNsZSBpZiBtYW55IGFwcCB3aW5kb3dzKS4gUmlnaHQgY2xpY2sgdG8gc2hvdyBhcHAgbWVudS4gTWlkZGxlIGNsaWNrIHRvIG9wZW4gbmV3IHdpbmRvdy4gRHJhZyduJ2Ryb3AgZmF2b3JpdGVzLlxuXG4gLSBSZW1vdmUgJ0FjdGl2aXRpZXMnIGJ1dHRvbi5cblxuIC0gQ2hhbmdlICdQbGFjZXMnIGV4dGVuc2lvbiBsYWJlbCB0byBhbiBpY29uLlxuXG4gTm8gc2V0dGluZ3MuIElmIHlvdSB3YW50IGN1c3RvbWl6YXRpb24gdGhyb3VnaCBwcmVmZXJlbmNlcyBVSSwgcGxlYXNlIGNvbnNpZGVyIEJhQmFyIG9yIERhc2ggdG8gUGFuZWwuXG5cbiAtLS0tLS0tLS0tXG5cbiBQbGVhc2UgcmVwb3J0IGFueSBidWcgb25seSB0aHJvdWdoIEdpdEh1YiwgSSdtIG5vdCBub3RpZmllZCBoZXJlLiIsCiAgIm5hbWUiOiAiRGFzaEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2Rhc2hiYXIiLAogICJ1dWlkIjogImRhc2hiYXJAZnRoeCIsCiAgInZlcnNpb24iOiA4Cn0="}}}
 , {"uuid": "extended-screen@free-bots.github.io", "name": "Extended Screen", "pname": "extended-screen", "description": "Enables Gnome 42 hidden extending screen feature... please make sure that gnome-remote-desktop is installed", "link": "https://extensions.gnome.org/extension/5146/extended-screen/", "shell_version_map": {"42": {"version": "2", "sha256": "156zzlkfwgl36wj946yhm9s5v7jig0a2f6prgxq0qm7hhcdvwhap", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgR25vbWUgNDIgaGlkZGVuIGV4dGVuZGluZyBzY3JlZW4gZmVhdHVyZS4uLiBwbGVhc2UgbWFrZSBzdXJlIHRoYXQgZ25vbWUtcmVtb3RlLWRlc2t0b3AgaXMgaW5zdGFsbGVkIiwKICAibmFtZSI6ICJFeHRlbmRlZCBTY3JlZW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnJlZS1ib3RzL2V4dGVuZGVkLXNjcmVlbiIsCiAgInV1aWQiOiAiZXh0ZW5kZWQtc2NyZWVuQGZyZWUtYm90cy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "waylandorx11@injcristianrojas.github.com", "name": "Wayland or X11?", "pname": "wayland-or-x11", "description": "Am I using Wayland or X11?\n\nSimple extension that shows if you are using GNOME on Wayland or X11.\n\nIssues? Drop them at https://github.com/injcristianrojas/waylandorx11/issues", "link": "https://extensions.gnome.org/extension/5149/wayland-or-x11/", "shell_version_map": {"40": {"version": "2", "sha256": "179glvkmnb24qnsnggmdc9pn3xvvn8i874d5l6416k352vk677k1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFtIEkgdXNpbmcgV2F5bGFuZCBvciBYMTE/XG5cblNpbXBsZSBleHRlbnNpb24gdGhhdCBzaG93cyBpZiB5b3UgYXJlIHVzaW5nIEdOT01FIG9uIFdheWxhbmQgb3IgWDExLlxuXG5Jc3N1ZXM/IERyb3AgdGhlbSBhdCBodHRwczovL2dpdGh1Yi5jb20vaW5qY3Jpc3RpYW5yb2phcy93YXlsYW5kb3J4MTEvaXNzdWVzIiwKICAibmFtZSI6ICJXYXlsYW5kIG9yIFgxMT8iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pbmpjcmlzdGlhbnJvamFzL3dheWxhbmRvcngxMSIsCiAgInV1aWQiOiAid2F5bGFuZG9yeDExQGluamNyaXN0aWFucm9qYXMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "179glvkmnb24qnsnggmdc9pn3xvvn8i874d5l6416k352vk677k1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFtIEkgdXNpbmcgV2F5bGFuZCBvciBYMTE/XG5cblNpbXBsZSBleHRlbnNpb24gdGhhdCBzaG93cyBpZiB5b3UgYXJlIHVzaW5nIEdOT01FIG9uIFdheWxhbmQgb3IgWDExLlxuXG5Jc3N1ZXM/IERyb3AgdGhlbSBhdCBodHRwczovL2dpdGh1Yi5jb20vaW5qY3Jpc3RpYW5yb2phcy93YXlsYW5kb3J4MTEvaXNzdWVzIiwKICAibmFtZSI6ICJXYXlsYW5kIG9yIFgxMT8iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pbmpjcmlzdGlhbnJvamFzL3dheWxhbmRvcngxMSIsCiAgInV1aWQiOiAid2F5bGFuZG9yeDExQGluamNyaXN0aWFucm9qYXMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "42": {"version": "2", "sha256": "179glvkmnb24qnsnggmdc9pn3xvvn8i874d5l6416k352vk677k1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFtIEkgdXNpbmcgV2F5bGFuZCBvciBYMTE/XG5cblNpbXBsZSBleHRlbnNpb24gdGhhdCBzaG93cyBpZiB5b3UgYXJlIHVzaW5nIEdOT01FIG9uIFdheWxhbmQgb3IgWDExLlxuXG5Jc3N1ZXM/IERyb3AgdGhlbSBhdCBodHRwczovL2dpdGh1Yi5jb20vaW5qY3Jpc3RpYW5yb2phcy93YXlsYW5kb3J4MTEvaXNzdWVzIiwKICAibmFtZSI6ICJXYXlsYW5kIG9yIFgxMT8iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pbmpjcmlzdGlhbnJvamFzL3dheWxhbmRvcngxMSIsCiAgInV1aWQiOiAid2F5bGFuZG9yeDExQGluamNyaXN0aWFucm9qYXMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "azclock@azclock.gitlab.com", "name": "Desktop Clock", "pname": "desktop-clock", "description": "Add a clock to the desktop!\n\nNote: Desktop Icons extension prevents the ability to move the clock. Turn off Desktop Icons extensions temporarily to move the clock around.", "link": "https://extensions.gnome.org/extension/5156/desktop-clock/", "shell_version_map": {"42": {"version": "1", "sha256": "0j8q97a4lv70by0c4383caa2i363gm7l1wsmrjs1iwppc7qmlm0d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGNsb2NrIHRvIHRoZSBkZXNrdG9wIVxuXG5Ob3RlOiBEZXNrdG9wIEljb25zIGV4dGVuc2lvbiBwcmV2ZW50cyB0aGUgYWJpbGl0eSB0byBtb3ZlIHRoZSBjbG9jay4gVHVybiBvZmYgRGVza3RvcCBJY29ucyBleHRlbnNpb25zIHRlbXBvcmFyaWx5IHRvIG1vdmUgdGhlIGNsb2NrIGFyb3VuZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhemNsb2NrIiwKICAibmFtZSI6ICJEZXNrdG9wIENsb2NrIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF6Y2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vQW5kcmV3WmFlY2gvYXpjbG9jayIsCiAgInV1aWQiOiAiYXpjbG9ja0BhemNsb2NrLmdpdGxhYi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"uuid": "since-indicator@atareao.es", "name": "Since Indicator", "pname": "since-indicator", "description": "A simple menubar app for GNOME Shell that tracks how long you've been using your computer uninterruptedly", "link": "https://extensions.gnome.org/extension/5158/since-indicator/", "shell_version_map": {"40": {"version": "3", "sha256": "0ddrbs8c95v3lhgs1pllhb89ddwlkzavdfgsijw1w5pjcxrq4hn7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dG9yIjogIkxvcmVuem8gQ2FyYm9uZWxsIiwKICAiY29weXJpZ2h0IjogIjIwMjIiLAogICJkZXNjcmlwdGlvbiI6ICJBIHNpbXBsZSBtZW51YmFyIGFwcCBmb3IgR05PTUUgU2hlbGwgdGhhdCB0cmFja3MgaG93IGxvbmcgeW91J3ZlIGJlZW4gdXNpbmcgeW91ciBjb21wdXRlciB1bmludGVycnVwdGVkbHkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzaW5jZS1pbmRpY2F0b3JAYXRhcmVhby5lcyIsCiAgImljb24iOiAic2luY2UtaW5kaWNhdG9yIiwKICAibmFtZSI6ICJTaW5jZSBJbmRpY2F0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2luY2UtaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL3d3dy5hdGFyZWFvLmVzL2FwbGljYWNpb24vc2luY2UtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJzaW5jZS1pbmRpY2F0b3JAYXRhcmVhby5lcyIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "0ddrbs8c95v3lhgs1pllhb89ddwlkzavdfgsijw1w5pjcxrq4hn7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dG9yIjogIkxvcmVuem8gQ2FyYm9uZWxsIiwKICAiY29weXJpZ2h0IjogIjIwMjIiLAogICJkZXNjcmlwdGlvbiI6ICJBIHNpbXBsZSBtZW51YmFyIGFwcCBmb3IgR05PTUUgU2hlbGwgdGhhdCB0cmFja3MgaG93IGxvbmcgeW91J3ZlIGJlZW4gdXNpbmcgeW91ciBjb21wdXRlciB1bmludGVycnVwdGVkbHkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzaW5jZS1pbmRpY2F0b3JAYXRhcmVhby5lcyIsCiAgImljb24iOiAic2luY2UtaW5kaWNhdG9yIiwKICAibmFtZSI6ICJTaW5jZSBJbmRpY2F0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2luY2UtaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL3d3dy5hdGFyZWFvLmVzL2FwbGljYWNpb24vc2luY2UtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJzaW5jZS1pbmRpY2F0b3JAYXRhcmVhby5lcyIsCiAgInZlcnNpb24iOiAzCn0="}, "42": {"version": "3", "sha256": "0ddrbs8c95v3lhgs1pllhb89ddwlkzavdfgsijw1w5pjcxrq4hn7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dG9yIjogIkxvcmVuem8gQ2FyYm9uZWxsIiwKICAiY29weXJpZ2h0IjogIjIwMjIiLAogICJkZXNjcmlwdGlvbiI6ICJBIHNpbXBsZSBtZW51YmFyIGFwcCBmb3IgR05PTUUgU2hlbGwgdGhhdCB0cmFja3MgaG93IGxvbmcgeW91J3ZlIGJlZW4gdXNpbmcgeW91ciBjb21wdXRlciB1bmludGVycnVwdGVkbHkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzaW5jZS1pbmRpY2F0b3JAYXRhcmVhby5lcyIsCiAgImljb24iOiAic2luY2UtaW5kaWNhdG9yIiwKICAibmFtZSI6ICJTaW5jZSBJbmRpY2F0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2luY2UtaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL3d3dy5hdGFyZWFvLmVzL2FwbGljYWNpb24vc2luY2UtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJzaW5jZS1pbmRpY2F0b3JAYXRhcmVhby5lcyIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "noa11y@popov895.ukr.net", "name": "No a11y", "pname": "no-a11y", "description": "Hide the accessibility button on the top bar.", "link": "https://extensions.gnome.org/extension/5162/no-a11y/", "shell_version_map": {"42": {"version": "1", "sha256": "0nv9iwyx0pqf81jhdgfm5dsjh7ryp8y25w32l1ll1w7223chz2v7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgdGhlIGFjY2Vzc2liaWxpdHkgYnV0dG9uIG9uIHRoZSB0b3AgYmFyLiIsCiAgIm5hbWUiOiAiTm8gYTExeSIsCiAgInNlc3Npb24tbW9kZXMiOiBbCiAgICAidXNlciIsCiAgICAidW5sb2NrLWRpYWxvZyIKICBdLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcG9wb3Y4OTUvbm9hMTF5IiwKICAidXVpZCI6ICJub2ExMXlAcG9wb3Y4OTUudWtyLm5ldCIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "upower-battery@codilia.com", "name": "UPower Battery", "pname": "upower-battery", "description": "UPower Battery Indicator.", "link": "https://extensions.gnome.org/extension/5165/upower-battery/", "shell_version_map": {"42": {"version": "4", "sha256": "1snl3ij055gcsmrk0dk6y1z1a9f4l6ydqqwf8hbgblw4iaiha1mw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVQb3dlciBCYXR0ZXJ5IEluZGljYXRvci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ1cG93ZXJfYmF0dGVyeV9pbmRpY2F0b3IiLAogICJuYW1lIjogIlVQb3dlciBCYXR0ZXJ5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NvZGlsaWEvdXBvd2VyLWJhdHRlcnkiLAogICJ1dWlkIjogInVwb3dlci1iYXR0ZXJ5QGNvZGlsaWEuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
-, {"uuid": "vertical-workspaces@G-dH.github.com", "name": "Vertical Workspaces", "pname": "vertical-workspaces", "description": "Changes the horizontal orientation of workspaces to vertical and adds customizations of the Activities Overview layout.\n\nThis extension doesn't offer vertical orientation of the Dash, but is compatible with Dash to Dock / Ubuntu dock.\n\nPlease report bugs and feature requests on the GitHub page linked below as Extension Homepage. Thank you.", "link": "https://extensions.gnome.org/extension/5177/vertical-workspaces/", "shell_version_map": {"40": {"version": "4", "sha256": "1dgqhpl62m9j5hdbb1azxz1hnxs9hkfpqhkybhvdh9f8xrnvjm39", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgdGhlIGhvcml6b250YWwgb3JpZW50YXRpb24gb2Ygd29ya3NwYWNlcyB0byB2ZXJ0aWNhbCBhbmQgYWRkcyBjdXN0b21pemF0aW9ucyBvZiB0aGUgQWN0aXZpdGllcyBPdmVydmlldyBsYXlvdXQuXG5cblRoaXMgZXh0ZW5zaW9uIGRvZXNuJ3Qgb2ZmZXIgdmVydGljYWwgb3JpZW50YXRpb24gb2YgdGhlIERhc2gsIGJ1dCBpcyBjb21wYXRpYmxlIHdpdGggRGFzaCB0byBEb2NrIC8gVWJ1bnR1IGRvY2suXG5cblBsZWFzZSByZXBvcnQgYnVncyBhbmQgZmVhdHVyZSByZXF1ZXN0cyBvbiB0aGUgR2l0SHViIHBhZ2UgbGlua2VkIGJlbG93IGFzIEV4dGVuc2lvbiBIb21lcGFnZS4gVGhhbmsgeW91LiIsCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlZlcnRpY2FsIFdvcmtzcGFjZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HLWRIL3ZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJ1dWlkIjogInZlcnRpY2FsLXdvcmtzcGFjZXNARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "1dgqhpl62m9j5hdbb1azxz1hnxs9hkfpqhkybhvdh9f8xrnvjm39", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgdGhlIGhvcml6b250YWwgb3JpZW50YXRpb24gb2Ygd29ya3NwYWNlcyB0byB2ZXJ0aWNhbCBhbmQgYWRkcyBjdXN0b21pemF0aW9ucyBvZiB0aGUgQWN0aXZpdGllcyBPdmVydmlldyBsYXlvdXQuXG5cblRoaXMgZXh0ZW5zaW9uIGRvZXNuJ3Qgb2ZmZXIgdmVydGljYWwgb3JpZW50YXRpb24gb2YgdGhlIERhc2gsIGJ1dCBpcyBjb21wYXRpYmxlIHdpdGggRGFzaCB0byBEb2NrIC8gVWJ1bnR1IGRvY2suXG5cblBsZWFzZSByZXBvcnQgYnVncyBhbmQgZmVhdHVyZSByZXF1ZXN0cyBvbiB0aGUgR2l0SHViIHBhZ2UgbGlua2VkIGJlbG93IGFzIEV4dGVuc2lvbiBIb21lcGFnZS4gVGhhbmsgeW91LiIsCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlZlcnRpY2FsIFdvcmtzcGFjZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HLWRIL3ZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJ1dWlkIjogInZlcnRpY2FsLXdvcmtzcGFjZXNARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "42": {"version": "4", "sha256": "1dgqhpl62m9j5hdbb1azxz1hnxs9hkfpqhkybhvdh9f8xrnvjm39", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgdGhlIGhvcml6b250YWwgb3JpZW50YXRpb24gb2Ygd29ya3NwYWNlcyB0byB2ZXJ0aWNhbCBhbmQgYWRkcyBjdXN0b21pemF0aW9ucyBvZiB0aGUgQWN0aXZpdGllcyBPdmVydmlldyBsYXlvdXQuXG5cblRoaXMgZXh0ZW5zaW9uIGRvZXNuJ3Qgb2ZmZXIgdmVydGljYWwgb3JpZW50YXRpb24gb2YgdGhlIERhc2gsIGJ1dCBpcyBjb21wYXRpYmxlIHdpdGggRGFzaCB0byBEb2NrIC8gVWJ1bnR1IGRvY2suXG5cblBsZWFzZSByZXBvcnQgYnVncyBhbmQgZmVhdHVyZSByZXF1ZXN0cyBvbiB0aGUgR2l0SHViIHBhZ2UgbGlua2VkIGJlbG93IGFzIEV4dGVuc2lvbiBIb21lcGFnZS4gVGhhbmsgeW91LiIsCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlZlcnRpY2FsIFdvcmtzcGFjZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HLWRIL3ZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJ1dWlkIjogInZlcnRpY2FsLXdvcmtzcGFjZXNARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
-, {"uuid": "rocketbar@chepkun.github.com", "name": "Rocketbar", "pname": "rocketbar", "description": "Taskbar and misc additions for the GNOME Shell.\n\n# Key Features:\n\nTaskbar\n    - Optimized for best performance\n    - Doesn't hurt CPU and Shell on every mouse click\n    - Highly customizable\n    - Dominant color support for app buttons and indicators\n    - Optimized to work with a fully transparent panel\n    - Supports both top and bottom positions of the Main panel\n    - Per app customization feature\n    - Drag and Drop support to reorder existing and pin new apps in the taskbar\n    - Displaying of notification badges on app buttons\n    - Tooltips with additional information such as windows count and notification count\n    - Set focus on urgent windows of an active application automatically (Fixes 'Open Folder' dialog in VS Code and so on)\n\nShell Tweaks\n    - Dash killing feature to hide the Dash and prevent it from rendering behind the scene\n    - Scroll the Main panel to change sound volume and middle click to toggle mute\n    - Activities button click behavior override\n    - Overview empty space clicks support\n    - Fullscreen Hot Corner", "link": "https://extensions.gnome.org/extension/5180/rocketbar/", "shell_version_map": {"42": {"version": "3", "sha256": "1f5sa8zhm8g23qyn3b5nfzg2r59a4zg3r19hbfbnxyyww7rvbcpy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2tiYXIgYW5kIG1pc2MgYWRkaXRpb25zIGZvciB0aGUgR05PTUUgU2hlbGwuXG5cbiMgS2V5IEZlYXR1cmVzOlxuXG5UYXNrYmFyXG4gICAgLSBPcHRpbWl6ZWQgZm9yIGJlc3QgcGVyZm9ybWFuY2VcbiAgICAtIERvZXNuJ3QgaHVydCBDUFUgYW5kIFNoZWxsIG9uIGV2ZXJ5IG1vdXNlIGNsaWNrXG4gICAgLSBIaWdobHkgY3VzdG9taXphYmxlXG4gICAgLSBEb21pbmFudCBjb2xvciBzdXBwb3J0IGZvciBhcHAgYnV0dG9ucyBhbmQgaW5kaWNhdG9yc1xuICAgIC0gT3B0aW1pemVkIHRvIHdvcmsgd2l0aCBhIGZ1bGx5IHRyYW5zcGFyZW50IHBhbmVsXG4gICAgLSBTdXBwb3J0cyBib3RoIHRvcCBhbmQgYm90dG9tIHBvc2l0aW9ucyBvZiB0aGUgTWFpbiBwYW5lbFxuICAgIC0gUGVyIGFwcCBjdXN0b21pemF0aW9uIGZlYXR1cmVcbiAgICAtIERyYWcgYW5kIERyb3Agc3VwcG9ydCB0byByZW9yZGVyIGV4aXN0aW5nIGFuZCBwaW4gbmV3IGFwcHMgaW4gdGhlIHRhc2tiYXJcbiAgICAtIERpc3BsYXlpbmcgb2Ygbm90aWZpY2F0aW9uIGJhZGdlcyBvbiBhcHAgYnV0dG9uc1xuICAgIC0gVG9vbHRpcHMgd2l0aCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHN1Y2ggYXMgd2luZG93cyBjb3VudCBhbmQgbm90aWZpY2F0aW9uIGNvdW50XG4gICAgLSBTZXQgZm9jdXMgb24gdXJnZW50IHdpbmRvd3Mgb2YgYW4gYWN0aXZlIGFwcGxpY2F0aW9uIGF1dG9tYXRpY2FsbHkgKEZpeGVzICdPcGVuIEZvbGRlcicgZGlhbG9nIGluIFZTIENvZGUgYW5kIHNvIG9uKVxuXG5TaGVsbCBUd2Vha3NcbiAgICAtIERhc2gga2lsbGluZyBmZWF0dXJlIHRvIGhpZGUgdGhlIERhc2ggYW5kIHByZXZlbnQgaXQgZnJvbSByZW5kZXJpbmcgYmVoaW5kIHRoZSBzY2VuZVxuICAgIC0gU2Nyb2xsIHRoZSBNYWluIHBhbmVsIHRvIGNoYW5nZSBzb3VuZCB2b2x1bWUgYW5kIG1pZGRsZSBjbGljayB0byB0b2dnbGUgbXV0ZVxuICAgIC0gQWN0aXZpdGllcyBidXR0b24gY2xpY2sgYmVoYXZpb3Igb3ZlcnJpZGVcbiAgICAtIE92ZXJ2aWV3IGVtcHR5IHNwYWNlIGNsaWNrcyBzdXBwb3J0XG4gICAgLSBGdWxsc2NyZWVuIEhvdCBDb3JuZXIiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJyb2NrZXRiYXIiLAogICJuYW1lIjogIlJvY2tldGJhciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yb2NrZXRiYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGludXgtaXMtYXdlc29tZS9nbm9tZV9leHRlbnNpb25fcm9ja2V0YmFyIiwKICAidXVpZCI6ICJyb2NrZXRiYXJAY2hlcGt1bi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
+, {"uuid": "vertical-workspaces@G-dH.github.com", "name": "Vertical Workspaces", "pname": "vertical-workspaces", "description": "Changes the horizontal orientation of workspaces to vertical and adds options to customize Activities overview layout and content.\n\nSince version 8 also vertical Dash on left or right.\n\nIf you find this extension useful, please leave a comment, your feedback is important to me and helps to keep me motivated.\n\nPlease report bugs and feature requests on the GitHub page linked below as Extension Homepage.", "link": "https://extensions.gnome.org/extension/5177/vertical-workspaces/", "shell_version_map": {"40": {"version": "9", "sha256": "1l7axll336y338f1yw1pd34wv96rrzp10llk9jd7pq97msdqzf6d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgdGhlIGhvcml6b250YWwgb3JpZW50YXRpb24gb2Ygd29ya3NwYWNlcyB0byB2ZXJ0aWNhbCBhbmQgYWRkcyBvcHRpb25zIHRvIGN1c3RvbWl6ZSBBY3Rpdml0aWVzIG92ZXJ2aWV3IGxheW91dCBhbmQgY29udGVudC5cblxuU2luY2UgdmVyc2lvbiA4IGFsc28gdmVydGljYWwgRGFzaCBvbiBsZWZ0IG9yIHJpZ2h0LlxuXG5JZiB5b3UgZmluZCB0aGlzIGV4dGVuc2lvbiB1c2VmdWwsIHBsZWFzZSBsZWF2ZSBhIGNvbW1lbnQsIHlvdXIgZmVlZGJhY2sgaXMgaW1wb3J0YW50IHRvIG1lIGFuZCBoZWxwcyB0byBrZWVwIG1lIG1vdGl2YXRlZC5cblxuUGxlYXNlIHJlcG9ydCBidWdzIGFuZCBmZWF0dXJlIHJlcXVlc3RzIG9uIHRoZSBHaXRIdWIgcGFnZSBsaW5rZWQgYmVsb3cgYXMgRXh0ZW5zaW9uIEhvbWVwYWdlLiIsCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlZlcnRpY2FsIFdvcmtzcGFjZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HLWRIL3ZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJ1dWlkIjogInZlcnRpY2FsLXdvcmtzcGFjZXNARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "41": {"version": "9", "sha256": "1l7axll336y338f1yw1pd34wv96rrzp10llk9jd7pq97msdqzf6d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgdGhlIGhvcml6b250YWwgb3JpZW50YXRpb24gb2Ygd29ya3NwYWNlcyB0byB2ZXJ0aWNhbCBhbmQgYWRkcyBvcHRpb25zIHRvIGN1c3RvbWl6ZSBBY3Rpdml0aWVzIG92ZXJ2aWV3IGxheW91dCBhbmQgY29udGVudC5cblxuU2luY2UgdmVyc2lvbiA4IGFsc28gdmVydGljYWwgRGFzaCBvbiBsZWZ0IG9yIHJpZ2h0LlxuXG5JZiB5b3UgZmluZCB0aGlzIGV4dGVuc2lvbiB1c2VmdWwsIHBsZWFzZSBsZWF2ZSBhIGNvbW1lbnQsIHlvdXIgZmVlZGJhY2sgaXMgaW1wb3J0YW50IHRvIG1lIGFuZCBoZWxwcyB0byBrZWVwIG1lIG1vdGl2YXRlZC5cblxuUGxlYXNlIHJlcG9ydCBidWdzIGFuZCBmZWF0dXJlIHJlcXVlc3RzIG9uIHRoZSBHaXRIdWIgcGFnZSBsaW5rZWQgYmVsb3cgYXMgRXh0ZW5zaW9uIEhvbWVwYWdlLiIsCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlZlcnRpY2FsIFdvcmtzcGFjZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HLWRIL3ZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJ1dWlkIjogInZlcnRpY2FsLXdvcmtzcGFjZXNARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "42": {"version": "9", "sha256": "1l7axll336y338f1yw1pd34wv96rrzp10llk9jd7pq97msdqzf6d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgdGhlIGhvcml6b250YWwgb3JpZW50YXRpb24gb2Ygd29ya3NwYWNlcyB0byB2ZXJ0aWNhbCBhbmQgYWRkcyBvcHRpb25zIHRvIGN1c3RvbWl6ZSBBY3Rpdml0aWVzIG92ZXJ2aWV3IGxheW91dCBhbmQgY29udGVudC5cblxuU2luY2UgdmVyc2lvbiA4IGFsc28gdmVydGljYWwgRGFzaCBvbiBsZWZ0IG9yIHJpZ2h0LlxuXG5JZiB5b3UgZmluZCB0aGlzIGV4dGVuc2lvbiB1c2VmdWwsIHBsZWFzZSBsZWF2ZSBhIGNvbW1lbnQsIHlvdXIgZmVlZGJhY2sgaXMgaW1wb3J0YW50IHRvIG1lIGFuZCBoZWxwcyB0byBrZWVwIG1lIG1vdGl2YXRlZC5cblxuUGxlYXNlIHJlcG9ydCBidWdzIGFuZCBmZWF0dXJlIHJlcXVlc3RzIG9uIHRoZSBHaXRIdWIgcGFnZSBsaW5rZWQgYmVsb3cgYXMgRXh0ZW5zaW9uIEhvbWVwYWdlLiIsCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlZlcnRpY2FsIFdvcmtzcGFjZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HLWRIL3ZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJ1dWlkIjogInZlcnRpY2FsLXdvcmtzcGFjZXNARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
+, {"uuid": "rocketbar@chepkun.github.com", "name": "Rocketbar", "pname": "rocketbar", "description": "Taskbar and misc additions for the GNOME Shell.", "link": "https://extensions.gnome.org/extension/5180/rocketbar/", "shell_version_map": {"42": {"version": "4", "sha256": "1spfksf2l0haln5cvs4vsa3b4fskqalr3asci9479yda5zy4n8ly", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2tiYXIgYW5kIG1pc2MgYWRkaXRpb25zIGZvciB0aGUgR05PTUUgU2hlbGwuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAicm9ja2V0YmFyIiwKICAibmFtZSI6ICJSb2NrZXRiYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucm9ja2V0YmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xpbnV4LWlzLWF3ZXNvbWUvZ25vbWVfZXh0ZW5zaW9uX3JvY2tldGJhciIsCiAgInV1aWQiOiAicm9ja2V0YmFyQGNoZXBrdW4uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "contestcountdown@raghav", "name": "Contest Countdown", "pname": "contest-countdown", "description": "Countdown to next codeforces contest. This extension uses the API of codeforces.com to get the list of all upcoming contests. A countdown to the closest upcoming contest (that you are participating in) is shown in the panel, which can be clicked on to view the list of all upcoming contests.", "link": "https://extensions.gnome.org/extension/5183/contest-countdown/", "shell_version_map": {"40": {"version": "3", "sha256": "096vwrc9b5lxg1zk7v8w6ynwnp7x3n3h9f3r5p02rdqy73ybsqia", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvdW50ZG93biB0byBuZXh0IGNvZGVmb3JjZXMgY29udGVzdC4gVGhpcyBleHRlbnNpb24gdXNlcyB0aGUgQVBJIG9mIGNvZGVmb3JjZXMuY29tIHRvIGdldCB0aGUgbGlzdCBvZiBhbGwgdXBjb21pbmcgY29udGVzdHMuIEEgY291bnRkb3duIHRvIHRoZSBjbG9zZXN0IHVwY29taW5nIGNvbnRlc3QgKHRoYXQgeW91IGFyZSBwYXJ0aWNpcGF0aW5nIGluKSBpcyBzaG93biBpbiB0aGUgcGFuZWwsIHdoaWNoIGNhbiBiZSBjbGlja2VkIG9uIHRvIHZpZXcgdGhlIGxpc3Qgb2YgYWxsIHVwY29taW5nIGNvbnRlc3RzLiIsCiAgIm5hbWUiOiAiQ29udGVzdCBDb3VudGRvd24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY29udGVzdC1jb3VudGRvd24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3JhZy1oYXYvY29udGVzdGNvdW50ZG93biIsCiAgInV1aWQiOiAiY29udGVzdGNvdW50ZG93bkByYWdoYXYiLAogICJ2ZXJzaW9uIjogMwp9"}, "42": {"version": "3", "sha256": "096vwrc9b5lxg1zk7v8w6ynwnp7x3n3h9f3r5p02rdqy73ybsqia", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvdW50ZG93biB0byBuZXh0IGNvZGVmb3JjZXMgY29udGVzdC4gVGhpcyBleHRlbnNpb24gdXNlcyB0aGUgQVBJIG9mIGNvZGVmb3JjZXMuY29tIHRvIGdldCB0aGUgbGlzdCBvZiBhbGwgdXBjb21pbmcgY29udGVzdHMuIEEgY291bnRkb3duIHRvIHRoZSBjbG9zZXN0IHVwY29taW5nIGNvbnRlc3QgKHRoYXQgeW91IGFyZSBwYXJ0aWNpcGF0aW5nIGluKSBpcyBzaG93biBpbiB0aGUgcGFuZWwsIHdoaWNoIGNhbiBiZSBjbGlja2VkIG9uIHRvIHZpZXcgdGhlIGxpc3Qgb2YgYWxsIHVwY29taW5nIGNvbnRlc3RzLiIsCiAgIm5hbWUiOiAiQ29udGVzdCBDb3VudGRvd24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY29udGVzdC1jb3VudGRvd24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3JhZy1oYXYvY29udGVzdGNvdW50ZG93biIsCiAgInV1aWQiOiAiY29udGVzdGNvdW50ZG93bkByYWdoYXYiLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"uuid": "toggle-window@togglewindow.com", "name": "Toggle Window", "pname": "toggle-window", "description": "For security reasons, since Gnome 41, cann't invoke '**org.gnome.Shell.Eval**' to control the behavior of window, we expose a D-Bus interface to activate/minimized a window by WMclass name.", "link": "https://extensions.gnome.org/extension/5185/toggle-window/", "shell_version_map": {"42": {"version": "3", "sha256": "03d53mf46jdypbqvw5720cc4ii39q87jscnnnwmqcd2x6sn6c0xs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvciBzZWN1cml0eSByZWFzb25zLCBzaW5jZSBHbm9tZSA0MSwgY2Fubid0IGludm9rZSAnKipvcmcuZ25vbWUuU2hlbGwuRXZhbCoqJyB0byBjb250cm9sIHRoZSBiZWhhdmlvciBvZiB3aW5kb3csIHdlIGV4cG9zZSBhIEQtQnVzIGludGVyZmFjZSB0byBhY3RpdmF0ZS9taW5pbWl6ZWQgYSB3aW5kb3cgYnkgV01jbGFzcyBuYW1lLiIsCiAgIm5hbWUiOiAiVG9nZ2xlIFdpbmRvdyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS96aGFuZ2ppYWtvdXpmL3RvZ2dsZV93aW5kb3ciLAogICJ1dWlkIjogInRvZ2dsZS13aW5kb3dAdG9nZ2xld2luZG93LmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "super-key@tommimon.github.com", "name": "Super Key", "pname": "super-key", "description": "Fork of Pop Launcher Super-Key: Bind the Super-Key to a custom action", "link": "https://extensions.gnome.org/extension/5188/super-key/", "shell_version_map": {"42": {"version": "2", "sha256": "1fgr7zb5hdb8a0ghw735hhizqq4jpqji8gh3y46pqnk7dli3ykjc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2YgUG9wIExhdW5jaGVyIFN1cGVyLUtleTogQmluZCB0aGUgU3VwZXItS2V5IHRvIGEgY3VzdG9tIGFjdGlvbiIsCiAgIm5hbWUiOiAiU3VwZXIgS2V5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN1cGVyLWtleSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90b21taW1vbiIsCiAgInV1aWQiOiAic3VwZXIta2V5QHRvbW1pbW9uLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "quick-google-meet@gmail.com", "name": "Quick Google Meet", "pname": "quick-google-meet", "description": "Quick open your personal google meet conference. This extension is not affiliated with Google", "link": "https://extensions.gnome.org/extension/5189/quick-google-meet/", "shell_version_map": {"42": {"version": "2", "sha256": "17c0yrnwfanfp8jmmzwk87si5g93bchp7rhf6k2srf788pcbiifr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrIG9wZW4geW91ciBwZXJzb25hbCBnb29nbGUgbWVldCBjb25mZXJlbmNlLiBUaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCB3aXRoIEdvb2dsZSIsCiAgIm5hbWUiOiAiUXVpY2sgR29vZ2xlIE1lZXQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWlzY2VsbGlhbi9xdWljay1nb29nbGUtbWVldCIsCiAgInV1aWQiOiAicXVpY2stZ29vZ2xlLW1lZXRAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
-, {"uuid": "overview-feature-pack@G-dH.github.com", "name": "OFP - Overview Feature Pack", "pname": "ofp-overview-feature-pack", "description": "Adds useful features to the Activities Overview and Dash, including window search provider.\n\nIncludes following options:\nOverview:\n- Shift Reorders Workspace (Shift + scroll / Shift + Page Up/Down)\n- Ctrl + Space Activates Dash\n- Move Titles Into Windows\n- Always Show Window Titles\n- Hover Selects Window For Activation (hover window preview and press Super to activate it)\n- Fullscreen Hot Corner\n\nDash:\n- Shift + Click Moves App To Current Workspace\n- Hovering Icon Highlights App Windows\n- Scroll Switches App Windows Workspaces\n- Show Windows Before Activation\n\nApp Icon Menu Items:\n- Force Quit\n- Move App to Current Workspace\n- Close Windows on Current Workspace\n\nSearch:\n- Enable Window Search Provider\n- Space Activates Window Search\n- Enable Commands in Search Entry\n- Shift Moves Window to Current Workspace\n- Ctrl + Shift Moves All Windows (from search result) to Current Workspace\n- Secondary Click On Workspace Activates Window Search", "link": "https://extensions.gnome.org/extension/5192/ofp-overview-feature-pack/", "shell_version_map": {"41": {"version": "1", "sha256": "1iv0b3xm2vnfjqmg4ki1h57skhzi9a3z3vfk6s34qihr871c1z94", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgdXNlZnVsIGZlYXR1cmVzIHRvIHRoZSBBY3Rpdml0aWVzIE92ZXJ2aWV3IGFuZCBEYXNoLCBpbmNsdWRpbmcgd2luZG93IHNlYXJjaCBwcm92aWRlci5cblxuSW5jbHVkZXMgZm9sbG93aW5nIG9wdGlvbnM6XG5PdmVydmlldzpcbi0gU2hpZnQgUmVvcmRlcnMgV29ya3NwYWNlIChTaGlmdCArIHNjcm9sbCAvIFNoaWZ0ICsgUGFnZSBVcC9Eb3duKVxuLSBDdHJsICsgU3BhY2UgQWN0aXZhdGVzIERhc2hcbi0gTW92ZSBUaXRsZXMgSW50byBXaW5kb3dzXG4tIEFsd2F5cyBTaG93IFdpbmRvdyBUaXRsZXNcbi0gSG92ZXIgU2VsZWN0cyBXaW5kb3cgRm9yIEFjdGl2YXRpb24gKGhvdmVyIHdpbmRvdyBwcmV2aWV3IGFuZCBwcmVzcyBTdXBlciB0byBhY3RpdmF0ZSBpdClcbi0gRnVsbHNjcmVlbiBIb3QgQ29ybmVyXG5cbkRhc2g6XG4tIFNoaWZ0ICsgQ2xpY2sgTW92ZXMgQXBwIFRvIEN1cnJlbnQgV29ya3NwYWNlXG4tIEhvdmVyaW5nIEljb24gSGlnaGxpZ2h0cyBBcHAgV2luZG93c1xuLSBTY3JvbGwgU3dpdGNoZXMgQXBwIFdpbmRvd3MgV29ya3NwYWNlc1xuLSBTaG93IFdpbmRvd3MgQmVmb3JlIEFjdGl2YXRpb25cblxuQXBwIEljb24gTWVudSBJdGVtczpcbi0gRm9yY2UgUXVpdFxuLSBNb3ZlIEFwcCB0byBDdXJyZW50IFdvcmtzcGFjZVxuLSBDbG9zZSBXaW5kb3dzIG9uIEN1cnJlbnQgV29ya3NwYWNlXG5cblNlYXJjaDpcbi0gRW5hYmxlIFdpbmRvdyBTZWFyY2ggUHJvdmlkZXJcbi0gU3BhY2UgQWN0aXZhdGVzIFdpbmRvdyBTZWFyY2hcbi0gRW5hYmxlIENvbW1hbmRzIGluIFNlYXJjaCBFbnRyeVxuLSBTaGlmdCBNb3ZlcyBXaW5kb3cgdG8gQ3VycmVudCBXb3Jrc3BhY2Vcbi0gQ3RybCArIFNoaWZ0IE1vdmVzIEFsbCBXaW5kb3dzIChmcm9tIHNlYXJjaCByZXN1bHQpIHRvIEN1cnJlbnQgV29ya3NwYWNlXG4tIFNlY29uZGFyeSBDbGljayBPbiBXb3Jrc3BhY2UgQWN0aXZhdGVzIFdpbmRvdyBTZWFyY2giLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJvdmVydmlldy1mZWF0dXJlLXBhY2siLAogICJuYW1lIjogIk9GUCAtIE92ZXJ2aWV3IEZlYXR1cmUgUGFjayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC9vdmVydmlldy1mZWF0dXJlLXBhY2siLAogICJ1dWlkIjogIm92ZXJ2aWV3LWZlYXR1cmUtcGFja0BHLWRILmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}, "42": {"version": "1", "sha256": "1iv0b3xm2vnfjqmg4ki1h57skhzi9a3z3vfk6s34qihr871c1z94", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgdXNlZnVsIGZlYXR1cmVzIHRvIHRoZSBBY3Rpdml0aWVzIE92ZXJ2aWV3IGFuZCBEYXNoLCBpbmNsdWRpbmcgd2luZG93IHNlYXJjaCBwcm92aWRlci5cblxuSW5jbHVkZXMgZm9sbG93aW5nIG9wdGlvbnM6XG5PdmVydmlldzpcbi0gU2hpZnQgUmVvcmRlcnMgV29ya3NwYWNlIChTaGlmdCArIHNjcm9sbCAvIFNoaWZ0ICsgUGFnZSBVcC9Eb3duKVxuLSBDdHJsICsgU3BhY2UgQWN0aXZhdGVzIERhc2hcbi0gTW92ZSBUaXRsZXMgSW50byBXaW5kb3dzXG4tIEFsd2F5cyBTaG93IFdpbmRvdyBUaXRsZXNcbi0gSG92ZXIgU2VsZWN0cyBXaW5kb3cgRm9yIEFjdGl2YXRpb24gKGhvdmVyIHdpbmRvdyBwcmV2aWV3IGFuZCBwcmVzcyBTdXBlciB0byBhY3RpdmF0ZSBpdClcbi0gRnVsbHNjcmVlbiBIb3QgQ29ybmVyXG5cbkRhc2g6XG4tIFNoaWZ0ICsgQ2xpY2sgTW92ZXMgQXBwIFRvIEN1cnJlbnQgV29ya3NwYWNlXG4tIEhvdmVyaW5nIEljb24gSGlnaGxpZ2h0cyBBcHAgV2luZG93c1xuLSBTY3JvbGwgU3dpdGNoZXMgQXBwIFdpbmRvd3MgV29ya3NwYWNlc1xuLSBTaG93IFdpbmRvd3MgQmVmb3JlIEFjdGl2YXRpb25cblxuQXBwIEljb24gTWVudSBJdGVtczpcbi0gRm9yY2UgUXVpdFxuLSBNb3ZlIEFwcCB0byBDdXJyZW50IFdvcmtzcGFjZVxuLSBDbG9zZSBXaW5kb3dzIG9uIEN1cnJlbnQgV29ya3NwYWNlXG5cblNlYXJjaDpcbi0gRW5hYmxlIFdpbmRvdyBTZWFyY2ggUHJvdmlkZXJcbi0gU3BhY2UgQWN0aXZhdGVzIFdpbmRvdyBTZWFyY2hcbi0gRW5hYmxlIENvbW1hbmRzIGluIFNlYXJjaCBFbnRyeVxuLSBTaGlmdCBNb3ZlcyBXaW5kb3cgdG8gQ3VycmVudCBXb3Jrc3BhY2Vcbi0gQ3RybCArIFNoaWZ0IE1vdmVzIEFsbCBXaW5kb3dzIChmcm9tIHNlYXJjaCByZXN1bHQpIHRvIEN1cnJlbnQgV29ya3NwYWNlXG4tIFNlY29uZGFyeSBDbGljayBPbiBXb3Jrc3BhY2UgQWN0aXZhdGVzIFdpbmRvdyBTZWFyY2giLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJvdmVydmlldy1mZWF0dXJlLXBhY2siLAogICJuYW1lIjogIk9GUCAtIE92ZXJ2aWV3IEZlYXR1cmUgUGFjayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC9vdmVydmlldy1mZWF0dXJlLXBhY2siLAogICJ1dWlkIjogIm92ZXJ2aWV3LWZlYXR1cmUtcGFja0BHLWRILmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}}}
+, {"uuid": "overview-feature-pack@G-dH.github.com", "name": "OFP - Overview Feature Pack", "pname": "ofp-overview-feature-pack", "description": "Adds useful features to the Activities Overview and Dash, including powerful window search provider.\n\nIncludes following options:\nOverview:\n- Shift Reorders Workspace (Shift + scroll / Shift + Page Up/Down)\n- Ctrl + Space Activates Dash\n- Move Titles Into Windows\n- Always Show Window Titles\n- Hover Selects Window For Activation (hover window preview and press Super to activate it)\n- Fullscreen Hot Corner\n\nDash:\n- Shift + Click Moves App To Current Workspace\n- Hovering Icon Highlights App Windows\n- Scroll Switches App Windows Workspaces\n- Show Windows Before Activation\n\nApp Icon Menu Items:\n- Force Quit\n- Move App to Current Workspace\n- Close Windows on Current Workspace\n\nSearch:\n- Enable Window Search Provider\n- Space Activates Window Search\n- Enable Commands in Search Entry\n- Shift Moves Window to Current Workspace\n- Ctrl + Shift Moves All Windows (from search result) to Current Workspace\n- Secondary Click On Workspace Activates Window Search\n\nKeywords: reorder, move, order", "link": "https://extensions.gnome.org/extension/5192/ofp-overview-feature-pack/", "shell_version_map": {"41": {"version": "1", "sha256": "1s12bydj872if4jma2zdv4xyih0rva4sq8k3mba423qd90r1ryix", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgdXNlZnVsIGZlYXR1cmVzIHRvIHRoZSBBY3Rpdml0aWVzIE92ZXJ2aWV3IGFuZCBEYXNoLCBpbmNsdWRpbmcgcG93ZXJmdWwgd2luZG93IHNlYXJjaCBwcm92aWRlci5cblxuSW5jbHVkZXMgZm9sbG93aW5nIG9wdGlvbnM6XG5PdmVydmlldzpcbi0gU2hpZnQgUmVvcmRlcnMgV29ya3NwYWNlIChTaGlmdCArIHNjcm9sbCAvIFNoaWZ0ICsgUGFnZSBVcC9Eb3duKVxuLSBDdHJsICsgU3BhY2UgQWN0aXZhdGVzIERhc2hcbi0gTW92ZSBUaXRsZXMgSW50byBXaW5kb3dzXG4tIEFsd2F5cyBTaG93IFdpbmRvdyBUaXRsZXNcbi0gSG92ZXIgU2VsZWN0cyBXaW5kb3cgRm9yIEFjdGl2YXRpb24gKGhvdmVyIHdpbmRvdyBwcmV2aWV3IGFuZCBwcmVzcyBTdXBlciB0byBhY3RpdmF0ZSBpdClcbi0gRnVsbHNjcmVlbiBIb3QgQ29ybmVyXG5cbkRhc2g6XG4tIFNoaWZ0ICsgQ2xpY2sgTW92ZXMgQXBwIFRvIEN1cnJlbnQgV29ya3NwYWNlXG4tIEhvdmVyaW5nIEljb24gSGlnaGxpZ2h0cyBBcHAgV2luZG93c1xuLSBTY3JvbGwgU3dpdGNoZXMgQXBwIFdpbmRvd3MgV29ya3NwYWNlc1xuLSBTaG93IFdpbmRvd3MgQmVmb3JlIEFjdGl2YXRpb25cblxuQXBwIEljb24gTWVudSBJdGVtczpcbi0gRm9yY2UgUXVpdFxuLSBNb3ZlIEFwcCB0byBDdXJyZW50IFdvcmtzcGFjZVxuLSBDbG9zZSBXaW5kb3dzIG9uIEN1cnJlbnQgV29ya3NwYWNlXG5cblNlYXJjaDpcbi0gRW5hYmxlIFdpbmRvdyBTZWFyY2ggUHJvdmlkZXJcbi0gU3BhY2UgQWN0aXZhdGVzIFdpbmRvdyBTZWFyY2hcbi0gRW5hYmxlIENvbW1hbmRzIGluIFNlYXJjaCBFbnRyeVxuLSBTaGlmdCBNb3ZlcyBXaW5kb3cgdG8gQ3VycmVudCBXb3Jrc3BhY2Vcbi0gQ3RybCArIFNoaWZ0IE1vdmVzIEFsbCBXaW5kb3dzIChmcm9tIHNlYXJjaCByZXN1bHQpIHRvIEN1cnJlbnQgV29ya3NwYWNlXG4tIFNlY29uZGFyeSBDbGljayBPbiBXb3Jrc3BhY2UgQWN0aXZhdGVzIFdpbmRvdyBTZWFyY2hcblxuS2V5d29yZHM6IHJlb3JkZXIsIG1vdmUsIG9yZGVyIiwKICAiZ2V0dGV4dC1kb21haW4iOiAib3ZlcnZpZXctZmVhdHVyZS1wYWNrIiwKICAibmFtZSI6ICJPRlAgLSBPdmVydmlldyBGZWF0dXJlIFBhY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvb3ZlcnZpZXctZmVhdHVyZS1wYWNrIiwKICAidXVpZCI6ICJvdmVydmlldy1mZWF0dXJlLXBhY2tARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}, "42": {"version": "1", "sha256": "1s12bydj872if4jma2zdv4xyih0rva4sq8k3mba423qd90r1ryix", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgdXNlZnVsIGZlYXR1cmVzIHRvIHRoZSBBY3Rpdml0aWVzIE92ZXJ2aWV3IGFuZCBEYXNoLCBpbmNsdWRpbmcgcG93ZXJmdWwgd2luZG93IHNlYXJjaCBwcm92aWRlci5cblxuSW5jbHVkZXMgZm9sbG93aW5nIG9wdGlvbnM6XG5PdmVydmlldzpcbi0gU2hpZnQgUmVvcmRlcnMgV29ya3NwYWNlIChTaGlmdCArIHNjcm9sbCAvIFNoaWZ0ICsgUGFnZSBVcC9Eb3duKVxuLSBDdHJsICsgU3BhY2UgQWN0aXZhdGVzIERhc2hcbi0gTW92ZSBUaXRsZXMgSW50byBXaW5kb3dzXG4tIEFsd2F5cyBTaG93IFdpbmRvdyBUaXRsZXNcbi0gSG92ZXIgU2VsZWN0cyBXaW5kb3cgRm9yIEFjdGl2YXRpb24gKGhvdmVyIHdpbmRvdyBwcmV2aWV3IGFuZCBwcmVzcyBTdXBlciB0byBhY3RpdmF0ZSBpdClcbi0gRnVsbHNjcmVlbiBIb3QgQ29ybmVyXG5cbkRhc2g6XG4tIFNoaWZ0ICsgQ2xpY2sgTW92ZXMgQXBwIFRvIEN1cnJlbnQgV29ya3NwYWNlXG4tIEhvdmVyaW5nIEljb24gSGlnaGxpZ2h0cyBBcHAgV2luZG93c1xuLSBTY3JvbGwgU3dpdGNoZXMgQXBwIFdpbmRvd3MgV29ya3NwYWNlc1xuLSBTaG93IFdpbmRvd3MgQmVmb3JlIEFjdGl2YXRpb25cblxuQXBwIEljb24gTWVudSBJdGVtczpcbi0gRm9yY2UgUXVpdFxuLSBNb3ZlIEFwcCB0byBDdXJyZW50IFdvcmtzcGFjZVxuLSBDbG9zZSBXaW5kb3dzIG9uIEN1cnJlbnQgV29ya3NwYWNlXG5cblNlYXJjaDpcbi0gRW5hYmxlIFdpbmRvdyBTZWFyY2ggUHJvdmlkZXJcbi0gU3BhY2UgQWN0aXZhdGVzIFdpbmRvdyBTZWFyY2hcbi0gRW5hYmxlIENvbW1hbmRzIGluIFNlYXJjaCBFbnRyeVxuLSBTaGlmdCBNb3ZlcyBXaW5kb3cgdG8gQ3VycmVudCBXb3Jrc3BhY2Vcbi0gQ3RybCArIFNoaWZ0IE1vdmVzIEFsbCBXaW5kb3dzIChmcm9tIHNlYXJjaCByZXN1bHQpIHRvIEN1cnJlbnQgV29ya3NwYWNlXG4tIFNlY29uZGFyeSBDbGljayBPbiBXb3Jrc3BhY2UgQWN0aXZhdGVzIFdpbmRvdyBTZWFyY2hcblxuS2V5d29yZHM6IHJlb3JkZXIsIG1vdmUsIG9yZGVyIiwKICAiZ2V0dGV4dC1kb21haW4iOiAib3ZlcnZpZXctZmVhdHVyZS1wYWNrIiwKICAibmFtZSI6ICJPRlAgLSBPdmVydmlldyBGZWF0dXJlIFBhY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvb3ZlcnZpZXctZmVhdHVyZS1wYWNrIiwKICAidXVpZCI6ICJvdmVydmlldy1mZWF0dXJlLXBhY2tARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
 , {"uuid": "weekend-o-meter@coffeverton.gmail.com", "name": "Weekend-O-Meter Revived", "pname": "weekend-o-meter-revived", "description": "Beer timer until next week-end (based on https://extensions.gnome.org/extension/667/weekend-o-meter/)", "link": "https://extensions.gnome.org/extension/5198/weekend-o-meter-revived/", "shell_version_map": {"38": {"version": "1", "sha256": "165chwgiy0wfh12vywgpjz5grlhfkqj7wwc3y672w6qwfdg1hz5r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJlZXIgdGltZXIgdW50aWwgbmV4dCB3ZWVrLWVuZCAoYmFzZWQgb24gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNjY3L3dlZWtlbmQtby1tZXRlci8pIiwKICAibmFtZSI6ICJXZWVrZW5kLU8tTWV0ZXIgUmV2aXZlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NvZmZldmVydG9uL3dlZWtlbmQtby1tZXRlciIsCiAgInV1aWQiOiAid2Vla2VuZC1vLW1ldGVyQGNvZmZldmVydG9uLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "time-in-date-menu@knedme", "name": "Time in date menu", "pname": "time-in-date-menu", "description": "A simple extension that adds the current time to the date menu.", "link": "https://extensions.gnome.org/extension/5204/time-in-date-menu/", "shell_version_map": {"38": {"version": "1", "sha256": "14dma9s71fza2pvd41p8lxp9k2pgzclx3x3vz96znl0nr8lg0rr3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGV4dGVuc2lvbiB0aGF0IGFkZHMgdGhlIGN1cnJlbnQgdGltZSB0byB0aGUgZGF0ZSBtZW51LiIsCiAgIm5hbWUiOiAiVGltZSBpbiBkYXRlIG1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9LbmVkbWUvVGltZS1pbi1kYXRlLW1lbnUiLAogICJ1dWlkIjogInRpbWUtaW4tZGF0ZS1tZW51QGtuZWRtZSIsCiAgInZlcnNpb24iOiAxCn0="}, "40": {"version": "1", "sha256": "14dma9s71fza2pvd41p8lxp9k2pgzclx3x3vz96znl0nr8lg0rr3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGV4dGVuc2lvbiB0aGF0IGFkZHMgdGhlIGN1cnJlbnQgdGltZSB0byB0aGUgZGF0ZSBtZW51LiIsCiAgIm5hbWUiOiAiVGltZSBpbiBkYXRlIG1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9LbmVkbWUvVGltZS1pbi1kYXRlLW1lbnUiLAogICJ1dWlkIjogInRpbWUtaW4tZGF0ZS1tZW51QGtuZWRtZSIsCiAgInZlcnNpb24iOiAxCn0="}, "41": {"version": "1", "sha256": "14dma9s71fza2pvd41p8lxp9k2pgzclx3x3vz96znl0nr8lg0rr3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGV4dGVuc2lvbiB0aGF0IGFkZHMgdGhlIGN1cnJlbnQgdGltZSB0byB0aGUgZGF0ZSBtZW51LiIsCiAgIm5hbWUiOiAiVGltZSBpbiBkYXRlIG1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9LbmVkbWUvVGltZS1pbi1kYXRlLW1lbnUiLAogICJ1dWlkIjogInRpbWUtaW4tZGF0ZS1tZW51QGtuZWRtZSIsCiAgInZlcnNpb24iOiAxCn0="}, "42": {"version": "1", "sha256": "14dma9s71fza2pvd41p8lxp9k2pgzclx3x3vz96znl0nr8lg0rr3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGV4dGVuc2lvbiB0aGF0IGFkZHMgdGhlIGN1cnJlbnQgdGltZSB0byB0aGUgZGF0ZSBtZW51LiIsCiAgIm5hbWUiOiAiVGltZSBpbiBkYXRlIG1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9LbmVkbWUvVGltZS1pbi1kYXRlLW1lbnUiLAogICJ1dWlkIjogInRpbWUtaW4tZGF0ZS1tZW51QGtuZWRtZSIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "suspend-to-topbar@madebysteven.nl", "name": "Suspend button in topbar", "pname": "suspend-button-in-top-bar", "description": "Suspend your computer via a topbar button, added settings to the fork for asking to suspend or cancel. Original project: https://github.com/trofosila/suspend-to-topbar", "link": "https://extensions.gnome.org/extension/5213/suspend-button-in-top-bar/", "shell_version_map": {"38": {"version": "4", "sha256": "1gwf4axjwvwmlribsv6g0w1xdifdxxbr5mjjp6yl3xkz6rkbip9w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN1c3BlbmQgeW91ciBjb21wdXRlciB2aWEgYSB0b3BiYXIgYnV0dG9uLCBhZGRlZCBzZXR0aW5ncyB0byB0aGUgZm9yayBmb3IgYXNraW5nIHRvIHN1c3BlbmQgb3IgY2FuY2VsLiBPcmlnaW5hbCBwcm9qZWN0OiBodHRwczovL2dpdGh1Yi5jb20vdHJvZm9zaWxhL3N1c3BlbmQtdG8tdG9wYmFyIiwKICAibmFtZSI6ICJTdXNwZW5kIGJ1dHRvbiBpbiB0b3BiYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3VzcGVuZC10by10b3BiYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdGV2ZW5kZWpvbmdubC9zdXNwZW5kLXRvLXRvcGJhciIsCiAgInV1aWQiOiAic3VzcGVuZC10by10b3BiYXJAbWFkZWJ5c3RldmVuLm5sIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
+, {"uuid": "mutter-primary-gpu@zaidka.github.io", "name": "Mutter Primary GPU", "pname": "mutter-primary-gpu", "description": "Override primary GPU selection for Wayland", "link": "https://extensions.gnome.org/extension/5218/mutter-primary-gpu/", "shell_version_map": {"42": {"version": "3", "sha256": "0i7q860mzk65cbqsm9q29sjg8k6ai8kv715rkw1wb2lx2xig434a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk92ZXJyaWRlIHByaW1hcnkgR1BVIHNlbGVjdGlvbiBmb3IgV2F5bGFuZCIsCiAgIm5hbWUiOiAiTXV0dGVyIFByaW1hcnkgR1BVIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3phaWRrYS9tdXR0ZXItcHJpbWFyeS1ncHUiLAogICJ1dWlkIjogIm11dHRlci1wcmltYXJ5LWdwdUB6YWlka2EuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
+, {"uuid": "tophat@fflewddur.github.io", "name": "TopHat", "pname": "tophat", "description": "An elegant system resource monitor.", "link": "https://extensions.gnome.org/extension/5219/tophat/", "shell_version_map": {"38": {"version": "2", "sha256": "17z076nccql06w316bwvznfvmsn09knzkbca8s3vg2i8mv1nm1hz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGVsZWdhbnQgc3lzdGVtIHJlc291cmNlIG1vbml0b3IuIiwKICAibmFtZSI6ICJUb3BIYXQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mZmxld2RkdXIvdG9waGF0IiwKICAidXVpZCI6ICJ0b3BoYXRAZmZsZXdkZHVyLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "17z076nccql06w316bwvznfvmsn09knzkbca8s3vg2i8mv1nm1hz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGVsZWdhbnQgc3lzdGVtIHJlc291cmNlIG1vbml0b3IuIiwKICAibmFtZSI6ICJUb3BIYXQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mZmxld2RkdXIvdG9waGF0IiwKICAidXVpZCI6ICJ0b3BoYXRAZmZsZXdkZHVyLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "17z076nccql06w316bwvznfvmsn09knzkbca8s3vg2i8mv1nm1hz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGVsZWdhbnQgc3lzdGVtIHJlc291cmNlIG1vbml0b3IuIiwKICAibmFtZSI6ICJUb3BIYXQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mZmxld2RkdXIvdG9waGF0IiwKICAidXVpZCI6ICJ0b3BoYXRAZmZsZXdkZHVyLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAyCn0="}, "42": {"version": "2", "sha256": "17z076nccql06w316bwvznfvmsn09knzkbca8s3vg2i8mv1nm1hz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGVsZWdhbnQgc3lzdGVtIHJlc291cmNlIG1vbml0b3IuIiwKICAibmFtZSI6ICJUb3BIYXQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mZmxld2RkdXIvdG9waGF0IiwKICAidXVpZCI6ICJ0b3BoYXRAZmZsZXdkZHVyLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAyCn0="}}}
+, {"uuid": "dash-animator@icedman.github.com", "name": "Dash to Dock Animator", "pname": "dash-to-dock-animator", "description": "Animate the icons of dash to dock", "link": "https://extensions.gnome.org/extension/5222/dash-to-dock-animator/", "shell_version_map": {"40": {"version": "2", "sha256": "1lf0kf6n4v2hqs15lfnk6dxvqf71p347730qpzb0h17b621bybfc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuaW1hdGUgdGhlIGljb25zIG9mIGRhc2ggdG8gZG9jayIsCiAgImdldHRleHQtZG9tYWluIjogImRhc2gtYW5pbWF0b3IiLAogICJuYW1lIjogIkRhc2ggdG8gRG9jayBBbmltYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiaWNlZG1hbiIKICBdLAogICJzY2hlbWEtaWQiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGFzaC1hbmltYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ljZWRtYW4vZGFzaC1hbmltYXRvciIsCiAgInV1aWQiOiAiZGFzaC1hbmltYXRvckBpY2VkbWFuLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}, "41": {"version": "2", "sha256": "1lf0kf6n4v2hqs15lfnk6dxvqf71p347730qpzb0h17b621bybfc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuaW1hdGUgdGhlIGljb25zIG9mIGRhc2ggdG8gZG9jayIsCiAgImdldHRleHQtZG9tYWluIjogImRhc2gtYW5pbWF0b3IiLAogICJuYW1lIjogIkRhc2ggdG8gRG9jayBBbmltYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiaWNlZG1hbiIKICBdLAogICJzY2hlbWEtaWQiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGFzaC1hbmltYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ljZWRtYW4vZGFzaC1hbmltYXRvciIsCiAgInV1aWQiOiAiZGFzaC1hbmltYXRvckBpY2VkbWFuLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}, "42": {"version": "2", "sha256": "1lf0kf6n4v2hqs15lfnk6dxvqf71p347730qpzb0h17b621bybfc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuaW1hdGUgdGhlIGljb25zIG9mIGRhc2ggdG8gZG9jayIsCiAgImdldHRleHQtZG9tYWluIjogImRhc2gtYW5pbWF0b3IiLAogICJuYW1lIjogIkRhc2ggdG8gRG9jayBBbmltYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiaWNlZG1hbiIKICBdLAogICJzY2hlbWEtaWQiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGFzaC1hbmltYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ljZWRtYW4vZGFzaC1hbmltYXRvciIsCiAgInV1aWQiOiAiZGFzaC1hbmltYXRvckBpY2VkbWFuLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}}}
+, {"uuid": "swap-finger-gestures-3-4@icedman.github.com", "name": "Swap Finger Gestures (3 to 4)", "pname": "swap-finger-gestures-3-to-4", "description": "Use 4 fingers swipe to change workspace instead of 3.", "link": "https://extensions.gnome.org/extension/5233/swap-finger-gestures-3-to-4/", "shell_version_map": {"42": {"version": "2", "sha256": "0dyjzqijgx96dzj76hl2n1cnpv67lmm29qa4g7800a43dyg4d3f5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVzZSA0IGZpbmdlcnMgc3dpcGUgdG8gY2hhbmdlIHdvcmtzcGFjZSBpbnN0ZWFkIG9mIDMuIiwKICAibmFtZSI6ICJTd2FwIEZpbmdlciBHZXN0dXJlcyAoMyB0byA0KSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pY2VkbWFuL3N3YXAtZmluZ2VyLWdlc3R1cmVzLTMtNCIsCiAgInV1aWQiOiAic3dhcC1maW5nZXItZ2VzdHVyZXMtMy00QGljZWRtYW4uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
+, {"uuid": "material-you-theme@asubbiah.com", "name": "Material You Color Theming", "pname": "material-you-color-theming", "description": "Applies generated libadwaita theme from wallpaper using Material You", "link": "https://extensions.gnome.org/extension/5236/material-you-color-theming/", "shell_version_map": {"42": {"version": "6", "sha256": "1rnxl87ff0jhw9zgwgby6wbjvvy29wl0h9q4p6yvfikn1bpxzw7r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpZXMgZ2VuZXJhdGVkIGxpYmFkd2FpdGEgdGhlbWUgZnJvbSB3YWxscGFwZXIgdXNpbmcgTWF0ZXJpYWwgWW91IiwKICAibmFtZSI6ICJNYXRlcmlhbCBZb3UgQ29sb3IgVGhlbWluZyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hdmFuaXNoc3ViYmlhaC9tYXRlcmlhbC15b3UtdGhlbWUiLAogICJ1dWlkIjogIm1hdGVyaWFsLXlvdS10aGVtZUBhc3ViYmlhaC5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}}}
+, {"uuid": "rounded-window-corners@yilozt", "name": "Rounded Window Corners", "pname": "rounded-window-corners", "description": "Add rounded corners for all windows", "link": "https://extensions.gnome.org/extension/5237/rounded-window-corners/", "shell_version_map": {"40": {"version": "4", "sha256": "1dj0yzpbn1iv20ky29nbbv292p1mlg39whx1bpajdhypz687rp09", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCByb3VuZGVkIGNvcm5lcnMgZm9yIGFsbCB3aW5kb3dzIiwKICAibmFtZSI6ICJSb3VuZGVkIFdpbmRvdyBDb3JuZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20veWlsb3p0L3JvdW5kZWQtd2luZG93LWNvcm5lcnMiLAogICJ1dWlkIjogInJvdW5kZWQtd2luZG93LWNvcm5lcnNAeWlsb3p0IiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "1dj0yzpbn1iv20ky29nbbv292p1mlg39whx1bpajdhypz687rp09", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCByb3VuZGVkIGNvcm5lcnMgZm9yIGFsbCB3aW5kb3dzIiwKICAibmFtZSI6ICJSb3VuZGVkIFdpbmRvdyBDb3JuZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20veWlsb3p0L3JvdW5kZWQtd2luZG93LWNvcm5lcnMiLAogICJ1dWlkIjogInJvdW5kZWQtd2luZG93LWNvcm5lcnNAeWlsb3p0IiwKICAidmVyc2lvbiI6IDQKfQ=="}, "42": {"version": "4", "sha256": "1dj0yzpbn1iv20ky29nbbv292p1mlg39whx1bpajdhypz687rp09", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCByb3VuZGVkIGNvcm5lcnMgZm9yIGFsbCB3aW5kb3dzIiwKICAibmFtZSI6ICJSb3VuZGVkIFdpbmRvdyBDb3JuZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20veWlsb3p0L3JvdW5kZWQtd2luZG93LWNvcm5lcnMiLAogICJ1dWlkIjogInJvdW5kZWQtd2luZG93LWNvcm5lcnNAeWlsb3p0IiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 ]
diff --git a/pkgs/desktops/gnome/games/gnome-chess/default.nix b/pkgs/desktops/gnome/games/gnome-chess/default.nix
index 5690355a0ce..8716b6858cd 100644
--- a/pkgs/desktops/gnome/games/gnome-chess/default.nix
+++ b/pkgs/desktops/gnome/games/gnome-chess/default.nix
@@ -16,15 +16,16 @@
 , gtk4
 , libadwaita
 , librsvg
+, pango
 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-chess";
-  version = "42.0";
+  version = "42.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-chess/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "Eq9Uk6YiBaxrt0VA8KhYQT2okolmo0boVDMLQdc7w5M=";
+    sha256 = "ZikL9yhky8bufM6Mn0DegSTo5gl712hi8teqsMS9sCw=";
   };
 
   nativeBuildInputs = [
@@ -45,6 +46,7 @@ stdenv.mkDerivation rec {
     gtk4
     libadwaita
     librsvg
+    pango
   ];
 
   postPatch = ''
diff --git a/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix b/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
index aa3d9981998..4ec5518da21 100644
--- a/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-terminal";
-  version = "6.0.2";
+  version = "6.1.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = "terminal";
     rev = version;
-    sha256 = "sha256-glcY47E9bGVI6k9gakItN6srzMtmA4hCEz/JVD5UUmI=";
+    sha256 = "sha256-qxjHrlpdJcfXEUan/JgU7HqBRdB36gxAb5xmd/ySsj0=";
   };
 
   nativeBuildInputs = [
@@ -49,9 +49,6 @@ stdenv.mkDerivation rec {
     vte
   ];
 
-  # See https://github.com/elementary/terminal/commit/914d4b0e2d0a137f12276d748ae07072b95eff80
-  mesonFlags = [ "-Dubuntu-bionic-patched-vte=false" ];
-
   postPatch = ''
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
diff --git a/pkgs/desktops/plasma-5/fetch.sh b/pkgs/desktops/plasma-5/fetch.sh
index ad12c222566..549f3e3c944 100644
--- a/pkgs/desktops/plasma-5/fetch.sh
+++ b/pkgs/desktops/plasma-5/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/plasma/5.25.3/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/plasma/5.25.4/ -A '*.tar.xz' )
diff --git a/pkgs/desktops/plasma-5/srcs.nix b/pkgs/desktops/plasma-5/srcs.nix
index f7c02d8699d..4cffaba594a 100644
--- a/pkgs/desktops/plasma-5/srcs.nix
+++ b/pkgs/desktops/plasma-5/srcs.nix
@@ -4,427 +4,427 @@
 
 {
   bluedevil = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/bluedevil-5.25.3.tar.xz";
-      sha256 = "059nm5rd5l8ql78slrjcgkjhka7g1rnh0f1nbgf57qccs7wp6qb5";
-      name = "bluedevil-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/bluedevil-5.25.4.tar.xz";
+      sha256 = "1cygnmigwqx1mqynfafcypkvf9bmz05rmrfwlxsksvll8yd9xn84";
+      name = "bluedevil-5.25.4.tar.xz";
     };
   };
   breeze = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/breeze-5.25.3.tar.xz";
-      sha256 = "0za75ckgfcdxrh2qxgyl2c1273g2xqwmd55njsis1yvwryadypqw";
-      name = "breeze-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/breeze-5.25.4.tar.xz";
+      sha256 = "0lw0vj07z8l19v2z31d601kfanqixy3dbsv0lf8q273xv3li9sbp";
+      name = "breeze-5.25.4.tar.xz";
     };
   };
   breeze-grub = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/breeze-grub-5.25.3.tar.xz";
-      sha256 = "12l6skbbr4wv86k5f8969lg9m30x2nrgm38w0mr7fnsqavpbm7v6";
-      name = "breeze-grub-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/breeze-grub-5.25.4.tar.xz";
+      sha256 = "10n380h77czwgbpcjhriai43pk9q08l9j819nqm9wbwmsw7gj31s";
+      name = "breeze-grub-5.25.4.tar.xz";
     };
   };
   breeze-gtk = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/breeze-gtk-5.25.3.tar.xz";
-      sha256 = "1nmnxrhidv420bqm97cgmck44kzi6sdqaqg3bim07hbnzbq76d6r";
-      name = "breeze-gtk-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/breeze-gtk-5.25.4.tar.xz";
+      sha256 = "1x9a74f2anybvgmj4yl7pzz14jckjly55sb8hhlyrd1mp2k8p4mi";
+      name = "breeze-gtk-5.25.4.tar.xz";
     };
   };
   breeze-plymouth = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/breeze-plymouth-5.25.3.tar.xz";
-      sha256 = "1lvsr48mrfjjvs132x2bn4dpwals8k8xinddn9nxykvqw5fiw3wd";
-      name = "breeze-plymouth-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/breeze-plymouth-5.25.4.tar.xz";
+      sha256 = "0wfhhaknvy51zrgfkcjrgc5s3q8y3pqb4r92nr37055cdvncwz79";
+      name = "breeze-plymouth-5.25.4.tar.xz";
     };
   };
   discover = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/discover-5.25.3.tar.xz";
-      sha256 = "0bdg5gxl4zymmy44pvxs9nlk71psdra3778z20ss1j1k3x8dhlrs";
-      name = "discover-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/discover-5.25.4.tar.xz";
+      sha256 = "154sjr7c8dwlf1m22vh3wqiyfii8xpmxmfrf36i9r0xyb0zb5zg6";
+      name = "discover-5.25.4.tar.xz";
     };
   };
   drkonqi = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/drkonqi-5.25.3.tar.xz";
-      sha256 = "11g6pqxb4gjcg9jsm3z9yiqljkks30i2mvanvas5ds1y4py3q7a1";
-      name = "drkonqi-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/drkonqi-5.25.4.tar.xz";
+      sha256 = "06na44x22bxd94r24xkzc373d0rhmv6l1awfq0bzh9cxpy8yg3f4";
+      name = "drkonqi-5.25.4.tar.xz";
     };
   };
   kactivitymanagerd = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/kactivitymanagerd-5.25.3.tar.xz";
-      sha256 = "1095rmvgc9fzflpd9l1kzwdgk5zh7wxyyx7vzzb1kpdhvg4nwx57";
-      name = "kactivitymanagerd-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/kactivitymanagerd-5.25.4.tar.xz";
+      sha256 = "1cpz08jkmxw9576h9mkn15vwg3bxgk8k6w4f38rkiasxzj6zfamd";
+      name = "kactivitymanagerd-5.25.4.tar.xz";
     };
   };
   kde-cli-tools = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/kde-cli-tools-5.25.3.tar.xz";
-      sha256 = "0m8v51ngxfwjianvw1ydr2dpblgik8kv7zw8mi95361kck9jh31h";
-      name = "kde-cli-tools-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/kde-cli-tools-5.25.4.tar.xz";
+      sha256 = "00p6vm9qw871hjclvw21nh93dq60r1ylb95hscx917gfx42dan8x";
+      name = "kde-cli-tools-5.25.4.tar.xz";
     };
   };
   kde-gtk-config = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/kde-gtk-config-5.25.3.tar.xz";
-      sha256 = "0xjb0vff7mw1kfj5b472plclk80hdqxi2858m3nmkh41bl6a523r";
-      name = "kde-gtk-config-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/kde-gtk-config-5.25.4.tar.xz";
+      sha256 = "03cr5v7sr67vhcidr87min8z1ld5dm0n6yh79c1ghp1hp5ndscl8";
+      name = "kde-gtk-config-5.25.4.tar.xz";
     };
   };
   kdecoration = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/kdecoration-5.25.3.tar.xz";
-      sha256 = "0b6ynqkndmlac89hv339k365m7wykp9y238df62jlq4vpr1r9x9y";
-      name = "kdecoration-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/kdecoration-5.25.4.tar.xz";
+      sha256 = "1yw7qjrf0c9xl2mncasbh3c1nf3c8x1v8ccfnp540z9slqi5qfmi";
+      name = "kdecoration-5.25.4.tar.xz";
     };
   };
   kdeplasma-addons = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/kdeplasma-addons-5.25.3.tar.xz";
-      sha256 = "0z976qy49dbvn8nskkrwc1zfnjd3gdzbxzwkg0ini6vypfysybqm";
-      name = "kdeplasma-addons-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/kdeplasma-addons-5.25.4.tar.xz";
+      sha256 = "1lgmmqr798cfxmllalgzixf3v9xbiiazbn3vkcdqxcj6cjf730c0";
+      name = "kdeplasma-addons-5.25.4.tar.xz";
     };
   };
   kgamma5 = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/kgamma5-5.25.3.tar.xz";
-      sha256 = "10750h6pb98c39s6ijk353jahwjhnj2nqmsmspx9jdz8ig20ygm0";
-      name = "kgamma5-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/kgamma5-5.25.4.tar.xz";
+      sha256 = "1m72dl1rxsh56pmacx0q0qda7lr4359azik2lnhw7nhs30z4p25a";
+      name = "kgamma5-5.25.4.tar.xz";
     };
   };
   khotkeys = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/khotkeys-5.25.3.tar.xz";
-      sha256 = "1v4c7lljdvl56mkk8hgbrrx13jdsq7mg8ggrf3qnv1x48yi31rdj";
-      name = "khotkeys-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/khotkeys-5.25.4.tar.xz";
+      sha256 = "0hkicwkcjb4p4k5yh8d60h6khsvrqkhjx42aby6rxd3mgvrqd3xy";
+      name = "khotkeys-5.25.4.tar.xz";
     };
   };
   kinfocenter = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/kinfocenter-5.25.3.tar.xz";
-      sha256 = "17hkyraqk4cwrv3rnlbw5jby7v8yv4mfxign1f3n5ldq76v9van1";
-      name = "kinfocenter-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/kinfocenter-5.25.4.tar.xz";
+      sha256 = "0ns2xsqghglg4ikq7w556y1kh20gs677km1vs0paw50xhi7jzbd2";
+      name = "kinfocenter-5.25.4.tar.xz";
     };
   };
   kmenuedit = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/kmenuedit-5.25.3.tar.xz";
-      sha256 = "0y374al92r0v5adi7jxj6lghbhjg07ym78xsx09qn48h5c0s34pp";
-      name = "kmenuedit-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/kmenuedit-5.25.4.tar.xz";
+      sha256 = "1y3ml4jscb28nvadh7iq2y240qifv71dv2nkd32i69h52xdrvz27";
+      name = "kmenuedit-5.25.4.tar.xz";
     };
   };
   kscreen = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/kscreen-5.25.3.tar.xz";
-      sha256 = "0p9pzigll9b5jj232sz05znf5syycif0dzvccxds6z0yr124jlvz";
-      name = "kscreen-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/kscreen-5.25.4.tar.xz";
+      sha256 = "1wjpyq56iw8axbjhsa82w67g54v6y3rv5nx623d1kddvlzlhh8pf";
+      name = "kscreen-5.25.4.tar.xz";
     };
   };
   kscreenlocker = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/kscreenlocker-5.25.3.tar.xz";
-      sha256 = "1kii3r3j89avwyb00wrw80k5sj0q4wqgmy1q0yxfps9jk729k3wc";
-      name = "kscreenlocker-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/kscreenlocker-5.25.4.tar.xz";
+      sha256 = "0zfvkdvyqxxxgpiimqjxhavwna0z94i28ky8qmvbcmn1705x5lvx";
+      name = "kscreenlocker-5.25.4.tar.xz";
     };
   };
   ksshaskpass = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/ksshaskpass-5.25.3.tar.xz";
-      sha256 = "0sfl77szvfq9c7v0gsv5nnf7h5kxigyy2z2p1cwmhm1pq4n606nk";
-      name = "ksshaskpass-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/ksshaskpass-5.25.4.tar.xz";
+      sha256 = "0dzhddylzigaaigacynncd5q0s4884dgr4wyrrdpqj42d47wjikz";
+      name = "ksshaskpass-5.25.4.tar.xz";
     };
   };
   ksystemstats = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/ksystemstats-5.25.3.tar.xz";
-      sha256 = "0s08mazc081wxbccmb4s35i7p57an8nlxmw25lh1j83jj06gyd4f";
-      name = "ksystemstats-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/ksystemstats-5.25.4.tar.xz";
+      sha256 = "0ray2v90vv1j1sbd7fx4x5n7s7xwlil1zynwi4pzpgnyi13zq60x";
+      name = "ksystemstats-5.25.4.tar.xz";
     };
   };
   kwallet-pam = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/kwallet-pam-5.25.3.tar.xz";
-      sha256 = "1i345vl0sfzg8zmz6h8hsxmx9cbdb7072avc6yz42ra9yf4372jb";
-      name = "kwallet-pam-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/kwallet-pam-5.25.4.tar.xz";
+      sha256 = "14j3xngwliqhhvw60izv5kdjvv8xhqw8cjsc4l22v8jj4m8yw2xk";
+      name = "kwallet-pam-5.25.4.tar.xz";
     };
   };
   kwayland-integration = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/kwayland-integration-5.25.3.tar.xz";
-      sha256 = "0d45wigxspvv561fjam8yiyq6277n5wgv2sn8ymvqbal8v801bjf";
-      name = "kwayland-integration-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/kwayland-integration-5.25.4.tar.xz";
+      sha256 = "1iqnwcp08kg91pwm3i4grd0i4bqf8h1z0n0fhcw6l0cbhdkcad39";
+      name = "kwayland-integration-5.25.4.tar.xz";
     };
   };
   kwin = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/kwin-5.25.3.tar.xz";
-      sha256 = "1vyh5ymvkzxsgs4904ijac6xrb5fgxpypc8mlnwcca1gd9xpr4jj";
-      name = "kwin-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/kwin-5.25.4.tar.xz";
+      sha256 = "0zahw7hd3g775a6iyglvv60h9vw52jc9pg9ffkg4mpqb00f159p8";
+      name = "kwin-5.25.4.tar.xz";
     };
   };
   kwrited = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/kwrited-5.25.3.tar.xz";
-      sha256 = "133ampgha0348m5ild1dg48jpblk4c16d6nk759yywz8125wyapc";
-      name = "kwrited-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/kwrited-5.25.4.tar.xz";
+      sha256 = "0xn20irka7adbqfc8w6gnhwp0pbv7bz7l7g16qddv1wq3xix9053";
+      name = "kwrited-5.25.4.tar.xz";
     };
   };
   layer-shell-qt = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/layer-shell-qt-5.25.3.tar.xz";
-      sha256 = "06rxqm4wh4mcszrwb2dbgpxj3dqfx0rccyyjp091lbsncqm1gib0";
-      name = "layer-shell-qt-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/layer-shell-qt-5.25.4.tar.xz";
+      sha256 = "0pd88nnp925l09gzq4cajjnx810df4n0ssd65i1bmvgnxynzh5i7";
+      name = "layer-shell-qt-5.25.4.tar.xz";
     };
   };
   libkscreen = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/libkscreen-5.25.3.tar.xz";
-      sha256 = "1mxkrk04wcyw4xbfiyxbp5iwnhqr10yk39zx5bbjd9zag0vdi7z5";
-      name = "libkscreen-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/libkscreen-5.25.4.tar.xz";
+      sha256 = "17ib0sgrhmmf3f8w3fni0825xz5581av5vnz8gca41vyf12css25";
+      name = "libkscreen-5.25.4.tar.xz";
     };
   };
   libksysguard = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/libksysguard-5.25.3.tar.xz";
-      sha256 = "1mrrrxjvqmrnkjwafvqrd2hlvl9gr9y4hn7dv0gf70lp5bl06i89";
-      name = "libksysguard-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/libksysguard-5.25.4.tar.xz";
+      sha256 = "1kzpimhkagsmqj0cky4cfav1kbzyfjaj2l5xdapnmaygbm6r8086";
+      name = "libksysguard-5.25.4.tar.xz";
     };
   };
   milou = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/milou-5.25.3.tar.xz";
-      sha256 = "1xb3i5dn6r4mglci8llchjz484zsw3kqyl9ag8wch54b5cjmz4ap";
-      name = "milou-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/milou-5.25.4.tar.xz";
+      sha256 = "17npfn7gwiqrvy5w8vzpc38c4bgkx3vjgjkm1caizn04zfk7xar7";
+      name = "milou-5.25.4.tar.xz";
     };
   };
   oxygen = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/oxygen-5.25.3.tar.xz";
-      sha256 = "0ynkmnmd1x36zn6x4chvpsrsi5rfqmk45qqxdx60x0w1hhi3x6bh";
-      name = "oxygen-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/oxygen-5.25.4.tar.xz";
+      sha256 = "1cd76fa2szhb3apabyvl76p8vdk97229g5sgv94xx9pr7rx8a67y";
+      name = "oxygen-5.25.4.tar.xz";
     };
   };
   oxygen-sounds = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/oxygen-sounds-5.25.3.tar.xz";
-      sha256 = "1hdqdq3qxpcyfs5gsmlpb3pjvixyr1ny4qwqq18givz8jbah3vkz";
-      name = "oxygen-sounds-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/oxygen-sounds-5.25.4.tar.xz";
+      sha256 = "0v8j8kf86ri1z14mgqc1c6kkpsbih8rjph35sr5y0i4av9mh6p9b";
+      name = "oxygen-sounds-5.25.4.tar.xz";
     };
   };
   plasma-browser-integration = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/plasma-browser-integration-5.25.3.tar.xz";
-      sha256 = "1krf9fchs3w0r1irzrdrxgwcgfsyhm2384q0c5vp5xg7dh10xvz2";
-      name = "plasma-browser-integration-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/plasma-browser-integration-5.25.4.tar.xz";
+      sha256 = "1l3n4psbqimfar5qsmrfp3nhgg3v9yy93rkjpvyqgdmizi44scqw";
+      name = "plasma-browser-integration-5.25.4.tar.xz";
     };
   };
   plasma-desktop = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/plasma-desktop-5.25.3.tar.xz";
-      sha256 = "134dgqqak5d3427znlj138f0k48qhkzs7pqi19yn89fbzw5vg8s8";
-      name = "plasma-desktop-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/plasma-desktop-5.25.4.tar.xz";
+      sha256 = "1jkjc412n1wn17qrmx0sv91pzv5xjsljms3bsln6bbxj5fkhmkfm";
+      name = "plasma-desktop-5.25.4.tar.xz";
     };
   };
   plasma-disks = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/plasma-disks-5.25.3.tar.xz";
-      sha256 = "1dyxa5x4v6w8fn8956wcc9mvncnjf43cpn0algp54f9ndy1jaalw";
-      name = "plasma-disks-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/plasma-disks-5.25.4.tar.xz";
+      sha256 = "04hs8jg7f5bm5rjcb6i6zidyamq6cfry5sm5mj6hqdj0qmn9i396";
+      name = "plasma-disks-5.25.4.tar.xz";
     };
   };
   plasma-firewall = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/plasma-firewall-5.25.3.tar.xz";
-      sha256 = "0cwk4scadk4pd7v93arkrn1wgyc4d81995znp23vd9pmlaazyikv";
-      name = "plasma-firewall-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/plasma-firewall-5.25.4.tar.xz";
+      sha256 = "12rmf7x8dyyb1k5ycj43kn4c0wzidig4h5wdh1igrgcvyypmjjcl";
+      name = "plasma-firewall-5.25.4.tar.xz";
     };
   };
   plasma-integration = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/plasma-integration-5.25.3.tar.xz";
-      sha256 = "1wsz0vbb0kj4542h7zca9yc6xz90ziv4lbm39d7dxr9hm94cdbjk";
-      name = "plasma-integration-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/plasma-integration-5.25.4.tar.xz";
+      sha256 = "1cbcp722pzbfiqfl5rcw6py74jbxg83k96kdx2m0g3ix1f0dmkbi";
+      name = "plasma-integration-5.25.4.tar.xz";
     };
   };
   plasma-mobile = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/plasma-mobile-5.25.3.tar.xz";
-      sha256 = "1dzfbqg2zmdr0dlm99c3pj9iy6yagshlfj9x018sa0bzjysf29g3";
-      name = "plasma-mobile-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/plasma-mobile-5.25.4.tar.xz";
+      sha256 = "0b0n3mjlj33191jgs8xqbk35y5nglfz4d8dih3qmg3kbs81qizwy";
+      name = "plasma-mobile-5.25.4.tar.xz";
     };
   };
   plasma-nano = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/plasma-nano-5.25.3.tar.xz";
-      sha256 = "00m95c1cb3g8v8w0d4vnbnjhjmr5hw7gljn8nc705mpxsx03c3kd";
-      name = "plasma-nano-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/plasma-nano-5.25.4.tar.xz";
+      sha256 = "1pn6025wb3w855f3vy77879qlrb266bikw3nhar1dzv3sfgxw4w9";
+      name = "plasma-nano-5.25.4.tar.xz";
     };
   };
   plasma-nm = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/plasma-nm-5.25.3.tar.xz";
-      sha256 = "0k8zwjjy8d5lp1slky13fx5j6kjsbs4irz3x5fm54aki15hdcjx7";
-      name = "plasma-nm-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/plasma-nm-5.25.4.tar.xz";
+      sha256 = "147p572pmkrgg52pvwhzs8lvxy3rs8y622n9lj7hjc6hrlh14qk2";
+      name = "plasma-nm-5.25.4.tar.xz";
     };
   };
   plasma-pa = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/plasma-pa-5.25.3.tar.xz";
-      sha256 = "17881v0fff5mbgh6rgx4a2hk9m35flqijckwlyj2kcrcsqi3aq21";
-      name = "plasma-pa-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/plasma-pa-5.25.4.tar.xz";
+      sha256 = "0v92jk826jj2kf11hlxh3xrxl9nsj6835ik2pmb192xbn6gpb4lm";
+      name = "plasma-pa-5.25.4.tar.xz";
     };
   };
   plasma-sdk = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/plasma-sdk-5.25.3.tar.xz";
-      sha256 = "1hhffvqvxlhdyg8v7b7drb0n4fnkxlvy0xfffnnln66pknxk7s5w";
-      name = "plasma-sdk-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/plasma-sdk-5.25.4.tar.xz";
+      sha256 = "00s345l5jj1kfdvyyfq8718khfy88n6gyajb07n582q266mry39l";
+      name = "plasma-sdk-5.25.4.tar.xz";
     };
   };
   plasma-systemmonitor = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/plasma-systemmonitor-5.25.3.tar.xz";
-      sha256 = "07mxkm0ynq0xiqc1p4iqjc4c1x7198hr15r9ysajgs0sf9bcd6hx";
-      name = "plasma-systemmonitor-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/plasma-systemmonitor-5.25.4.tar.xz";
+      sha256 = "1fj0vyjdk6h3f4p9aagh03hyhbf69y2qwlavs2zr7d0iadih7b4c";
+      name = "plasma-systemmonitor-5.25.4.tar.xz";
     };
   };
   plasma-tests = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/plasma-tests-5.25.3.tar.xz";
-      sha256 = "0d7vhb75p2rhfbysa7bg80836ycryg4jcn91grag8y7pcq6m6zzn";
-      name = "plasma-tests-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/plasma-tests-5.25.4.tar.xz";
+      sha256 = "0d86zmlmagik2chagsm549yg78vy2qw3kl67skrlrmbkv82dhrz2";
+      name = "plasma-tests-5.25.4.tar.xz";
     };
   };
   plasma-thunderbolt = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/plasma-thunderbolt-5.25.3.tar.xz";
-      sha256 = "05bdq7vdwpyyrfgvp48m8dbsjhvnaf84zhbcyjvjygvlhzdm8j57";
-      name = "plasma-thunderbolt-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/plasma-thunderbolt-5.25.4.tar.xz";
+      sha256 = "0hjvkss0qfmwhrsba83wfxwxhikvzf56faan325ic0iv7fdaj3ns";
+      name = "plasma-thunderbolt-5.25.4.tar.xz";
     };
   };
   plasma-vault = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/plasma-vault-5.25.3.tar.xz";
-      sha256 = "1phb7rygvm2c0n0yf5xyj3xpm1apfq3knfyiasgbjl4z6aimq406";
-      name = "plasma-vault-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/plasma-vault-5.25.4.tar.xz";
+      sha256 = "10ym2gk46yr1vgjnm1li1shdawklvvy3yvjcanm8ic5llchbxvzq";
+      name = "plasma-vault-5.25.4.tar.xz";
     };
   };
   plasma-workspace = {
-    version = "5.25.3.1";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/plasma-workspace-5.25.3.1.tar.xz";
-      sha256 = "09hgd1k0095s18a4147qihbsl5v8hadj7hm3zixf362sydgkal51";
-      name = "plasma-workspace-5.25.3.1.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/plasma-workspace-5.25.4.tar.xz";
+      sha256 = "1aw9ms6rzxrk384xzdc3sqwqs1shbnkap40vfwxp4jamjk0pyglw";
+      name = "plasma-workspace-5.25.4.tar.xz";
     };
   };
   plasma-workspace-wallpapers = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/plasma-workspace-wallpapers-5.25.3.tar.xz";
-      sha256 = "15swpsqjdxxzkjw0phs4h7p3l4lfshsqv6pk3qbfbp91dd05cplh";
-      name = "plasma-workspace-wallpapers-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/plasma-workspace-wallpapers-5.25.4.tar.xz";
+      sha256 = "1vjrfmzib17cb9r2q17rv4zmnqsk5mf55vy8kzx71djjif7gaqiy";
+      name = "plasma-workspace-wallpapers-5.25.4.tar.xz";
     };
   };
   plymouth-kcm = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/plymouth-kcm-5.25.3.tar.xz";
-      sha256 = "0sb0gh0sh8lc13pbqkl8icjakzk0h7r3l6v3kwg0jyvmk0if1bpj";
-      name = "plymouth-kcm-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/plymouth-kcm-5.25.4.tar.xz";
+      sha256 = "1wbgcccc1ili3j0k1njgj1q6jl35s20gf9m25s9d3mjwd9xnxrbv";
+      name = "plymouth-kcm-5.25.4.tar.xz";
     };
   };
   polkit-kde-agent = {
-    version = "1-5.25.3";
+    version = "1-5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/polkit-kde-agent-1-5.25.3.tar.xz";
-      sha256 = "0j067ps86zk38r0spcfpv33mxiagdnrkyy033v8gnsiayhrp9pcm";
-      name = "polkit-kde-agent-1-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/polkit-kde-agent-1-5.25.4.tar.xz";
+      sha256 = "0skadgzv97vfl4n2x889fiy5gsr6n894fr5viq3rizs0qsqc68b5";
+      name = "polkit-kde-agent-1-5.25.4.tar.xz";
     };
   };
   powerdevil = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/powerdevil-5.25.3.tar.xz";
-      sha256 = "1lfws0rj2kbqvgm7gb4h6gmrpa71jbqgfmvmd2n4l9bxxx73rbh2";
-      name = "powerdevil-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/powerdevil-5.25.4.tar.xz";
+      sha256 = "1nznjxi59xc6pmyh0vainznhp9ig1ini3i87iapayawpnpf8sdxx";
+      name = "powerdevil-5.25.4.tar.xz";
     };
   };
   qqc2-breeze-style = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/qqc2-breeze-style-5.25.3.tar.xz";
-      sha256 = "1j714iaysfqkr997q94pv2abj433ps43myy37p8ss0v8pra9hn5c";
-      name = "qqc2-breeze-style-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/qqc2-breeze-style-5.25.4.tar.xz";
+      sha256 = "0sylffvbfdi44lmz6s78scf2p2iswf6p8g209wbd5fm1dgi6yi2z";
+      name = "qqc2-breeze-style-5.25.4.tar.xz";
     };
   };
   sddm-kcm = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/sddm-kcm-5.25.3.tar.xz";
-      sha256 = "1mipvf25vjhdrww9cinp4v7g73swk364zfkyk4fypw8bccrbfpsd";
-      name = "sddm-kcm-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/sddm-kcm-5.25.4.tar.xz";
+      sha256 = "1gqz9j6vha8i6bra63pfqrpl5wsg9a7qz351z5rkj5jwnkw1dxl7";
+      name = "sddm-kcm-5.25.4.tar.xz";
     };
   };
   systemsettings = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/systemsettings-5.25.3.tar.xz";
-      sha256 = "00n4r51qp03cwfsdrsza2nv5558zs8dyd6fywcycjd1ryqiyrl4r";
-      name = "systemsettings-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/systemsettings-5.25.4.tar.xz";
+      sha256 = "130739bfxl1jwkn3f4h7dnr7dv2i76g6sd2svmg0qy60cnwvcgcv";
+      name = "systemsettings-5.25.4.tar.xz";
     };
   };
   xdg-desktop-portal-kde = {
-    version = "5.25.3";
+    version = "5.25.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.3/xdg-desktop-portal-kde-5.25.3.tar.xz";
-      sha256 = "07pcpxq7j1b62wwds6q2niyh74dc9i2lwvka77g1ii55syybm7n7";
-      name = "xdg-desktop-portal-kde-5.25.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.4/xdg-desktop-portal-kde-5.25.4.tar.xz";
+      sha256 = "13gva3mci9gawlxpw4ymdma8w6lc2b3y8z36699kmzli4vib214g";
+      name = "xdg-desktop-portal-kde-5.25.4.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/compilers/bupc/default.nix b/pkgs/development/compilers/bupc/default.nix
index 07395ed5ae1..947a154a3d3 100644
--- a/pkgs/development/compilers/bupc/default.nix
+++ b/pkgs/development/compilers/bupc/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "berkeley_upc";
-  version = "2.22.0";
+  version = "2020.12.0";
 
   src = fetchurl {
     url = "http://upc.lbl.gov/download/release/berkeley_upc-${version}.tar.gz";
-    sha256 = "041l215x8z1cvjcx7kwjdgiaf9rl2d778k6kiv8q09bc68nwd44m";
+    sha256 = "sha256-JdpFORlXHpCQE+TivoQQnjQlxQN7C8BNfHvTOSwXbYQ=";
   };
 
   postPatch = ''
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "https://upc.lbl.gov/";
     license = licenses.mit;
-    platforms = with platforms; [ linux ];
+    platforms = platforms.linux;
     maintainers = with maintainers; [ zimbatm ];
   };
 }
diff --git a/pkgs/development/compilers/closure/default.nix b/pkgs/development/compilers/closure/default.nix
index 408a807df9d..06fac6f6a3b 100644
--- a/pkgs/development/compilers/closure/default.nix
+++ b/pkgs/development/compilers/closure/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "closure-compiler";
-  version = "20220719";
+  version = "20220803";
 
   src = fetchurl {
     url = "mirror://maven/com/google/javascript/closure-compiler/v${version}/closure-compiler-v${version}.jar";
-    sha256 = "sha256-eEWNhMUjp+iBB9uzVB430kAfkojtKx2DTUGwpxMc+Us=";
+    sha256 = "sha256-1h+/i2csV/rCdMVOFsoNG/HrzGfUPPEEfAeRUKnPNSs=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/compilers/crystal/default.nix b/pkgs/development/compilers/crystal/default.nix
index 9cf3bebe7ed..88274ef73c9 100644
--- a/pkgs/development/compilers/crystal/default.nix
+++ b/pkgs/development/compilers/crystal/default.nix
@@ -2,6 +2,7 @@
 , callPackage
 , fetchFromGitHub
 , fetchurl
+, fetchpatch
 , lib
   # Dependencies
 , boehmgc
@@ -97,6 +98,16 @@ let
         inherit sha256;
       };
 
+      patches = lib.optionals (lib.versionOlder version "1.2.0") [
+        # add support for DWARF5 debuginfo, fixes builds on recent compilers
+        # the PR is 8 commits from 2019, so just fetch the whole thing
+        # and hope it doesn't change
+        (fetchpatch {
+          url = "https://github.com/crystal-lang/crystal/pull/11399.patch";
+          sha256 = "sha256-CjNpkQQ2UREADmlyLUt7zbhjXf0rTjFhNbFYLwJKkc8=";
+        })
+      ];
+
       outputs = [ "out" "lib" "bin" ];
 
       postPatch = ''
diff --git a/pkgs/development/compilers/dale/default.nix b/pkgs/development/compilers/dale/default.nix
index bf02d623e52..0e4baf3ce57 100644
--- a/pkgs/development/compilers/dale/default.nix
+++ b/pkgs/development/compilers/dale/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation {
     homepage = "https://github.com/tomhrr/dale";
     license = licenses.bsd3;
     maintainers = with maintainers; [ amiloradovsky ];
-    platforms = with platforms; [ "i686-linux" "x86_64-linux" ];
+    platforms = [ "i686-linux" "x86_64-linux" ];
     # failed on Darwin: linker couldn't find the FFI lib
     # failed on AArch64: because LLVM 3.5 is failed there
   };
diff --git a/pkgs/development/compilers/gcc-arm-embedded/11/default.nix b/pkgs/development/compilers/gcc-arm-embedded/11/default.nix
new file mode 100644
index 00000000000..1e7e1c307c7
--- /dev/null
+++ b/pkgs/development/compilers/gcc-arm-embedded/11/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, stdenv
+, fetchurl
+, ncurses5
+, python38
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gcc-arm-embedded";
+  version = "11.3.rel1";
+
+  platform = {
+    aarch64-darwin = "darwin-x86_64";  # use intel binaries via rosetta
+    aarch64-linux = "aarch64";
+    x86_64-darwin = "darwin-x86_64";
+    x86_64-linux  = "x86_64";
+  }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+
+  src = fetchurl {
+    url = "https://developer.arm.com/-/media/Files/downloads/gnu/${version}/binrel/arm-gnu-toolchain-${version}-${platform}-arm-none-eabi.tar.xz";
+    sha256 = {
+      aarch64-darwin = "1kr9kd9p2xk84fa99zf3gz5lkww2i9spqkjigjwakfkzbva56qw2";
+      aarch64-linux = "0pmm5r0k5mxd5drbn2s8a7qkm8c4fi8j5y31c70yrp0qs08kqwbc";
+      x86_64-darwin = "1kr9kd9p2xk84fa99zf3gz5lkww2i9spqkjigjwakfkzbva56qw2";
+      x86_64-linux  = "08b1w1zmj4z80k59zmlc1bf34lg8d7z65fwvp5ir2pb1d1zxh86l";
+    }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+  };
+
+  dontConfigure = true;
+  dontBuild = true;
+  dontPatchELF = true;
+  dontStrip = true;
+
+  installPhase = ''
+    mkdir -p $out
+    cp -r * $out
+  '';
+
+  preFixup = ''
+    find $out -type f | while read f; do
+      patchelf "$f" > /dev/null 2>&1 || continue
+      patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f" || true
+      patchelf --set-rpath ${lib.makeLibraryPath [ "$out" stdenv.cc.cc ncurses5 python38 ]} "$f" || true
+    done
+  '';
+
+  meta = with lib; {
+    description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors";
+    homepage = "https://developer.arm.com/open-source/gnu-toolchain/gnu-rm";
+    license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ];
+    maintainers = with maintainers; [ prusnak ];
+    platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
+  };
+}
diff --git a/pkgs/development/compilers/gcc/10/default.nix b/pkgs/development/compilers/gcc/10/default.nix
index 1b9f542894e..1c223fa82f4 100644
--- a/pkgs/development/compilers/gcc/10/default.nix
+++ b/pkgs/development/compilers/gcc/10/default.nix
@@ -24,9 +24,6 @@
 , libcCross ? null
 , threadsCross ? null # for MinGW
 , crossStageStatic ? false
-, # Strip kills static libs of other archs (hence no cross)
-  stripped ? stdenv.hostPlatform.system == stdenv.buildPlatform.system
-          && stdenv.targetPlatform.system == stdenv.hostPlatform.system
 , gnused ? null
 , cloog # unused; just for compat with gcc4, as we override the parameter on some places
 , buildPackages
@@ -86,7 +83,7 @@ let majorVersion = "10";
 in
 
 stdenv.mkDerivation ({
-  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  pname = "${crossNameAddon}${name}";
   inherit version;
 
   builder = ../builder.sh;
@@ -191,7 +188,7 @@ stdenv.mkDerivation ({
 
   preConfigure = import ../common/pre-configure.nix {
     inherit lib;
-    inherit version targetPlatform hostPlatform gnatboot langAda langGo langJit;
+    inherit version targetPlatform hostPlatform gnatboot langAda langGo langJit crossStageStatic;
   };
 
   dontDisableStatic = true;
@@ -231,9 +228,11 @@ stdenv.mkDerivation ({
     (targetPlatform == hostPlatform && hostPlatform == buildPlatform)
     (if profiledCompiler then "profiledbootstrap" else "bootstrap");
 
-  dontStrip = !stripped;
-
-  installTargets = optional stripped "install-strip";
+  inherit
+    (import ../common/strip-attributes.nix { inherit stdenv; })
+    stripDebugList
+    stripDebugListTarget
+    preFixup;
 
   # https://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
   ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64";
@@ -274,8 +273,7 @@ stdenv.mkDerivation ({
   meta = {
     homepage = "https://gcc.gnu.org/";
     license = lib.licenses.gpl3Plus;  # runtime support libraries are typically LGPLv3+
-    description = "GNU Compiler Collection, version ${version}"
-      + (if stripped then "" else " (with debugging info)");
+    description = "GNU Compiler Collection, version ${version}";
 
     longDescription = ''
       The GNU Compiler Collection includes compiler front ends for C, C++,
diff --git a/pkgs/development/compilers/gcc/11/default.nix b/pkgs/development/compilers/gcc/11/default.nix
index 1dc9ed0a267..ca3a89af180 100644
--- a/pkgs/development/compilers/gcc/11/default.nix
+++ b/pkgs/development/compilers/gcc/11/default.nix
@@ -24,9 +24,6 @@
 , libcCross ? null
 , threadsCross ? null # for MinGW
 , crossStageStatic ? false
-, # Strip kills static libs of other archs (hence no cross)
-  stripped ? stdenv.hostPlatform.system == stdenv.buildPlatform.system
-          && stdenv.targetPlatform.system == stdenv.hostPlatform.system
 , gnused ? null
 , cloog # unused; just for compat with gcc4, as we override the parameter on some places
 , buildPackages
@@ -92,7 +89,7 @@ let majorVersion = "11";
 in
 
 stdenv.mkDerivation ({
-  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  pname = "${crossNameAddon}${name}";
   inherit version;
 
   builder = ../builder.sh;
@@ -199,7 +196,7 @@ stdenv.mkDerivation ({
 
   preConfigure = import ../common/pre-configure.nix {
     inherit lib;
-    inherit version targetPlatform hostPlatform gnatboot langAda langGo langJit;
+    inherit version targetPlatform hostPlatform gnatboot langAda langGo langJit crossStageStatic;
   };
 
   dontDisableStatic = true;
@@ -239,9 +236,11 @@ stdenv.mkDerivation ({
     (targetPlatform == hostPlatform && hostPlatform == buildPlatform)
     (if profiledCompiler then "profiledbootstrap" else "bootstrap");
 
-  dontStrip = !stripped;
-
-  installTargets = optional stripped "install-strip";
+  inherit
+    (import ../common/strip-attributes.nix { inherit stdenv; })
+    stripDebugList
+    stripDebugListTarget
+    preFixup;
 
   # https://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
   ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64";
@@ -282,8 +281,7 @@ stdenv.mkDerivation ({
   meta = {
     homepage = "https://gcc.gnu.org/";
     license = lib.licenses.gpl3Plus;  # runtime support libraries are typically LGPLv3+
-    description = "GNU Compiler Collection, version ${version}"
-      + (if stripped then "" else " (with debugging info)");
+    description = "GNU Compiler Collection, version ${version}";
 
     longDescription = ''
       The GNU Compiler Collection includes compiler front ends for C, C++,
diff --git a/pkgs/development/compilers/gcc/12/default.nix b/pkgs/development/compilers/gcc/12/default.nix
index 20bc9dcf44b..6fdc31079a8 100644
--- a/pkgs/development/compilers/gcc/12/default.nix
+++ b/pkgs/development/compilers/gcc/12/default.nix
@@ -24,9 +24,6 @@
 , libcCross ? null
 , threadsCross ? null # for MinGW
 , crossStageStatic ? false
-, # Strip kills static libs of other archs (hence no cross)
-  stripped ? stdenv.hostPlatform.system == stdenv.buildPlatform.system
-          && stdenv.targetPlatform.system == stdenv.hostPlatform.system
 , gnused ? null
 , cloog # unused; just for compat with gcc4, as we override the parameter on some places
 , buildPackages
@@ -89,7 +86,7 @@ let majorVersion = "12";
 in
 
 stdenv.mkDerivation ({
-  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  pname = "${crossNameAddon}${name}";
   inherit version;
 
   builder = ../builder.sh;
@@ -194,7 +191,7 @@ stdenv.mkDerivation ({
 
   preConfigure = import ../common/pre-configure.nix {
     inherit lib;
-    inherit version targetPlatform hostPlatform gnatboot langAda langGo langJit;
+    inherit version targetPlatform hostPlatform gnatboot langAda langGo langJit crossStageStatic;
   };
 
   dontDisableStatic = true;
@@ -234,9 +231,11 @@ stdenv.mkDerivation ({
     (targetPlatform == hostPlatform && hostPlatform == buildPlatform)
     (if profiledCompiler then "profiledbootstrap" else "bootstrap");
 
-  dontStrip = !stripped;
-
-  installTargets = optional stripped "install-strip";
+  inherit
+    (import ../common/strip-attributes.nix { inherit stdenv; })
+    stripDebugList
+    stripDebugListTarget
+    preFixup;
 
   # https://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
   ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64";
@@ -277,8 +276,7 @@ stdenv.mkDerivation ({
   meta = {
     homepage = "https://gcc.gnu.org/";
     license = lib.licenses.gpl3Plus;  # runtime support libraries are typically LGPLv3+
-    description = "GNU Compiler Collection, version ${version}"
-      + (if stripped then "" else " (with debugging info)");
+    description = "GNU Compiler Collection, version ${version}";
 
     longDescription = ''
       The GNU Compiler Collection includes compiler front ends for C, C++,
diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix
index 8cd0d3c9ce8..bc93d6e1358 100644
--- a/pkgs/development/compilers/gcc/4.8/default.nix
+++ b/pkgs/development/compilers/gcc/4.8/default.nix
@@ -28,9 +28,6 @@
 , libcCross ? null
 , threadsCross ? null # for MinGW
 , crossStageStatic ? false
-, # Strip kills static libs of other archs (hence no cross)
-  stripped ? stdenv.hostPlatform == stdenv.buildPlatform
-          && stdenv.targetPlatform == stdenv.hostPlatform
 , gnused ? null
 , buildPackages
 }:
@@ -124,7 +121,7 @@ in
 assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
 
 stdenv.mkDerivation ({
-  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  pname = "${crossNameAddon}${name}";
   inherit version;
 
   builder = ../builder.sh;
@@ -198,7 +195,7 @@ stdenv.mkDerivation ({
 
   preConfigure = import ../common/pre-configure.nix {
     inherit lib;
-    inherit version targetPlatform hostPlatform langJava langGo;
+    inherit version targetPlatform hostPlatform langJava langGo crossStageStatic;
   };
 
   dontDisableStatic = true;
@@ -238,12 +235,14 @@ stdenv.mkDerivation ({
     (targetPlatform == hostPlatform && hostPlatform == buildPlatform)
     (if profiledCompiler then "profiledbootstrap" else "bootstrap");
 
-  dontStrip = !stripped;
+  inherit
+    (import ../common/strip-attributes.nix { inherit stdenv; })
+    stripDebugList
+    stripDebugListTarget
+    preFixup;
 
   doCheck = false; # requires a lot of tools, causes a dependency cycle for stdenv
 
-  installTargets = optional stripped "install-strip";
-
   # https://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
   ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64";
 
@@ -297,8 +296,7 @@ stdenv.mkDerivation ({
   meta = {
     homepage = "https://gcc.gnu.org/";
     license = lib.licenses.gpl3Plus;  # runtime support libraries are typically LGPLv3+
-    description = "GNU Compiler Collection, version ${version}"
-      + (if stripped then "" else " (with debugging info)");
+    description = "GNU Compiler Collection, version ${version}";
 
     longDescription = ''
       The GNU Compiler Collection includes compiler front ends for C, C++,
diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix
index 571d0b02312..cc675de2254 100644
--- a/pkgs/development/compilers/gcc/4.9/default.nix
+++ b/pkgs/development/compilers/gcc/4.9/default.nix
@@ -28,9 +28,6 @@
 , libcCross ? null
 , threadsCross ? null # for MinGW
 , crossStageStatic ? false
-, # Strip kills static libs of other archs (hence no cross)
-  stripped ? stdenv.hostPlatform == stdenv.buildPlatform
-          && stdenv.targetPlatform == stdenv.hostPlatform
 , gnused ? null
 , buildPackages
 }:
@@ -140,7 +137,7 @@ in
 assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
 
 stdenv.mkDerivation ({
-  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  pname = "${crossNameAddon}${name}";
   inherit version;
 
   builder = ../builder.sh;
@@ -218,7 +215,7 @@ stdenv.mkDerivation ({
 
   preConfigure = import ../common/pre-configure.nix {
     inherit lib;
-    inherit version targetPlatform hostPlatform langJava langGo;
+    inherit version targetPlatform hostPlatform langJava langGo crossStageStatic;
   };
 
   dontDisableStatic = true;
@@ -258,12 +255,14 @@ stdenv.mkDerivation ({
     (targetPlatform == hostPlatform && hostPlatform == buildPlatform)
     (if profiledCompiler then "profiledbootstrap" else "bootstrap");
 
-  dontStrip = !stripped;
+  inherit
+    (import ../common/strip-attributes.nix { inherit stdenv; })
+    stripDebugList
+    stripDebugListTarget
+    preFixup;
 
   doCheck = false; # requires a lot of tools, causes a dependency cycle for stdenv
 
-  installTargets = optional stripped "install-strip";
-
   # https://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
   ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64";
 
@@ -316,8 +315,7 @@ stdenv.mkDerivation ({
   meta = {
     homepage = "https://gcc.gnu.org/";
     license = lib.licenses.gpl3Plus;  # runtime support libraries are typically LGPLv3+
-    description = "GNU Compiler Collection, version ${version}"
-      + (if stripped then "" else " (with debugging info)");
+    description = "GNU Compiler Collection, version ${version}";
 
     longDescription = ''
       The GNU Compiler Collection includes compiler front ends for C, C++,
diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix
index 62b46df1ab0..d108dc11f18 100644
--- a/pkgs/development/compilers/gcc/6/default.nix
+++ b/pkgs/development/compilers/gcc/6/default.nix
@@ -31,9 +31,6 @@
 , libcCross ? null
 , threadsCross ? null # for MinGW
 , crossStageStatic ? false
-, # Strip kills static libs of other archs (hence no cross)
-  stripped ? stdenv.hostPlatform.system == stdenv.buildPlatform.system
-          && stdenv.targetPlatform.system == stdenv.hostPlatform.system
 , gnused ? null
 , cloog # unused; just for compat with gcc4, as we override the parameter on some places
 , buildPackages
@@ -121,7 +118,7 @@ in
 assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
 
 stdenv.mkDerivation ({
-  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  pname = "${crossNameAddon}${name}";
   inherit version;
 
   builder = ../builder.sh;
@@ -230,7 +227,7 @@ stdenv.mkDerivation ({
 
   preConfigure = import ../common/pre-configure.nix {
     inherit lib;
-    inherit version targetPlatform hostPlatform gnatboot langJava langAda langGo;
+    inherit version targetPlatform hostPlatform gnatboot langJava langAda langGo crossStageStatic;
   };
 
   dontDisableStatic = true;
@@ -270,12 +267,14 @@ stdenv.mkDerivation ({
     (targetPlatform == hostPlatform && hostPlatform == buildPlatform)
     (if profiledCompiler then "profiledbootstrap" else "bootstrap");
 
-  dontStrip = !stripped;
+  inherit
+    (import ../common/strip-attributes.nix { inherit stdenv; })
+    stripDebugList
+    stripDebugListTarget
+    preFixup;
 
   doCheck = false; # requires a lot of tools, causes a dependency cycle for stdenv
 
-  installTargets = optional stripped "install-strip";
-
   # https://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
   ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64";
 
@@ -328,8 +327,7 @@ stdenv.mkDerivation ({
   meta = {
     homepage = "https://gcc.gnu.org/";
     license = lib.licenses.gpl3Plus;  # runtime support libraries are typically LGPLv3+
-    description = "GNU Compiler Collection, version ${version}"
-      + (if stripped then "" else " (with debugging info)");
+    description = "GNU Compiler Collection, version ${version}";
 
     longDescription = ''
       The GNU Compiler Collection includes compiler front ends for C, C++,
diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix
index 1abf14c8a8c..e4e1f2038de 100644
--- a/pkgs/development/compilers/gcc/7/default.nix
+++ b/pkgs/development/compilers/gcc/7/default.nix
@@ -21,9 +21,6 @@
 , libcCross ? null
 , threadsCross ? null # for MinGW
 , crossStageStatic ? false
-, # Strip kills static libs of other archs (hence no cross)
-  stripped ? stdenv.hostPlatform.system == stdenv.buildPlatform.system
-          && stdenv.targetPlatform.system == stdenv.hostPlatform.system
 , gnused ? null
 , cloog # unused; just for compat with gcc4, as we override the parameter on some places
 , buildPackages
@@ -94,7 +91,7 @@ let majorVersion = "7";
 in
 
 stdenv.mkDerivation ({
-  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  pname = "${crossNameAddon}${name}";
   inherit version;
 
   builder = ../builder.sh;
@@ -197,7 +194,7 @@ stdenv.mkDerivation ({
 
   preConfigure = import ../common/pre-configure.nix {
     inherit lib;
-    inherit version targetPlatform hostPlatform langGo;
+    inherit version targetPlatform hostPlatform langGo crossStageStatic;
   };
 
   dontDisableStatic = true;
@@ -237,12 +234,14 @@ stdenv.mkDerivation ({
     (targetPlatform == hostPlatform && hostPlatform == buildPlatform)
     (if profiledCompiler then "profiledbootstrap" else "bootstrap");
 
-  dontStrip = !stripped;
+  inherit
+    (import ../common/strip-attributes.nix { inherit stdenv; })
+    stripDebugList
+    stripDebugListTarget
+    preFixup;
 
   doCheck = false; # requires a lot of tools, causes a dependency cycle for stdenv
 
-  installTargets = optional stripped "install-strip";
-
   # https://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
   ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64";
 
@@ -282,8 +281,7 @@ stdenv.mkDerivation ({
   meta = {
     homepage = "https://gcc.gnu.org/";
     license = lib.licenses.gpl3Plus;  # runtime support libraries are typically LGPLv3+
-    description = "GNU Compiler Collection, version ${version}"
-      + (if stripped then "" else " (with debugging info)");
+    description = "GNU Compiler Collection, version ${version}";
 
     longDescription = ''
       The GNU Compiler Collection includes compiler front ends for C, C++,
diff --git a/pkgs/development/compilers/gcc/8/default.nix b/pkgs/development/compilers/gcc/8/default.nix
index 2dd265b648c..7e94ec61c6b 100644
--- a/pkgs/development/compilers/gcc/8/default.nix
+++ b/pkgs/development/compilers/gcc/8/default.nix
@@ -21,9 +21,6 @@
 , libcCross ? null
 , threadsCross ? null # for MinGW
 , crossStageStatic ? false
-, # Strip kills static libs of other archs (hence no cross)
-  stripped ? stdenv.hostPlatform.system == stdenv.buildPlatform.system
-          && stdenv.targetPlatform.system == stdenv.hostPlatform.system
 , gnused ? null
 , cloog # unused; just for compat with gcc4, as we override the parameter on some places
 , buildPackages
@@ -78,7 +75,7 @@ let majorVersion = "8";
 in
 
 stdenv.mkDerivation ({
-  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  pname = "${crossNameAddon}${name}";
   inherit version;
 
   builder = ../builder.sh;
@@ -180,7 +177,7 @@ stdenv.mkDerivation ({
 
   preConfigure = import ../common/pre-configure.nix {
     inherit lib;
-    inherit version targetPlatform hostPlatform langGo;
+    inherit version targetPlatform hostPlatform langGo crossStageStatic;
   };
 
   dontDisableStatic = true;
@@ -218,9 +215,11 @@ stdenv.mkDerivation ({
     (targetPlatform == hostPlatform && hostPlatform == buildPlatform)
     (if profiledCompiler then "profiledbootstrap" else "bootstrap");
 
-  dontStrip = !stripped;
-
-  installTargets = optional stripped "install-strip";
+  inherit
+    (import ../common/strip-attributes.nix { inherit stdenv; })
+    stripDebugList
+    stripDebugListTarget
+    preFixup;
 
   # https://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
   ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64";
@@ -261,8 +260,7 @@ stdenv.mkDerivation ({
   meta = {
     homepage = "https://gcc.gnu.org/";
     license = lib.licenses.gpl3Plus;  # runtime support libraries are typically LGPLv3+
-    description = "GNU Compiler Collection, version ${version}"
-      + (if stripped then "" else " (with debugging info)");
+    description = "GNU Compiler Collection, version ${version}";
 
     longDescription = ''
       The GNU Compiler Collection includes compiler front ends for C, C++,
diff --git a/pkgs/development/compilers/gcc/9/default.nix b/pkgs/development/compilers/gcc/9/default.nix
index 30ae18e4917..707ead542f0 100644
--- a/pkgs/development/compilers/gcc/9/default.nix
+++ b/pkgs/development/compilers/gcc/9/default.nix
@@ -24,9 +24,6 @@
 , libcCross ? null
 , threadsCross ? null # for MinGW
 , crossStageStatic ? false
-, # Strip kills static libs of other archs (hence no cross)
-  stripped ? stdenv.hostPlatform.system == stdenv.buildPlatform.system
-          && stdenv.targetPlatform.system == stdenv.hostPlatform.system
 , gnused ? null
 , cloog # unused; just for compat with gcc4, as we override the parameter on some places
 , buildPackages
@@ -89,7 +86,7 @@ let majorVersion = "9";
 in
 
 stdenv.mkDerivation ({
-  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  pname = "${crossNameAddon}${name}";
   inherit version;
 
   builder = ../builder.sh;
@@ -193,7 +190,7 @@ stdenv.mkDerivation ({
 
   preConfigure = import ../common/pre-configure.nix {
     inherit lib;
-    inherit version targetPlatform hostPlatform gnatboot langAda langGo langJit;
+    inherit version targetPlatform hostPlatform gnatboot langAda langGo langJit crossStageStatic;
   };
 
   dontDisableStatic = true;
@@ -233,9 +230,11 @@ stdenv.mkDerivation ({
     (targetPlatform == hostPlatform && hostPlatform == buildPlatform)
     (if profiledCompiler then "profiledbootstrap" else "bootstrap");
 
-  dontStrip = !stripped;
-
-  installTargets = optional stripped "install-strip";
+  inherit
+    (import ../common/strip-attributes.nix { inherit stdenv; })
+    stripDebugList
+    stripDebugListTarget
+    preFixup;
 
   # https://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
   ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64";
@@ -276,8 +275,7 @@ stdenv.mkDerivation ({
   meta = {
     homepage = "https://gcc.gnu.org/";
     license = lib.licenses.gpl3Plus;  # runtime support libraries are typically LGPLv3+
-    description = "GNU Compiler Collection, version ${version}"
-      + (if stripped then "" else " (with debugging info)");
+    description = "GNU Compiler Collection, version ${version}";
 
     longDescription = ''
       The GNU Compiler Collection includes compiler front ends for C, C++,
diff --git a/pkgs/development/compilers/gcc/builder.sh b/pkgs/development/compilers/gcc/builder.sh
index 9d0514f1759..a9b33d9a3e4 100644
--- a/pkgs/development/compilers/gcc/builder.sh
+++ b/pkgs/development/compilers/gcc/builder.sh
@@ -147,11 +147,6 @@ if test "$noSysDirs" = "1"; then
     fi
 fi
 
-if [ -n "${targetConfig-}" ]; then
-    # if stripping gcc, include target directory too
-    stripDebugList="${stripDebugList-lib lib32 lib64 libexec bin sbin} $targetConfig"
-fi
-
 eval "$oldOpts"
 
 providedPreConfigure="$preConfigure";
@@ -171,15 +166,6 @@ preConfigure() {
         rm -Rf zlib
     fi
 
-    if test -f "$NIX_CC/nix-support/orig-libc"; then
-        # Patch the configure script so it finds glibc headers.  It's
-        # important for example in order not to get libssp built,
-        # because its functionality is in glibc already.
-        sed -i \
-            -e "s,glibc_header_dir=/usr/include,glibc_header_dir=$libc_dev/include", \
-            gcc/configure
-    fi
-
     if test -n "$crossMingw" -a -n "$crossStageStatic"; then
         mkdir -p ../mingw
         # --with-build-sysroot expects that:
diff --git a/pkgs/development/compilers/gcc/common/configure-flags.nix b/pkgs/development/compilers/gcc/common/configure-flags.nix
index bf33e1a1dad..8ac7152d7e2 100644
--- a/pkgs/development/compilers/gcc/common/configure-flags.nix
+++ b/pkgs/development/compilers/gcc/common/configure-flags.nix
@@ -97,7 +97,7 @@ let
       # In uclibc cases, libgomp needs an additional '-ldl'
       # and as I don't know how to pass it, I disable libgomp.
       "--disable-libgomp"
-    ] ++ lib.optional (targetPlatform.libc == "newlib") "--with-newlib"
+    ] ++ lib.optional (targetPlatform.libc == "newlib" || targetPlatform.libc == "newlib-nano") "--with-newlib"
       ++ lib.optional (targetPlatform.libc == "avrlibc") "--with-avrlibc"
     );
 
@@ -111,8 +111,30 @@ let
       "--with-mpc=${libmpc}"
     ]
     ++ lib.optional (libelf != null) "--with-libelf=${libelf}"
-    ++ lib.optional (!(crossMingw && crossStageStatic))
-      "--with-native-system-header-dir=${lib.getDev stdenv.cc.libc}/include"
+    ++ lib.optionals (!crossStageStatic) [
+      (if libcCross == null
+       then "--with-native-system-header-dir=${lib.getDev stdenv.cc.libc}/include"
+       else "--with-native-system-header-dir=${lib.getDev libcCross}${libcCross.incdir or "/include"}")
+      # gcc builds for cross-compilers (build != host) or cross-built
+      # gcc (host != target) always apply the offset prefix to disentangle
+      # target headers from build or host headers:
+      #     ${with_build_sysroot}${native_system_header_dir}
+      #  or ${test_exec_prefix}/${target_noncanonical}/sys-include
+      #  or ${with_sysroot}${native_system_header_dir}
+      # While native build (build == host == target) uses passed headers
+      # path as is:
+      #    ${native_system_header_dir}
+      #
+      # Nixpkgs uses flat directory structure for both native and cross
+      # cases. As a result libc headers don't get found for cross case
+      # and many modern features get disabled (libssp is used instead of
+      # target-specific implementations and similar). More details at:
+      #   https://github.com/NixOS/nixpkgs/pull/181802#issuecomment-1186822355
+      #
+      # We pick "/" path to effectively avoid sysroot offset and make it work
+      # as a native case.
+      "--with-build-sysroot=/"
+    ]
 
     # Basic configuration
     ++ [
diff --git a/pkgs/development/compilers/gcc/common/pre-configure.nix b/pkgs/development/compilers/gcc/common/pre-configure.nix
index 310e7f8b574..180d5f16e91 100644
--- a/pkgs/development/compilers/gcc/common/pre-configure.nix
+++ b/pkgs/development/compilers/gcc/common/pre-configure.nix
@@ -3,7 +3,9 @@
 , langAda ? false
 , langJava ? false
 , langJit ? false
-, langGo }:
+, langGo
+, crossStageStatic
+}:
 
 assert langJava -> lib.versionOlder version "7";
 assert langAda -> gnatboot != null; let
@@ -67,3 +69,12 @@ in lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
 + lib.optionalString (targetPlatform.config == hostPlatform.config && targetPlatform != hostPlatform) ''
   substituteInPlace configure --replace is_cross_compiler=no is_cross_compiler=yes
 ''
+
+# Normally (for host != target case) --without-headers automatically
+# enables 'inhibit_libc=true' in gcc's gcc/configure.ac. But case of
+# gcc->clang "cross"-compilation manages to evade it: there
+# hostPlatform != targetPlatform, hostPlatform.config == targetPlatform.config.
+# We explicitly inhibit libc headers use in this case as well.
++ lib.optionalString (targetPlatform != hostPlatform && crossStageStatic) ''
+  export inhibit_libc=true
+''
diff --git a/pkgs/development/compilers/gcc/common/strip-attributes.nix b/pkgs/development/compilers/gcc/common/strip-attributes.nix
new file mode 100644
index 00000000000..997c068cba6
--- /dev/null
+++ b/pkgs/development/compilers/gcc/common/strip-attributes.nix
@@ -0,0 +1,53 @@
+{ stdenv }:
+
+{
+  # Note [Cross-compiler stripping]
+  # gcc requires delicate stripping as it installs ELF files for both
+  # HOST and TARGET platforms. It requires according strip tool otherwise
+  # strip could remove sections it's not aware of.
+  # Example ARM breakage by x86_64 strip: https://bugs.gentoo.org/697428
+  #
+  # Let's recap the file layout for directories with object files for a
+  # cross-compiler (host != target):
+  # `- bin: HOST
+  #    lib/*.{a,o}: HOST
+  #      `- gcc/<TARGET>/<VERSION>/*.{a,o}: TARGET
+  #                               `- plugin/: HOST
+  #  `- lib{,32,64,x32}: symlink to lib or identical layout
+  #  `- libexec/: HOST
+  #  `- <TARGET>/: TARGET
+  #
+  # (host == target) has identical directory layout.
+
+  # The rest of stripDebugList{Host,Target} will be populated in
+  # postInstall.
+  stripDebugList = [ "bin" "libexec" ];
+  stripDebugListTarget = [ stdenv.targetPlatform.config ];
+
+  preFixup = ''
+    # Populate most delicated lib/ part of stripDebugList{,Target}
+    updateDebugListPaths() {
+      local oldOpts
+      oldOpts="$(shopt -p nullglob)" || true
+      shopt -s nullglob
+
+      pushd $out
+
+      local -ar hostFiles=(
+        lib{,32,64}/*.{a.o}
+        lib{,32,64}/gcc/${stdenv.targetPlatform.config}/*/plugin
+      )
+      local -ar targetFiles=(
+        lib{,32,64}/gcc/${stdenv.targetPlatform.config}/*/*.{a.o}
+      )
+
+      stripDebugList="$stripDebugList ''${hostFiles[*]}"
+      stripDebugListTarget="$stripDebugListTarget ''${targetFiles[*]}"
+
+      popd
+
+      eval "$oldOpts"
+    }
+    updateDebugListPaths
+  '';
+}
diff --git a/pkgs/development/compilers/ghc/9.2.3.nix b/pkgs/development/compilers/ghc/9.2.4.nix
index a7a80f4b9f1..cfbc403a389 100644
--- a/pkgs/development/compilers/ghc/9.2.3.nix
+++ b/pkgs/development/compilers/ghc/9.2.4.nix
@@ -6,8 +6,6 @@
 , xattr, autoSignDarwinBinariesHook
 , bash
 
-, autoreconfHook # GHC 9.2.3 tarballs don't have autoconf run on them
-
 , libiconv ? null, ncurses
 , glibcLocales ? null
 
@@ -176,12 +174,12 @@ assert buildTargetLlvmPackages.llvm == llvmPackages.llvm;
 assert stdenv.targetPlatform.isDarwin -> buildTargetLlvmPackages.clang == llvmPackages.clang;
 
 stdenv.mkDerivation (rec {
-  version = "9.2.3";
+  version = "9.2.4";
   pname = "${targetPrefix}ghc${variantSuffix}";
 
   src = fetchurl {
     url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz";
-    sha256 = "50ecdc2bef013e518f9a62a15245d7db0e4409d737c43b1cea7306fd82e1669e";
+    sha256 = "15213888064a0ec4e7723d075f31b87a678ce0851773d58b44ef7aa3de996458";
   };
 
   enableParallelBuilding = true;
@@ -231,12 +229,7 @@ stdenv.mkDerivation (rec {
     # LLVM backend on Darwin needs clang: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/codegens.html#llvm-code-generator-fllvm
     export CLANG="${buildTargetLlvmPackages.clang}/bin/${buildTargetLlvmPackages.clang.targetPrefix}clang"
   '' + ''
-
     echo -n "${buildMK}" > mk/build.mk
-    # GHC 9.2.3 tarball is not properly prepared
-    ./boot
-
-    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
   '' + lib.optionalString (stdenv.isLinux && hostPlatform.libc == "glibc") ''
     export LOCALE_ARCHIVE="${glibcLocales}/lib/locale/locale-archive"
   '' + lib.optionalString (!stdenv.isDarwin) ''
@@ -301,7 +294,6 @@ stdenv.mkDerivation (rec {
   dontAddExtraLibs = true;
 
   nativeBuildInputs = [
-    autoreconfHook # GHC 9.2.3 tarball hasn't autoconf run on it
     perl autoconf automake m4 python3
     ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
   ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
diff --git a/pkgs/development/compilers/ghc/9.4.1.nix b/pkgs/development/compilers/ghc/9.4.1.nix
index f883796452c..e24f9fbb376 100644
--- a/pkgs/development/compilers/ghc/9.4.1.nix
+++ b/pkgs/development/compilers/ghc/9.4.1.nix
@@ -197,6 +197,12 @@ stdenv.mkDerivation (rec {
       extraPrefix = "utils/haddock/";
       stripLen = 1;
     })
+    # fix race condition in make build system
+    (fetchpatch {
+      name = "ghc-hs-boot-copying-fix.patch";
+      url = "https://gitlab.haskell.org/ghc/ghc/-/commit/4f17eff0cbd125eca55b68f4927befdd45008eb6.diff";
+      sha256 = "0anq3w9z9mhxb0wx6rvxac3n7rl3apcma9zk3r9zz9hj9v7vkqzx";
+    })
   ];
 
   postPatch = "patchShebangs .";
diff --git a/pkgs/development/compilers/ghdl/default.nix b/pkgs/development/compilers/ghdl/default.nix
index 266ee97a2e9..758b04a7101 100644
--- a/pkgs/development/compilers/ghdl/default.nix
+++ b/pkgs/development/compilers/ghdl/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, fetchpatch, callPackage, gnat, zlib, llvm, lib
+{ stdenv, fetchFromGitHub, fetchpatch, callPackage, gnat11, zlib, llvm, lib
 , backend ? "mcode" }:
 
 assert backend == "mcode" || backend == "llvm";
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   LIBRARY_PATH = "${stdenv.cc.libc}/lib";
 
-  buildInputs = [ gnat zlib ] ++ lib.optional (backend == "llvm") [ llvm ];
+  buildInputs = [ gnat11 zlib ] ++ lib.optional (backend == "llvm") [ llvm ];
   propagatedBuildInputs = lib.optionals (backend == "llvm") [ zlib ];
 
   preConfigure = ''
diff --git a/pkgs/development/compilers/gnatboot/default.nix b/pkgs/development/compilers/gnatboot/default.nix
index b7fb8463d9c..4e1301e47a9 100644
--- a/pkgs/development/compilers/gnatboot/default.nix
+++ b/pkgs/development/compilers/gnatboot/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnatboot";
-  version = "11.2.0-4";
+  version = "12.1.0-2";
 
   src = fetchzip {
     url = "https://github.com/alire-project/GNAT-FSF-builds/releases/download/gnat-${version}/gnat-x86_64-linux-${version}.tar.gz";
-    hash = "sha256-8fMBJp6igH+Md5jE4LMubDmC4GLt4A+bZG/Xcz2LAJQ=";
+    hash = "sha256-EPDPOOjWJnJsUM7GGxj20/PXumjfLoMIEFX1EDtvWVY=";
   };
 
   nativeBuildInputs = [
@@ -46,6 +46,6 @@ stdenv.mkDerivation rec {
     homepage = "https://www.gnu.org/software/gnat";
     license = licenses.gpl3;
     maintainers = with maintainers; [ ethindp ];
-    platforms = with platforms; [ "x86_64-linux" ];
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/development/compilers/go/1.17.nix b/pkgs/development/compilers/go/1.17.nix
index e2db700494e..d1dd64eca15 100644
--- a/pkgs/development/compilers/go/1.17.nix
+++ b/pkgs/development/compilers/go/1.17.nix
@@ -17,15 +17,11 @@
 , runtimeShell
 , buildPackages
 , pkgsBuildTarget
-, callPackage
-, threadsCross ? null # for MinGW
+, threadsCross
 }:
 
-# threadsCross is just for MinGW
-assert threadsCross != null -> stdenv.targetPlatform.isWindows;
-
 let
-  go_bootstrap = buildPackages.callPackage ./bootstrap.nix { };
+  go_bootstrap = buildPackages.callPackage ./bootstrap116.nix { };
 
   goBootstrap = runCommand "go-bootstrap" { } ''
     mkdir $out
@@ -36,19 +32,19 @@ let
   '';
 
   goarch = platform: {
-    "i686" = "386";
-    "x86_64" = "amd64";
     "aarch64" = "arm64";
     "arm" = "arm";
     "armv5tel" = "arm";
     "armv6l" = "arm";
     "armv7l" = "arm";
+    "i686" = "386";
     "mips" = "mips";
+    "mips64el" = "mips64le";
     "mipsel" = "mipsle";
+    "powerpc64le" = "ppc64le";
     "riscv64" = "riscv64";
     "s390x" = "s390x";
-    "powerpc64le" = "ppc64le";
-    "mips64el" = "mips64le";
+    "x86_64" = "amd64";
   }.${platform.parsed.cpu.name} or (throw "Unsupported system: ${platform.parsed.cpu.name}");
 
   # We need a target compiler which is still runnable at build time,
@@ -57,7 +53,6 @@ let
 
   isCross = stdenv.buildPlatform != stdenv.targetPlatform;
 in
-
 stdenv.mkDerivation rec {
   pname = "go";
   version = "1.17.13";
@@ -80,7 +75,7 @@ stdenv.mkDerivation rec {
 
   depsBuildTarget = lib.optional isCross targetCC;
 
-  depsTargetTarget = lib.optional (threadsCross != null) threadsCross;
+  depsTargetTarget = lib.optional stdenv.targetPlatform.isWindows threadsCross;
 
   hardeningDisable = [ "all" ];
 
@@ -283,10 +278,10 @@ stdenv.mkDerivation rec {
   disallowedReferences = [ goBootstrap ];
 
   meta = with lib; {
-    homepage = "https://go.dev/";
     description = "The Go Programming language";
+    homepage = "https://go.dev/";
     license = licenses.bsd3;
     maintainers = teams.golang.members;
-    platforms = platforms.linux ++ platforms.darwin;
+    platforms = platforms.darwin ++ platforms.linux;
   };
 }
diff --git a/pkgs/development/compilers/go/1.18.nix b/pkgs/development/compilers/go/1.18.nix
index 05c40b68937..489ed133c61 100644
--- a/pkgs/development/compilers/go/1.18.nix
+++ b/pkgs/development/compilers/go/1.18.nix
@@ -1,5 +1,6 @@
 { lib
 , stdenv
+, fetchpatch
 , fetchurl
 , tzdata
 , iana-etc
@@ -17,15 +18,11 @@
 , runtimeShell
 , buildPackages
 , pkgsBuildTarget
-, callPackage
-, threadsCross ? null # for MinGW
+, threadsCross
 }:
 
-# threadsCross is just for MinGW
-assert threadsCross != null -> stdenv.targetPlatform.isWindows;
-
 let
-  go_bootstrap = buildPackages.callPackage ./bootstrap.nix { };
+  go_bootstrap = buildPackages.callPackage ./bootstrap116.nix { };
 
   goBootstrap = runCommand "go-bootstrap" { } ''
     mkdir $out
@@ -36,19 +33,19 @@ let
   '';
 
   goarch = platform: {
-    "i686" = "386";
-    "x86_64" = "amd64";
     "aarch64" = "arm64";
     "arm" = "arm";
     "armv5tel" = "arm";
     "armv6l" = "arm";
     "armv7l" = "arm";
+    "i686" = "386";
     "mips" = "mips";
+    "mips64el" = "mips64le";
     "mipsel" = "mipsle";
+    "powerpc64le" = "ppc64le";
     "riscv64" = "riscv64";
     "s390x" = "s390x";
-    "powerpc64le" = "ppc64le";
-    "mips64el" = "mips64le";
+    "x86_64" = "amd64";
   }.${platform.parsed.cpu.name} or (throw "Unsupported system: ${platform.parsed.cpu.name}");
 
   # We need a target compiler which is still runnable at build time,
@@ -57,7 +54,6 @@ let
 
   isCross = stdenv.buildPlatform != stdenv.targetPlatform;
 in
-
 stdenv.mkDerivation rec {
   pname = "go";
   version = "1.18.4";
@@ -80,7 +76,7 @@ stdenv.mkDerivation rec {
 
   depsBuildTarget = lib.optional isCross targetCC;
 
-  depsTargetTarget = lib.optional (threadsCross != null) threadsCross;
+  depsTargetTarget = lib.optional stdenv.targetPlatform.isWindows threadsCross;
 
   hardeningDisable = [ "all" ];
 
@@ -172,7 +168,11 @@ stdenv.mkDerivation rec {
     touch $TMPDIR/group $TMPDIR/hosts $TMPDIR/passwd
   '';
 
-  patches = [
+  patches = let
+    fetchBase64Patch = args: (fetchpatch args).overrideAttrs (o: {
+      postFetch = "mv $out p; base64 -d p > $out; " + o.postFetch;
+    });
+  in [
     ./remove-tools-1.11.patch
     ./ssl-cert-file-1.16.patch
     ./remove-test-pie-1.15.patch
@@ -182,6 +182,12 @@ stdenv.mkDerivation rec {
     ./skip-nohup-tests.patch
     ./skip-cgo-tests-1.15.patch
     ./go_no_vendor_checks-1.16.patch
+
+    # https://go-review.googlesource.com/c/go/+/417615/
+    (fetchBase64Patch {
+      url = "https://go-review.googlesource.com/changes/go~417615/revisions/3/patch";
+      sha256 = "sha256-Gu5eZUwGGch7et75A/BNynbs4VlQUBClVUxjxPkdjOs=";
+    })
   ];
 
   postPatch = ''
@@ -277,10 +283,10 @@ stdenv.mkDerivation rec {
   disallowedReferences = [ goBootstrap ];
 
   meta = with lib; {
-    homepage = "https://go.dev/";
     description = "The Go Programming language";
+    homepage = "https://go.dev/";
     license = licenses.bsd3;
     maintainers = teams.golang.members;
-    platforms = platforms.linux ++ platforms.darwin;
+    platforms = platforms.darwin ++ platforms.linux;
   };
 }
diff --git a/pkgs/development/compilers/go/1.19.nix b/pkgs/development/compilers/go/1.19.nix
new file mode 100644
index 00000000000..f5b51163346
--- /dev/null
+++ b/pkgs/development/compilers/go/1.19.nix
@@ -0,0 +1,280 @@
+{ lib
+, stdenv
+, fetchurl
+, tzdata
+, iana-etc
+, runCommand
+, perl
+, which
+, pkg-config
+, procps
+, pcre
+, cacert
+, Security
+, Foundation
+, xcbuild
+, mailcap
+, runtimeShell
+, buildPackages
+, pkgsBuildTarget
+, threadsCross
+}:
+
+let
+  go_bootstrap = buildPackages.callPackage ./bootstrap116.nix { };
+
+  goBootstrap = runCommand "go-bootstrap" { } ''
+    mkdir $out
+    cp -rf ${go_bootstrap}/* $out/
+    chmod -R u+w $out
+    find $out -name "*.c" -delete
+    cp -rf $out/bin/* $out/share/go/bin/
+  '';
+
+  goarch = platform: {
+    "aarch64" = "arm64";
+    "arm" = "arm";
+    "armv5tel" = "arm";
+    "armv6l" = "arm";
+    "armv7l" = "arm";
+    "i686" = "386";
+    "mips" = "mips";
+    "mips64el" = "mips64le";
+    "mipsel" = "mipsle";
+    "powerpc64le" = "ppc64le";
+    "riscv64" = "riscv64";
+    "s390x" = "s390x";
+    "x86_64" = "amd64";
+  }.${platform.parsed.cpu.name} or (throw "Unsupported system: ${platform.parsed.cpu.name}");
+
+  # We need a target compiler which is still runnable at build time,
+  # to handle the cross-building case where build != host == target
+  targetCC = pkgsBuildTarget.targetPackages.stdenv.cc;
+
+  isCross = stdenv.buildPlatform != stdenv.targetPlatform;
+in
+stdenv.mkDerivation rec {
+  pname = "go";
+  version = "1.19";
+
+  src = fetchurl {
+    url = "https://go.dev/dl/go${version}.src.tar.gz";
+    sha256 = "sha256-lBnMcNxaJSPymncFPK//ZY7SHvNWHZtrAgKA686rKLk=";
+  };
+
+  strictDeps = true;
+  # perl is used for testing go vet
+  nativeBuildInputs = [ perl which pkg-config procps ];
+  buildInputs = [ cacert pcre ]
+    ++ lib.optionals stdenv.isLinux [ stdenv.cc.libc.out ]
+    ++ lib.optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ];
+
+  propagatedBuildInputs = lib.optionals stdenv.isDarwin [ xcbuild ];
+
+  depsTargetTargetPropagated = lib.optionals stdenv.isDarwin [ Security Foundation ];
+
+  depsBuildTarget = lib.optional isCross targetCC;
+
+  depsTargetTarget = lib.optional stdenv.targetPlatform.isWindows threadsCross;
+
+  hardeningDisable = [ "all" ];
+
+  prePatch = ''
+    patchShebangs ./ # replace /bin/bash
+
+    # This source produces shell script at run time,
+    # and thus it is not corrected by patchShebangs.
+    substituteInPlace misc/cgo/testcarchive/carchive_test.go \
+      --replace '#!/usr/bin/env bash' '#!${runtimeShell}'
+
+    # Patch the mimetype database location which is missing on NixOS.
+    # but also allow static binaries built with NixOS to run outside nix
+    sed -i 's,\"/etc/mime.types,"${mailcap}/etc/mime.types\"\,\n\t&,' src/mime/type_unix.go
+
+    # Disabling the 'os/http/net' tests (they want files not available in
+    # chroot builds)
+    rm src/net/{listen,parse}_test.go
+    rm src/syscall/exec_linux_test.go
+
+    # !!! substituteInPlace does not seems to be effective.
+    # The os test wants to read files in an existing path. Just don't let it be /usr/bin.
+    sed -i 's,/usr/bin,'"`pwd`", src/os/os_test.go
+    sed -i 's,/bin/pwd,'"`type -P pwd`", src/os/os_test.go
+    # Fails on aarch64
+    sed -i '/TestFallocate/aif true \{ return\; \}' src/cmd/link/internal/ld/fallocate_test.go
+    # Skip this test since ssl patches mess it up.
+    sed -i '/TestLoadSystemCertsLoadColonSeparatedDirs/aif true \{ return\; \}' src/crypto/x509/root_unix_test.go
+    # Disable another PIE test which breaks.
+    sed -i '/TestTrivialPIE/aif true \{ return\; \}' misc/cgo/testshared/shared_test.go
+    # Disable the BuildModePie test
+    sed -i '/TestBuildmodePIE/aif true \{ return\; \}' src/cmd/go/go_test.go
+    # Disable the unix socket test
+    sed -i '/TestShutdownUnix/aif true \{ return\; \}' src/net/net_test.go
+    # Disable the hostname test
+    sed -i '/TestHostname/aif true \{ return\; \}' src/os/os_test.go
+    # ParseInLocation fails the test
+    sed -i '/TestParseInSydney/aif true \{ return\; \}' src/time/format_test.go
+    # Remove the api check as it never worked
+    sed -i '/src\/cmd\/api\/run.go/ireturn nil' src/cmd/dist/test.go
+    # Remove the coverage test as we have removed this utility
+    sed -i '/TestCoverageWithCgo/aif true \{ return\; \}' src/cmd/go/go_test.go
+    # Remove the timezone naming test
+    sed -i '/TestLoadFixed/aif true \{ return\; \}' src/time/time_test.go
+    # Remove disable setgid test
+    sed -i '/TestRespectSetgidDir/aif true \{ return\; \}' src/cmd/go/internal/work/build_test.go
+    # Remove cert tests that conflict with NixOS's cert resolution
+    sed -i '/TestEnvVars/aif true \{ return\; \}' src/crypto/x509/root_unix_test.go
+    # TestWritevError hangs sometimes
+    sed -i '/TestWritevError/aif true \{ return\; \}' src/net/writev_test.go
+    # TestVariousDeadlines fails sometimes
+    sed -i '/TestVariousDeadlines/aif true \{ return\; \}' src/net/timeout_test.go
+
+    sed -i 's,/etc/protocols,${iana-etc}/etc/protocols,' src/net/lookup_unix.go
+    sed -i 's,/etc/services,${iana-etc}/etc/services,' src/net/port_unix.go
+
+    # Disable cgo lookup tests not works, they depend on resolver
+    rm src/net/cgo_unix_test.go
+
+    # prepend the nix path to the zoneinfo files but also leave the original value for static binaries
+    # that run outside a nix server
+    sed -i 's,\"/usr/share/zoneinfo/,"${tzdata}/share/zoneinfo/\"\,\n\t&,' src/time/zoneinfo_unix.go
+
+  '' + lib.optionalString stdenv.isAarch32 ''
+    echo '#!${runtimeShell}' > misc/cgo/testplugin/test.bash
+  '' + lib.optionalString stdenv.isDarwin ''
+    substituteInPlace src/race.bash --replace \
+      "sysctl machdep.cpu.extfeatures | grep -qv EM64T" true
+    sed -i 's,strings.Contains(.*sysctl.*,true {,' src/cmd/dist/util.go
+    sed -i 's,"/etc","'"$TMPDIR"'",' src/os/os_test.go
+    sed -i 's,/_go_os_test,'"$TMPDIR"'/_go_os_test,' src/os/path_test.go
+
+    sed -i '/TestChdirAndGetwd/aif true \{ return\; \}' src/os/os_test.go
+    sed -i '/TestCredentialNoSetGroups/aif true \{ return\; \}' src/os/exec/exec_posix_test.go
+    sed -i '/TestRead0/aif true \{ return\; \}' src/os/os_test.go
+    sed -i '/TestSystemRoots/aif true \{ return\; \}' src/crypto/x509/root_darwin_test.go
+
+    sed -i '/TestGoInstallRebuildsStalePackagesInOtherGOPATH/aif true \{ return\; \}' src/cmd/go/go_test.go
+    sed -i '/TestBuildDashIInstallsDependencies/aif true \{ return\; \}' src/cmd/go/go_test.go
+
+    sed -i '/TestDisasmExtld/aif true \{ return\; \}' src/cmd/objdump/objdump_test.go
+
+    sed -i 's/unrecognized/unknown/' src/cmd/link/internal/ld/lib.go
+
+    # TestCurrent fails because Current is not implemented on Darwin
+    sed -i 's/TestCurrent/testCurrent/g' src/os/user/user_test.go
+    sed -i 's/TestLookup/testLookup/g' src/os/user/user_test.go
+
+    touch $TMPDIR/group $TMPDIR/hosts $TMPDIR/passwd
+  '';
+
+  patches = [
+    ./remove-tools-1.11.patch
+    ./ssl-cert-file-1.16.patch
+    ./remove-test-pie-1.15.patch
+    ./skip-chown-tests-1.16.patch
+    ./skip-external-network-tests-1.16.patch
+    ./skip-nohup-tests.patch
+    ./skip-cgo-tests-1.19.patch
+    ./go_no_vendor_checks-1.16.patch
+  ];
+
+  postPatch = ''
+    find . -name '*.orig' -exec rm {} ';'
+  '';
+
+  GOOS = stdenv.targetPlatform.parsed.kernel.name;
+  GOARCH = goarch stdenv.targetPlatform;
+  # GOHOSTOS/GOHOSTARCH must match the building system, not the host system.
+  # Go will nevertheless build a for host system that we will copy over in
+  # the install phase.
+  GOHOSTOS = stdenv.buildPlatform.parsed.kernel.name;
+  GOHOSTARCH = goarch stdenv.buildPlatform;
+
+  # {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those
+  # to be different from CC/CXX
+  CC_FOR_TARGET =
+    if isCross then
+      "${targetCC}/bin/${targetCC.targetPrefix}cc"
+    else
+      null;
+  CXX_FOR_TARGET =
+    if isCross then
+      "${targetCC}/bin/${targetCC.targetPrefix}c++"
+    else
+      null;
+
+  GOARM = toString (lib.intersectLists [ (stdenv.hostPlatform.parsed.cpu.version or "") ] [ "5" "6" "7" ]);
+  GO386 = "softfloat"; # from Arch: don't assume sse2 on i686
+  CGO_ENABLED = 1;
+  # Hopefully avoids test timeouts on Hydra
+  GO_TEST_TIMEOUT_SCALE = 3;
+
+  # Indicate that we are running on build infrastructure
+  # Some tests assume things like home directories and users exists
+  GO_BUILDER_NAME = "nix";
+
+  GOROOT_BOOTSTRAP = "${goBootstrap}/share/go";
+
+  postConfigure = ''
+    export GOCACHE=$TMPDIR/go-cache
+    # this is compiled into the binary
+    export GOROOT_FINAL=$out/share/go
+
+    export PATH=$(pwd)/bin:$PATH
+
+    ${lib.optionalString isCross ''
+    # Independent from host/target, CC should produce code for the building system.
+    # We only set it when cross-compiling.
+    export CC=${buildPackages.stdenv.cc}/bin/cc
+    ''}
+    ulimit -a
+  '';
+
+  postBuild = ''
+    (cd src && ./make.bash)
+  '';
+
+  doCheck = stdenv.hostPlatform == stdenv.targetPlatform && !stdenv.isDarwin;
+
+  checkPhase = ''
+    runHook preCheck
+    (cd src && HOME=$TMPDIR GOCACHE=$TMPDIR/go-cache ./run.bash --no-rebuild)
+    runHook postCheck
+  '';
+
+  preInstall = ''
+    rm -r pkg/obj
+    # Contains the wrong perl shebang when cross compiling,
+    # since it is not used for anything we can deleted as well.
+    rm src/regexp/syntax/make_perl_groups.pl
+  '' + (if (stdenv.buildPlatform != stdenv.hostPlatform) then ''
+    mv bin/*_*/* bin
+    rmdir bin/*_*
+    ${lib.optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
+      rm -rf pkg/${GOHOSTOS}_${GOHOSTARCH} pkg/tool/${GOHOSTOS}_${GOHOSTARCH}
+    ''}
+  '' else if (stdenv.hostPlatform != stdenv.targetPlatform) then ''
+    rm -rf bin/*_*
+    ${lib.optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
+      rm -rf pkg/${GOOS}_${GOARCH} pkg/tool/${GOOS}_${GOARCH}
+    ''}
+  '' else "");
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $GOROOT_FINAL
+    cp -a bin pkg src lib misc api doc $GOROOT_FINAL
+    ln -s $GOROOT_FINAL/bin $out/bin
+    runHook postInstall
+  '';
+
+  disallowedReferences = [ goBootstrap ];
+
+  meta = with lib; {
+    description = "The Go Programming language";
+    homepage = "https://go.dev/";
+    license = licenses.bsd3;
+    maintainers = teams.golang.members;
+    platforms = platforms.darwin ++ platforms.linux;
+  };
+}
diff --git a/pkgs/development/compilers/go/bootstrap.nix b/pkgs/development/compilers/go/bootstrap116.nix
index 71573b0bdd2..71573b0bdd2 100644
--- a/pkgs/development/compilers/go/bootstrap.nix
+++ b/pkgs/development/compilers/go/bootstrap116.nix
diff --git a/pkgs/development/compilers/go/bootstrap117.nix b/pkgs/development/compilers/go/bootstrap117.nix
new file mode 100644
index 00000000000..3afa2ba9a10
--- /dev/null
+++ b/pkgs/development/compilers/go/bootstrap117.nix
@@ -0,0 +1,15 @@
+{ callPackage }:
+callPackage ./binary.nix {
+  version = "1.17.13";
+  hashes = {
+    # Use `print-hashes.sh ${version}` to generate the list below
+    darwin-amd64 = "c101beaa232e0f448fab692dc036cd6b4677091ff89c4889cc8754b1b29c6608";
+    darwin-arm64 = "e4ccc9c082d91eaa0b866078b591fc97d24b91495f12deb3dd2d8eda4e55a6ea";
+    linux-386 = "5e02f35aecc6b89679f631e0edf12c49922dd31c8140cf8dd725c5797a9f2425";
+    linux-amd64 = "4cdd2bc664724dc7db94ad51b503512c5ae7220951cac568120f64f8e94399fc";
+    linux-arm64 = "914daad3f011cc2014dea799bb7490442677e4ad6de0b2ac3ded6cee7e3f493d";
+    linux-armv6l = "260431d7deeb8893c21e71fcbbb1fde3258616d8eba584c8d72060228ab42c86";
+    linux-ppc64le = "bd0763fb130f8412672ffe1e4a8e65888ebe2419e5caa9a67ac21e8c298aa254";
+    linux-s390x = "08f6074e1e106cbe5d78622357db71a93648c7a4c4e4b02e3b5f2a1828914c76";
+  };
+}
diff --git a/pkgs/development/compilers/go/print-hashes.sh b/pkgs/development/compilers/go/print-hashes.sh
index f095b67c627..ed3e62b941b 100755
--- a/pkgs/development/compilers/go/print-hashes.sh
+++ b/pkgs/development/compilers/go/print-hashes.sh
@@ -1,15 +1,16 @@
-#!/usr/bin/env bash
+#!/usr/bin/env nix-shell
+#! nix-shell -i bash -p curl jq
+# shellcheck shell=bash
 set -euo pipefail
 
 BASEURL=https://go.dev/dl/
 VERSION=${1:-}
 
-if [[ -z $VERSION ]]
-then
-    echo "No version supplied"
-    exit -1
+if [[ -z ${VERSION} ]]; then
+  echo "No version supplied"
+  exit 1
 fi
 
-curl -s "${BASEURL}?mode=json&include=all" | \
-    jq '.[] | select(.version == "go'${VERSION}'")' | \
-    jq -r '.files[] | select(.kind == "archive" and (.os == "linux" or .os == "darwin")) | (.os + "-" + .arch + " = \"" + .sha256 + "\";")'
+curl -s "${BASEURL}?mode=json&include=all" |
+  jq '.[] | select(.version == "go'"${VERSION}"'")' |
+  jq -r '.files[] | select(.kind == "archive" and (.os == "linux" or .os == "darwin")) | (.os + "-" + .arch + " = \"" + .sha256 + "\";")'
diff --git a/pkgs/development/compilers/go/skip-cgo-tests-1.19.patch b/pkgs/development/compilers/go/skip-cgo-tests-1.19.patch
new file mode 100644
index 00000000000..fa65cd6e988
--- /dev/null
+++ b/pkgs/development/compilers/go/skip-cgo-tests-1.19.patch
@@ -0,0 +1,13 @@
+diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go
+index e1cd4965c3..0980d044df 100644
+--- a/src/cmd/dist/test.go
++++ b/src/cmd/dist/test.go
+@@ -1136,7 +1136,7 @@ func (t *tester) cgoTest(dt *distTest) error {
+ 					t.addCmd(dt, "misc/cgo/test", t.goTest(), "-buildmode=pie", "-ldflags=-linkmode=internal")
+ 				}
+ 				t.addCmd(dt, "misc/cgo/testtls", t.goTest(), "-buildmode=pie", ".")
+-				t.addCmd(dt, "misc/cgo/nocgo", t.goTest(), "-buildmode=pie", ".")
++				//t.addCmd(dt, "misc/cgo/nocgo", t.goTest(), "-buildmode=pie", ".")
+ 			}
+ 		}
+ 	}
diff --git a/pkgs/development/compilers/hare/default.nix b/pkgs/development/compilers/hare/default.nix
new file mode 100644
index 00000000000..c04897fad1b
--- /dev/null
+++ b/pkgs/development/compilers/hare/default.nix
@@ -0,0 +1,7 @@
+{ config, lib, pkgs }:
+
+lib.makeScope pkgs.newScope (self: with self; {
+
+  harec = callPackage ./harec { };
+  hare = callPackage ./hare { };
+})
diff --git a/pkgs/development/compilers/hare/config-template.mk b/pkgs/development/compilers/hare/hare/config-template.mk
index 1d0783b118d..1d0783b118d 100644
--- a/pkgs/development/compilers/hare/config-template.mk
+++ b/pkgs/development/compilers/hare/hare/config-template.mk
diff --git a/pkgs/development/compilers/hare/hare.nix b/pkgs/development/compilers/hare/hare/default.nix
index e24fc68ab42..9411f4e4e90 100644
--- a/pkgs/development/compilers/hare/hare.nix
+++ b/pkgs/development/compilers/hare/hare/default.nix
@@ -9,16 +9,15 @@
 , substituteAll
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "hare";
-  version = "unstable-2022-06-18";
+  version = "unstable-2022-07-30";
 
   src = fetchFromSourcehut {
-    name = pname + "-src";
     owner = "~sircmpwn";
-    repo = pname;
-    rev = "ac9b2c35c09d555e09dbd81c5ed95bdfa14313ba";
-    hash = "sha256-eeS14LGkbi9IamvKzK+HF0Rvk9NFp4QVYcrHwNSNBx4=";
+    repo = "hare";
+    rev = "296925c91d79362d6b8ac94e0336a38e9af0f1c9";
+    hash = "sha256-LeIUnpTMZ6vxgAy/LPm9/IMit41RgezdVESIv+gQFHc=";
   };
 
   patches = [ ./disable-failing-test-cases.patch ];
@@ -37,7 +36,6 @@ stdenv.mkDerivation rec {
     qbe
   ];
 
-  setupHook = ./setup-hook.sh;
   strictDeps = true;
 
   configurePhase =
@@ -86,6 +84,8 @@ stdenv.mkDerivation rec {
         wrapProgram $out/bin/hare --prefix PATH : ${binPath}
       '';
 
+  setupHook = ./setup-hook.sh;
+
   meta = with lib; {
     homepage = "http://harelang.org/";
     description =
@@ -94,4 +94,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ AndersonTorres ];
     inherit (harec.meta) platforms badPlatforms;
   };
-}
+})
diff --git a/pkgs/development/compilers/hare/disable-failing-test-cases.patch b/pkgs/development/compilers/hare/hare/disable-failing-test-cases.patch
index 4f8ba605604..4f8ba605604 100644
--- a/pkgs/development/compilers/hare/disable-failing-test-cases.patch
+++ b/pkgs/development/compilers/hare/hare/disable-failing-test-cases.patch
diff --git a/pkgs/development/compilers/hare/setup-hook.sh b/pkgs/development/compilers/hare/hare/setup-hook.sh
index 999b91df122..d2d2c34354d 100644
--- a/pkgs/development/compilers/hare/setup-hook.sh
+++ b/pkgs/development/compilers/hare/hare/setup-hook.sh
@@ -1,5 +1,3 @@
-export HARECACHE="$NIX_BUILD_TOP/.harecache"
-
 addHarepath () {
     for haredir in third-party stdlib; do
         if [[ -d "$1/src/hare/$haredir" ]]; then
diff --git a/pkgs/development/compilers/hare/harec.nix b/pkgs/development/compilers/hare/harec/default.nix
index 4c77a77bd0d..bdc9ef56b9d 100644
--- a/pkgs/development/compilers/hare/harec.nix
+++ b/pkgs/development/compilers/hare/harec/default.nix
@@ -4,16 +4,15 @@
 , qbe
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "harec";
-  version = "unstable-2022-06-20";
+  version = "unstable-2022-07-02";
 
   src = fetchFromSourcehut {
-    name = pname + "-src";
     owner = "~sircmpwn";
-    repo = pname;
-    rev = "2eccbc4b959a590dda91143c8487edda841106d9";
-    hash = "sha256-pwy7cNxAqIbhx9kpcjfgk7sCEns9oA6zhKSQJdHLZCM=";
+    repo = "harec";
+    rev = "56359312644f76941de1878d33a1a0b840be8056";
+    hash = "sha256-8SFYRJSvX8hmsHBgaLUfhLUV7d54im22ETZds1eASc4=";
   };
 
   nativeBuildInputs = [
@@ -42,4 +41,4 @@ stdenv.mkDerivation rec {
       lib.intersectLists (freebsd ++ linux) (aarch64 ++ x86_64 ++ riscv64);
     badPlatforms = with platforms; darwin;
   };
-}
+})
diff --git a/pkgs/development/compilers/lingua-franca/default.nix b/pkgs/development/compilers/lingua-franca/default.nix
index 8944c4b7571..5f5de16b44b 100644
--- a/pkgs/development/compilers/lingua-franca/default.nix
+++ b/pkgs/development/compilers/lingua-franca/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "lfc";
-  version = "0.2.0";
+  version = "0.3.0";
 
   src = fetchzip {
     url = "https://github.com/lf-lang/lingua-franca/releases/download/v${version}/lfc_${version}.zip";
-    sha256 = "rBx7UnPLufZBO7lG0In5upHqYCyRtI4kQv0V83CZHew=";
+    sha256 = "sha256-jSINlwHfSOPbti3LJTXpSk6lcUtwKfz7CMLtq2OuNns=";
   };
 
   buildInputs = [ jdk17_headless ];
diff --git a/pkgs/development/compilers/openjdk/17.nix b/pkgs/development/compilers/openjdk/17.nix
index 45acc7f1ce9..1bd6431961b 100644
--- a/pkgs/development/compilers/openjdk/17.nix
+++ b/pkgs/development/compilers/openjdk/17.nix
@@ -41,6 +41,7 @@ let
       ./currency-date-range-jdk10.patch
       ./increase-javadoc-heap-jdk13.patch
       ./ignore-LegalNoticeFilePlugin.patch
+      ./fix-library-path-jdk17.patch
 
       # -Wformat etc. are stricter in newer gccs, per
       # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79677
diff --git a/pkgs/development/compilers/openjdk/fix-library-path-jdk17.patch b/pkgs/development/compilers/openjdk/fix-library-path-jdk17.patch
new file mode 100644
index 00000000000..4c38aca2b48
--- /dev/null
+++ b/pkgs/development/compilers/openjdk/fix-library-path-jdk17.patch
@@ -0,0 +1,60 @@
+--- a/src/hotspot/os/linux/os_linux.cpp
++++ b/src/hotspot/os/linux/os_linux.cpp
+@@ -412,18 +412,8 @@ void os::init_system_properties_values() {
+   //        1: ...
+   //        ...
+   //        7: The default directories, normally /lib and /usr/lib.
+-#ifndef OVERRIDE_LIBPATH
+-  #if defined(_LP64)
+-    #define DEFAULT_LIBPATH "/usr/lib64:/lib64:/lib:/usr/lib"
+-  #else
+-    #define DEFAULT_LIBPATH "/lib:/usr/lib"
+-  #endif
+-#else
+-  #define DEFAULT_LIBPATH OVERRIDE_LIBPATH
+-#endif
+ 
+ // Base path of extensions installed on the system.
+-#define SYS_EXT_DIR     "/usr/java/packages"
+ #define EXTENSIONS_DIR  "/lib/ext"
+ 
+   // Buffer that fits several sprintfs.
+@@ -431,7 +421,7 @@ void os::init_system_properties_values() {
+   // by the nulls included by the sizeof operator.
+   const size_t bufsize =
+     MAX2((size_t)MAXPATHLEN,  // For dll_dir & friends.
+-         (size_t)MAXPATHLEN + sizeof(EXTENSIONS_DIR) + sizeof(SYS_EXT_DIR) + sizeof(EXTENSIONS_DIR)); // extensions dir
++         (size_t)MAXPATHLEN + sizeof(EXTENSIONS_DIR) + sizeof(EXTENSIONS_DIR)); // extensions dir
+   char *buf = NEW_C_HEAP_ARRAY(char, bufsize, mtInternal);
+ 
+   // sysclasspath, java_home, dll_dir
+@@ -478,26 +468,22 @@ void os::init_system_properties_values() {
+     // should always exist (until the legacy problem cited above is
+     // addressed).
+     const char *v = ::getenv("LD_LIBRARY_PATH");
+-    const char *v_colon = ":";
+-    if (v == NULL) { v = ""; v_colon = ""; }
++    if (v == NULL) { v = ""; }
+     // That's +1 for the colon and +1 for the trailing '\0'.
+     char *ld_library_path = NEW_C_HEAP_ARRAY(char,
+-                                             strlen(v) + 1 +
+-                                             sizeof(SYS_EXT_DIR) + sizeof("/lib/") + sizeof(DEFAULT_LIBPATH) + 1,
++                                             strlen(v) + 1,
+                                              mtInternal);
+-    sprintf(ld_library_path, "%s%s" SYS_EXT_DIR "/lib:" DEFAULT_LIBPATH, v, v_colon);
++    sprintf(ld_library_path, "%s", v);
+     Arguments::set_library_path(ld_library_path);
+     FREE_C_HEAP_ARRAY(char, ld_library_path);
+   }
+ 
+   // Extensions directories.
+-  sprintf(buf, "%s" EXTENSIONS_DIR ":" SYS_EXT_DIR EXTENSIONS_DIR, Arguments::get_java_home());
++  sprintf(buf, "%s" EXTENSIONS_DIR, Arguments::get_java_home());
+   Arguments::set_ext_dirs(buf);
+ 
+   FREE_C_HEAP_ARRAY(char, buf);
+ 
+-#undef DEFAULT_LIBPATH
+-#undef SYS_EXT_DIR
+ #undef EXTENSIONS_DIR
+ }
\ No newline at end of file
diff --git a/pkgs/development/compilers/reason/default.nix b/pkgs/development/compilers/reason/default.nix
index cc99aa078f9..ad075b5adb4 100644
--- a/pkgs/development/compilers/reason/default.nix
+++ b/pkgs/development/compilers/reason/default.nix
@@ -1,14 +1,15 @@
 { lib, callPackage, stdenv, makeWrapper, fetchurl, ocaml, findlib, dune_2
+, ncurses
 , fix, menhir, menhirLib, menhirSdk, merlin-extend, ppxlib, utop, cppo, ppx_derivers
 }:
 
 stdenv.mkDerivation rec {
   pname = "ocaml${ocaml.version}-reason";
-  version = "3.8.0";
+  version = "3.8.1";
 
   src = fetchurl {
     url = "https://github.com/reasonml/reason/releases/download/${version}/reason-${version}.tbz";
-    sha256 = "sha256:0yc94m3ddk599crg33yxvkphxpy54kmdsl599c320wvn055p4y4l";
+    sha256 = "sha256-v827CfYrTBCPJubcOAQxYT5N5LBl348UNk7+Ss6o5BQ=";
   };
 
   nativeBuildInputs = [
@@ -26,7 +27,7 @@ stdenv.mkDerivation rec {
     ocaml
     ppxlib
     utop
-  ];
+  ] ++ lib.optional (lib.versionOlder ocaml.version "4.07") ncurses;
 
   propagatedBuildInputs = [
     menhirLib
diff --git a/pkgs/development/compilers/unison/default.nix b/pkgs/development/compilers/unison/default.nix
index a3df686e9d6..2c8150f764b 100644
--- a/pkgs/development/compilers/unison/default.nix
+++ b/pkgs/development/compilers/unison/default.nix
@@ -6,18 +6,18 @@
 
 stdenv.mkDerivation rec {
   pname = "unison-code-manager";
-  milestone_id = "M3";
+  milestone_id = "M4";
   version = "1.0.${milestone_id}-alpha";
 
   src = if (stdenv.isDarwin) then
     fetchurl {
       url = "https://github.com/unisonweb/unison/releases/download/release/${milestone_id}/ucm-macos.tar.gz";
-      sha256 = "sha256-xshqqERBr60vz1qEnewlgNIvd24aE6/VtK5iBlanQHg=";
+      sha256 = "A8i1jH9+W89M+XbmYx0knJsP5c/EdVE2T9L/EIL0USU=";
     }
   else
     fetchurl {
       url = "https://github.com/unisonweb/unison/releases/download/release/${milestone_id}/ucm-linux.tar.gz";
-      sha256 = "sha256-rt8Y1ZEQVHH6gk4JV3lH38H10TDwdLDnbnqjG2vyyy4=";
+      sha256 = "OqtJiKAsefw2fVjhtsYUe+qLPqXBPFkHUaMh26EJBJ4=";
     };
 
   # The tarball is just the prebuilt binary, in the archive root.
diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix
index 0a468023616..43ff938598d 100644
--- a/pkgs/development/compilers/vala/default.nix
+++ b/pkgs/development/compilers/vala/default.nix
@@ -103,8 +103,8 @@ in rec {
   };
 
   vala_0_56 = generic {
-    version = "0.56.1";
-    sha256 = "xRi4Hf3agtHN9Yaz+bIyMWLLlr08taLANlDOoCXZH7k=";
+    version = "0.56.2";
+    sha256 = "Zslhm7F4Wf0aw6ugpXlwYT44/Soe4wVBF0JgyfuQEkw=";
   };
 
   vala = vala_0_56;
diff --git a/pkgs/development/compilers/vyper/default.nix b/pkgs/development/compilers/vyper/default.nix
index 00d39d6f93e..2031935e618 100644
--- a/pkgs/development/compilers/vyper/default.nix
+++ b/pkgs/development/compilers/vyper/default.nix
@@ -9,7 +9,7 @@
 , recommonmark
 , semantic-version
 , sphinx
-, sphinx_rtd_theme
+, sphinx-rtd-theme
 , pytest-runner
 , setuptools-scm
 , git
@@ -27,14 +27,14 @@ let
 in
 buildPythonPackage rec {
   pname = "vyper";
-  version = "0.3.3";
+  version = "0.3.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-BAnNj27B1HAb9VVDA69bFGbQjeOpl0g5EB2juajqBAw=";
+    sha256 = "sha256-ldNuADfWy1OWTPD7pTcpU5dX/mX2pV/QqSjJxkc5S28=";
   };
 
   nativeBuildInputs = [
@@ -57,7 +57,7 @@ buildPythonPackage rec {
     # docs
     recommonmark
     sphinx
-    sphinx_rtd_theme
+    sphinx-rtd-theme
   ];
 
   checkPhase = ''
@@ -69,8 +69,5 @@ buildPythonPackage rec {
     homepage = "https://github.com/vyperlang/vyper";
     license = licenses.asl20;
     maintainers = with maintainers; [ siraben ];
-    knownVulnerabilities = [
-      "CVE-2022-29255"
-    ];
   };
 }
diff --git a/pkgs/development/compilers/xa/xa.nix b/pkgs/development/compilers/xa/xa.nix
index 08f31148d4c..0fb9d7d058b 100644
--- a/pkgs/development/compilers/xa/xa.nix
+++ b/pkgs/development/compilers/xa/xa.nix
@@ -6,14 +6,14 @@
 
 stdenv.mkDerivation rec {
   pname = "xa";
-  version = "2.3.12";
+  version = "2.3.13";
 
   src = fetchurl {
     urls = [
       "https://www.floodgap.com/retrotech/xa/dists/${pname}-${version}.tar.gz"
       "https://www.floodgap.com/retrotech/xa/dists/unsupported/${pname}-${version}.tar.gz"
     ];
-    hash = "sha256-+P0VNgEtZ2/Gy/zdapF5PlZMibbvdH+NuPRnwXj7BwQ=";
+    hash = "sha256-qUd68VC2yKkc09QeHPjJ31UtODMmSVV2gwJxykRnvYY=";
   };
 
   checkInputs = [ perl ];
diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/development/compilers/yosys/default.nix
index 564ada5d6c0..984678f689c 100644
--- a/pkgs/development/compilers/yosys/default.nix
+++ b/pkgs/development/compilers/yosys/default.nix
@@ -72,13 +72,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname   = "yosys";
-  version = "0.18";
+  version = "0.20";
 
   src = fetchFromGitHub {
     owner = "YosysHQ";
     repo  = "yosys";
     rev   = "${pname}-${version}";
-    hash  = "sha256-uvJYL7cUhf6gTvfeIVKWMB2DH5qcYzhB2WPeJf1rCTI=";
+    hash  = "sha256-0oDF6wLcWlDG2hWFjIL+oQmICQl/H6YAwDzgTiuF298=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/compilers/zulu/8.nix b/pkgs/development/compilers/zulu/8.nix
index 00f18f1238f..e23dbdbd6c1 100644
--- a/pkgs/development/compilers/zulu/8.nix
+++ b/pkgs/development/compilers/zulu/8.nix
@@ -112,7 +112,7 @@ in stdenv.mkDerivation {
       Certified builds of OpenJDK that can be deployed across multiple
       operating systems, containers, hypervisors and Cloud platforms.
     '';
-    maintainers = with maintainers; [ fpletz ];
+    maintainers = with maintainers; [ ];
     platforms = [ "x86_64-linux" "x86_64-darwin" ];
     mainProgram = "java";
   };
diff --git a/pkgs/development/compilers/zulu/default.nix b/pkgs/development/compilers/zulu/default.nix
index a3731a97045..03dff2348a2 100644
--- a/pkgs/development/compilers/zulu/default.nix
+++ b/pkgs/development/compilers/zulu/default.nix
@@ -117,7 +117,7 @@ in stdenv.mkDerivation {
       Certified builds of OpenJDK that can be deployed across multiple
       operating systems, containers, hypervisors and Cloud platforms.
     '';
-    maintainers = with maintainers; [ fpletz ];
+    maintainers = with maintainers; [ ];
     platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
     mainProgram = "java";
   };
diff --git a/pkgs/development/coq-modules/smtcoq/cvc4.nix b/pkgs/development/coq-modules/smtcoq/cvc4.nix
index 7e31ba67b4f..cbedf1658e4 100644
--- a/pkgs/development/coq-modules/smtcoq/cvc4.nix
+++ b/pkgs/development/coq-modules/smtcoq/cvc4.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, cln, fetchurl, gmp, swig, pkg-config
-, readline, libantlr3c, boost, jdk8, autoreconfHook
-, python3, antlr3_4
+, libantlr3c, boost, autoreconfHook
+, python3
 }:
 
 stdenv.mkDerivation rec {
@@ -13,13 +13,12 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
-  buildInputs = [ gmp readline swig libantlr3c antlr3_4 boost jdk8 python3 ]
+  buildInputs = [ gmp swig libantlr3c boost python3 ]
     ++ lib.optionals stdenv.isLinux [ cln ];
 
   configureFlags = [
-    "--enable-language-bindings=c,c++,java"
+    "--enable-language-bindings=c"
     "--enable-gpl"
-    "--with-readline"
     "--with-boost=${boost.dev}"
   ] ++ lib.optionals stdenv.isLinux [ "--with-cln" ];
 
diff --git a/pkgs/development/coq-modules/smtcoq/default.nix b/pkgs/development/coq-modules/smtcoq/default.nix
index 093c1ef15d7..a09930a7c7c 100644
--- a/pkgs/development/coq-modules/smtcoq/default.nix
+++ b/pkgs/development/coq-modules/smtcoq/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, pkgs, mkCoqDerivation, coq, trakt, veriT, zchaff, fetchurl, version ? null }:
+{ lib, stdenv, gcc10StdenvCompat, pkgs, mkCoqDerivation, coq, trakt, veriT, zchaff, fetchurl, version ? null }:
 with lib;
 
 let
@@ -10,7 +10,9 @@ let
     };
     meta.broken = false;
   });
-  cvc4 = pkgs.callPackage ./cvc4.nix {};
+  cvc4 = pkgs.callPackage ./cvc4.nix {
+    stdenv = gcc10StdenvCompat;
+  };
 in
 
 mkCoqDerivation {
diff --git a/pkgs/development/dotnet-modules/boogie-deps.nix b/pkgs/development/dotnet-modules/boogie-deps.nix
new file mode 100644
index 00000000000..251b82a8fe6
--- /dev/null
+++ b/pkgs/development/dotnet-modules/boogie-deps.nix
@@ -0,0 +1,150 @@
+{ fetchNuGet }: [
+  (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "6.0.0"; sha256 = "15gqy2m14fdlvy1g59207h5kisznm355kbw010gy19vh47z8gpz3"; })
+  (fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "16.2.0"; sha256 = "07h1ylca2j7a4hznq4m4b8nrzv1lw7gcf848k2a3nbm6rapv61ki"; })
+  (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.0.1"; sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; })
+  (fetchNuGet { pname = "Microsoft.DotNet.InternalAbstractions"; version = "1.0.0"; sha256 = "0mp8ihqlb7fsa789frjzidrfjc1lrhk88qp3xm5qvr7vf4wy4z8x"; })
+  (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "16.2.0"; sha256 = "1nr5jxchdy3p7jm4fm73d5yivghjisdsyafma8fs5d1v49bhgckq"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
+  (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "16.2.0"; sha256 = "1ywzyx75d61wm75l7wglxzglg5k9nq66wd56m52hmmg8mf253z57"; })
+  (fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "16.2.0"; sha256 = "05dx9nv1skc5ji79ji5vz6c93b09w9xh70iyy6j5ca978ga92i6g"; })
+  (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.0.1"; sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7"; })
+  (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; })
+  (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.0.0"; sha256 = "1spf4m9pikkc19544p29a47qnhcd885klncahz133hbnyqbkmz9k"; })
+  (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.3.0"; sha256 = "1gxyzxam8163vk1kb6xzxjj4iwspjsz9zhgn1w9rjzciphaz0ig7"; })
+  (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "6.0.0"; sha256 = "0c6pcj088g1yd1vs529q3ybgsd2vjlk5y1ic6dkmbhvrp5jibl9p"; })
+  (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.0"; sha256 = "0nmmv4yw7gw04ik8ialj3ak0j6pxa9spih67hnn1h2c38ba8h58k"; })
+  (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.0"; sha256 = "1bc4ba8ahgk15m8k4nd7x406nhi0kwqzbgjk2dmw52ss553xz7iy"; })
+  (fetchNuGet { pname = "Newtonsoft.Json"; version = "9.0.1"; sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; })
+  (fetchNuGet { pname = "NUnit"; version = "3.12.0"; sha256 = "1880j2xwavi8f28vxan3hyvdnph4nlh5sbmh285s4lc9l0b7bdk2"; })
+  (fetchNuGet { pname = "NUnit3TestAdapter"; version = "3.15.1"; sha256 = "1nhpvzxbxgymmkb3bd5ci40rg8k71bfx2ghbgc99znvnvhf2034y"; })
+  (fetchNuGet { pname = "runtime.native.System"; version = "4.0.0"; sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf"; })
+  (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; })
+  (fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.1.0"; sha256 = "0d720z4lzyfcabmmnvh0bnj76ll7djhji2hmfh3h44sdkjnlkknk"; })
+  (fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.0.1"; sha256 = "1hgv2bmbaskx77v8glh7waxws973jn4ah35zysnkxmf0196sfxg6"; })
+  (fetchNuGet { pname = "runtime.native.System.Security.Cryptography"; version = "4.0.0"; sha256 = "0k57aa2c3b10wl3hfqbgrl7xq7g8hh3a3ir44b31dn5p61iiw3z9"; })
+  (fetchNuGet { pname = "StyleCop.Analyzers"; version = "1.1.118"; sha256 = "0hj4ax64cay2lvrh9693m0g4pmis0fi5wpm12xwzvc7lkizvac0a"; })
+  (fetchNuGet { pname = "System.AppContext"; version = "4.1.0"; sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz"; })
+  (fetchNuGet { pname = "System.Buffers"; version = "4.0.0"; sha256 = "13s659bcmg9nwb6z78971z1lr6bmh2wghxi1ayqyzl4jijd351gr"; })
+  (fetchNuGet { pname = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; })
+  (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
+  (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.0.12"; sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc"; })
+  (fetchNuGet { pname = "System.Collections.Immutable"; version = "1.2.0"; sha256 = "1jm4pc666yiy7af1mcf7766v710gp0h40p228ghj6bavx7xfa38m"; })
+  (fetchNuGet { pname = "System.Collections.NonGeneric"; version = "4.0.1"; sha256 = "19994r5y5bpdhj7di6w047apvil8lh06lh2c2yv9zc4fc5g9bl4d"; })
+  (fetchNuGet { pname = "System.Collections.NonGeneric"; version = "4.3.0"; sha256 = "07q3k0hf3mrcjzwj8fwk6gv3n51cb513w4mgkfxzm3i37sc9kz7k"; })
+  (fetchNuGet { pname = "System.Collections.Specialized"; version = "4.0.1"; sha256 = "1wbv7y686p5x169rnaim7sln67ivmv6r57falrnx8aap9y33mam9"; })
+  (fetchNuGet { pname = "System.Collections.Specialized"; version = "4.3.0"; sha256 = "1sdwkma4f6j85m3dpb53v9vcgd0zyc9jb33f8g63byvijcj39n20"; })
+  (fetchNuGet { pname = "System.ComponentModel"; version = "4.0.1"; sha256 = "0v4qpmqlzyfad2kswxxj2frnaqqhz9201c3yn8fmmarx5vlzg52z"; })
+  (fetchNuGet { pname = "System.ComponentModel"; version = "4.3.0"; sha256 = "0986b10ww3nshy30x9sjyzm0jx339dkjxjj3401r3q0f6fx2wkcb"; })
+  (fetchNuGet { pname = "System.ComponentModel.EventBasedAsync"; version = "4.0.11"; sha256 = "07r5i7xwban347nsfw28hhjwpr78ywksjyhywvhj1yr0s7sr00wh"; })
+  (fetchNuGet { pname = "System.ComponentModel.EventBasedAsync"; version = "4.3.0"; sha256 = "1rv9bkb8yyhqqqrx6x95njv6mdxlbvv527b44mrd93g8fmgkifl7"; })
+  (fetchNuGet { pname = "System.ComponentModel.Primitives"; version = "4.1.0"; sha256 = "0wb5mnaag0w4fnyc40x19j8v2vshxp266razw64bcqfyj1whb1q0"; })
+  (fetchNuGet { pname = "System.ComponentModel.Primitives"; version = "4.3.0"; sha256 = "1svfmcmgs0w0z9xdw2f2ps05rdxmkxxhf0l17xk9l1l8xfahkqr0"; })
+  (fetchNuGet { pname = "System.ComponentModel.TypeConverter"; version = "4.1.0"; sha256 = "178cva9p1cs043h5n2fry5xkzr3wc9n0hwbxa8m3ymld9m6wcv0y"; })
+  (fetchNuGet { pname = "System.ComponentModel.TypeConverter"; version = "4.3.0"; sha256 = "17ng0p7v3nbrg3kycz10aqrrlw4lz9hzhws09pfh8gkwicyy481x"; })
+  (fetchNuGet { pname = "System.Configuration.ConfigurationManager"; version = "6.0.0"; sha256 = "0sqapr697jbb4ljkq46msg0xx1qpmc31ivva6llyz2wzq3mpmxbw"; })
+  (fetchNuGet { pname = "System.Console"; version = "4.0.0"; sha256 = "0ynxqbc3z1nwbrc11hkkpw9skw116z4y9wjzn7id49p9yi7mzmlf"; })
+  (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; })
+  (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; })
+  (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.0.0"; sha256 = "1n6c3fbz7v8d3pn77h4v5wvsfrfg7v1c57lg3nff3cjyh597v23m"; })
+  (fetchNuGet { pname = "System.Diagnostics.Process"; version = "4.1.0"; sha256 = "061lrcs7xribrmq7kab908lww6kn2xn1w3rdc41q189y0jibl19s"; })
+  (fetchNuGet { pname = "System.Diagnostics.Process"; version = "4.3.0"; sha256 = "0g4prsbkygq8m21naqmcp70f24a1ksyix3dihb1r1f71lpi3cfj7"; })
+  (fetchNuGet { pname = "System.Diagnostics.TextWriterTraceListener"; version = "4.0.0"; sha256 = "1xigiwkwyxak0dhm0p8i2zb7a9syly9cdb5s9zkr9rbad4f2fqhs"; })
+  (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.0.1"; sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; })
+  (fetchNuGet { pname = "System.Diagnostics.TraceSource"; version = "4.0.0"; sha256 = "1mc7r72xznczzf6mz62dm8xhdi14if1h8qgx353xvhz89qyxsa3h"; })
+  (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.1.0"; sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394"; })
+  (fetchNuGet { pname = "System.Drawing.Common"; version = "6.0.0"; sha256 = "02n8rzm58dac2np8b3xw8ychbvylja4nh6938l5k2fhyn40imlgz"; })
+  (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.0.11"; sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9"; })
+  (fetchNuGet { pname = "System.Globalization"; version = "4.0.11"; sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; })
+  (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; })
+  (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.0.1"; sha256 = "0bv0alrm2ck2zk3rz25lfyk9h42f3ywq77mx1syl6vvyncnpg4qh"; })
+  (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.0.1"; sha256 = "0hjhdb5ri8z9l93bw04s7ynwrjrhx2n0p34sf33a9hl9phz69fyc"; })
+  (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.3.0"; sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; })
+  (fetchNuGet { pname = "System.IO"; version = "4.1.0"; sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; })
+  (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; })
+  (fetchNuGet { pname = "System.IO.Compression"; version = "4.1.0"; sha256 = "0iym7s3jkl8n0vzm3jd6xqg9zjjjqni05x45dwxyjr2dy88hlgji"; })
+  (fetchNuGet { pname = "System.IO.Compression.ZipFile"; version = "4.0.1"; sha256 = "0h72znbagmgvswzr46mihn7xm7chfk2fhrp5krzkjf29pz0i6z82"; })
+  (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.0.1"; sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1"; })
+  (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; })
+  (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.0.1"; sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; })
+  (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; })
+  (fetchNuGet { pname = "System.Linq"; version = "4.1.0"; sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; })
+  (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
+  (fetchNuGet { pname = "System.Linq.Async"; version = "6.0.1"; sha256 = "10ira8hmv0i54yp9ggrrdm1c06j538sijfjpn1kmnh9j2xk5yzmq"; })
+  (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.1.0"; sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; })
+  (fetchNuGet { pname = "System.Net.Http"; version = "4.1.0"; sha256 = "1i5rqij1icg05j8rrkw4gd4pgia1978mqhjzhsjg69lvwcdfg8yb"; })
+  (fetchNuGet { pname = "System.Net.Primitives"; version = "4.0.11"; sha256 = "10xzzaynkzkakp7jai1ik3r805zrqjxiz7vcagchyxs2v26a516r"; })
+  (fetchNuGet { pname = "System.Net.Sockets"; version = "4.1.0"; sha256 = "1385fvh8h29da5hh58jm1v78fzi9fi5vj93vhlm2kvqpfahvpqls"; })
+  (fetchNuGet { pname = "System.ObjectModel"; version = "4.0.12"; sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj"; })
+  (fetchNuGet { pname = "System.Private.DataContractSerialization"; version = "4.1.1"; sha256 = "1xk9wvgzipssp1393nsg4n16zbr5481k03nkdlj954hzq5jkx89r"; })
+  (fetchNuGet { pname = "System.Reactive"; version = "4.4.1"; sha256 = "0gx8jh3hny2y5kijz5k9pxiqw481d013787c04zlhps21ygklw4a"; })
+  (fetchNuGet { pname = "System.Reflection"; version = "4.1.0"; sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; })
+  (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; })
+  (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.0.1"; sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.0.1"; sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.0.1"; sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr"; })
+  (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.0.1"; sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; })
+  (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; })
+  (fetchNuGet { pname = "System.Reflection.Metadata"; version = "1.3.0"; sha256 = "1y5m6kryhjpqqm2g3h3b6bzig13wkiw954x3b7icqjm6xypm1x3b"; })
+  (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; })
+  (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; })
+  (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.1.0"; sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7"; })
+  (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.3.0"; sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; })
+  (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.0.1"; sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi"; })
+  (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; })
+  (fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; })
+  (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
+  (fetchNuGet { pname = "System.Runtime.Caching"; version = "6.0.0"; sha256 = "0wh98a77cby4i3h2mar241k01105x661kh03vlyd399shxkfk60a"; })
+  (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.1.0"; sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; })
+  (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; })
+  (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.0.1"; sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; })
+  (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; })
+  (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.1.0"; sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1"; })
+  (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; })
+  (fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.0.0"; sha256 = "0glmvarf3jz5xh22iy3w9v3wyragcm4hfdr17v90vs7vcrm7fgp6"; })
+  (fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.3.0"; sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii"; })
+  (fetchNuGet { pname = "System.Runtime.Loader"; version = "4.0.0"; sha256 = "0lpfi3psqcp6zxsjk2qyahal7zaawviimc8lhrlswhip2mx7ykl0"; })
+  (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.0.1"; sha256 = "1y308zfvy0l5nrn46mqqr4wb4z1xk758pkk8svbz8b5ij7jnv4nn"; })
+  (fetchNuGet { pname = "System.Runtime.Serialization.Json"; version = "4.0.2"; sha256 = "08ypbzs0sb302ga04ds5b2wxa2gg0q50zpa0nvc87ipjhs0v66dn"; })
+  (fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.1.1"; sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; })
+  (fetchNuGet { pname = "System.Security.AccessControl"; version = "6.0.0"; sha256 = "0a678bzj8yxxiffyzy60z2w1nczzpi8v97igr4ip3byd2q89dv58"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.2.0"; sha256 = "148s9g5dgm33ri7dnh19s4lgnlxbpwvrw2jnzllq2kijj4i4vs85"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.2.0"; sha256 = "118jijz446kix20blxip0f0q8mhsh9bz118mwc2ch1p6g7facpzc"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.0.0"; sha256 = "1cwv8lqj8r15q81d2pz2jwzzbaji0l28xfrpw29kdpsaypm92z2q"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.0.0"; sha256 = "0a8y1a5wkmpawc787gfmnrnbzdgxmx1a14ax43jf3rj9gxmy3vk4"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.0.0"; sha256 = "16sx3cig3d0ilvzl8xxgffmxbiqx87zdi8fc73i3i7zjih1a7f4q"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.0.0"; sha256 = "0i7cfnwph9a10bm26m538h5xcr8b36jscp9sy1zhgifksxz4yixh"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "6.0.0"; sha256 = "05kd3a8w7658hjxq9vvszxip30a479fjmfq4bq1r95nrsvs4hbss"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.1.0"; sha256 = "0clg1bv55mfv5dq00m19cp634zx6inm31kf8ppbq1jgyjf2185dh"; })
+  (fetchNuGet { pname = "System.Security.Permissions"; version = "6.0.0"; sha256 = "0jsl4xdrkqi11iwmisi1r2f2qn5pbvl79mzq877gndw6ans2zhzw"; })
+  (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; })
+  (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
+  (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11"; sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; })
+  (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; })
+  (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.1.0"; sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; })
+  (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.3.0"; sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; })
+  (fetchNuGet { pname = "System.Threading"; version = "4.0.11"; sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; })
+  (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; })
+  (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.0.11"; sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; })
+  (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
+  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.0.0"; sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; })
+  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.3.0"; sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z"; })
+  (fetchNuGet { pname = "System.Threading.Thread"; version = "4.0.0"; sha256 = "1gxxm5fl36pjjpnx1k688dcw8m9l7nmf802nxis6swdaw8k54jzc"; })
+  (fetchNuGet { pname = "System.Threading.Thread"; version = "4.3.0"; sha256 = "0y2xiwdfcph7znm2ysxanrhbqqss6a3shi1z3c779pj2s523mjx4"; })
+  (fetchNuGet { pname = "System.Threading.ThreadPool"; version = "4.0.10"; sha256 = "0fdr61yjcxh5imvyf93n2m3n5g9pp54bnw2l1d2rdl9z6dd31ypx"; })
+  (fetchNuGet { pname = "System.Threading.ThreadPool"; version = "4.3.0"; sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1"; })
+  (fetchNuGet { pname = "System.Threading.Timer"; version = "4.0.1"; sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6"; })
+  (fetchNuGet { pname = "System.Windows.Extensions"; version = "6.0.0"; sha256 = "1wy9pq9vn1bqg5qnv53iqrbx04yzdmjw4x5yyi09y3459vaa1sip"; })
+  (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.0.11"; sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5"; })
+  (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.3.0"; sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; })
+  (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.0.11"; sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; })
+  (fetchNuGet { pname = "System.Xml.XmlDocument"; version = "4.0.1"; sha256 = "0ihsnkvyc76r4dcky7v3ansnbyqjzkbyyia0ir5zvqirzan0bnl1"; })
+  (fetchNuGet { pname = "System.Xml.XmlDocument"; version = "4.3.0"; sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi"; })
+  (fetchNuGet { pname = "System.Xml.XmlSerializer"; version = "4.0.11"; sha256 = "01nzc3gdslw90qfykq4qzr2mdnqxjl4sj0wp3fixiwdmlmvpib5z"; })
+  (fetchNuGet { pname = "System.Xml.XPath"; version = "4.0.1"; sha256 = "0fjqgb6y66d72d5n8qq1h213d9nv2vi8mpv8p28j3m9rccmsh04m"; })
+  (fetchNuGet { pname = "System.Xml.XPath"; version = "4.3.0"; sha256 = "1cv2m0p70774a0sd1zxc8fm8jk3i5zk2bla3riqvi8gsm0r4kpci"; })
+  (fetchNuGet { pname = "System.Xml.XPath.XmlDocument"; version = "4.0.1"; sha256 = "0l7yljgif41iv5g56l3nxy97hzzgck2a7rhnfnljhx9b0ry41bvc"; })
+  (fetchNuGet { pname = "System.Xml.XPath.XmlDocument"; version = "4.3.0"; sha256 = "1h9lh7qkp0lff33z847sdfjj8yaz98ylbnkbxlnsbflhj9xyfqrm"; })
+]
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 6194bd2ea6c..3db220ab901 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -833,9 +833,9 @@ self: super: {
     testHaskellDepends = drv.testHaskellDepends or [] ++ [ self.hspec-meta_2_9_3 ];
     testToolDepends = drv.testToolDepends or [] ++ [ pkgs.git ];
   }) (super.sensei.override {
-    hspec = self.hspec_2_10_0;
+    hspec = self.hspec_2_10_0_1;
     hspec-wai = super.hspec-wai.override {
-      hspec = self.hspec_2_10_0;
+      hspec = self.hspec_2_10_0_1;
     };
   });
 
@@ -1646,14 +1646,14 @@ self: super: {
   servant-openapi3 = dontCheck super.servant-openapi3;
 
   # Give hspec 2.10.* correct dependency versions without overrideScope
-  hspec_2_10_0 = doDistribute (super.hspec_2_10_0.override {
-    hspec-discover = self.hspec-discover_2_10_0;
-    hspec-core = self.hspec-core_2_10_0;
+  hspec_2_10_0_1 = doDistribute (super.hspec_2_10_0_1.override {
+    hspec-discover = self.hspec-discover_2_10_0_1;
+    hspec-core = self.hspec-core_2_10_0_1;
   });
-  hspec-discover_2_10_0 = super.hspec-discover_2_10_0.override {
+  hspec-discover_2_10_0_1 = super.hspec-discover_2_10_0_1.override {
     hspec-meta = self.hspec-meta_2_9_3;
   };
-  hspec-core_2_10_0 = super.hspec-core_2_10_0.override {
+  hspec-core_2_10_0_1 = super.hspec-core_2_10_0_1.override {
     hspec-meta = self.hspec-meta_2_9_3;
   };
 
@@ -2145,16 +2145,16 @@ self: super: {
 
   # 2022-03-21: Newest stylish-haskell needs ghc-lib-parser-9_2
   stylish-haskell = (super.stylish-haskell.override {
-    ghc-lib-parser = super.ghc-lib-parser_9_2_3_20220709;
-    ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_2_1_0;
+    ghc-lib-parser = super.ghc-lib-parser_9_2_4_20220729;
+    ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_2_1_1;
   });
 
-  ghc-lib-parser-ex_9_2_1_0 = super.ghc-lib-parser-ex_9_2_1_0.override {
-    ghc-lib-parser = super.ghc-lib-parser_9_2_3_20220709;
+  ghc-lib-parser-ex_9_2_1_1 = super.ghc-lib-parser-ex_9_2_1_1.override {
+    ghc-lib-parser = super.ghc-lib-parser_9_2_4_20220729;
   };
 
   ghc-lib-parser-ex_9_2_0_4 = super.ghc-lib-parser-ex_9_2_0_4.override {
-    ghc-lib-parser = super.ghc-lib-parser_9_2_3_20220709;
+    ghc-lib-parser = super.ghc-lib-parser_9_2_4_20220729;
   };
 
   hlint_3_4_1 = doDistribute (super.hlint_3_4_1.override {
@@ -2357,6 +2357,10 @@ self: super: {
   # https://github.com/tree-sitter/haskell-tree-sitter/issues/298
   tree-sitter = doJailbreak super.tree-sitter;
 
+  # 2022-08-07: Bounds are too restrictive: https://github.com/marcin-rzeznicki/libjwt-typed/issues/2
+  # Also, the tests fail.
+  libjwt-typed = dontCheck (doJailbreak super.libjwt-typed);
+
   # Test suite fails to compile
   # https://github.com/kuribas/mfsolve/issues/8
   mfsolve = dontCheck super.mfsolve;
@@ -2407,9 +2411,12 @@ self: super: {
   # 2022-03-16: strict upper bounds https://github.com/monadfix/shower/issues/18
   shower = doJailbreak (dontCheck super.shower);
 
-  # Doesn't compile with HTF 0.15
-  # https://github.com/andrewufrank/uniform-error/issues/1
+  # Test suite isn't supposed to succeed yet, apparently…
+  # https://github.com/andrewufrank/uniform-error/blob/f40629ad119e90f8dae85e65e93d7eb149bddd53/test/Uniform/Error_test.hs#L124
+  # https://github.com/andrewufrank/uniform-error/issues/2
   uniform-error = dontCheck super.uniform-error;
+  # https://github.com/andrewufrank/uniform-fileio/issues/2
+  uniform-fileio = dontCheck super.uniform-fileio;
 
   # The shipped Setup.hs file is broken.
   csv = overrideCabal (drv: { preCompileBuildDriver = "rm Setup.hs"; }) super.csv;
@@ -2503,13 +2510,6 @@ self: super: {
   servant-cassava = assert super.servant-cassava.version == "0.10.1";
     doJailbreak super.servant-cassava;
 
-  # Fix tests failure for ghc 9 (https://github.com/clinty/debian-haskell/pull/3)
-  debian = appendPatch (fetchpatch {
-    name = "debian-haskell.3.patch";
-    url = "https://github.com/clinty/debian-haskell/pull/3/commits/47441c8e4a7a00a3c8825eec98bf7a823594f9be.patch";
-    sha256 = "0wxpqazjnal9naibapg63nm7x6qz0lklcfw2m5mzjrh2q9x2cvnd";
-  }) super.debian;
-
   # Test data missing from sdist
   # https://github.com/ngless-toolkit/ngless/issues/152
   NGLess = dontCheck super.NGLess;
@@ -2626,4 +2626,11 @@ in {
   purescript-ast = purescriptStOverride super.purescript-ast;
 
   purenix = purescriptStOverride super.purenix;
+
+  # Needs update for ghc-9:
+  # https://github.com/haskell/text-format/issues/27
+  text-format = appendPatch (fetchpatch {
+    url = "https://github.com/hackage-trustees/text-format/pull/4/commits/949383aa053497b8c251219c10506136c29b4d32.patch";
+    sha256 = "QzpZ7lDedsz1mZcq6DL4x7LBnn58rx70+ZVvPh9shRo=";
+  }) super.text-format;
 })
diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
index 53e604fbff3..d412ac49aa6 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
@@ -98,9 +98,9 @@ self: super: {
       self.data-default
     ] ++ drv.libraryHaskellDepends or [];
   }) super.ghc-exactprint;
-  ghc-lib = self.ghc-lib_9_2_3_20220709;
-  ghc-lib-parser = self.ghc-lib-parser_9_2_3_20220709;
-  ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_2_1_0;
+  ghc-lib = doDistribute self.ghc-lib_9_2_4_20220729;
+  ghc-lib-parser = doDistribute self.ghc-lib-parser_9_2_4_20220729;
+  ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_2_1_1;
   hackage-security = doJailbreak super.hackage-security;
   hashable = super.hashable_1_4_0_2;
   hashable-time = doJailbreak super.hashable-time;
@@ -113,7 +113,7 @@ self: super: {
   lifted-async = doJailbreak super.lifted-async;
   lukko = doJailbreak super.lukko;
   lzma-conduit = doJailbreak super.lzma-conduit;
-  ormolu = self.ormolu_0_5_0_0;
+  ormolu = self.ormolu_0_5_0_1;
   parallel = doJailbreak super.parallel;
   path = doJailbreak super.path;
   polyparse = overrideCabal (drv: { postPatch = "sed -i -e 's, <0.11, <0.12,' polyparse.cabal"; }) (doJailbreak super.polyparse);
@@ -190,7 +190,9 @@ self: super: {
   implicit-hie-cradle = doJailbreak super.implicit-hie-cradle;
   # 1.3 introduced support for GHC 9.2.x, so when this assert fails, the jailbreak can be removed
   hashtables = assert super.hashtables.version == "1.2.4.2"; doJailbreak super.hashtables;
-  hiedb = doJailbreak super.hiedb;
+
+  # 2022-08-01: Tests are broken on ghc 9.2.4: https://github.com/wz1000/HieDb/issues/46
+  hiedb = doJailbreak (dontCheck super.hiedb);
 
   # 2022-02-05: The following plugins don‘t work yet on ghc9.2.
   # Compare: https://haskell-language-server.readthedocs.io/en/latest/supported-versions.html
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
index 33eacf69ff5..79cb323d1d4 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
@@ -58,16 +58,15 @@ broken-packages:
   - adaptive-containers
   - adaptive-tuple
   - adb
+  - addy
   - adobe-swatch-exchange
   - ADPfusion
   - adp-multi
   - adtrees
   - advent-of-code-ocr
-  - aern2-fun
   - AERN-Basics
   - aeson-applicative
   - aeson-bson
-  - AesonBson
   - aeson-decode
   - aeson-default
   - aeson-deriving
@@ -76,9 +75,7 @@ broken-packages:
   - aeson-flat
   - aeson-flatten
   - aeson-flowtyped
-  - aeson-helper
   - aeson-injector
-  - aeson-iproute
   - aeson-json-ast
   - aeson-lens
   - aeson-match-qq
@@ -87,7 +84,6 @@ broken-packages:
   - aeson-parsec-picky
   - aeson-picker
   - aeson-prefix
-  - aeson-quick
   - aeson-schema
   - aeson-schemas
   - aeson-smart
@@ -95,7 +91,6 @@ broken-packages:
   - aeson-t
   - aeson-toolkit
   - aeson-utils
-  - aeson-via
   - aeson-with
   - affection
   - affine-invariant-ensemble-mcmc
@@ -165,10 +160,9 @@ broken-packages:
   - anydbm
   - Aoide
   - aosd
-  - aos-signature
   - apart
   - api-builder
-  - api-tools
+  - api-rpc-factom
   - apns-http2
   - appc
   - app-lens
@@ -188,7 +182,6 @@ broken-packages:
   - arbor-monad-logger
   - arbor-monad-metric
   - arbor-postgres
-  - arch-hs
   - archiver
   - archlinux
   - archnews
@@ -216,12 +209,12 @@ broken-packages:
   - asap
   - ascii85-conduit
   - ascii-flatten
-  - ascii-numbers
   - ascii-string
   - ascii-vector-avc
   - asil
   - asn1-codec
   - asn1-data
+  - AspectAG
   - assert
   - assert4hs
   - assert4hs-core
@@ -283,7 +276,6 @@ broken-packages:
   - aws-performance-tests
   - aws-route53
   - aws-sdk-text-converter
-  - aws-xray-client
   - axel
   - azubi
   - azure-acs
@@ -298,7 +290,6 @@ broken-packages:
   - Baggins
   - bake
   - Bang
-  - ban-instance
   - banwords
   - barchart
   - barcodes-code128
@@ -316,7 +307,6 @@ broken-packages:
   - base-io-access
   - basen
   - basex-client
-  - basic
   - basic-sop
   - baskell
   - battlenet
@@ -342,7 +332,6 @@ broken-packages:
   - besout
   - bet
   - betacode
-  - betris
   - bgmax
   - bgzf
   - bhoogle
@@ -432,12 +421,11 @@ broken-packages:
   - blaze-textual-native
   - blindpass
   - bliplib
-  - blizzard-html
   - blockchain
-  - blockfrost-api
   - blockhash
   - Blogdown
   - bloomfilter-redis
+  - blosum
   - blubber-server
   - bludigon
   - Blueprint
@@ -525,13 +513,11 @@ broken-packages:
   - cabal2doap
   - cabal2ebuild
   - cabal2ghci
-  - cabal2json
   - cabal-audit
   - cabal-auto-expose
   - cabal-bundle-clib
   - cabal-constraints
   - cabal-db
-  - cabal-debian
   - cabal-dependency-licenses
   - cabal-detailed-quickcheck
   - cabal-dev
@@ -543,7 +529,6 @@ broken-packages:
   - cabalgraph
   - cabal-graphdeps
   - cabal-helper
-  - cabal-hoogle
   - Cabal-ide-backend
   - cabal-info
   - cabal-install-bundle
@@ -588,7 +573,6 @@ broken-packages:
   - canteven-log
   - canteven-parsedate
   - cantor
-  - cantor-pairing
   - capped-list
   - capri
   - caps
@@ -709,10 +693,12 @@ broken-packages:
   - clexer
   - CLI
   - cli-builder
-  - cli-extras
+  - clickhouse-haskell
   - clif
   - clifm
+  - cli-git
   - clingo
+  - cli-nix
   - clippard
   - clipper
   - clisparkline
@@ -735,6 +721,7 @@ broken-packages:
   - cmonad
   - c-mosquitto
   - cmph
+  - CMQ
   - cmt
   - coalpit
   - cobot-tools
@@ -780,7 +767,6 @@ broken-packages:
   - compact-socket
   - compact-string
   - compact-string-fix
-  - compaREST
   - comparse
   - compdata
   - compdoc
@@ -793,11 +779,8 @@ broken-packages:
   - composite-aeson-path
   - composite-cassava
   - composite-dhall
-  - composite-ekg
   - composite-lens-extra
-  - composite-opaleye
   - composition-tree
-  - comprehensions-ghc
   - compressed
   - compression
   - computational-geometry
@@ -844,13 +827,11 @@ broken-packages:
   - console-program
   - const-math-ghc-plugin
   - constrained-categories
-  - constrained-category
   - constrained-dynamic
   - constrained-monads
   - ConstraintKinds
   - constraints-emerge
   - constr-eq
-  - construct
   - constructive-algebra
   - consul-haskell
   - Consumer
@@ -870,7 +851,8 @@ broken-packages:
   - control-monad-failure-mtl
   - Control-Monad-ST2
   - contstuff
-  - copilot-core
+  - copilot-c99
+  - copilot-sbv
   - copr
   - coquina
   - COrdering
@@ -881,14 +863,12 @@ broken-packages:
   - core-haskell
   - corenlp-parser
   - core-telemetry
-  - core-webserver-warp
   - Coroutine
   - coroutine-object
   - CouchDB
   - couchdb-conduit
   - couch-hs
   - counter
-  - country
   - courier
   - court
   - coverage
@@ -898,7 +878,7 @@ broken-packages:
   - cpuid
   - cpuperf
   - cpython
-  - cql
+  - cql-io
   - cqrs-core
   - cr
   - crack
@@ -922,6 +902,7 @@ broken-packages:
   - crunghc
   - crypto-cipher-benchmarks
   - cryptocompare
+  - cryptoconditions
   - cryptoids-types
   - crypto-keys-ssh
   - crypto-multihash
@@ -945,14 +926,13 @@ broken-packages:
   - ctemplate
   - ctkl
   - cuboid
-  - cuckoo
   - cuckoo-filter
   - curl-aeson
   - curl-runnings
   - currency-convert
   - curry-base
-  - currycarbon
   - CurryDB
+  - curryer-rpc
   - curry-frontend
   - curryrs
   - curves
@@ -991,6 +971,7 @@ broken-packages:
   - data-diverse
   - datadog
   - data-easy
+  - data-elevator
   - data-embed
   - data-emoticons
   - data-filepath
@@ -1039,9 +1020,7 @@ broken-packages:
   - DBlimited
   - dbm
   - dbmigrations
-  - dbmigrations-mysql
-  - dbmigrations-postgresql
-  - dbmigrations-sqlite
+  - dbmonitor
   - d-bus
   - DBus
   - dbus-core
@@ -1055,7 +1034,6 @@ broken-packages:
   - dead-code-detection
   - Deadpan-DDP
   - dead-simple-json
-  - debug-me
   - debug-tracy
   - decepticons
   - decimal-literals
@@ -1067,7 +1045,6 @@ broken-packages:
   - deepseq-instances
   - deepseq-magic
   - deepseq-th
-  - deep-transformations
   - definitive-base
   - deka
   - Delta-Lambda
@@ -1079,7 +1056,6 @@ broken-packages:
   - dependent-hashmap
   - dependent-monoidal-map
   - dep-t
-  - dep-t-dynamic
   - deptrack-core
   - derangement
   - derivation-trees
@@ -1104,6 +1080,7 @@ broken-packages:
   - dhall-fly
   - dhall-text
   - dhall-to-cabal
+  - dhcp-lease-parser
   - dhrun
   - dia-base
   - diagrams-boolean
@@ -1119,7 +1096,6 @@ broken-packages:
   - dictionaries
   - dictparser
   - diet
-  - diff
   - diffcabal
   - DifferentialEvolution
   - diff-gestalt
@@ -1136,8 +1112,8 @@ broken-packages:
   - dijkstra-simple
   - DimensionalHash
   - dimensional-tf
-  - dino
   - diophantine
+  - diplomacy
   - direct-binary-files
   - directed-cubical
   - direct-fastcgi
@@ -1171,7 +1147,6 @@ broken-packages:
   - dobutokO-frequency
   - doccheck
   - docidx
-  - docker
   - docker-build-cacher
   - dockercook
   - dockerfile-creator
@@ -1182,7 +1157,7 @@ broken-packages:
   - docvim
   - DOH
   - doi
-  - domain-optics
+  - dom-parser
   - domplate
   - dom-selector
   - do-notation
@@ -1191,6 +1166,7 @@ broken-packages:
   - do-spaces
   - dotfs
   - dot-linker
+  - doublezip
   - doublify-toolkit
   - downhill
   - downloader
@@ -1202,6 +1178,7 @@ broken-packages:
   - dpor
   - dragen
   - drawille
+  - dr-cabal
   - drClickOn
   - dresdner-verkehrsbetriebe
   - DrIFT
@@ -1220,7 +1197,6 @@ broken-packages:
   - dstring
   - DTC
   - dtd-text
-  - dual-game
   - dualizer
   - duckling
   - duet
@@ -1258,16 +1234,14 @@ broken-packages:
   - easytest
   - ebeats
   - ebnf-bff
-  - eccrypto
+  - eccrypto-ed25519-bindings
   - ecma262
-  - ecta
   - ecu
   - eddie
   - ede
   - edenmodules
   - edis
   - EdisonAPI
-  - EdisonCore
   - edit
   - edit-lenses
   - editline
@@ -1302,7 +1276,6 @@ broken-packages:
   - elm-street
   - elm-websocket
   - elocrypt
-  - emacs-module
   - emailaddress
   - email-header
   - email-postmark
@@ -1328,7 +1301,6 @@ broken-packages:
   - enum-text
   - enum-utf8
   - envelope
-  - env-extra
   - env-parser
   - envstatus
   - epanet-haskell
@@ -1416,7 +1388,6 @@ broken-packages:
   - ez-couch
   - Facebook-Password-Hacker-Online-Latest-Version
   - faceted
-  - factor
   - facts
   - fadno-braids
   - fadno-xml
@@ -1435,11 +1406,11 @@ broken-packages:
   - FastPush
   - FastxPipe
   - fathead-util
-  - fb
   - fbmessenger-api
+  - fb-persistent
   - fca
   - fcache
-  - fcf-containers
+  - fcf-composite
   - fcg
   - fckeditor
   - fclabels-monadlib
@@ -1451,12 +1422,12 @@ broken-packages:
   - feed-collect
   - feed-crawl
   - fei-cocoapi
+  - fenfire
   - fernet
   - FerryCore
   - Feval
   - fez-conf
   - ffeed
-  - fficxx
   - ffunctor
   - fgl-extras-decompositions
   - fib
@@ -1467,6 +1438,7 @@ broken-packages:
   - file-command-qq
   - filediff
   - file-embed-poly
+  - file-io
   - file-location
   - FileManip
   - FileManipCompat
@@ -1477,7 +1449,6 @@ broken-packages:
   - filesystem-trees
   - file-templates
   - fillit
-  - Fin
   - final-pretty-printer
   - Finance-Quote-Yahoo
   - find-conduit
@@ -1509,7 +1480,6 @@ broken-packages:
   - flamethrower
   - flamingra
   - flat-maybe
-  - flat-tex
   - flay
   - flexible-time
   - flickr
@@ -1530,7 +1500,6 @@ broken-packages:
   - fmark
   - FModExRaw
   - fn-extra
-  - foldable-ix
   - foldl-incremental
   - foldl-statistics
   - folds-common
@@ -1600,7 +1569,6 @@ broken-packages:
   - funbot-client
   - functional-arrow
   - function-instances-algebra
-  - functor
   - functor-combinators
   - functor-friends
   - functor-infix
@@ -1629,7 +1597,7 @@ broken-packages:
   - gamma
   - Ganymede
   - garepinoh
-  - gargoyle
+  - gargoyle-postgresql-nix
   - gas
   - gather
   - gc-monitoring-wai
@@ -1664,6 +1632,7 @@ broken-packages:
   - generic-storable
   - generic-tree
   - generic-trie
+  - generic-xml
   - generic-xmlpickler
   - genetics
   - genifunctors
@@ -1674,7 +1643,6 @@ broken-packages:
   - gentlemark
   - geocode-google
   - GeocoderOpenCage
-  - geodetics
   - geodetic-types
   - GeoIp
   - geojson-types
@@ -1691,7 +1659,6 @@ broken-packages:
   - ghc-core-smallstep
   - ghc-datasize
   - ghc-debug-convention
-  - ghc-dump-core
   - ghc-dump-tree
   - ghc-dup
   - ghc-events-analyze
@@ -1717,7 +1684,6 @@ broken-packages:
   - ghc-pkg-lib
   - ghc-plugin-non-empty
   - ghc-plugs-out
-  - ghc-prof
   - ghc-proofs
   - ghc-simple
   - ghc-srcspan-plugin
@@ -1742,8 +1708,8 @@ broken-packages:
   - ginger
   - gingersnap
   - ginsu
+  - gi-pangocairo
   - giphy-api
-  - gi-rsvg
   - gist
   - GiST
   - git
@@ -1834,8 +1800,8 @@ broken-packages:
   - graph-matchings
   - graphmod-plugin
   - graphql-api
-  - graphql-parser
   - graphql-spice
+  - graphql-utils
   - graphql-w-persistent
   - graph-rewriting
   - graph-serialize
@@ -1861,7 +1827,6 @@ broken-packages:
   - group-theory
   - group-with
   - growler
-  - grow-vector
   - grpc-api-etcd
   - gsl-random
   - gstreamer
@@ -1911,6 +1876,7 @@ broken-packages:
   - hadoop-formats
   - hadoop-rpc
   - hafar
+  - Haggressive
   - hahp
   - haiji
   - hail
@@ -1948,7 +1914,6 @@ broken-packages:
   - HandlerSocketClient
   - handsy
   - Hangman
-  - HangmanAscii
   - hannahci
   - hans
   - hanspell
@@ -1962,7 +1927,6 @@ broken-packages:
   - happstack-hamlet
   - happstack-heist
   - happstack-hstringtemplate
-  - happstack-lite
   - happstack-monad-peel
   - happstack-server-tls-cryptonite
   - happstack-util
@@ -1977,13 +1941,11 @@ broken-packages:
   - HARM
   - HarmTrace-Base
   - haroonga
-  - harp
   - harpy
   - harvest-api
   - has
   - HasCacBDD
   - hascar
-  - hascard
   - hascas
   - hash
   - hashable-extras
@@ -2033,7 +1995,6 @@ broken-packages:
   - haskell-mpfr
   - haskell-names
   - haskell-neo4j-client
-  - HaskellNet
   - HaskellNN
   - Haskelloids
   - haskell-openflow
@@ -2061,13 +2022,13 @@ broken-packages:
   - haskell-type-exts
   - haskell-typescript
   - haskell-tyrant
-  - haskell-xmpp
   - haskelzinc
   - haskeme
   - haskey
   - haskheap
   - haskhol-core
   - haskmon
+  - haskoin
   - haskoin-core
   - haskoin-util
   - haskore
@@ -2089,11 +2050,9 @@ broken-packages:
   - hasql-resource-pool
   - hasql-simple
   - hasql-streams-example
-  - hasql-url
   - hastache
   - haste
   - haste-prim
-  - hasura-ekg-json
   - hat
   - hatex-guide
   - hats
@@ -2102,7 +2061,7 @@ broken-packages:
   - haven
   - haverer
   - hax
-  - haxl
+  - haxl-facebook
   - haxparse
   - haxr-th
   - hayland
@@ -2162,7 +2121,6 @@ broken-packages:
   - hein
   - heist-async
   - heist-emanote
-  - helic
   - helisp
   - helix
   - hell
@@ -2215,7 +2173,6 @@ broken-packages:
   - hgeometry-ipe
   - hgettext
   - hgis
-  - hgmp
   - hgom
   - hgopher
   - h-gpgme
@@ -2358,7 +2315,6 @@ broken-packages:
   - hpasteit
   - HPath
   - hpc-coveralls
-  - hpc-lcov
   - hpg
   - HPi
   - hpio
@@ -2373,13 +2329,14 @@ broken-packages:
   - hpyrg
   - hq
   - HQu
-  - hquantlib-time
+  - hquantlib
   - hquery
   - hR
   - hreq-core
   - h-reversi
   - hricket
   - Hricket
+  - HROOT-core
   - hruby
   - hs2bf
   - hs2ps
@@ -2456,11 +2413,11 @@ broken-packages:
   - hsns
   - hsntp
   - hs-openmoji-data
-  - hs-opentelemetry-api
   - hsoptions
   - hsoz
   - hsparql
   - hs-pattrans
+  - hsp-cgi
   - hspear
   - hspec2
   - hspec-expectations-match
@@ -2504,7 +2461,6 @@ broken-packages:
   - hs-vcard
   - hs-watchman
   - hsx
-  - hsx2hs
   - hsXenCtrl
   - hsyscall
   - hsyslog-tcp
@@ -2568,24 +2524,21 @@ broken-packages:
   - hunit-rematch
   - hunspell-hs
   - hup
+  - hurl
   - hurriyet
   - husky
   - hutton
   - huttons-razor
   - hVOIDP
-  - hw-aeson
   - hwall-auth-iitk
   - hw-ci-assist
-  - hw-conduit
   - hweblib
-  - hw-fingertree-strict
   - hwhile
+  - hw-json-demo
   - hw-lazy
-  - hw-mquery
   - hworker
   - hw-playground-linear
   - hwsl2
-  - hw-streams
   - hx
   - HXQ
   - hxt-cache
@@ -2613,6 +2566,7 @@ broken-packages:
   - iban
   - ib-api
   - ical
+  - icepeak
   - icfpc2020-galaxy
   - IcoGrid
   - iconv-typed
@@ -2638,6 +2592,8 @@ broken-packages:
   - illuminate
   - imagemagick
   - imagepaste
+  - imapget
+  - imgur
   - imj-prelude
   - immortal-worker
   - imperative-edsl
@@ -2655,6 +2611,7 @@ broken-packages:
   - indexed-do-notation
   - indextype
   - indices
+  - infernal
   - infer-upstream
   - inf-interval
   - infix
@@ -2671,6 +2628,7 @@ broken-packages:
   - instana-haskell-trace-sdk
   - instance-map
   - instant-generics
+  - instapaper-sender
   - instinct
   - intcode
   - integer-pure
@@ -2688,12 +2646,9 @@ broken-packages:
   - interpolator
   - interruptible
   - interval
-  - interval-algebra
-  - interval-patterns
   - interval-tree-clock
   - IntFormats
   - int-multimap
-  - intricacy
   - intrinsic-superclasses
   - introduction
   - intro-prelude
@@ -2708,7 +2663,6 @@ broken-packages:
   - iostring
   - iothread
   - iotransaction
-  - ip
   - ip2location
   - ip2proxy
   - ipa
@@ -2721,6 +2675,7 @@ broken-packages:
   - irc-dcc
   - irc-fun-types
   - ireal
+  - iri
   - iridium
   - iron-mq
   - irt
@@ -2739,7 +2694,6 @@ broken-packages:
   - ivory
   - ixdopp
   - ixmonad
-  - ixset-typed
   - ixshader
   - j
   - jack-bindings
@@ -2770,12 +2724,8 @@ broken-packages:
   - joinlist
   - joint
   - jonathanscard
-  - jordan
   - jort
-  - jose-jwt
-  - joy-rewrite
   - jpeg
-  - jsaddle-clib
   - jsaddle-wkwebview
   - js-good-parts
   - json2
@@ -2798,14 +2748,12 @@ broken-packages:
   - json-python
   - json-qq
   - jsonresume
-  - json-rpc
   - json-rpc-generic
   - json-rpc-server
   - jsonrpc-tinyclient
   - json-schema
   - jsonschema-gen
   - jsonsql
-  - json-stream
   - json-syntax
   - json-tools
   - json-tracer
@@ -2836,6 +2784,7 @@ broken-packages:
   - katip-elasticsearch
   - katip-kafka
   - katip-logzio
+  - katip-raven
   - katip-scalyr-scribe
   - katip-syslog
   - katt
@@ -2843,13 +2792,12 @@ broken-packages:
   - kawaii
   - Kawaii-Parser
   - kawhi
-  - kazura-queue
   - kdesrc-build-extra
-  - kdt
   - kd-tree
   - keccak
   - keera-hails-reactivevalues
-  - keid-core
+  - keid-render-basic
+  - keid-ui-dearimgui
   - keiretsu
   - kempe
   - kerry
@@ -2858,6 +2806,7 @@ broken-packages:
   - kewar
   - keycloak-hs
   - keyed
+  - keystore
   - khph
   - kickass-torrents-dump-parser
   - kickchan
@@ -2885,7 +2834,6 @@ broken-packages:
   - kure
   - KyotoCabinet
   - labeled-graph
-  - lackey
   - lagrangian
   - lambda2js
   - lambdaBase
@@ -2942,7 +2890,6 @@ broken-packages:
   - latex-formulae-image
   - latex-svg-image
   - LATS
-  - launchdarkly-server-sdk
   - launchpad-control
   - lawless-concurrent-machines
   - layers
@@ -2987,7 +2934,6 @@ broken-packages:
   - less-arbitrary
   - Level0
   - level-monad
-  - levenshtein
   - levmar
   - lfst
   - lhc
@@ -3000,14 +2946,13 @@ broken-packages:
   - libhbb
   - libinfluxdb
   - libjenkins
-  - libjwt-typed
   - libltdl
   - liboath-hs
   - liboleg
   - libpafe
   - libpq
   - librandomorg
-  - libsecp256k1
+  - librarian
   - libsystemd-daemon
   - libsystemd-journal
   - libtagc
@@ -3059,17 +3004,15 @@ broken-packages:
   - list-mux
   - list-prompt
   - list-remote-forwards
-  - lists-flines
-  - ListT
   - list-t-http-client
   - list-tries
   - list-t-text
   - list-zip-def
   - list-zipper
+  - liszt
   - lit
   - literals
   - LiterateMarkdown
-  - little-logger
   - ll-picosat
   - llsd
   - llvm-base
@@ -3080,13 +3023,13 @@ broken-packages:
   - llvm-pretty
   - lmdb-high-level
   - lmonad
+  - load-balancing
   - load-font
   - local-address
   - located
   - located-monad-logger
   - loch
   - log2json
-  - log-base
   - logentries
   - logger
   - logging-effect-extra-file
@@ -3104,7 +3047,6 @@ broken-packages:
   - lookup-tables
   - loopbreaker
   - loop-dsl
-  - looper
   - loops
   - loop-while
   - loopy
@@ -3119,6 +3061,7 @@ broken-packages:
   - lscabal
   - L-seed
   - lsfrom
+  - lti13
   - ltiv1p1
   - ltk
   - LTS
@@ -3166,10 +3109,8 @@ broken-packages:
   - make-hard-links
   - make-monofoldable-foldable
   - mallard
-  - managed-functions
   - mandulia
   - mangopay
-  - Map
   - mapalgebra
   - map-classes
   - map-exts
@@ -3227,7 +3168,6 @@ broken-packages:
   - medium-sdk-haskell
   - meep
   - megalisp
-  - melf
   - mellon-core
   - melody
   - membrain
@@ -3241,9 +3181,8 @@ broken-packages:
   - memo-sqlite
   - menoh
   - menshen
-  - mergeful
+  - mergeful-persistent
   - mergeless-persistent
-  - merkle-tree
   - messagepack-rpc
   - messente
   - metadata
@@ -3260,7 +3199,6 @@ broken-packages:
   - MHask
   - mi
   - miconix-test
-  - microaeson
   - microgroove
   - microlens-each
   - micro-recursion-schemes
@@ -3279,7 +3217,6 @@ broken-packages:
   - miniforth
   - minilens
   - minilight
-  - minio-hs
   - minions
   - miniplex
   - ministg
@@ -3297,7 +3234,6 @@ broken-packages:
   - mltool
   - ml-w
   - mm2
-  - mmark-ext
   - mmsyn2
   - mmsyn3
   - mmtf
@@ -3305,7 +3241,6 @@ broken-packages:
   - Mobile-Legends-Hack-Cheats
   - mockazo
   - mock-httpd
-  - mock-time
   - modelicaparser
   - modular-prelude
   - module-management
@@ -3372,7 +3307,6 @@ broken-packages:
   - monopati
   - monus
   - monzo
-  - moo-nad
   - morfette
   - morfeusz
   - morloc
@@ -3400,6 +3334,7 @@ broken-packages:
   - msh
   - msi-kb-backlit
   - MTGBuilder
+  - mtgoxapi
   - mtl-c
   - mtl-evil-instances
   - mtl-extras
@@ -3449,7 +3384,6 @@ broken-packages:
   - mzv
   - n2o-protocols
   - nagios-plugin-ekg
-  - namecoin-update
   - named-lock
   - named-servant
   - named-sop
@@ -3496,7 +3430,6 @@ broken-packages:
   - netclock
   - netcore
   - netease-fm
-  - net-mqtt
   - netrium
   - NetSNMP
   - netspec
@@ -3546,12 +3479,9 @@ broken-packages:
   - nice-html
   - nitro
   - nix-delegate
-  - nix-deploy
   - nix-eval
   - nix-freeze-tree
   - nixfromnpm
-  - nix-graph
-  - nix-linter
   - nixpkgs-update
   - nix-tools
   - nlp-scores
@@ -3575,7 +3505,6 @@ broken-packages:
   - not-gloss-examples
   - NoTrace
   - notzero
-  - np-extras
   - np-linear
   - nptools
   - nri-prelude
@@ -3606,7 +3535,6 @@ broken-packages:
   - oauthenticated
   - Object
   - ObjectIO
-  - oblivious-transfer
   - ocaml-export
   - Octree
   - OddWord
@@ -3640,7 +3568,6 @@ broken-packages:
   - open-adt
   - OpenAFP
   - openai-servant
-  - openapi3-code-generator
   - openapi-petstore
   - openapi-typed
   - opench-meteo
@@ -3669,7 +3596,6 @@ broken-packages:
   - open-typerep
   - OpenVGRaw
   - openweathermap
-  - open-witness
   - Operads
   - operate-do
   - operational-extra
@@ -3691,14 +3617,11 @@ broken-packages:
   - ordrea
   - oref
   - organize-imports
-  - org-mode
   - orgmode
   - origami
   - orion-hs
   - orizentic
   - OrPatterns
-  - ory-hydra-client
-  - ory-kratos
   - osc
   - oscpacking
   - oset
@@ -3738,7 +3661,6 @@ broken-packages:
   - pandoc-filter-indent
   - pandoc-include
   - pandoc-lens
-  - pandoc-link-context
   - pandoc-markdown-ghci-filter
   - pandoc-placetable
   - pandoc-plantuml-diagrams
@@ -3748,6 +3670,7 @@ broken-packages:
   - pandora
   - pang-a-lambda
   - pangraph
+  - pan-os-syslog
   - panpipe
   - pansite
   - pantry-tmp
@@ -3793,6 +3716,7 @@ broken-packages:
   - parser-unbiased-choice-monad-embedding
   - parsimony
   - parsley-core
+  - partage
   - partial-records
   - partial-semigroup-hedgehog
   - partly
@@ -3809,7 +3733,6 @@ broken-packages:
   - Pathfinder
   - pathfindingcore
   - PathTree
-  - patrol
   - patronscraper
   - paypal-adaptive-hoops
   - paypal-api
@@ -3819,7 +3742,7 @@ broken-packages:
   - PBKDF2
   - pb-next
   - pcd-loader
-  - pcf-font
+  - pcf-font-embed
   - pcgen
   - PCLT
   - pcre2
@@ -3832,7 +3755,6 @@ broken-packages:
   - pdynload
   - PeanoWitnesses
   - pecoff
-  - pedersen-commitment
   - pedestrian-dag
   - peg
   - peggy
@@ -3862,7 +3784,6 @@ broken-packages:
   - persistent-ratelimit
   - persistent-stm
   - persistent-template-classy
-  - persistent-typed-db
   - persistent-zookeeper
   - persona
   - pesca
@@ -3883,7 +3804,6 @@ broken-packages:
   - phone-numbers
   - phone-push
   - phonetic-languages-constaints
-  - phonetic-languages-rhythmicity
   - phonetic-languages-vector
   - phraskell
   - Phsu
@@ -3899,7 +3819,6 @@ broken-packages:
   - pi-forall
   - pig
   - pi-hoole
-  - pinboard
   - pinch-gen
   - pinchot
   - pine
@@ -3917,11 +3836,12 @@ broken-packages:
   - pipes-interleave
   - pipes-io
   - pipes-network
+  - pipes-protolude
   - pipes-rt
   - pipes-s3
   - pipes-shell
   - pipes-sqlite-simple
-  - pipes-text
+  - pipes-transduce
   - pipes-vector
   - pipes-zeromq4
   - pipes-zlib
@@ -3931,7 +3851,6 @@ broken-packages:
   - pixela
   - pixelated-avatar-generator
   - pixel-printer
-  - pixiv
   - pkcs10
   - pkcs7
   - pkggraph
@@ -3946,7 +3865,6 @@ broken-packages:
   - platinum-parsing
   - PlayingCards
   - playlists
-  - plex
   - plist
   - plist-buddy
   - plivo
@@ -3981,19 +3899,15 @@ broken-packages:
   - poly-control
   - polydata-core
   - polynom
-  - polynomial-algebra
   - polysemy-check
-  - polysemy-http
   - polysemy-keyed-state
   - polysemy-kvstore-jsonfile
   - polysemy-managed
   - polysemy-mocks
   - polysemy-readline
-  - polysemy-req
   - polysemy-scoped-fs
   - polysemy-zoo
   - polytypeable
-  - polyvariadic
   - pomaps
   - pomohoro
   - ponder
@@ -4049,7 +3963,6 @@ broken-packages:
   - precis
   - precursor
   - predicate-class
-  - predicate-transformers
   - predicate-typed
   - prednote
   - pregame
@@ -4074,7 +3987,6 @@ broken-packages:
   - prim-instances
   - PrimitiveArray-Pretty
   - primitive-atomic
-  - primitive-checked
   - primitive-containers
   - primitive-convenience
   - primitive-foreign
@@ -4099,9 +4011,9 @@ broken-packages:
   - process-leksah
   - process-listlike
   - processmemory
-  - procex
   - procrastinating-variable
   - procstat
+  - product-isomorphic
   - prof2pretty
   - prof-flamegraph
   - profunctor-monad
@@ -4116,6 +4028,7 @@ broken-packages:
   - promise
   - pronounce
   - proof-combinators
+  - PropaFP
   - Proper
   - properties
   - property-list
@@ -4124,9 +4037,7 @@ broken-packages:
   - protocol
   - protocol-buffers-fork
   - proto-lens-combinators
-  - proto-lens-jsonpb
   - protolude-lifted
-  - proton
   - proton-haskell
   - prototype
   - prove-everywhere-server
@@ -4135,7 +4046,6 @@ broken-packages:
   - proxy-mapping
   - psc-ide
   - pseudo-trie
-  - PSQueue
   - PTQ
   - publicsuffix
   - publicsuffixlistcreate
@@ -4147,9 +4057,7 @@ broken-packages:
   - pugs-HsSyck
   - PUH-Project
   - Pup-Events-Server
-  - purebred-email
   - pure-io
-  - purenix
   - pure-priority-queue
   - purescript-tsd-gen
   - pure-zlib
@@ -4175,6 +4083,7 @@ broken-packages:
   - QLearn
   - qlinear
   - qnap-decrypt
+  - qr-imager
   - qsem
   - qt
   - QuadEdge
@@ -4214,7 +4123,6 @@ broken-packages:
   - radium
   - radium-formula-parser
   - radix
-  - radixtree
   - rados-haskell
   - raft
   - rakhana
@@ -4233,15 +4141,15 @@ broken-packages:
   - rand-vars
   - Range
   - rangemin
+  - rangeset
   - rank1dynamic
   - rank-product
-  - rapid
   - rapid-term
   - Rasenschach
   - rational-list
   - rattle
   - rattletrap
-  - raven-haskell
+  - raven-haskell-scotty
   - raz
   - rbst
   - rclient
@@ -4297,14 +4205,12 @@ broken-packages:
   - reflex-dom-helpers
   - reflex-dom-retractable
   - reflex-dom-svg
-  - reflex-dom-th
   - reflex-external-ref
   - reflex-fsnotify
   - reflex-gadt-api
   - reflex-gi-gtk
   - reflex-gloss
   - reflex-jsx
-  - reflex-libtelnet
   - reflex-orphans
   - reflex-sdl2
   - reflex-test-host
@@ -4362,12 +4268,12 @@ broken-packages:
   - replica
   - ReplicateEffects
   - repl-toolkit
+  - repo-based-blog
   - representable-functors
   - reproject
   - req-conduit
   - request
   - request-monad
-  - requirements
   - req-url-extra
   - reservoir
   - resolve
@@ -4391,6 +4297,7 @@ broken-packages:
   - rhbzquery
   - riak
   - riak-protobuf-lens
+  - rib
   - ribbit
   - RichConditional
   - ridley
@@ -4405,6 +4312,7 @@ broken-packages:
   - rivers
   - rivet-migration
   - rivet-simple-deploy
+  - RJson
   - Rlang-QQ
   - rlglue
   - RLP
@@ -4427,7 +4335,6 @@ broken-packages:
   - rounding
   - roundtrip-aeson
   - rowrecord
-  - row-types-aeson
   - R-pandoc
   - rpc-framework
   - rpm
@@ -4471,7 +4378,6 @@ broken-packages:
   - salvia-protocol
   - sandlib
   - sandman
-  - sandwich-hedgehog
   - sarasvati
   - sat
   - satchmo
@@ -4568,10 +4474,9 @@ broken-packages:
   - servant-generic
   - servant-github
   - servant-github-webhook
+  - servant-haxl-client
   - servant-hmac-auth
   - servant-htmx
-  - servant-iCalendar
-  - servant-jsonrpc
   - servant-kotlin
   - servant-mock
   - servant-namedargs
@@ -4596,14 +4501,11 @@ broken-packages:
   - servant-zeppelin
   - server-generic
   - serversession-backend-persistent
-  - serversession-backend-redis
-  - serversession-frontend-yesod
   - services
   - ses-html-snaplet
   - SessionLogger
   - sessions
   - sessiontypes
-  - Set
   - setgame
   - set-of
   - setoid
@@ -4649,11 +4551,8 @@ broken-packages:
   - shorten-strings
   - short-vec
   - show-prettyprint
-  - Shpadoinkle-backend-pardiff
   - Shpadoinkle-backend-snabbdom
-  - Shpadoinkle-backend-static
   - Shpadoinkle-console
-  - Shpadoinkle-html
   - Shpadoinkle-isreal
   - shwifty
   - sifflet
@@ -4687,7 +4586,6 @@ broken-packages:
   - simpleprelude
   - simple-rope
   - simple-server
-  - SimpleServer
   - simplesmtpclient
   - simple-sql-parser
   - simple-stacked-vm
@@ -4697,7 +4595,6 @@ broken-packages:
   - simple-templates
   - simple-ui
   - simple-units
-  - simple-vec3
   - simplexmq
   - simple-zipper
   - simplistic-generics
@@ -4705,10 +4602,10 @@ broken-packages:
   - singleton-typelits
   - single-tuple
   - singnal
+  - singular-factory
   - sink
   - sitepipe
   - sixfiguregroup
-  - sized
   - sized-grid
   - sized-types
   - sized-vector
@@ -4720,7 +4617,7 @@ broken-packages:
   - skemmtun
   - skulk
   - skylighting-extensions
-  - skylighting-lucid
+  - skylighting-format-ansi
   - skype4hs
   - slack
   - slack-api
@@ -4746,9 +4643,6 @@ broken-packages:
   - smartcheck
   - smartconstructor
   - smartGroup
-  - smash-aeson
-  - smash-lens
-  - smash-optics
   - sme
   - smerdyakov
   - smiles
@@ -4779,7 +4673,6 @@ broken-packages:
   - snaplet-influxdb
   - snaplet-mandrill
   - snaplet-mongodb-minimalistic
-  - snaplet-persistent
   - snaplet-postgresql-simple
   - snaplet-purescript
   - snaplet-redis
@@ -4787,6 +4680,7 @@ broken-packages:
   - snaplet-scoped-session
   - snaplet-ses-html
   - snaplet-sqlite-simple
+  - snaplet-typed-sessions
   - snap-predicates
   - snappy-conduit
   - snap-routes
@@ -4857,6 +4751,7 @@ broken-packages:
   - sql-simple
   - sqlvalue-list
   - srcinst
+  - sr-extra
   - sscan
   - ssh
   - ssh-tunnel
@@ -4909,7 +4804,6 @@ broken-packages:
   - stemmer
   - stemmer-german
   - stepwise
-  - stern-brocot
   - stgi
   - STL
   - stm-chunked-queues
@@ -4918,7 +4812,6 @@ broken-packages:
   - stm-stats
   - stochastic
   - Stomp
-  - stooq-api
   - storable
   - storable-static-array
   - stp
@@ -4927,7 +4820,6 @@ broken-packages:
   - Strafunski-StrategyLib
   - StrappedTemplates
   - StrategyLib
-  - stratosphere
   - stratux-types
   - stream
   - streamdeck
@@ -4945,6 +4837,7 @@ broken-packages:
   - streaming-png
   - streaming-postgresql-simple
   - streaming-sort
+  - streaming-utils
   - streamly-binary
   - streamly-cassava
   - streamly-examples
@@ -4964,7 +4857,6 @@ broken-packages:
   - string-quote
   - stringtable-atom
   - stripe
-  - stripeapi
   - stripe-core
   - stripe-servant
   - strongweak
@@ -4974,7 +4866,7 @@ broken-packages:
   - stunclient
   - stylish-cabal
   - stylized
-  - subG
+  - subG-instances
   - subleq-toolchain
   - sublists
   - subsample
@@ -4992,7 +4884,6 @@ broken-packages:
   - superbubbles
   - superevent
   - supermonad
-  - supernova
   - supero
   - superrecord
   - super-user-spark
@@ -5002,6 +4893,7 @@ broken-packages:
   - surjective
   - sv2v
   - sv-core
+  - SVD2HS
   - svfactor
   - svg-builder-fork
   - svgutils
@@ -5019,12 +4911,8 @@ broken-packages:
   - SWMMoutGetMB
   - sws
   - syb-extras
-  - syb-with-class
-  - sydtest-hedis
-  - sydtest-mongo
-  - sydtest-persistent-postgresql
-  - sydtest-rabbitmq
-  - sydtest-yesod
+  - SybWidget
+  - syb-with-class-instances-text
   - syfco
   - sym
   - symantic
@@ -5078,7 +4966,6 @@ broken-packages:
   - takahashi
   - Takusen
   - takusen-oracle
-  - talash
   - tamarin-prover-utils
   - Tape
   - tapioca
@@ -5125,7 +5012,6 @@ broken-packages:
   - tensorflow
   - tensorflow-opgen
   - tensor-safe
-  - termbox-banana
   - termbox-bindings
   - termination-combinators
   - termplot
@@ -5155,8 +5041,8 @@ broken-packages:
   - text-ascii
   - text-builder-linear
   - text-containers
-  - text-format
   - text-format-heavy
+  - text-generic-pretty
   - text-icu-normalized
   - text-lens
   - text-lips
@@ -5178,10 +5064,8 @@ broken-packages:
   - tga
   - thank-you-stars
   - th-build
-  - th-data-compat
   - th-dict-discovery
   - THEff
-  - themoviedb
   - thentos-cookie-session
   - Theora
   - theoremquest
@@ -5283,7 +5167,6 @@ broken-packages:
   - tracetree
   - tracked-files
   - tracker
-  - trackit
   - traction
   - tracy
   - traildb
@@ -5297,7 +5180,6 @@ broken-packages:
   - transient
   - translatable-intset
   - translate
-  - traversal-template
   - travis
   - travis-meta-yaml
   - trawl
@@ -5318,6 +5200,7 @@ broken-packages:
   - tripLL
   - trivia
   - tropical
+  - tropical-geometry
   - true-name
   - trust-chain
   - tsession
@@ -5327,6 +5210,7 @@ broken-packages:
   - tsuntsun
   - tsvsql
   - ttask
+  - ttn-client
   - tttool
   - tubes
   - tuntap
@@ -5339,13 +5223,13 @@ broken-packages:
   - turing-machines
   - turing-music
   - turtle-options
-  - twain
   - tweak
   - twentefp-websockets
   - twfy-api-client
   - twilio
   - twiml
   - twine
+  - twirp
   - twisty
   - twitter
   - twitter-feed
@@ -5370,13 +5254,11 @@ broken-packages:
   - type-indexed-queues
   - type-int
   - type-interpreter
-  - typelet
   - type-level-bst
   - type-level-natural-number-induction
   - type-level-natural-number-operations
   - typelevel-tensor
   - type-list
-  - TypeNat
   - type-of-html-static
   - typeparams
   - type-prelude
@@ -5391,7 +5273,6 @@ broken-packages:
   - uAgda
   - uberlast
   - ucam-webauth-types
-  - ucd
   - uconv
   - udbus
   - udp-conduit
@@ -5400,10 +5281,7 @@ broken-packages:
   - uhexdump
   - uhttpc
   - ui-command
-  - ukrainian-phonetics-basic-array
-  - ulid
   - unamb-custom
-  - unbeliever
   - unbounded-delays-units
   - unboxed-containers
   - unboxed-references
@@ -5422,7 +5300,6 @@ broken-packages:
   - uniqueness-periods-general
   - uniqueness-periods-vector
   - uniqueness-periods-vector-common
-  - uniqueness-periods-vector-stats
   - units-attoparsec
   - unittyped
   - unitym-yesod
@@ -5443,7 +5320,6 @@ broken-packages:
   - unordered-intmap
   - unpacked-either
   - unpacked-maybe
-  - unpacked-maybe-numeric
   - unpack-funcs
   - unroll-ghc-plugin
   - unsafely
@@ -5472,7 +5348,6 @@ broken-packages:
   - useragents
   - users-persistent
   - utc
-  - utf
   - utf8-conversions
   - utf8-prelude
   - utf8-validator
@@ -5486,7 +5361,6 @@ broken-packages:
   - uu-cco
   - uuid-aeson
   - uuid-bytes
-  - uuid-orphans
   - uvector
   - uxadt
   - vabal-lib
@@ -5505,7 +5379,6 @@ broken-packages:
   - variadic
   - variation
   - vaultaire-common
-  - vaultenv
   - vault-tool
   - vcache
   - vcatt
@@ -5543,6 +5416,7 @@ broken-packages:
   - vhdl
   - vicinity
   - ViennaRNA-extras
+  - viewprof
   - views
   - vimus
   - vintage-basic
@@ -5559,7 +5433,6 @@ broken-packages:
   - VKHS
   - vowpal-utils
   - voyeur
-  - vpq
   - VRML
   - vte
   - vtegtk3
@@ -5627,7 +5500,6 @@ broken-packages:
   - webapp
   - webauthn
   - WebBits
-  - webby
   - webcloud
   - webcrank
   - webcrank-dispatch
@@ -5638,7 +5510,6 @@ broken-packages:
   - WeberLogic
   - webex-teams-pipes
   - webfinger-client
-  - web-inv-route
   - webkitgtk3
   - webkit-javascriptcore
   - webmention
@@ -5647,7 +5518,6 @@ broken-packages:
   - web-rep
   - Webrexp
   - web-routes-quasi
-  - web-routes-th
   - web-routes-transformers
   - webshow
   - websockets-rpc
@@ -5671,7 +5541,7 @@ broken-packages:
   - windns
   - windowslive
   - winerror
-  - winery
+  - wireguard-hs
   - wires
   - wiring
   - witness
@@ -5699,6 +5569,7 @@ broken-packages:
   - workflow-windows
   - work-time
   - wp-archivebot
+  - wreq-helper
   - wreq-patchable
   - wreq-sb
   - writer-cps-lens
@@ -5739,7 +5610,6 @@ broken-packages:
   - xml-conduit-selectors
   - xml-html-conduit-lens
   - XmlHtmlWriter
-  - xml-lens
   - xml-parsec
   - xml-prettify
   - xml-query-xml-types
@@ -5790,7 +5660,6 @@ broken-packages:
   - yampa-glut
   - yampa-sdl2
   - YampaSynth
-  - yampa-test
   - yandex-translate
   - yaop
   - yapb
@@ -5809,6 +5678,7 @@ broken-packages:
   - yesod-auth-bcrypt
   - yesod-auth-bcryptdb
   - yesod-auth-deskcom
+  - yesod-auth-fb
   - yesod-auth-hmac-keccak
   - yesod-auth-kerberos
   - yesod-auth-ldap-mediocre
@@ -5819,8 +5689,10 @@ broken-packages:
   - yesod-auth-smbclient
   - yesod-auth-zendesk
   - yesod-bootstrap
+  - yesod-comments
   - yesod-content-pdf
   - yesod-crud
+  - yesod-crud-persist
   - yesod-csp
   - yesod-datatables
   - yesod-dsl
@@ -5830,11 +5702,11 @@ broken-packages:
   - yesod-form-richtext
   - yesod-gitrev
   - yesod-goodies
+  - yesod-ip
   - yesod-job-queue
   - yesod-katip
   - yesod-links
   - yesod-lucid
-  - yesod-markdown
   - yesod-paginate
   - yesod-pagination
   - yesod-pnotify
@@ -5860,12 +5732,12 @@ broken-packages:
   - yi-core
   - yoda
   - Yogurt
-  - yst
   - yu-core
   - yuiGrid
   - yu-tool
   - yxdb-utils
   - z3-encoding
+  - z85
   - zabt
   - zampolit
   - Z-Data
@@ -5897,8 +5769,7 @@ broken-packages:
   - zsh-battery
   - zsyntax
   - ztar
-  - zuul
   - Zwaluw
-  - zxcvbn-hs
+  - zxcvbn-dvorak
   - zydiskell
   - zyre2
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
index 3fefcc56b46..b0819a649e8 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
@@ -446,22 +446,17 @@ unsupported-platforms:
   grid-proto:                                   [ platforms.darwin ]
   gtk-sni-tray:                                 [ platforms.darwin ]
   haskell-snake:                                [ platforms.darwin ]
+  hb3sum:                                       [ aarch64-linux ] # depends on blake3, which is not supported on aarch64-linux
   hcwiid:                                       [ platforms.darwin ]
   HDRUtils:                                     [ platforms.darwin ]
   hidapi:                                       [ platforms.darwin ]
   hinotify-bytestring:                          [ platforms.darwin ]
   honk:                                         [ platforms.darwin ]
-  HQu:                                          [ aarch64-linux, armv7l-linux ] # unsupported by vendored C++ library, TODO: explicitly list supported platforms
   HSoM:                                         [ platforms.darwin ]
   iwlib:                                        [ platforms.darwin ]
   Jazzkell:                                     [ platforms.darwin ] # depends on Euterpea
   jsaddle-hello:                                [ platforms.darwin ] # depends on jsaddle-webkit2gtk
   jsaddle-webkit2gtk:                           [ platforms.darwin ]
-  keid-core:                                    [ aarch64-linux ]
-  keid-geometry:                                [ aarch64-linux ]
-  keid-render-basic:                            [ aarch64-linux ]
-  keid-sound-openal:                            [ aarch64-linux ]
-  keid-ui-dearimgui:                            [ aarch64-linux ]
   Kulitta:                                      [ platforms.darwin ] # depends on Euterpea
   LambdaHack:                                   [ platforms.darwin ]
   large-hashable:                               [ aarch64-linux ] # https://github.com/factisresearch/large-hashable/issues/17
@@ -485,8 +480,6 @@ unsupported-platforms:
   oculus:                                       [ platforms.darwin ]
   pam:                                          [ platforms.darwin ]
   parport:                                      [ platforms.darwin ]
-  password:                                     [ aarch64-linux, armv7l-linux ] # uses scrypt, which requries x86
-  password-instances:                           [ aarch64-linux, armv7l-linux ] # uses scrypt, which requries x86
   persist-state:                                [ aarch64-linux, armv7l-linux ] # https://github.com/minad/persist-state/blob/6fd68c0b8b93dec78218f6d5a1f4fa06ced4e896/src/Data/PersistState.hs#L122-L128
   piyo:                                         [ platforms.darwin ]
   PortMidi-simple:                              [ platforms.darwin ]
@@ -499,8 +492,6 @@ unsupported-platforms:
   reflex-localize-dom:                          [ platforms.darwin, aarch64-linux ]
   rtlsdr:                                       [ platforms.darwin ]
   rubberband:                                   [ platforms.darwin ]
-  scat:                                         [ aarch64-linux, armv7l-linux ] # uses scrypt, which requries x86
-  scrypt:                                       [ aarch64-linux, armv7l-linux ] # https://github.com/informatikr/scrypt/issues/8
   sdl2-mixer:                                   [ platforms.darwin ]
   sdl2-ttf:                                     [ platforms.darwin ]
   sensei:                                       [ platforms.darwin ]
@@ -545,8 +536,16 @@ supported-platforms:
   hpapi:                                        [ platforms.linux ] # limited by pkgs.papi
   hsignal:                                      [ platforms.x86 ] # -msse2
   HFuse:                                        [ platforms.linux ]
+  HQu:                                          [ platforms.x86 ] # vendored C++ library needs i686/x86_64
   hw-prim-bits:                                 [ platforms.x86 ] # x86 assembler
   inline-asm:                                   [ platforms.x86 ] # x86 assembler
+  keid-core:                                    [ x86_64-linux ] # geomancy (only x86), vulkan (no i686, no darwin, …)
+  keid-frp-banana:                              [ x86_64-linux ] # geomancy (only x86), vulkan (no i686, no darwin, …)
+  keid-geometry:                                [ x86_64-linux ] # geomancy (only x86), vulkan (no i686, no darwin, …)
+  keid-render-basic:                            [ x86_64-linux ] # geomancy (only x86), vulkan (no i686, no darwin, …)
+  keid-resource-gltf:                           [ x86_64-linux ] # geomancy (only x86), vulkan (no i686, no darwin, …)
+  keid-sound-openal:                            [ x86_64-linux ] # geomancy (only x86), vulkan (no i686, no darwin, …)
+  keid-ui-dearimgui:                            [ x86_64-linux ] # geomancy (only x86), vulkan (no i686, no darwin, …)
   kqueue:                                       [ platforms.netbsd, platforms.freebsd, platforms.openbsd, platforms.darwin ]
   linux-evdev:                                  [ platforms.linux ]
   linux-file-extents:                           [ platforms.linux ]
@@ -555,7 +554,12 @@ supported-platforms:
   linux-namespaces:                             [ platforms.linux ]
   lxc:                                          [ platforms.linux ]
   midi-alsa:                                    [ platforms.linux ]
+  password:                                     [ platforms.x86 ] # uses scrypt, which requries x86
+  password-instances:                           [ platforms.x86 ] # uses scrypt, which requries x86
   reactivity:                                   [ platforms.windows ]
+  reflex-libtelnet:                             [ platforms.linux ] # pkgs.libtelnet only supports linux
+  scat:                                         [ platforms.x86 ] # uses scrypt, which requries x86
+  scrypt:                                       [ platforms.x86 ] # https://github.com/informatikr/scrypt/issues/8
   seqalign:                                     [ platforms.x86 ] # x86 intrinsics
   udev:                                         [ platforms.linux ]
   Win32-console:                                [ platforms.windows ]
@@ -569,6 +573,7 @@ supported-platforms:
   Win32-services:                               [ platforms.windows ]
   Win32-services-wrapper:                       [ platforms.windows ]
   XInput:                                       [ platforms.windows ]
+  yesod-auth-simple:                            [ platforms.x86 ] # requires scrypt which only supports x86
 
 dont-distribute-packages:
   # Depends on shine, which is a ghcjs project.
@@ -642,3 +647,6 @@ dont-distribute-packages:
 
   # mesos was removed from nixpkgs
   - hs-mesos
+
+  # Output exceeds Hydra's maximum allowable size
+  - stripeapi
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
index e0e05f00797..59b9f6ad5f7 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
@@ -1,4 +1,4 @@
-# Stackage LTS 19.16
+# Stackage LTS 19.17
 # This file is auto-generated by
 # maintainers/scripts/haskell/update-stackage.sh
 default-package-overrides:
@@ -279,7 +279,7 @@ default-package-overrides:
   - cached-json-file ==0.1.1
   - cacophony ==0.10.1
   - calendar-recycling ==0.0.0.1
-  - call-alloy ==0.3.0.2
+  - call-alloy ==0.3.0.3
   - call-stack ==0.4.0
   - can-i-haz ==0.3.1.0
   - capability ==0.5.0.1
@@ -536,7 +536,7 @@ default-package-overrides:
   - DBFunctor ==0.1.2.1
   - dbus ==1.2.22
   - dbus-hslogger ==0.1.0.1
-  - debian ==4.0.2
+  - debian ==4.0.4
   - debian-build ==0.10.2.1
   - debug-trace-var ==0.2.0
   - dec ==0.0.4
@@ -673,7 +673,7 @@ default-package-overrides:
   - eq ==4.3
   - equal-files ==0.0.5.3
   - equational-reasoning ==0.7.0.1
-  - equivalence ==0.4.0.1
+  - equivalence ==0.4.1
   - erf ==2.0.0.0
   - errata ==0.4.0.0
   - error ==0.3.0.0
@@ -708,7 +708,7 @@ default-package-overrides:
   - exomizer ==1.0.0
   - experimenter ==0.1.0.12
   - expiring-cache-map ==0.0.6.1
-  - explainable-predicates ==0.1.2.1
+  - explainable-predicates ==0.1.2.2
   - explicit-exception ==0.1.10
   - exp-pairs ==0.2.1.0
   - express ==1.0.10
@@ -830,7 +830,7 @@ default-package-overrides:
   - generic-constraints ==1.1.1.1
   - generic-data ==0.9.2.1
   - generic-data-surgery ==0.3.0.0
-  - generic-deriving ==1.14.1
+  - generic-deriving ==1.14.2
   - generic-functor ==0.2.0.0
   - generic-lens ==2.2.1.0
   - generic-lens-core ==2.2.1.0
@@ -979,7 +979,7 @@ default-package-overrides:
   - HandsomeSoup ==0.4.2
   - handwriting ==0.1.0.3
   - happstack-server ==7.7.2
-  - happstack-server-tls ==7.2.1.2
+  - happstack-server-tls ==7.2.1.3
   - happy ==1.20.0
   - happy-meta ==0.2.0.11
   - HasBigDecimal ==0.1.1
@@ -1005,13 +1005,13 @@ default-package-overrides:
   - haskintex ==0.8.0.0
   - haskoin-core ==0.21.2
   - hasktags ==0.72.0
-  - hasql ==1.5.0.5
+  - hasql ==1.5.1
   - hasql-migration ==0.3.0
   - hasql-notifications ==0.2.0.1
   - hasql-optparse-applicative ==0.3.0.9
   - hasql-pool ==0.5.2.2
   - hasql-queue ==1.2.0.2
-  - hasql-th ==0.4.0.16
+  - hasql-th ==0.4.0.17
   - hasql-transaction ==1.0.1.1
   - has-transformers ==0.1.0.4
   - hasty-hamiltonian ==1.3.4
@@ -1176,7 +1176,7 @@ default-package-overrides:
   - HTTP ==4000.3.16
   - http-api-data ==0.4.3
   - http-api-data-qq ==0.1.0.0
-  - http-client ==0.7.11
+  - http-client ==0.7.12
   - http-client-openssl ==0.3.3
   - http-client-overrides ==0.1.1.0
   - http-client-tls ==0.3.6.1
@@ -1269,7 +1269,7 @@ default-package-overrides:
   - infer-license ==0.2.0
   - inflections ==0.4.0.6
   - influxdb ==1.9.2.2
-  - ini ==0.4.1
+  - ini ==0.4.2
   - inj ==1.0
   - inline-c ==0.9.1.6
   - inline-c-cpp ==0.5.0.0
@@ -1688,7 +1688,7 @@ default-package-overrides:
   - numeric-prelude ==0.4.4
   - numeric-quest ==0.2.0.2
   - numhask ==0.10.1.0
-  - numhask-array ==0.10.0
+  - numhask-array ==0.10.1
   - numhask-space ==0.10.0.0
   - NumInstances ==1.4
   - numtype-dk ==0.5.0.3
@@ -1707,7 +1707,7 @@ default-package-overrides:
   - OneTuple ==0.3.1
   - Only ==0.1
   - oo-prototypes ==0.1.0.0
-  - opaleye ==0.9.2.0
+  - opaleye ==0.9.3.2
   - OpenAL ==1.7.0.5
   - openapi3 ==3.2.2
   - open-browser ==0.2.1.0
@@ -1754,7 +1754,7 @@ default-package-overrides:
   - pandoc-plot ==1.4.1
   - pandoc-throw ==0.1.0.0
   - pandoc-types ==1.22.2
-  - pantry ==0.5.5
+  - pantry ==0.5.6
   - parallel ==3.2.2.0
   - parallel-io ==0.3.5
   - parameterized ==0.5.0.0
@@ -1957,7 +1957,7 @@ default-package-overrides:
   - pvar ==1.0.0.0
   - PyF ==0.10.2.0
   - qchas ==1.1.0.1
-  - qm-interpolated-string ==0.3.0.0
+  - qm-interpolated-string ==0.3.1.0
   - qrcode-core ==0.9.5
   - qrcode-juicypixels ==0.8.3
   - quadratic-irrational ==0.1.1
@@ -2047,7 +2047,7 @@ default-package-overrides:
   - regex-pcre-builtin ==0.95.2.3.8.44
   - regex-posix ==0.96.0.1
   - regex-posix-clib ==2.7
-  - regex-tdfa ==1.3.1.4
+  - regex-tdfa ==1.3.2
   - regex-with-pcre ==1.1.0.2
   - reinterpret-cast ==0.1.0
   - rel8 ==1.3.1.0
@@ -2197,7 +2197,7 @@ default-package-overrides:
   - servant-websockets ==2.0.0
   - servant-xml ==1.0.1.4
   - serversession ==1.0.3
-  - serversession-frontend-wai ==1.0
+  - serversession-frontend-wai ==1.0.1
   - servius ==1.2.3.0
   - ses-html ==0.4.0.0
   - set-cover ==0.1.1
@@ -2440,7 +2440,7 @@ default-package-overrides:
   - tasty-tap ==0.1.0
   - tasty-test-reporter ==0.1.1.4
   - tasty-th ==0.1.7
-  - tasty-wai ==0.1.1.1
+  - tasty-wai ==0.1.2.0
   - TCache ==0.12.1
   - tce-conf ==1.3
   - tcp-streams ==1.0.1.1
@@ -2486,9 +2486,9 @@ default-package-overrides:
   - text-zipper ==0.11
   - tfp ==1.0.2
   - tf-random ==0.5
-  - th-abstraction ==0.4.3.0
+  - th-abstraction ==0.4.4.0
   - th-bang-compat ==0.0.1.0
-  - th-compat ==0.1.3
+  - th-compat ==0.1.4
   - th-constraint-compat ==0.0.1.0
   - th-desugar ==1.12
   - th-env ==0.1.1
@@ -2496,7 +2496,7 @@ default-package-overrides:
   - these-lens ==1.0.1.2
   - these-optics ==1.0.1.2
   - these-skinny ==0.7.5
-  - th-expand-syns ==0.4.9.0
+  - th-expand-syns ==0.4.10.0
   - th-extras ==0.0.0.6
   - th-lego ==0.3.0.1
   - th-lift ==0.8.2
@@ -2842,7 +2842,7 @@ with-compiler: ghc-9.0.2
   - yesod-auth-hashdb ==1.7.1.7
   - yesod-auth-oauth2 ==0.7.0.1
   - yesod-bin ==1.6.2.1
-  - yesod-core ==1.6.23.1
+  - yesod-core ==1.6.24.0
   - yesod-eventsource ==1.6.0.1
   - yesod-form ==1.7.0
   - yesod-form-bootstrap4 ==3.0.1
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
index 7d5891c00c1..d8a294a0130 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
@@ -25,7 +25,6 @@ dont-distribute-packages:
  - AndroidViewHierarchyImporter
  - Annotations
  - ApplePush
- - AspectAG
  - AttoJson
  - AutoForms
  - AvlTree
@@ -52,7 +51,6 @@ dont-distribute-packages:
  - CBOR
  - CC-delcont-alt
  - CMCompare
- - CMQ
  - CPBrainfuck
  - CSPM-Interpreter
  - CSPM-ToProlog
@@ -87,6 +85,7 @@ dont-distribute-packages:
  - Dust-tools-pcap
  - DysFRP-Cairo
  - DysFRP-Craftwerk
+ - EdisonCore
  - EditTimeReport
  - EntrezHTTP
  - EsounD
@@ -103,6 +102,7 @@ dont-distribute-packages:
  - FermatsLastMargin
  - FieldTrip
  - FilePather
+ - Fin
  - Finance-Treasury
  - FiniteMap
  - FirstOrderTheory
@@ -177,7 +177,6 @@ dont-distribute-packages:
  - HPlot
  - HPong
  - HROOT
- - HROOT-core
  - HROOT-graf
  - HROOT-hist
  - HROOT-io
@@ -196,12 +195,10 @@ dont-distribute-packages:
  - HaTeX-qq
  - HaVSA
  - Hach
- - Haggressive
  - HarmTrace
  - HasGP
  - Haschoo
  - Hashell
- - HaskellNet-SSL
  - Hate
  - Hawk
  - Hayoo
@@ -245,6 +242,7 @@ dont-distribute-packages:
  - Lattices
  - LinearSplit
  - LinkChecker
+ - ListT
  - LogicGrowsOnTrees
  - LogicGrowsOnTrees-MPI
  - LogicGrowsOnTrees-network
@@ -257,6 +255,7 @@ dont-distribute-packages:
  - MIP-glpk
  - MSQueue
  - MailchimpSimple
+ - Map
  - MaybeT-transformers
  - MetaObject
  - Metrics
@@ -304,13 +303,11 @@ dont-distribute-packages:
  - PlslTools
  - Printf-TH
  - ProbabilityMonads
- - PropaFP
  - Pugs
  - Pup-Events
  - Pup-Events-Demo
  - Quelea
  - RESTng
- - RJson
  - RMP
  - RNAFold
  - RNAFoldProgs
@@ -328,25 +325,29 @@ dont-distribute-packages:
  - SGdemo
  - STLinkUSB
  - STM32-Zombie
- - SVD2HS
  - SVG2Q
  - SciFlow
  - SciFlow-drmaa
  - Scurry
  - SelectSequencesFromMSA
+ - Set
  - Shellac-compatline
  - Shellac-editline
  - Shellac-haskeline
  - Shellac-readline
  - ShortestPathProblems
+ - Shpadoinkle-backend-pardiff
+ - Shpadoinkle-backend-static
  - Shpadoinkle-developer-tools
  - Shpadoinkle-disembodied
  - Shpadoinkle-examples
+ - Shpadoinkle-html
  - Shpadoinkle-router
  - Shpadoinkle-template
  - Shpadoinkle-widgets
  - SimpleGL
  - SimpleLog
+ - SimpleServer
  - Smooth
  - Snusmumrik
  - SoccerFun
@@ -356,7 +357,6 @@ dont-distribute-packages:
  - SpinCounter
  - StockholmAlignment
  - Strafunski-Sdf2Haskell
- - SybWidget
  - SyntaxMacros
  - Taxonomy
  - TaxonomyTools
@@ -423,14 +423,11 @@ dont-distribute-packages:
  - activehs
  - actor
  - acts
- - addy
  - adhoc-network
  - adict
  - adjunction
  - adp-multi-monadiccp
- - aern2-mfun
  - aeson-native
- - aeson-result
  - affine
  - afv
  - agda-server
@@ -624,7 +621,6 @@ dont-distribute-packages:
  - antlrc
  - apelsin
  - api-rpc-accumulate
- - api-rpc-factom
  - api-rpc-pegnet
  - api-yoti
  - apiary
@@ -657,10 +653,8 @@ dont-distribute-packages:
  - arithmetic-circuits
  - array-forth
  - arraylist
- - ascii
  - ascii-cows
  - ascii-table
- - ascii_1_2_3_0
  - asic
  - asif
  - assert4hs-hspec
@@ -677,10 +671,8 @@ dont-distribute-packages:
  - ats-format
  - ats-pkg
  - attoparsec-enumerator
- - attoparsec-ip
  - attoparsec-iteratee
  - attoparsec-text-enumerator
- - attoparsec-uri
  - atuin
  - audiovisual
  - aura
@@ -701,7 +693,6 @@ dont-distribute-packages:
  - aws-dynamodb-conduit
  - aws-dynamodb-streams
  - aws-easy
- - aws-ec2-knownhosts
  - aws-elastic-transcoder
  - aws-kinesis
  - aws-kinesis-client
@@ -715,8 +706,6 @@ dont-distribute-packages:
  - aws-sign4
  - aws-simple
  - aws-sns
- - aws-xray-client-persistent
- - aws-xray-client-wai
  - axiom
  - azimuth-hs
  - azure-functions-worker
@@ -739,6 +728,7 @@ dont-distribute-packages:
  - base32-bytestring
  - base64-bytes
  - baserock-schema
+ - basic
  - batchd
  - batchd-core
  - batchd-docker
@@ -749,8 +739,6 @@ dont-distribute-packages:
  - battleships
  - bayes-stack
  - bbi
- - bcp47
- - bcp47-orphans
  - bdcs
  - bdcs-api
  - beam-automigrate
@@ -815,12 +803,8 @@ dont-distribute-packages:
  - ble
  - blink1
  - blip
- - blockfrost-client
- - blockfrost-client-core
- - blockfrost-pretty
  - blogination
  - bloodhound-amazonka-auth
- - blosum
  - bloxorz
  - blubber
  - bluetile
@@ -858,7 +842,6 @@ dont-distribute-packages:
  - buster-network
  - butterflies
  - bytable
- - bytehash
  - bytelog
  - bytepatch
  - bytestring-builder-varword
@@ -870,11 +853,10 @@ dont-distribute-packages:
  - cabal-query
  - cabal-test
  - cabal2arch
+ - cabal2json
  - cabalmdvrpm
  - cabalrpmdeps
- - cabocha
  - cake
- - cake3
  - cakyrespa
  - cal3d-examples
  - cal3d-opengl
@@ -973,10 +955,7 @@ dont-distribute-packages:
  - clckwrks-theme-geo-bootstrap
  - cless
  - cleveland
- - cli-git
- - cli-nix
  - click-clack
- - clickhouse-haskell
  - clifford
  - clippings
  - clocked
@@ -999,7 +978,6 @@ dont-distribute-packages:
  - coformat
  - cognimeta-utils
  - coinbase-exchange
- - coincident-root-loci
  - colada
  - colchis
  - collapse-duplication
@@ -1017,6 +995,7 @@ dont-distribute-packages:
  - commodities
  - commsec-keyexchange
  - comonad-random
+ - compaREST
  - compact-mutable
  - compactable
  - compdata-automata
@@ -1024,6 +1003,7 @@ dont-distribute-packages:
  - compdata-param
  - compdoc-dhall-decoder
  - complexity
+ - comprehensions-ghc
  - compstrat
  - comptrans
  - computational-algebra
@@ -1046,7 +1026,7 @@ dont-distribute-packages:
  - config-select
  - configifier
  - configurator-ng
- - conic-graphs
+ - constrained-category
  - constraint
  - constraint-manip
  - constraint-reflection
@@ -1069,21 +1049,19 @@ dont-distribute-packages:
  - convertible-text
  - coordinate
  - copilot
- - copilot-c99
  - copilot-cbmc
  - copilot-frp-sketch
  - copilot-language
  - copilot-libraries
- - copilot-sbv
  - copilot-theorem
  - core-webserver-servant
+ - core-webserver-warp
  - coroutine-enumerator
  - coroutine-iteratee
  - couch-simple
  - couchdb-enumerator
  - cpkg
  - cprng-aes-effect
- - cql-io
  - cql-io-tinylog
  - cqrs-example
  - cqrs-memory
@@ -1108,7 +1086,6 @@ dont-distribute-packages:
  - crypto-conduit
  - crypto-pubkey
  - cryptocipher
- - cryptoconditions
  - cryptoids
  - cryptoids-class
  - cryptol
@@ -1117,7 +1094,7 @@ dont-distribute-packages:
  - csv-enumerator
  - ctpl
  - cube
- - curryer-rpc
+ - cuckoo
  - cursedcsv
  - cv-combinators
  - cypher
@@ -1150,6 +1127,9 @@ dont-distribute-packages:
  - datasets
  - date-conversions
  - dbjava
+ - dbmigrations-mysql
+ - dbmigrations-postgresql
+ - dbmigrations-sqlite
  - dbus-client
  - ddate
  - ddc-build
@@ -1186,6 +1166,7 @@ dont-distribute-packages:
  - delta
  - delta-h
  - dep-t-advice
+ - dep-t-dynamic
  - dep-t-value
  - dependent-literals-plugin
  - dependent-state
@@ -1201,7 +1182,6 @@ dont-distribute-packages:
  - dewdrop
  - dfinity-radix-tree
  - dhall-recursive-adt
- - dhcp-lease-parser
  - dia-functions
  - diagrams-haddock
  - diagrams-html5
@@ -1210,13 +1190,13 @@ dont-distribute-packages:
  - diagrams-reflex
  - diagrams-wx
  - dialog
+ - diff
  - difference-monoid
  - differential
  - digestive-functors-hsp
  - dingo-core
  - dingo-example
  - dingo-widgets
- - diplomacy
  - diplomacy-server
  - direct-rocksdb
  - directory-contents
@@ -1251,7 +1231,6 @@ dont-distribute-packages:
  - distributed-process-zookeeper
  - distributed-static
  - distribution-plot
- - diversity
  - dixi
  - dl-fedora
  - dmenu-pkill
@@ -1266,13 +1245,12 @@ dont-distribute-packages:
  - dobutokO3
  - dobutokO4
  - doc-review
- - dom-parser
  - domain
  - domain-aeson
  - domain-cereal
+ - domain-optics
  - dormouse-client
  - dotparse
- - doublezip
  - dovetail
  - dovetail-aeson
  - dow
@@ -1292,7 +1270,6 @@ dont-distribute-packages:
  - dtd
  - dtw
  - dumb-cas
- - duplo
  - dvda
  - dynamic-cabal
  - dynamic-plot
@@ -1300,7 +1277,6 @@ dont-distribute-packages:
  - dynamodb-simple
  - dynobud
  - ec2-unikernel
- - eccrypto-ed25519-bindings
  - ecdsa
  - edenskel
  - edentv
@@ -1395,9 +1371,7 @@ dont-distribute-packages:
  - fair
  - fallingblocks
  - family-tree
- - fast-arithmetic
  - fast-bech32
- - fasta
  - fastirc
  - fastly
  - fastparser
@@ -1414,11 +1388,8 @@ dont-distribute-packages:
  - fay-text
  - fay-uri
  - fay-websockets
- - fb-persistent
  - fbrnch
  - fcd
- - fcf-composite
- - fcf-graphs
  - feature-flipper-postgres
  - fedora-img-dl
  - feed-gipeda
@@ -1434,7 +1405,6 @@ dont-distribute-packages:
  - fei-nn
  - feldspar-compiler
  - feldspar-language
- - fenfire
  - festung
  - ffmpeg-tutorials
  - ficketed
@@ -1514,6 +1484,7 @@ dont-distribute-packages:
  - funcons-simple
  - funcons-tools
  - function-combine
+ - functor
  - functor-combo
  - funflow
  - funflow-nix
@@ -1527,13 +1498,10 @@ dont-distribute-packages:
  - g2q
  - gact
  - galois-fft
- - gargoyle-postgresql
  - gargoyle-postgresql-connect
- - gargoyle-postgresql-nix
  - gbu
  - gdax
  - gdiff-ig
- - gedcom
  - geek
  - geek-server
  - gelatin-freetype2
@@ -1543,7 +1511,6 @@ dont-distribute-packages:
  - gelatin-shaders
  - gemini-textboard
  - generic-override-aeson
- - generic-xml
  - generics-mrsop-gdiff
  - genesis
  - genesis-test
@@ -1551,7 +1518,6 @@ dont-distribute-packages:
  - geni-util
  - geniconvert
  - geniserver
- - genvalidity-mergeful
  - genvalidity-network-uri
  - genvalidity-sydtest
  - genvalidity-sydtest-aeson
@@ -1565,7 +1531,6 @@ dont-distribute-packages:
  - ghc-debug-client
  - ghc-debug-common
  - ghc-debug-stub
- - ghc-dump-util
  - ghc-imported-from
  - ghc-instances
  - ghc-mod
@@ -1575,11 +1540,11 @@ dont-distribute-packages:
  - ghcjs-dom-webkit
  - ghcjs-fetch
  - ghcjs-hplay
- - ghcprofview
  - ght
  - gi-cairo-again
  - gi-clutter
  - gi-coglpango
+ - gi-ges
  - gi-gsk
  - gi-gstpbutils
  - gi-gtk_4_0_5
@@ -1834,7 +1799,6 @@ dont-distribute-packages:
  - graphicsFormats
  - graphicstools
  - graphql-client
- - graphql-utils
  - graphtype
  - greencard-lib
  - gridbounds
@@ -1864,7 +1828,6 @@ dont-distribute-packages:
  - guarded-rewriting
  - hArduino
  - hOff-display
- - hOpenPGP
  - hPDB
  - hPDB-examples
  - habit
@@ -1916,9 +1879,7 @@ dont-distribute-packages:
  - happstack-facebook
  - happstack-fay
  - happstack-fay-ajax
- - happstack-foundation
  - happstack-helpers
- - happstack-hsp
  - happstack-ixset
  - happstack-jmacro
  - happstack-plugins
@@ -1940,11 +1901,8 @@ dont-distribute-packages:
  - hashes
  - hashflare
  - hask-home
- - haskades
  - haskdeep
  - haskeem
- - haskell-admin
- - haskell-admin-managed-functions
  - haskell-aliyun
  - haskell-bitmex-client
  - haskell-docs
@@ -1993,7 +1951,6 @@ dont-distribute-packages:
  - haskey-mtl
  - haskgame
  - hasklepias
- - haskoin
  - haskoin-bitcoind
  - haskoin-crypto
  - haskoin-node
@@ -2032,7 +1989,6 @@ dont-distribute-packages:
  - hatexmpp3
  - hawitter
  - haxl-amazonka
- - haxl-facebook
  - haxy
  - hback
  - hbayes
@@ -2057,7 +2013,6 @@ dont-distribute-packages:
  - hdph
  - heart-app
  - heatitup
- - heatitup-complete
  - heavy-log-shortcuts
  - heavy-logger
  - heavy-logger-amazon
@@ -2067,6 +2022,7 @@ dont-distribute-packages:
  - hedgehog-gen-json
  - hedis-pile
  - heist-aeson
+ - helic
  - helics
  - helics-wai
  - helium
@@ -2084,7 +2040,6 @@ dont-distribute-packages:
  - hesh
  - hesql
  - heterolist
- - hevm
  - hevolisa
  - hevolisa-dph
  - hexpat-conduit
@@ -2110,7 +2065,6 @@ dont-distribute-packages:
  - hinvaders
  - hinze-streams
  - hipbot
- - hipe
  - hipsql-client
  - hipsql-server
  - hirt
@@ -2152,7 +2106,6 @@ dont-distribute-packages:
  - hoodle-publish
  - hoodle-render
  - hoovie
- - hopenpgp-tools
  - hoppy-docs
  - hotswap
  - hout
@@ -2169,27 +2122,14 @@ dont-distribute-packages:
  - hps
  - hps-cairo
  - hpython
- - hquantlib
  - hranker
  - hreq-client
  - hreq-conduit
- - hriemann
  - hs
  - hs-blake2
  - hs-ffmpeg
  - hs-gen-iface
  - hs-ix
- - hs-opentelemetry-exporter-in-memory
- - hs-opentelemetry-exporter-otlp
- - hs-opentelemetry-instrumentation-cloudflare
- - hs-opentelemetry-instrumentation-conduit
- - hs-opentelemetry-instrumentation-http-client
- - hs-opentelemetry-instrumentation-persistent
- - hs-opentelemetry-instrumentation-postgresql-simple
- - hs-opentelemetry-instrumentation-wai
- - hs-opentelemetry-instrumentation-yesod
- - hs-opentelemetry-propagator-w3c
- - hs-opentelemetry-sdk
  - hs-pkpass
  - hs-profunctors
  - hs-sdl-term-emulator
@@ -2217,7 +2157,6 @@ dont-distribute-packages:
  - hsinspect-lsp
  - hslogstash
  - hsnsq
- - hsp-cgi
  - hspec-expectations-pretty
  - hspec-pg-transact
  - hspec-setup
@@ -2242,7 +2181,6 @@ dont-distribute-packages:
  - hsx-jmacro
  - hsx-xhtml
  - html-kure
- - html-presentation-text
  - htoml-parse
  - hts
  - htsn-import
@@ -2267,9 +2205,6 @@ dont-distribute-packages:
  - huzzy
  - hw-all
  - hw-aws-sqs-conduit
- - hw-json
- - hw-json-demo
- - hw-json-lens
  - hw-uri
  - hworker-ses
  - hwormhole
@@ -2297,21 +2232,17 @@ dont-distribute-packages:
  - hyloutils
  - hyperpublic
  - iException
- - icepeak
  - ide-backend
  - ide-backend-server
  - ideas-math
  - ideas-math-types
  - ideas-statistics
- - identicon-style-squares
  - ige-mac-integration
  - ihaskell-inline-r
  - ihaskell-rlangqq
  - ihttp
  - imap
- - imapget
  - imbib
- - imgur
  - imgurder
  - imj-animation
  - imj-base
@@ -2331,7 +2262,6 @@ dont-distribute-packages:
  - indexation
  - indieweb-algorithms
  - indigo
- - infernal
  - infernu
  - infinity
  - inline-java
@@ -2342,7 +2272,6 @@ dont-distribute-packages:
  - instant-deepseq
  - instant-hashable
  - instant-zipper
- - instapaper-sender
  - integreat
  - interpolatedstring-qq
  - interpolatedstring-qq-mwotton
@@ -2358,7 +2287,6 @@ dont-distribute-packages:
  - irc-fun-client
  - irc-fun-color
  - irc-fun-messages
- - iri
  - ironforge
  - isevaluated
  - ismtp
@@ -2384,11 +2312,6 @@ dont-distribute-packages:
  - ivory-stdlib
  - ivy-web
  - ix
- - ixset
- - ixset-typed-binary-instance
- - ixset-typed-cassava
- - ixset-typed-conversions
- - ixset-typed-hashable-instance
  - iyql
  - j2hs
  - jacinda
@@ -2405,13 +2328,7 @@ dont-distribute-packages:
  - jmacro-rpc-happstack
  - jmacro-rpc-snap
  - jmonkey
- - jobqueue
  - join
- - jordan-openapi
- - jordan-servant
- - jordan-servant-client
- - jordan-servant-openapi
- - jordan-servant-server
  - jsc
  - jsmw
  - json-ast-json-encoder
@@ -2426,6 +2343,7 @@ dont-distribute-packages:
  - json-togo
  - json-tokens
  - json2-hdbc
+ - json2sg
  - jsonlogic-aeson
  - jsons-to-schema
  - jspath
@@ -2444,8 +2362,6 @@ dont-distribute-packages:
  - kansas-lava-papilio
  - kansas-lava-shake
  - karakuri
- - karps
- - katip-raven
  - katip-rollbar
  - keenser
  - keera-hails-i18n
@@ -2464,17 +2380,11 @@ dont-distribute-packages:
  - keera-hails-reactive-yampa
  - keera-hails-reactivelenses
  - keera-posture
- - keid-frp-banana
- - keid-geometry
- - keid-render-basic
  - keid-resource-gltf
- - keid-sound-openal
- - keid-ui-dearimgui
  - kevin
  - key-vault
  - keyring
  - keysafe
- - keystore
  - keyvaluehash
  - keyword-args
  - kicad-data
@@ -2488,7 +2398,6 @@ dont-distribute-packages:
  - koji-install
  - koji-tool
  - korfu
- - krapsh
  - ks-test
  - kubernetes-client
  - kure-your-boilerplate
@@ -2528,9 +2437,7 @@ dont-distribute-packages:
  - language-python-colour
  - language-qux
  - language-spelling
- - large-anon
  - lat
- - latest-npm-version
  - latex-formulae-hakyll
  - latex-formulae-pandoc
  - latex-svg-hakyll
@@ -2601,8 +2508,6 @@ dont-distribute-packages:
  - list-tuple
  - list-witnesses
  - listenbrainz-client
- - liszt
- - little-rio_1_0_1
  - live-sequencer
  - llvm
  - llvm-analysis
@@ -2622,12 +2527,10 @@ dont-distribute-packages:
  - lnd-client
  - lnurl
  - lnurl-authenticator
- - load-balancing
  - local-search
  - localize
  - locked-poll
  - log
- - log-elasticsearch
  - log-postgres
  - log-utils
  - log4hs
@@ -2638,13 +2541,12 @@ dont-distribute-packages:
  - lojysamban
  - lol-apps
  - lol-benches
- - lol-calculus
  - lol-cpp
  - lol-repa
  - lol-tests
- - lol-typing
  - loli
  - loop-effin
+ - looper
  - lorentz
  - lostcities
  - loup
@@ -2653,7 +2555,6 @@ dont-distribute-packages:
  - ls-usb
  - lsystem
  - ltext
- - lti13
  - luachunk
  - lucid-colonnade
  - lucienne
@@ -2674,13 +2575,10 @@ dont-distribute-packages:
  - magicbane
  - mahoro
  - maid
- - mail-pool
  - mailgun
  - majordomo
  - majority
  - make-package
- - managed-functions-http-connector
- - managed-functions-json
  - manatee
  - manatee-all
  - manatee-anything
@@ -2705,7 +2603,6 @@ dont-distribute-packages:
  - markdown-pap
  - markdown2svg
  - markov-processes
- - markup
  - marmalade-upload
  - marquise
  - marvin
@@ -2728,7 +2625,6 @@ dont-distribute-packages:
  - memcache-conduit
  - memis
  - memory-hexstring
- - mergeful-persistent
  - merkle-patricia-db
  - meta-par-accelerate
  - metaplug
@@ -2738,7 +2634,6 @@ dont-distribute-packages:
  - micro-gateway
  - microformats2-parser
  - microformats2-types
- - micrologger
  - midimory
  - mighttpd
  - migrant-hdbc
@@ -2759,7 +2654,6 @@ dont-distribute-packages:
  - mixed-strategies
  - mkbndl
  - mlist
- - mmark-cli
  - mmsyn4
  - mmsyn6ukr
  - mmsyn6ukr-array
@@ -2788,6 +2682,7 @@ dont-distribute-packages:
  - monky
  - monte-carlo
  - moo
+ - moo-nad
  - moonshine
  - morley
  - morley-client
@@ -2817,7 +2712,6 @@ dont-distribute-packages:
  - msgpack-idl
  - msgpack-rpc
  - msgpack-rpc-conduit
- - mtgoxapi
  - mu-avro
  - mu-graphql
  - mu-grpc-client
@@ -2880,8 +2774,6 @@ dont-distribute-packages:
  - nero-wai
  - nero-warp
  - nested-routes
- - net-mqtt-lens
- - net-mqtt-rpc
  - net-spider-cli
  - net-spider-pangraph
  - net-spider-rpl
@@ -2910,7 +2802,6 @@ dont-distribute-packages:
  - newsynth
  - ngrams-loader
  - ngx-export-tools-extra
- - nicovideo-translator
  - nikepub
  - nirum
  - nix-thunk
@@ -2956,14 +2847,15 @@ dont-distribute-packages:
  - odd-jobs
  - off-simple
  - ohloh-hs
- - oidc-client
  - ois-input-manager
  - olwrapper
  - online
  - online-csv
  - opc-xml-da-client
  - open-adt-tutorial
+ - open-witness
  - openai-hs
+ - openapi3-code-generator
  - opencv-extra
  - openpgp-Crypto
  - openpgp-crypto-api
@@ -2975,7 +2867,6 @@ dont-distribute-packages:
  - orchid
  - orchid-demo
  - order-maintenance
- - org-mode-lucid
  - orgmode-parse
  - orgstat
  - osm-download
@@ -2984,7 +2875,6 @@ dont-distribute-packages:
  - package-o-tron
  - padKONTROL
  - pairing
- - pan-os-syslog
  - panda
  - pandoc-highlighting-extensions
  - pandoc-japanese-filters
@@ -3006,7 +2896,6 @@ dont-distribute-packages:
  - parsestar
  - parsley
  - parsley-garnish
- - partage
  - partial-lens
  - partial-semigroup-test
  - passman-cli
@@ -3015,7 +2904,6 @@ dont-distribute-packages:
  - pcap-enumerator
  - pcapng
  - pcf
- - pcf-font-embed
  - pdf-slave
  - peakachu
  - pec
@@ -3037,7 +2925,6 @@ dont-distribute-packages:
  - persistable-types-HDBC-pg
  - persistent-audit
  - persistent-hssqlppp
- - persistent-iproute
  - persistent-map
  - persistent-mysql-haskell
  - persistent-relational-record
@@ -3048,29 +2935,20 @@ dont-distribute-packages:
  - pgsql-simple
  - phonetic-languages-common
  - phonetic-languages-constraints
- - phonetic-languages-constraints-array
  - phonetic-languages-examples
  - phonetic-languages-general
  - phonetic-languages-permutations
- - phonetic-languages-permutations-array
  - phonetic-languages-phonetics-basics
- - phonetic-languages-plus
  - phonetic-languages-properties
- - phonetic-languages-simplified-base
  - phonetic-languages-simplified-common
- - phonetic-languages-simplified-examples-array
  - phonetic-languages-simplified-generalized-examples-array
  - phonetic-languages-simplified-generalized-examples-common
  - phonetic-languages-simplified-generalized-properties-array
  - phonetic-languages-simplified-lists-examples
- - phonetic-languages-simplified-properties-array
- - phonetic-languages-simplified-properties-array-common
- - phonetic-languages-simplified-properties-array-old
  - phonetic-languages-simplified-properties-lists
  - phonetic-languages-simplified-properties-lists-double
  - phonetic-languages-ukrainian
  - phooey
- - pia-forward
  - pianola
  - pier
  - ping
@@ -3090,8 +2968,6 @@ dont-distribute-packages:
  - pipes-network-tls
  - pipes-p2p
  - pipes-p2p-examples
- - pipes-protolude
- - pipes-transduce
  - pisigma
  - pitchtrack
  - pkgtreediff
@@ -3107,9 +2983,9 @@ dont-distribute-packages:
  - pointless-rewrite
  - poke
  - polh-lexicon
- - poly-rec
  - polydata
  - polysemy-RandomFu
+ - polysemy-http
  - polysemy-optics
  - polyseq
  - polytypeable-utils
@@ -3146,7 +3022,6 @@ dont-distribute-packages:
  - primal-memory
  - primula-board
  - primula-bot
- - priority-sync
  - proc
  - process-iterio
  - process-progress
@@ -3156,10 +3031,7 @@ dont-distribute-packages:
  - procrastinating-structure
  - producer
  - product
- - product-isomorphic
  - prof2dot
- - profiterole
- - profiteur
  - progressbar
  - project-m36
  - prolog-graph
@@ -3176,6 +3048,7 @@ dont-distribute-packages:
  - proto3-wire
  - protobuf-native
  - protocol-buffers-descriptor-fork
+ - proton
  - psql
  - ptera
  - ptera-core
@@ -3193,13 +3066,11 @@ dont-distribute-packages:
  - push-notify-apn
  - push-notify-ccs
  - push-notify-general
- - pushme
  - puzzle-draw-cmdline
  - pvd
  - qd-vec
  - qhs
  - qhull
- - qr-imager
  - qr-repa
  - qtah-examples
  - qtah-qt5
@@ -3241,7 +3112,6 @@ dont-distribute-packages:
  - quiver-interleave
  - quiver-sort
  - qux
- - r-glpk-phonetic-languages-ukrainian-durations
  - rail-compiler-editor
  - rails-session
  - rainbow-tests
@@ -3267,7 +3137,6 @@ dont-distribute-packages:
  - rasa-ext-vim
  - rascal
  - rating-chgk-info
- - raven-haskell-scotty
  - raw-feldspar
  - rawr
  - razom-text-util
@@ -3294,7 +3163,6 @@ dont-distribute-packages:
  - records-th
  - redHandlers
  - reddit
- - rediscaching-haxl
  - reduce-equations
  - refh
  - reflex-animation
@@ -3307,7 +3175,6 @@ dont-distribute-packages:
  - reflex-localize-dom
  - reflex-monad-auth
  - reflex-process
- - reform-hsp
  - refractor
  - refurb
  - reg-alloc-graph-color
@@ -3349,7 +3216,6 @@ dont-distribute-packages:
  - repa-stream
  - repa-v4l2
  - replicant
- - repo-based-blog
  - repr
  - representable-tries
  - resin
@@ -3377,7 +3243,6 @@ dont-distribute-packages:
  - rfc-redis
  - rfc-servant
  - rhythm-game-tutorial
- - rib
  - ribosome
  - ribosome-root
  - ribosome-test
@@ -3404,11 +3269,9 @@ dont-distribute-packages:
  - ron-rdt
  - ron-schema
  - ron-storage
- - rosa
  - rose-trie
  - roshask
  - rosmsg-bin
- - rounded
  - roundtrip-xml
  - route-generator
  - route-planning
@@ -3474,8 +3337,6 @@ dont-distribute-packages:
  - scope-cairo
  - scotty-fay
  - scotty-hastache
- - scotty-haxl
- - scotty-utils
  - scp-streams
  - scrabble-bot
  - scrapbook
@@ -3516,12 +3377,9 @@ dont-distribute-packages:
  - servant-ekg
  - servant-event-stream
  - servant-examples
- - servant-haxl-client
  - servant-http2-client
  - servant-jquery
  - servant-js
- - servant-jsonrpc-client
- - servant-jsonrpc-server
  - servant-matrix-param
  - servant-oauth2
  - servant-oauth2-examples
@@ -3537,8 +3395,6 @@ dont-distribute-packages:
  - servant-streaming-server
  - servant-swagger-tags
  - servant-to-elm
- - servant-util
- - servant-util-beam-pg
  - servant-waargonaut
  - servant-zeppelin-client
  - servant-zeppelin-server
@@ -3552,7 +3408,6 @@ dont-distribute-packages:
  - shake-ats
  - shake-bindist
  - shake-minify-css
- - shake-plus-extended
  - shakebook
  - shaker
  - shapefile
@@ -3571,7 +3426,6 @@ dont-distribute-packages:
  - sigma-ij
  - signals
  - signature
- - signify-hs
  - silvi
  - simgi
  - simple
@@ -3585,7 +3439,6 @@ dont-distribute-packages:
  - simple-session
  - simpleirc-lens
  - simseq
- - singular-factory
  - siphon
  - siren-json
  - sirkel
@@ -3594,6 +3447,7 @@ dont-distribute-packages:
  - skeletons
  - sketch-frp-copilot
  - skylark-client
+ - skylighting_0_13
  - slate
  - slidemews
  - slip32
@@ -3635,7 +3489,6 @@ dont-distribute-packages:
  - snaplet-sqlite-simple-jwt-auth
  - snaplet-stripe
  - snaplet-tasks
- - snaplet-typed-sessions
  - snaplet-wordpress
  - snappy-iteratee
  - sndfile-enumerators
@@ -3662,7 +3515,6 @@ dont-distribute-packages:
  - sparser
  - spata
  - specialize-th
- - species
  - spectral-clustering
  - speculation-transformers
  - speechmatics
@@ -3678,7 +3530,6 @@ dont-distribute-packages:
  - sql-simple-sqlite
  - sqlite-simple-typed
  - sqsd-local
- - sr-extra
  - sscgi
  - sshd-lint
  - sssp
@@ -3701,6 +3552,7 @@ dont-distribute-packages:
  - static-closure
  - statsd-client
  - statsdi
+ - stern-brocot
  - stmcontrol
  - storablevector-streamfusion
  - stratum-tool
@@ -3710,7 +3562,6 @@ dont-distribute-packages:
  - stratux-websockets
  - streaming-fft
  - streaming-process
- - streaming-utils
  - strelka
  - strict-data
  - string-typelits
@@ -3725,9 +3576,9 @@ dont-distribute-packages:
  - stunts
  - stutter
  - stylist
- - subG-instances
  - subhask
  - substring-parser
+ - sugar-data
  - sugar-json
  - sugar-scheme
  - summoner-tui
@@ -3737,6 +3588,7 @@ dont-distribute-packages:
  - supercollider-ht
  - supercollider-midi
  - superconstraints
+ - supernova
  - sv
  - sv-cassava
  - sv-svfactor
@@ -3745,21 +3597,25 @@ dont-distribute-packages:
  - swapper
  - sweet-egison
  - switch
- - syb-with-class-instances-text
  - sydtest
  - sydtest-aeson
  - sydtest-amqp
  - sydtest-hedgehog
+ - sydtest-hedis
  - sydtest-hspec
+ - sydtest-mongo
  - sydtest-persistent
+ - sydtest-persistent-postgresql
  - sydtest-persistent-sqlite
  - sydtest-process
+ - sydtest-rabbitmq
  - sydtest-servant
  - sydtest-typed-process
  - sydtest-wai
  - sydtest-webdriver
  - sydtest-webdriver-screenshot
  - sydtest-webdriver-yesod
+ - sydtest-yesod
  - sylvia
  - sym-plot
  - symantic-atom
@@ -3778,7 +3634,6 @@ dont-distribute-packages:
  - syntaxnet-haskell
  - synthesizer-llvm
  - sys-process
- - systemstats
  - t3-client
  - ta
  - tag-stream
@@ -3787,6 +3642,7 @@ dont-distribute-packages:
  - tagsoup-navigate
  - tak-ai
  - tal
+ - talash
  - tamarin-prover
  - tamarin-prover-term
  - tamarin-prover-theory
@@ -3820,9 +3676,7 @@ dont-distribute-packages:
  - test-sandbox-compose
  - test-simple
  - testbench
- - text-all
  - text-builder-dev_0_3_3
- - text-generic-pretty
  - text-json-qq
  - text-locale-encoding
  - text-plus
@@ -3848,6 +3702,7 @@ dont-distribute-packages:
  - timeprint
  - timeseries
  - timezone-unix
+ - tinkoff-invest-sdk
  - tinyMesh
  - tip-haskell-frontend
  - tip-lib
@@ -3898,6 +3753,7 @@ dont-distribute-packages:
  - trasa-reflex
  - trasa-server
  - trasa-th
+ - traversal-template
  - treemap-html-tools
  - treersec
  - trek-app
@@ -3905,12 +3761,10 @@ dont-distribute-packages:
  - triangulation
  - tries
  - trimpolya
- - tropical-geometry
  - truelevel
  - trurl
  - tsession-happstack
  - tsweb
- - ttn-client
  - tuntap-simple
  - tup-functor
  - tuple-ops
@@ -3925,7 +3779,6 @@ dont-distribute-packages:
  - twidge
  - twilight-stm
  - twill
- - twirp
  - twitter-conduit
  - twitter-enumerator
  - twitter-types-lens
@@ -3946,7 +3799,6 @@ dont-distribute-packages:
  - typed-streams
  - typelevel
  - typelevel-rewrite-rules
- - typesafe-precure
  - typescript-docs
  - typson-beam
  - typson-esqueleto
@@ -3954,11 +3806,13 @@ dont-distribute-packages:
  - u2f
  - uber
  - ucam-webauth
+ - ucd
  - udbus-model
  - uhc-light
  - uhc-util
  - ukrainian-phonetics-basic
  - unagi-bloomfilter
+ - unbeliever
  - unbound
  - unfoldable-restricted
  - uni-events
@@ -3987,18 +3841,16 @@ dont-distribute-packages:
  - urbit-airlock
  - urbit-api
  - ureader
- - urembed
  - uri-enumerator
  - uri-enumerator-file
- - urlpath
  - usb
  - usb-enumerator
  - usb-hid
  - usb-id-database
  - usb-iteratee
  - usb-safe
- - userid
  - users-mysql-haskell
+ - utf
  - util-exception
  - util-primitive-control
  - util-universe
@@ -4030,7 +3882,6 @@ dont-distribute-packages:
  - vessel
  - vflow-types
  - vfr-waypoints
- - viewprof
  - vigilance
  - vimeta
  - vinyl-operational
@@ -4041,6 +3892,7 @@ dont-distribute-packages:
  - vocoder-conduit
  - vocoder-dunai
  - voicebase
+ - vpq
  - vty-ui-extras
  - waargonaut
  - wahsp
@@ -4048,12 +3900,10 @@ dont-distribute-packages:
  - wai-dispatch
  - wai-handler-snap
  - wai-hastache
- - wai-log
  - wai-middleware-brotli
  - wai-middleware-cache
  - wai-middleware-cache-redis
  - wai-middleware-consul
- - wai-middleware-content-type
  - wai-middleware-rollbar
  - wai-middleware-route
  - wai-middleware-throttle
@@ -4089,7 +3939,6 @@ dont-distribute-packages:
  - whitespace
  - wikipedia4epub
  - winio
- - wireguard-hs
  - wl-pprint-ansiterm
  - wl-pprint-terminfo
  - wlc-hs
@@ -4102,10 +3951,8 @@ dont-distribute-packages:
  - wraxml
  - wrecker
  - wrecker-ui
- - wreq-helper
  - wright
  - writer-cps-full
- - ws
  - wtk-gtk
  - wu-wei
  - wumpus-basic
@@ -4164,18 +4011,12 @@ dont-distribute-packages:
  - yeamer
  - yeshql
  - yesod-articles
- - yesod-auth-fb
  - yesod-auth-ldap
  - yesod-auth-lti13
- - yesod-auth-simple
  - yesod-colonnade
- - yesod-comments
  - yesod-continuations
- - yesod-crud-persist
  - yesod-examples
  - yesod-fay
- - yesod-fb
- - yesod-ip
  - yesod-mangopay
  - yesod-paypal-rest
  - yesod-platform
@@ -4210,7 +4051,6 @@ dont-distribute-packages:
  - yql
  - yu-launch
  - yuuko
- - z85
  - zasni-gerna
  - zephyr-copilot
  - zeromq3-conduit
@@ -4232,4 +4072,3 @@ dont-distribute-packages:
  - zoom-cache-sndfile
  - zoovisitor
  - zuramaru
- - zxcvbn-dvorak
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index 2b11f4a8ebe..4c1832e1a71 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -315,6 +315,9 @@ self: super: builtins.intersectAttrs super {
   greenclip = addExtraLibrary pkgs.xorg.libXdmcp super.greenclip;
 
   # The cabal files for these libraries do not list the required system dependencies.
+  libjwt-typed = overrideCabal (drv: {
+    librarySystemDepends = [ pkgs.libjwt ];
+  }) super.libjwt-typed;
   miniball = overrideCabal (drv: {
     librarySystemDepends = [ pkgs.miniball ];
   }) super.miniball;
@@ -977,6 +980,9 @@ self: super: builtins.intersectAttrs super {
     '';
   }) super.jacinda;
 
+  # Tests assume dist-newstyle build directory is present
+  cabal-hoogle = dontCheck super.cabal-hoogle;
+
   nfc = overrideCabal (drv: {
     isExecutable = true;
     executableHaskellDepends = with self; drv.executableHaskellDepends or [] ++ [ base base16-bytestring bytestring ];
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index b1aab492a1a..2099bab820c 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -788,8 +788,6 @@ self: {
        ];
        description = "Mapping between Aeson's JSON and Bson objects";
        license = "unknown";
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "Agata" = callPackage
@@ -1160,6 +1158,7 @@ self: {
        description = "Strongly typed Attribute Grammars implemented using type-level programming";
        license = lib.licenses.gpl3Only;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "AttoBencode" = callPackage
@@ -2553,6 +2552,7 @@ self: {
        description = "cwmwl udp message queue";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "COrdering" = callPackage
@@ -5328,7 +5328,6 @@ self: {
        description = "A library of efficient, purely-functional data structures (Core Implementations)";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "EditTimeReport" = callPackage
@@ -6189,7 +6188,6 @@ self: {
        description = "Finite totally-ordered sets";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "Finance-Quote-Yahoo" = callPackage
@@ -9279,7 +9277,7 @@ self: {
        benchmarkHaskellDepends = [ base gauge ];
        description = "quantitative finance library";
        license = lib.licenses.mit;
-       badPlatforms = [ "aarch64-linux" "armv7l-linux" ];
+       platforms = lib.platforms.x86;
        hydraPlatforms = lib.platforms.none;
        broken = true;
      }) {inherit (pkgs) gsl;};
@@ -9314,6 +9312,7 @@ self: {
        description = "Haskell binding to ROOT Core modules";
        license = lib.licenses.lgpl21Only;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "HROOT-graf" = callPackage
@@ -9522,8 +9521,8 @@ self: {
      }:
      mkDerivation {
        pname = "HSmarty";
-       version = "0.4.1";
-       sha256 = "1rfpghc9wl1b4zs5q2k4ndkvxhf6bc5qkm6vfvlfy64c79q96mq3";
+       version = "0.4.2";
+       sha256 = "1iflnnnpriv6mgbp60a7frxwxz1zpd3xmln59y8z23s2a4xxi8xc";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson attoparsec attoparsec-expr base bytestring filepath Glob HTTP
@@ -9913,6 +9912,8 @@ self: {
        pname = "HaRe";
        version = "0.8.4.1";
        sha256 = "16ld7lrdf6vjmxam4kfc6zyy2g4baw7mr9ha39nrxjq0p8d4hn3v";
+       revision = "1";
+       editedCabalFile = "0szsdf6w588ry2z1a093r440h9w6qp4b2qh55vzcb06rif8bgc0p";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -10087,6 +10088,7 @@ self: {
        description = "Aggression analysis for Tweets on Twitter";
        license = lib.licenses.gpl2Only;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "HandlerSocketClient" = callPackage
@@ -10154,9 +10156,7 @@ self: {
        ];
        description = "Yet another Hangman game";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "hangman-ascii";
-       broken = true;
      }) {};
 
   "HappyTree" = callPackage
@@ -10410,8 +10410,6 @@ self: {
        ];
        description = "Client support for POP3, SMTP, and IMAP";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "HaskellNet-SSL" = callPackage
@@ -10429,7 +10427,6 @@ self: {
        ];
        description = "Helpers to connect to SSL/TLS mail servers with HaskellNet";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "HaskellTorrent" = callPackage
@@ -13125,7 +13122,6 @@ self: {
        description = "List transformer";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "ListTree" = callPackage
@@ -13615,7 +13611,6 @@ self: {
        description = "Class of key-value maps";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "MapWith" = callPackage
@@ -15915,8 +15910,6 @@ self: {
        testHaskellDepends = [ base QuickCheck ];
        description = "Priority Search Queue";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "PTQ" = callPackage
@@ -16713,6 +16706,7 @@ self: {
        description = "Auto-active verification of floating-point programs";
        license = lib.licenses.mpl20;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "Proper" = callPackage
@@ -17166,6 +17160,7 @@ self: {
        description = "A reflective JSON serializer/parser";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "RLP" = callPackage
@@ -18336,6 +18331,7 @@ self: {
        description = "translate a SVD of a Microcontroller to Haskell tables";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "SVG2Q" = callPackage
@@ -18732,7 +18728,6 @@ self: {
        description = "See README for more info";
        license = lib.licenses.mpl20;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "ShellCheck_0_7_2" = callPackage
@@ -18931,7 +18926,6 @@ self: {
        description = "A Virtual Dom in pure Haskell, based on Html as an Alignable Functor";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "Shpadoinkle-backend-snabbdom" = callPackage
@@ -18963,7 +18957,6 @@ self: {
        description = "A backend for rendering Shpadoinkle as Text";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "Shpadoinkle-console" = callPackage
@@ -19084,7 +19077,6 @@ self: {
        description = "A typed, template generated Html DSL, and helpers";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "Shpadoinkle-isreal" = callPackage
@@ -19328,7 +19320,6 @@ self: {
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
        mainProgram = "simpleserver";
-       broken = true;
      }) {};
 
   "SimpleTableGenerator" = callPackage
@@ -20082,6 +20073,7 @@ self: {
        description = "Library which aids constructing generic (SYB3-based) widgets";
        license = "LGPL";
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "SyntaxMacros" = callPackage
@@ -20999,8 +20991,6 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Some Nat-indexed types for GHC";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "TypingTester" = callPackage
@@ -21670,8 +21660,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "WeakSets";
-       version = "1.2.4.0";
-       sha256 = "1hfs3zd9lq9m8fczs8mrl0k61005yv8ia44c4ls6mgfya606i8r3";
+       version = "1.3.0.0";
+       sha256 = "10hsxichzxs73rbj8nv65xrk376gh5wi6rfzjg0w9qyr4wpzdp2y";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base ];
        description = "Simple set types. Useful to create sets of arbitrary types and nested sets.";
@@ -21856,12 +21846,12 @@ self: {
        platforms = lib.platforms.windows;
      }) {};
 
-  "Win32_2_13_2_1" = callPackage
+  "Win32_2_13_3_0" = callPackage
     ({ mkDerivation }:
      mkDerivation {
        pname = "Win32";
-       version = "2.13.2.1";
-       sha256 = "1fn4z7spq0w2bajg6q8qw6mn3kpz07356zc0shpks8cf6gkmyb8h";
+       version = "2.13.3.0";
+       sha256 = "1vyml4dz46xvrk7zp0n944x9cl0hy7qnw2z8yh92d0gip25dxky4";
        description = "A binding to Windows Win32 API";
        license = lib.licenses.bsd3;
        platforms = lib.platforms.windows;
@@ -24815,6 +24805,7 @@ self: {
        description = "A full-featured library for parsing, validating, and rendering email addresses";
        license = lib.licenses.bsd2;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "adhoc-network" = callPackage
@@ -25054,8 +25045,6 @@ self: {
        ];
        description = "Generic operations for real functions";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "aern2-mfun" = callPackage
@@ -25076,7 +25065,6 @@ self: {
        ];
        description = "Multi-variate real function optimisation and proving";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "aern2-mfun-benchmark-optimisation";
      }) {};
 
@@ -25647,8 +25635,6 @@ self: {
        libraryHaskellDepends = [ aeson base text vector ];
        description = "Aeson helper func";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "aeson-injector" = callPackage
@@ -25685,8 +25671,6 @@ self: {
        testHaskellDepends = [ base doctest ];
        description = "Aeson instances for iproute types";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "aeson-json-ast" = callPackage
@@ -25722,16 +25706,17 @@ self: {
 
   "aeson-match-qq" = callPackage
     ({ mkDerivation, aeson, aeson-qq, attoparsec, base, bytestring
-     , containers, either, haskell-src-meta, hspec, scientific
-     , template-haskell, text, unordered-containers, vector
+     , case-insensitive, containers, either, haskell-src-meta, hspec
+     , scientific, template-haskell, text, unordered-containers, vector
      }:
      mkDerivation {
        pname = "aeson-match-qq";
-       version = "1.4.2";
-       sha256 = "1dajffzyqcfnrjzmg05gw6kjcfjmn9p9fxfszdgnipx1isr6cn2l";
+       version = "1.4.3";
+       sha256 = "0zml908g96x6xqzpa5dv2p46y9rn8kfp10xw6954xabqlba8d0rv";
        libraryHaskellDepends = [
-         aeson attoparsec base bytestring containers either haskell-src-meta
-         scientific template-haskell text unordered-containers vector
+         aeson attoparsec base bytestring case-insensitive containers either
+         haskell-src-meta scientific template-haskell text
+         unordered-containers vector
        ];
        testHaskellDepends = [
          aeson aeson-qq base hspec unordered-containers
@@ -25951,8 +25936,6 @@ self: {
        ];
        description = "Quick JSON extractions with Aeson";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "aeson-result" = callPackage
@@ -25964,7 +25947,6 @@ self: {
        libraryHaskellDepends = [ aeson aeson-helper base text ];
        description = "API Result for aeson";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "aeson-schema" = callPackage
@@ -26239,8 +26221,6 @@ self: {
        ];
        description = "Wrappers to derive-via Aeson ToJSON/FromJSON typeclasses";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "aeson-with" = callPackage
@@ -32174,8 +32154,6 @@ self: {
        ];
        description = "An implementation of the AOS signatures";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "aosd" = callPackage
@@ -32527,6 +32505,7 @@ self: {
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
        mainProgram = "factom-app";
+       broken = true;
      }) {};
 
   "api-rpc-pegnet" = callPackage
@@ -32586,8 +32565,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion text time ];
        description = "DSL for generating API boilerplate and docs";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "api-yoti" = callPackage
@@ -33747,8 +33724,6 @@ self: {
        ];
        description = "Distribute hackage packages to archlinux";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "arch-web" = callPackage
@@ -34869,7 +34844,6 @@ self: {
        testHaskellDepends = [ base hedgehog text ];
        description = "The ASCII character set and encoding";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ascii_1_2_3_0" = callPackage
@@ -35006,8 +34980,6 @@ self: {
        ];
        description = "ASCII representations of numbers";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "ascii-numbers_1_1_0_0" = callPackage
@@ -35028,7 +35000,6 @@ self: {
        description = "ASCII representations of numbers";
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "ascii-predicates" = callPackage
@@ -36843,7 +36814,6 @@ self: {
        ];
        description = "Parse IP data types with attoparsec";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "attoparsec-iso8601" = callPackage
@@ -36994,7 +36964,6 @@ self: {
        ];
        description = "URI parser / printer using attoparsec";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "attoparsec-varword" = callPackage
@@ -38275,7 +38244,6 @@ self: {
        ];
        description = "Capture and manage AWS EC2 known_host pubkeys";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "aws-elastic-transcoder" = callPackage
@@ -38825,8 +38793,6 @@ self: {
        benchmarkHaskellDepends = [ async base criterion random time ];
        description = "A client for AWS X-Ray";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "aws-xray-client-persistent" = callPackage
@@ -38843,7 +38809,6 @@ self: {
        ];
        description = "A client for AWS X-Ray integration with Persistent";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "aws-xray-client-wai" = callPackage
@@ -38861,7 +38826,6 @@ self: {
        ];
        description = "A client for AWS X-Ray integration with WAI";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "axel" = callPackage
@@ -39635,8 +39599,6 @@ self: {
        testHaskellDepends = [ base ];
        description = "For when a type should never be an instance of a class";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "bank-holiday-usa" = callPackage
@@ -39866,12 +39828,12 @@ self: {
        broken = true;
      }) {};
 
-  "base_4_16_2_0" = callPackage
+  "base_4_16_3_0" = callPackage
     ({ mkDerivation, ghc-bignum, ghc-prim, rts }:
      mkDerivation {
        pname = "base";
-       version = "4.16.2.0";
-       sha256 = "015qxwjg47nk5kfp53xlv6pnl6sv7gv9szlvscnglhc00p6iasr9";
+       version = "4.16.3.0";
+       sha256 = "1jgm0kpcn6b2xvnhh5l09c2khlqz85qj47il2wxalf904iw9262c";
        libraryHaskellDepends = [ ghc-bignum ghc-prim rts ];
        description = "Basic libraries";
        license = lib.licenses.bsd3;
@@ -40591,7 +40553,6 @@ self: {
        description = "Lifting values from base types";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "basic-cpuid" = callPackage
@@ -41035,7 +40996,6 @@ self: {
        ];
        description = "Language tags as specified by BCP 47";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "bcp47-orphans" = callPackage
@@ -41055,7 +41015,6 @@ self: {
        ];
        description = "BCP47 orphan instances";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "bcrypt" = callPackage
@@ -41939,9 +41898,7 @@ self: {
        ];
        description = "A horizontal version of tetris for braille users";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "betris";
-       broken = true;
      }) {};
 
   "between" = callPackage
@@ -42487,7 +42444,7 @@ self: {
        mainProgram = "binance-exports";
      }) {};
 
-  "binary_0_8_9_0" = callPackage
+  "binary_0_8_9_1" = callPackage
     ({ mkDerivation, array, attoparsec, base, base-orphans, bytestring
      , Cabal, cereal, containers, criterion, deepseq, directory
      , filepath, generic-deriving, HUnit, mtl, QuickCheck, random
@@ -42496,8 +42453,8 @@ self: {
      }:
      mkDerivation {
        pname = "binary";
-       version = "0.8.9.0";
-       sha256 = "0nv1jpa4c982ic1pqi9nb7n1rsj1vwbi733yim3j3vh5pn45cv2v";
+       version = "0.8.9.1";
+       sha256 = "1h7bmrzipfkglh627dmwm7vqf7akkilmfz5qr85rpz1d8miwl8dc";
        libraryHaskellDepends = [ array base bytestring containers ];
        testHaskellDepends = [
          array base base-orphans bytestring Cabal containers directory
@@ -44850,21 +44807,21 @@ self: {
      }) {};
 
   "bitcoin-scripting" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, cereal, containers
-     , haskoin-core, tasty, tasty-hunit, tasty-quickcheck, text
-     , transformers
+    ({ mkDerivation, attoparsec, base, bytes, bytestring, cereal
+     , containers, haskoin-core, tasty, tasty-hunit, tasty-quickcheck
+     , text, transformers, unordered-containers, vector
      }:
      mkDerivation {
        pname = "bitcoin-scripting";
-       version = "0.2.0";
-       sha256 = "00ml3vnfigymzn8qqzl241q1k0zc4gn9p5zv1339jqv5fz0dvg1b";
+       version = "0.3.0";
+       sha256 = "1iypj388zlly1i80vdwzz4zhcn2vajq5b3fbhaabc3348fhsibas";
        libraryHaskellDepends = [
          attoparsec base bytestring cereal containers haskoin-core text
-         transformers
+         transformers unordered-containers vector
        ];
        testHaskellDepends = [
-         base bytestring cereal haskoin-core tasty tasty-hunit
-         tasty-quickcheck text
+         base bytes bytestring cereal haskoin-core tasty tasty-hunit
+         tasty-quickcheck text unordered-containers
        ];
        description = "Resources for working with miniscript, and script descriptors";
        license = lib.licenses.bsd3;
@@ -46192,8 +46149,6 @@ self: {
        libraryHaskellDepends = [ base blaze-html text ];
        description = "An HTML renderer for Haskell";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "blockchain" = callPackage
@@ -46244,8 +46199,6 @@ self: {
        testToolDepends = [ tasty-discover ];
        description = "API definitions for blockfrost.io";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "blockfrost-client" = callPackage
@@ -46271,7 +46224,6 @@ self: {
        testToolDepends = [ tasty-discover ];
        description = "blockfrost.io basic client";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
        maintainers = [ lib.maintainers.sorki ];
      }) {};
 
@@ -46294,7 +46246,6 @@ self: {
        ];
        description = "blockfrost.io common client definitions / instances";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "blockfrost-pretty" = callPackage
@@ -46312,7 +46263,6 @@ self: {
        ];
        description = "blockfrost.io pretty-printing utilities";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "blockhash" = callPackage
@@ -46487,6 +46437,7 @@ self: {
        license = lib.licenses.gpl2Only;
        hydraPlatforms = lib.platforms.none;
        mainProgram = "blosum";
+       broken = true;
      }) {};
 
   "bloxorz" = callPackage
@@ -46708,8 +46659,8 @@ self: {
        pname = "bm";
        version = "0.1.0.2";
        sha256 = "1rpwlbhn5fkndw19ryksm9x2fcg7z7xscigi4zfs9v4w16skn7zj";
-       revision = "2";
-       editedCabalFile = "00n49679ib14lkv1ji988rcjpsp42v213bahiga6xgqfdpf486zx";
+       revision = "3";
+       editedCabalFile = "12san5rjl486n4wf3918bd3rm64n52d82vgz85pjb8gc2s8drdk1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -49994,7 +49945,6 @@ self: {
        ];
        description = "Universal hashing of bytes";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "bytelog" = callPackage
@@ -50582,6 +50532,28 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "bytestring-tree-builder_0_2_7_10" = callPackage
+    ({ mkDerivation, base, base-prelude, bytestring, criterion, deepseq
+     , QuickCheck, quickcheck-instances, tasty, tasty-hunit
+     , tasty-quickcheck, text
+     }:
+     mkDerivation {
+       pname = "bytestring-tree-builder";
+       version = "0.2.7.10";
+       sha256 = "0g9npnp691v34yyfhsz95r8jahvnxdcadv0xl8amq36n9hi2la19";
+       libraryHaskellDepends = [ base bytestring text ];
+       testHaskellDepends = [
+         base-prelude bytestring QuickCheck quickcheck-instances tasty
+         tasty-hunit tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [
+         base-prelude bytestring criterion deepseq
+       ];
+       description = "A very efficient ByteString builder implementation based on the binary tree";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "bytestring-trie" = callPackage
     ({ mkDerivation, base, binary, bytestring, criterion, deepseq
      , QuickCheck, smallcheck, tasty, tasty-hunit, tasty-quickcheck
@@ -51347,9 +51319,7 @@ self: {
        executableHaskellDepends = [ base Cabal debian lens mtl pretty ];
        description = "Create a Debianization for a Cabal package";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "cabal-debian";
-       broken = true;
      }) {};
 
   "cabal-dependency-licenses" = callPackage
@@ -51374,8 +51344,8 @@ self: {
     ({ mkDerivation, base, Cabal, QuickCheck }:
      mkDerivation {
        pname = "cabal-detailed-quickcheck";
-       version = "0.1.1.4";
-       sha256 = "0rgv66b26kjzl06xlh1x0l4xxc8a0fvzvj6jm9asya2wrmvs9z9m";
+       version = "0.1.1.6";
+       sha256 = "096arcxxmr4dlfdm32zy7f4szrb96ph1i8la1l8xifb1q76yxzph";
        libraryHaskellDepends = [ base Cabal QuickCheck ];
        description = "QuickCheck for Cabal tests";
        license = lib.licenses.mit;
@@ -51649,8 +51619,8 @@ self: {
        pname = "cabal-hoogle";
        version = "0.1.0.0";
        sha256 = "0k37r2wismimnj10cclvs1aikzz1c90d40l19hkrk0a47k274yi1";
-       revision = "2";
-       editedCabalFile = "0a46rwql5r9iv42n32vzpmlci2zchkr93c23yg69k82q90j0zw2h";
+       revision = "3";
+       editedCabalFile = "18ra82v3pqws7n3dn4wxs0bsdhlksnimx9vcfri49xx4s9j59a0d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -51662,9 +51632,7 @@ self: {
        testToolDepends = [ hoogle tasty-discover ];
        description = "generate hoogle database for cabal project and dependencies";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "cabal-hoogle";
-       broken = true;
      }) {};
 
   "cabal-info" = callPackage
@@ -52327,7 +52295,6 @@ self: {
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
        mainProgram = "cabal2json";
-       broken = true;
      }) {};
 
   "cabal2nix" = callPackage
@@ -52572,7 +52539,6 @@ self: {
        librarySystemDepends = [ cabocha ];
        testHaskellDepends = [ base text-format ];
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {cabocha = null;};
 
   "cache" = callPackage
@@ -52999,7 +52965,6 @@ self: {
        ];
        description = "Third cake the Makefile EDSL";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "cakyrespa" = callPackage
@@ -53092,8 +53057,8 @@ self: {
      }:
      mkDerivation {
        pname = "calamity";
-       version = "0.6.0.0";
-       sha256 = "19m6nz9753hbm1ar6269qrlcxgf90j3x2lxqhq05qhssjg76hrxf";
+       version = "0.7.0.1";
+       sha256 = "16hk4c8yry3yrw2isjd2lamdadvfqm210cnpiyllp9lfgn24zdph";
        libraryHaskellDepends = [
          aeson aeson-optics async base bytestring calamity-commands colour
          concurrent-extra connection containers data-default-class
@@ -53273,29 +53238,6 @@ self: {
      }:
      mkDerivation {
        pname = "call-alloy";
-       version = "0.3.0.2";
-       sha256 = "1bigpy4338zkvcxccnri3xfav7wdz3zblkzzwm0nrnyz7an4mgy6";
-       libraryHaskellDepends = [
-         base bytestring containers directory extra file-embed filepath
-         hashable mtl process split trifecta unix
-       ];
-       testHaskellDepends = [
-         base bytestring containers directory extra file-embed filepath
-         hashable hspec mtl process split trifecta unix
-       ];
-       description = "A simple library to call Alloy given a specification";
-       license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "call-alloy_0_3_0_3" = callPackage
-    ({ mkDerivation, base, bytestring, containers, directory, extra
-     , file-embed, filepath, hashable, hspec, mtl, process, split
-     , trifecta, unix
-     }:
-     mkDerivation {
-       pname = "call-alloy";
        version = "0.3.0.3";
        sha256 = "1clzw0sk13gzwk2ikxlz7p0f70pb2246pnd01ggjm0nrfykri18p";
        libraryHaskellDepends = [
@@ -53692,8 +53634,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Convert data to and from a natural number representation";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "cao" = callPackage
@@ -55294,15 +55234,15 @@ self: {
        broken = true;
      }) {};
 
-  "cayley-client_0_4_19" = callPackage
+  "cayley-client_0_4_19_1" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, binary, bytestring
      , exceptions, hspec, http-client, http-conduit, lens, lens-aeson
      , mtl, text, transformers, unordered-containers, vector
      }:
      mkDerivation {
        pname = "cayley-client";
-       version = "0.4.19";
-       sha256 = "0qfi56wkf9ycd7dhah01pc1vlaims4p8mscdcq7xc3pc3m4vvjs2";
+       version = "0.4.19.1";
+       sha256 = "195qkxxmzbfaynzni7bv99iv7ia2k0ijhkd260nfdaa3z98j4rkz";
        libraryHaskellDepends = [
          aeson attoparsec base binary bytestring exceptions http-client
          http-conduit lens lens-aeson mtl text transformers
@@ -56365,6 +56305,8 @@ self: {
        pname = "changelogged";
        version = "0.2.0";
        sha256 = "05viyx641zwxf222gvhyhs5dclwbylp7s32n7h3zzja4bycf03f2";
+       revision = "1";
+       editedCabalFile = "0kl6gamkbhyk7wc8vdv03pmfds1nw86d6w8niwwjl3ivbw02bvr5";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -56557,8 +56499,8 @@ self: {
      }:
      mkDerivation {
        pname = "chart-svg";
-       version = "0.3.0";
-       sha256 = "07k8r0njywbgb77mjzmsyfhmzv01spyjcdvlj6jd4h2fhjmqpmwb";
+       version = "0.3.1";
+       sha256 = "1gfz162afb9g0fh511a1m5wpxa4iv2fym5a85i3qrznnx62ahszv";
        libraryHaskellDepends = [
          adjunctions attoparsec base Color containers cubicbezier foldl
          formatn lucid mtl neat-interpolation numhask numhask-array
@@ -58272,7 +58214,7 @@ self: {
        license = lib.licenses.bsd2;
      }) {};
 
-  "citeproc_0_8" = callPackage
+  "citeproc_0_8_0_1" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring
      , case-insensitive, containers, data-default, Diff, directory
      , file-embed, filepath, mtl, pandoc-types, pretty, safe, scientific
@@ -58281,10 +58223,8 @@ self: {
      }:
      mkDerivation {
        pname = "citeproc";
-       version = "0.8";
-       sha256 = "13f89nnx1g91cpnw1cp28nv33lrvp8swdkxlcbgvsfm38gs684qc";
-       revision = "1";
-       editedCabalFile = "1v8rb3k6wcx8995hs0zdd1gwvs42rb2ggpa526md5fjag0qxx5y2";
+       version = "0.8.0.1";
+       sha256 = "1dxzpyh6jkhm6pz0qiaf6zchldhibh24drcn75qh1yp0m6km5a37";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -59655,8 +59595,8 @@ self: {
      }:
      mkDerivation {
        pname = "cli-extras";
-       version = "0.2.0.0";
-       sha256 = "1xzpg8i06jix4dnbjanp85dgjhf4xf7am50k550d88nsnxi93byn";
+       version = "0.2.1.0";
+       sha256 = "1lg0ssbh2qhjjc31ins29ddy4lkzwxhlm3r9vcy1jk8al5aqa03f";
        libraryHaskellDepends = [
          aeson ansi-terminal base bytestring containers exceptions
          io-streams lens logging-effect monad-logger monad-loops mtl process
@@ -59664,42 +59604,42 @@ self: {
        ];
        description = "Miscellaneous utilities for building and working with command line interfaces";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "cli-git" = callPackage
     ({ mkDerivation, base, cli-extras, containers, data-default
-     , exceptions, lens, logging-effect, megaparsec, mtl, text
+     , exceptions, lens, logging-effect, megaparsec, mtl, text, which
      }:
      mkDerivation {
        pname = "cli-git";
-       version = "0.1.0.2";
-       sha256 = "08gjhg2bc8i9i1clpxp5bzk4sp4izfbhjqmbmfmqqzv6ci0p5fxx";
+       version = "0.2.0.0";
+       sha256 = "0sv4ycc6n54419bcg0i6vh8l5a1370l0k1qg9n1nydb9wx5n7927";
        libraryHaskellDepends = [
          base cli-extras containers data-default exceptions lens
-         logging-effect megaparsec mtl text
+         logging-effect megaparsec mtl text which
        ];
        description = "Bindings to the git command-line interface";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "cli-nix" = callPackage
     ({ mkDerivation, base, cli-extras, data-default, exceptions, lens
-     , logging-effect, mtl, text
+     , logging-effect, mtl, text, which
      }:
      mkDerivation {
        pname = "cli-nix";
-       version = "0.1.0.1";
-       sha256 = "1ynrni7zyhw8g70bdmd5vamnkw5vac4n5nmxwyka52nqy3zrrlwj";
+       version = "0.2.0.0";
+       sha256 = "02350jvbgapxn14zx0knzyxmdlrq2yk460wiw9p8aq860f299bzh";
        libraryHaskellDepends = [
          base cli-extras data-default exceptions lens logging-effect mtl
-         text
+         text which
        ];
        description = "Bindings to the nix command-line interface";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "cli-setup" = callPackage
@@ -59768,6 +59708,7 @@ self: {
        description = "A Haskell library as database client for Clickhouse";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "clientsession" = callPackage
@@ -59894,6 +59835,30 @@ self: {
        mainProgram = "climb-demo";
      }) {};
 
+  "climb_0_4_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, exceptions
+     , linenoise, mtl, text, unliftio-core
+     }:
+     mkDerivation {
+       pname = "climb";
+       version = "0.4.0";
+       sha256 = "0b27hlr70vcm2mklbnrsxk306d684cgbig8qgczgfx7r432wghg1";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring containers exceptions linenoise mtl text
+         unliftio-core
+       ];
+       executableHaskellDepends = [
+         base bytestring containers exceptions linenoise mtl text
+         unliftio-core
+       ];
+       description = "Building blocks for a GHCi-like REPL with colon-commands";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       mainProgram = "climb-demo";
+     }) {};
+
   "clingo" = callPackage
     ({ mkDerivation, base, bifunctors, clingo, deepseq, exceptions
      , hashable, mtl, StateVar, text, transformers, wl-pprint-text
@@ -61780,7 +61745,6 @@ self: {
        ];
        description = "Equivariant CSM classes of coincident root loci";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "cointracking-imports" = callPackage
@@ -63043,7 +63007,6 @@ self: {
        description = "Compatibility checker for OpenAPI";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "compact" = callPackage
@@ -63639,8 +63602,8 @@ self: {
      }:
      mkDerivation {
        pname = "composite-aeson";
-       version = "0.8.0.0";
-       sha256 = "0j74nz3ih5hyl8ljld9m9nd1zip9ibpm55bavgzpp2wknxsrkwzg";
+       version = "0.8.1.0";
+       sha256 = "1xpb2m929si22igssijbmacmc2s36h7mq59k0hqwb7i9bnwzzpg5";
        libraryHaskellDepends = [
          aeson aeson-better-errors base composite-base containers
          contravariant generic-deriving hashable lens mmorph mtl profunctors
@@ -63676,8 +63639,8 @@ self: {
     ({ mkDerivation, base, composite-aeson, path }:
      mkDerivation {
        pname = "composite-aeson-path";
-       version = "0.8.0.0";
-       sha256 = "05n7kcgxgwc06ja3yhspmidi5i4a5j5xj8ivlkh7g5plm4crrvlp";
+       version = "0.8.1.0";
+       sha256 = "11f9xr2zfqj2bskr7yypxrd5qa64lzsbgdr6h3yy7ysr6cwpaqw7";
        libraryHaskellDepends = [ base composite-aeson path ];
        description = "Formatting data for the path library";
        license = lib.licenses.bsd3;
@@ -63691,8 +63654,8 @@ self: {
      }:
      mkDerivation {
        pname = "composite-aeson-refined";
-       version = "0.8.0.0";
-       sha256 = "109fd2y7c0jq620rdyghkk6f4ikx8ajxxw7zia6dq3zz5rkpqj16";
+       version = "0.8.1.0";
+       sha256 = "1w6dp10xxd391dhj1ghqnld27b36c86zjrry0r0xz1yn6bbxw97s";
        libraryHaskellDepends = [
          aeson-better-errors base composite-aeson mtl refined
        ];
@@ -63736,8 +63699,8 @@ self: {
      }:
      mkDerivation {
        pname = "composite-base";
-       version = "0.8.0.0";
-       sha256 = "1zl2jxgsa55zkzrji4cwfrf38ijm8qby66rk7wxl3nri69914d0i";
+       version = "0.8.1.0";
+       sha256 = "18sq4alpkwidgh6pd9yxnxrq8p11pfwxg84fsjzzxlxqcl50bpm8";
        libraryHaskellDepends = [
          base deepseq exceptions lens monad-control mtl profunctors
          template-haskell text transformers transformers-base unliftio-core
@@ -63756,8 +63719,8 @@ self: {
     ({ mkDerivation, base, binary, composite-base }:
      mkDerivation {
        pname = "composite-binary";
-       version = "0.8.0.0";
-       sha256 = "1qq8jslsr58kpvrbhhv27x5vn564y8fiq9djdvlqri10012v1bbm";
+       version = "0.8.1.0";
+       sha256 = "1vhcv7jmh4ckf9837dpkzpjrh65alndgngxj15igxrwbsycl2wp9";
        libraryHaskellDepends = [ base binary composite-base ];
        description = "Orphan binary instances";
        license = lib.licenses.bsd3;
@@ -63807,23 +63770,21 @@ self: {
      }:
      mkDerivation {
        pname = "composite-ekg";
-       version = "0.8.0.0";
-       sha256 = "19cgfha3syvpphqlysn4gj7x9390glmxmkmn2nlp9z6arrmiiiyx";
+       version = "0.8.1.0";
+       sha256 = "17i8mi9i8x3d9idfy60picz5qjqhl2wszjdbm8cj5szjw94lmka5";
        libraryHaskellDepends = [
          base composite-base ekg-core lens text vinyl
        ];
        description = "EKG Metrics for Vinyl records";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "composite-hashable" = callPackage
     ({ mkDerivation, base, composite-base, hashable }:
      mkDerivation {
        pname = "composite-hashable";
-       version = "0.8.0.0";
-       sha256 = "12rb0iaxlx1hci14pa98maw0pjghrnirxfn5z1mrn139938wdha6";
+       version = "0.8.1.0";
+       sha256 = "0gz5bqyhwm863d6hxd67s6xbvk8shh2x7ggz1iyf48s16mr9i1w7";
        libraryHaskellDepends = [ base composite-base hashable ];
        description = "Orphan hashable instances";
        license = lib.licenses.bsd3;
@@ -63863,25 +63824,23 @@ self: {
   "composite-opaleye" = callPackage
     ({ mkDerivation, base, bytestring, composite-base, hspec, lens
      , opaleye, postgresql-simple, product-profunctors, profunctors
-     , QuickCheck, template-haskell, text, vinyl
+     , QuickCheck, split, template-haskell, text, vinyl
      }:
      mkDerivation {
        pname = "composite-opaleye";
-       version = "0.8.0.0";
-       sha256 = "1h0xa0x038mgpmp9chycgf9bm8w4zfnsdcfzb4zxjw1hyv8csl8s";
+       version = "0.8.1.0";
+       sha256 = "1i0algplj79vafqai57hywcar4j1gi3w9lnq4hv8dv37z0isc6f4";
        libraryHaskellDepends = [
          base bytestring composite-base lens opaleye postgresql-simple
-         product-profunctors profunctors template-haskell text vinyl
+         product-profunctors profunctors split template-haskell text vinyl
        ];
        testHaskellDepends = [
          base bytestring composite-base hspec lens opaleye postgresql-simple
-         product-profunctors profunctors QuickCheck template-haskell text
-         vinyl
+         product-profunctors profunctors QuickCheck split template-haskell
+         text vinyl
        ];
        description = "Opaleye SQL for Vinyl records";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "composite-swagger" = callPackage
@@ -63891,8 +63850,8 @@ self: {
      }:
      mkDerivation {
        pname = "composite-swagger";
-       version = "0.8.0.0";
-       sha256 = "1ikq68bnfgxa003y0q3g512h40and5l0k4qm3yb7bpbinbip9123";
+       version = "0.8.1.0";
+       sha256 = "1229c3wpkmnwmkzgcxs7pc01dmszvipvlq7dc1h1lvgi2jj24pg8";
        libraryHaskellDepends = [
          base composite-base insert-ordered-containers lens swagger2
          template-haskell text vinyl
@@ -64040,7 +63999,6 @@ self: {
        description = "Plugin to generalize comprehensions";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "compressed" = callPackage
@@ -64960,6 +64918,42 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "conduit-algorithms_0_0_13_0" = callPackage
+    ({ mkDerivation, async, base, bytestring, bzlib-conduit, conduit
+     , conduit-combinators, conduit-extra, conduit-zstd, containers
+     , criterion, deepseq, directory, exceptions, fingertree, HUnit
+     , lzma-conduit, monad-control, mtl, QuickCheck, resourcet, stm
+     , stm-conduit, streaming-commons, tasty, tasty-hunit
+     , tasty-quickcheck, tasty-th, transformers, unliftio-core, vector
+     }:
+     mkDerivation {
+       pname = "conduit-algorithms";
+       version = "0.0.13.0";
+       sha256 = "1i5jq66xylcnk3yhv2m6lhyqfdrwr94w8v67jzwlvja15jv7mj9v";
+       libraryHaskellDepends = [
+         async base bytestring bzlib-conduit conduit conduit-combinators
+         conduit-extra conduit-zstd containers deepseq exceptions fingertree
+         lzma-conduit monad-control mtl resourcet stm stm-conduit
+         streaming-commons transformers unliftio-core vector
+       ];
+       testHaskellDepends = [
+         async base bytestring bzlib-conduit conduit conduit-combinators
+         conduit-extra conduit-zstd containers deepseq directory exceptions
+         fingertree HUnit lzma-conduit monad-control mtl QuickCheck
+         resourcet stm stm-conduit streaming-commons tasty tasty-hunit
+         tasty-quickcheck tasty-th transformers unliftio-core vector
+       ];
+       benchmarkHaskellDepends = [
+         async base bytestring bzlib-conduit conduit conduit-combinators
+         conduit-extra conduit-zstd containers criterion deepseq exceptions
+         fingertree lzma-conduit monad-control mtl resourcet stm stm-conduit
+         streaming-commons transformers unliftio-core vector
+       ];
+       description = "Conduit-based algorithms";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "conduit-audio" = callPackage
     ({ mkDerivation, base, conduit, vector }:
      mkDerivation {
@@ -66073,7 +66067,6 @@ self: {
        ];
        description = "Vinyl-style extensible graphs";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "conjugateGradient" = callPackage
@@ -66375,7 +66368,6 @@ self: {
        description = "Constrained Categories";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "constrained-dynamic" = callPackage
@@ -66609,8 +66601,6 @@ self: {
        testToolDepends = [ markdown-unlit ];
        description = "Haskell version of the Construct library for easy specification of file formats";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "constructible" = callPackage
@@ -67724,6 +67714,7 @@ self: {
        description = "A compiler for Copilot targeting C99";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "copilot-cbmc" = callPackage
@@ -67758,8 +67749,6 @@ self: {
        ];
        description = "An intermediate representation for Copilot";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "copilot-frp-sketch" = callPackage
@@ -67829,6 +67818,7 @@ self: {
        description = "A compiler for CoPilot targeting SBV";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "copilot-theorem" = callPackage
@@ -68007,7 +67997,7 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "core-program_0_5_1_1" = callPackage
+  "core-program_0_5_2_0" = callPackage
     ({ mkDerivation, async, base, bytestring, core-data, core-text
      , directory, exceptions, filepath, fsnotify, hashable, hourglass
      , mtl, prettyprinter, safe-exceptions, stm, template-haskell
@@ -68016,8 +68006,8 @@ self: {
      }:
      mkDerivation {
        pname = "core-program";
-       version = "0.5.1.1";
-       sha256 = "08hnal9lv92aigivfcz25rap64bl8zbpin1ln61irp0zw13sq6s8";
+       version = "0.5.2.0";
+       sha256 = "1yagjv69q49lchbp6qb51qb5s6pmszz522y0r645kmqp7chb9nqf";
        libraryHaskellDepends = [
          async base bytestring core-data core-text directory exceptions
          filepath fsnotify hashable hourglass mtl prettyprinter
@@ -68033,16 +68023,16 @@ self: {
     ({ mkDerivation, async, base, bytestring, core-data, core-program
      , core-text, exceptions, http-streams, io-streams, mtl
      , network-info, random, safe-exceptions, scientific, stm
-     , template-haskell, text, unix, zlib
+     , template-haskell, text, time, unix, zlib
      }:
      mkDerivation {
        pname = "core-telemetry";
-       version = "0.2.3.7";
-       sha256 = "1pr0rvkbxn9sp496ax4s6464aac2q1aiqd618xnm80v07myyfic5";
+       version = "0.2.5.0";
+       sha256 = "1wl9ijgbn6qjivl2yv7y9brh80rfissxhzqj6564bl9lhncjqdyp";
        libraryHaskellDepends = [
          async base bytestring core-data core-program core-text exceptions
          http-streams io-streams mtl network-info random safe-exceptions
-         scientific stm template-haskell text unix zlib
+         scientific stm template-haskell text time unix zlib
        ];
        description = "Advanced telemetry";
        license = lib.licenses.mit;
@@ -68116,7 +68106,6 @@ self: {
        description = "Interoperability with Wai/Warp";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "corebot-bliki" = callPackage
@@ -68451,8 +68440,6 @@ self: {
        ];
        description = "Country data type and functions";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "country-codes" = callPackage
@@ -68871,8 +68858,6 @@ self: {
        ];
        description = "Cassandra CQL binary protocol";
        license = "unknown";
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "cql-io" = callPackage
@@ -68901,6 +68886,7 @@ self: {
        description = "Cassandra CQL client";
        license = lib.licenses.mpl20;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "cql-io-tinylog" = callPackage
@@ -69678,6 +69664,22 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "criterion-measurement_0_1_4_0" = callPackage
+    ({ mkDerivation, aeson, base, base-compat, binary, containers
+     , deepseq, vector
+     }:
+     mkDerivation {
+       pname = "criterion-measurement";
+       version = "0.1.4.0";
+       sha256 = "01wrb38z16zjm85p5v1pj1qz4gijj0dl80pgzy5ggmzmfz8ibjrm";
+       libraryHaskellDepends = [
+         aeson base base-compat binary containers deepseq vector
+       ];
+       description = "Criterion measurement functionality and associated types";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "criterion-plus" = callPackage
     ({ mkDerivation, base, criterion, deepseq, HTF, HUnit, loch-th
      , monad-control, mtl, optparse-applicative, placeholders
@@ -70289,8 +70291,8 @@ self: {
        pname = "crypto-rng-effectful";
        version = "1.0.0.0";
        sha256 = "185ax4v4bfg944igscjg0vb0p15af4vwqdfn239x6xayfgy4xzl0";
-       revision = "1";
-       editedCabalFile = "1sdjafzvfz6jz0d217l3cr8z1x0fz6fhqm5igly3riwiww4zh4dj";
+       revision = "2";
+       editedCabalFile = "1jzfinvkwssplxrnpg8f9nckzabbzajbsfq4r675fvkv2h98ikz0";
        libraryHaskellDepends = [
          base bytestring crypto-rng effectful-core random
        ];
@@ -70423,6 +70425,7 @@ self: {
        description = "Interledger Crypto-Conditions";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "cryptohash" = callPackage
@@ -71455,7 +71458,6 @@ self: {
        description = "Haskell Implementation of Cuckoo Filters";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "cuckoo-filter" = callPackage
@@ -71813,9 +71815,7 @@ self: {
        executableHaskellDepends = [ base filepath optparse-applicative ];
        description = "A package for simple, fast radiocarbon calibration";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "currycarbon";
-       broken = true;
      }) {};
 
   "curryer" = callPackage
@@ -71864,6 +71864,7 @@ self: {
        description = "Fast, Haskell RPC";
        license = lib.licenses.publicDomain;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "curryrs" = callPackage
@@ -73544,6 +73545,20 @@ self: {
        broken = true;
      }) {};
 
+  "data-elevator" = callPackage
+    ({ mkDerivation, base, hspec }:
+     mkDerivation {
+       pname = "data-elevator";
+       version = "0.1.0.0";
+       sha256 = "1pv9z25fmqrjyh0zfbiy8wmcmhsr2r6x3hip8zgavaa7f5qb8n4y";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base hspec ];
+       description = "Coerce between unlifted boxed and lifted types";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "data-elf" = callPackage
     ({ mkDerivation, base, data-flags, data-serializer, data-sword }:
      mkDerivation {
@@ -75384,7 +75399,6 @@ self: {
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
        mainProgram = "moo-mysql";
-       broken = true;
      }) {};
 
   "dbmigrations-postgresql" = callPackage
@@ -75405,7 +75419,6 @@ self: {
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
        mainProgram = "moo-postgresql";
-       broken = true;
      }) {};
 
   "dbmigrations-sqlite" = callPackage
@@ -75422,7 +75435,6 @@ self: {
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
        mainProgram = "moo-sqlite";
-       broken = true;
      }) {};
 
   "dbmonitor" = callPackage
@@ -75451,7 +75463,9 @@ self: {
        ];
        description = "Data consistency alerting for PostgreSQL";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
        mainProgram = "dbmonitor";
+       broken = true;
      }) {};
 
   "dbus" = callPackage
@@ -76085,35 +76099,6 @@ self: {
      }:
      mkDerivation {
        pname = "debian";
-       version = "4.0.2";
-       sha256 = "1sp8vkg65fllvxk85sp34isc0zvmj0s72i138wz5vhj9hfmn2c71";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base bytestring bz2 Cabal containers directory either exceptions
-         filepath hostname HUnit lens ListLike mtl network-uri old-locale
-         parsec pretty process process-extras pureMD5 QuickCheck
-         regex-compat regex-tdfa SHA syb template-haskell temporary text
-         th-lift th-orphans time unix utf8-string zlib
-       ];
-       executableHaskellDepends = [ base directory filepath process ];
-       testHaskellDepends = [
-         base Cabal HUnit parsec pretty regex-tdfa text
-       ];
-       description = "Modules for working with the Debian package system";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "debian_4_0_4" = callPackage
-    ({ mkDerivation, base, bytestring, bz2, Cabal, containers
-     , directory, either, exceptions, filepath, hostname, HUnit, lens
-     , ListLike, mtl, network-uri, old-locale, parsec, pretty, process
-     , process-extras, pureMD5, QuickCheck, regex-compat, regex-tdfa
-     , SHA, syb, template-haskell, temporary, text, th-lift, th-orphans
-     , time, unix, utf8-string, zlib
-     }:
-     mkDerivation {
-       pname = "debian";
        version = "4.0.4";
        sha256 = "11510xb7a9nlvaygrmwbx9imagj8517iz2am6jv88934m0l5iy1n";
        isLibrary = true;
@@ -76131,7 +76116,6 @@ self: {
        ];
        description = "Modules for working with the Debian package system";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "debian-binary" = callPackage
@@ -76244,9 +76228,7 @@ self: {
        ];
        description = "secure remote debugging";
        license = lib.licenses.agpl3Only;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "debug-me";
-       broken = true;
      }) {};
 
   "debug-pp" = callPackage
@@ -76537,8 +76519,6 @@ self: {
        testToolDepends = [ markdown-unlit ];
        description = "Deep natural and unnatural tree transformations, including attribute grammars";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "deepcontrol" = callPackage
@@ -77258,7 +77238,6 @@ self: {
        description = "A dynamic environment for dependency injection";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "dep-t-value" = callPackage
@@ -77873,8 +77852,8 @@ self: {
      }:
      mkDerivation {
        pname = "deriving-trans";
-       version = "0.5.0.0";
-       sha256 = "0gbrlq02pyrjlsnpb96y5rv9zvip33zfqv865hmjzyj3ig938i1r";
+       version = "0.5.0.1";
+       sha256 = "1d9mrld6c6hcjzw2rhss83zhlsjy9fddfhg55fdrwsajr87zsppl";
        libraryHaskellDepends = [
          base monad-control monad-control-identity mtl transformers
          transformers-base
@@ -79152,6 +79131,7 @@ self: {
        description = "Parse a DHCP lease file";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "dhrun" = callPackage
@@ -79324,8 +79304,8 @@ self: {
      }:
      mkDerivation {
        pname = "diagnose";
-       version = "2.2.0";
-       sha256 = "04l3d9inhs0zwsvszgynchs0mzz3bixx0xyk5z5jg03alvy6s4mg";
+       version = "2.3.1";
+       sha256 = "09xyhg735pdws5gck2893gh1rhcx1xirv0n3kchgll9q19wh533l";
        libraryHaskellDepends = [
          array base data-default dlist hashable prettyprinter
          prettyprinter-ansi-terminal text unordered-containers wcwidth
@@ -80146,7 +80126,6 @@ self: {
        description = "Diff and patch";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "diff-gestalt" = callPackage
@@ -80838,8 +80817,6 @@ self: {
        ];
        description = "A convenient tagless EDSL";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "diohsc" = callPackage
@@ -80897,6 +80874,7 @@ self: {
        description = "Diplomacy board game";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "diplomacy-server" = callPackage
@@ -82550,7 +82528,6 @@ self: {
        ];
        description = "Quantify the diversity of a population";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "diversity";
      }) {};
 
@@ -83302,8 +83279,6 @@ self: {
        ];
        description = "An API client for docker written in Haskell";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "docker-build-cacher" = callPackage
@@ -83762,6 +83737,35 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "doctest-parallel_0_2_4" = callPackage
+    ({ mkDerivation, base, base-compat, Cabal, code-page, containers
+     , deepseq, directory, exceptions, extra, filepath, ghc, ghc-paths
+     , Glob, hspec, hspec-core, hspec-discover, HUnit, mockery, pretty
+     , process, QuickCheck, random, setenv, silently, stringbuilder, syb
+     , template-haskell, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "doctest-parallel";
+       version = "0.2.4";
+       sha256 = "0fzfhvam3j15vmh356svg6zlafbayaqmds8hki6jxrandj2d14kp";
+       libraryHaskellDepends = [
+         base base-compat Cabal code-page containers deepseq directory
+         exceptions extra filepath ghc ghc-paths Glob pretty process random
+         syb template-haskell transformers unordered-containers
+       ];
+       testHaskellDepends = [
+         base base-compat code-page containers deepseq directory exceptions
+         filepath ghc ghc-paths hspec hspec-core hspec-discover HUnit
+         mockery process QuickCheck setenv silently stringbuilder syb
+         transformers
+       ];
+       testToolDepends = [ hspec-discover ];
+       doHaddock = false;
+       description = "Test interactive Haskell examples";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "doctest-prop" = callPackage
     ({ mkDerivation, base, doctest, HUnit, QuickCheck }:
      mkDerivation {
@@ -83985,6 +83989,7 @@ self: {
        description = "Simple monadic DOM parser";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "dom-selector" = callPackage
@@ -84125,7 +84130,6 @@ self: {
        description = "Integration of domain with optics";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "dominion" = callPackage
@@ -84464,6 +84468,7 @@ self: {
        description = "Some special functions to work with lists (with zip)";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "doublify-toolkit" = callPackage
@@ -84912,6 +84917,28 @@ self: {
        mainProgram = "dprox";
      }) {};
 
+  "dr-cabal" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, async, base
+     , bytestring, colourista, optparse-applicative, relude
+     }:
+     mkDerivation {
+       pname = "dr-cabal";
+       version = "0.1.0.0";
+       sha256 = "046fm8pdbz2kib4n2nravy15skqwl031j4f0m58d0x0ksjq5yq4i";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty ansi-terminal async base bytestring colourista
+         optparse-applicative relude
+       ];
+       executableHaskellDepends = [ base relude ];
+       description = "See README for more info";
+       license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
+       mainProgram = "dr-cabal";
+       broken = true;
+     }) {};
+
   "drClickOn" = callPackage
     ({ mkDerivation, base, containers }:
      mkDerivation {
@@ -85540,9 +85567,7 @@ self: {
        ];
        description = "Network multiplayer 2D shooting game";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "dual";
-       broken = true;
      }) {};
 
   "dual-tree" = callPackage
@@ -85811,7 +85836,6 @@ self: {
        ];
        description = "Frontend development build tool";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "duplo";
      }) {};
 
@@ -86937,8 +86961,6 @@ self: {
        benchmarkHaskellDepends = [ base bytestring criterion random ];
        description = "Elliptic Curve Cryptography for Haskell";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "eccrypto-ed25519-bindings" = callPackage
@@ -86951,6 +86973,7 @@ self: {
        description = "provides \"ed25519\" API using \"eccrypto\"";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "ecdsa" = callPackage
@@ -87052,9 +87075,7 @@ self: {
          pretty-simple text time unordered-containers vector
        ];
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "hectare";
-       broken = true;
      }) {};
 
   "ecu" = callPackage
@@ -87507,8 +87528,8 @@ self: {
      }:
      mkDerivation {
        pname = "effectful";
-       version = "1.1.0.0";
-       sha256 = "0hfy27bgx57rga93jrj16laia65anhcks9b8xcwfsvc4zp3bsckh";
+       version = "1.2.0.0";
+       sha256 = "02ynz63c30vssq9lfcn619ll44q5yhnc9w1axbnmsp63zw93swap";
        libraryHaskellDepends = [
          async base bytestring directory effectful-core process stm time
          unliftio
@@ -87530,8 +87551,8 @@ self: {
      }:
      mkDerivation {
        pname = "effectful-core";
-       version = "1.1.0.0";
-       sha256 = "1wglhfxmp7vcvyijdz9zmh8ai1q1k0a83d7klmiipxvym853w97b";
+       version = "1.2.0.0";
+       sha256 = "0brhwd0axkq383b67jyhhgasny353issx7hak7lirvwn6zwfnilr";
        libraryHaskellDepends = [
          base containers exceptions monad-control primitive
          transformers-base unliftio-core
@@ -87549,8 +87570,8 @@ self: {
        pname = "effectful-plugin";
        version = "1.0.0.0";
        sha256 = "11y9d1ylwhgrrwf0pcpjqix2vrwzbwr2rlma6rm0h8yqpkchbx81";
-       revision = "1";
-       editedCabalFile = "0878clqj18snfg7qlrpca21jy12w5b99d79gx6hkkw8pqi4x96x8";
+       revision = "2";
+       editedCabalFile = "1dc2asmhiydfz21cgrvmqqx4nwr8k7s2fdgwhvq1qf3zn6k086bx";
        libraryHaskellDepends = [
          base containers effectful-core ghc ghc-tcplugins-extra
        ];
@@ -87567,8 +87588,8 @@ self: {
        pname = "effectful-th";
        version = "1.0.0.0";
        sha256 = "0qvsxw1ajmr63r1bkgkchj5ra8g1ypx135ld62bip2mvqaxha9ih";
-       revision = "1";
-       editedCabalFile = "0qpyaxkvz1h6z80zhiq80vs6hhgpp02faxxv5zyxkmi4ixf5arr2";
+       revision = "2";
+       editedCabalFile = "0v56i1wdq06v5hk7wcq8zgg60i8rbq1dqc47wwjz1wia5l2plhrl";
        libraryHaskellDepends = [
          base containers effectful exceptions template-haskell
          th-abstraction
@@ -89367,8 +89388,6 @@ self: {
        ];
        description = "Utilities to write Emacs dynamic modules";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "email" = callPackage
@@ -90294,6 +90313,28 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "enummapset_0_7_0_0" = callPackage
+    ({ mkDerivation, aeson, array, base, containers, deepseq, ghc-prim
+     , HUnit, QuickCheck, semigroups, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "enummapset";
+       version = "0.7.0.0";
+       sha256 = "194x78axmihq9r83w8dj4z0299aa63zkkbq82f7ybgr2ckgvqcd5";
+       libraryHaskellDepends = [
+         aeson base containers deepseq semigroups
+       ];
+       testHaskellDepends = [
+         aeson array base containers deepseq ghc-prim HUnit QuickCheck
+         semigroups test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       description = "IntMap and IntSet with Enum keys/elements";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "enummapset-th" = callPackage
     ({ mkDerivation, base, containers, deepseq, template-haskell }:
      mkDerivation {
@@ -90341,8 +90382,6 @@ self: {
        ];
        description = "Safe helpers for accessing and modifying environment variables";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "env-guard" = callPackage
@@ -90781,25 +90820,6 @@ self: {
      }:
      mkDerivation {
        pname = "equivalence";
-       version = "0.4.0.1";
-       sha256 = "1pcv64dflv9kknz9smnq4a7pd8jmghi3g4kri1dw0cnb54g7rj7c";
-       libraryHaskellDepends = [
-         base containers mtl STMonadTrans transformers transformers-compat
-       ];
-       testHaskellDepends = [
-         base containers mtl QuickCheck STMonadTrans template-haskell
-         transformers transformers-compat
-       ];
-       description = "Maintaining an equivalence relation implemented as union-find using STT";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "equivalence_0_4_1" = callPackage
-    ({ mkDerivation, base, containers, mtl, QuickCheck, STMonadTrans
-     , template-haskell, transformers, transformers-compat
-     }:
-     mkDerivation {
-       pname = "equivalence";
        version = "0.4.1";
        sha256 = "13q0lklm58n0l7bx0d4k1cw1i2il8hpdjp76lb79ix8lv7cxd2jr";
        libraryHaskellDepends = [
@@ -90811,7 +90831,6 @@ self: {
        ];
        description = "Maintaining an equivalence relation implemented as union-find using STT";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "erd" = callPackage
@@ -91497,6 +91516,35 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "esqueleto_3_5_6_1" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, blaze-html, bytestring
+     , conduit, containers, exceptions, hspec, hspec-core, monad-logger
+     , mtl, mysql, mysql-simple, persistent, persistent-mysql
+     , persistent-postgresql, persistent-sqlite, postgresql-simple
+     , QuickCheck, resourcet, tagged, template-haskell, text, time
+     , transformers, unliftio, unordered-containers
+     }:
+     mkDerivation {
+       pname = "esqueleto";
+       version = "3.5.6.1";
+       sha256 = "1cb8hnv3i75db46dgi2a960zq715py2jq9w3x31q8d3avfkgds2i";
+       libraryHaskellDepends = [
+         aeson attoparsec base blaze-html bytestring conduit containers
+         monad-logger persistent resourcet tagged template-haskell text time
+         transformers unliftio unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson attoparsec base blaze-html bytestring conduit containers
+         exceptions hspec hspec-core monad-logger mtl mysql mysql-simple
+         persistent persistent-mysql persistent-postgresql persistent-sqlite
+         postgresql-simple QuickCheck resourcet tagged template-haskell text
+         time transformers unliftio unordered-containers
+       ];
+       description = "Type-safe EDSL for SQL queries on persistent backends";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "esqueleto-pgcrypto" = callPackage
     ({ mkDerivation, base, esqueleto, hspec, monad-logger, persistent
      , persistent-postgresql, QuickCheck, text, transformers, unliftio
@@ -93853,26 +93901,6 @@ self: {
      }:
      mkDerivation {
        pname = "explainable-predicates";
-       version = "0.1.2.1";
-       sha256 = "0hx11fp430lf60cwwas3x5jv5yg966fh9qrgxz2q65md6lx3yaga";
-       libraryHaskellDepends = [
-         array base HUnit mono-traversable QuickCheck regex-tdfa syb
-         template-haskell
-       ];
-       testHaskellDepends = [
-         base doctest-exitcode-stdio doctest-lib hspec
-       ];
-       description = "Predicates that can explain themselves";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "explainable-predicates_0_1_2_2" = callPackage
-    ({ mkDerivation, array, base, doctest-exitcode-stdio, doctest-lib
-     , hspec, HUnit, mono-traversable, QuickCheck, regex-tdfa, syb
-     , template-haskell
-     }:
-     mkDerivation {
-       pname = "explainable-predicates";
        version = "0.1.2.2";
        sha256 = "16aajh4b6pg94y14581ppqlwhkb3qgz1d87zz6zjy7kbg8acrffa";
        libraryHaskellDepends = [
@@ -93884,7 +93912,6 @@ self: {
        ];
        description = "Predicates that can explain themselves";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "explicit-constraint-lens" = callPackage
@@ -94657,9 +94684,7 @@ self: {
        ];
        description = "Factoring integers and polynomials";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "factor";
-       broken = true;
      }) {};
 
   "factory" = callPackage
@@ -95153,7 +95178,6 @@ self: {
        doHaddock = false;
        description = "Fast functions on integers";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fast-bech32" = callPackage
@@ -95374,7 +95398,6 @@ self: {
        ];
        description = "A simple, mindless parser for fasta files";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fastbayes" = callPackage
@@ -95771,8 +95794,6 @@ self: {
        ];
        description = "Bindings to Facebook's API";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "fb-persistent" = callPackage
@@ -95785,6 +95806,7 @@ self: {
        description = "Provides Persistent instances to Facebook types";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "fbmessenger-api" = callPackage
@@ -95824,13 +95846,13 @@ self: {
      , extra, fedora-dists, filepath, http-conduit, http-directory
      , http-query, koji, network-uri, optparse-applicative, pagure
      , pretty-terminal, process, rpm-nvr, rpmbuild-order, simple-cmd
-     , simple-cmd-args, text, time, typed-process, unix, utf8-string
-     , xdg-basedir
+     , simple-cmd-args, text, time, typed-process, unix
+     , unordered-containers, utf8-string, xdg-basedir
      }:
      mkDerivation {
        pname = "fbrnch";
-       version = "1.1.1";
-       sha256 = "1dgpgphffcy1dxyswg7wvcg9np30gn1h5qa15gqb6p95vm1qlc8b";
+       version = "1.1.2";
+       sha256 = "1ybd98gbck5k433hzli7c5qcgxr5rbmy1ydi6hd7wrkhcrr6mndf";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -95839,7 +95861,7 @@ self: {
          http-conduit http-directory http-query koji network-uri
          optparse-applicative pagure pretty-terminal process rpm-nvr
          rpmbuild-order simple-cmd simple-cmd-args text time typed-process
-         unix utf8-string xdg-basedir
+         unix unordered-containers utf8-string xdg-basedir
        ];
        description = "Fedora packager tool to build package branches";
        license = lib.licenses.gpl2Only;
@@ -95924,6 +95946,7 @@ self: {
        description = "Type-level computation for composite using first-class-families";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "fcf-containers" = callPackage
@@ -95942,8 +95965,6 @@ self: {
        ];
        description = "Data structures and algorithms for first-class-families";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "fcf-graphs" = callPackage
@@ -95962,7 +95983,6 @@ self: {
        ];
        description = "Type-level version of algebraic-graphs";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fcf-vinyl" = callPackage
@@ -96803,6 +96823,7 @@ self: {
        description = "Graph-based notetaking system";
        license = "GPL";
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {raptor = null;};
 
   "fernet" = callPackage
@@ -96913,8 +96934,6 @@ self: {
        ];
        description = "Automatic C++ binding generation";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "fficxx-runtime" = callPackage
@@ -97301,6 +97320,21 @@ self: {
        broken = true;
      }) {};
 
+  "file-io" = callPackage
+    ({ mkDerivation, base, bytestring, filepath, unix }:
+     mkDerivation {
+       pname = "file-io";
+       version = "0.1.0.0";
+       sha256 = "04h83zz3pgkd7q4p51rndc2wr3a2rk18y9mxahzsvd6hq8jp77gs";
+       revision = "1";
+       editedCabalFile = "0ahdk69vvydsjlmk9363jkcs9zy589m0sxpn1bqxysvm29lac9gs";
+       libraryHaskellDepends = [ base bytestring filepath unix ];
+       description = "Basic file IO operations via 'OsPath'";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "file-location" = callPackage
     ({ mkDerivation, base, containers, HUnit, lifted-base, process
      , template-haskell, th-orphans, transformers
@@ -99121,9 +99155,7 @@ self: {
        executableHaskellDepends = [ base directory parsec ];
        description = "flatten a latex multi-file latex document and remove all comments";
        license = lib.licenses.gpl2Only;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "flat-tex";
-       broken = true;
      }) {};
 
   "flatbuffers" = callPackage
@@ -100275,8 +100307,6 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Functions to find out the indices of the elements in the Foldable structures";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "foldable1" = callPackage
@@ -101159,7 +101189,7 @@ self: {
        mainProgram = "fortran-src";
      }) {};
 
-  "fortran-src_0_10_0" = callPackage
+  "fortran-src_0_10_1" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , deepseq, directory, either, fgl, filepath, GenericPretty, happy
      , hspec, hspec-discover, mtl, pretty, QuickCheck, temporary, text
@@ -101167,8 +101197,8 @@ self: {
      }:
      mkDerivation {
        pname = "fortran-src";
-       version = "0.10.0";
-       sha256 = "0a57blj53g4mgska5xfr48072933hg6c7wfk0ag69x2cdafx24nn";
+       version = "0.10.1";
+       sha256 = "0fd63lxwqy2y4axadbm7275w9pig0gf9imp60cpw3206qighwf6s";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -101450,7 +101480,7 @@ self: {
        mainProgram = "fourmolu";
      }) {};
 
-  "fourmolu_0_7_0_1" = callPackage
+  "fourmolu_0_8_0_0" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, array, base, bytestring
      , Cabal, containers, Diff, directory, dlist, exceptions, filepath
      , ghc-lib-parser, gitrev, hspec, hspec-discover, hspec-megaparsec
@@ -101460,8 +101490,8 @@ self: {
      }:
      mkDerivation {
        pname = "fourmolu";
-       version = "0.7.0.1";
-       sha256 = "016lklwcvw6vgpkmv23gfhn31w462w8jd2gl9fy03n9gp8y771ga";
+       version = "0.8.0.0";
+       sha256 = "0s89pbmmij2gd2wr0l4alg9rnxdsz9jp4brxi9rkkin6bqjqmix1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -103303,8 +103333,8 @@ self: {
      }:
      mkDerivation {
        pname = "fudgets";
-       version = "0.18.3.1";
-       sha256 = "1jwqj0l51d4an2gimrfy9ziy7221ng3lv7s17gg0pn6xbjwg37h9";
+       version = "0.18.3.2";
+       sha256 = "0x8xw9n28fg1m207dfhwmy0cqhda3iayhifqxg4zd2zx7ngs3r0i";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -103649,7 +103679,6 @@ self: {
        description = "Functors";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "functor-apply" = callPackage
@@ -104197,8 +104226,8 @@ self: {
      }:
      mkDerivation {
        pname = "futhark";
-       version = "0.21.13";
-       sha256 = "0bzqlsaaqbbi47zvmvv7hd6hcz54hzw676rh9nxcjxgff3hzqb08";
+       version = "0.21.15";
+       sha256 = "02a3hhbbix1kk3dd6l0nq70b04415q2xjnbb2vfphayq8sj5v5b4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -104943,8 +104972,6 @@ self: {
        ];
        description = "Automatically spin up and spin down local daemons";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "gargoyle-postgresql" = callPackage
@@ -104966,7 +104993,6 @@ self: {
        ];
        description = "Manage PostgreSQL servers with gargoyle";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gargoyle-postgresql-connect" = callPackage
@@ -105006,6 +105032,7 @@ self: {
        description = "Manage PostgreSQL servers with gargoyle and nix";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "garlic-bread" = callPackage
@@ -105362,7 +105389,6 @@ self: {
        testHaskellDepends = [ base hspec megaparsec text-all ];
        description = "Parser for the GEDCOM genealogy file format";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "geek" = callPackage
@@ -105974,23 +106000,6 @@ self: {
      }:
      mkDerivation {
        pname = "generic-deriving";
-       version = "1.14.1";
-       sha256 = "19qpahcfhs9nqqv6na8znybrvpw885cajbdnrfylxbsmm0sys4s7";
-       libraryHaskellDepends = [
-         base containers ghc-prim template-haskell th-abstraction
-       ];
-       testHaskellDepends = [ base hspec template-haskell ];
-       testToolDepends = [ hspec-discover ];
-       description = "Generic programming library for generalised deriving";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "generic-deriving_1_14_2" = callPackage
-    ({ mkDerivation, base, containers, ghc-prim, hspec, hspec-discover
-     , template-haskell, th-abstraction
-     }:
-     mkDerivation {
-       pname = "generic-deriving";
        version = "1.14.2";
        sha256 = "0bxacg6b1vz135x93vf7jk6129m08hdyj7426ymaylfl2w8kapi6";
        libraryHaskellDepends = [
@@ -106000,7 +106009,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Generic programming library for generalised deriving";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "generic-enum" = callPackage
@@ -106389,6 +106397,7 @@ self: {
        description = "Marshalling Haskell values to/from XML";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "generic-xmlpickler" = callPackage
@@ -107053,7 +107062,6 @@ self: {
          base criterion genvalidity-criterion mergeful
        ];
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "genvalidity-mergeless" = callPackage
@@ -107539,8 +107547,6 @@ self: {
        ];
        description = "Terrestrial coordinate systems and geodetic calculations";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "geohash" = callPackage
@@ -107858,7 +107864,7 @@ self: {
        mainProgram = "gh-pocket-knife";
      }) {};
 
-  "ghc_9_2_3" = callPackage
+  "ghc_9_2_4" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , deepseq, directory, exceptions, filepath, ghc-boot, ghc-heap
      , ghci, hpc, process, template-haskell, terminfo, time
@@ -107866,8 +107872,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc";
-       version = "9.2.3";
-       sha256 = "09bwgzdj0bvasl8cqz93g03d79bcgpmr5p8dpc05kjxdl24ydrmp";
+       version = "9.2.4";
+       sha256 = "0w63p24p4k16jbr4pnh8nrnxqpiyg8fa0l75ry28y72kp4ngif9q";
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory
          exceptions filepath ghc-boot ghc-heap ghci hpc process
@@ -108236,8 +108242,6 @@ self: {
        ];
        description = "An AST and compiler plugin for dumping GHC's Core representation";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "ghc-dump-tree" = callPackage
@@ -108289,7 +108293,6 @@ self: {
        ];
        description = "Handy tools for working with ghc-dump dumps";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "ghc-dump";
      }) {};
 
@@ -108582,8 +108585,8 @@ self: {
     ({ mkDerivation, base, ghc, hashable, inspection-testing }:
      mkDerivation {
        pname = "ghc-justdoit";
-       version = "0.1.0.1";
-       sha256 = "1f52cq2c886djr59xmwdaby7diba7j687s20d48sxirvrk95wcmb";
+       version = "0.1.0.2";
+       sha256 = "0qcpj4yyqsh69pk7lw213y3n86b364idbfmdyjm470llmgbl3l2m";
        libraryHaskellDepends = [ base ghc hashable ];
        testHaskellDepends = [ base inspection-testing ];
        description = "A magic typeclass that just does it";
@@ -108634,7 +108637,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "ghc-lib_9_2_3_20220709" = callPackage
+  "ghc-lib_9_2_4_20220729" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , deepseq, directory, exceptions, filepath, ghc-lib-parser
      , ghc-prim, happy, hpc, parsec, pretty, process, rts, time
@@ -108642,8 +108645,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-lib";
-       version = "9.2.3.20220709";
-       sha256 = "12073grb3wykvgv3kagaymarklsjxns16y0n9na3cdbmhgxazrvw";
+       version = "9.2.4.20220729";
+       sha256 = "16whiazjynzj6qw1rmadyrxkibvmyhfzxzw42cv0ya9ijzlplhpq";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory
@@ -108696,15 +108699,15 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "ghc-lib-parser_9_2_3_20220709" = callPackage
+  "ghc-lib-parser_9_2_4_20220729" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , deepseq, directory, exceptions, filepath, ghc-prim, happy, parsec
      , pretty, process, time, transformers, unix
      }:
      mkDerivation {
        pname = "ghc-lib-parser";
-       version = "9.2.3.20220709";
-       sha256 = "04xxjvnr3mas1nf4y68x50jpjs7gzw0yrlkn61gqlzgbq5rqjjyl";
+       version = "9.2.4.20220729";
+       sha256 = "0rlm6znxrhs3s9s6c7qblvl03lscydx3dridyp985i593jyan55s";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory
@@ -108777,14 +108780,14 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "ghc-lib-parser-ex_9_2_1_0" = callPackage
+  "ghc-lib-parser-ex_9_2_1_1" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, extra
      , filepath, ghc-lib-parser, tasty, tasty-hunit, uniplate
      }:
      mkDerivation {
        pname = "ghc-lib-parser-ex";
-       version = "9.2.1.0";
-       sha256 = "19r0f7qan403ji3mzycz75k0p086zliia8n021z68jgy6w31ysm5";
+       version = "9.2.1.1";
+       sha256 = "01004zsi4d3vd9k1d2ik284z6wnkny48yp5d2y6fi9hgba11d53q";
        libraryHaskellDepends = [
          base bytestring containers ghc-lib-parser uniplate
        ];
@@ -109071,8 +109074,6 @@ self: {
        ];
        description = "Library for parsing GHC time and allocation profiling reports";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "ghc-prof-aeson" = callPackage
@@ -109215,6 +109216,21 @@ self: {
        broken = true;
      }) {};
 
+  "ghc-stdin" = callPackage
+    ({ mkDerivation, base, bytestring, ghc, ghc-paths, process, safe
+     , temporary
+     }:
+     mkDerivation {
+       pname = "ghc-stdin";
+       version = "0.2.0.0";
+       sha256 = "03bwm0wxkgnx922cgg1db5zb3cdqmhbp5641qihx176cdlls66yj";
+       libraryHaskellDepends = [
+         base bytestring ghc ghc-paths process safe temporary
+       ];
+       description = "Compile source code from the standard input";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "ghc-syb" = callPackage
     ({ mkDerivation, base, ghc }:
      mkDerivation {
@@ -110106,7 +110122,6 @@ self: {
        ];
        description = "GHC .prof files viewer";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "ghcprofview";
      }) {};
 
@@ -110114,48 +110129,47 @@ self: {
     ({ mkDerivation, aeson, aeson-pretty, async, base
      , base16-bytestring, binary, bytestring, bz2, Cabal, cabal-plan
      , case-insensitive, casing, containers, cryptohash-sha256, deepseq
-     , directory, disk-free-space, filepath, generic-arbitrary
-     , haskus-utils-types, haskus-utils-variant, hspec, hspec-discover
-     , hspec-golden-aeson, libarchive, lzma-static, megaparsec, mtl
-     , optics, optparse-applicative, os-release, pretty, pretty-terminal
-     , process, QuickCheck, quickcheck-arbitrary-adt, regex-posix
-     , resourcet, retry, safe, safe-exceptions, split, strict-base
-     , tagsoup, template-haskell, temporary, terminal-size, text, time
+     , directory, disk-free-space, exceptions, filepath
+     , generic-arbitrary, haskus-utils-types, haskus-utils-variant
+     , hspec, hspec-discover, hspec-golden-aeson, libarchive
+     , lzma-static, megaparsec, mtl, optics, optparse-applicative
+     , os-release, pretty, pretty-terminal, process, QuickCheck
+     , quickcheck-arbitrary-adt, regex-posix, resourcet, retry, safe
+     , safe-exceptions, split, streamly, strict-base, tagsoup
+     , template-haskell, temporary, terminal-size, text, time
      , transformers, unix, unix-bytestring, unliftio-core
      , unordered-containers, uri-bytestring, utf8-string, vector
      , versions, word8, yaml-streamly, zlib
      }:
      mkDerivation {
        pname = "ghcup";
-       version = "0.1.17.10";
-       sha256 = "18vskipglwds41l1gr1ks7h1h30hasrjdhpmcdm4nhg0ifmjzsag";
-       revision = "1";
-       editedCabalFile = "0pk2s6mcdby4553zcx08pgxcq854rzjkinvmyqjvc8yxjlb6j76r";
+       version = "0.1.18.0";
+       sha256 = "09mg0pg520vn4mcc0s59wzssnnj5ps5z50kri8z53bjvn4yfdwvv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson async base base16-bytestring binary bytestring bz2 Cabal
          case-insensitive casing containers cryptohash-sha256 deepseq
-         directory disk-free-space filepath haskus-utils-types
+         directory disk-free-space exceptions filepath haskus-utils-types
          haskus-utils-variant libarchive lzma-static megaparsec mtl optics
          os-release pretty pretty-terminal regex-posix resourcet retry safe
-         safe-exceptions split strict-base template-haskell temporary
-         terminal-size text time transformers unix unix-bytestring
+         safe-exceptions split streamly strict-base template-haskell
+         temporary terminal-size text time transformers unix unix-bytestring
          unliftio-core unordered-containers uri-bytestring vector versions
          word8 yaml-streamly zlib
        ];
        executableHaskellDepends = [
          aeson aeson-pretty async base bytestring cabal-plan containers
-         deepseq directory filepath haskus-utils-variant libarchive
-         megaparsec mtl optparse-applicative pretty pretty-terminal process
-         resourcet safe safe-exceptions tagsoup template-haskell temporary
-         text unix unordered-containers uri-bytestring utf8-string vector
-         versions yaml-streamly
+         deepseq directory filepath haskus-utils-types haskus-utils-variant
+         libarchive megaparsec mtl optparse-applicative pretty
+         pretty-terminal process resourcet safe safe-exceptions tagsoup
+         template-haskell temporary text unix unordered-containers
+         uri-bytestring utf8-string vector versions yaml-streamly
        ];
        testHaskellDepends = [
-         base bytestring containers generic-arbitrary hspec
-         hspec-golden-aeson QuickCheck quickcheck-arbitrary-adt text
-         uri-bytestring versions
+         base bytestring containers directory filepath generic-arbitrary
+         hspec hspec-golden-aeson QuickCheck quickcheck-arbitrary-adt
+         streamly text uri-bytestring versions
        ];
        testToolDepends = [ hspec-discover ];
        description = "ghc toolchain installer";
@@ -110579,6 +110593,31 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {gtk4-x11 = null;};
 
+  "gi-ges" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, gi-gio
+     , gi-glib, gi-gobject, gi-gst, gi-gstpbutils, gi-gstvideo
+     , gst-editing-services, haskell-gi, haskell-gi-base
+     , haskell-gi-overloading, text, transformers
+     }:
+     mkDerivation {
+       pname = "gi-ges";
+       version = "1.0.1";
+       sha256 = "1xx6n88bdfxp8xjgvwwrgam8ky7gaswg3kdpz817g7x2l2j2d14n";
+       setupHaskellDepends = [
+         base Cabal gi-gio gi-glib gi-gobject gi-gst gi-gstpbutils
+         gi-gstvideo haskell-gi
+       ];
+       libraryHaskellDepends = [
+         base bytestring containers gi-gio gi-glib gi-gobject gi-gst
+         gi-gstpbutils gi-gstvideo haskell-gi haskell-gi-base
+         haskell-gi-overloading text transformers
+       ];
+       libraryPkgconfigDepends = [ gst-editing-services ];
+       description = "libges bindings";
+       license = lib.licenses.lgpl21Only;
+       hydraPlatforms = lib.platforms.none;
+     }) {gst-editing-services = null;};
+
   "gi-ggit" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, gi-gio
      , gi-glib, gi-gobject, haskell-gi, haskell-gi-base
@@ -111295,6 +111334,8 @@ self: {
        '';
        description = "PangoCairo bindings";
        license = lib.licenses.lgpl21Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs) cairo; inherit (pkgs) pango;};
 
   "gi-poppler" = callPackage
@@ -111340,8 +111381,6 @@ self: {
        libraryPkgconfigDepends = [ librsvg ];
        description = "librsvg bindings";
        license = lib.licenses.lgpl21Only;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) librsvg;};
 
   "gi-secret" = callPackage
@@ -118571,6 +118610,7 @@ self: {
        description = "GraphQL Utils";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "graphql-w-persistent" = callPackage
@@ -119161,6 +119201,22 @@ self: {
        broken = true;
      }) {};
 
+  "gridtables" = callPackage
+    ({ mkDerivation, array, base, containers, doclayout, parsec, tasty
+     , tasty-hunit, text
+     }:
+     mkDerivation {
+       pname = "gridtables";
+       version = "0.0.2.0";
+       sha256 = "0bqn1iqpiam9szjwdwam76vh991miyfznyk7gnnr4vrk8jn17p3d";
+       libraryHaskellDepends = [
+         array base containers doclayout parsec text
+       ];
+       testHaskellDepends = [ array base parsec tasty tasty-hunit text ];
+       description = "Parser for reStructuredText-style grid tables";
+       license = lib.licenses.mit;
+     }) {};
+
   "grm" = callPackage
     ({ mkDerivation, base, Cabal, cmdargs, directory, filepath, happy
      , parsec, process, syb, wl-pprint
@@ -119548,8 +119604,6 @@ self: {
        testToolDepends = [ tasty-discover ];
        description = "Mutable vector with efficient appends";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "growler" = callPackage
@@ -120921,7 +120975,6 @@ self: {
        ];
        description = "native Haskell implementation of OpenPGP (RFC4880)";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hPDB" = callPackage
@@ -122120,8 +122173,8 @@ self: {
      }:
      mkDerivation {
        pname = "hackport";
-       version = "0.7.2.1";
-       sha256 = "0b109c9m52j0idlcp5w7aqnryb2bmghf4g33jhhd3dsrr0xx6ah0";
+       version = "0.7.2.2";
+       sha256 = "0yknhk34pwmij8virmlf619sw1k8rl5a8sy7h18q05rsnsdsbipf";
        isLibrary = false;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -124625,7 +124678,6 @@ self: {
        ];
        description = "Glue code for using Happstack with acid-state, web-routes, reform, and HSP";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "happstack-hamlet" = callPackage
@@ -124697,7 +124749,6 @@ self: {
        ];
        description = "Support for using HSP templates in Happstack";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "happstack-hstringtemplate" = callPackage
@@ -124765,8 +124816,6 @@ self: {
        ];
        description = "Happstack minus the useless stuff";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "happstack-monad-peel" = callPackage
@@ -124866,8 +124915,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-server-tls";
-       version = "7.2.1.2";
-       sha256 = "1qij3hx3y54s3vvcs7z656144cbp94aigy84ywfyp8238f4p5yq5";
+       version = "7.2.1.3";
+       sha256 = "11prqx74dkv38dyg1yh419ckbi5hbyv6ncm9y9inqnabl84qyam1";
        libraryHaskellDepends = [
          base bytestring extensible-exceptions happstack-server hslogger
          HsOpenSSL network sendfile time unix
@@ -125357,8 +125406,6 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "HaRP allows pattern-matching with regular expressions";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "harpy" = callPackage
@@ -125572,9 +125619,7 @@ self: {
        ];
        description = "A TUI for reviewing notes using 'flashcards' written with markdown-like syntax";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "hascard";
-       broken = true;
      }) {};
 
   "hascas" = callPackage
@@ -126185,7 +126230,6 @@ self: {
        ];
        description = "Utility to generate bindings for BlackBerry Cascades";
        license = "unknown";
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "haskades";
      }) {};
 
@@ -126351,8 +126395,8 @@ self: {
        pname = "haskeline";
        version = "0.8.2";
        sha256 = "1pr7zik1138cj0463867i1qqb2bgsq716mryap18jx7zb9f1b7gc";
-       revision = "1";
-       editedCabalFile = "0p78p32xlmjdksdyansw6gxxhiz58fqqdcjh1gfw0mlafxyj5gf3";
+       revision = "2";
+       editedCabalFile = "0ylww688l5nfgjw4z5clvr3pmm65axbsq06fg8rpbd2iqzsaz01s";
        configureFlags = [ "-fterminfo" ];
        isLibrary = true;
        isExecutable = true;
@@ -126450,7 +126494,6 @@ self: {
        ];
        description = "Remote Management Platform for Haskell Applications";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "haskell-admin-core" = callPackage
@@ -126512,7 +126555,6 @@ self: {
        ];
        description = "Managed Functions integration for Haskell Admin";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "haskell-aliyun" = callPackage
@@ -127036,6 +127078,29 @@ self: {
        license = lib.licenses.lgpl21Only;
      }) {inherit (pkgs) glib; inherit (pkgs) gobject-introspection;};
 
+  "haskell-gi_0_26_1" = callPackage
+    ({ mkDerivation, ansi-terminal, attoparsec, base, bytestring, Cabal
+     , cabal-doctest, containers, directory, doctest, filepath, glib
+     , gobject-introspection, haskell-gi-base, mtl, pretty-show, process
+     , regex-tdfa, safe, text, transformers, xdg-basedir, xml-conduit
+     }:
+     mkDerivation {
+       pname = "haskell-gi";
+       version = "0.26.1";
+       sha256 = "0272rsfhl9inrhkl0r2n5af327rk7dcy2fw77b196q8lvh2ym4c9";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         ansi-terminal attoparsec base bytestring Cabal containers directory
+         filepath haskell-gi-base mtl pretty-show process regex-tdfa safe
+         text transformers xdg-basedir xml-conduit
+       ];
+       libraryPkgconfigDepends = [ glib gobject-introspection ];
+       testHaskellDepends = [ base doctest process ];
+       description = "Generate Haskell bindings for GObject Introspection capable libraries";
+       license = lib.licenses.lgpl21Only;
+       hydraPlatforms = lib.platforms.none;
+     }) {inherit (pkgs) glib; inherit (pkgs) gobject-introspection;};
+
   "haskell-gi-base" = callPackage
     ({ mkDerivation, base, bytestring, containers, glib, text }:
      mkDerivation {
@@ -127048,6 +127113,19 @@ self: {
        license = lib.licenses.lgpl21Only;
      }) {inherit (pkgs) glib;};
 
+  "haskell-gi-base_0_26_1" = callPackage
+    ({ mkDerivation, base, bytestring, containers, glib, text }:
+     mkDerivation {
+       pname = "haskell-gi-base";
+       version = "0.26.1";
+       sha256 = "1m9sdyf0v8y6q3ac5fv18drclm8b36kbwh8prdfih6wjd8wrxry3";
+       libraryHaskellDepends = [ base bytestring containers text ];
+       libraryPkgconfigDepends = [ glib ];
+       description = "Foundation for libraries generated by haskell-gi";
+       license = lib.licenses.lgpl21Only;
+       hydraPlatforms = lib.platforms.none;
+     }) {inherit (pkgs) glib;};
+
   "haskell-gi-overloading" = callPackage
     ({ mkDerivation }:
      mkDerivation {
@@ -128523,9 +128601,7 @@ self: {
        executableToolDepends = [ hspec-discover ];
        description = "Haskell XMPP (eXtensible Message Passing Protocol, a.k.a. Jabber) library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "haskell-xmpp-io-test";
-       broken = true;
      }) {};
 
   "haskell2010" = callPackage
@@ -129317,6 +129393,7 @@ self: {
        description = "Implementation of the Bitcoin protocol";
        license = lib.licenses.publicDomain;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "haskoin-bitcoind" = callPackage
@@ -129403,8 +129480,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-node";
-       version = "0.17.14";
-       sha256 = "0a8lmap19gj2f6xyzz7mk4jdb8rc8vvzrri4jsb10n8xl5g9c2jj";
+       version = "0.18.1";
+       sha256 = "1sfrcckq345i2m7p1p39l72c83aga8z27jgk996nch1zamj5kx6d";
        libraryHaskellDepends = [
          base bytestring cereal conduit conduit-extra containers
          data-default hashable haskoin-core monad-logger mtl network nqe
@@ -129487,8 +129564,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-store";
-       version = "0.65.2";
-       sha256 = "0sfb0z29jzi42yk734gw70dwxjzgfk9bmw3pl9l91iy6iqxakian";
+       version = "0.65.3";
+       sha256 = "07m5dha3ayqrdp8alq40wqq8b3388m130r0m33v0dfda51gr3p5n";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -130416,8 +130493,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasql";
-       version = "1.5.0.5";
-       sha256 = "029bsr8966q6r1ig7x2ykj5jmrg64990c00zqpjq48acc39ap0qw";
+       version = "1.5.1";
+       sha256 = "1g9hbn9saf17a9jxjkm4bak7xbjgq0nf8khv5djfkyz1yxmw4l6p";
        libraryHaskellDepends = [
          attoparsec base bytestring bytestring-strict-builder contravariant
          dlist hashable hashtables mtl postgresql-binary postgresql-libpq
@@ -130646,8 +130723,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasql-interpolate";
-       version = "0.1.0.2";
-       sha256 = "1snayn9g5xa9q4c38p8s0ir6ij32js17b02qsacif6v080hqw94b";
+       version = "0.1.0.3";
+       sha256 = "1532bs4d04fh0mhdn2dwgyl94x9pgbnh4xmq403pmx3785m60rva";
        libraryHaskellDepends = [
          aeson array base bytestring containers haskell-src-meta hasql
          megaparsec mtl scientific template-haskell text time transformers
@@ -130700,6 +130777,27 @@ self: {
        mainProgram = "hasql-notifications";
      }) {};
 
+  "hasql-notifications_0_2_0_2" = callPackage
+    ({ mkDerivation, base, bytestring, hasql, hasql-pool, hspec
+     , postgresql-libpq, QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "hasql-notifications";
+       version = "0.2.0.2";
+       sha256 = "1i5hry75qyrm73yrfg6ci2f21fa41fwv3q99kfj4cdbk8pkp8fdj";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring hasql hasql-pool postgresql-libpq text
+       ];
+       executableHaskellDepends = [ base hasql ];
+       testHaskellDepends = [ base bytestring hasql hspec QuickCheck ];
+       description = "LISTEN/NOTIFY support for Hasql";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       mainProgram = "hasql-notifications";
+     }) {};
+
   "hasql-optparse-applicative" = callPackage
     ({ mkDerivation, base-prelude, hasql, hasql-pool
      , optparse-applicative
@@ -131003,24 +131101,6 @@ self: {
      }:
      mkDerivation {
        pname = "hasql-th";
-       version = "0.4.0.16";
-       sha256 = "029zmhwmr8wp432hf33ffvns5nkfqzk1cnh663cln5f2ryllxxx3";
-       libraryHaskellDepends = [
-         base bytestring containers contravariant foldl hasql
-         postgresql-syntax template-haskell template-haskell-compat-v0208
-         text uuid vector
-       ];
-       description = "Template Haskell utilities for Hasql";
-       license = lib.licenses.mit;
-     }) {};
-
-  "hasql-th_0_4_0_17" = callPackage
-    ({ mkDerivation, base, bytestring, containers, contravariant, foldl
-     , hasql, postgresql-syntax, template-haskell
-     , template-haskell-compat-v0208, text, uuid, vector
-     }:
-     mkDerivation {
-       pname = "hasql-th";
        version = "0.4.0.17";
        sha256 = "1s4ra8i4az6kik4ahfg3h0rzyz54fifn0dkabfpfxalg1ap5y7ic";
        libraryHaskellDepends = [
@@ -131030,7 +131110,6 @@ self: {
        ];
        description = "Template Haskell utilities for Hasql";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hasql-transaction" = callPackage
@@ -131100,8 +131179,6 @@ self: {
        testHaskellDepends = [ base hasql tasty tasty-quickcheck ];
        description = "Parse PostgreSQL connection URI into Hasql.Connection Settings";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hasqlator-mysql" = callPackage
@@ -131665,8 +131742,6 @@ self: {
        ];
        description = "A Haskell library for efficient, concurrent, and concise data access";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "haxl-amazonka" = callPackage
@@ -131707,6 +131782,7 @@ self: {
        description = "An example Haxl data source for accessing the Facebook Graph API";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "haxparse" = callPackage
@@ -131832,6 +131908,21 @@ self: {
        broken = true;
      }) {};
 
+  "hb3sum" = callPackage
+    ({ mkDerivation, base, blake3, bytestring, mmap }:
+     mkDerivation {
+       pname = "hb3sum";
+       version = "0";
+       sha256 = "1kkh92br8aazm90zffx33my8bp7fw9ldsvjw0327fjll08hs8l3x";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [ base blake3 bytestring mmap ];
+       description = "A command line tool to compute BLAKE3 hashes";
+       license = lib.licenses.agpl3Only;
+       badPlatforms = [ "aarch64-linux" ];
+       mainProgram = "hb3sum";
+     }) {};
+
   "hback" = callPackage
     ({ mkDerivation, base, cairo, filepath, glade, gtk, haskell98
      , process, svgcairo, time, unix
@@ -132148,6 +132239,17 @@ self: {
        broken = true;
      }) {};
 
+  "hcdt" = callPackage
+    ({ mkDerivation, base, containers, indexed-traversable }:
+     mkDerivation {
+       pname = "hcdt";
+       version = "0.1.0.3";
+       sha256 = "0km3qh4h0iy1x09qvi112y8jj2vqln6yraqyqd1yls3xn0q1ga25";
+       libraryHaskellDepends = [ base containers indexed-traversable ];
+       description = "2d Delaunay triangulation";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "hcg-minus" = callPackage
     ({ mkDerivation, base, colour, random }:
      mkDerivation {
@@ -133153,7 +133255,6 @@ self: {
        ];
        description = "Find and annotate ITDs with assembly or read pair joining";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "heatitup-complete";
      }) {};
 
@@ -134045,7 +134146,6 @@ self: {
        license = "BSD-2-Clause-Patent";
        hydraPlatforms = lib.platforms.none;
        mainProgram = "hel";
-       broken = true;
      }) {};
 
   "helics" = callPackage
@@ -135164,7 +135264,6 @@ self: {
        testSystemDepends = [ secp256k1 ];
        description = "Ethereum virtual machine evaluator";
        license = lib.licenses.agpl3Only;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "hevm";
      }) {inherit (pkgs) libff; inherit (pkgs) secp256k1;};
 
@@ -136210,8 +136309,6 @@ self: {
        testHaskellDepends = [ base QuickCheck ];
        description = "Haskell interface to GMP";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hgom" = callPackage
@@ -137759,7 +137856,6 @@ self: {
        ];
        description = "Support for reading and writing ipe7 files (http://ipe7.sourceforge.net)";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hips" = callPackage
@@ -142265,7 +142361,6 @@ self: {
        executableToolDepends = [ alex happy ];
        description = "hOpenPGP-based command-line tools";
        license = lib.licenses.agpl3Plus;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hopenssl" = callPackage
@@ -143352,9 +143447,7 @@ self: {
        testToolDepends = [ tasty-discover ];
        description = "Convert HPC output into LCOV format";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "hpc-lcov";
-       broken = true;
      }) {};
 
   "hpc-strobe" = callPackage
@@ -143592,8 +143685,8 @@ self: {
      }:
      mkDerivation {
        pname = "hpqtypes-extras";
-       version = "1.16.0.0";
-       sha256 = "1yjxgb0kyq5v5dhqxmqv9cihz9ivclx9rcwwdj85k68qcjwwkh0v";
+       version = "1.16.1.0";
+       sha256 = "1kl9miwarrr69h2b3mmx65ypbfflhhw117k42d9k6jrxbibj7fqq";
        libraryHaskellDepends = [
          base base16-bytestring bytestring containers cryptohash exceptions
          extra hpqtypes log-base mtl text text-show
@@ -143888,6 +143981,7 @@ self: {
        license = "LGPL";
        hydraPlatforms = lib.platforms.none;
        mainProgram = "mctest";
+       broken = true;
      }) {};
 
   "hquantlib-time" = callPackage
@@ -143899,8 +143993,6 @@ self: {
        libraryHaskellDepends = [ base time ];
        description = "HQuantLib Time is a business calendar functions extracted from HQuantLib";
        license = "LGPL";
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hquery" = callPackage
@@ -144099,7 +144191,6 @@ self: {
        ];
        description = "A Riemann Client for Haskell";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "hriemann-exe";
      }) {};
 
@@ -144683,8 +144774,6 @@ self: {
        ];
        description = "OpenTelemetry API for use by libraries for direct instrumentation or wrapper packages";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hs-opentelemetry-exporter-in-memory" = callPackage
@@ -144700,7 +144789,6 @@ self: {
          async base hs-opentelemetry-api unagi-chan
        ];
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hs-opentelemetry-exporter-otlp" = callPackage
@@ -144725,7 +144813,6 @@ self: {
        ];
        description = "OpenTelemetry exporter supporting the standard OTLP protocol";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hs-opentelemetry-instrumentation-cloudflare" = callPackage
@@ -144747,7 +144834,6 @@ self: {
          hs-opentelemetry-instrumentation-wai http-types text wai
        ];
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hs-opentelemetry-instrumentation-conduit" = callPackage
@@ -144759,7 +144845,6 @@ self: {
        libraryHaskellDepends = [ base conduit hs-opentelemetry-api text ];
        testHaskellDepends = [ base conduit hs-opentelemetry-api text ];
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hs-opentelemetry-instrumentation-http-client" = callPackage
@@ -144783,7 +144868,6 @@ self: {
          http-client-tls http-conduit http-types text unliftio
        ];
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hs-opentelemetry-instrumentation-persistent" = callPackage
@@ -144803,7 +144887,6 @@ self: {
          vault
        ];
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hs-opentelemetry-instrumentation-postgresql-simple" = callPackage
@@ -144823,7 +144906,6 @@ self: {
          postgresql-libpq postgresql-simple text unliftio
        ];
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hs-opentelemetry-instrumentation-wai" = callPackage
@@ -144844,7 +144926,6 @@ self: {
        ];
        description = "WAI instrumentation middleware for OpenTelemetry";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hs-opentelemetry-instrumentation-yesod" = callPackage
@@ -144866,7 +144947,6 @@ self: {
        ];
        description = "Yesod middleware for providing OpenTelemetry instrumentation";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hs-opentelemetry-otlp" = callPackage
@@ -144896,7 +144976,6 @@ self: {
        ];
        description = "Trace propagation via HTTP headers following the w3c tracestate spec";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hs-opentelemetry-sdk" = callPackage
@@ -144924,7 +145003,6 @@ self: {
        ];
        description = "OpenTelemetry SDK for use in applications";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hs-pattrans" = callPackage
@@ -147964,6 +148042,7 @@ self: {
        description = "Facilitates running Haskell Server Pages web pages as CGI programs";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hsparklines" = callPackage
@@ -148049,14 +148128,14 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "hspec_2_10_0" = callPackage
+  "hspec_2_10_0_1" = callPackage
     ({ mkDerivation, base, hspec-core, hspec-discover
      , hspec-expectations, QuickCheck
      }:
      mkDerivation {
        pname = "hspec";
-       version = "2.10.0";
-       sha256 = "1l440vdlm7q8rzjz0kqw688l159qiplfgsvhz81snqgn1ja5wk4m";
+       version = "2.10.0.1";
+       sha256 = "0in22h0k4f0c6d55zbdsypf0a546f4mafifxmk019cxnj4i5rx8q";
        libraryHaskellDepends = [
          base hspec-core hspec-discover hspec-expectations QuickCheck
        ];
@@ -148180,7 +148259,7 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "hspec-core_2_10_0" = callPackage
+  "hspec-core_2_10_0_1" = callPackage
     ({ mkDerivation, ansi-terminal, array, base, base-orphans
      , call-stack, clock, deepseq, directory, filepath, ghc, ghc-boot-th
      , hspec-expectations, hspec-meta, HUnit, process, QuickCheck
@@ -148189,8 +148268,8 @@ self: {
      }:
      mkDerivation {
        pname = "hspec-core";
-       version = "2.10.0";
-       sha256 = "1hkr0npvysqby6qy0fnsq1dv1svp42jgn1isd2b6nn4l6a29k95g";
+       version = "2.10.0.1";
+       sha256 = "0g59jlkds28q9vb4fw7wc7cdwa7rl4anhk6gaz411j8ra3j1cjql";
        libraryHaskellDepends = [
          ansi-terminal array base call-stack clock deepseq directory
          filepath ghc ghc-boot-th hspec-expectations HUnit QuickCheck
@@ -148271,14 +148350,14 @@ self: {
        maintainers = [ lib.maintainers.maralorn ];
      }) {};
 
-  "hspec-discover_2_10_0" = callPackage
+  "hspec-discover_2_10_0_1" = callPackage
     ({ mkDerivation, base, directory, filepath, hspec-meta, mockery
      , QuickCheck
      }:
      mkDerivation {
        pname = "hspec-discover";
-       version = "2.10.0";
-       sha256 = "0r3zi40g5y85z8n3n2wyiicv5gsp9isjx4gap0m400nxr8cqgmxm";
+       version = "2.10.0.1";
+       sha256 = "1z27h094qyiqnlqsp5ppfd6v9yshhnz4ry7x7zvkyjfmx3xxwm9z";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base directory filepath ];
@@ -149906,8 +149985,8 @@ self: {
      }:
      mkDerivation {
        pname = "hsx2hs";
-       version = "0.14.1.9";
-       sha256 = "1154p6ki51h5wlq8431q9h8r1q7f409vaq5hzi5q9895nxd3lkr3";
+       version = "0.14.1.10";
+       sha256 = "04anp9jfr6y0f4dwzn6k051jkbvmnkdayjg980y2pjj6jqqxr00x";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -149920,9 +149999,7 @@ self: {
        ];
        description = "HSX (Haskell Source with XML) allows literal XML syntax in Haskell source code";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "hsx2hs";
-       broken = true;
      }) {};
 
   "hsyscall" = callPackage
@@ -150378,7 +150455,6 @@ self: {
        executableHaskellDepends = [ base cli-arguments lists-flines ];
        description = "Simple tool to create html presentation for text";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "htmlpt";
      }) {};
 
@@ -150809,10 +150885,8 @@ self: {
      }:
      mkDerivation {
        pname = "http-client";
-       version = "0.7.11";
-       sha256 = "12j7vkpkm2djws6ny7vm2324c7916d0iaf1mbvf4mfjxzy2w7imv";
-       revision = "1";
-       editedCabalFile = "0rqrhx4cjqcqhcfad6sjc0wl2anzs6h4186xdj26hdrazs7sqn9z";
+       version = "0.7.12";
+       sha256 = "03mfkrf2zl3jga2hihx7aq7qymzgnk31ldvbk66y70c3i1jpgxb2";
        libraryHaskellDepends = [
          array async base base64-bytestring blaze-builder bytestring
          case-insensitive containers cookie deepseq exceptions filepath
@@ -150830,7 +150904,7 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "http-client_0_7_12" = callPackage
+  "http-client_0_7_13_1" = callPackage
     ({ mkDerivation, array, async, base, base64-bytestring
      , blaze-builder, bytestring, case-insensitive, containers, cookie
      , deepseq, directory, exceptions, filepath, ghc-prim, hspec
@@ -150840,8 +150914,8 @@ self: {
      }:
      mkDerivation {
        pname = "http-client";
-       version = "0.7.12";
-       sha256 = "03mfkrf2zl3jga2hihx7aq7qymzgnk31ldvbk66y70c3i1jpgxb2";
+       version = "0.7.13.1";
+       sha256 = "09qfmakjk285jz2rnb53c1m9c764fg8vngfq43ipga1g72h8d3n9";
        libraryHaskellDepends = [
          array async base base64-bytestring blaze-builder bytestring
          case-insensitive containers cookie deepseq exceptions filepath
@@ -151445,6 +151519,8 @@ self: {
        pname = "http-link-header";
        version = "1.2.1";
        sha256 = "15pcav5k7j4pvqwkyyrqgcm7yxqippx4yiprsg9fpml4kywcr2ca";
+       revision = "1";
+       editedCabalFile = "13r2gkvn0v1077xhpinlqfbq8hdpgasm5p895mxi72mqlwnqcrc6";
        libraryHaskellDepends = [
          attoparsec base bytestring errors http-api-data network-uri text
        ];
@@ -151456,7 +151532,7 @@ self: {
          attoparsec base bytestring criterion directory errors http-api-data
          network-uri text transformers
        ];
-       description = "A parser and writer for the HTTP Link header per RFC 5988";
+       description = "HTTP Link header parser/writer";
        license = lib.licenses.publicDomain;
      }) {};
 
@@ -152722,27 +152798,30 @@ self: {
 
   "hurl" = callPackage
     ({ mkDerivation, async, base, base64-bytestring, bytestring
-     , containers, directory, filepath, HsOpenSSL, http-client
-     , http-client-openssl, http-types, io-streams, network-uri
-     , openssl-streams, process, regex, regex-tdfa, text, time
+     , connection, containers, cookie, data-default-class, directory
+     , filepath, http-client, http-client-tls, http-types, network-uri
+     , process, publicsuffixlist, regex, regex-tdfa, text, time, tls
      , xml-conduit, zlib
      }:
      mkDerivation {
        pname = "hurl";
-       version = "2.1.1.0";
-       sha256 = "0hlkqgbk8siycz055lqn01qgn8npgqyq59br2yvpbk4rz7jzjmfa";
+       version = "2.2.0.0";
+       sha256 = "1dpmy6j8alg55x5s6rapc3cbmf2v23dwbx1hv3k6jsxz2zp3w7gp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         async base base64-bytestring bytestring containers directory
-         filepath HsOpenSSL http-client http-client-openssl http-types
-         io-streams network-uri openssl-streams process regex regex-tdfa
-         text time xml-conduit zlib
+         async base base64-bytestring bytestring connection containers
+         cookie data-default-class directory filepath http-client
+         http-client-tls http-types network-uri process publicsuffixlist
+         regex regex-tdfa text time tls xml-conduit zlib
+       ];
+       executableHaskellDepends = [
+         base bytestring directory network-uri
        ];
-       executableHaskellDepends = [ base directory network-uri ];
        description = "Haskell URL resolver";
        license = lib.licenses.gpl3Only;
-       mainProgram = "hurl";
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hurriyet" = callPackage
@@ -152935,8 +153014,6 @@ self: {
        testToolDepends = [ doctest-discover hspec-discover ];
        description = "Convenience functions for Aeson";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hw-all" = callPackage
@@ -153091,8 +153168,6 @@ self: {
        ];
        description = "Conduits for tokenizing streams";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hw-conduit-merges" = callPackage
@@ -153302,8 +153377,6 @@ self: {
        testToolDepends = [ doctest-discover hspec-discover ];
        description = "Generic strict finger-tree structure";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hw-hedgehog" = callPackage
@@ -153431,7 +153504,6 @@ self: {
        doHaddock = false;
        description = "Memory efficient JSON parser";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "hw-json";
      }) {};
 
@@ -153453,6 +153525,7 @@ self: {
        description = "Memory efficient JSON parser";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hw-json-lens" = callPackage
@@ -153482,7 +153555,6 @@ self: {
        ];
        description = "Lens for hw-json";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hw-json-simd" = callPackage
@@ -153719,9 +153791,7 @@ self: {
        testToolDepends = [ doctest-discover hspec-discover ];
        description = "Monadic query DSL";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "hw-mquery-example";
-       broken = true;
      }) {};
 
   "hw-packed-vector" = callPackage
@@ -154004,8 +154074,6 @@ self: {
        ];
        description = "Primitive functions and data types";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hw-string-parse" = callPackage
@@ -155190,6 +155258,20 @@ self: {
        broken = true;
      }) {};
 
+  "hypergeomatrix" = callPackage
+    ({ mkDerivation, array, base, containers, cyclotomic, tasty
+     , tasty-hunit
+     }:
+     mkDerivation {
+       pname = "hypergeomatrix";
+       version = "1.0.0.0";
+       sha256 = "1i3ailplycpwsqcsyfsr783pi9fphd51dq1l008r2nx7im6ndmyx";
+       libraryHaskellDepends = [ array base containers cyclotomic ];
+       testHaskellDepends = [ base tasty tasty-hunit ];
+       description = "Hypergeometric function of a matrix argument";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "hypergeometric" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -155774,6 +155856,7 @@ self: {
        description = "A fast JSON document store with push notification support";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "icfpc2020-galaxy" = callPackage
@@ -156064,7 +156147,6 @@ self: {
        ];
        description = "Squares style for the identicon package";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "identifiers" = callPackage
@@ -156992,6 +157074,7 @@ self: {
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
        mainProgram = "imapget";
+       broken = true;
      }) {};
 
   "imbib" = callPackage
@@ -157030,6 +157113,7 @@ self: {
        description = "A function to post an image to imgur";
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "imgurder" = callPackage
@@ -158332,6 +158416,7 @@ self: {
        description = "The Infernal Machine - An AWS Lambda Custom Runtime for Haskell";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "infernu" = callPackage
@@ -158493,22 +158578,6 @@ self: {
      }:
      mkDerivation {
        pname = "ini";
-       version = "0.4.1";
-       sha256 = "0mvwii8jbh2ll54qb9dij5m66c6324s2y4vrwz1qr4wz40m3qa8l";
-       libraryHaskellDepends = [
-         attoparsec base text unordered-containers
-       ];
-       testHaskellDepends = [ base hspec unordered-containers ];
-       description = "Quick and easy configuration files in the INI format";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "ini_0_4_2" = callPackage
-    ({ mkDerivation, attoparsec, base, hspec, text
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "ini";
        version = "0.4.2";
        sha256 = "0dp9c48vli8z6058yajnqg9hyf9swglk8ga4wcwl03aal7n8r7gp";
        libraryHaskellDepends = [
@@ -158517,7 +158586,6 @@ self: {
        testHaskellDepends = [ base hspec unordered-containers ];
        description = "Configuration files in the INI format";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ini-qq" = callPackage
@@ -159133,6 +159201,7 @@ self: {
        license = lib.licenses.agpl3Only;
        hydraPlatforms = lib.platforms.none;
        mainProgram = "instapaper-sender";
+       broken = true;
      }) {};
 
   "instinct" = callPackage
@@ -159902,9 +159971,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "An implementation of Allen's interval algebra for temporal logic";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "tutorial";
-       broken = true;
      }) {};
 
   "interval-functor" = callPackage
@@ -159925,8 +159992,8 @@ self: {
      }:
      mkDerivation {
        pname = "interval-patterns";
-       version = "0.4.0.0";
-       sha256 = "1gdimpx8yxx773zcdlnh8m9g39ic0fzya7fv3xxx0c3ylvdsfhbw";
+       version = "0.5.0.0";
+       sha256 = "1ayvhjg7a8z7wp1pqsf4wcvxj5y3izsxz3b53q57dsvrlsc9i0kg";
        libraryHaskellDepends = [
          base containers groups lattices relude semirings time time-compat
        ];
@@ -159936,8 +160003,6 @@ self: {
        ];
        description = "Intervals, and monoids thereof";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "interval-tree-clock" = callPackage
@@ -159998,9 +160063,7 @@ self: {
        executablePkgconfigDepends = [ ncurses ];
        description = "A game of competitive puzzle-design";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "intricacy";
-       broken = true;
      }) {inherit (pkgs) ncurses;};
 
   "intrinsic-superclasses" = callPackage
@@ -160622,26 +160685,24 @@ self: {
 
   "ip" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytebuild, byteslice
-     , bytesmith, bytestring, criterion, deepseq, doctest, hashable
-     , hspec, hspec-discover, HUnit, natural-arithmetic, primitive
-     , QuickCheck, quickcheck-classes, random, tasty, tasty-hunit
-     , tasty-quickcheck, text, text-short, vector, wide-word
+     , bytesmith, bytestring, criterion, deepseq, hashable, hspec
+     , hspec-discover, HUnit, natural-arithmetic, primitive, QuickCheck
+     , quickcheck-classes, random, tasty, tasty-hunit, tasty-quickcheck
+     , text, text-short, vector, wide-word, word-compat
      }:
      mkDerivation {
        pname = "ip";
-       version = "1.7.4";
-       sha256 = "1hvqgah86z2saizhjpq2352x2ncxjsshvzj66bmij3yk6y107yfs";
-       revision = "1";
-       editedCabalFile = "09yrwzklzbfvh5x4j7k4vx7a49kndfz9d8kjkfvwi3frqzhr209m";
+       version = "1.7.5";
+       sha256 = "1kjfzhiwykf1cy0nvsbj0j0k367ky858w862j2z0vp42dybxk5hm";
        libraryHaskellDepends = [
          aeson attoparsec base bytebuild byteslice bytesmith bytestring
          deepseq hashable natural-arithmetic primitive text text-short
-         vector wide-word
+         vector wide-word word-compat
        ];
        testHaskellDepends = [
-         attoparsec base byteslice bytestring doctest hspec HUnit QuickCheck
+         attoparsec base byteslice bytestring hspec HUnit QuickCheck
          quickcheck-classes tasty tasty-hunit tasty-quickcheck text
-         text-short vector wide-word
+         text-short wide-word
        ];
        testToolDepends = [ hspec-discover ];
        benchmarkHaskellDepends = [
@@ -160650,8 +160711,6 @@ self: {
        ];
        description = "Library for IP and MAC addresses";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "ip-quoter" = callPackage
@@ -161290,6 +161349,7 @@ self: {
        description = "RFC-based resource identifier library";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "iridium" = callPackage
@@ -162382,7 +162442,6 @@ self: {
        ];
        description = "Efficient relational queries on Haskell sets";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ixset-typed" = callPackage
@@ -162402,8 +162461,6 @@ self: {
        ];
        description = "Efficient relational queries on Haskell sets";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "ixset-typed-binary-instance" = callPackage
@@ -162415,7 +162472,6 @@ self: {
        libraryHaskellDepends = [ base binary ixset-typed ];
        description = "Binary instance for ixset-typed";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ixset-typed-cassava" = callPackage
@@ -162431,7 +162487,6 @@ self: {
        ];
        description = "cassava encoding and decoding via ixset-typed";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ixset-typed-conversions" = callPackage
@@ -162448,7 +162503,6 @@ self: {
        ];
        description = "Conversions from ixset-typed to other containers";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ixset-typed-hashable-instance" = callPackage
@@ -162460,7 +162514,6 @@ self: {
        libraryHaskellDepends = [ base hashable ixset-typed ];
        description = "Hashable instance for ixset-typed";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ixshader" = callPackage
@@ -163494,7 +163547,6 @@ self: {
        ];
        description = "A job queue library";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "jobs-ui" = callPackage
@@ -163631,8 +163683,6 @@ self: {
        ];
        description = "JSON with Structure";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "jordan-openapi" = callPackage
@@ -163654,7 +163704,6 @@ self: {
        ];
        description = "OpenAPI Definitions for Jordan, Automatically";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "jordan-servant" = callPackage
@@ -163677,7 +163726,6 @@ self: {
        ];
        description = "Servant Combinators for Jordan";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "jordan-servant-client" = callPackage
@@ -163701,7 +163749,6 @@ self: {
        ];
        description = "Servant Client Instances for Jordan Servant Types";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "jordan-servant-openapi" = callPackage
@@ -163726,7 +163773,6 @@ self: {
        ];
        description = "OpenAPI schemas for Jordan-Powered Servant APIs";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "jordan-servant-server" = callPackage
@@ -163748,7 +163794,6 @@ self: {
        ];
        description = "Servers for Jordan-Based Servant Combinators";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "jort" = callPackage
@@ -163816,8 +163861,6 @@ self: {
        benchmarkHaskellDepends = [ base bytestring criterion cryptonite ];
        description = "JSON Object Signing and Encryption Library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "jot" = callPackage
@@ -163852,8 +163895,6 @@ self: {
        testHaskellDepends = [ base hspec ];
        description = "Transform Joy code using conditional rewrite rules";
        license = lib.licenses.bsd2;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "jpeg" = callPackage
@@ -163999,8 +164040,6 @@ self: {
        ];
        description = "Interface for JavaScript that works with GHCJS and GHC";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "jsaddle-dom" = callPackage
@@ -164705,8 +164744,6 @@ self: {
        ];
        description = "Fully-featured JSON-RPC 2.0 library";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "json-rpc-client" = callPackage
@@ -164866,8 +164903,6 @@ self: {
        ];
        description = "Incremental applicative JSON parser";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "json-syntax" = callPackage
@@ -165083,6 +165118,30 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "json2sg" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, file-embed, hspec, sugar
+     , sugar-json, tasty, tasty-hspec, text
+     }:
+     mkDerivation {
+       pname = "json2sg";
+       version = "0.0.1";
+       sha256 = "0bi3y0pmc5xzdnw5vkvjxplaq2sr6dwgvc6mxkcn8binzcnjig7i";
+       isLibrary = false;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring sugar sugar-json text
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base file-embed hspec sugar sugar-json tasty tasty-hspec text
+       ];
+       doHaddock = false;
+       description = "Lossy conversion from JSON to Sugar";
+       license = "unknown";
+       hydraPlatforms = lib.platforms.none;
+       mainProgram = "json2sg";
+     }) {};
+
   "json2yaml" = callPackage
     ({ mkDerivation, aeson, base, bytestring, yaml }:
      mkDerivation {
@@ -166341,7 +166400,6 @@ self: {
        ];
        description = "Haskell bindings for Spark Dataframes and Datasets";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "karver" = callPackage
@@ -166528,6 +166586,7 @@ self: {
        description = "Katip scribe for raven (https://sentry.io)";
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "katip-rollbar" = callPackage
@@ -166759,8 +166818,6 @@ self: {
        ];
        description = "Fast concurrent queues much inspired by unagi-chan";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "kbq-gu" = callPackage
@@ -166868,8 +166925,6 @@ self: {
        ];
        description = "Fast and flexible k-d trees for various types of point queries";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "keccak" = callPackage
@@ -167320,9 +167375,7 @@ self: {
        ];
        description = "Core parts of Keid engine";
        license = lib.licenses.bsd3;
-       badPlatforms = [ "aarch64-linux" ];
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
+       platforms = [ "x86_64-linux" ];
      }) {};
 
   "keid-frp-banana" = callPackage
@@ -167338,7 +167391,7 @@ self: {
        ];
        description = "Reactive Banana integration for Keid engine";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
+       platforms = [ "x86_64-linux" ];
      }) {};
 
   "keid-geometry" = callPackage
@@ -167354,8 +167407,7 @@ self: {
        ];
        description = "Geometry primitives for Keid engine";
        license = lib.licenses.bsd3;
-       badPlatforms = [ "aarch64-linux" ];
-       hydraPlatforms = lib.platforms.none;
+       platforms = [ "x86_64-linux" ];
      }) {};
 
   "keid-render-basic" = callPackage
@@ -167376,8 +167428,9 @@ self: {
        ];
        description = "Basic rendering programs for Keid engine";
        license = lib.licenses.bsd3;
-       badPlatforms = [ "aarch64-linux" ];
+       platforms = [ "x86_64-linux" ];
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "keid-resource-gltf" = callPackage
@@ -167395,6 +167448,7 @@ self: {
        ];
        description = "GLTF loader for Keid engine";
        license = lib.licenses.bsd3;
+       platforms = [ "x86_64-linux" ];
        hydraPlatforms = lib.platforms.none;
      }) {};
 
@@ -167411,8 +167465,7 @@ self: {
        ];
        description = "OpenAL sound system for Keid engine";
        license = lib.licenses.bsd3;
-       badPlatforms = [ "aarch64-linux" ];
-       hydraPlatforms = lib.platforms.none;
+       platforms = [ "x86_64-linux" ];
      }) {};
 
   "keid-ui-dearimgui" = callPackage
@@ -167430,8 +167483,9 @@ self: {
        ];
        description = "DearImGui elements for Keid engine";
        license = lib.licenses.bsd3;
-       badPlatforms = [ "aarch64-linux" ];
+       platforms = [ "x86_64-linux" ];
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "keiretsu" = callPackage
@@ -167820,6 +167874,7 @@ self: {
        description = "Managing stores of secret things";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "keyvaluehash" = callPackage
@@ -168410,8 +168465,8 @@ self: {
      }:
      mkDerivation {
        pname = "koji-tool";
-       version = "0.9.2";
-       sha256 = "0fl3cgdw2b1mhc07zbh6k4b20ck0pgk8r678ywvi45asr331y2r6";
+       version = "0.9.3";
+       sha256 = "0bs2m60c5zm8q29wq2qp5syra46fgzcpshhh2n69ch0rr428rakg";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -168682,7 +168737,6 @@ self: {
        ];
        description = "Haskell bindings for Spark Dataframes and Datasets";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "krpc" = callPackage
@@ -169145,8 +169199,6 @@ self: {
        testHaskellDepends = [ base hspec servant servant-foreign text ];
        description = "Generate Ruby clients from Servant APIs";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "lacroix" = callPackage
@@ -169202,6 +169254,20 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "lambda" = callPackage
+    ({ mkDerivation, base, containers, mtl, parsec, text }:
+     mkDerivation {
+       pname = "lambda";
+       version = "0.1.0.0";
+       sha256 = "0311fk40119h9fclhrmv1kpj3gm0xqiq1jb0dgbwc69h942hnklv";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [ base containers mtl parsec text ];
+       description = "Interpreters for lambda calculus, calculus of constructions, and more";
+       license = lib.licenses.mit;
+       mainProgram = "lambda";
+     }) {};
+
   "lambda-ast" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -171688,7 +171754,6 @@ self: {
        ];
        description = "Scalable anonymous records";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "large-generics" = callPackage
@@ -171834,7 +171899,6 @@ self: {
        ];
        description = "Find the latest version of a package on npm";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "latest-npm-version";
      }) {};
 
@@ -172060,8 +172124,6 @@ self: {
        ];
        description = "Server-side SDK for integrating with LaunchDarkly";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "launchpad-control" = callPackage
@@ -173949,8 +174011,8 @@ self: {
      }:
      mkDerivation {
        pname = "levenshtein";
-       version = "0.2.0.0";
-       sha256 = "0q0q19xjp37gl3xadfm1i70q5dwyh1b3699rf0b3rb6zb13py839";
+       version = "0.2.1.0";
+       sha256 = "0n3sbnbagb5am9z0jb8rd3m8d46ipmypbraqjj14zscih4lhapyi";
        libraryHaskellDepends = [
          base binary data-default-class deepseq hashable QuickCheck
        ];
@@ -173959,8 +174021,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion deepseq ];
        description = "Calculate the edit distance between two foldables";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "levmar" = callPackage
@@ -174540,8 +174600,6 @@ self: {
        ];
        description = "A Haskell implementation of JSON Web Token (JWT)";
        license = lib.licenses.mpl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "liblastfm" = callPackage
@@ -174919,6 +174977,33 @@ self: {
        broken = true;
      }) {};
 
+  "librarian" = callPackage
+    ({ mkDerivation, base, containers, dhall, directory, easy-file
+     , Glob, hspec, hspec-core, hspec-discover, optparse-applicative
+     , pretty-show, regexpr, temporary
+     }:
+     mkDerivation {
+       pname = "librarian";
+       version = "0.1.0.0";
+       sha256 = "0w3g6dq4kalniaxspj6zs4ghn9dyazkjga2vad4zb9cwr8i9vh2w";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers dhall directory easy-file Glob pretty-show regexpr
+       ];
+       executableHaskellDepends = [ base dhall optparse-applicative ];
+       testHaskellDepends = [
+         base containers directory easy-file Glob hspec hspec-core
+         hspec-discover temporary
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Move/rename according a set of rules";
+       license = lib.licenses.isc;
+       hydraPlatforms = lib.platforms.none;
+       mainProgram = "librarian";
+       broken = true;
+     }) {};
+
   "librato" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, either
      , http-client, http-conduit, http-types, mtl, resourcet, text
@@ -175017,8 +175102,6 @@ self: {
        ];
        description = "Bindings for secp256k1";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) secp256k1;};
 
   "libsodium" = callPackage
@@ -177702,8 +177785,6 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Additional data and structures to some 'String'-related lists";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "listsafe" = callPackage
@@ -177751,6 +177832,7 @@ self: {
        description = "Append only key-list database";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "lit" = callPackage
@@ -177846,8 +177928,6 @@ self: {
        ];
        description = "Basic logging based on monad-logger";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "little-rio" = callPackage
@@ -178652,6 +178732,7 @@ self: {
        description = "Client-side load balancing utilities";
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "load-env" = callPackage
@@ -179004,8 +179085,6 @@ self: {
        ];
        description = "Structured logging solution (base package)";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "log-domain" = callPackage
@@ -179083,7 +179162,6 @@ self: {
        ];
        description = "Structured logging solution (Elasticsearch back end)";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "log-postgres" = callPackage
@@ -179778,7 +179856,6 @@ self: {
        ];
        description = "Calculus for LOL (λω language)";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "lol-calculus";
      }) {};
 
@@ -179864,7 +179941,6 @@ self: {
        ];
        description = "Type inferencer for LOL (λω language)";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "loli" = callPackage
@@ -180055,7 +180131,6 @@ self: {
        testToolDepends = [ sydtest-discover ];
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "loops" = callPackage
@@ -180710,6 +180785,7 @@ self: {
        description = "Core functionality for LTI 1.3.";
        license = lib.licenses.lgpl3Only;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "ltiv1p1" = callPackage
@@ -182401,7 +182477,6 @@ self: {
        ];
        description = "Preconfigured email connection pool on top of smtp";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "exe";
      }) {};
 
@@ -182727,8 +182802,6 @@ self: {
        testHaskellDepends = [ base containers deepseq exceptions hspec ];
        description = "Remote Management Framework";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "managed-functions-http-connector" = callPackage
@@ -182745,7 +182818,6 @@ self: {
        ];
        description = "Simple HTTP-Based Connector for Managed Functions";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "managed-functions-json" = callPackage
@@ -182757,7 +182829,6 @@ self: {
        libraryHaskellDepends = [ aeson base managed-functions ];
        description = "JSON Support for the Managed Functions Framework";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "manatee" = callPackage
@@ -183715,7 +183786,6 @@ self: {
        ];
        description = "Abstraction for HTML-embedded content";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "markup-preview" = callPackage
@@ -185783,8 +185853,6 @@ self: {
        ];
        description = "An Elf parser";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "mellon-core" = callPackage
@@ -186410,8 +186478,6 @@ self: {
          validity-containers validity-time
        ];
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "mergeful-persistent" = callPackage
@@ -186437,6 +186503,7 @@ self: {
        description = "Support for using mergeful from persistent-based databases";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "mergeless" = callPackage
@@ -186562,8 +186629,6 @@ self: {
        ];
        description = "An implementation of a Merkle tree and merkle tree proofs of inclusion";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "mersenne-random" = callPackage
@@ -187164,8 +187229,6 @@ self: {
        ];
        description = "A tiny JSON library with light dependency footprint";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "microbase" = callPackage
@@ -187492,7 +187555,6 @@ self: {
        testHaskellDepends = [ aeson base hspec text ];
        description = "A super simple logging module";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "microsoft-translator" = callPackage
@@ -188387,8 +188449,6 @@ self: {
        ];
        description = "A MinIO Haskell Library for Amazon S3 compatible cloud storage";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "minions" = callPackage
@@ -189209,7 +189269,6 @@ self: {
        ];
        description = "Command line interface to the MMark markdown processor";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "mmark";
      }) {};
 
@@ -189222,6 +189281,8 @@ self: {
        pname = "mmark-ext";
        version = "0.2.1.5";
        sha256 = "1dy3xnzpbbnp03k3r04q8y10pcj2r708dk8bff0pxzkvypm75g88";
+       revision = "1";
+       editedCabalFile = "1bfsbcxz0bvnhjcrismzkpaza8qn8g7hwswdb0gzyqj1hv6yv1nx";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base foldl ghc-syntax-highlighter lucid microlens mmark modern-uri
@@ -189231,8 +189292,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Commonly useful extensions for the MMark markdown processor";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "mmorph_1_1_3" = callPackage
@@ -189656,8 +189715,6 @@ self: {
        ];
        description = "Mock time in tests";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "mockazo" = callPackage
@@ -192530,7 +192587,6 @@ self: {
        description = "Invocation helpers for the ReaderT-record-of-functions style";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "moonshine" = callPackage
@@ -193542,6 +193598,19 @@ self: {
        mainProgram = "mplayer-spot";
      }) {};
 
+  "mpolynomials" = callPackage
+    ({ mkDerivation, base, containers, extra, numeric-prelude, text }:
+     mkDerivation {
+       pname = "mpolynomials";
+       version = "0.1.0.0";
+       sha256 = "0p2x8hr5yydqnm5znh7ghfyis5s4vapk10q8qs76il7vb68np352";
+       libraryHaskellDepends = [
+         base containers extra numeric-prelude text
+       ];
+       description = "Simple multivariate polynomials";
+       license = lib.licenses.gpl3Only;
+     }) {};
+
   "mpppc" = callPackage
     ({ mkDerivation, ansi-terminal, base, bytestring, split, text }:
      mkDerivation {
@@ -194243,6 +194312,7 @@ self: {
        description = "Library to communicate with Mt.Gox";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "mtl_2_2_2" = callPackage
@@ -197121,9 +197191,7 @@ self: {
        executableHaskellDepends = [ base text ];
        description = "Tool to keep namecoin names updated and well";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "namecoin-update";
-       broken = true;
      }) {};
 
   "named" = callPackage
@@ -198411,8 +198479,6 @@ self: {
        ];
        description = "An MQTT Protocol Implementation";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "net-mqtt-lens" = callPackage
@@ -198429,7 +198495,6 @@ self: {
        ];
        description = "Optics for net-mqtt";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "net-mqtt-rpc" = callPackage
@@ -198451,7 +198516,6 @@ self: {
        ];
        description = "Make RPC calls via an MQTT broker";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "mqtt-rpc";
      }) {};
 
@@ -200900,7 +200964,6 @@ self: {
        executableHaskellDepends = [ base ];
        description = "Nico Nico Douga (ニコニコ動画) Comment Translator";
        license = lib.licenses.agpl3Only;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "nicovideo-translator";
      }) {};
 
@@ -201078,9 +201141,7 @@ self: {
        ];
        description = "Deploy Nix-built software to a NixOS machine";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "nix-deploy";
-       broken = true;
      }) {};
 
   "nix-derivation" = callPackage
@@ -201204,9 +201265,7 @@ self: {
        ];
        description = "Reify the Nix build graph into a Haskell graph data structure";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "nix-graph";
-       broken = true;
      }) {};
 
   "nix-narinfo" = callPackage
@@ -201248,20 +201307,21 @@ self: {
      , cli-git, cli-nix, containers, cryptonite, data-default, directory
      , either, exceptions, extra, filepath, github, here, lens
      , logging-effect, megaparsec, memory, modern-uri, monad-logger, mtl
-     , optparse-applicative, temporary, text, time, unix, which, yaml
+     , optparse-applicative, process, template-haskell, temporary, text
+     , time, unix, which, yaml
      }:
      mkDerivation {
        pname = "nix-thunk";
-       version = "0.4.0.0";
-       sha256 = "06l897sl59pq5qvqwic2w57cd9s5b9iimzlx4l6d9krwsqzqipy7";
+       version = "0.5.0.0";
+       sha256 = "06pn43ckxh0792if41q7prdg8705gcvplrf1f02i5ix3hddwq2l1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-pretty base bytestring cli-extras cli-git cli-nix
          containers cryptonite data-default directory either exceptions
          extra filepath github here lens logging-effect megaparsec memory
-         modern-uri monad-logger mtl optparse-applicative temporary text
-         time unix which yaml
+         modern-uri monad-logger mtl optparse-applicative process
+         template-haskell temporary text time unix which yaml
        ];
        executableHaskellDepends = [
          base cli-extras optparse-applicative text
@@ -202626,8 +202686,6 @@ self: {
        libraryHaskellDepends = [ base containers numeric-prelude primes ];
        description = "NumericPrelude extras";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "np-linear" = callPackage
@@ -203423,20 +203481,6 @@ self: {
      }:
      mkDerivation {
        pname = "numhask-array";
-       version = "0.10.0";
-       sha256 = "0dsjh20y46774hih4ijmr1d50mgm7kz5imah6ynggxmdd595lp0x";
-       libraryHaskellDepends = [
-         adjunctions base distributive numhask vector
-       ];
-       description = "Multi-dimensional arrays";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "numhask-array_0_10_1" = callPackage
-    ({ mkDerivation, adjunctions, base, distributive, numhask, vector
-     }:
-     mkDerivation {
-       pname = "numhask-array";
        version = "0.10.1";
        sha256 = "0c8zvlx5w6zjjxcnsc6jl7pbmfr1p4823jpcyzvx72kzzms16x5b";
        libraryHaskellDepends = [
@@ -203444,7 +203488,6 @@ self: {
        ];
        description = "Multi-dimensional arrays";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "numhask-free" = callPackage
@@ -204242,8 +204285,6 @@ self: {
        testToolDepends = [ tasty-discover ];
        description = "An implementation of the Oblivious Transfer protocol in Haskell";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "observable" = callPackage
@@ -204713,7 +204754,6 @@ self: {
        ];
        description = "OpenID Connect 1.0 library for RP";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ois-input-manager" = callPackage
@@ -205304,10 +205344,8 @@ self: {
      }:
      mkDerivation {
        pname = "opaleye";
-       version = "0.9.2.0";
-       sha256 = "0zvms42pmsg6ish76mvk0ksz4apxvs4iyjfvgkm7zwadq3i9v8l3";
-       revision = "1";
-       editedCabalFile = "006pp9l4j2vc2h6597vml424834xv1j4krfb3xjyaxhnq32hzcjr";
+       version = "0.9.3.2";
+       sha256 = "0lkdi2svbv64z4rnsfxbr7ijb3a5rmsx4c6igzql7ajrlwha49rx";
        libraryHaskellDepends = [
          aeson base base16-bytestring bytestring case-insensitive
          contravariant postgresql-simple pretty product-profunctors
@@ -205325,7 +205363,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "opaleye_0_9_3_2" = callPackage
+  "opaleye_0_9_3_3" = callPackage
     ({ mkDerivation, aeson, base, base16-bytestring, bytestring
      , case-insensitive, containers, contravariant, dotenv, hspec
      , hspec-discover, multiset, postgresql-simple, pretty
@@ -205335,8 +205373,8 @@ self: {
      }:
      mkDerivation {
        pname = "opaleye";
-       version = "0.9.3.2";
-       sha256 = "0lkdi2svbv64z4rnsfxbr7ijb3a5rmsx4c6igzql7ajrlwha49rx";
+       version = "0.9.3.3";
+       sha256 = "19q81zbp2gd1alsm891i2xh7vd985paa5b04pm0bhrafajx7k4na";
        libraryHaskellDepends = [
          aeson base base16-bytestring bytestring case-insensitive
          contravariant postgresql-simple pretty product-profunctors
@@ -205623,7 +205661,6 @@ self: {
        description = "open witnesses";
        license = lib.licenses.bsd2;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "openai-hs" = callPackage
@@ -205656,8 +205693,8 @@ self: {
      }:
      mkDerivation {
        pname = "openai-servant";
-       version = "0.2.2.0";
-       sha256 = "1h9g7sak3142hlw83dlb8h5q5fkdgy6rz81syidq0cvg8hzx9bzq";
+       version = "0.2.3.0";
+       sha256 = "19029qqbdvs5a9a41cncff3fmy4s02654bxjjw9kc84z5cp67s7i";
        libraryHaskellDepends = [
          aeson base bytestring casing servant servant-multipart-api text
          time vector
@@ -205808,7 +205845,6 @@ self: {
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
        mainProgram = "openapi3-code-generator-exe";
-       broken = true;
      }) {};
 
   "opencc" = callPackage
@@ -207813,8 +207849,8 @@ self: {
      }:
      mkDerivation {
        pname = "org-mode";
-       version = "2.0.1";
-       sha256 = "0g22gjy7l6c28j60vbhazgcl0da58mml307qsp4zac4j4nshv7y2";
+       version = "2.0.2";
+       sha256 = "1fzxpal1ld8l7a4vy9ncv04vwzfb2cbimyjlq0ayl27pii7j5shm";
        libraryHaskellDepends = [
          base containers filepath hashable megaparsec parser-combinators
          text time
@@ -207824,8 +207860,6 @@ self: {
        ];
        description = "Parser for Emacs org-mode files";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "org-mode-lucid" = callPackage
@@ -207833,14 +207867,13 @@ self: {
      }:
      mkDerivation {
        pname = "org-mode-lucid";
-       version = "1.6.3";
-       sha256 = "0gn5cm9kjx1dpnp311q5hyw6fqyr4l4dvk7cnmwv6r39vyjxy4lc";
+       version = "1.6.4";
+       sha256 = "0xz9bsfglw7qyj2ivdz36j3ynfxq7bag29fj4mjqpg7ki5di90ja";
        libraryHaskellDepends = [
          base containers hashable lucid org-mode text
        ];
        description = "Lucid integration for org-mode";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "org2anki" = callPackage
@@ -208077,7 +208110,7 @@ self: {
        mainProgram = "ormolu";
      }) {};
 
-  "ormolu_0_5_0_0" = callPackage
+  "ormolu_0_5_0_1" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, array, base, bytestring
      , Cabal, containers, Diff, directory, dlist, exceptions, filepath
      , ghc-lib-parser, gitrev, hspec, hspec-discover, hspec-megaparsec
@@ -208087,8 +208120,8 @@ self: {
      }:
      mkDerivation {
        pname = "ormolu";
-       version = "0.5.0.0";
-       sha256 = "1qfhn2vfg9rbddr93kc14dq40j38pas169cizrrdm507z6hnyc1w";
+       version = "0.5.0.1";
+       sha256 = "1rnf4x352k856avfllk4rc9v0wwkydr030cmp7j29p0y9cwf5pkg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -208167,8 +208200,6 @@ self: {
        ];
        description = "Auto-generated ory-hydra API Client";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "ory-kratos" = callPackage
@@ -208189,8 +208220,6 @@ self: {
        ];
        description = "API bindings for Ory Kratos";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "os-release" = callPackage
@@ -209248,6 +209277,7 @@ self: {
        description = "Parse syslog traffic from PAN-OS";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "panda" = callPackage
@@ -209331,28 +209361,28 @@ self: {
        maintainers = [ lib.maintainers.peti ];
      }) {};
 
-  "pandoc_2_18" = callPackage
+  "pandoc_2_19" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, array, attoparsec, base
      , base64-bytestring, binary, blaze-html, blaze-markup, bytestring
      , case-insensitive, citeproc, commonmark, commonmark-extensions
      , commonmark-pandoc, connection, containers, data-default, deepseq
      , Diff, directory, doclayout, doctemplates, emojis, exceptions
-     , file-embed, filepath, Glob, haddock-library, hslua
-     , hslua-module-doclayout, hslua-module-path, hslua-module-system
-     , hslua-module-text, hslua-module-version, http-client
-     , http-client-tls, http-types, ipynb, jira-wiki-markup, JuicyPixels
-     , lpeg, mtl, network, network-uri, pandoc-lua-marshal, pandoc-types
-     , parsec, pretty, pretty-show, process, random, safe, scientific
-     , SHA, skylighting, skylighting-core, split, syb, tagsoup, tasty
-     , tasty-bench, tasty-golden, tasty-hunit, tasty-lua
+     , file-embed, filepath, Glob, gridtables, haddock-library, hslua
+     , hslua-aeson, hslua-module-doclayout, hslua-module-path
+     , hslua-module-system, hslua-module-text, hslua-module-version
+     , http-client, http-client-tls, http-types, ipynb, jira-wiki-markup
+     , JuicyPixels, lpeg, mtl, network, network-uri, pandoc-lua-marshal
+     , pandoc-types, parsec, pretty, pretty-show, process, random, safe
+     , scientific, SHA, skylighting, skylighting-core, split, syb
+     , tagsoup, tasty, tasty-bench, tasty-golden, tasty-hunit, tasty-lua
      , tasty-quickcheck, temporary, texmath, text, text-conversions
      , time, unicode-collation, unicode-transforms, unix, xml
      , xml-conduit, xml-types, yaml, zip-archive, zlib
      }:
      mkDerivation {
        pname = "pandoc";
-       version = "2.18";
-       sha256 = "02g6da49g60b5v7aj8w82n9yfks37bcaa6ni75hcbvbn3mw59lyl";
+       version = "2.19";
+       sha256 = "1gqw2bl23v60p491ml7n76pj04f7ggannswrakmqs5afidr16p22";
        configureFlags = [ "-f-trypandoc" ];
        isLibrary = true;
        isExecutable = true;
@@ -209362,15 +209392,16 @@ self: {
          blaze-html blaze-markup bytestring case-insensitive citeproc
          commonmark commonmark-extensions commonmark-pandoc connection
          containers data-default deepseq directory doclayout doctemplates
-         emojis exceptions file-embed filepath Glob haddock-library hslua
-         hslua-module-doclayout hslua-module-path hslua-module-system
-         hslua-module-text hslua-module-version http-client http-client-tls
-         http-types ipynb jira-wiki-markup JuicyPixels lpeg mtl network
-         network-uri pandoc-lua-marshal pandoc-types parsec pretty
-         pretty-show process random safe scientific SHA skylighting
-         skylighting-core split syb tagsoup temporary texmath text
-         text-conversions time unicode-collation unicode-transforms unix xml
-         xml-conduit xml-types yaml zip-archive zlib
+         emojis exceptions file-embed filepath Glob gridtables
+         haddock-library hslua hslua-aeson hslua-module-doclayout
+         hslua-module-path hslua-module-system hslua-module-text
+         hslua-module-version http-client http-client-tls http-types ipynb
+         jira-wiki-markup JuicyPixels lpeg mtl network network-uri
+         pandoc-lua-marshal pandoc-types parsec pretty pretty-show process
+         random safe scientific SHA skylighting skylighting-core split syb
+         tagsoup temporary texmath text text-conversions time
+         unicode-collation unicode-transforms unix xml xml-conduit xml-types
+         yaml zip-archive zlib
        ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
@@ -209702,8 +209733,6 @@ self: {
        ];
        description = "Extract \"contextual links\" from Pandoc";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "pandoc-lua-marshal" = callPackage
@@ -210263,47 +210292,6 @@ self: {
      }:
      mkDerivation {
        pname = "pantry";
-       version = "0.5.5";
-       sha256 = "0hdpngpq2i8kvw6lmpv99y7q1z6b1rwlcajngwjx46x55faw2gv4";
-       libraryHaskellDepends = [
-         aeson ansi-terminal base bytestring Cabal casa-client casa-types
-         conduit conduit-extra containers cryptonite cryptonite-conduit
-         digest filelock generic-deriving hackage-security hpack http-client
-         http-client-tls http-conduit http-download http-types memory mtl
-         network-uri path path-io persistent persistent-sqlite
-         persistent-template primitive resourcet rio rio-orphans
-         rio-prettyprint tar-conduit text text-metrics time transformers
-         unix-compat unliftio unordered-containers vector yaml zip-archive
-       ];
-       testHaskellDepends = [
-         aeson ansi-terminal base bytestring Cabal casa-client casa-types
-         conduit conduit-extra containers cryptonite cryptonite-conduit
-         digest exceptions filelock generic-deriving hackage-security
-         hedgehog hpack hspec http-client http-client-tls http-conduit
-         http-download http-types memory mtl network-uri path path-io
-         persistent persistent-sqlite persistent-template primitive
-         QuickCheck raw-strings-qq resourcet rio rio-orphans rio-prettyprint
-         tar-conduit text text-metrics time transformers unix-compat
-         unliftio unordered-containers vector yaml zip-archive
-       ];
-       description = "Content addressable Haskell package management";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "pantry_0_5_6" = callPackage
-    ({ mkDerivation, aeson, ansi-terminal, base, bytestring, Cabal
-     , casa-client, casa-types, conduit, conduit-extra, containers
-     , cryptonite, cryptonite-conduit, digest, exceptions, filelock
-     , generic-deriving, hackage-security, hedgehog, hpack, hspec
-     , http-client, http-client-tls, http-conduit, http-download
-     , http-types, memory, mtl, network-uri, path, path-io, persistent
-     , persistent-sqlite, persistent-template, primitive, QuickCheck
-     , raw-strings-qq, resourcet, rio, rio-orphans, rio-prettyprint
-     , tar-conduit, text, text-metrics, time, transformers, unix-compat
-     , unliftio, unordered-containers, vector, yaml, zip-archive
-     }:
-     mkDerivation {
-       pname = "pantry";
        version = "0.5.6";
        sha256 = "18xz441274hrlrwbwfd39baddrmi95dg9ykcnhwmh37yhkvm1i1z";
        libraryHaskellDepends = [
@@ -210329,7 +210317,6 @@ self: {
        ];
        description = "Content addressable Haskell package management";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "pantry-tmp" = callPackage
@@ -211194,10 +211181,8 @@ self: {
     ({ mkDerivation, base, bytestring, text }:
      mkDerivation {
        pname = "park-bench";
-       version = "0.1.0";
-       sha256 = "0ygj4x3s0s53pwp256ypwarfiwccg3mr7drgjxp41bpc8hs66v4y";
-       revision = "1";
-       editedCabalFile = "07qczda4bmijbz5ci4bazikizbz4fy51c4gw1sqq7hkcfm4rz7ga";
+       version = "0.1.0.1";
+       sha256 = "0ricvj3q4y8xdb47py9q6j23xw6fcy6l1000qm5naqkqkfz6rp35";
        libraryHaskellDepends = [ base bytestring text ];
        description = "A quick-and-dirty, low-friction benchmark tool with immediate feedback";
        license = lib.licenses.bsd3;
@@ -211838,28 +211823,24 @@ self: {
 
   "parsley-core" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, cpphs
-     , deepseq, dependent-map, dependent-sum, gauge, ghc-prim, hashable
-     , mtl, pretty-terminal, QuickCheck, tasty, tasty-hunit
-     , tasty-quickcheck, template-haskell, text, th-test-utils
-     , unordered-containers
+     , deepseq, dependent-map, dependent-sum, ghc-prim, hashable, mtl
+     , pretty-terminal, rangeset, tasty, tasty-hunit, tasty-quickcheck
+     , template-haskell, text, th-test-utils, unordered-containers
      }:
      mkDerivation {
        pname = "parsley-core";
-       version = "2.1.0.1";
-       sha256 = "0nagpms1d8cxng4pswrcncn8dacyhc91v3gbg93xn9mw2h2gapfx";
+       version = "2.2.0.0";
+       sha256 = "0xkrlplvi97im634v2877capdnp9bl3ynqcxvr707j1s3z3636nq";
        libraryHaskellDepends = [
          array base bytestring containers dependent-map dependent-sum
-         ghc-prim hashable mtl pretty-terminal template-haskell text
-         unordered-containers
+         ghc-prim hashable mtl pretty-terminal rangeset template-haskell
+         text unordered-containers
        ];
        libraryToolDepends = [ cpphs ];
        testHaskellDepends = [
          base containers deepseq tasty tasty-hunit tasty-quickcheck
          template-haskell th-test-utils
        ];
-       benchmarkHaskellDepends = [
-         base containers deepseq gauge QuickCheck
-       ];
        description = "A fast parser combinator library backed by Typed Template Haskell";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -211917,6 +211898,7 @@ self: {
        description = "Parsing factorized";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "partial" = callPackage
@@ -212208,7 +212190,7 @@ self: {
        ];
        description = "Hashing and checking of passwords";
        license = lib.licenses.bsd3;
-       badPlatforms = [ "aarch64-linux" "armv7l-linux" ];
+       platforms = lib.platforms.x86;
        maintainers = [ lib.maintainers.cdepillabout ];
      }) {};
 
@@ -212233,7 +212215,7 @@ self: {
        ];
        description = "typeclass instances for password package";
        license = lib.licenses.bsd3;
-       badPlatforms = [ "aarch64-linux" "armv7l-linux" ];
+       platforms = lib.platforms.x86;
        maintainers = [ lib.maintainers.cdepillabout ];
      }) {};
 
@@ -212794,8 +212776,6 @@ self: {
        ];
        description = "Sentry SDK";
        license = lib.licenses.isc;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "patronscraper" = callPackage
@@ -213170,8 +213150,6 @@ self: {
        ];
        description = "PCF font parsing and rendering library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "pcf-font-embed" = callPackage
@@ -213188,6 +213166,7 @@ self: {
        description = "Template Haskell for embedding text rendered using PCF fonts";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "pcg-random" = callPackage
@@ -213738,8 +213717,6 @@ self: {
        ];
        description = "An implementation of Pedersen commitment schemes";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "pedestrian-dag" = callPackage
@@ -214904,7 +214881,6 @@ self: {
        ];
        description = "Persistent instances for types in iproute";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "persistent-lens" = callPackage
@@ -215487,8 +215463,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Type safe access to multiple database schemata";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "persistent-vector" = callPackage
@@ -216225,7 +216199,6 @@ self: {
        libraryHaskellDepends = [ base subG ];
        description = "Constraints to filter the needed permutations";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "phonetic-languages-examples" = callPackage
@@ -216311,7 +216284,6 @@ self: {
        libraryHaskellDepends = [ base subG ];
        description = "Permutations and universal set related functions for the phonetic-languages series";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "phonetic-languages-phonetics-basics" = callPackage
@@ -216356,7 +216328,6 @@ self: {
        ];
        description = "Some common shared between different packages functions";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "distributionTextG";
      }) {};
 
@@ -216387,8 +216358,6 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Allows to estimate the rhythmicity properties for the text";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "phonetic-languages-simplified-base" = callPackage
@@ -216405,7 +216374,6 @@ self: {
        ];
        description = "A basics of the phonetic-languages functionality that can be groupped";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "phonetic-languages-simplified-common" = callPackage
@@ -216472,7 +216440,6 @@ self: {
        ];
        description = "Helps to create Ukrainian texts with the given phonetic properties";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "phonetic-languages-simplified-examples-common" = callPackage
@@ -216607,7 +216574,6 @@ self: {
        ];
        description = "Some properties of the data related to rhythmicity";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "phonetic-languages-simplified-properties-array-common" = callPackage
@@ -216623,7 +216589,6 @@ self: {
        ];
        description = "Common functionality for 'with-tuples' and old version of properties";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "phonetic-languages-simplified-properties-array-old" = callPackage
@@ -216645,7 +216610,6 @@ self: {
        ];
        description = "Some properties of the data related to rhythmicity";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "phonetic-languages-simplified-properties-lists" = callPackage
@@ -216948,7 +216912,6 @@ self: {
        ];
        description = "Set up port forwarding with the Private Internet Access VPN service";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "pia-forward";
      }) {};
 
@@ -217246,8 +217209,6 @@ self: {
        ];
        description = "Access to the Pinboard API";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "pinboard-notes-backup" = callPackage
@@ -218443,6 +218404,7 @@ self: {
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
        mainProgram = "pipes-protolude-exe";
+       broken = true;
      }) {};
 
   "pipes-pulse-simple" = callPackage
@@ -218580,8 +218542,6 @@ self: {
        ];
        description = "properly streaming text";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "pipes-transduce" = callPackage
@@ -218606,6 +218566,7 @@ self: {
        description = "Interfacing pipes with foldl folds";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "pipes-vector" = callPackage
@@ -218884,8 +218845,6 @@ self: {
        ];
        description = "Pixiv API binding based on servant-client";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "piyo" = callPackage
@@ -219356,8 +219315,6 @@ self: {
        ];
        description = "run a subprocess, combining stdout and stderr";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "plist" = callPackage
@@ -220011,8 +219968,8 @@ self: {
      }:
      mkDerivation {
        pname = "pointfree";
-       version = "1.1.1.8";
-       sha256 = "0jfl6sp0kv2fdjdhzn85j3hb7a83w9g64girs67v6j53yljqx8vz";
+       version = "1.1.1.9";
+       sha256 = "1h6s4cjnj20rsvjcq6xvzyxfb156l4kmca7dcfm6bqkadpp2ia1w";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -220465,7 +220422,6 @@ self: {
        libraryHaskellDepends = [ base requirements ];
        description = "Polykinded extensible records";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "polyToMonoid" = callPackage
@@ -220580,8 +220536,6 @@ self: {
        ];
        description = "Multivariate polynomial rings";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "polynomials-bernstein" = callPackage
@@ -220830,7 +220784,6 @@ self: {
        description = "Polysemy Effects for HTTP clients";
        license = "BSD-2-Clause-Patent";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "polysemy-keyed-state" = callPackage
@@ -221172,8 +221125,6 @@ self: {
        libraryHaskellDepends = [ base polysemy req ];
        description = "Polysemy effect for req";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "polysemy-resume" = callPackage
@@ -221451,8 +221402,6 @@ self: {
        testHaskellDepends = [ base ];
        description = "Creation and application of polyvariadic functions";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "pomaps" = callPackage
@@ -224160,8 +224109,6 @@ self: {
        libraryHaskellDepends = [ adjunctions base deepseq lens mtl ];
        description = "A library for writing predicates and transformations over predicates in Haskell";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "predicate-typed" = callPackage
@@ -225446,8 +225393,6 @@ self: {
        libraryHaskellDepends = [ base primitive ];
        description = "primitive functions with bounds-checking";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "primitive-containers" = callPackage
@@ -225888,7 +225833,6 @@ self: {
        executableHaskellDepends = [ base ];
        description = "Cooperative task prioritization";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "_PrioritySync_Internal_Tests";
      }) {};
 
@@ -225985,6 +225929,18 @@ self: {
        license = lib.licenses.mpl20;
      }) {};
 
+  "prob" = callPackage
+    ({ mkDerivation, base, containers, hspec, random }:
+     mkDerivation {
+       pname = "prob";
+       version = "0.1.0.0";
+       sha256 = "1y0xfcjpkg72nj3rp6pfwjxdwqf74hdi30h1ih198kkpa0nsazyh";
+       libraryHaskellDepends = [ base containers random ];
+       testHaskellDepends = [ base hspec ];
+       description = "Discrete probability monad";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "prob-fx" = callPackage
     ({ mkDerivation, base, containers, criterion, deepseq, dirichlet
      , extensible, ghc-prim, lens, log-domain, membership, mtl
@@ -226082,14 +226038,14 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "process_1_6_14_0" = callPackage
+  "process_1_6_15_0" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, directory, filepath
      , unix
      }:
      mkDerivation {
        pname = "process";
-       version = "1.6.14.0";
-       sha256 = "0gaakzpd3r9ncp2wfqlc3dpwfn379d1hm2ymv9p09yb72fffilw9";
+       version = "1.6.15.0";
+       sha256 = "1azpl6qhi3ym4s2i1vh6z9kydpb9vgg76x803an9760jsdn1pcs4";
        libraryHaskellDepends = [ base deepseq directory filepath unix ];
        testHaskellDepends = [ base bytestring directory ];
        description = "Process libraries";
@@ -226342,8 +226298,6 @@ self: {
        testHaskellDepends = [ async base bytestring hspec unix ];
        description = "Ergonomic process launching with extreme flexibility and speed";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "procrastinating-structure" = callPackage
@@ -226446,6 +226400,7 @@ self: {
        description = "Weaken applicative functor on products";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "product-profunctors" = callPackage
@@ -226535,7 +226490,6 @@ self: {
        ];
        description = "Restructure GHC profile reports";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "profiterole";
      }) {};
 
@@ -226557,7 +226511,6 @@ self: {
        ];
        description = "Treemap visualiser for GHC prof files";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "profiteur";
      }) {};
 
@@ -227597,8 +227550,6 @@ self: {
        ];
        description = "JSON protobuf encoding for proto-lens";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "proto-lens-optparse" = callPackage
@@ -227988,7 +227939,6 @@ self: {
        ];
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "proton-haskell" = callPackage
@@ -229007,8 +228957,6 @@ self: {
        ];
        description = "types and parser for email messages (including MIME)";
        license = lib.licenses.agpl3Plus;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "purenix" = callPackage
@@ -229029,10 +228977,8 @@ self: {
        executableHaskellDepends = [ base ];
        description = "Nix backend for PureScript. Transpile PureScript code to Nix.";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "purenix";
        maintainers = [ lib.maintainers.cdepillabout ];
-       broken = true;
      }) {};
 
   "purescheme-wai-routing-core" = callPackage
@@ -229526,7 +229472,6 @@ self: {
        ];
        description = "Tool to synchronize directories with rsync, zfs or git-annex";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "pushme";
      }) {};
 
@@ -229990,8 +229935,8 @@ self: {
      }:
      mkDerivation {
        pname = "qhull";
-       version = "0.1.0.1";
-       sha256 = "0r34w9v73zly7kz4ib70m2kpm16k1ngcx36ccfzz1agqjkbcva5l";
+       version = "0.1.0.4";
+       sha256 = "01a9dngcq0f87zyp6p20cw6p9rz22ln1hixnzc6gp1wpcjgas7r1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -230073,22 +230018,6 @@ self: {
      }:
      mkDerivation {
        pname = "qm-interpolated-string";
-       version = "0.3.0.0";
-       sha256 = "1brbs4qwvb16bkmcg51spjjrzc83hwgi1fbsix25vrri2myk6sz8";
-       libraryHaskellDepends = [
-         base bytestring haskell-src-meta template-haskell text
-       ];
-       testHaskellDepends = [ base hspec ];
-       description = "Implementation of interpolated multiline strings";
-       license = lib.licenses.publicDomain;
-     }) {};
-
-  "qm-interpolated-string_0_3_1_0" = callPackage
-    ({ mkDerivation, base, bytestring, haskell-src-meta, hspec
-     , template-haskell, text
-     }:
-     mkDerivation {
-       pname = "qm-interpolated-string";
        version = "0.3.1.0";
        sha256 = "12jxkkbpmkdrjrkj242z6l4vhbgwj79b8s5l3gxs9fbg4s4pqp2k";
        libraryHaskellDepends = [
@@ -230097,7 +230026,6 @@ self: {
        testHaskellDepends = [ base hspec ];
        description = "Implementation of interpolated multiline strings";
        license = lib.licenses.publicDomain;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "qnap-decrypt" = callPackage
@@ -230183,6 +230111,7 @@ self: {
        description = "Library to generate images";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs) qrencode;};
 
   "qr-repa" = callPackage
@@ -230746,8 +230675,8 @@ self: {
        pname = "queue-sheet";
        version = "0.7.0.2";
        sha256 = "14ih4j09r30p0a75na833jq5ar0wfjm1f7qn6hfyqr4hjyqyfwfk";
-       revision = "2";
-       editedCabalFile = "1kag9n80a1v6hjipyjwihcs8v004xdclhrdi2h7hfpy6a2bdr0pc";
+       revision = "3";
+       editedCabalFile = "00waw06ql64j097i6156fjw5glv3cz5ni9i0j271wzc5zj1a6p4r";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -232042,7 +231971,6 @@ self: {
        ];
        description = "Can be used to calculate the durations of the approximations of the Ukrainian phonemes";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "pldUkr";
      }) {};
 
@@ -232261,8 +232189,6 @@ self: {
          attoparsec base criterion deepseq ghc-compact QuasiText text vector
        ];
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "rados-haskell" = callPackage
@@ -233115,6 +233041,26 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "rangeset" = callPackage
+    ({ mkDerivation, array, base, containers, cpphs, deepseq, gauge
+     , QuickCheck, selective, tasty, tasty-hunit, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "rangeset";
+       version = "0.0.1.0";
+       sha256 = "0pq5m8gq75v1a0rmknmb6f5yz9j5zckfpwm5czx6qqanp5minz9j";
+       libraryHaskellDepends = [ base ];
+       libraryToolDepends = [ cpphs ];
+       testHaskellDepends = [ base tasty tasty-hunit tasty-quickcheck ];
+       benchmarkHaskellDepends = [
+         array base containers deepseq gauge QuickCheck selective
+       ];
+       description = "Efficient sets for semi-contiguous data";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "rank-product" = callPackage
     ({ mkDerivation, base, bytestring, cassava, containers, lens
      , optparse-generic, random-fu, text, vector
@@ -233188,8 +233134,6 @@ self: {
        ];
        description = "Rapid prototyping with GHCi: hot reloading of running components and reload-surviving values";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "rapid-term" = callPackage
@@ -233695,8 +233639,6 @@ self: {
        ];
        description = "Haskell client for Sentry logging service";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "raven-haskell-scotty" = callPackage
@@ -233713,6 +233655,7 @@ self: {
        description = "Sentry http interface for Scotty web server";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "raw-feldspar" = callPackage
@@ -235611,7 +235554,6 @@ self: {
        ];
        description = "Combine redis caching and haxl";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "redland" = callPackage
@@ -236486,8 +236428,6 @@ self: {
        ];
        description = "reflex-dom-th transpiles HTML templates to haskell code for reflex-dom";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "reflex-dynamic-containers" = callPackage
@@ -236708,8 +236648,7 @@ self: {
        ];
        description = "Reflex bindings for libtelnet";
        license = lib.licenses.gpl3Plus;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
+       platforms = lib.platforms.linux;
      }) {};
 
   "reflex-localize" = callPackage
@@ -236958,7 +236897,6 @@ self: {
        libraryHaskellDepends = [ base hsp hsx2hs reform text ];
        description = "Add support for using HSP with Reform";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "reform-lucid" = callPackage
@@ -237514,26 +237452,6 @@ self: {
      }:
      mkDerivation {
        pname = "regex-tdfa";
-       version = "1.3.1.4";
-       sha256 = "0ksdfkf2avjfvd4g0mm6kacgrd7sclj7z9zd7vgkwj7q5vafhpgy";
-       libraryHaskellDepends = [
-         array base bytestring containers mtl parsec regex-base text
-       ];
-       testHaskellDepends = [
-         array base bytestring containers directory doctest-parallel
-         filepath mtl regex-base text utf8-string
-       ];
-       description = "Pure Haskell Tagged DFA Backend for \"Text.Regex\" (regex-base)";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "regex-tdfa_1_3_2" = callPackage
-    ({ mkDerivation, array, base, bytestring, containers, directory
-     , doctest-parallel, filepath, mtl, parsec, regex-base, text
-     , utf8-string
-     }:
-     mkDerivation {
-       pname = "regex-tdfa";
        version = "1.3.2";
        sha256 = "1lfzhir5zbgga44zhr4qvc2xc9pa9lslv12c8lwqqw80bzfdfq16";
        libraryHaskellDepends = [
@@ -237545,7 +237463,6 @@ self: {
        ];
        description = "Pure Haskell Tagged DFA Backend for \"Text.Regex\" (regex-base)";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "regex-tdfa-pipes" = callPackage
@@ -239401,6 +239318,7 @@ self: {
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
        mainProgram = "rbb";
+       broken = true;
      }) {};
 
   "repr" = callPackage
@@ -239733,8 +239651,6 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Abstraction to manage user defined Type Errors";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "rere" = callPackage
@@ -240148,8 +240064,8 @@ self: {
        pname = "resourcet-effectful";
        version = "1.0.0.0";
        sha256 = "0446j4ihj3fn6lkqi2b1642ak27l6cpwfv4b73gpanq3nad69fzg";
-       revision = "1";
-       editedCabalFile = "0dy1lljcvva754dk7nbs6jp5h1b532dmndxy43z3k7rpadvh0dxj";
+       revision = "2";
+       editedCabalFile = "1v02b2cp0cnfinr7bndxdwl84qqzz558rmf17xhskgl4iy2ziqvl";
        libraryHaskellDepends = [ base effectful-core resourcet ];
        description = "Adaptation of the resourcet library for the effectful ecosystem";
        license = lib.licenses.bsd3;
@@ -241366,6 +241282,7 @@ self: {
        description = "Static site generator based on Shake";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "rib-core" = callPackage
@@ -242887,7 +242804,6 @@ self: {
        ];
        description = "Query the namecoin blockchain";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "rosa";
      }) {};
 
@@ -243151,7 +243067,6 @@ self: {
        testHaskellDepends = [ base long-double ];
        description = "Correctly-rounded arbitrary-precision floating-point arithmetic";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) gmp; inherit (pkgs) mpfr;};
 
   "rounded-hw" = callPackage
@@ -243343,8 +243258,6 @@ self: {
        libraryHaskellDepends = [ aeson base row-types text ];
        description = "aeson instances for Open Records and Variants";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "row-types-barbies" = callPackage
@@ -245625,8 +245538,6 @@ self: {
        ];
        description = "Sandwich integration with Hedgehog";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "sandwich-quickcheck" = callPackage
@@ -246033,7 +245944,7 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "sbp_4_5_0" = callPackage
+  "sbp_4_6_0" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, array, base
      , base64-bytestring, basic-prelude, binary, binary-conduit
      , bytestring, cmdargs, conduit, conduit-extra, data-binary-ieee754
@@ -246042,8 +245953,8 @@ self: {
      }:
      mkDerivation {
        pname = "sbp";
-       version = "4.5.0";
-       sha256 = "1yw6ak55j5zwc7wa3fspwdcmgxn6hy0lha42r6slr82gam9pcih3";
+       version = "4.6.0";
+       sha256 = "1wa55dxmvkr410zimil143ljhxzgwqnbh53ysg6wy6a7qavv5dsd";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -246562,7 +246473,7 @@ self: {
        ];
        description = "Generates unique passwords for various websites from a single password";
        license = lib.licenses.bsd3;
-       badPlatforms = [ "aarch64-linux" "armv7l-linux" ];
+       platforms = lib.platforms.x86;
        mainProgram = "scat";
      }) {};
 
@@ -247417,7 +247328,6 @@ self: {
        libraryHaskellDepends = [ base haxl scotty text ];
        description = "Combine scotty and haxl";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "scotty-params-parser" = callPackage
@@ -247542,7 +247452,6 @@ self: {
        ];
        description = "Scotty utils library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "scotty-view" = callPackage
@@ -247810,7 +247719,7 @@ self: {
        ];
        description = "Stronger password hashing via sequential memory-hard functions";
        license = lib.licenses.bsd3;
-       badPlatforms = [ "aarch64-linux" "armv7l-linux" ];
+       platforms = lib.platforms.x86;
      }) {};
 
   "scrz" = callPackage
@@ -247839,6 +247748,19 @@ self: {
        broken = true;
      }) {};
 
+  "scubature" = callPackage
+    ({ mkDerivation, array, base, containers, ilist, matrix, vector }:
+     mkDerivation {
+       pname = "scubature";
+       version = "1.0.0.0";
+       sha256 = "1wp17l4k7yh7b3r3x2piinki4p03lp6bsbpqryah1zwy3hrpv06c";
+       libraryHaskellDepends = [
+         array base containers ilist matrix vector
+       ];
+       description = "Multidimensional integration over simplices";
+       license = lib.licenses.gpl3Only;
+     }) {};
+
   "scuttlebutt-types" = callPackage
     ({ mkDerivation, aeson, base, base64-bytestring, bytestring
      , cryptonite, ed25519, hspec, memory, text, vector
@@ -251268,6 +251190,7 @@ self: {
        description = "automatical derivation of querying functions for servant webservices";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "servant-hmac-auth" = callPackage
@@ -251388,8 +251311,6 @@ self: {
        ];
        description = "Servant support for iCalendar";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "servant-jquery" = callPackage
@@ -251446,8 +251367,6 @@ self: {
        libraryHaskellDepends = [ aeson base http-media servant text ];
        description = "JSON-RPC messages and endpoints";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "servant-jsonrpc-client" = callPackage
@@ -251465,7 +251384,6 @@ self: {
        ];
        description = "Generate JSON-RPC servant clients";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "servant-jsonrpc-server" = callPackage
@@ -251481,7 +251399,6 @@ self: {
        ];
        description = "JSON-RPC servant servers";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "servant-kotlin" = callPackage
@@ -252288,8 +252205,8 @@ self: {
     ({ mkDerivation, base, Cabal, directory, exceptions, filepath }:
      mkDerivation {
        pname = "servant-serf";
-       version = "0.3.0.1";
-       sha256 = "0qa7ycz9nr214fdhkfvpfwhznshwbxn42mh90a4f8ddlqvbj3is2";
+       version = "0.3.1.1";
+       sha256 = "1092b8xsdkqmaii0dxyn0dshj01crilmnp83qczxvy426dik4zww";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -252857,7 +252774,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Servant servers utilities";
        license = lib.licenses.mpl20;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "servant-util-examples";
      }) {};
 
@@ -252889,7 +252805,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Implementation of servant-util primitives for beam-postgres";
        license = lib.licenses.mpl20;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "servant-util-beam-pg-examples";
      }) {};
 
@@ -253235,8 +253150,6 @@ self: {
        ];
        description = "Storage backend for serversession using Redis";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "serversession-frontend-snap" = callPackage
@@ -253263,23 +253176,6 @@ self: {
      }:
      mkDerivation {
        pname = "serversession-frontend-wai";
-       version = "1.0";
-       sha256 = "0rxifhjirhmhk1x14m6lvpv6dl32g179i4i3xi3dq59r7l716j0b";
-       libraryHaskellDepends = [
-         base bytestring cookie data-default path-pieces serversession text
-         time transformers unordered-containers vault wai wai-session
-       ];
-       description = "wai-session bindings for serversession";
-       license = lib.licenses.mit;
-     }) {};
-
-  "serversession-frontend-wai_1_0_1" = callPackage
-    ({ mkDerivation, base, bytestring, cookie, data-default
-     , path-pieces, serversession, text, time, transformers
-     , unordered-containers, vault, wai, wai-session
-     }:
-     mkDerivation {
-       pname = "serversession-frontend-wai";
        version = "1.0.1";
        sha256 = "0n6id58ppf8lmjndkgji0qbkw8427zg89sgv1vgnhh4z9ydfh0zm";
        libraryHaskellDepends = [
@@ -253288,7 +253184,6 @@ self: {
        ];
        description = "wai-session bindings for serversession";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "serversession-frontend-yesod" = callPackage
@@ -253307,8 +253202,6 @@ self: {
        ];
        description = "Yesod bindings for serversession";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "services" = callPackage
@@ -253470,8 +253363,8 @@ self: {
        pname = "set-cover";
        version = "0.1.1";
        sha256 = "04jjcmjll0azz24rx91p0dp5b8ya5jc0qacr21764ri1dbkfflgw";
-       revision = "1";
-       editedCabalFile = "0x5hn43xcfsygjc048mvzk6g8dx51pr5csvvqr6pns8jmz5awkf8";
+       revision = "2";
+       editedCabalFile = "05kisz47xka696fwszlxkvna2zv5qczaww8mpmn1g66sdppa5kzg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -254509,7 +254402,6 @@ self: {
        ];
        description = "Experimental extensions to shake-plus";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "shakebook" = callPackage
@@ -256111,7 +256003,6 @@ self: {
        ];
        description = "A Haskell clone of OpenBSD signify";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "signify-hs";
      }) {};
 
@@ -256397,6 +256288,18 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "simple-cmd-args_0_1_8" = callPackage
+    ({ mkDerivation, base, optparse-applicative }:
+     mkDerivation {
+       pname = "simple-cmd-args";
+       version = "0.1.8";
+       sha256 = "13jaxivmcxjrv4cv7d7s7yv4jxy6rpig7qy8va8ynifnxframvyj";
+       libraryHaskellDepends = [ base optparse-applicative ];
+       description = "Simple command args parsing and execution";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "simple-conduit" = callPackage
     ({ mkDerivation, base, bifunctors, bytestring, CC-delcont
      , chunked-data, conduit, conduit-combinators, conduit-extra
@@ -257155,8 +257058,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion vector ];
        description = "Three-dimensional vectors of doubles with basic operations";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "simple-zipper" = callPackage
@@ -257777,6 +257678,7 @@ self: {
        description = "Multivariate polynomial factorization via bindings to Singular-factory";
        license = "GPL";
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {singular-factory = null;};
 
   "sink" = callPackage
@@ -258039,8 +257941,6 @@ self: {
        ];
        description = "Sized sequence data-types";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "sized-grid" = callPackage
@@ -258387,6 +258287,31 @@ self: {
        mainProgram = "skylighting";
      }) {};
 
+  "skylighting_0_13" = callPackage
+    ({ mkDerivation, base, binary, blaze-html, bytestring, containers
+     , pretty-show, skylighting-core, skylighting-format-ansi
+     , skylighting-format-blaze-html, skylighting-format-latex, text
+     }:
+     mkDerivation {
+       pname = "skylighting";
+       version = "0.13";
+       sha256 = "0gjafmiqah9d7a6h3qx7jmkih6yc47bks5r6hgl5911vhjgifm7k";
+       configureFlags = [ "-fexecutable" ];
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base binary containers skylighting-core skylighting-format-ansi
+         skylighting-format-blaze-html skylighting-format-latex
+       ];
+       executableHaskellDepends = [
+         base blaze-html bytestring containers pretty-show text
+       ];
+       description = "syntax highlighting library";
+       license = lib.licenses.gpl2Only;
+       hydraPlatforms = lib.platforms.none;
+       mainProgram = "skylighting";
+     }) {};
+
   "skylighting-core" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, attoparsec, base
      , base64-bytestring, binary, blaze-html, bytestring
@@ -258418,6 +258343,37 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "skylighting-core_0_13" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring, binary
+     , bytestring, case-insensitive, colour, containers, criterion, Diff
+     , directory, filepath, mtl, pretty-show, QuickCheck, safe, tasty
+     , tasty-golden, tasty-hunit, tasty-quickcheck, text, transformers
+     , utf8-string, xml-conduit
+     }:
+     mkDerivation {
+       pname = "skylighting-core";
+       version = "0.13";
+       sha256 = "01j6v2dy04lsmrx98hvgpb6vnirs1h0gbiy7q5ck5q3k37cqys7p";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson attoparsec base base64-bytestring binary bytestring
+         case-insensitive colour containers directory filepath mtl safe text
+         transformers utf8-string xml-conduit
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers Diff directory filepath
+         pretty-show QuickCheck tasty tasty-golden tasty-hunit
+         tasty-quickcheck text
+       ];
+       benchmarkHaskellDepends = [
+         base containers criterion filepath text
+       ];
+       description = "syntax highlighting library";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "skylighting-extensions" = callPackage
     ({ mkDerivation, base, containers, skylighting, skylighting-modding
      , text
@@ -258435,6 +258391,49 @@ self: {
        broken = true;
      }) {};
 
+  "skylighting-format-ansi" = callPackage
+    ({ mkDerivation, ansi-terminal, base, binary, colour, containers
+     , skylighting-core, text
+     }:
+     mkDerivation {
+       pname = "skylighting-format-ansi";
+       version = "0.1";
+       sha256 = "16qavv10g5yqwi60axj7q595ll605vmnfjgdxyi029nd5rnaipr3";
+       libraryHaskellDepends = [
+         ansi-terminal base binary colour containers skylighting-core text
+       ];
+       description = "ANSI formatter for skylighting syntax highlighting library";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "skylighting-format-blaze-html" = callPackage
+    ({ mkDerivation, base, blaze-html, containers, skylighting-core
+     , text
+     }:
+     mkDerivation {
+       pname = "skylighting-format-blaze-html";
+       version = "0.1";
+       sha256 = "0s996fn7acq3fign0kz2pg1rdw1cw5qs5l422s7rv33r41hrm67b";
+       libraryHaskellDepends = [
+         base blaze-html containers skylighting-core text
+       ];
+       description = "HTML formatter for skylighting syntax highlighting library";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "skylighting-format-latex" = callPackage
+    ({ mkDerivation, base, containers, skylighting-core, text }:
+     mkDerivation {
+       pname = "skylighting-format-latex";
+       version = "0.1";
+       sha256 = "0y7v5aifwar24i976pw32scfdywjwy2ad05ajhdf8l84nsd6rdlp";
+       libraryHaskellDepends = [ base containers skylighting-core text ];
+       description = "LaTeX formatter for skylighting syntax highlighting library";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "skylighting-lucid" = callPackage
     ({ mkDerivation, base, containers, lucid, skylighting-core, text }:
      mkDerivation {
@@ -258446,8 +258445,6 @@ self: {
        ];
        description = "Lucid support for Skylighting";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "skylighting-modding" = callPackage
@@ -259364,8 +259361,6 @@ self: {
        libraryHaskellDepends = [ aeson base smash unordered-containers ];
        description = "Aeson support for the smash library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "smash-lens" = callPackage
@@ -259378,8 +259373,6 @@ self: {
        testHaskellDepends = [ base ];
        description = "Optics for the `smash` library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "smash-microlens" = callPackage
@@ -259403,8 +259396,6 @@ self: {
        libraryHaskellDepends = [ base optics-core smash ];
        description = "Optics for the `smash` library using `optics-core`";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "smawk" = callPackage
@@ -260828,8 +260819,6 @@ self: {
        ];
        description = "persistent snaplet for the Snap Framework";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "snaplet-postgresql-simple" = callPackage
@@ -261164,6 +261153,7 @@ self: {
        description = "Typed session snaplets and continuation-based programming for the Snap web framework";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "snaplet-wordpress" = callPackage
@@ -263165,7 +263155,6 @@ self: {
        ];
        description = "Computational combinatorial species";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "spectacle" = callPackage
@@ -264486,6 +264475,7 @@ self: {
        description = "Module limbo";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "srcinst" = callPackage
@@ -266941,7 +266931,6 @@ self: {
        description = "Positive rational numbers represented as paths in the Stern-Brocot tree";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "stgi" = callPackage
@@ -267003,14 +266992,12 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "stm_2_5_0_2" = callPackage
+  "stm_2_5_1_0" = callPackage
     ({ mkDerivation, array, base }:
      mkDerivation {
        pname = "stm";
-       version = "2.5.0.2";
-       sha256 = "1x5kj5jn6c3jc5asipiai9zp6fzkqcqrh8j2imclyls1nybccjm0";
-       revision = "1";
-       editedCabalFile = "0m8sfzgcqldpp3q6x5291sxpa7b53ppf7d6axkbznxdaz9rn9p74";
+       version = "2.5.1.0";
+       sha256 = "11c84d5qqvw2kfx6arw0vaf9h7pxwnyw8xvaf7fxjmhg4p8x16ib";
        libraryHaskellDepends = [ array base ];
        description = "Software Transactional Memory";
        license = lib.licenses.bsd3;
@@ -267467,8 +267454,6 @@ self: {
        doHaddock = false;
        description = "A simple wrapper around stooq.pl API for downloading market data.";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "stopwatch" = callPackage
@@ -267682,6 +267667,56 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "store_0_7_16" = callPackage
+    ({ mkDerivation, array, async, base, base-orphans
+     , base64-bytestring, bifunctors, bytestring, cereal, cereal-vector
+     , clock, containers, contravariant, criterion, cryptohash, deepseq
+     , directory, filepath, free, ghc-prim, hashable, hspec
+     , hspec-discover, hspec-smallcheck, integer-gmp, lifted-base
+     , monad-control, mono-traversable, nats, network, primitive
+     , resourcet, safe, smallcheck, store-core, syb, template-haskell
+     , text, th-lift, th-lift-instances, th-orphans, th-reify-many
+     , th-utilities, time, transformers, unordered-containers, vector
+     , vector-binary-instances, void, weigh
+     }:
+     mkDerivation {
+       pname = "store";
+       version = "0.7.16";
+       sha256 = "125n9jcqjcyk7ypky4i0fydy1msgn8ldrhyhclqp1w0p7s2wazsg";
+       libraryHaskellDepends = [
+         array async base base-orphans base64-bytestring bifunctors
+         bytestring containers contravariant cryptohash deepseq directory
+         filepath free ghc-prim hashable hspec hspec-smallcheck integer-gmp
+         lifted-base monad-control mono-traversable nats network primitive
+         resourcet safe smallcheck store-core syb template-haskell text
+         th-lift th-lift-instances th-orphans th-reify-many th-utilities
+         time transformers unordered-containers vector void
+       ];
+       testHaskellDepends = [
+         array async base base-orphans base64-bytestring bifunctors
+         bytestring clock containers contravariant cryptohash deepseq
+         directory filepath free ghc-prim hashable hspec hspec-smallcheck
+         integer-gmp lifted-base monad-control mono-traversable nats network
+         primitive resourcet safe smallcheck store-core syb template-haskell
+         text th-lift th-lift-instances th-orphans th-reify-many
+         th-utilities time transformers unordered-containers vector void
+       ];
+       testToolDepends = [ hspec-discover ];
+       benchmarkHaskellDepends = [
+         array async base base-orphans base64-bytestring bifunctors
+         bytestring cereal cereal-vector containers contravariant criterion
+         cryptohash deepseq directory filepath free ghc-prim hashable hspec
+         hspec-smallcheck integer-gmp lifted-base monad-control
+         mono-traversable nats network primitive resourcet safe smallcheck
+         store-core syb template-haskell text th-lift th-lift-instances
+         th-orphans th-reify-many th-utilities time transformers
+         unordered-containers vector vector-binary-instances void weigh
+       ];
+       description = "Fast binary serialization";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "store-core" = callPackage
     ({ mkDerivation, base, bytestring, ghc-prim, primitive, text
      , transformers
@@ -267776,8 +267811,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "EDSL for AWS CloudFormation";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "stratum-tool" = callPackage
@@ -268480,6 +268513,7 @@ self: {
        description = "http, attoparsec, pipes and other utilities for the streaming libraries";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs) zlib;};
 
   "streaming-wai" = callPackage
@@ -269290,6 +269324,8 @@ self: {
        pname = "string-fromto";
        version = "1.0.0.0";
        sha256 = "0vnf500vahgccbbg7zvxqjxllvyq3jxzf2difqwh46fp62jfqwmx";
+       revision = "1";
+       editedCabalFile = "0dxfcfxr5yr7k39cm0d7j86milmn7nlb2ciwdy076k9dp2fhgb1r";
        libraryHaskellDepends = [ base bytestring memory text ];
        description = "Conversions between common string types, as well as Base16/Base32/Base64";
        license = lib.licenses.bsd3;
@@ -269737,8 +269773,8 @@ self: {
      }:
      mkDerivation {
        pname = "stripe-servant";
-       version = "0.3.0.0";
-       sha256 = "0zk9pbf498liq9sxqsb0hfk6w3jv03m4amlqqxr4dh3l98i03cli";
+       version = "0.3.1.0";
+       sha256 = "14na4pg2zcs4kfg9ni710zpl83lq43zqsia4jwrrkpcfiagwrffw";
        libraryHaskellDepends = [
          aeson base casing http-api-data servant text time
          unordered-containers vector
@@ -269819,7 +269855,6 @@ self: {
        description = "Stripe-Library";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "strips" = callPackage
@@ -270369,8 +270404,6 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Some extension to the Foldable and Monoid classes";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "subG-instances" = callPackage
@@ -270383,6 +270416,7 @@ self: {
        description = "Additional instances for the InsertLeft class from subG package";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "subcategories" = callPackage
@@ -270679,60 +270713,76 @@ self: {
      }) {};
 
   "sugar" = callPackage
-    ({ mkDerivation, base, bytestring, cereal, containers, megaparsec
-     , ordered-containers, safe, tasty, tasty-hspec, text
+    ({ mkDerivation, base, bytestring, cereal, containers, file-embed
+     , hspec, ordered-containers, safe, store, tasty, tasty-hspec, text
      , text-conversions, unordered-containers, vector
      }:
      mkDerivation {
        pname = "sugar";
-       version = "0.0.0.1";
-       sha256 = "1m0famhab5m3xaavcg704iq857kmy53vg6apzf19amqp9vknmlds";
+       version = "0.0.1.1";
+       sha256 = "1lz7j3zrgaar4np1gi60n7kkrb5w4n3mz6bzw1qwd3ss4pc2pqgb";
        libraryHaskellDepends = [
-         base bytestring cereal containers megaparsec ordered-containers
-         safe text text-conversions unordered-containers vector
+         base bytestring cereal containers ordered-containers safe store
+         text text-conversions unordered-containers vector
        ];
-       testHaskellDepends = [ base tasty tasty-hspec ];
-       description = "Legible data";
-       license = lib.licenses.mit;
+       testHaskellDepends = [
+         base file-embed hspec tasty tasty-hspec text
+       ];
+       description = "A pretty, sweet data language";
+       license = "unknown";
        hydraPlatforms = lib.platforms.none;
        broken = true;
      }) {};
 
+  "sugar-data" = callPackage
+    ({ mkDerivation, aeson, base, hspec, sugar, tasty, tasty-hspec
+     , text
+     }:
+     mkDerivation {
+       pname = "sugar-data";
+       version = "0.0.0.0";
+       sha256 = "0qg2z675x44hwb18cdhdd9qc96smxdq85xr6zll2h9shpg6byjp5";
+       libraryHaskellDepends = [ aeson base sugar text ];
+       testHaskellDepends = [ base hspec sugar tasty tasty-hspec ];
+       description = "Convert sugar to common data types for code generation";
+       license = "unknown";
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "sugar-json" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, cereal, containers
+    ({ mkDerivation, aeson, base, bytestring, cereal, containers, hspec
      , megaparsec, ordered-containers, safe, scientific, sugar, tasty
-     , tasty-hspec, text, text-conversions, text-show
-     , unordered-containers, vector
+     , tasty-hspec, text, text-conversions, unordered-containers, vector
      }:
      mkDerivation {
        pname = "sugar-json";
-       version = "0.0.0";
-       sha256 = "0yflqan8wk9fyl8pbxq86ngpf5rl6b23vmcfcr1bzajrihlrlqyh";
+       version = "0.0.1.1";
+       sha256 = "1fjw24293nr4l9qg1qs0f6hilz2k70vn7ddr2niyhy600669kr64";
        libraryHaskellDepends = [
          aeson base bytestring cereal containers megaparsec
          ordered-containers safe scientific sugar text text-conversions
-         text-show unordered-containers vector
+         unordered-containers vector
        ];
-       testHaskellDepends = [ base sugar tasty tasty-hspec ];
+       testHaskellDepends = [ base hspec sugar tasty tasty-hspec ];
        description = "Sugar with JSON";
-       license = lib.licenses.mit;
+       license = "unknown";
        hydraPlatforms = lib.platforms.none;
      }) {};
 
   "sugar-scheme" = callPackage
-    ({ mkDerivation, base, containers, husk-scheme, parsec, sugar
-     , tasty, tasty-hspec, text
+    ({ mkDerivation, base, containers, hspec, husk-scheme, parsec
+     , sugar, tasty, tasty-hspec, text
      }:
      mkDerivation {
        pname = "sugar-scheme";
-       version = "0.0.0";
-       sha256 = "0c284m21halhcypfmcg17vybm308nnh7aajvr4xnkzbd3zv7c7wf";
+       version = "0.0.1";
+       sha256 = "1fxbjkw2jibkrkni7kh9yrd3bb8s6zbi43cxq4bw4rlk73p1abdp";
        libraryHaskellDepends = [
          base containers husk-scheme parsec sugar text
        ];
-       testHaskellDepends = [ base sugar tasty tasty-hspec ];
+       testHaskellDepends = [ base hspec sugar tasty tasty-hspec ];
        description = "Sugar with Scheme";
-       license = lib.licenses.mit;
+       license = "unknown";
        hydraPlatforms = lib.platforms.none;
      }) {};
 
@@ -271152,7 +271202,6 @@ self: {
        description = "Apache Pulsar client for Haskell";
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "supero" = callPackage
@@ -272020,8 +272069,6 @@ self: {
        testHaskellDepends = [ base HUnit ];
        description = "Scrap Your Boilerplate With Class";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "syb-with-class-instances-text" = callPackage
@@ -272034,6 +272081,7 @@ self: {
        description = "Scrap Your Boilerplate With Class Text instance";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "sydtest" = callPackage
@@ -272158,7 +272206,6 @@ self: {
        description = "An hedis companion library for sydtest";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "sydtest-hspec" = callPackage
@@ -272197,7 +272244,6 @@ self: {
        description = "An mongoDB companion library for sydtest";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "sydtest-persistent" = callPackage
@@ -272236,7 +272282,6 @@ self: {
        description = "An persistent-postgresql companion library for sydtest";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "sydtest-persistent-sqlite" = callPackage
@@ -272292,7 +272337,6 @@ self: {
        description = "An rabbitmq companion library for sydtest";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "sydtest-servant" = callPackage
@@ -272453,7 +272497,6 @@ self: {
        description = "A yesod companion library for sydtest";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "syfco" = callPackage
@@ -273926,7 +273969,6 @@ self: {
        ];
        description = "An application that regularly logs system stats for later analysis";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "systemstats";
      }) {};
 
@@ -274953,7 +274995,6 @@ self: {
        license = lib.licenses.gpl3Only;
        hydraPlatforms = lib.platforms.none;
        mainProgram = "talash";
-       broken = true;
      }) {};
 
   "tamarin-prover" = callPackage
@@ -276354,24 +276395,6 @@ self: {
      }:
      mkDerivation {
        pname = "tasty-wai";
-       version = "0.1.1.1";
-       sha256 = "1bnq2mbgv1ksn9sq33dq1q91pzndy7gn61mlnkybk89k0bsw5i7y";
-       revision = "3";
-       editedCabalFile = "1bjmzxnrypv1nqhc37rwwcgilnrrjm8scwnb4ca6z99bldi95b27";
-       libraryHaskellDepends = [
-         base bytestring http-types HUnit tasty wai wai-extra
-       ];
-       testHaskellDepends = [ base http-types tasty wai ];
-       description = "Test 'wai' endpoints via Test.Tasty";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "tasty-wai_0_1_2_0" = callPackage
-    ({ mkDerivation, base, bytestring, http-types, HUnit, tasty, wai
-     , wai-extra
-     }:
-     mkDerivation {
-       pname = "tasty-wai";
        version = "0.1.2.0";
        sha256 = "18yw2qzzg969c99rpa8p154hxbm9i4iq64pma3jkr2gfdm6j4vvg";
        libraryHaskellDepends = [
@@ -276380,7 +276403,6 @@ self: {
        testHaskellDepends = [ base http-types tasty wai ];
        description = "Test 'wai' endpoints via Test.Tasty";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "tateti-tateti" = callPackage
@@ -277989,8 +278011,6 @@ self: {
        libraryHaskellDepends = [ base reactive-banana termbox ];
        description = "reactive-banana + termbox";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "termbox-bindings" = callPackage
@@ -278128,6 +278148,8 @@ self: {
        pname = "terminfo";
        version = "0.4.1.5";
        sha256 = "0s0x5knl4hsmzlklabcd7c0m468gisg5cnf842wi1vfg8q922q5i";
+       revision = "1";
+       editedCabalFile = "0l731kh6dmf9q58kmr64kh6nmxl0r8sp1dhwr9apjyalnfp905sd";
        libraryHaskellDepends = [ base ];
        librarySystemDepends = [ ncurses ];
        description = "Haskell bindings to the terminfo library";
@@ -279081,15 +279103,15 @@ self: {
        license = lib.licenses.gpl2Only;
      }) {};
 
-  "texmath_0_12_5_1" = callPackage
+  "texmath_0_12_5_2" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, filepath
      , mtl, pandoc-types, parsec, pretty-show, split, syb, tagged, tasty
      , tasty-golden, text, xml
      }:
      mkDerivation {
        pname = "texmath";
-       version = "0.12.5.1";
-       sha256 = "1g8zy0hqwjbg5xfp6kf94zhf44xq6g17g0lbf4m7gxa072wwgd59";
+       version = "0.12.5.2";
+       sha256 = "13sfjm9yhasszjjaw7lc3gbglpnq6ga8gnq3b5x1kzjsm80nazzg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -279166,7 +279188,6 @@ self: {
        ];
        description = "Everything Data.Text related in one package";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "text-and-plots" = callPackage
@@ -279423,8 +279444,6 @@ self: {
        ];
        description = "Text formatting";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "text-format-heavy" = callPackage
@@ -279481,6 +279500,7 @@ self: {
        description = "A generic, derivable, haskell pretty printer";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "text-icu" = callPackage
@@ -280032,27 +280052,25 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "text-show-instances_3_9" = callPackage
+  "text-show-instances_3_9_1" = callPackage
     ({ mkDerivation, base, base-compat-batteries, bifunctors, binary
      , containers, directory, generic-deriving, ghc-boot-th, ghc-prim
      , haskeline, hpc, hspec, hspec-discover, old-locale, old-time
      , pretty, QuickCheck, quickcheck-instances, random, scientific
      , semigroups, tagged, template-haskell, terminfo, text, text-short
      , text-show, th-orphans, time, transformers, transformers-compat
-     , unix, unordered-containers, vector, xhtml
+     , unix, unordered-containers, uuid-types, vector, xhtml
      }:
      mkDerivation {
        pname = "text-show-instances";
-       version = "3.9";
-       sha256 = "1bfangk4ys6pvhrv3j7i2c29xnhgin5lma2ndw051hnmmc7v2j7l";
-       revision = "2";
-       editedCabalFile = "0jmyq3pcxgwhqvhk16p7hz960f09ap2ym5iz2acnnc8ynyq6vvrf";
+       version = "3.9.1";
+       sha256 = "0jh4lb2hzyfkp39kpnl82bnx5sz4d9gf0hjk4zasqvra456y5nbh";
        libraryHaskellDepends = [
          base base-compat-batteries bifunctors binary containers directory
          ghc-boot-th haskeline hpc old-locale old-time pretty random
          scientific semigroups tagged template-haskell terminfo text
          text-short text-show time transformers transformers-compat unix
-         unordered-containers vector xhtml
+         unordered-containers uuid-types vector xhtml
        ];
        testHaskellDepends = [
          base base-compat-batteries bifunctors binary containers directory
@@ -280060,7 +280078,7 @@ self: {
          old-locale old-time pretty QuickCheck quickcheck-instances random
          scientific tagged template-haskell terminfo text-short text-show
          th-orphans time transformers transformers-compat unix
-         unordered-containers vector xhtml
+         unordered-containers uuid-types vector xhtml
        ];
        testToolDepends = [ hspec-discover ];
        description = "Additional instances for text-show";
@@ -280435,20 +280453,6 @@ self: {
     ({ mkDerivation, base, containers, ghc-prim, template-haskell }:
      mkDerivation {
        pname = "th-abstraction";
-       version = "0.4.3.0";
-       sha256 = "01nyscmjriga4fh4362b4zjad48hdv33asjkd28sj8hx3pii7fy8";
-       libraryHaskellDepends = [
-         base containers ghc-prim template-haskell
-       ];
-       testHaskellDepends = [ base containers template-haskell ];
-       description = "Nicer interface for reified information about data types";
-       license = lib.licenses.isc;
-     }) {};
-
-  "th-abstraction_0_4_4_0" = callPackage
-    ({ mkDerivation, base, containers, ghc-prim, template-haskell }:
-     mkDerivation {
-       pname = "th-abstraction";
        version = "0.4.4.0";
        sha256 = "1nmgylmxgqc2hxjqcxqiws2qm8cimvc859b1fr341hn60an1d829";
        libraryHaskellDepends = [
@@ -280457,7 +280461,6 @@ self: {
        testHaskellDepends = [ base containers template-haskell ];
        description = "Nicer interface for reified information about data types";
        license = lib.licenses.isc;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "th-alpha" = callPackage
@@ -280517,25 +280520,6 @@ self: {
      }) {};
 
   "th-compat" = callPackage
-    ({ mkDerivation, base, base-compat, hspec, hspec-discover, mtl
-     , template-haskell
-     }:
-     mkDerivation {
-       pname = "th-compat";
-       version = "0.1.3";
-       sha256 = "1il1hs5yjfkb417c224pw1vrh4anyprasfwmjbd4fkviyv55jl3b";
-       revision = "1";
-       editedCabalFile = "1ax5yz41sfy9klif7j3ihahvdi08alb56l4y9nr45vbc9kvijn7n";
-       libraryHaskellDepends = [ base template-haskell ];
-       testHaskellDepends = [
-         base base-compat hspec mtl template-haskell
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Backward- (and forward-)compatible Quote and Code types";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "th-compat_0_1_4" = callPackage
     ({ mkDerivation, base, base-compat, directory, filepath, hspec
      , hspec-discover, mtl, template-haskell
      }:
@@ -280552,7 +280536,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Backward- (and forward-)compatible Quote and Code types";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "th-constraint-compat" = callPackage
@@ -280599,8 +280582,6 @@ self: {
        libraryHaskellDepends = [ base template-haskell ];
        description = "Compatibility for data definition template of TH";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "th-desugar" = callPackage
@@ -280683,22 +280664,6 @@ self: {
      }:
      mkDerivation {
        pname = "th-expand-syns";
-       version = "0.4.9.0";
-       sha256 = "1yc6n4pgapl3vfjcilxn6hjdf6cr54c1w32i7wwbn806sljflhwy";
-       libraryHaskellDepends = [
-         base containers syb template-haskell th-abstraction
-       ];
-       testHaskellDepends = [ base template-haskell th-abstraction ];
-       description = "Expands type synonyms in Template Haskell ASTs";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "th-expand-syns_0_4_10_0" = callPackage
-    ({ mkDerivation, base, containers, syb, template-haskell
-     , th-abstraction
-     }:
-     mkDerivation {
-       pname = "th-expand-syns";
        version = "0.4.10.0";
        sha256 = "044h1hv4b0ihpwr9wndj55fa843cbzqp1difgj9wyy3mw925higm";
        libraryHaskellDepends = [
@@ -280707,7 +280672,6 @@ self: {
        testHaskellDepends = [ base template-haskell th-abstraction ];
        description = "Expands type synonyms in Template Haskell ASTs";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "th-extras" = callPackage
@@ -280927,6 +280891,8 @@ self: {
        pname = "th-orphans";
        version = "0.13.13";
        sha256 = "0crbhh0wkkjy5jynqbg6lsblhgaaz327avnzcwg3ddx1q3gb522p";
+       revision = "1";
+       editedCabalFile = "1yavyk36pbykil1dk41jgldiky5fz4zhdf437g2z9hw8qv2f8jm8";
        libraryHaskellDepends = [
          base mtl template-haskell th-compat th-lift th-lift-instances
          th-reify-many
@@ -281202,9 +281168,7 @@ self: {
        ];
        description = "Haskell API bindings for http://themoviedb.org";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "tmdb";
-       broken = true;
      }) {};
 
   "themplate" = callPackage
@@ -282158,6 +282122,21 @@ self: {
        mainProgram = "tidal";
      }) {};
 
+  "tidal-link" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "tidal-link";
+       version = "1.0";
+       sha256 = "0rc6gj6vfvhp9583farykw4i434krazak0gmm2h8nvfg8cw7liia";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base ];
+       executableHaskellDepends = [ base ];
+       description = "Ableton Link integration for Tidal";
+       license = lib.licenses.gpl3Only;
+       mainProgram = "linktest";
+     }) {};
+
   "tidal-midi" = callPackage
     ({ mkDerivation, base, containers, PortMidi, tidal, time
      , transformers
@@ -283333,6 +283312,27 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "tinkoff-invest-sdk" = callPackage
+    ({ mkDerivation, async, base, bytestring, Cabal, concurrent-extra
+     , errors, http2-client, http2-client-grpc, http2-grpc-proto-lens
+     , lens, mtl, proto-lens, proto-lens-runtime, proto-lens-setup, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "tinkoff-invest-sdk";
+       version = "0.1.0.0";
+       sha256 = "1b66gb1cdlckhiaxbps31dklx0sz9wxs27cpy4zwfn0rxzi96wpv";
+       setupHaskellDepends = [ base Cabal proto-lens-setup ];
+       libraryHaskellDepends = [
+         async base bytestring concurrent-extra errors http2-client
+         http2-client-grpc http2-grpc-proto-lens lens mtl proto-lens
+         proto-lens-runtime text unordered-containers
+       ];
+       description = "gRPC based SDK for Tinkoff Invest API V2";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "tintin" = callPackage
     ({ mkDerivation, base, clay, containers, data-has, directory
      , frontmatter, inflections, inliterate, lucid, optparse-generic
@@ -285599,9 +285599,7 @@ self: {
        ];
        description = "A command-line tool for live monitoring";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "trackit";
-       broken = true;
      }) {};
 
   "traction" = callPackage
@@ -286352,7 +286350,6 @@ self: {
        description = "See README for more info";
        license = lib.licenses.mpl20;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "traverse-code" = callPackage
@@ -287301,6 +287298,7 @@ self: {
        license = lib.licenses.gpl3Only;
        hydraPlatforms = lib.platforms.none;
        mainProgram = "tropical-geometry";
+       broken = true;
      }) {};
 
   "true-name" = callPackage
@@ -287760,6 +287758,7 @@ self: {
        hydraPlatforms = lib.platforms.none;
        mainProgram = "ttnc";
        maintainers = [ lib.maintainers.sorki ];
+       broken = true;
      }) {};
 
   "ttrie" = callPackage
@@ -288257,8 +288256,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Tiny web application framework for WAI";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "tweak" = callPackage
@@ -288676,6 +288673,7 @@ self: {
        description = "Haskell twirp foundations";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "twisty" = callPackage
@@ -290055,8 +290053,6 @@ self: {
        testHaskellDepends = [ base tasty tasty-hunit tasty-quickcheck ];
        description = "Plugin to faciliate type-level let";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "typelevel" = callPackage
@@ -290250,7 +290246,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Type-safe transformations and purifications of PreCures (Japanese Battle Heroine)";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "typescript-docs" = callPackage
@@ -290670,7 +290665,6 @@ self: {
        description = "Unicode Character Database — Predicates on characters specified by Unicode";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "ucl" = callPackage
@@ -290968,8 +290962,6 @@ self: {
        ];
        description = "A library to work with the basic Ukrainian phonetics and syllable segmentation";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "ukrainian-phonetics-basic-array-bytestring" = callPackage
@@ -291020,9 +291012,7 @@ self: {
        ];
        description = "Implementation of ULID - Universally Unique Lexicographically Sortable Identifier";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "ulid-exe";
-       broken = true;
      }) {};
 
   "una" = callPackage
@@ -291141,7 +291131,6 @@ self: {
        description = "Opinionated Haskell Interoperability";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "unbound" = callPackage
@@ -291871,8 +291860,8 @@ self: {
     ({ mkDerivation, base, HTF, safe, transformers, uniform-strings }:
      mkDerivation {
        pname = "uniform-error";
-       version = "0.1.3";
-       sha256 = "0p9gplvnhfly0whdl0b0ydjpiyg7v5r5flkg4c02yqzsdxfp7sjf";
+       version = "0.1.3.1";
+       sha256 = "1gq3n9rjar3waddvs7w91y2wy2l2fqdqssd1bz2z2bvb27inggaf";
        libraryHaskellDepends = [ base safe transformers uniform-strings ];
        testHaskellDepends = [
          base HTF safe transformers uniform-strings
@@ -292170,6 +292159,22 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "unique-lang" = callPackage
+    ({ mkDerivation, base, neat-interpolation, text, transformers }:
+     mkDerivation {
+       pname = "unique-lang";
+       version = "0.1.0.0";
+       sha256 = "0z94lk5wf4wbkb2hw5vd7zgfhgkm0k5l2zpdkn4bafq3mbaprhr7";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base neat-interpolation text transformers
+       ];
+       description = "Esoteric programming language where each number can only appear once";
+       license = lib.licenses.mit;
+       mainProgram = "unique";
+     }) {};
+
   "unique-logic" = callPackage
     ({ mkDerivation, base, explicit-exception, non-empty, QuickCheck
      , semigroups, transformers, utility-ht
@@ -292377,8 +292382,6 @@ self: {
        libraryHaskellDepends = [ base ghc-prim ];
        description = "A very basic descriptive statistics";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "unit" = callPackage
@@ -292782,15 +292785,16 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "unix_2_7_2_2" = callPackage
-    ({ mkDerivation, base, bytestring, time }:
+  "unix_2_8_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, filepath, tasty, tasty-hunit
+     , time
+     }:
      mkDerivation {
        pname = "unix";
-       version = "2.7.2.2";
-       sha256 = "1b6ygkasn5bvmdci8g3zjkahl34kfqhf5jrayibvnrcdnaqlxpcq";
-       revision = "8";
-       editedCabalFile = "1ydydm9i82pn5sy7drl404qlll318x8bjwhpvr2lwqwmb5f3dx8m";
-       libraryHaskellDepends = [ base bytestring time ];
+       version = "2.8.0.0";
+       sha256 = "152b4ppl86s611m620bi16d24ymfm1xykakgdvw6xfqajgflhac8";
+       libraryHaskellDepends = [ base bytestring filepath time ];
+       testHaskellDepends = [ base tasty tasty-hunit ];
        description = "POSIX functionality";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -293389,8 +293393,6 @@ self: {
        testHaskellDepends = [ base QuickCheck quickcheck-classes ];
        description = "maybes of numeric values with fewer indirections";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "unpacked-maybe-text" = callPackage
@@ -293883,7 +293885,6 @@ self: {
        ];
        description = "Ur/Web static content generator";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "urembed";
      }) {};
 
@@ -294264,7 +294265,6 @@ self: {
        ];
        description = "Painfully simple URL deployment";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "urn" = callPackage
@@ -294461,7 +294461,6 @@ self: {
        ];
        description = "The UserId type and useful instances for web development";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "users" = callPackage
@@ -294583,7 +294582,6 @@ self: {
        description = "UTF-8";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "utf8-conversions" = callPackage
@@ -295107,8 +295105,6 @@ self: {
        ];
        description = "Orphan instances for the UUID datatype";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "uuid-quasi" = callPackage
@@ -296471,6 +296467,26 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "vector-algorithms_0_9_0_1" = callPackage
+    ({ mkDerivation, base, bitvec, bytestring, containers, mwc-random
+     , primitive, QuickCheck, vector
+     }:
+     mkDerivation {
+       pname = "vector-algorithms";
+       version = "0.9.0.1";
+       sha256 = "0h9qqgna787q93q58mrvmg5mw8h92vlapx2glanz6vpjm39w19rb";
+       libraryHaskellDepends = [
+         base bitvec bytestring primitive vector
+       ];
+       testHaskellDepends = [
+         base bytestring containers QuickCheck vector
+       ];
+       benchmarkHaskellDepends = [ base mwc-random vector ];
+       description = "Efficient algorithms for vector arrays";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "vector-binary" = callPackage
     ({ mkDerivation, base, binary, vector }:
      mkDerivation {
@@ -297567,6 +297583,7 @@ self: {
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
        mainProgram = "viewprof";
+       broken = true;
      }) {};
 
   "views" = callPackage
@@ -298332,7 +298349,6 @@ self: {
        description = "Priority queue based on vector";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "vrpn" = callPackage
@@ -298874,6 +298890,8 @@ self: {
        pname = "wai-cli";
        version = "0.2.3";
        sha256 = "0fflvxfc9ibkrrgqdsr89gl77b0b706a8g7ylydaqqz6z089qbi3";
+       revision = "1";
+       editedCabalFile = "04w3gm1fcsxlrx7px5i737g61pgf2mlw8jyn2p6nczcyrwdvvicj";
        libraryHaskellDepends = [
          ansi-terminal base http-types iproute monads-tf network options stm
          streaming-commons transformers unix wai wai-extra warp warp-tls
@@ -299398,7 +299416,6 @@ self: {
        ];
        description = "A logging middleware for WAI applications";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "wai-logger" = callPackage
@@ -299755,7 +299772,6 @@ self: {
        ];
        description = "Route to different middlewares based on the incoming Accept header";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "wai-middleware-crowd" = callPackage
@@ -301396,8 +301412,6 @@ self: {
        testHaskellDepends = [ base bytestring HUnit network-uri text ];
        description = "Composable, reversible, efficient web routing using invertible invariants and bijections";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "web-mongrel2" = callPackage
@@ -301644,8 +301658,6 @@ self: {
        testHaskellDepends = [ base hspec HUnit QuickCheck web-routes ];
        description = "Support for deriving PathInfo using Template Haskell";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "web-routes-transformers" = callPackage
@@ -301944,8 +301956,8 @@ self: {
      }:
      mkDerivation {
        pname = "webauthn";
-       version = "0.4.1.0";
-       sha256 = "0afdf2wi0d8d76b2gc3j809diafwib95masi8l0w53b1xbnwac4j";
+       version = "0.4.1.1";
+       sha256 = "1zmw16fyx0p7wzl388f6s63r09f189c5a5py5c7phlc7wzlq02hb";
        libraryHaskellDepends = [
          aeson asn1-encoding asn1-parse asn1-types base base16-bytestring
          base64-bytestring binary bytestring cborg containers cryptonite
@@ -301989,8 +302001,6 @@ self: {
        ];
        description = "A super-simple web server framework";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "webcloud" = callPackage
@@ -303585,9 +303595,7 @@ self: {
        ];
        description = "A compact, well-typed seralisation format for Haskell values";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "winery";
-       broken = true;
      }) {};
 
   "winio" = callPackage
@@ -303649,6 +303657,7 @@ self: {
        description = "API for Linux Kernel Wireguard device management";
        license = "LGPL";
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "wires" = callPackage
@@ -304935,6 +304944,7 @@ self: {
        description = "HTTP/HTTPS response process";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "wreq-patchable" = callPackage
@@ -305218,7 +305228,6 @@ self: {
        ];
        description = "A simple CLI utility for interacting with a websocket";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "ws";
      }) {};
 
@@ -306889,8 +306898,6 @@ self: {
        ];
        description = "Lenses, traversals, and prisms for xml-conduit";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "xml-monad" = callPackage
@@ -309079,8 +309086,6 @@ self: {
        ];
        description = "Testing library for Yampa";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "yampa2048" = callPackage
@@ -309867,6 +309872,7 @@ self: {
        description = "Authentication backend for Yesod using Facebook";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "yesod-auth-hashdb" = callPackage
@@ -310172,7 +310178,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Traditional email/pass auth for Yesod";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
+       platforms = lib.platforms.x86;
        mainProgram = "yesod-auth-simple-test";
      }) {};
 
@@ -310318,6 +310324,7 @@ self: {
        description = "A generic comments interface for a Yesod application";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "yesod-content-pdf" = callPackage
@@ -310436,6 +310443,7 @@ self: {
        description = "Flexible CRUD subsite usable with Yesod and Persistent";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "yesod-csp" = callPackage
@@ -310639,7 +310647,6 @@ self: {
        ];
        description = "Useful glue functions between the fb library and Yesod";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yesod-filter" = callPackage
@@ -310848,6 +310855,7 @@ self: {
        description = "Code for using the ip package with yesod";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "yesod-job-queue" = callPackage
@@ -310967,8 +310975,6 @@ self: {
        testHaskellDepends = [ base blaze-html hspec text ];
        description = "Tools for using markdown in a yesod application";
        license = lib.licenses.gpl2Only;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "yesod-media-simple" = callPackage
@@ -312611,9 +312617,7 @@ self: {
        ];
        description = "Builds a static website from templates and data in YAML or CSV files";
        license = lib.licenses.gpl2Plus;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "yst";
-       broken = true;
      }) {};
 
   "ytl" = callPackage
@@ -312861,6 +312865,7 @@ self: {
        description = "Implementation of the z85 binary codec";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "zabt" = callPackage
@@ -314389,9 +314394,7 @@ self: {
        testHaskellDepends = [ aeson base bytestring tasty tasty-hunit ];
        description = "A zuul client library";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "zuul-cli";
-       broken = true;
      }) {};
 
   "zxcvbn-c" = callPackage
@@ -314422,6 +314425,7 @@ self: {
        description = "Password strength estimation based on zxcvbn";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "zxcvbn-hs" = callPackage
@@ -314458,9 +314462,7 @@ self: {
        ];
        description = "Password strength estimation based on zxcvbn";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "zxcvbn-example";
-       broken = true;
      }) {};
 
   "zydiskell" = callPackage
diff --git a/pkgs/development/haskell-modules/patches/xmonad_0_17_0-nix.patch b/pkgs/development/haskell-modules/patches/xmonad_0_17_0-nix.patch
index e313aed6906..4288b702171 100644
--- a/pkgs/development/haskell-modules/patches/xmonad_0_17_0-nix.patch
+++ b/pkgs/development/haskell-modules/patches/xmonad_0_17_0-nix.patch
@@ -27,7 +27,7 @@ index 46a0939..92af53d 100644
 -                CompileGhc ->
 -                    run "ghc" ghcArgs
 +                CompileGhc -> do
-+                    ghc <- fromMaybe "ghc" <$> (lookupEnv "NIX_GHC")
++                    ghc <- fromMaybe "ghc" <$> (lookupEnv "XMONAD_GHC")
 +                    run ghc ghcArgs
                  CompileStackGhc stackYaml ->
                      run "stack" ["build", "--silent", "--stack-yaml", stackYaml] .&&.
diff --git a/pkgs/development/interpreters/bats/default.nix b/pkgs/development/interpreters/bats/default.nix
index ef1a110f8e7..89539850163 100644
--- a/pkgs/development/interpreters/bats/default.nix
+++ b/pkgs/development/interpreters/bats/default.nix
@@ -13,6 +13,10 @@
 , ps
 , bats
 , lsof
+, callPackages
+, symlinkJoin
+, makeWrapper
+, runCommand
 , doInstallCheck ? true
 }:
 
@@ -105,6 +109,52 @@ resholve.mkDerivation rec {
     };
   };
 
+  passthru.libraries = callPackages ./libraries.nix {};
+
+  passthru.withLibraries = selector:
+    symlinkJoin {
+      name = "bats-with-libraries-${bats.version}";
+
+      paths = [
+        bats
+      ] ++ selector bats.libraries;
+
+      nativeBuildInputs = [
+        makeWrapper
+      ];
+
+      postBuild = ''
+        wrapProgram "$out/bin/bats" \
+          --suffix BATS_LIB_PATH : "$out/share/bats"
+      '';
+    };
+
+  passthru.tests.libraries = runCommand "${bats.name}-with-libraries-test" {
+    testScript = ''
+      setup() {
+        bats_load_library bats-support
+        bats_load_library bats-assert
+
+        bats_require_minimum_version 1.5.0
+      }
+
+      @test echo_hi {
+        run -0 echo hi
+        assert_output "hi"
+      }
+
+      @test cp_failure {
+        run ! cp
+        assert_line --index 0 "cp: missing file operand"
+        assert_line --index 1 "Try 'cp --help' for more information."
+      }
+    '';
+    passAsFile = [ "testScript" ];
+  } ''
+    ${bats.withLibraries (p: [ p.bats-support p.bats-assert ])}/bin/bats "$testScriptPath"
+    touch "$out"
+  '';
+
   passthru.tests.upstream = bats.unresholved.overrideAttrs (old: {
     name = "${bats.name}-tests";
     dontInstall = true; # just need the build directory
diff --git a/pkgs/development/interpreters/bats/libraries.nix b/pkgs/development/interpreters/bats/libraries.nix
new file mode 100644
index 00000000000..74324b03e6a
--- /dev/null
+++ b/pkgs/development/interpreters/bats/libraries.nix
@@ -0,0 +1,70 @@
+{ lib, stdenv, fetchFromGitHub }: {
+  bats-assert = stdenv.mkDerivation {
+    pname = "bats-assert";
+    version = "2.0.0";
+    src = fetchFromGitHub {
+      owner = "bats-core";
+      repo = "bats-assert";
+      rev = "v2.0.0";
+      sha256 = "sha256-whSbAj8Xmnqclf78dYcjf1oq099ePtn4XX9TUJ9AlyQ=";
+    };
+    dontBuild = true;
+    installPhase = ''
+      mkdir -p "$out/share/bats"
+      cp -r . "$out/share/bats/bats-assert"
+    '';
+    meta = {
+      description = "Common assertions for Bats";
+      platforms = lib.platforms.all;
+      homepage = "https://github.com/bats-core/bats-assert";
+      license = lib.licenses.cc0;
+      maintainers = with lib.maintainers; [ infinisil ];
+    };
+  };
+
+  bats-file = stdenv.mkDerivation {
+    pname = "bats-file";
+    version = "0.3.0";
+    src = fetchFromGitHub {
+      owner = "bats-core";
+      repo = "bats-file";
+      rev = "v0.3.0";
+      sha256 = "sha256-3xevy0QpwNZrEe+2IJq58tKyxQzYx8cz6dD2nz7fYUM=";
+    };
+    dontBuild = true;
+    installPhase = ''
+      mkdir -p "$out/share/bats"
+      cp -r . "$out/share/bats/bats-file"
+    '';
+    meta = {
+      description = "Common filesystem assertions for Bats";
+      platforms = lib.platforms.all;
+      homepage = "https://github.com/bats-core/bats-file";
+      license = lib.licenses.cc0;
+      maintainers = with lib.maintainers; [ infinisil ];
+    };
+  };
+
+  bats-support = stdenv.mkDerivation {
+    pname = "bats-support";
+    version = "0.3.0";
+    src = fetchFromGitHub {
+      owner = "bats-core";
+      repo = "bats-support";
+      rev = "v0.3.0";
+      sha256 = "sha256-4N7XJS5XOKxMCXNC7ef9halhRpg79kUqDuRnKcrxoeo=";
+    };
+    dontBuild = true;
+    installPhase = ''
+      mkdir -p "$out/share/bats"
+      cp -r . "$out/share/bats/bats-support"
+    '';
+    meta = {
+      description = "Supporting library for Bats test helpers";
+      platforms = lib.platforms.all;
+      homepage = "https://github.com/bats-core/bats-support";
+      license = lib.licenses.cc0;
+      maintainers = with lib.maintainers; [ infinisil ];
+    };
+  };
+}
diff --git a/pkgs/development/interpreters/kerf/default.nix b/pkgs/development/interpreters/kerf/default.nix
new file mode 100644
index 00000000000..5b605c6564b
--- /dev/null
+++ b/pkgs/development/interpreters/kerf/default.nix
@@ -0,0 +1,92 @@
+{ lib, stdenv, fetchFromGitHub
+, libedit, zlib, ncurses, expect
+
+# darwin only below
+, Accelerate, CoreGraphics, CoreVideo
+}:
+
+stdenv.mkDerivation rec {
+  pname = "kerf";
+  version = "unstable-2022-08-05";
+
+  src = fetchFromGitHub {
+    owner = "kevinlawler";
+    repo  = "kerf1";
+    rev   = "4ec5b592b310b96d33654d20d6a511e6fffc0f9d";
+    hash  = "sha256-0sU2zOk5I69lQyrn1g0qsae7S/IBT6eA/911qp0GNkk=";
+  };
+
+  sourceRoot = "source/src";
+  buildInputs = [ libedit zlib ncurses ]
+    ++ lib.optional stdenv.isDarwin ([
+      Accelerate
+    ] ++ lib.optional stdenv.isx86_64 /* && isDarwin */ [
+      CoreGraphics CoreVideo
+    ]);
+
+  checkInputs = [ expect ];
+  doCheck = true;
+
+  makeFlags = [ "kerf" "kerf_test" ];
+
+  # avoid a huge amount of warnings to make failures clearer
+  NIX_CFLAGS_COMPILE = map (x: "-Wno-${x}") [
+    "void-pointer-to-int-cast"
+    "format"
+    "implicit-function-declaration"
+    "gnu-variable-sized-type-not-at-end"
+    "unused-result"
+  ] ++ lib.optional stdenv.isDarwin [ "-fcommon" ];
+
+  patchPhase = ''
+    substituteInPlace ./Makefile \
+      --replace 'CPUS ?=' 'CPUS = $(NIX_BUILD_CORES) #' \
+      --replace 'termcap' 'ncurses'
+  '';
+
+  # the kerf executable uses ncurses to create a fancy terminal for input and
+  # reads terminal keystrokes directly, so it doesn't read from stdin as
+  # expected, hence why we use this fancy expect script to run the test exe and
+  # send 'quit' to the prompt after it finishes.
+  checkPhase = ''
+    expect <<EOD
+      set timeout 60
+      spawn ./kerf_test
+      expect {
+        "Passed" {}
+        "Failed" { exit 1 }
+        timeout { exit 1 }
+      }
+      expect {
+        "KeRF> " {send "quit\r"}
+        timeout { exit 1 }
+      }
+      expect {
+        "\[DEBUG\] OK: Done OK." {}
+        "\[DEBUG\] FAILED: Debug failure." { exit 1 }
+        timeout { exit 1 }
+      }
+      exit 0
+    EOD
+  '';
+
+  installPhase = "install -D kerf $out/bin/kerf";
+
+  meta = with lib; {
+    description = "Columnar tick database and time-series language";
+    longDescription = ''
+      Kerf is a columnar tick database and small programming
+      language that is a superset of JSON and SQL. It can be
+      used for local analytics, timeseries, logfile processing,
+      and more.
+    '';
+    license = with licenses; [ bsd2 ];
+    homepage = "https://github.com/kevinlawler/kerf1";
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ thoughtpolice ];
+
+    # aarch64-linux seems hopeless, with over 2,000 warnings
+    # generated?
+    broken = (stdenv.isLinux && stdenv.isAarch64);
+  };
+}
diff --git a/pkgs/development/interpreters/lunatic/default.nix b/pkgs/development/interpreters/lunatic/default.nix
index 388a40b5580..e68240bb041 100644
--- a/pkgs/development/interpreters/lunatic/default.nix
+++ b/pkgs/development/interpreters/lunatic/default.nix
@@ -1,20 +1,22 @@
-{ lib, rustPlatform, fetchFromGitHub, cmake }:
+{ lib, rustPlatform, fetchFromGitHub, cmake, stdenv, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "lunatic";
-  version = "0.9.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "lunatic-solutions";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-gHG8jk23qTANbLNPH4Q+YusEkDZ/G33SARAsLVLrVPs=";
+    sha256 = "sha256-MfN4NZIkzQji+bIfpgDdVyGXiD291ULGT2JslSevr/w=";
   };
 
-  cargoSha256 = "sha256-keu9lNYuOruU58YBPyqtDqBS/jjruK9GcYrKv7dGmlQ=";
+  cargoSha256 = "sha256-Qpu6FKIrDZyEbcv/uRjInz6lmMeTSZvY/JGLJe+My+U=";
 
   nativeBuildInputs = [ cmake ];
 
+  buildInputs = lib.optional stdenv.isDarwin Security;
+
   meta = with lib; {
     description = "An Erlang inspired runtime for WebAssembly";
     homepage = "https://lunatic.solutions";
diff --git a/pkgs/development/interpreters/nickel/default.nix b/pkgs/development/interpreters/nickel/default.nix
index ccf34377de4..01b7fd54106 100644
--- a/pkgs/development/interpreters/nickel/default.nix
+++ b/pkgs/development/interpreters/nickel/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nickel";
-  version = "0.2.0";
+  version = "0.2.1";
 
   src  = fetchFromGitHub {
     owner = "tweag";
     repo = pname;
     rev = "refs/tags/${version}"; # because pure ${version} doesn't work
-    hash = "sha256-Bh83qn+ECZnlCH/A34G5G5MdcAHPow24RMCVQXR5Awg=";
+    hash = "sha256-Sf0UJAfUtP7oU31VkVqCtdRmfjaHV34gYeUPNsTmQvo=";
   };
 
-  cargoSha256 = "sha256-vI+SaVyRJjLNqenUsYtaSTyOZRT0zZJ1OZHekcb5LjY=";
+  cargoSha256 = "sha256-oY4PYMZBN5+nsARHV+A5D7a6fUt9UMHBn83ONgaQp8E=";
 
   meta = with lib; {
     homepage = "https://nickel-lang.org/";
diff --git a/pkgs/development/interpreters/php/8.0.nix b/pkgs/development/interpreters/php/8.0.nix
index 193eabe6c01..5e346788ee4 100644
--- a/pkgs/development/interpreters/php/8.0.nix
+++ b/pkgs/development/interpreters/php/8.0.nix
@@ -2,8 +2,8 @@
 
 let
   base = callPackage ./generic.nix (_args // {
-    version = "8.0.21";
-    hash = "sha256-HLd2LR/+zOruuvufbiQTLKI/sUQ8tWMND8z1PwTPoSY=";
+    version = "8.0.22";
+    hash = "sha256-40KRjT7NQi8QAy3wrD/7Dhf1aPrWz44jK296ah/cPJw=";
   });
 
 in
diff --git a/pkgs/development/interpreters/php/8.1.nix b/pkgs/development/interpreters/php/8.1.nix
index e56ff13864b..37e471601dd 100644
--- a/pkgs/development/interpreters/php/8.1.nix
+++ b/pkgs/development/interpreters/php/8.1.nix
@@ -2,8 +2,8 @@
 
 let
   base = callPackage ./generic.nix (_args // {
-    version = "8.1.8";
-    hash = "sha256-uIFaWgJDFFPUJh41mL0fKFFuTANU8yjBKJDyV4cOTAE=";
+    version = "8.1.9";
+    hash = "sha256-nrsOLlcdtv1ZMEKNyy0Z7T4FAzjsHxNHwoLK6S/Ahv8=";
   });
 
 in
diff --git a/pkgs/development/interpreters/python/cpython/2.7/default.nix b/pkgs/development/interpreters/python/cpython/2.7/default.nix
index fd7e684113e..25446f5fca8 100644
--- a/pkgs/development/interpreters/python/cpython/2.7/default.nix
+++ b/pkgs/development/interpreters/python/cpython/2.7/default.nix
@@ -68,7 +68,7 @@ let
     executable = libPrefix;
     pythonVersion = with sourceVersion; "${major}.${minor}";
     sitePackages = "lib/${libPrefix}/site-packages";
-    inherit hasDistutilsCxxPatch;
+    inherit hasDistutilsCxxPatch pythonAttr;
     pythonOnBuildForBuild = pkgsBuildBuild.${pythonAttr};
     pythonOnBuildForHost = pkgsBuildHost.${pythonAttr};
     pythonOnBuildForTarget = pkgsBuildTarget.${pythonAttr};
diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix
index a52935c69df..dca7d9bb0db 100644
--- a/pkgs/development/interpreters/python/cpython/default.nix
+++ b/pkgs/development/interpreters/python/cpython/default.nix
@@ -91,7 +91,7 @@ let
     executable = libPrefix;
     pythonVersion = with sourceVersion; "${major}.${minor}";
     sitePackages = "lib/${libPrefix}/site-packages";
-    inherit hasDistutilsCxxPatch;
+    inherit hasDistutilsCxxPatch pythonAttr;
     pythonOnBuildForBuild = override pkgsBuildBuild.${pythonAttr};
     pythonOnBuildForHost = override pkgsBuildHost.${pythonAttr};
     pythonOnBuildForTarget = override pkgsBuildTarget.${pythonAttr};
diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix
index 5593158e7f3..49f7061df3d 100644
--- a/pkgs/development/interpreters/python/default.nix
+++ b/pkgs/development/interpreters/python/default.nix
@@ -19,9 +19,14 @@ with pkgs;
     , pythonOnBuildForTarget
     , pythonOnHostForHost
     , pythonOnTargetForTarget
+    , pythonAttr ? null
     , self # is pythonOnHostForTarget
     }: let
       pythonPackages = callPackage
+        # Function that when called
+        # - imports python-packages.nix
+        # - adds spliced package sets to the package set
+        # - applies overrides from `packageOverrides` and `pythonPackagesOverlays`.
         ({ pkgs, stdenv, python, overrides }: let
           pythonPackagesFun = import ../../../top-level/python-packages.nix {
             inherit stdenv pkgs lib;
@@ -74,7 +79,7 @@ with pkgs;
           extra = _: {};
           optionalExtensions = cond: as: if cond then as else [];
           python2Extension = import ../../../top-level/python2-packages.nix;
-          extensions = lib.composeManyExtensions ((optionalExtensions (!self.isPy3k) [python2Extension]) ++ [ overrides ]);
+          extensions = lib.composeManyExtensions ((optionalExtensions (!self.isPy3k) [python2Extension]) ++ pkgs.pythonPackagesExtensions ++ [ overrides ]);
           aliases = self: super: lib.optionalAttrs config.allowAliases (import ../../../top-level/python-aliases.nix lib self super);
         in lib.makeScopeWithSplicing
           pkgs.splicePackages
@@ -117,6 +122,8 @@ with pkgs;
         tests = callPackage ./tests.nix {
           python = self;
         };
+
+        inherit pythonAttr;
   };
 
   sources = {
@@ -199,9 +206,9 @@ in {
       major = "3";
       minor = "11";
       patch = "0";
-      suffix = "b4";
+      suffix = "rc1";
     };
-    sha256 = "sha256-HZO2EWB5A+CAQXwalWf1+79RJMxchvSvu6HI/TTF9vs=";
+    sha256 = "sha256-U6U3fDeoosbaB1sU651jN0V59/PHGPog8KH7sOlKkis=";
     inherit (darwin) configd;
     inherit passthruFun;
   };
diff --git a/pkgs/development/interpreters/python/pypy/default.nix b/pkgs/development/interpreters/python/pypy/default.nix
index 668a4e24b39..e8c7d3ba65e 100644
--- a/pkgs/development/interpreters/python/pypy/default.nix
+++ b/pkgs/development/interpreters/python/pypy/default.nix
@@ -30,6 +30,7 @@ let
     executable = "pypy${if isPy3k then "3" else ""}";
     sitePackages = "site-packages";
     hasDistutilsCxxPatch = false;
+    inherit pythonAttr;
 
     pythonOnBuildForBuild = pkgsBuildBuild.${pythonAttr};
     pythonOnBuildForHost = pkgsBuildHost.${pythonAttr};
diff --git a/pkgs/development/interpreters/python/tests.nix b/pkgs/development/interpreters/python/tests.nix
index 49dfe0e4644..037c8f87b8b 100644
--- a/pkgs/development/interpreters/python/tests.nix
+++ b/pkgs/development/interpreters/python/tests.nix
@@ -11,6 +11,7 @@
 , substituteAll
 , lib
 , callPackage
+, pkgs
 }:
 
 let
@@ -133,6 +134,17 @@ let
     # test-overrideScope = let
     #  myPackages = python.pkgs.overrideScope extension;
     # in assert myPackages.foobar == myPackages.numpy; myPackages.python.withPackages(ps: with ps; [ foobar ]);
+  } // lib.optionalAttrs (python ? pythonAttr) {
+    # Test applying overrides using pythonPackagesOverlays.
+    test-pythonPackagesExtensions = let
+      pkgs_ = pkgs.extend(final: prev: {
+        pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [
+          (python-final: python-prev: {
+            foo = python-prev.setuptools;
+          })
+        ];
+      });
+    in pkgs_.${python.pythonAttr}.pkgs.foo;
   };
 
   condaTests = let
diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix
index 68ed02ac591..67609132c80 100644
--- a/pkgs/development/interpreters/racket/default.nix
+++ b/pkgs/development/interpreters/racket/default.nix
@@ -49,7 +49,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "racket";
-  version = "8.5"; # always change at once with ./minimal.nix
+  version = "8.6"; # always change at once with ./minimal.nix
 
   src = (lib.makeOverridable ({ name, sha256 }:
     fetchurl {
@@ -58,14 +58,13 @@ stdenv.mkDerivation rec {
     }
   )) {
     name = "${pname}-${version}";
-    sha256 = "sha256-dWnOnpxh5zmou9eqVdcfhuCr8ts1CTqqEF1j/dk0jhs=";
+    sha256 = "sha256-Lv8+l7x6EM+gMg2psH8NSIZTsLW4SQMiyC84SuD6Gig=";
   };
 
   FONTCONFIG_FILE = fontsConf;
   LD_LIBRARY_PATH = libPath;
   NIX_LDFLAGS = lib.concatStringsSep " " [
     (lib.optionalString (stdenv.cc.isGNU && ! stdenv.isDarwin) "-lgcc_s")
-    (lib.optionalString stdenv.isDarwin "-framework CoreFoundation")
   ];
 
   nativeBuildInputs = [ cacert wrapGAppsHook ];
@@ -89,7 +88,7 @@ stdenv.mkDerivation rec {
 
   preConfigure = ''
     unset AR
-    for f in src/lt/configure src/cs/c/configure src/bc/src/string.c src/ChezScheme/workarea; do
+    for f in src/lt/configure src/cs/c/configure src/bc/src/string.c; do
       substituteInPlace "$f" \
         --replace /usr/bin/uname ${coreutils}/bin/uname \
         --replace /bin/cp ${coreutils}/bin/cp \
diff --git a/pkgs/development/interpreters/racket/force-remove-codesign-then-add.patch b/pkgs/development/interpreters/racket/force-remove-codesign-then-add.patch
index c34457ceb95..38cd7f52e23 100644
--- a/pkgs/development/interpreters/racket/force-remove-codesign-then-add.patch
+++ b/pkgs/development/interpreters/racket/force-remove-codesign-then-add.patch
@@ -1,11 +1,10 @@
---- old/src/mac/codesign.rkt        2022-01-08 18:25:53.000000000 -0500
-+++ new/src/mac/codesign.rkt        2022-02-15 15:49:51.000000000 -0500
-@@ -17,6 +17,5 @@
-    #:args (file)
+--- old/src/mac/codesign.rkt
++++ new/src/mac/codesign.rkt
+@@ -18,6 +18,6 @@
     file))
-
--(if remove?
--    (remove-signature file)
--    (add-ad-hoc-signature file))
-+(remove-signature file)
-+(add-ad-hoc-signature file)
+ 
+ (void
+- (if remove?
++ (if #t
+      (remove-signature file)
+      (add-ad-hoc-signature file)))
diff --git a/pkgs/development/interpreters/racket/minimal.nix b/pkgs/development/interpreters/racket/minimal.nix
index a5ddab67c41..4796a259106 100644
--- a/pkgs/development/interpreters/racket/minimal.nix
+++ b/pkgs/development/interpreters/racket/minimal.nix
@@ -6,7 +6,7 @@ racket.overrideAttrs (oldAttrs: rec {
   version = oldAttrs.version;
   src = oldAttrs.src.override {
     name = "${pname}-${version}";
-    sha256 = "sha256-VdWF46yfuqz76ECm7HTOPnvun+heMiE/Gz5Pb1k8rjk=";
+    sha256 = "sha256-AdUJ1f/YKSD/S7Qd6EwH7MavkSKVNxatQ9hKp7OTn0g=";
   };
 
   meta = oldAttrs.meta // {
diff --git a/pkgs/development/interpreters/spidermonkey/102.nix b/pkgs/development/interpreters/spidermonkey/102.nix
new file mode 100644
index 00000000000..ef89d1ca0a2
--- /dev/null
+++ b/pkgs/development/interpreters/spidermonkey/102.nix
@@ -0,0 +1,4 @@
+import ./common.nix {
+  version = "102.1.0";
+  hash = "sha512-JQW4fOQRVEVWjra32K9BZ4vXh/0H8/eenwoi2QzfdSrl1DcYVs+cVuLZ2n1bfDk53CqrV1P8wBc5jn1lJg9vAw==";
+}
diff --git a/pkgs/development/interpreters/spidermonkey/78.nix b/pkgs/development/interpreters/spidermonkey/78.nix
index 0ce007057a2..05124a417fe 100644
--- a/pkgs/development/interpreters/spidermonkey/78.nix
+++ b/pkgs/development/interpreters/spidermonkey/78.nix
@@ -1,139 +1,4 @@
-{ lib, stdenv
-, fetchurl
-, fetchpatch
-, autoconf213
-, pkg-config
-, perl
-, python39
-, zip
-, buildPackages
-, which
-, readline
-, zlib
-, icu67
-, cargo
-, rustc
-, rust-cbindgen
-, yasm
-, nspr
-}:
-
-stdenv.mkDerivation rec {
-  pname = "spidermonkey";
+import ./common.nix {
   version = "78.15.0";
-
-  src = fetchurl {
-    url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz";
-    sha256 = "0l91cxdc5v9fps79ckb1kid4gw6v5qng1jd9zvaacwaiv628shx4";
-  };
-
-  patches = [
-    # Fix build failure on armv7l using Debian patch
-    # Upstream bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1526653
-    (fetchpatch {
-      url = "https://salsa.debian.org/mozilla-team/firefox/commit/fd6847c9416f9eebde636e21d794d25d1be8791d.patch";
-      sha256 = "02b7zwm6vxmk61aj79a6m32s1k5sr0hwm3q1j4v6np9jfyd10g1j";
-    })
-
-    # Remove this when updating to 79 - The patches are already applied upstream
-    # https://bugzilla.mozilla.org/show_bug.cgi?id=1318905
-
-    # Combination of 3 changesets, modified to apply on 78:
-    # - https://hg.mozilla.org/mozilla-central/rev/06d7e1b6b7e7
-    # - https://hg.mozilla.org/mozilla-central/rev/ec48f15d085c
-    # - https://hg.mozilla.org/mozilla-central/rev/6803dda74d33
-    ./add-riscv64-support.patch
-  ];
-
-  outputs = [ "out" "dev" ];
-  setOutputFlags = false; # Configure script only understands --includedir
-
-  nativeBuildInputs = [
-    autoconf213
-    cargo
-    rustc.llvmPackages.llvm # for llvm-objdump
-    perl
-    pkg-config
-    python39
-    rust-cbindgen
-    rustc
-    which
-    yasm # to buid icu? seems weird
-    zip
-  ];
-
-  buildInputs = [
-    icu67
-    nspr
-    readline
-    zlib
-  ];
-
-  preConfigure = ''
-    export CXXFLAGS="-fpermissive"
-    export LIBXUL_DIST=$out
-    export PYTHON="${buildPackages.python3.interpreter}"
-
-    # We can't build in js/src/, so create a build dir
-    mkdir obj
-    cd obj/
-    configureScript=../js/src/configure
-  '';
-
-  configureFlags = [
-    "--with-system-zlib"
-    "--with-system-nspr"
-    "--with-system-icu"
-    "--with-intl-api"
-    "--enable-readline"
-    "--enable-shared-js"
-    "--disable-jemalloc"
-    # Fedora and Arch disable optimize, but it doesn't seme to be necessary
-    # It turns on -O3 which some gcc version had a problem with:
-    # https://src.fedoraproject.org/rpms/mozjs38/c/761399aba092bcb1299bb4fccfd60f370ab4216e
-    "--enable-optimize"
-    "--enable-release"
-  ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
-    # Spidermonkey seems to use different host/build terminology for cross
-    # compilation here.
-    "--host=${stdenv.buildPlatform.config}"
-    "--target=${stdenv.hostPlatform.config}"
-  ];
-
-  # mkDerivation by default appends --build/--host to configureFlags when cross compiling
-  # These defaults are bogus for Spidermonkey - avoid passing them by providing an empty list
-  configurePlatforms = [ ];
-
-  depsBuildBuild = [ buildPackages.stdenv.cc ];
-
-  # cc-rs insists on using -mabi=lp64 (soft-float) for riscv64,
-  # while we have a double-float toolchain
-  NIX_CFLAGS_COMPILE = lib.optionalString (with stdenv.hostPlatform; isRiscV && is64bit) "-mabi=lp64d";
-
-  # Remove unnecessary static lib
-  preFixup = ''
-    moveToOutput bin/js78-config "$dev"
-    rm $out/lib/libjs_static.ajs
-    ln -s $out/bin/js78 $out/bin/js
-  '';
-
-  enableParallelBuilding = true;
-
-  postPatch = ''
-    # This patch is a manually applied fix of
-    #   https://bugzilla.mozilla.org/show_bug.cgi?id=1644600
-    # Once that bug is fixed, this can be removed.
-    # This is needed in, for example, `zeroad`.
-    substituteInPlace js/public/StructuredClone.h \
-         --replace "class SharedArrayRawBufferRefs {" \
-                   "class JS_PUBLIC_API SharedArrayRawBufferRefs {"
-  '';
-
-  meta = with lib; {
-    description = "Mozilla's JavaScript engine written in C/C++";
-    homepage = "https://spidermonkey.dev/";
-    license = licenses.gpl2; # TODO: MPL/GPL/LGPL tri-license.
-    maintainers = with maintainers; [ abbradar lostnet ];
-    platforms = platforms.linux;
-  };
+  hash = "sha512-rD3nNbJGzk8OFhnNJmQyH/o3QkDOaEPnhdeaNQ3DDJZ5lrvMXjswHLPYIsqYHL6hFnWPxBIvFzjXXd/RFltjeA===";
 }
diff --git a/pkgs/development/interpreters/spidermonkey/91.nix b/pkgs/development/interpreters/spidermonkey/91.nix
index f763de4e649..ca771fa75fd 100644
--- a/pkgs/development/interpreters/spidermonkey/91.nix
+++ b/pkgs/development/interpreters/spidermonkey/91.nix
@@ -1,125 +1,4 @@
-{ lib
-, stdenv
-, fetchurl
-
-# build time
-, buildPackages
-, cargo
-, m4
-, perl
-, pkg-config
-, python3
-, rust-cbindgen
-, rustc
-, which
-, zip
-
-# runtime
-, icu
-, nspr
-, readline
-, zlib
-}:
-
-stdenv.mkDerivation rec {
-  pname = "spidermonkey";
+import ./common.nix {
   version = "91.12.0";
-
-  src = fetchurl {
-    url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz";
-    sha512 = "323fb752488b45872b40f0b0ee1d8c1dffa16874dbff2afde19a54286c824ef48177233e029faeafa5946184e71c31c6bc5ba7ec17a571e21af64fc5f7334042";
-  };
-
-  outputs = [ "out" "dev" ];
-  setOutputFlags = false; # Configure script only understands --includedir
-
-  nativeBuildInputs = [
-    cargo
-    m4
-    perl
-    pkg-config
-    python3
-    rust-cbindgen
-    rustc
-    rustc.llvmPackages.llvm # for llvm-objdump
-    which
-    zip
-  ];
-
-  buildInputs = [
-    icu
-    nspr
-    readline
-    zlib
-  ];
-
-  preConfigure = ''
-    export LIBXUL_DIST=$out
-    export PYTHON="${buildPackages.python3.interpreter}"
-    export M4=m4
-    export AWK=awk
-    export AC_MACRODIR=$PWD/build/autoconf/
-
-    pushd js/src
-    sh ../../build/autoconf/autoconf.sh --localdir=$PWD configure.in > configure
-    chmod +x configure
-    popd
-    # We can't build in js/src/, so create a build dir
-    mkdir obj
-    cd obj/
-    configureScript=../js/src/configure
-  '';
-
-  configureFlags = [
-    "--with-intl-api"
-    "--with-system-icu"
-    "--with-system-nspr"
-    "--with-system-zlib"
-    "--enable-optimize"
-    "--enable-readline"
-    "--enable-release"
-    "--enable-shared-js"
-    "--disable-debug"
-    "--disable-jemalloc"
-    "--disable-strip"
-    "--disable-tests"
-  ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
-    # Spidermonkey seems to use different host/build terminology for cross
-    # compilation here.
-    "--host=${stdenv.buildPlatform.config}"
-    "--target=${stdenv.hostPlatform.config}"
-  ];
-
-  # mkDerivation by default appends --build/--host to configureFlags when cross compiling
-  # These defaults are bogus for Spidermonkey - avoid passing them by providing an empty list
-  configurePlatforms = [ ];
-
-  depsBuildBuild = [ buildPackages.stdenv.cc ];
-
-  # Remove unnecessary static lib
-  preFixup = ''
-    moveToOutput bin/js91-config "$dev"
-    rm $out/lib/libjs_static.ajs
-    ln -s $out/bin/js91 $out/bin/js
-  '';
-
-  enableParallelBuilding = true;
-
-  postPatch = ''
-    # This patch is a manually applied fix of
-    #   https://bugzilla.mozilla.org/show_bug.cgi?id=1644600
-    # Once that bug is fixed, this can be removed.
-    # This is needed in, for example, `zeroad`.
-    substituteInPlace js/public/StructuredClone.h \
-         --replace "class SharedArrayRawBufferRefs {" \
-                   "class JS_PUBLIC_API SharedArrayRawBufferRefs {"
-  '';
-
-  meta = with lib; {
-    description = "Mozilla's JavaScript engine written in C/C++";
-    homepage = "https://spidermonkey.dev/";
-    license = licenses.mpl20;
-    maintainers = with maintainers; [ lostnet ];
-    platforms = platforms.linux;
-  };
+  hash = "sha512-Mj+3UkiLRYcrQPCw7h2MHf+haHTb/yr94ZpUKGyCTvSBdyM+Ap+ur6WUYYTnHDHGvFun7BelceIa9k/F9zNAQg==";
 }
diff --git a/pkgs/development/interpreters/spidermonkey/allow-system-s-nspr-and-icu-on-bootstrapped-sysroot.patch b/pkgs/development/interpreters/spidermonkey/allow-system-s-nspr-and-icu-on-bootstrapped-sysroot.patch
new file mode 100644
index 00000000000..29966d90864
--- /dev/null
+++ b/pkgs/development/interpreters/spidermonkey/allow-system-s-nspr-and-icu-on-bootstrapped-sysroot.patch
@@ -0,0 +1,40 @@
+From a26bb162d9403138d64b84e8fa4f0471084c45b2 Mon Sep 17 00:00:00 2001
+From: "Kirill A. Korinsky" <kirill@korins.ky>
+Date: Fri, 8 Jul 2022 21:21:25 +0200
+Subject: [PATCH] Allow system's nspr and icu on bootstrapped sysroot
+
+This patch partially reverts https://github.com/mozilla/gecko-dev/commit/9aa3587bbf0416dd2eb5b614f7b301c71c64286b
+---
+ build/moz.configure/nspr.configure | 2 +-
+ js/moz.configure                   | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/build/moz.configure/nspr.configure b/build/moz.configure/nspr.configure
+index 06f03d9bc72d..9687c84a7290 100644
+--- a/build/moz.configure/nspr.configure
++++ b/build/moz.configure/nspr.configure
+@@ -19,7 +19,7 @@ def enable_nspr_build(enable):
+         return enable
+ 
+ 
+-system_lib_option("--with-system-nspr", help="Use system NSPR")
++option("--with-system-nspr", help="Use system NSPR")
+ 
+ 
+ @depends(enable_nspr_build, "--with-system-nspr", js_standalone)
+diff --git a/js/moz.configure b/js/moz.configure
+index b7ba9790425d..5ff5cb2da266 100644
+--- a/js/moz.configure
++++ b/js/moz.configure
+@@ -1129,7 +1129,7 @@ set_define(
+ 
+ # ECMAScript Internationalization API Support (uses ICU)
+ # ======================================================
+-system_lib_option("--with-system-icu", help="Use system ICU")
++option("--with-system-icu", help="Use system ICU")
+ 
+ system_icu = pkg_check_modules("MOZ_ICU", "icu-i18n >= 71.1", when="--with-system-icu")
+ 
+-- 
+2.37.0
+
diff --git a/pkgs/development/interpreters/spidermonkey/always-check-for-pkg-config.patch b/pkgs/development/interpreters/spidermonkey/always-check-for-pkg-config.patch
new file mode 100644
index 00000000000..c6e43b60aa5
--- /dev/null
+++ b/pkgs/development/interpreters/spidermonkey/always-check-for-pkg-config.patch
@@ -0,0 +1,23 @@
+From 9d3f6e9ff5e66af90a5d187d902f7893fb91c24b Mon Sep 17 00:00:00 2001
+From: "Kirill A. Korinsky" <kirill@korins.ky>
+Date: Fri, 1 Jul 2022 12:23:37 +0200
+Subject: [PATCH] Always check for pkg-config
+
+---
+ build/moz.configure/pkg.configure | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/build/moz.configure/pkg.configure b/build/moz.configure/pkg.configure
+index 6b460ae174eed..0056ecd7ae2d8 100644
+--- a/build/moz.configure/pkg.configure
++++ b/build/moz.configure/pkg.configure
+@@ -15,8 +15,7 @@ pkg_config = check_prog(
+     pkg_config,
+     bootstrap=depends(when=target_sysroot.bootstrapped)(lambda: "pkgconf"),
+     allow_missing=True,
+-    when=compile_environment
+-    & depends(target.os)(lambda os: os not in ("WINNT", "OSX", "Android")),
++    when=compile_environment,
+ )
+ 
+ 
diff --git a/pkgs/development/interpreters/spidermonkey/common.nix b/pkgs/development/interpreters/spidermonkey/common.nix
new file mode 100644
index 00000000000..8e2b1234fdb
--- /dev/null
+++ b/pkgs/development/interpreters/spidermonkey/common.nix
@@ -0,0 +1,199 @@
+{ version, hash }:
+
+{ callPackage
+, lib
+, stdenv
+, fetchurl
+, fetchpatch
+
+# build time
+, buildPackages
+, cargo
+, m4
+, perl
+, pkg-config
+, python3
+, python39
+, rustc
+, which
+, zip
+, autoconf213
+, yasm
+, xcbuild
+
+# runtime
+, icu
+, icu67
+, nspr
+, readline
+, zlib
+, libobjc
+, libiconv
+}:
+
+stdenv.mkDerivation (finalAttrs: rec {
+  pname = "spidermonkey";
+  inherit version;
+
+  outputs = [ "out" "dev" ];
+
+  src = fetchurl {
+    url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz";
+    inherit hash;
+  };
+
+  patches = lib.optional (lib.versionOlder version "91") [
+    # Fix build failure on armv7l using Debian patch
+    # Upstream bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1526653
+    (fetchpatch {
+      url = "https://salsa.debian.org/mozilla-team/firefox/commit/fd6847c9416f9eebde636e21d794d25d1be8791d.patch";
+      hash = "sha512-K8U3Qyo7g4si2r/8kJdXyRoTrDHAY48x/YJ7YL+YBwlpfNQcHxX+EZvhRzW8FHYW+f7kOnJu9QykhE8PhSQ9zQ==";
+    })
+
+    # Remove this when updating to 79 - The patches are already applied upstream
+    # https://bugzilla.mozilla.org/show_bug.cgi?id=1318905
+
+    # Combination of 3 changesets, modified to apply on 78:
+    # - https://hg.mozilla.org/mozilla-central/rev/06d7e1b6b7e7
+    # - https://hg.mozilla.org/mozilla-central/rev/ec48f15d085c
+    # - https://hg.mozilla.org/mozilla-central/rev/6803dda74d33
+    ./add-riscv64-support.patch
+  ] ++ lib.optionals (lib.versionAtLeast version "102") [
+    # use pkg-config at all systems
+    ./always-check-for-pkg-config.patch
+    ./allow-system-s-nspr-and-icu-on-bootstrapped-sysroot.patch
+
+    # Patches required by GJS
+    # https://discourse.gnome.org/t/gnome-43-to-depend-on-spidermonkey-102/10658
+    # Install ProfilingCategoryList.h
+    (fetchpatch {
+      url = "https://hg.mozilla.org/releases/mozilla-esr102/raw-rev/33147b91e42b79f4c6dd3ec11cce96746018407a";
+      sha256 = "sha256-xJFJZMYJ6P11HQDZbr48GFgybpAeVcu3oLIFEyyMjBI=";
+    })
+    # Fix embeder build
+    (fetchpatch {
+      url = "https://hg.mozilla.org/releases/mozilla-esr102/raw-rev/1fa20fb474f5d149cc32d98df169dee5e6e6861b";
+      sha256 = "sha256-eCisKjNxy9SLr9KoEE2UB26BflUknnR7PIvnpezsZeA=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    cargo
+    m4
+    perl
+    pkg-config
+    # 78 requires python up to 3.9
+    (if lib.versionOlder version "91" then python39 else python3)
+    rustc
+    rustc.llvmPackages.llvm # for llvm-objdump
+    which
+    zip
+  ] ++ lib.optionals (lib.versionOlder version "91") [
+    autoconf213
+    yasm # to buid icu? seems weird
+  ] ++ lib.optionals stdenv.isDarwin [
+    xcbuild
+  ];
+
+  buildInputs = [
+    (if lib.versionOlder version "91" then icu67 else icu)
+    nspr
+    readline
+    zlib
+  ] ++ lib.optionals stdenv.isDarwin [
+    libobjc
+    libiconv
+  ];
+
+  depsBuildBuild = [
+    buildPackages.stdenv.cc
+  ];
+
+  setOutputFlags = false; # Configure script only understands --includedir
+
+  configureFlags = [
+    "--with-intl-api"
+    "--with-system-icu"
+    "--with-system-nspr"
+    "--with-system-zlib"
+    # Fedora and Arch disable optimize, but it doesn't seme to be necessary
+    # It turns on -O3 which some gcc version had a problem with:
+    # https://src.fedoraproject.org/rpms/mozjs38/c/761399aba092bcb1299bb4fccfd60f370ab4216e
+    "--enable-optimize"
+    "--enable-readline"
+    "--enable-release"
+    "--enable-shared-js"
+  ] ++ lib.optionals (lib.versionAtLeast version "91") [
+    "--disable-debug"
+  ] ++ [
+    "--disable-jemalloc"
+    "--disable-strip"
+    "--disable-tests"
+  ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+    # Spidermonkey seems to use different host/build terminology for cross
+    # compilation here.
+    "--host=${stdenv.buildPlatform.config}"
+    "--target=${stdenv.hostPlatform.config}"
+  ];
+
+  # mkDerivation by default appends --build/--host to configureFlags when cross compiling
+  # These defaults are bogus for Spidermonkey - avoid passing them by providing an empty list
+  configurePlatforms = [ ];
+
+  enableParallelBuilding = true;
+
+  # cc-rs insists on using -mabi=lp64 (soft-float) for riscv64,
+  # while we have a double-float toolchain
+  NIX_CFLAGS_COMPILE = lib.optionalString (with stdenv.hostPlatform; isRiscV && is64bit && lib.versionOlder version "91") "-mabi=lp64d";
+
+  postPatch = lib.optionalString (lib.versionOlder version "102") ''
+    # This patch is a manually applied fix of
+    #   https://bugzilla.mozilla.org/show_bug.cgi?id=1644600
+    # Once that bug is fixed, this can be removed.
+    # This is needed in, for example, `zeroad`.
+    substituteInPlace js/public/StructuredClone.h \
+         --replace "class SharedArrayRawBufferRefs {" \
+                   "class JS_PUBLIC_API SharedArrayRawBufferRefs {"
+  '';
+
+  preConfigure = lib.optionalString (lib.versionOlder version "91") ''
+    export CXXFLAGS="-fpermissive"
+  '' + ''
+    export LIBXUL_DIST=$out
+    export PYTHON="${buildPackages.python3.interpreter}"
+  '' + lib.optionalString (lib.versionAtLeast version "91") ''
+    export M4=m4
+    export AWK=awk
+    export AS=$CC
+    export AC_MACRODIR=$PWD/build/autoconf/
+
+    pushd js/src
+    sh ../../build/autoconf/autoconf.sh --localdir=$PWD configure.in > configure
+    chmod +x configure
+    popd
+  '' + ''
+    # We can't build in js/src/, so create a build dir
+    mkdir obj
+    cd obj/
+    configureScript=../js/src/configure
+  '';
+
+  # Remove unnecessary static lib
+  preFixup = ''
+    moveToOutput bin/js${lib.versions.major version}-config "$dev"
+    rm $out/lib/libjs_static.ajs
+    ln -s $out/bin/js${lib.versions.major version} $out/bin/js
+  '';
+
+  passthru.tests.run = callPackage ./test.nix {
+    spidermonkey = finalAttrs.finalPackage;
+  };
+
+  meta = with lib; {
+    description = "Mozilla's JavaScript engine written in C/C++";
+    homepage = "https://spidermonkey.dev/";
+    license = licenses.mpl20; # TODO: MPL/GPL/LGPL tri-license for 78.
+    maintainers = with maintainers; [ abbradar lostnet catap ];
+    platforms = platforms.unix;
+  };
+})
diff --git a/pkgs/development/interpreters/spidermonkey/test.nix b/pkgs/development/interpreters/spidermonkey/test.nix
new file mode 100644
index 00000000000..c3ef92bebfa
--- /dev/null
+++ b/pkgs/development/interpreters/spidermonkey/test.nix
@@ -0,0 +1,10 @@
+{ runCommand, spidermonkey }:
+
+runCommand "spidermonkey-test-run" {
+  nativeBuildInputs = [
+    spidermonkey
+  ];
+} ''
+  diff -U3 --color=auto <(js <(echo "console.log('Hello, world\!')")) <(echo 'Hello, world!')
+  touch $out
+''
diff --git a/pkgs/development/interpreters/wasmtime/default.nix b/pkgs/development/interpreters/wasmtime/default.nix
index 508dc2be60b..9851da2a3ce 100644
--- a/pkgs/development/interpreters/wasmtime/default.nix
+++ b/pkgs/development/interpreters/wasmtime/default.nix
@@ -2,21 +2,22 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wasmtime";
-  version = "0.38.0";
+  version = "0.39.1";
 
   src = fetchFromGitHub {
     owner = "bytecodealliance";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-q+6w22MbI3HRpmkybZXXWbkK7jbd6lyxodC3EpSovRI=";
+    sha256 = "sha256-cU03wm1+V++mV7j7VyMtjAYrPldzTysNzpJ8m0q4Rx8=";
     fetchSubmodules = true;
   };
 
-  cargoSha256 = "sha256-uuhGb0/RDz1/3O8WYiyGIUQFh0WZWJgujqtvH+hgbdA=";
+  cargoSha256 = "sha256-DnThste0SbBdpGAUYhmwbdQFNEB3LozyDf0X8r2A90Q=";
 
   doCheck = true;
   checkFlags = [
     "--skip=cli_tests::run_cwasm"
+    "--skip=commands::compile::test::test_unsupported_flags_compile"
     "--skip=commands::compile::test::test_aarch64_flags_compile"
     "--skip=commands::compile::test::test_successful_compile"
     "--skip=commands::compile::test::test_x64_flags_compile"
diff --git a/pkgs/development/interpreters/yabasic/default.nix b/pkgs/development/interpreters/yabasic/default.nix
index 02d3dbeb9fd..9266ec01225 100644
--- a/pkgs/development/interpreters/yabasic/default.nix
+++ b/pkgs/development/interpreters/yabasic/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   pname = "yabasic";
-  version = "2.90.1";
+  version = "2.90.2";
 
   src = fetchurl {
     url = "http://www.yabasic.de/download/${pname}-${version}.tar.gz";
-    hash = "sha256-9LqiwS3Udql3YZoufo3spVpE46me3McI8L08TpNJpJo=";
+    hash = "sha256-ff5j0cJ1i2HWIsYjwzx5FFtZfchWsGRF2AZtbDXrNJw=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix
index 15289570d47..f73c5746cb7 100644
--- a/pkgs/development/libraries/SDL2/default.nix
+++ b/pkgs/development/libraries/SDL2/default.nix
@@ -29,7 +29,7 @@
 , libxkbcommon
 , dbusSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid
 , dbus
-, udevSupport ? false
+, udevSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid
 , udev
 , ibusSupport ? false
 , ibus
diff --git a/pkgs/development/libraries/accountsservice/default.nix b/pkgs/development/libraries/accountsservice/default.nix
index efe9640af6f..4bd7a67871f 100644
--- a/pkgs/development/libraries/accountsservice/default.nix
+++ b/pkgs/development/libraries/accountsservice/default.nix
@@ -10,6 +10,7 @@
 , systemd
 , coreutils
 , meson
+, mesonEmulatorHook
 , dbus
 , ninja
 , python3
@@ -47,7 +48,6 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [
-    dbus
     gettext
     gobject-introspection
     meson
@@ -55,9 +55,14 @@ stdenv.mkDerivation rec {
     pkg-config
     python3
     vala
+  ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
+    #  meson.build:88:2: ERROR: Can not run test applications in this cross environment.
+    mesonEmulatorHook
   ];
 
   buildInputs = [
+    gobject-introspection
+    dbus
     glib
     polkit
     systemd
diff --git a/pkgs/development/libraries/arrow-cpp/default.nix b/pkgs/development/libraries/arrow-cpp/default.nix
index 64fc6a165c4..d3b736fbe0f 100644
--- a/pkgs/development/libraries/arrow-cpp/default.nix
+++ b/pkgs/development/libraries/arrow-cpp/default.nix
@@ -18,7 +18,6 @@
 , google-cloud-cpp
 , grpc
 , gtest
-, jemalloc
 , libbacktrace
 , lz4
 , minio
@@ -56,55 +55,58 @@ let
   arrow-testing = fetchFromGitHub {
     owner = "apache";
     repo = "arrow-testing";
-    rev = "634739c664433cec366b4b9a81d1e1044a8c5eda";
-    hash = "sha256-r1WVgJJsI7v485L6Qb+5i7kFO4Tvxyk1T0JBb4og6pg=";
+    rev = "5bab2f264a23f5af68f69ea93d24ef1e8e77fc88";
+    hash = "sha256-Pxx8ohUpXb5u1995IvXmxQMqWiDJ+7LAll/AjQP7ph8=";
   };
 
   parquet-testing = fetchFromGitHub {
     owner = "apache";
     repo = "parquet-testing";
-    rev = "acd375eb86a81cd856476fca0f52ba6036a067ff";
-    hash = "sha256-z/kmi+4dBO/dsVkJA4NgUoxl0pXi8RWIGvI8MGu/gcc=";
+    rev = "aafd3fc9df431c2625a514fb46626e5614f1d199";
+    hash = "sha256-cO5t/mgsbBhbSefx8EMGTyxmgTjhZ8mFujkFQ3p/JS0=";
   };
 
 in
 stdenv.mkDerivation rec {
   pname = "arrow-cpp";
-  version = "8.0.0";
+  version = "9.0.0";
 
   src = fetchurl {
     url = "mirror://apache/arrow/arrow-${version}/apache-arrow-${version}.tar.gz";
-    hash = "sha256-rZoFcFEXyYnBFrrprHBJL+AVBQ4bgPsOOP3ktdhjqqM=";
+    hash = "sha256-qaAz8KNJAomZj0WGgNGVec8HkRcXumWv3my4AHD3qbU=";
   };
   sourceRoot = "apache-arrow-${version}/cpp";
 
   # versions are all taken from
-  # https://github.com/apache/arrow/blob/apache-arrow-8.0.0/cpp/thirdparty/versions.txt
+  # https://github.com/apache/arrow/blob/apache-arrow-${version}/cpp/thirdparty/versions.txt
 
+  # jemalloc: arrow uses a custom prefix to prevent default allocator symbol
+  # collisions as well as custom build flags
   ${if enableJemalloc then "ARROW_JEMALLOC_URL" else null} = fetchurl {
-    url = "https://github.com/jemalloc/jemalloc/releases/download/5.2.1/jemalloc-5.2.1.tar.bz2";
-    hash = "sha256-NDMOXOJ2CZ4uiVDZM121qHVomkxqVnUe87HYxTf4h/Y=";
+    url = "https://github.com/jemalloc/jemalloc/releases/download/5.3.0/jemalloc-5.3.0.tar.bz2";
+    hash = "sha256-LbgtHnEZ3z5xt2QCGbbf6EeJvAU3mDw7esT3GJrs/qo=";
   };
 
+  # mimalloc: arrow uses custom build flags for mimalloc
   ARROW_MIMALLOC_URL = fetchFromGitHub {
     owner = "microsoft";
     repo = "mimalloc";
-    rev = "v1.7.3";
-    hash = "sha256-Ca877VitpWyKmZNHavqgewk/P+tyd2xHDNVqveKh87M=";
+    rev = "v2.0.6";
+    hash = "sha256-u2ITXABBN/dwU+mCIbL3tN1f4c17aBuSdNTV+Adtohc=";
   };
 
   ARROW_XSIMD_URL = fetchFromGitHub {
     owner = "xtensor-stack";
     repo = "xsimd";
-    rev = "7d1778c3b38d63db7cec7145d939f40bc5d859d1";
-    hash = "sha256-89AysBUVnTdWyMPazeJegnQ6WEH90Ns7qQInZLMSXY4=";
+    rev = "8.1.0";
+    hash = "sha256-Aqs6XJkGjAjGAp0PprabSM4m+32M/UXpSHppCHdzaZk=";
   };
 
   ARROW_SUBSTRAIT_URL = fetchFromGitHub {
     owner = "substrait-io";
     repo = "substrait";
-    rev = "e1b4c04a1b518912f4c4065b16a1b2c0ac8e14cf";
-    hash = "sha256-56FSjDngsROSHLjMv+OYAIYqphEu3GzgIMHbgh/ZQw0=";
+    rev = "v0.6.0";
+    hash = "sha256-hxCBomL4Qg9cHLRg9ZiO9k+JVOZXn6f4ikPtK+V9tno=";
   };
 
   patches = [
@@ -159,7 +161,6 @@ stdenv.mkDerivation rec {
   '';
 
   cmakeFlags = [
-    "-DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON"
     "-DARROW_BUILD_SHARED=${if enableShared then "ON" else "OFF"}"
     "-DARROW_BUILD_STATIC=${if enableShared then "OFF" else "ON"}"
     "-DARROW_BUILD_TESTS=ON"
@@ -168,7 +169,7 @@ stdenv.mkDerivation rec {
     "-DARROW_EXTRA_ERROR_CONTEXT=ON"
     "-DARROW_VERBOSE_THIRDPARTY_BUILD=ON"
     "-DARROW_DEPENDENCY_SOURCE=SYSTEM"
-    "-DThrift_SOURCE=AUTO" # search for Thrift using pkg-config (ThriftConfig.cmake requires OpenSSL and libevent)
+    "-Dxsimd_SOURCE=AUTO"
     "-DARROW_DEPENDENCY_USE_SHARED=${if enableShared then "ON" else "OFF"}"
     "-DARROW_COMPUTE=ON"
     "-DARROW_CSV=ON"
@@ -229,6 +230,7 @@ stdenv.mkDerivation rec {
       ];
     in
     lib.optionalString doInstallCheck "-${builtins.concatStringsSep ":" filteredTests}";
+  __darwinAllowLocalNetworking = true;
   installCheckInputs = [ perl which sqlite ] ++ lib.optional enableS3 minio;
   installCheckPhase =
     let
diff --git a/pkgs/development/libraries/audio/libspecbleach/default.nix b/pkgs/development/libraries/audio/libspecbleach/default.nix
index f9f147ab11a..b1065561e1c 100644
--- a/pkgs/development/libraries/audio/libspecbleach/default.nix
+++ b/pkgs/development/libraries/audio/libspecbleach/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libspecbleach";
-  version = "0.1.2";
+  version = "0.1.6";
 
   src = fetchFromGitHub {
     owner = "lucianodato";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-WmUl8rA/+V+hv7FPG/5Or6aAQVqt1rIJtdb53KhSmuo=";
+    sha256 = "sha256-Tw5nrGVAeoiMH00efJwcU+QLmKDZZTXHQPSV9x789TM=";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config ];
diff --git a/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix b/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix
index 3a1118c0d81..3d5d973eec5 100644
--- a/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix
+++ b/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "zita-alsa-pcmi";
-  version = "0.4.0";
+  version = "0.5.1";
   src = fetchurl {
     url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-vYyfNg37VB+2DkinE7rx4i1BssdMGaD+ny005y9Q8cU=";
+    sha256 = "sha256-zyAKaO22She1e/+zPjiwSHeCctGLVYnT0vWgHODzSwc=";
   };
 
   buildInputs = [ alsa-lib ];
diff --git a/pkgs/development/libraries/avro-c/default.nix b/pkgs/development/libraries/avro-c/default.nix
index b1d83e7e3d1..02ed9af632f 100644
--- a/pkgs/development/libraries/avro-c/default.nix
+++ b/pkgs/development/libraries/avro-c/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "avro-c";
-  version = "1.11.0";
+  version = "1.11.1";
 
   src = fetchurl {
     url = "mirror://apache/avro/avro-${version}/c/avro-c-${version}.tar.gz";
-    sha256 = "sha256-BlJZClStjkqliiuf8fTOcaZKQbCgXEUp0cUYxh52BkM=";
+    sha256 = "sha256-EliMTjED5/RKHgWrWD8d0Era9qEKov1z4cz1kEVTX5I=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/botan/2.0.nix b/pkgs/development/libraries/botan/2.0.nix
index 113c4a27b91..6987b6c35f0 100644
--- a/pkgs/development/libraries/botan/2.0.nix
+++ b/pkgs/development/libraries/botan/2.0.nix
@@ -1,19 +1,10 @@
 { callPackage, fetchpatch, ... } @ args:
 
 callPackage ./generic.nix (args // {
-  baseVersion = "2.18";
-  revision = "1";
-  sha256 = "0adf53drhk1hlpfih0175c9081bqpclw6p2afn51cmx849ib9izq";
+  baseVersion = "2.19";
+  revision = "2";
+  sha256 = "sha256-OvXxdhXGtc2Lgy0mn7bLTVTsZPnrCd2/Gt1Qk5QbTXU=";
   postPatch = ''
     sed -e 's@lang_flags "@&--std=c++11 @' -i src/build-data/cc/{gcc,clang}.txt
   '';
-  extraPatches = [
-    (fetchpatch {
-      name = "CVE-2021-40529.patch";
-      url = "https://github.com/randombit/botan/commit/9a23e4e3bc3966340531f2ff608fa9d33b5185a2.patch";
-      sha256 = "1ax1n2l9zh0hk35vkkywgkhzpdk76xb9apz2wm3h9kjvjs9acr3y";
-      # our source tarball doesn't include the tests
-      excludes = [ "src/tests/*" ];
-    })
-  ];
 })
diff --git a/pkgs/development/libraries/botan/generic.nix b/pkgs/development/libraries/botan/generic.nix
index 1384bdee9ad..3e5884c6c99 100644
--- a/pkgs/development/libraries/botan/generic.nix
+++ b/pkgs/development/libraries/botan/generic.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, python3, bzip2, zlib, gmp, openssl, boost
+{ lib, stdenv, fetchurl, python3, bzip2, zlib, gmp, boost
 # Passed by version specific builders
 , baseVersion, revision, sha256
 , sourceExtension ? "tar.xz"
@@ -26,11 +26,11 @@ stdenv.mkDerivation rec {
   patches = extraPatches;
   inherit postPatch;
 
-  buildInputs = [ python3 bzip2 zlib gmp openssl boost ]
+  buildInputs = [ python3 bzip2 zlib gmp boost ]
     ++ lib.optionals stdenv.isDarwin [ CoreServices Security ];
 
   configurePhase = ''
-    python configure.py --prefix=$out --with-bzip2 --with-zlib ${if openssl != null then "--with-openssl" else ""} ${extraConfigureFlags}${if stdenv.cc.isClang then " --cc=clang" else "" }
+    python configure.py --prefix=$out --with-bzip2 --with-zlib ${extraConfigureFlags}${if stdenv.cc.isClang then " --cc=clang" else "" }
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/c-ares/default.nix b/pkgs/development/libraries/c-ares/default.nix
index b133f9867d3..a5a41813bc3 100644
--- a/pkgs/development/libraries/c-ares/default.nix
+++ b/pkgs/development/libraries/c-ares/default.nix
@@ -25,13 +25,17 @@ stdenv.mkDerivation rec {
   };
 
   # Adapted from running a cmake build
-  passthru.cmake-config = writeTextDir "c-ares-config.cmake"
+  passthru.cmake-config = let
+    extension = if stdenv.hostPlatform.isStatic then ".a" else stdenv.hostPlatform.extensions.sharedLibrary;
+    buildType = if stdenv.hostPlatform.isStatic then "STATIC" else "SHARED";
+    buildTypeLower = if stdenv.hostPlatform.isStatic then "static" else "shared";
+    in writeTextDir "c-ares-config.cmake"
     ''
       set(c-ares_INCLUDE_DIR "${self}/include")
 
       set(c-ares_LIBRARY c-ares::cares)
 
-      add_library(c-ares::cares SHARED IMPORTED)
+      add_library(c-ares::cares ${buildType} IMPORTED)
 
       set_target_properties(c-ares::cares PROPERTIES
         INTERFACE_INCLUDE_DIRECTORIES "${self}/include"
@@ -39,12 +43,12 @@ stdenv.mkDerivation rec {
       )
       set_property(TARGET c-ares::cares APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
       set_target_properties(c-ares::cares PROPERTIES
-        IMPORTED_LOCATION_RELEASE "${self}/lib/libcares${stdenv.targetPlatform.extensions.sharedLibrary}"
-        IMPORTED_SONAME_RELEASE "libcares${stdenv.targetPlatform.extensions.sharedLibrary}"
+        IMPORTED_LOCATION_RELEASE "${self}/lib/libcares${extension}"
+        IMPORTED_SONAME_RELEASE "libcares${extension}"
         )
-      add_library(c-ares::cares_shared INTERFACE IMPORTED)
-      set_target_properties(c-ares::cares_shared PROPERTIES INTERFACE_LINK_LIBRARIES "c-ares::cares")
-      set(c-ares_SHARED_LIBRARY c-ares::cares_shared)
+      add_library(c-ares::cares_${buildTypeLower} INTERFACE IMPORTED)
+      set_target_properties(c-ares::cares_${buildTypeLower} PROPERTIES INTERFACE_LINK_LIBRARIES "c-ares::cares")
+      set(c-ares_${buildType}_LIBRARY c-ares::cares_${buildTypeLower})
     '';
 
 }; in self
diff --git a/pkgs/development/libraries/cdo/default.nix b/pkgs/development/libraries/cdo/default.nix
index d13305d10b9..ece7ab2f692 100644
--- a/pkgs/development/libraries/cdo/default.nix
+++ b/pkgs/development/libraries/cdo/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, curl, hdf5, netcdf
+{ lib, stdenv, fetchurl, curl, hdf5, netcdf, eccodes
 , # build, install and link to a CDI library [default=no]
   enable_cdi_lib ? false
 , # build a completely statically linked CDO binary
@@ -9,22 +9,24 @@
 
 stdenv.mkDerivation rec {
   pname = "cdo";
-  version = "1.9.10";
+  version = "2.0.5";
 
   # Dependencies
   buildInputs = [ curl netcdf hdf5 ];
 
   src = fetchurl {
-    url = "https://code.mpimet.mpg.de/attachments/download/24638/${pname}-${version}.tar.gz";
-    sha256 = "sha256-zDnIm7tIHXs5RaBsVqhJIEcjX0asNjxPDZgPzN3mZ34=";
+    url = "https://code.mpimet.mpg.de/attachments/download/26823/${pname}-${version}.tar.gz";
+    sha256 = "sha256-7e678cOxofDGQtrmvIx2JODFS6vkYQZNxcfaykpbDc4=";
   };
 
- # Configure phase
  configureFlags = [
-   "--with-netcdf=${netcdf}" "--with-hdf5=${hdf5}"]
-   ++ lib.optional (enable_cdi_lib) "--enable-cdi-lib"
-   ++ lib.optional (enable_all_static) "--enable-all-static"
-   ++ lib.optional (enable_cxx) "--enable-cxx";
+    "--with-netcdf=${netcdf}"
+    "--with-hdf5=${hdf5}"
+    "--with-eccodes=${eccodes}"
+  ]
+   ++ lib.optional enable_cdi_lib "--enable-cdi-lib"
+   ++ lib.optional enable_all_static "--enable-all-static"
+   ++ lib.optional enable_cxx "--enable-cxx";
 
   meta = with lib; {
     description = "Collection of command line Operators to manipulate and analyse Climate and NWP model Data";
diff --git a/pkgs/development/libraries/coin3d/default.nix b/pkgs/development/libraries/coin3d/default.nix
index 3fe78e6d02e..7675ddae378 100644
--- a/pkgs/development/libraries/coin3d/default.nix
+++ b/pkgs/development/libraries/coin3d/default.nix
@@ -1,29 +1,40 @@
-{ fetchFromGitHub, lib, stdenv, boost, cmake, libX11, libGL, libGLU }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, boost
+, cmake
+, libGL
+, libGLU
+, libX11
+}:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "coin";
-  version = "2020-12-07-unstable";
+  version = "unstable-2022-07-27";
 
   src = fetchFromGitHub {
     owner = "coin3d";
     repo = "coin";
-    # rev = "Coin-${version}";
-    rev = "d5539998aff272b349590fe74d068659682ecd0d";
-    sha256 = "11jaz8p9nn8jpd6dsgwgkldwr7z829gyf64g014qyyh8l6p7jzzd";
+    rev = "4c67945a58d2a6e5adb4d2332ab08007769130ef";
+    hash = "sha256-lXS7GxtoPsZe2SJfr0uY99Q0ZtYG0KFlauY1PBuFleo=";
   };
 
-  postPatch = ''
-    sed -i /cpack.d/d CMakeLists.txt
-  '';
-
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ boost libX11 libGL libGLU ];
+
+  buildInputs = [
+    boost
+    libGL
+    libGLU
+    libX11
+  ];
+
+  cmakeFlags = [ "-DCOIN_USE_CPACK=OFF" ];
 
   meta = with lib; {
     homepage = "https://github.com/coin3d/coin";
-    license = licenses.bsd3;
     description = "High-level, retained-mode toolkit for effective 3D graphics development";
+    license = licenses.bsd3;
     maintainers = with maintainers; [ gebner viric ];
     platforms = platforms.linux;
   };
-}
+})
diff --git a/pkgs/development/libraries/cpp-utilities/default.nix b/pkgs/development/libraries/cpp-utilities/default.nix
index 6362eb952af..6740f458725 100644
--- a/pkgs/development/libraries/cpp-utilities/default.nix
+++ b/pkgs/development/libraries/cpp-utilities/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cpp-utilities";
-  version = "5.17.0";
+  version = "5.18.0";
 
   src = fetchFromGitHub {
     owner = "Martchus";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-1NjdVflLapuNeYKgRgO7zJxJN1rXjGjQO1m+xUfTeEI=";
+    sha256 = "sha256-i/ihEPJHyWzRywzpXhYpauA8lL51yjoiWod8Nc/6gV0=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/crc32c/default.nix b/pkgs/development/libraries/crc32c/default.nix
index 2ba0c4e65b8..8790840c4c1 100644
--- a/pkgs/development/libraries/crc32c/default.nix
+++ b/pkgs/development/libraries/crc32c/default.nix
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
     "-DCRC32C_BUILD_TESTS=1"
     "-DCRC32C_BUILD_BENCHMARKS=0"
     "-DCRC32C_USE_GLOG=0"
+    "-DINSTALL_GTEST=0"
     "-DBUILD_SHARED_LIBS=${if staticOnly then "0" else "1"}"
   ];
 
@@ -42,20 +43,7 @@ stdenv.mkDerivation rec {
     runHook postInstallCheck
   '';
 
-  postInstallCheck = ''
-    # without removing these libraries, dependents will look for
-    # libgtest/libgmock etc here, which can result in link time errors
-    rm $out/lib/libg*
-  '';
-
   postFixup = ''
-    # dependents shouldn't be able to find gtest libraries as dependencies of
-    # this package
-    rm -r $out/lib/pkgconfig
-
-    # remove GTest cmake config files
-    rm -r $out/lib/cmake/GTest
-
     # fix bogus include paths
     for f in $(find $out/lib/cmake -name '*.cmake'); do
       substituteInPlace "$f" --replace "\''${_IMPORT_PREFIX}/$out/include" "\''${_IMPORT_PREFIX}/include"
diff --git a/pkgs/development/libraries/cutelyst/default.nix b/pkgs/development/libraries/cutelyst/default.nix
deleted file mode 100644
index 51336a9e1a5..00000000000
--- a/pkgs/development/libraries/cutelyst/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, lib, fetchFromGitHub, cmake, pkg-config, wrapQtAppsHook
-, qtbase, libuuid, libcap, uwsgi, grantlee, pcre
-}:
-
-stdenv.mkDerivation rec {
-  pname = "cutelyst";
-  version = "2.14.2";
-
-  src = fetchFromGitHub {
-    owner = "cutelyst";
-    repo = "cutelyst";
-    rev = "v${version}";
-    sha256 = "sha256-JUffOeUTeaZvEssP5hfSGipeRuQ7FzLF4bOizCFhe5o=";
-  };
-
-  nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
-  buildInputs = [
-    qtbase
-    grantlee
-  ] ++ lib.optionals stdenv.isLinux [
-    libuuid
-    libcap
-    uwsgi
-    pcre
-  ];
-
-  cmakeFlags = [
-    "-DPLUGIN_UWSGI=${if stdenv.isLinux then "ON" else "OFF"}" # Missing uwsgi symbols on Darwin
-    "-DPLUGIN_STATICCOMPRESSED=ON"
-    "-DPLUGIN_CSRFPROTECTION=ON"
-    "-DPLUGIN_VIEW_GRANTLEE=ON"
-  ];
-
-  meta = with lib; {
-    description = "C++ Web Framework built on top of Qt";
-    homepage = "https://cutelyst.org/";
-    license = licenses.lgpl21Plus;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ fpletz ];
-  };
-}
diff --git a/pkgs/development/libraries/double-conversion/default.nix b/pkgs/development/libraries/double-conversion/default.nix
index 9efdcd0c4f0..d6a82d3c66d 100644
--- a/pkgs/development/libraries/double-conversion/default.nix
+++ b/pkgs/development/libraries/double-conversion/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "double-conversion";
-  version = "3.2.0";
+  version = "3.2.1";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "double-conversion";
     rev = "v${version}";
-    sha256 = "sha256-Vvzjg+UOgegkH8x2vtNU1TS01k5O4ilRJjD7F+BmVmU=";
+    sha256 = "sha256-vrh/dCuleE3fikryXX86XC/fdVV+j8HvIe4s/SRpNJw=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/elpa/default.nix b/pkgs/development/libraries/elpa/default.nix
index 2a71b82af3c..b3bde19fed0 100644
--- a/pkgs/development/libraries/elpa/default.nix
+++ b/pkgs/development/libraries/elpa/default.nix
@@ -18,13 +18,13 @@ assert blas.isILP64 == scalapack.isILP64;
 
 stdenv.mkDerivation rec {
   pname = "elpa";
-  version = "2021.11.002";
+  version = "2022.05.001";
 
   passthru = { inherit (blas) isILP64; };
 
   src = fetchurl {
     url = "https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/${version}/elpa-${version}.tar.gz";
-    sha256 = "sha256-V28cru14g7gTlmQP2g9QQYOGbPbL1Lxx0Tg7oiCPH5c=";
+    sha256 = "sha256-IH5vJtZTL7cDc6/D7z04JVITr2He9lnCXa06MOT8o4s=";
   };
 
   patches = [
@@ -48,6 +48,8 @@ stdenv.mkDerivation rec {
   preConfigure = ''
     export FC="mpifort"
     export CC="mpicc"
+    export CXX="mpicxx"
+    export CPP="cpp"
 
     # These need to be set for configure to succeed
     export FCFLAGS="${lib.optionalString stdenv.hostPlatform.isx86_64 "-msse3 "
diff --git a/pkgs/development/libraries/exiv2/default.nix b/pkgs/development/libraries/exiv2/default.nix
index 54f42ae8db7..6fc48c2d4e4 100644
--- a/pkgs/development/libraries/exiv2/default.nix
+++ b/pkgs/development/libraries/exiv2/default.nix
@@ -87,6 +87,8 @@ stdenv.mkDerivation rec {
       substituteInPlace  ../tests/bash_tests/testcases.py \
         --replace "def io_test(self):" "def io_disabled(self):"
      ''}
+  '' + lib.optionalString (stdenv.isDarwin && stdenv.isAarch64) ''
+    export LC_ALL=C
   '';
 
   # With CMake we have to enable samples or there won't be
@@ -116,10 +118,10 @@ stdenv.mkDerivation rec {
   disallowedReferences = [ stdenv.cc.cc ];
 
   meta = with lib; {
-    homepage = "https://www.exiv2.org/";
+    homepage = "https://exiv2.org";
     description = "A library and command-line utility to manage image metadata";
     platforms = platforms.all;
     license = licenses.gpl2Plus;
-    maintainers = [ ];
+    maintainers = with maintainers; [ wegank ];
   };
 }
diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix
index bea4692396a..1bc3d49bea2 100644
--- a/pkgs/development/libraries/ffmpeg-full/default.nix
+++ b/pkgs/development/libraries/ffmpeg-full/default.nix
@@ -49,8 +49,11 @@
 , alsa-lib ? null # Alsa in/output support
 #, avisynth ? null # Support for reading AviSynth scripts
 , bzip2 ? null
+, clang ? null
 , celt ? null # CELT decoder
 #, crystalhd ? null # Broadcom CrystalHD hardware acceleration
+, cuda ? !stdenv.isDarwin && !stdenv.isAarch64 # Dynamically linked CUDA
+, cuda-llvm ? !stdenv.isDarwin && !stdenv.isAarch64 # LLVM-based CUDA compilation
 , dav1d ? null # AV1 decoder (focused on speed and correctness)
 #, decklinkExtlib ? false, blackmagic-design-desktop-video ? null # Blackmagic Design DeckLink I/O support
 , fdkaacExtlib ? false, fdk_aac ? null # Fraunhofer FDK AAC de/encoder
@@ -331,6 +334,8 @@ stdenv.mkDerivation rec {
     #(enableFeature avisynth "avisynth")
     (enableFeature (bzip2 != null) "bzlib")
     (enableFeature (celt != null) "libcelt")
+    (enableFeature cuda "cuda")
+    (enableFeature (clang != null && cuda-llvm) "cuda-llvm")
     #(enableFeature crystalhd "crystalhd")
     (enableFeature (dav1d != null) "libdav1d")
     #(enableFeature decklinkExtlib "decklink")
@@ -451,6 +456,7 @@ stdenv.mkDerivation rec {
     ++ optionals isLinux [ alsa-lib libraw1394 libv4l vulkan-loader glslang ]
     ++ optional (isLinux && !isAarch64 && libmfx != null) libmfx
     ++ optional (nvdec || nvenc) nv-codec-headers
+    ++ optional cuda-llvm clang
     ++ optionals stdenv.isDarwin [ Cocoa CoreServices CoreAudio AVFoundation
                                    MediaToolbox VideoDecodeAcceleration
                                    libiconv ];
diff --git a/pkgs/development/libraries/ffmpeg/5.nix b/pkgs/development/libraries/ffmpeg/5.nix
index faec9f125d2..22dbe293ef8 100644
--- a/pkgs/development/libraries/ffmpeg/5.nix
+++ b/pkgs/development/libraries/ffmpeg/5.nix
@@ -9,4 +9,10 @@ callPackage ./generic.nix (rec {
   branch = version;
   sha256 = "sha256-MrVvsBzpDUUpWK4l6RyVZKv0ntVFPBJ77CPGPlMKqPo=";
   darwinFrameworks = [ Cocoa CoreMedia VideoToolbox ];
+
+  # Newly introduced IPFS support in ffmpeg 5.1 relies on untrusted third
+  # party services, leading to consent and privacy issues. See upstream
+  # discussion for more information:
+  # https://ffmpeg.org/pipermail/ffmpeg-devel/2022-August/299924.html
+  patches = [ ./ipfs-remove-default-gateway.patch ];
 } // args)
diff --git a/pkgs/development/libraries/ffmpeg/ipfs-remove-default-gateway.patch b/pkgs/development/libraries/ffmpeg/ipfs-remove-default-gateway.patch
new file mode 100644
index 00000000000..e4b25a4b6cb
--- /dev/null
+++ b/pkgs/development/libraries/ffmpeg/ipfs-remove-default-gateway.patch
@@ -0,0 +1,37 @@
+A gateway can see everything, and we should not be shipping a hardcoded
+default from a third party company; it's a security risk.
+
+Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
+---
+ libavformat/ipfsgateway.c | 11 ++++-------
+ 1 file changed, 4 insertions(+), 7 deletions(-)
+
+diff --git a/libavformat/ipfsgateway.c b/libavformat/ipfsgateway.c
+index 5a5178c563..907b61b017 100644
+--- a/libavformat/ipfsgateway.c
++++ b/libavformat/ipfsgateway.c
+@@ -240,13 +240,8 @@ static int translate_ipfs_to_http(URLContext *h, const char *uri, int flags, AVD
+         ret = populate_ipfs_gateway(h);
+ 
+         if (ret < 1) {
+-            // We fallback on dweb.link (managed by Protocol Labs).
+-            snprintf(c->gateway_buffer, sizeof(c->gateway_buffer), "https://dweb.link");
+-
+-            av_log(h, AV_LOG_WARNING,
+-                   "IPFS does not appear to be running. "
+-                   "You’re now using the public gateway at dweb.link.\n");
+-            av_log(h, AV_LOG_INFO,
++            av_log(h, AV_LOG_ERROR,
++                   "IPFS does not appear to be running.\n\n"
+                    "Installing IPFS locally is recommended to "
+                    "improve performance and reliability, "
+                    "and not share all your activity with a single IPFS gateway.\n"
+@@ -259,6 +254,8 @@ static int translate_ipfs_to_http(URLContext *h, const char *uri, int flags, AVD
+                    "3. Define an $IPFS_PATH environment variable "
+                    "and point it to the IPFS data path "
+                    "- this is typically ~/.ipfs\n");
++            ret = AVERROR(EINVAL);
++            goto err;
+         }
+     }
+ 
diff --git a/pkgs/development/libraries/flatbuffers/default.nix b/pkgs/development/libraries/flatbuffers/default.nix
index a6eefe77c46..42e7c665f2b 100644
--- a/pkgs/development/libraries/flatbuffers/default.nix
+++ b/pkgs/development/libraries/flatbuffers/default.nix
@@ -1,35 +1,31 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , cmake
+, python3
 }:
 
 stdenv.mkDerivation rec {
   pname = "flatbuffers";
-  version = "2.0.0";
+  version = "2.0.6";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "flatbuffers";
     rev = "v${version}";
-    sha256 = "1zbf6bdpps8369r1ql00irxrp58jnalycc8jcapb8iqg654vlfz8";
+    sha256 = "sha256-0bJ0n/5yzj6lHXLKJzHUS0Bnlmys+X7pY/3LGapVh6k=";
   };
 
-  patches = [
-    # Pull patch pending upstream inclustion for gcc-12 support:
-    # https://github.com/google/flatbuffers/pull/6946
-    (fetchpatch {
-      name = "gcc-12.patch";
-      url = "https://github.com/google/flatbuffers/commit/17d9f0c4cf47a9575b4f43a2ac33eb35ba7f9e3e.patch";
-      sha256 = "0sksk47hi7camja9ppnjr88jfdgj0nxqxy8976qs1nx73zkgbpf9";
-    })
-  ];
+  nativeBuildInputs = [ cmake python3 ];
 
-  nativeBuildInputs = [ cmake ];
+  postPatch = ''
+    # Fix default value of "test_data_path" to make tests work
+    substituteInPlace tests/test.cpp --replace '"tests/";' '"../tests/";'
+  '';
 
   cmakeFlags = [
     "-DFLATBUFFERS_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
+    "-DFLATBUFFERS_OSX_BUILD_UNIVERSAL=OFF"
   ];
 
   doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
diff --git a/pkgs/development/libraries/folly/default.nix b/pkgs/development/libraries/folly/default.nix
index 2cbe43a93a0..e11d00fb196 100644
--- a/pkgs/development/libraries/folly/default.nix
+++ b/pkgs/development/libraries/folly/default.nix
@@ -22,13 +22,13 @@
 
 stdenv.mkDerivation rec {
   pname = "folly";
-  version = "2022.07.25.00";
+  version = "2022.08.08.00";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "folly";
     rev = "v${version}";
-    sha256 = "sha256-Bb6Txg0GNhkRP1qqeracmYENrO6x79HXMuWU2gtGGxU=";
+    sha256 = "sha256-shgqM7hUz0uHOtaXSSdnsQW0eUvCUAo3mtq0EISeQgU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gdcm/default.nix b/pkgs/development/libraries/gdcm/default.nix
index 1b1eb036ef9..59559051e65 100644
--- a/pkgs/development/libraries/gdcm/default.nix
+++ b/pkgs/development/libraries/gdcm/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gdcm";
-  version = "3.0.14";
+  version = "3.0.15";
 
   src = fetchFromGitHub {
     owner = "malaterre";
     repo = "GDCM";
     rev = "v${version}";
-    sha256 = "sha256-gXREvxgGpIBo5oVxxal+Xdwk0WFZufuJKGzABzhB7zM=";
+    sha256 = "sha256-kyazfsm0lGgz26PWJUyFRmFxQFxmotDPXrwx3N/EVl0=";
   };
 
   cmakeFlags = [
diff --git a/pkgs/development/libraries/geocode-glib/default.nix b/pkgs/development/libraries/geocode-glib/default.nix
index 34674165206..b55b5c19228 100644
--- a/pkgs/development/libraries/geocode-glib/default.nix
+++ b/pkgs/development/libraries/geocode-glib/default.nix
@@ -79,6 +79,6 @@ stdenv.mkDerivation rec {
     description = "A convenience library for the geocoding and reverse geocoding using Nominatim service";
     license = licenses.lgpl2Plus;
     maintainers = teams.gnome.members;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/glibc/0001-Revert-Remove-all-usage-of-BASH-or-BASH-in-installed.patch b/pkgs/development/libraries/glibc/0001-Revert-Remove-all-usage-of-BASH-or-BASH-in-installed.patch
index 45bad2867e9..b2c998aabbe 100644
--- a/pkgs/development/libraries/glibc/0001-Revert-Remove-all-usage-of-BASH-or-BASH-in-installed.patch
+++ b/pkgs/development/libraries/glibc/0001-Revert-Remove-all-usage-of-BASH-or-BASH-in-installed.patch
@@ -1,6 +1,6 @@
-From f81744bae4442345ff6f40d80fdb8adaba8b330f Mon Sep 17 00:00:00 2001
-From: Maximilian Bosch <maximilian@mbosch.me>
-Date: Fri, 27 Aug 2021 17:19:27 +0200
+From faeeb0f353f5540da2015a41cb60fe43d199a1ac Mon Sep 17 00:00:00 2001
+From: Bernardo Meurer <bernardo@meurer.org>
+Date: Fri, 22 Jul 2022 22:11:07 -0700
 Subject: [PATCH] Revert "Remove all usage of @BASH@ or ${BASH} in installed
  files, and hardcode /bin/bash instead"
 
@@ -8,6 +8,8 @@ We need the ability to override to use `/bin/sh` here to avoid having
 some bootstrap tools in a final build product.
 
 This reverts commit 5188a9d0265cc6f7235a8af1d31ab02e4a24853d.
+
+Co-authored-by: Maximilian Bosch <maximilian@mbosch.me>
 ---
  debug/Makefile     | 5 +++--
  debug/xtrace.sh    | 2 +-
@@ -20,10 +22,10 @@ This reverts commit 5188a9d0265cc6f7235a8af1d31ab02e4a24853d.
  8 files changed, 15 insertions(+), 10 deletions(-)
 
 diff --git a/debug/Makefile b/debug/Makefile
-index 6893111cbf..3f66666c6c 100644
+index 96029f32ee..cbbdeda277 100644
 --- a/debug/Makefile
 +++ b/debug/Makefile
-@@ -216,7 +216,8 @@ $(objpfx)pcprofiledump: $(objpfx)pcprofiledump.o
+@@ -238,7 +238,8 @@ $(objpfx)pcprofiledump: $(objpfx)pcprofiledump.o
  
  $(objpfx)xtrace: xtrace.sh
  	rm -f $@.new
@@ -35,20 +37,20 @@ index 6893111cbf..3f66666c6c 100644
  	    -e 's|@REPORT_BUGS_TO@|$(REPORT_BUGS_TO)|' $^ > $@.new \
  	&& rm -f $@ && mv $@.new $@ && chmod +x $@
 diff --git a/debug/xtrace.sh b/debug/xtrace.sh
-index 9697fbe0b4..279fe59ac6 100755
+index 8c56e01449..c760391a33 100755
 --- a/debug/xtrace.sh
 +++ b/debug/xtrace.sh
 @@ -1,4 +1,4 @@
 -#!/bin/bash
 +#! @BASH@
- # Copyright (C) 1999-2021 Free Software Foundation, Inc.
+ # Copyright (C) 1999-2022 Free Software Foundation, Inc.
  # This file is part of the GNU C Library.
- # Contributed by Ulrich Drepper <drepper@gnu.org>, 1999.
+ 
 diff --git a/elf/Makefile b/elf/Makefile
-index d05f410592..9264409fdd 100644
+index 3536b6af5e..83521d9dbc 100644
 --- a/elf/Makefile
 +++ b/elf/Makefile
-@@ -144,7 +144,8 @@ $(objpfx)sotruss-lib.so: $(common-objpfx)libc.so $(objpfx)ld.so \
+@@ -256,7 +256,8 @@ $(objpfx)sotruss-lib.so: $(common-objpfx)libc.so $(objpfx)ld.so \
  	$(common-objpfx)libc_nonshared.a
  
  $(objpfx)sotruss: sotruss.sh $(common-objpfx)config.make
@@ -58,7 +60,7 @@ index d05f410592..9264409fdd 100644
  	    -e 's%@TEXTDOMAINDIR@%$(localedir)%g' \
  	    -e 's%@PREFIX@%$(prefix)%g' \
  	    -e 's|@PKGVERSION@|$(PKGVERSION)|g' \
-@@ -659,6 +660,7 @@ ldd-rewrite = -e 's%@RTLD@%$(rtlddir)/$(rtld-installed-name)%g' \
+@@ -1363,6 +1364,7 @@ ldd-rewrite = -e 's%@RTLD@%$(rtlddir)/$(rtld-installed-name)%g' \
  	      -e 's%@VERSION@%$(version)%g' \
  	      -e 's|@PKGVERSION@|$(PKGVERSION)|g' \
  	      -e 's|@REPORT_BUGS_TO@|$(REPORT_BUGS_TO)|g' \
@@ -67,30 +69,30 @@ index d05f410592..9264409fdd 100644
  
  ifeq ($(ldd-rewrite-script),no)
 diff --git a/elf/ldd.bash.in b/elf/ldd.bash.in
-index ba736464ac..57442bc3f2 100644
+index 3253b32ef8..127eb59206 100644
 --- a/elf/ldd.bash.in
 +++ b/elf/ldd.bash.in
 @@ -1,4 +1,4 @@
 -#!/bin/bash
 +#! @BASH@
- # Copyright (C) 1996-2021 Free Software Foundation, Inc.
+ # Copyright (C) 1996-2022 Free Software Foundation, Inc.
  # This file is part of the GNU C Library.
  
 diff --git a/elf/sotruss.sh b/elf/sotruss.sh
-index 003cf4d825..fd4da80244 100755
+index 22327eac5c..7d15bf4fc8 100755
 --- a/elf/sotruss.sh
 +++ b/elf/sotruss.sh
 @@ -1,4 +1,4 @@
 -#!/bin/bash
 +#! @BASH@
- # Copyright (C) 2011-2021 Free Software Foundation, Inc.
+ # Copyright (C) 2011-2022 Free Software Foundation, Inc.
  # This file is part of the GNU C Library.
  
 diff --git a/malloc/Makefile b/malloc/Makefile
-index 9b70831d38..90ecadff6c 100644
+index 2329cf718a..5d7de4bee7 100644
 --- a/malloc/Makefile
 +++ b/malloc/Makefile
-@@ -271,8 +271,9 @@ $(objpfx)mtrace: mtrace.pl
+@@ -307,8 +307,9 @@ $(objpfx)mtrace: mtrace.pl
  
  $(objpfx)memusage: memusage.sh
  	rm -f $@.new
@@ -103,21 +105,21 @@ index 9b70831d38..90ecadff6c 100644
  	&& rm -f $@ && mv $@.new $@ && chmod +x $@
  
 diff --git a/malloc/memusage.sh b/malloc/memusage.sh
-index 0645f09911..c1cd4e23b7 100755
+index f447160b7d..faa4936639 100755
 --- a/malloc/memusage.sh
 +++ b/malloc/memusage.sh
 @@ -1,4 +1,4 @@
 -#!/bin/bash
 +#! @BASH@
- # Copyright (C) 1999-2021 Free Software Foundation, Inc.
+ # Copyright (C) 1999-2022 Free Software Foundation, Inc.
  # This file is part of the GNU C Library.
- # Contributed by Ulrich Drepper <drepper@gnu.org>, 1999.
+ 
 diff --git a/timezone/Makefile b/timezone/Makefile
-index c624a189b3..395abfeebd 100644
+index a789c22d26..d65bdf2391 100644
 --- a/timezone/Makefile
 +++ b/timezone/Makefile
-@@ -123,7 +123,8 @@ $(testdata)/XT%: testdata/XT%
- 	cp $< $@
+@@ -130,7 +130,8 @@ $(testdata)/XT5: testdata/gen-XT5.sh
+ 	mv $@.tmp $@
  
  $(objpfx)tzselect: tzselect.ksh $(common-objpfx)config.make
 -	sed -e 's|TZDIR=[^}]*|TZDIR=$(zonedir)|' \
@@ -127,5 +129,5 @@ index c624a189b3..395abfeebd 100644
  	    -e '/PKGVERSION=/s|=.*|="$(PKGVERSION)"|' \
  	    -e '/REPORT_BUGS_TO=/s|=.*|="$(REPORT_BUGS_TO)"|' \
 -- 
-2.31.1
+2.37.0
 
diff --git a/pkgs/development/libraries/glibc/2.34-master.patch.gz b/pkgs/development/libraries/glibc/2.34-master.patch.gz
deleted file mode 100644
index b7aa7518c37..00000000000
--- a/pkgs/development/libraries/glibc/2.34-master.patch.gz
+++ /dev/null
Binary files differdiff --git a/pkgs/development/libraries/glibc/2.35-master.patch.gz b/pkgs/development/libraries/glibc/2.35-master.patch.gz
new file mode 100644
index 00000000000..24939e1c089
--- /dev/null
+++ b/pkgs/development/libraries/glibc/2.35-master.patch.gz
Binary files differdiff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix
index 2fc89a968f8..6ed0a4d4da0 100644
--- a/pkgs/development/libraries/glibc/common.nix
+++ b/pkgs/development/libraries/glibc/common.nix
@@ -43,9 +43,9 @@
 } @ args:
 
 let
-  version = "2.34";
-  patchSuffix = "-210";
-  sha256 = "sha256-RNJqH+ILiFOkj0cOrQHkJ56GmsFJsZXdpORKGV2YGrI=";
+  version = "2.35";
+  patchSuffix = "-163";
+  sha256 = "sha256-USNzL2tnzNMZMF79OZlx1YWSEivMKmUYob0lEN0M9S4=";
 in
 
 assert withLinuxHeaders -> linuxHeaders != null;
@@ -62,14 +62,14 @@ stdenv.mkDerivation ({
   patches =
     [
       /* No tarballs for stable upstream branch, only https://sourceware.org/git/glibc.git and using git would complicate bootstrapping.
-          $ git fetch --all -p && git checkout origin/release/2.34/master && git describe
-          glibc-2.34-210-ge123f08ad5
-          $ git show --minimal --reverse glibc-2.34.. | gzip -9n --rsyncable - > 2.34-master.patch.gz
+          $ git fetch --all -p && git checkout origin/release/2.35/master && git describe
+          glibc-2.35-210-ge123f08ad5
+          $ git show --minimal --reverse glibc-2.35.. | gzip -9n --rsyncable - > 2.35-master.patch.gz
 
          To compare the archive contents zdiff can be used.
-          $ zdiff -u 2.34-master.patch.gz ../nixpkgs/pkgs/development/libraries/glibc/2.34-master.patch.gz
+          $ zdiff -u 2.35-master.patch.gz ../nixpkgs/pkgs/development/libraries/glibc/2.35-master.patch.gz
        */
-      ./2.34-master.patch.gz
+      ./2.35-master.patch.gz
 
       /* Allow NixOS and Nix to handle the locale-archive. */
       ./nix-locale-archive.patch
@@ -115,33 +115,12 @@ stdenv.mkDerivation ({
         sha256 = "091bk3kyrx1gc380gryrxjzgcmh1ajcj8s2rjhp2d2yzd5mpd5ps";
       })
 
-      /* Provide utf-8 locales by default, so we can use it in stdenv without depending on our large locale-archive. */
-      (fetchurl {
-        url = "https://salsa.debian.org/glibc-team/glibc/raw/49767c9f7de4828220b691b29de0baf60d8a54ec/debian/patches/localedata/locale-C.diff";
-        sha256 = "0irj60hs2i91ilwg5w7sqrxb695c93xg0ik7yhhq9irprd7fidn4";
-      })
-
       ./fix-x64-abi.patch
 
       /* https://github.com/NixOS/nixpkgs/pull/137601 */
       ./nix-nss-open-files.patch
 
       ./0001-Revert-Remove-all-usage-of-BASH-or-BASH-in-installed.patch
-
-      /* Fix segfault in getpwuid when stat fails
-         https://sourceware.org/bugzilla/show_bug.cgi?id=28752 */
-      (fetchurl {
-        url = "https://patchwork.sourceware.org/project/glibc/patch/20220314175316.3239120-2-sam@gentoo.org/raw/";
-        sha256 = "sq0BoPqXHQ69Vq4zJobCspe4XRfnAiuac/wqzVQJESc=";
-      })
-
-      /* Patch pending upstream inclusion to fix string.h syntax for older gcc.
-         Needed to unbreak gnat bootstrap against old gcc in nixpkgs:
-           https://patchwork.sourceware.org/project/glibc/patch/20220520150609.346566-1-slyfox@gentoo.org/ */
-      (fetchurl {
-        url = "https://patchwork.sourceware.org/project/glibc/patch/20220520150609.346566-1-slyfox@gentoo.org/raw/";
-        sha256 = "x3/eO1EHJXBIrH2WXHRRD1swtWv+btFVjvMt5tj/wDA=";
-      })
     ]
     ++ lib.optional stdenv.hostPlatform.isMusl ./fix-rpc-types-musl-conflicts.patch
     ++ lib.optional stdenv.buildPlatform.isDarwin ./darwin-cross-build.patch;
@@ -178,7 +157,7 @@ stdenv.mkDerivation ({
     [ "-C"
       "--enable-add-ons"
       "--sysconfdir=/etc"
-      "--enable-stackguard-randomization"
+      "--enable-stack-protector=strong"
       "--enable-bind-now"
       (lib.withFeatureAs withLinuxHeaders "headers" "${linuxHeaders}/include")
       (lib.enableFeature profilingLibraries "profile")
@@ -188,6 +167,9 @@ stdenv.mkDerivation ({
       # and on aarch64 with binutils 2.30 or later.
       # https://sourceware.org/glibc/wiki/PortStatus
       "--enable-static-pie"
+    ] ++ lib.optionals stdenv.hostPlatform.isx86 [
+      # Enable Intel Control-flow Enforcement Technology (CET) support
+      "--enable-cet"
     ] ++ lib.optionals withLinuxHeaders [
       "--enable-kernel=3.2.0" # can't get below with glibc >= 2.26
     ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
diff --git a/pkgs/development/libraries/gnome-desktop/default.nix b/pkgs/development/libraries/gnome-desktop/default.nix
index c806636ff8d..157d7fa8404 100644
--- a/pkgs/development/libraries/gnome-desktop/default.nix
+++ b/pkgs/development/libraries/gnome-desktop/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-2lBBC48Z/X53WwDR/g26Z/xeEVHe0pkVjcJd2tw/qKk=";
   };
 
-  patches = [
+  patches = lib.optionals stdenv.isLinux [
     (substituteAll {
       src = ./bubblewrap-paths.patch;
       bubblewrap_bin = "${bubblewrap}/bin/bwrap";
@@ -58,14 +58,15 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    bubblewrap
     xkeyboard_config
     libxkbcommon # for xkbregistry
     isocodes
-    wayland
     gtk3
     gtk4
     glib
+  ] ++ lib.optionals stdenv.isLinux [
+    bubblewrap
+    wayland
     libseccomp
     systemd
   ];
@@ -79,6 +80,9 @@ stdenv.mkDerivation rec {
     "-Ddesktop_docs=false"
     "-Ddate_in_gnome_version=false"
     "-Dgnome_distributor=NixOS"
+  ] ++ lib.optionals (!stdenv.isLinux) [
+    "-Dsystemd=disabled"
+    "-Dudev=disabled"
   ];
 
   separateDebugInfo = stdenv.isLinux;
@@ -93,7 +97,7 @@ stdenv.mkDerivation rec {
     description = "Library with common API for various GNOME modules";
     homepage = "https://gitlab.gnome.org/GNOME/gnome-desktop";
     license = with licenses; [ gpl2Plus lgpl2Plus ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = teams.gnome.members;
   };
 }
diff --git a/pkgs/development/libraries/gnutls/default.nix b/pkgs/development/libraries/gnutls/default.nix
index f6c6aca19a2..21e818de867 100644
--- a/pkgs/development/libraries/gnutls/default.nix
+++ b/pkgs/development/libraries/gnutls/default.nix
@@ -124,7 +124,7 @@ stdenv.mkDerivation rec {
 
     homepage = "https://gnutls.org/";
     license = licenses.lgpl21Plus;
-    maintainers = with maintainers; [ eelco fpletz ];
+    maintainers = with maintainers; [ vcunat ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix
index 896db9c4672..bb07d8c792c 100644
--- a/pkgs/development/libraries/gobject-introspection/default.nix
+++ b/pkgs/development/libraries/gobject-introspection/default.nix
@@ -90,7 +90,13 @@ stdenv.mkDerivation (finalAttrs: {
     "-Dcairo=disabled"
     "-Dgtk_doc=${lib.boolToString (stdenv.hostPlatform == stdenv.buildPlatform)}"
   ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
-    "-Dgi_cross_ldd_wrapper=${buildPackages.prelink}/bin/prelink-rtld"
+    "-Dgi_cross_ldd_wrapper=${substituteAll {
+      name = "g-ir-scanner-lddwrapper";
+      isExecutable = true;
+      src = ./wrappers/g-ir-scanner-lddwrapper.sh;
+      inherit (buildPackages) bash;
+      buildobjdump = "${buildPackages.stdenv.cc.bintools}/bin/objdump";
+    }}"
     "-Dgi_cross_use_prebuilt_gi=true"
     "-Dgi_cross_binary_wrapper=${stdenv.hostPlatform.emulator buildPackages}"
   ];
diff --git a/pkgs/development/libraries/gobject-introspection/giscanner-ignore-error-return-codes-from-ldd-wrapper.patch b/pkgs/development/libraries/gobject-introspection/giscanner-ignore-error-return-codes-from-ldd-wrapper.patch
deleted file mode 100644
index bf1c1f1b713..00000000000
--- a/pkgs/development/libraries/gobject-introspection/giscanner-ignore-error-return-codes-from-ldd-wrapper.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From e0fc4a2a5161a36483ddc518be9bb14390f11b19 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 5 Sep 2018 16:46:52 +0200
-Subject: [PATCH] giscanner: ignore error return codes from ldd-wrapper
-
-prelink-rtld, which we use instead of ldd returns 127 when it can't find a library.
-It is not an error per se, but it breaks subprocess.check_output().
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-Signed-off-by: Adam Duskett <aduskett@gmail.com>
----
- giscanner/shlibs.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py
-index 9f8ab5df..7a1a72fe 100644
---- a/giscanner/shlibs.py
-+++ b/giscanner/shlibs.py
-@@ -103,7 +103,7 @@ def _resolve_non_libtool(options, binary, libraries):
-             args.extend(['otool', '-L', binary.args[0]])
-         else:
-             args.extend(['ldd', binary.args[0]])
--        output = subprocess.check_output(args)
-+        output = subprocess.run(args, check=False, stdout=subprocess.PIPE).stdout
-         if isinstance(output, bytes):
-             output = output.decode("utf-8", "replace")
- 
--- 
-2.25.1
-
-
diff --git a/pkgs/development/libraries/gobject-introspection/wrapper.nix b/pkgs/development/libraries/gobject-introspection/wrapper.nix
index 9e8f20ce146..4b3fa1a1981 100644
--- a/pkgs/development/libraries/gobject-introspection/wrapper.nix
+++ b/pkgs/development/libraries/gobject-introspection/wrapper.nix
@@ -18,24 +18,23 @@ in
 
 (gobject-introspection-unwrapped.override args).overrideAttrs (previousAttrs: {
   pname = "gobject-introspection-wrapped";
-  # failure in e.g. pkgsCross.aarch64-multiplatform.polkit
-  # subprocess.CalledProcessError: Command '['/nix/store/...-prelink-unstable-2019-06-24/bin/prelink-rtld', '/build/source/build/tmp-introspectzp2ldkyk/PolkitAgent-1.0']' returned non-zero exit status 127.
-  patches = previousAttrs.patches ++ [ ./giscanner-ignore-error-return-codes-from-ldd-wrapper.patch ];
   postFixup = (previousAttrs.postFixup or "") + ''
     mv $dev/bin/g-ir-compiler $dev/bin/.g-ir-compiler-wrapped
     mv $dev/bin/g-ir-scanner $dev/bin/.g-ir-scanner-wrapped
 
     (
-      export bash="${buildPackages.bash}/bin/bash"
+      export bash="${buildPackages.bash}"
       export emulator=${lib.escapeShellArg (stdenv.targetPlatform.emulator buildPackages)}
-      export buildprelink="${buildPackages.prelink}/bin/prelink-rtld"
+      export buildobjdump="${buildPackages.stdenv.cc.bintools}/bin/objdump"
 
       export targetgir="${lib.getDev (targetPackages.gobject-introspection-unwrapped.override argsForTarget)}"
 
       substituteAll "${./wrappers/g-ir-compiler.sh}" "$dev/bin/g-ir-compiler"
       substituteAll "${./wrappers/g-ir-scanner.sh}" "$dev/bin/g-ir-scanner"
+      substituteAll "${./wrappers/g-ir-scanner-lddwrapper.sh}" "$dev/bin/g-ir-scanner-lddwrapper"
       chmod +x "$dev/bin/g-ir-compiler"
       chmod +x "$dev/bin/g-ir-scanner"
+      chmod +x "$dev/bin/g-ir-scanner-lddwrapper"
     )
   ''
   # when cross-compiling and using the wrapper then when a package looks up the g_ir_X
diff --git a/pkgs/development/libraries/gobject-introspection/wrappers/g-ir-compiler.sh b/pkgs/development/libraries/gobject-introspection/wrappers/g-ir-compiler.sh
index fde3dcfe0c0..69642831c8a 100644
--- a/pkgs/development/libraries/gobject-introspection/wrappers/g-ir-compiler.sh
+++ b/pkgs/development/libraries/gobject-introspection/wrappers/g-ir-compiler.sh
@@ -1,4 +1,4 @@
-#! @bash@
+#! @bash@/bin/bash
 # shellcheck shell=bash
 
 exec @emulator@ @targetgir@/bin/g-ir-compiler "$@"
diff --git a/pkgs/development/libraries/gobject-introspection/wrappers/g-ir-scanner-lddwrapper.sh b/pkgs/development/libraries/gobject-introspection/wrappers/g-ir-scanner-lddwrapper.sh
new file mode 100644
index 00000000000..1bf9c3659dc
--- /dev/null
+++ b/pkgs/development/libraries/gobject-introspection/wrappers/g-ir-scanner-lddwrapper.sh
@@ -0,0 +1,4 @@
+#! @bash@/bin/bash
+# shellcheck shell=bash
+
+exec @buildobjdump@ -p "$@"
diff --git a/pkgs/development/libraries/gobject-introspection/wrappers/g-ir-scanner.sh b/pkgs/development/libraries/gobject-introspection/wrappers/g-ir-scanner.sh
index 0825f10e166..6a222191c7b 100644
--- a/pkgs/development/libraries/gobject-introspection/wrappers/g-ir-scanner.sh
+++ b/pkgs/development/libraries/gobject-introspection/wrappers/g-ir-scanner.sh
@@ -1,7 +1,7 @@
-#! @bash@
+#! @bash@/bin/bash
 # shellcheck shell=bash
 
 exec @dev@/bin/.g-ir-scanner-wrapped \
     --use-binary-wrapper=@emulator@ \
-    --use-ldd-wrapper=@buildprelink@ \
+    --use-ldd-wrapper=@dev@/bin/g-ir-scanner-lddwrapper \
     "$@"
diff --git a/pkgs/development/libraries/grpc/default.nix b/pkgs/development/libraries/grpc/default.nix
index 006e4602fde..55f1fb2790e 100644
--- a/pkgs/development/libraries/grpc/default.nix
+++ b/pkgs/development/libraries/grpc/default.nix
@@ -16,6 +16,7 @@
 
 # tests
 , python3
+, arrow-cpp
 }:
 
 stdenv.mkDerivation rec {
@@ -92,6 +93,7 @@ stdenv.mkDerivation rec {
 
   passthru.tests = {
     inherit (python3.pkgs) grpcio-status grpcio-tools;
+    inherit arrow-cpp;
   };
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
index 20323796e9d..8c67ef0a156 100644
--- a/pkgs/development/libraries/harfbuzz/default.nix
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -30,7 +30,7 @@
 }:
 
 let
-  version = "3.3.2";
+  version = "5.0.1";
   inherit (lib) optional optionals optionalString;
   mesonFeatureFlag = opt: b:
     "-D${opt}=${if b then "enabled" else "disabled"}";
@@ -44,7 +44,7 @@ stdenv.mkDerivation {
     owner = "harfbuzz";
     repo = "harfbuzz";
     rev = version;
-    sha256 = "sha256-UbYqV7Ch9ugTIwSsCpjnS8H7tcv4P3OVpFDFDZtQCk0=";
+    sha256 = "sha256-01hpSTesPpUO2T9v1sq3VvCSFEOMyaxbHhX0vS1ms/k=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/imgui/default.nix b/pkgs/development/libraries/imgui/default.nix
index 62f750db62c..8a5191aa5ae 100644
--- a/pkgs/development/libraries/imgui/default.nix
+++ b/pkgs/development/libraries/imgui/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "imgui";
-  version = "1.87";
+  version = "1.88";
 
   src = fetchFromGitHub {
     owner = "ocornut";
     repo = "imgui";
     rev = "v${version}";
-    sha256 = "sha256-H5rqXZFw+2PfVMsYvAK+K+pxxI8HnUC0GlPhooWgEYM=";
+    sha256 = "sha256-scG47rRE2qZuYYkgDiA3xnxn/9kQlZLRMb/4UjoknI0=";
   };
 
   dontBuild = true;
diff --git a/pkgs/development/libraries/imlib/default.nix b/pkgs/development/libraries/imlib/default.nix
index 4bc06a97a7b..dc26eaf1001 100644
--- a/pkgs/development/libraries/imlib/default.nix
+++ b/pkgs/development/libraries/imlib/default.nix
@@ -1,13 +1,23 @@
-{ lib, stdenv, fetchurl, fetchpatch
-, libX11, libXext, xorgproto, libjpeg, giflib, libtiff, libpng
+{ lib
+, stdenv
+, fetchurl
+, fetchpatch
+, giflib
+, libX11
+, libXext
+, libjpeg
+, libpng
+, libtiff
+, xorgproto
 }:
 
 stdenv.mkDerivation rec {
   pname = "imlib";
   version = "1.9.15";
+
   src = fetchurl {
-    url = "https://tarballs.nixos.org/imlib-${version}.tar.gz";
-    sha256 = "0ggjxyvgp4pxc0b88v40xj9daz90518ydnycw7qax011gxpr12d3";
+    url = "https://ftp.acc.umu.se/pub/GNOME/sources/imlib/1.9/${pname}-${version}.tar.gz";
+    hash = "sha256-o4mQb38hgK7w4czb5lEoIH3VkuyAbIQWYP2S+7bv8j0=";
   };
 
   patches = [
@@ -34,7 +44,15 @@ stdenv.mkDerivation rec {
     "--x-libraries=${libX11.out}/lib"
   ];
 
-  buildInputs = [ libjpeg libXext libX11 xorgproto libtiff giflib libpng ];
+  buildInputs = [
+    libjpeg
+    libXext
+    libX11
+    xorgproto
+    libtiff
+    giflib
+    libpng
+  ];
 
   meta = with lib; {
     description = "An image loading and rendering library for X11";
diff --git a/pkgs/development/libraries/intel-media-sdk/default.nix b/pkgs/development/libraries/intel-media-sdk/default.nix
index 31f25ec10d7..a8591f40ee9 100644
--- a/pkgs/development/libraries/intel-media-sdk/default.nix
+++ b/pkgs/development/libraries/intel-media-sdk/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-media-sdk";
-  version = "22.3.0";
+  version = "22.5.1";
 
   src = fetchFromGitHub {
     owner = "Intel-Media-SDK";
     repo = "MediaSDK";
     rev = "intel-mediasdk-${version}";
-    sha256 = "sha256-6/MOjISfLsrsocdeFC148hRwl2os5dvJV1eYq/jIMr4=";
+    sha256 = "sha256-HTCqJG//byTTlTRdE8IyFGuUaLiNVDfl9swbH6d5gCk=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/libraries/jellyfin-ffmpeg/default.nix b/pkgs/development/libraries/jellyfin-ffmpeg/default.nix
index e2c692c8405..1f422d9d633 100644
--- a/pkgs/development/libraries/jellyfin-ffmpeg/default.nix
+++ b/pkgs/development/libraries/jellyfin-ffmpeg/default.nix
@@ -8,15 +8,19 @@
   nv-codec-headers = nv-codec-headers-11;
 }).overrideAttrs (old: rec {
   pname = "jellyfin-ffmpeg";
-  version = "5.0.1-8";
+  version = "5.1-1";
 
   src = fetchFromGitHub {
     owner = "jellyfin";
     repo = "jellyfin-ffmpeg";
     rev = "v${version}";
-    sha256 = "sha256-zr1WuTkOBAVk7JkpDT52rfGGOaXEqiPFIGmJUDPhI/w=";
+    sha256 = "sha256-R3+SJ2RNaRRK6+N9eGOf/0qUgaXkT/cswkxf+7W2+Fo=";
   };
 
+  configureFlags = old.configureFlags ++ [
+    "--disable-ptx-compression" # https://github.com/jellyfin/jellyfin/issues/7944#issuecomment-1156880067
+  ];
+
   postPatch = ''
     for file in $(cat debian/patches/series); do
       patch -p1 < debian/patches/$file
diff --git a/pkgs/development/libraries/jose/default.nix b/pkgs/development/libraries/jose/default.nix
index 808dcaeed3a..08fc7e6dc99 100644
--- a/pkgs/development/libraries/jose/default.nix
+++ b/pkgs/development/libraries/jose/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "C-language implementation of Javascript Object Signing and Encryption";
     homepage = "https://github.com/latchset/jose";
-    maintainers = with lib.maintainers; [ fpletz ];
+    maintainers = with lib.maintainers; [ ];
     license = lib.licenses.asl20;
   };
 }
diff --git a/pkgs/development/libraries/lame/default.nix b/pkgs/development/libraries/lame/default.nix
index 94f2ab39b96..674defc42e2 100644
--- a/pkgs/development/libraries/lame/default.nix
+++ b/pkgs/development/libraries/lame/default.nix
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
     description = "A high quality MPEG Audio Layer III (MP3) encoder";
     homepage    = "http://lame.sourceforge.net";
     license     = licenses.lgpl2;
-    maintainers = with maintainers; [ codyopel fpletz ];
+    maintainers = with maintainers; [ codyopel ];
     platforms   = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/lib2geom/default.nix b/pkgs/development/libraries/lib2geom/default.nix
index 92cc1424af9..72d21ed0d2c 100644
--- a/pkgs/development/libraries/lib2geom/default.nix
+++ b/pkgs/development/libraries/lib2geom/default.nix
@@ -14,7 +14,7 @@
 
 stdenv.mkDerivation rec {
   pname = "lib2geom";
-  version = "1.1";
+  version = "1.2";
 
   outputs = [ "out" "dev" ];
 
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     owner = "inkscape";
     repo = "lib2geom";
     rev = "refs/tags/${version}";
-    sha256 = "sha256-u9pbpwVzAXzrM2/tQnd1B6Jo9Fzg6UZBr9AtUsNMfQ0=";
+    sha256 = "sha256-SNo5YT7o29zdxkHLuy9MT88qBg/U1Wwa3BWShF5ACTc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libadwaita/default.nix b/pkgs/development/libraries/libadwaita/default.nix
index ef2daeb7074..a9185f0b4fe 100644
--- a/pkgs/development/libraries/libadwaita/default.nix
+++ b/pkgs/development/libraries/libadwaita/default.nix
@@ -1,10 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitLab
-, docbook-xsl-nons
 , gi-docgen
-, gtk-doc
-, libxml2
 , meson
 , ninja
 , pkg-config
@@ -17,11 +14,13 @@
 , gnome
 , gsettings-desktop-schemas
 , xvfb-run
+, AppKit
+, Foundation
 }:
 
 stdenv.mkDerivation rec {
   pname = "libadwaita";
-  version = "1.1.3";
+  version = "1.1.4";
 
   outputs = [ "out" "dev" "devdoc" ];
   outputBin = "devdoc"; # demo app
@@ -31,14 +30,11 @@ stdenv.mkDerivation rec {
     owner = "GNOME";
     repo = "libadwaita";
     rev = version;
-    hash = "sha256-Mjv4Z9YaIT9atD8ekepBAA1ZV30kWnMnV8+kOuGULnw=";
+    hash = "sha256-xxnLgPKPOND/ITvDC6SOD2GlkzlIX3BzBbt6p2AEjgY=";
   };
 
   nativeBuildInputs = [
-    docbook-xsl-nons
     gi-docgen
-    gtk-doc
-    libxml2 # for xmllint
     meson
     ninja
     pkg-config
@@ -48,11 +44,16 @@ stdenv.mkDerivation rec {
 
   mesonFlags = [
     "-Dgtk_doc=true"
+  ] ++ lib.optionals (!doCheck) [
+    "-Dtests=false"
   ];
 
   buildInputs = [
     fribidi
     gobject-introspection
+  ] ++ lib.optionals stdenv.isDarwin [
+    AppKit
+    Foundation
   ];
 
   propagatedBuildInputs = [
@@ -61,10 +62,15 @@ stdenv.mkDerivation rec {
 
   checkInputs = [
     gnome.adwaita-icon-theme
+  ] ++ lib.optionals (!stdenv.isDarwin) [
     xvfb-run
   ];
 
-  doCheck = true;
+  # Tests had to be disabled on Darwin because they fail with the same error as https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=264947 on Hydra:
+  #
+  # In file included from ../tests/test-style-manager.c:10:
+  # ../src/adw-settings-private.h:16:10: fatal error: 'adw-enums-private.h' file not found
+  doCheck = !stdenv.isDarwin;
 
   checkPhase = ''
     runHook preCheck
@@ -81,14 +87,15 @@ stdenv.mkDerivation rec {
       # Tests need a cache directory
       "HOME=$TMPDIR"
     )
-    env "''${testEnvironment[@]}" xvfb-run \
+    env "''${testEnvironment[@]}" ${lib.optionalString (!stdenv.isDarwin) "xvfb-run"} \
       meson test --print-errorlogs
 
     runHook postCheck
   '';
 
-  postInstall = ''
-    mv $out/share/{doc,gtk-doc}
+  postFixup = ''
+    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
+    moveToOutput "share/doc" "$devdoc"
   '';
 
   passthru = {
@@ -102,6 +109,6 @@ stdenv.mkDerivation rec {
     homepage = "https://gitlab.gnome.org/GNOME/libadwaita";
     license = licenses.lgpl21Plus;
     maintainers = teams.gnome.members ++ (with maintainers; [ dotlambda ]);
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libcdada/default.nix b/pkgs/development/libraries/libcdada/default.nix
index 94976c1be46..6fb8caa4746 100644
--- a/pkgs/development/libraries/libcdada/default.nix
+++ b/pkgs/development/libraries/libcdada/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libcdada";
-  version = "0.3.5";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "msune";
     repo = "libcdada";
     rev = "v${version}";
-    sha256 = "0vcsf3s4fbw2w33jjc8b509kc0xb6ld58l8wfxgqwjqx5icfg1ps";
+    sha256 = "sha256-vUasCukDRZYB67eu87ckEZG9i6rsNf0aKY2kZsVezRE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libdazzle/default.nix b/pkgs/development/libraries/libdazzle/default.nix
index 7f4c53071d0..22ef87e43d0 100644
--- a/pkgs/development/libraries/libdazzle/default.nix
+++ b/pkgs/development/libraries/libdazzle/default.nix
@@ -40,8 +40,9 @@ stdenv.mkDerivation rec {
     docbook_xsl
     docbook_xml_dtd_43
     dbus
-    xvfb-run
     glib
+  ] ++ lib.optionals stdenv.isLinux [
+    xvfb-run
   ];
 
   buildInputs = [
@@ -53,7 +54,7 @@ stdenv.mkDerivation rec {
     "-Denable_gtk_doc=true"
   ];
 
-  doCheck = true;
+  doCheck = stdenv.isLinux;
 
   checkPhase = ''
     xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
diff --git a/pkgs/development/libraries/libfabric/default.nix b/pkgs/development/libraries/libfabric/default.nix
index 38c88fe70f3..baa33a51eef 100644
--- a/pkgs/development/libraries/libfabric/default.nix
+++ b/pkgs/development/libraries/libfabric/default.nix
@@ -3,7 +3,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libfabric";
-  version = "1.14.0";
+  version = "1.15.1";
 
   enableParallelBuilding = true;
 
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     owner = "ofiwg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-MmvJV3Pne+bJtC91rdpNMZovoqMgm3gHFJwGH3tchgI=";
+    sha256 = "sha256-uL3L9k9yqdZXQmR1zi8OEIGLAZ8cf7EBnlDhetaMA08=";
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
diff --git a/pkgs/development/libraries/libfilezilla/default.nix b/pkgs/development/libraries/libfilezilla/default.nix
index fec50849aa6..16c09b65ff1 100644
--- a/pkgs/development/libraries/libfilezilla/default.nix
+++ b/pkgs/development/libraries/libfilezilla/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libfilezilla";
-  version = "0.37.2";
+  version = "0.38.1";
 
   src = fetchurl {
     url = "https://download.filezilla-project.org/${pname}/${pname}-${version}.tar.bz2";
-    hash = "sha256-5RFA7mNka6kq5Blpwfv/JZRtxFJBDTxNr5HNeSv+4tU=";
+    hash = "sha256-1AGotagKfBexo2DdnMy23Fb9jTlEE6n7K2uxvF2Y/Uw=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/development/libraries/libguestfs/default.nix b/pkgs/development/libraries/libguestfs/default.nix
index d65ead78624..e2da1a30ff1 100644
--- a/pkgs/development/libraries/libguestfs/default.nix
+++ b/pkgs/development/libraries/libguestfs/default.nix
@@ -1,37 +1,94 @@
-{ lib, stdenv, fetchurl, pkg-config, autoreconfHook, makeWrapper
-, ncurses, cpio, gperf, cdrkit, flex, bison, qemu, pcre2, augeas, libxml2
-, acl, libcap, libcap_ng, libconfig, systemd, fuse, yajl, libvirt, hivex, db
-, gmp, readline, file, numactl, libapparmor, jansson
-, getopt, perlPackages, ocamlPackages
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, autoreconfHook
+, makeWrapper
+, ncurses
+, cpio
+, gperf
+, cdrkit
+, flex
+, bison
+, qemu
+, pcre2
+, augeas
+, libxml2
+, acl
+, libcap
+, libcap_ng
+, libconfig
+, systemd
+, fuse
+, yajl
+, libvirt
+, hivex
+, db
+, gmp
+, readline
+, file
+, numactl
+, libapparmor
+, jansson
+, getopt
+, perlPackages
+, ocamlPackages
 , libtirpc
 , appliance ? null
-, javaSupport ? false, jdk ? null }:
+, javaSupport ? false
+, jdk
+}:
 
 assert appliance == null || lib.isDerivation appliance;
-assert javaSupport -> jdk != null;
 
 stdenv.mkDerivation rec {
   pname = "libguestfs";
-  version = "1.48.0";
+  version = "1.48.4";
 
   src = fetchurl {
     url = "https://libguestfs.org/download/${lib.versions.majorMinor version}-stable/${pname}-${version}.tar.gz";
-    sha256 = "sha256-FoH93t/PSEym3uxUIwMwoy3vvTDCqx+BeI4lLLXQSCk=";
+    sha256 = "sha256-ncIrbFpF8ZwsupEaN7Oo2G9idEUhsQ61PD05B+UIAxI=";
   };
 
   strictDeps = true;
   nativeBuildInputs = [
-    autoreconfHook bison cdrkit cpio flex getopt gperf makeWrapper pkg-config qemu
-  ] ++ (with perlPackages; [ perl libintl-perl GetoptLong SysVirt ])
-    ++ (with ocamlPackages; [ ocaml findlib ]);
+    autoreconfHook
+    bison
+    cdrkit
+    cpio
+    flex
+    getopt
+    gperf
+    makeWrapper
+    pkg-config
+    qemu
+  ] ++ (with perlPackages; [ perl libintl-perl GetoptLong ModuleBuild ])
+  ++ (with ocamlPackages; [ ocaml findlib ]);
   buildInputs = [
-    ncurses jansson
-    pcre2 augeas libxml2 acl libcap libcap_ng libconfig
-    systemd fuse yajl libvirt gmp readline file hivex db
-    numactl libapparmor perlPackages.ModuleBuild
+    ncurses
+    jansson
+    pcre2
+    augeas
+    libxml2
+    acl
+    libcap
+    libcap_ng
+    libconfig
+    systemd
+    fuse
+    yajl
+    libvirt
+    gmp
+    readline
+    file
+    hivex
+    db
+    numactl
+    libapparmor
+    perlPackages.ModuleBuild
     libtirpc
   ] ++ (with ocamlPackages; [ ocamlbuild ocaml_libvirt gettext-stub ounit ])
-    ++ lib.optional javaSupport jdk;
+  ++ lib.optional javaSupport jdk;
 
   prePatch = ''
     # build-time scripts
@@ -54,10 +111,14 @@ stdenv.mkDerivation rec {
   patches = [
     ./libguestfs-syms.patch
   ];
+
+  createFindlibDestdir = true;
+
   installFlags = [ "REALLY_INSTALL=yes" ];
   enableParallelBuilding = true;
 
   postInstall = ''
+    mv "$out/lib/ocaml/guestfs" "$OCAMLFIND_DESTDIR/guestfs"
     for bin in $out/bin/*; do
       wrapProgram "$bin" \
         --prefix PATH     : "$out/bin:${hivex}/bin:${qemu}/bin" \
@@ -95,7 +156,7 @@ stdenv.mkDerivation rec {
     description = "Tools for accessing and modifying virtual machine disk images";
     license = with licenses; [ gpl2Plus lgpl21Plus ];
     homepage = "https://libguestfs.org/";
-    maintainers = with maintainers; [offline];
+    maintainers = with maintainers; [ offline ];
     platforms = platforms.linux;
     # this is to avoid "output size exceeded"
     hydraPlatforms = if appliance != null then appliance.meta.hydraPlatforms else platforms.linux;
diff --git a/pkgs/development/libraries/libgweather/default.nix b/pkgs/development/libraries/libgweather/default.nix
index e4a527ba485..cae2095f8eb 100644
--- a/pkgs/development/libraries/libgweather/default.nix
+++ b/pkgs/development/libraries/libgweather/default.nix
@@ -82,6 +82,6 @@ stdenv.mkDerivation rec {
     homepage = "https://wiki.gnome.org/Projects/LibGWeather";
     license = licenses.gpl2Plus;
     maintainers = teams.gnome.members;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix
index 38deb7fbcc0..0092a8fdc6c 100644
--- a/pkgs/development/libraries/libinput/default.nix
+++ b/pkgs/development/libraries/libinput/default.nix
@@ -32,7 +32,7 @@ let
       env = python3.withPackages (pp: with pp; [
         sphinx
         recommonmark
-        sphinx_rtd_theme
+        sphinx-rtd-theme
       ]);
     in
     # Expose only the sphinx-build binary to avoid contaminating
diff --git a/pkgs/development/libraries/libiptcdata/default.nix b/pkgs/development/libraries/libiptcdata/default.nix
index 1c5acd2a140..6bf670a4038 100644
--- a/pkgs/development/libraries/libiptcdata/default.nix
+++ b/pkgs/development/libraries/libiptcdata/default.nix
@@ -1,23 +1,42 @@
-{ lib, stdenv, fetchurl, libiconv }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, libiconv
+, libintl
+}:
 
 stdenv.mkDerivation rec {
   pname = "libiptcdata";
-  version = "1.0.4";
+  version = "1.0.5";
+
+  src = fetchFromGitHub {
+    owner = "ianw";
+    repo = pname;
+    rev = "release_${builtins.replaceStrings ["."] ["_"] version}";
+    sha256 = "sha256-ZjokepDAHiSEwXrkvM9qUAPcpIiRQoOsv7REle7roPU=";
+  };
+
+  postPatch = ''
+    # gtk-doc doesn't build without network access
+    sed -i '/GTK_DOC_CHECK/d;/docs/d' configure.ac
+    sed -i 's/docs//' Makefile.am
+  '';
+
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
 
   buildInputs = lib.optionals stdenv.isDarwin [
     libiconv
+    libintl
   ];
 
-  src = fetchurl {
-    url = "mirror://sourceforge/libiptcdata/${pname}-${version}.tar.gz";
-    sha256 = "03pfvkmmx762iydq0q207x2028d275pbdysfsgpmrr0ywy63pxkr";
-  };
-
-  meta = {
+  meta = with lib; {
     description = "Library for reading and writing the IPTC metadata in images and other files";
-    homepage = "http://libiptcdata.sourceforge.net/";
-    license = lib.licenses.gpl2Plus;
-    platforms = lib.platforms.unix;
-    maintainers = with lib.maintainers; [ wegank ];
+    homepage = "https://github.com/ianw/libiptcdata";
+    license = licenses.gpl2Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wegank ];
   };
 }
diff --git a/pkgs/development/libraries/libnbd/default.nix b/pkgs/development/libraries/libnbd/default.nix
index ba21e2206a8..9ff3ee15a17 100644
--- a/pkgs/development/libraries/libnbd/default.nix
+++ b/pkgs/development/libraries/libnbd/default.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libnbd";
-  version = "1.12.2";
+  version = "1.14.0";
 
   src = fetchurl {
     url = "https://download.libguestfs.org/libnbd/${lib.versions.majorMinor version}-stable/${pname}-${version}.tar.gz";
-    hash = "sha256-57veJapt72LkP02wO4c1nDdHmnodqfT+rKPNDeTGQPM=";
+    hash = "sha256-fwVAMqZGX1HZMA/81qb67K5gwSqtcT1HnLBLdqDr4Cc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libnfs/default.nix b/pkgs/development/libraries/libnfs/default.nix
index dd442b2cd4b..cbfc06bc81c 100644
--- a/pkgs/development/libraries/libnfs/default.nix
+++ b/pkgs/development/libraries/libnfs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libnfs";
-  version = "5.0.1";
+  version = "5.0.2";
 
   src = fetchFromGitHub {
     owner = "sahlberg";
     repo = "libnfs";
     rev = "libnfs-${version}";
-    sha256 = "sha256-5jyY7hqEhBPiQ8pNd+mRTEc4brht4ID7PoV7O2RFNQA=";
+    sha256 = "sha256-rdxi5bPXHTICZQIj/CmHgZ/V70svnITJj/OSF4mmC3o=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/development/libraries/libportal/default.nix b/pkgs/development/libraries/libportal/default.nix
index cb0da5c560d..29080f119cd 100644
--- a/pkgs/development/libraries/libportal/default.nix
+++ b/pkgs/development/libraries/libportal/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , lib
 , fetchFromGitHub
+, fetchpatch
 , meson
 , ninja
 , pkg-config
@@ -29,6 +30,14 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-wDDE43UC6FBgPYLS+WWExeheURCH/3fCKu5oJg7GM+A=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "fix-build-on-darwin.patch";
+      url = "https://github.com/flatpak/libportal/pull/106/commits/73f63ee57669c4fa604a7772484cd235d4fb612c.patch";
+      sha256 = "sha256-c9WUQPhn4IA3X1ie7SwnxuZXdvpPkpGdU4xgDwKN/L0=";
+    })
+  ];
+
   nativeBuildInputs = [
     meson
     ninja
@@ -65,6 +74,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/flatpak/libportal";
     license = licenses.lgpl3Plus;
     maintainers = with maintainers; [ jtojnar ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libproxy/default.nix b/pkgs/development/libraries/libproxy/default.nix
index 7aebff6f9a9..62ddcd67390 100644
--- a/pkgs/development/libraries/libproxy/default.nix
+++ b/pkgs/development/libraries/libproxy/default.nix
@@ -1,5 +1,7 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
+, fetchpatch
 , pkg-config
 , cmake
 , zlib
@@ -28,6 +30,14 @@ stdenv.mkDerivation rec {
     hash = "sha256-pqj1LwRdOK2CUu3hYIsogQIXxWzShDuKEbDTbtWkgnQ=";
   };
 
+  patches = lib.optionals stdenv.isDarwin [
+    # https://github.com/libproxy/libproxy/pull/189
+    (fetchpatch {
+      url = "https://github.com/libproxy/libproxy/commit/4331b9db427ce2c25ff5eeb597bec4bc35ed1a0b.patch";
+      sha256 = "sha256-uTh3rYVvEke1iWVHsT3Zj2H1F+gyLrffcmyt0JEKaCA=";
+    })
+  ];
+
   outputs = [ "out" "dev" "py3" ];
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libpulsar/default.nix b/pkgs/development/libraries/libpulsar/default.nix
index 9abe3224120..3ad5c16d352 100644
--- a/pkgs/development/libraries/libpulsar/default.nix
+++ b/pkgs/development/libraries/libpulsar/default.nix
@@ -51,10 +51,10 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "libpulsar";
-  version = "2.9.1";
+  version = "2.10.1";
 
   src = fetchurl {
-    hash = "sha512-NKHiL7D/Lmnn6ICpQyUmmQYQETz4nZPJU9/4LMRDUQ3Pck6qDh+t6CRk+b9UQ2Vb0jvPIGTjEsSp2nC7TJk3ug==";
+    hash = "sha256-qMj76jnxRH68DE6JkZjQrLSNzgXGnO7HjPjlaFavaUY=";
     url = "mirror://apache/pulsar/pulsar-${version}/apache-pulsar-${version}-src.tar.gz";
   };
 
diff --git a/pkgs/development/libraries/libqrtr-glib/default.nix b/pkgs/development/libraries/libqrtr-glib/default.nix
index e7445468ecc..6e01cda9162 100644
--- a/pkgs/development/libraries/libqrtr-glib/default.nix
+++ b/pkgs/development/libraries/libqrtr-glib/default.nix
@@ -2,6 +2,7 @@
 , stdenv
 , fetchFromGitLab
 , meson
+, mesonEmulatorHook
 , ninja
 , pkg-config
 , gobject-introspection
@@ -39,16 +40,15 @@ stdenv.mkDerivation rec {
     gtk-doc
     docbook-xsl-nons
     docbook_xml_dtd_43
+  ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
+    mesonEmulatorHook
   ];
 
   buildInputs = [
+    gobject-introspection
     glib
   ];
 
-  mesonFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
-    "-Dgtk_doc=false"
-  ];
-
   meta = with lib; {
     homepage = "https://gitlab.freedesktop.org/mobile-broadband/libqrtr-glib";
     description = "Qualcomm IPC Router protocol helper library";
diff --git a/pkgs/development/libraries/librealsense/default.nix b/pkgs/development/libraries/librealsense/default.nix
index 5b1673ae372..135969210d3 100644
--- a/pkgs/development/libraries/librealsense/default.nix
+++ b/pkgs/development/libraries/librealsense/default.nix
@@ -8,8 +8,14 @@
 , ninja
 , pkg-config
 , gcc
+, mesa
+, gtk3
+, glfw
+, libGLU
+, curl
 , cudaSupport ? config.cudaSupport or false, cudaPackages ? {}
 , enablePython ? false, pythonPackages ? null
+, enableGUI ? false,
 }:
 
 assert cudaSupport -> (cudaPackages?cudatoolkit && cudaPackages.cudatoolkit != null);
@@ -32,7 +38,8 @@ stdenv.mkDerivation rec {
     libusb1
     gcc.cc.lib
   ] ++ lib.optional cudaSupport cudaPackages.cudatoolkit
-    ++ lib.optionals enablePython (with pythonPackages; [python pybind11 ]);
+    ++ lib.optionals enablePython (with pythonPackages; [ python pybind11 ])
+    ++ lib.optionals enableGUI [ mesa gtk3 glfw libGLU curl ];
 
   patches = [
     # fix build on aarch64-darwin
@@ -53,8 +60,9 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-DBUILD_EXAMPLES=ON"
-    "-DBUILD_GRAPHICAL_EXAMPLES=OFF"
-    "-DBUILD_GLSL_EXTENSIONS=OFF"
+    "-DBUILD_GRAPHICAL_EXAMPLES=${lib.boolToString enableGUI}"
+    "-DBUILD_GLSL_EXTENSIONS=${lib.boolToString enableGUI}"
+    "-DCHECK_FOR_UPDATES=OFF" # activated by BUILD_GRAPHICAL_EXAMPLES, will make it download and compile libcurl
   ] ++ lib.optionals enablePython [
     "-DBUILD_PYTHON_BINDINGS:bool=true"
     "-DXXNIX_PYTHON_SITEPACKAGES=${placeholder "out"}/${pythonPackages.python.sitePackages}"
@@ -72,7 +80,7 @@ stdenv.mkDerivation rec {
     description = "A cross-platform library for Intel® RealSense™ depth cameras (D400 series and the SR300)";
     homepage = "https://github.com/IntelRealSense/librealsense";
     license = licenses.asl20;
-    maintainers = with maintainers; [ brian-dawn ];
+    maintainers = with maintainers; [ brian-dawn pbsds ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libstrophe/default.nix b/pkgs/development/libraries/libstrophe/default.nix
index e0dfd4b3cc6..49779f82500 100644
--- a/pkgs/development/libraries/libstrophe/default.nix
+++ b/pkgs/development/libraries/libstrophe/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libstrophe";
-  version = "0.12.1";
+  version = "0.12.2";
 
   src = fetchFromGitHub {
     owner = "strophe";
     repo = pname;
     rev = version;
-    sha256 = "sha256-hNUpHuLwnq66w/VbVAv3QqBFOXDOzd/xPtGGX+j9K2U=";
+    sha256 = "sha256-jT4VIqqUldCj3Rsb5MC74WXYQyTqOZxzFADf47TBV8c=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/development/libraries/libva/default.nix b/pkgs/development/libraries/libva/default.nix
index 037318353ce..ad4083bf6fe 100644
--- a/pkgs/development/libraries/libva/default.nix
+++ b/pkgs/development/libraries/libva/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libva" + lib.optionalString minimal "-minimal";
-  version = "2.14.0";
+  version = "2.15.0";
 
   src = fetchFromGitHub {
     owner  = "intel";
     repo   = "libva";
     rev    = version;
-    sha256 = "0q395lg6gp05mwf04zbrwgj6q9073lahh3wrcfa2i8ll60cfq9fg";
+    sha256 = "sha256-NJA2FTPrhLj9+vmkBy+GcTiH57gBEQnYhZzYk3sEOBo=";
   };
 
   outputs = [ "dev" "out" ];
diff --git a/pkgs/development/libraries/libvirt-glib/default.nix b/pkgs/development/libraries/libvirt-glib/default.nix
index f86edf1bfbc..b7efdf2cf7d 100644
--- a/pkgs/development/libraries/libvirt-glib/default.nix
+++ b/pkgs/development/libraries/libvirt-glib/default.nix
@@ -45,8 +45,9 @@ stdenv.mkDerivation rec {
     gobject-introspection
   ];
 
-  buildInputs = [
+  buildInputs = (lib.optionals stdenv.isLinux [
     libcap_ng
+  ]) ++ [
     libvirt
     libxml2
     gobject-introspection
@@ -66,6 +67,6 @@ stdenv.mkDerivation rec {
     '';
     homepage = "https://libvirt.org/";
     license = licenses.lgpl2Plus;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index 8c37a9dcf4d..0142ac4505f 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -135,9 +135,13 @@ stdenv.mkDerivation rec {
     sed -i '0,/qemuxml2argvtest/{/qemuxml2argvtest/d;}' tests/meson.build
   '' + optionalString isDarwin ''
     sed -i '/qemucapabilitiestest/d' tests/meson.build
+    sed -i '/vircryptotest/d' tests/meson.build
+  '' + optionalString (isDarwin && isx86_64) ''
+    sed -i '/qemucaps2xmltest/d' tests/meson.build
+    sed -i '/qemuhotplugtest/d' tests/meson.build
+    sed -i '/virnetdaemontest/d' tests/meson.build
   '';
 
-
   nativeBuildInputs = [
     meson
 
@@ -222,7 +226,7 @@ stdenv.mkDerivation rec {
         --replace "ggrep" "grep"
 
       substituteInPlace src/util/virpolkit.h \
-        --replace '"/usr/bin/pkttyagent"' '"${polkit.bin}/bin/pkttyagent"'
+        --replace '"/usr/bin/pkttyagent"' '"${if isLinux then polkit.bin else "/usr"}/bin/pkttyagent"'
 
       patchShebangs .
     ''
@@ -268,7 +272,7 @@ stdenv.mkDerivation rec {
       (feat "numactl" isLinux)
       (feat "numad" isLinux)
       (feat "pciaccess" isLinux)
-      (feat "polkit" true)
+      (feat "polkit" isLinux)
       (feat "readline" true)
       (feat "secdriver_apparmor" isLinux)
       (feat "tests" true)
diff --git a/pkgs/development/libraries/libwacom/default.nix b/pkgs/development/libraries/libwacom/default.nix
index a46ccdf7850..24092d32869 100644
--- a/pkgs/development/libraries/libwacom/default.nix
+++ b/pkgs/development/libraries/libwacom/default.nix
@@ -12,7 +12,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libwacom";
-  version = "2.2.0";
+  version = "2.4.0";
 
   outputs = [ "out" "dev" ];
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     owner = "linuxwacom";
     repo = "libwacom";
     rev = "libwacom-${version}";
-    sha256 = "sha256-SqKXxmyP31kb6ikMQRqPaKNIpeLcMLLEGInCGIx5jWM=";
+    sha256 = "sha256-9uhnO+MqB7tAnSXjBcJWCzHGiz9izun4nVjFb17G8Gg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libwebp/default.nix b/pkgs/development/libraries/libwebp/default.nix
index f90de7fc6ef..65dcd3587af 100644
--- a/pkgs/development/libraries/libwebp/default.nix
+++ b/pkgs/development/libraries/libwebp/default.nix
@@ -11,6 +11,18 @@
 , libwebpmuxSupport ? true # Build libwebpmux
 , libwebpdemuxSupport ? true # Build libwebpdemux
 , libwebpdecoderSupport ? true # Build libwebpdecoder
+
+# for passthru.tests
+, freeimage
+, gd
+, graphicsmagick
+, haskellPackages
+, imagemagick
+, imlib2
+, libjxl
+, opencv
+, python3
+, vips
 }:
 
 stdenv.mkDerivation rec {
@@ -51,6 +63,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.tests = {
+    inherit freeimage gd graphicsmagick imagemagick imlib2 libjxl opencv vips;
+    inherit (python3.pkgs) pillow imread;
+    haskell-webp = haskellPackages.webp;
+  };
+
   meta = with lib; {
     description = "Tools and library for the WebP image format";
     homepage = "https://developers.google.com/speed/webp/";
diff --git a/pkgs/development/libraries/libwhereami/default.nix b/pkgs/development/libraries/libwhereami/default.nix
index d0dd593a03d..11950c63486 100644
--- a/pkgs/development/libraries/libwhereami/default.nix
+++ b/pkgs/development/libraries/libwhereami/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     description = "Library to report hypervisor information from inside a VM";
     license = licenses.asl20;
     maintainers = [ maintainers.womfoo ];
-    platforms = with platforms; [ "i686-linux" "x86_64-linux" "x86_64-darwin" ]; # fails on aarch64
+    platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ]; # fails on aarch64
   };
 
 }
diff --git a/pkgs/development/libraries/libwpe/default.nix b/pkgs/development/libraries/libwpe/default.nix
index 18134f18d99..1e0b6ac789b 100644
--- a/pkgs/development/libraries/libwpe/default.nix
+++ b/pkgs/development/libraries/libwpe/default.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libwpe";
-  version = "1.12.0";
+  version = "1.12.2";
 
   src = fetchurl {
     url = "https://wpewebkit.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "sha256-6O7KIoprTDYpTPtj99O6mtpHpDCQSlqXOzyZyWpEwYw=";
+    sha256 = "sha256-SsT9CotWK3Ib/9D0aunwbCtaMRRAdYGXi+h1qdZRZCo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libwpe/fdo.nix b/pkgs/development/libraries/libwpe/fdo.nix
index df6a57d2d7f..736b408323d 100644
--- a/pkgs/development/libraries/libwpe/fdo.nix
+++ b/pkgs/development/libraries/libwpe/fdo.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "wpebackend-fdo";
-  version = "1.12.0";
+  version = "1.12.1";
 
   src = fetchurl {
     url = "https://wpewebkit.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "sha256-YjnJwVUjQQeY1mMV3mtJFxKrMACboYDz4N0HbZsAdKw=";
+    sha256 = "sha256-RaqDPETsKS8x+pQ7AbjMdeVOtiOte6amb8LxGP5p5ik=";
   };
 
   depsBuildBuild = [
diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix
index f0b4d0baf4f..c4571feb81e 100644
--- a/pkgs/development/libraries/libxml2/default.nix
+++ b/pkgs/development/libraries/libxml2/default.nix
@@ -94,8 +94,10 @@ stdenv.mkDerivation rec {
 
   doCheck =
     (stdenv.hostPlatform == stdenv.buildPlatform) &&
-    !stdenv.isDarwin &&
     stdenv.hostPlatform.libc != "musl";
+  preCheck = lib.optional stdenv.isDarwin ''
+    export DYLD_LIBRARY_PATH="$PWD/.libs:$DYLD_LIBRARY_PATH"
+  '';
 
   preConfigure = lib.optionalString (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11") ''
     MACOSX_DEPLOYMENT_TARGET=10.16
diff --git a/pkgs/development/libraries/mbedtls/default.nix b/pkgs/development/libraries/mbedtls/default.nix
index 8bba8f0efe0..4fa4a5c4503 100644
--- a/pkgs/development/libraries/mbedtls/default.nix
+++ b/pkgs/development/libraries/mbedtls/default.nix
@@ -44,6 +44,6 @@ stdenv.mkDerivation rec {
     description = "Portable cryptographic and TLS library, formerly known as PolarSSL";
     license = licenses.asl20;
     platforms = platforms.all;
-    maintainers = with maintainers; [ fpletz ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/libraries/miniz/default.nix b/pkgs/development/libraries/miniz/default.nix
new file mode 100644
index 00000000000..d390a019a52
--- /dev/null
+++ b/pkgs/development/libraries/miniz/default.nix
@@ -0,0 +1,23 @@
+{ lib, stdenv, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  pname = "miniz";
+  version = "2.2.0";
+
+  src = fetchFromGitHub {
+    owner = "richgel999";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-7hc/yNJh4sD5zGQLeHjowbUtV/1mUDQre1tp9yKMSSY=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with lib; {
+    description = "Single C source file zlib-replacement library";
+    homepage = "https://github.com/richgel999/miniz";
+    license = licenses.mit;
+    maintainers = with maintainers; [ astro ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/ncnn/default.nix b/pkgs/development/libraries/ncnn/default.nix
index bf4b74c0364..0b07fab8668 100644
--- a/pkgs/development/libraries/ncnn/default.nix
+++ b/pkgs/development/libraries/ncnn/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ncnn";
-  version = "20220721";
+  version = "20220729";
 
   src = fetchFromGitHub {
     owner = "Tencent";
     repo = pname;
     rev = version;
-    sha256 = "sha256-35OwvYYZtfugvujWl6bL8p8HU+z1kQsvnJ+aQOgO8V8=";
+    sha256 = "sha256-hZVeW3svuVpwQhQz67uqTPZ7B9pisLCwHhXB2zMLygo=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/nettle/default.nix b/pkgs/development/libraries/nettle/default.nix
index 0e3c18c0ac3..ed4948cd7f8 100644
--- a/pkgs/development/libraries/nettle/default.nix
+++ b/pkgs/development/libraries/nettle/default.nix
@@ -1,10 +1,10 @@
 { callPackage, fetchurl }:
 
 callPackage ./generic.nix rec {
-  version = "3.7.3";
+  version = "3.8";
 
   src = fetchurl {
     url = "mirror://gnu/nettle/nettle-${version}.tar.gz";
-    sha256 = "1w5wwc3q0r97d2ifhx77cw7y8s20bm8x52is9j93p2h47yq5w7v6";
+    hash = "sha256-dXbGhIHBmPZEsIwWDRpIULqUSeMIBpRVtSEzGfI06OY=";
   };
 }
diff --git a/pkgs/development/libraries/nghttp3/default.nix b/pkgs/development/libraries/nghttp3/default.nix
index e0392901ecc..41bf84c5b69 100644
--- a/pkgs/development/libraries/nghttp3/default.nix
+++ b/pkgs/development/libraries/nghttp3/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nghttp3";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "ngtcp2";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-EEwo4KIBNVb/O1htUN8GkuiU/P3r/DyEn6L9l1r1I6E=";
+    sha256 = "sha256-q9rXvMeCXhyytiaGekRlowCYKzvq8aktfN0lk+VPG78=";
   };
 
   outputs = [ "out" "dev" "doc" ];
diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix
index 9fec80aa56e..f3c5ac668cf 100644
--- a/pkgs/development/libraries/nspr/default.nix
+++ b/pkgs/development/libraries/nspr/default.nix
@@ -3,6 +3,7 @@
 , fetchurl
 , CoreServices
 , buildPackages
+, nixosTests
 }:
 
 stdenv.mkDerivation rec {
@@ -44,6 +45,10 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.tests = {
+    inherit (nixosTests) firefox firefox-esr-91 firefox-esr-102;
+  };
+
   meta = with lib; {
     homepage = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Reference/NSPR_functions";
     description = "Netscape Portable Runtime, a platform-neutral API for system-level and libc-like functions";
diff --git a/pkgs/development/libraries/nss/generic.nix b/pkgs/development/libraries/nss/generic.nix
index 9a3d7bdfe27..febc2423388 100644
--- a/pkgs/development/libraries/nss/generic.nix
+++ b/pkgs/development/libraries/nss/generic.nix
@@ -15,6 +15,7 @@
 , # allow FIPS mode. Note that this makes the output non-reproducible.
   # https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Tech_Notes/nss_tech_note6
   enableFIPS ? false
+, nixosTests
 }:
 
 let
@@ -186,6 +187,12 @@ stdenv.mkDerivation rec {
 
   passthru.updateScript = ./update.sh;
 
+  passthru.tests = lib.optionalAttrs (lib.versionOlder version "3.69") {
+    inherit (nixosTests) firefox-esr-91;
+  } // lib.optionalAttrs (lib.versionAtLeast version "3.69") {
+    inherit (nixosTests) firefox firefox-esr-102;
+  };
+
   meta = with lib; {
     homepage = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS";
     description = "A set of libraries for development of security-enabled client and server applications";
diff --git a/pkgs/development/libraries/openal-soft/default.nix b/pkgs/development/libraries/openal-soft/default.nix
index 23812229a9d..368b1b911eb 100644
--- a/pkgs/development/libraries/openal-soft/default.nix
+++ b/pkgs/development/libraries/openal-soft/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openal-soft";
-  version = "1.22.0";
+  version = "1.22.2";
 
   src = fetchFromGitHub {
     owner = "kcat";
     repo = "openal-soft";
     rev = version;
-    sha256 = "sha256-Y2KhPkwtG6tBzUhSqwV2DVnOjZwxPihidLKahjaIvyU=";
+    sha256 = "sha256-MVM0qCZDWcO7/Hnco+0dBqzBLcWD279xjx0slxxlc4w=";
   };
 
   # this will make it find its own data files (e.g. HRTF profiles)
diff --git a/pkgs/development/libraries/opencv/4.x.nix b/pkgs/development/libraries/opencv/4.x.nix
index edc8acaa92b..ce7f9822335 100644
--- a/pkgs/development/libraries/opencv/4.x.nix
+++ b/pkgs/development/libraries/opencv/4.x.nix
@@ -26,6 +26,8 @@
 , enableEXR ? !stdenv.isDarwin
 , openexr
 , ilmbase
+, enableJPEG2000 ? true
+, openjpeg
 , enableEigen ? true
 , eigen
 , enableOpenblas ? true
@@ -256,6 +258,7 @@ stdenv.mkDerivation {
     ++ lib.optional enableTIFF libtiff
     ++ lib.optional enableWebP libwebp
     ++ lib.optionals enableEXR [ openexr ilmbase ]
+    ++ lib.optional enableJPEG2000 openjpeg
     ++ lib.optional enableFfmpeg ffmpeg
     ++ lib.optionals (enableFfmpeg && stdenv.isDarwin)
       [ VideoDecodeAcceleration bzip2 ]
@@ -307,6 +310,8 @@ stdenv.mkDerivation {
     (opencvFlag "JPEG" enableJPEG)
     (opencvFlag "PNG" enablePNG)
     (opencvFlag "OPENEXR" enableEXR)
+    (opencvFlag "OPENJPEG" enableJPEG2000)
+    "-DWITH_JASPER=OFF" # OpenCV falls back to a vendored copy of Jasper when OpenJPEG is disabled
     (opencvFlag "CUDA" enableCuda)
     (opencvFlag "CUBLAS" enableCuda)
     (opencvFlag "TBB" enableTbb)
diff --git a/pkgs/development/libraries/openldap/default.nix b/pkgs/development/libraries/openldap/default.nix
index 551a0827eee..f357b8d4b72 100644
--- a/pkgs/development/libraries/openldap/default.nix
+++ b/pkgs/development/libraries/openldap/default.nix
@@ -15,46 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openldap";
-  version = "2.6.2";
+  version = "2.6.3";
 
   src = fetchurl {
     url = "https://www.openldap.org/software/download/OpenLDAP/openldap-release/${pname}-${version}.tgz";
-    hash = "sha256-gdCTRSMutiSG7PWsrNLFbAxFtKbIwGZhLn9CGiOhz4c";
+    hash = "sha256-0qKh1x3z13OWscFq11AuZ030RuBgcrDlpOlBw9BsDUY=";
   };
 
-  patches = [
-    # ITS#9840 - ldif-filter: fix parallel build failure
-    (fetchpatch {
-      url = "https://github.com/openldap/openldap/commit/7d977f51e6dfa570a471d163b9e8255bdd3dc12f.patch";
-      hash = "sha256:1vid6pj2gmqywbghnd380x19ml241ldc1fyslb6br6q27zpgbdlp";
-    })
-    # ITS#9840 - libraries/Makefile.in: ignore the mkdir errors
-    (fetchpatch {
-      url = "https://github.com/openldap/openldap/commit/71f24015c312171c00ce94c9ff9b9c6664bdca8d.patch";
-      hash = "sha256:1a81vv6nkhgiadnj4g1wyzgzdp2zd151h0vkwvv9gzmqvhwcnc04";
-    })
-    # ITS#7165 back-mdb: check for stale readers on
-    (fetchpatch {
-      url = "https://github.com/openldap/openldap/commit/7e7f01c301db454e8c507999c77b55a1d97efc21.patch";
-      hash = "sha256:1fc2yck2gn3zlpfqjdn56ar206npi8cmb8yg5ny4lww0ygmyzdfz";
-    })
-    # ITS#9858 back-mdb: delay indexer task startup
-    (fetchpatch {
-      url = "https://github.com/openldap/openldap/commit/ac061c684cc79d64ab4089fe3020921a0064a307.patch";
-      hash = "sha256:01f0y50zlcj6n5mfkmb0di4p5vrlgn31zccx4a9k5m8vzxaqmw9d";
-    })
-    # ITS#9858 back-mdb: fix index reconfig
-    (fetchpatch {
-      url = "https://github.com/openldap/openldap/commit/c43c7a937cfb3a781f99b458b7ad71eb564a2bc2.patch";
-      hash = "sha256:02yh0c8cyx14iir5qhfam5shrg5d3115s2nv0pmqdj6najrqc5mm";
-    })
-    # ITS#9157: check for NULL ld
-    (fetchpatch {
-      url = "https://github.com/openldap/openldap/commit/6675535cd6ad01f9519ecd5d75061a74bdf095c7.patch";
-      hash = "sha256:0dali5ifcwba8400s065f0fizl9h44i0mzb06qgxhygff6yfrgif";
-    })
-  ];
-
   # TODO: separate "out" and "bin"
   outputs = [
     "out"
@@ -93,18 +60,18 @@ stdenv.mkDerivation rec {
     "ac_cv_func_memcmp_working=yes"
   ] ++ lib.optional stdenv.isFreeBSD "--with-pic";
 
-  makeFlags = [
+  NIX_CFLAGS_COMPILE = [ "-DLDAPI_SOCK=\"/run/openldap/ldapi\"" ];
+
+  makeFlags= [
     "CC=${stdenv.cc.targetPrefix}cc"
     "STRIP="  # Disable install stripping as it breaks cross-compiling. We strip binaries anyway in fixupPhase.
+    "STRIP_OPTS="
     "prefix=${placeholder "out"}"
-    "sysconfdir=${placeholder "out"}/etc"
+    "sysconfdir=/etc"
     "systemdsystemunitdir=${placeholder "out"}/lib/systemd/system"
     # contrib modules require these
     "moduledir=${placeholder "out"}/lib/modules"
     "mandir=${placeholder "out"}/share/man"
-  ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
-    # Can be unconditional, doing it like this to prevent a mass rebuild.
-    "STRIP_OPTS="
   ];
 
   extraContribModules = [
@@ -134,6 +101,7 @@ stdenv.mkDerivation rec {
 
   installFlags = [
     "prefix=${placeholder "out"}"
+    "sysconfdir=${placeholder "out"}/etc"
     "moduledir=${placeholder "out"}/lib/modules"
     "INSTALL=install"
   ];
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 74e5d318bcb..0b4050c76cc 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -44,9 +44,23 @@ let
       substituteInPlace crypto/async/arch/async_posix.h \
         --replace '!defined(__ANDROID__) && !defined(__OpenBSD__)' \
                   '!defined(__ANDROID__) && !defined(__OpenBSD__) && 0'
+    ''
+    # Move ENGINESDIR into OPENSSLDIR for static builds, in order to move
+    # it to the separate etc output.
+    + lib.optionalString static ''
+      substituteInPlace Configurations/unix-Makefile.tmpl \
+        --replace 'ENGINESDIR=$(libdir)/engines-{- $sover_dirname -}' \
+                  'ENGINESDIR=$(OPENSSLDIR)/engines-{- $sover_dirname -}'
     '';
 
-    outputs = [ "bin" "dev" "out" "man" ] ++ lib.optional withDocs "doc";
+    outputs = [ "bin" "dev" "out" "man" ]
+      ++ lib.optional withDocs "doc"
+      # Separate output for the runtime dependencies of the static build.
+      # Specifically, move OPENSSLDIR into this output, as its path will be
+      # compiled into 'libcrypto.a'. This makes it a runtime dependency of
+      # any package that statically links openssl, so we want to keep that
+      # output minimal.
+      ++ lib.optional static "etc";
     setOutputFlags = false;
     separateDebugInfo =
       !stdenv.hostPlatform.isDarwin &&
@@ -102,7 +116,14 @@ let
     configureFlags = [
       "shared" # "shared" builds both shared and static libraries
       "--libdir=lib"
-      "--openssldir=etc/ssl"
+      (if !static then
+         "--openssldir=etc/ssl"
+       else
+         # Move OPENSSLDIR to the 'etc' output for static builds. Prepend '/.'
+         # to the path to make it appear absolute before variable expansion,
+         # else the 'prefix' would be prepended to it.
+         "--openssldir=/.$(etc)/etc/ssl"
+      )
     ] ++ lib.optionals withCryptodev [
       "-DHAVE_CRYPTODEV"
       "-DUSE_CRYPTODEV_DIGESTS"
@@ -140,6 +161,9 @@ let
       if [ -n "$(echo $out/lib/*.so $out/lib/*.dylib $out/lib/*.dll)" ]; then
           rm "$out/lib/"*.a
       fi
+
+      # 'etc' is a separate output on static builds only.
+      etc=$out
     '') + lib.optionalString (!stdenv.hostPlatform.isWindows)
       # Fix bin/c_rehash's perl interpreter line
       #
@@ -161,14 +185,15 @@ let
       mv $out/include $dev/
 
       # remove dependency on Perl at runtime
-      rm -r $out/etc/ssl/misc
+      rm -r $etc/etc/ssl/misc
 
-      rmdir $out/etc/ssl/{certs,private}
+      rmdir $etc/etc/ssl/{certs,private}
     '';
 
     postFixup = lib.optionalString (!stdenv.hostPlatform.isWindows) ''
-      # Check to make sure the main output doesn't depend on perl
-      if grep -r '${buildPackages.perl}' $out; then
+      # Check to make sure the main output and the static runtime dependencies
+      # don't depend on perl
+      if grep -r '${buildPackages.perl}' $out $etc; then
         echo "Found an erroneous dependency on perl ^^^" >&2
         exit 1
       fi
diff --git a/pkgs/development/libraries/orcania/default.nix b/pkgs/development/libraries/orcania/default.nix
index 158bc9f405f..abe45b63372 100644
--- a/pkgs/development/libraries/orcania/default.nix
+++ b/pkgs/development/libraries/orcania/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchFromGitHub, cmake, check, subunit }:
 stdenv.mkDerivation rec {
   pname = "orcania";
-  version = "2.2.2";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "babelouest";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-lrc4VEqmCp/P/h0+5/ix6tx4pjfkLy9BLBZtKYLlyGI=";
+    sha256 = "sha256-QAq/6MGVj+iBHLElHuqokF1v3LU1TZ9hVVJE1s3y6f0=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/pc-ble-driver/default.nix b/pkgs/development/libraries/pc-ble-driver/default.nix
index b06a771e199..ae139639c73 100644
--- a/pkgs/development/libraries/pc-ble-driver/default.nix
+++ b/pkgs/development/libraries/pc-ble-driver/default.nix
@@ -43,6 +43,5 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/NordicSemiconductor/pc-ble-driver";
     license = licenses.unfreeRedistributable;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ jschievink ];
   };
 }
diff --git a/pkgs/development/libraries/physics/geant4/default.nix b/pkgs/development/libraries/physics/geant4/default.nix
index 65735896d65..1bed1362bac 100644
--- a/pkgs/development/libraries/physics/geant4/default.nix
+++ b/pkgs/development/libraries/physics/geant4/default.nix
@@ -47,12 +47,12 @@ in
 lib.warnIf (enableQT != false) "geant4: enableQT is deprecated, please use enableQt"
 
 stdenv.mkDerivation rec {
-  version = "11.0.0";
+  version = "11.0.2";
   pname = "geant4";
 
   src = fetchurl{
     url = "https://cern.ch/geant4-data/releases/geant4-v${version}.tar.gz";
-    sha256 = "sha256-PMin350/8ceiGmLS6zoQvhX2uxWNOTI78yEzScnvdbk=";
+    hash = "sha256-/AONuDcxL3Tj+O/RC108qHqZnUg9TYlZxguKdJIh7GE=";
   };
 
   cmakeFlags = [
diff --git a/pkgs/development/libraries/physics/yoda/default.nix b/pkgs/development/libraries/physics/yoda/default.nix
index db7c18a3344..5424ad73787 100644
--- a/pkgs/development/libraries/physics/yoda/default.nix
+++ b/pkgs/development/libraries/physics/yoda/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "yoda";
-  version = "1.9.5";
+  version = "1.9.6";
 
   src = fetchurl {
     url = "https://www.hepforge.org/archive/yoda/YODA-${version}.tar.bz2";
-    hash = "sha256-WRkaDpr6jbU/+qIHn4Uy5bE94b5iJwPW9wYNNhBSi2s=";
+    hash = "sha256-IVI/ova2yPM0iVnzqUhzSpMMollR08kZC0Qk4Tc18qQ=";
   };
 
   nativeBuildInputs = with python.pkgs; [ cython makeWrapper ];
diff --git a/pkgs/development/libraries/pipewire/wireplumber.nix b/pkgs/development/libraries/pipewire/wireplumber.nix
index 14b75f770a1..8769587605e 100644
--- a/pkgs/development/libraries/pipewire/wireplumber.nix
+++ b/pkgs/development/libraries/pipewire/wireplumber.nix
@@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals (enableDocs || enableGI) [
     doxygen
     (python3.withPackages (ps: with ps;
-    lib.optionals enableDocs [ sphinx sphinx_rtd_theme breathe ] ++
+    lib.optionals enableDocs [ sphinx sphinx-rtd-theme breathe ] ++
       lib.optionals enableGI [ lxml ]
     ))
   ];
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index 17a1717812f..8d2e91513f1 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -35,13 +35,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "poppler-${suffix}";
-  version = "22.06.0"; # beware: updates often break cups-filters build, check texlive and scribus too!
+  version = "22.08.0"; # beware: updates often break cups-filters build, check texlive and scribus too!
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://poppler.freedesktop.org/poppler-${version}.tar.xz";
-    sha256 = "sha256-oPmqo5GLrXgQOfwwemNWUqFNGzkc1Vm2bt7Evtujxdc=";
+    sha256 = "sha256-tJMyhyFALyXLdSP5zcL318WfRa2Zm951xjyQYE2w8gs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/ptex/default.nix b/pkgs/development/libraries/ptex/default.nix
index 5d40ff183e7..a5827fe188c 100644
--- a/pkgs/development/libraries/ptex/default.nix
+++ b/pkgs/development/libraries/ptex/default.nix
@@ -1,27 +1,21 @@
-{ lib, stdenv, fetchFromGitHub, zlib, cmake, pkg-config }:
+{ lib, stdenv, fetchFromGitHub, zlib, cmake }:
 
 stdenv.mkDerivation rec
 {
   pname = "ptex";
-  version = "2.4.1";
+  version = "2.4.2";
 
   src = fetchFromGitHub {
     owner = "wdas";
     repo = "ptex";
     rev = "v${version}";
-    sha256 = "sha256-TuwgZJHvQUqBEFeZYvzpi+tmXB97SkOairYnuUahtSA=";
+    sha256 = "sha256-PR1ld9rXmL6BK4llznAsD5PNvi3anFMz2i9NDsG95DQ=";
   };
 
   outputs = [ "bin" "dev" "out" "lib" ];
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ zlib pkg-config ];
-
-  # Can be removed in the next release
-  # https://github.com/wdas/ptex/pull/42
-  patchPhase = ''
-    echo v${version} >version
-  '';
+  buildInputs = [ zlib ];
 
   meta = with lib; {
     description = "Per-Face Texture Mapping for Production Rendering";
diff --git a/pkgs/development/libraries/qt-5/5.12/default.nix b/pkgs/development/libraries/qt-5/5.12/default.nix
index da54865a18b..5d7b7202945 100644
--- a/pkgs/development/libraries/qt-5/5.12/default.nix
+++ b/pkgs/development/libraries/qt-5/5.12/default.nix
@@ -164,7 +164,7 @@ let
         inherit bison cups harfbuzz libGL;
         withGtk3 = !stdenv.isDarwin; inherit dconf gtk3;
         inherit debug developerBuild decryptSslTraffic;
-        inherit (darwin.apple_sdk.frameworks) AGL AppKit ApplicationServices Carbon Cocoa CoreAudio CoreBluetooth
+        inherit (darwin.apple_sdk.frameworks) AGL AppKit ApplicationServices AVFoundation Carbon Cocoa CoreAudio CoreBluetooth
           CoreLocation CoreServices DiskArbitration Foundation OpenGL MetalKit IOKit;
         inherit (darwin) libobjc;
       };
diff --git a/pkgs/development/libraries/qt-5/5.14/default.nix b/pkgs/development/libraries/qt-5/5.14/default.nix
index dadf9228eb6..32630810b49 100644
--- a/pkgs/development/libraries/qt-5/5.14/default.nix
+++ b/pkgs/development/libraries/qt-5/5.14/default.nix
@@ -162,7 +162,7 @@ let
         inherit bison cups harfbuzz libGL;
         withGtk3 = !stdenv.isDarwin; inherit dconf gtk3;
         inherit debug developerBuild decryptSslTraffic;
-        inherit (darwin.apple_sdk.frameworks) AGL AppKit ApplicationServices Carbon Cocoa CoreAudio CoreBluetooth
+        inherit (darwin.apple_sdk.frameworks) AGL AppKit ApplicationServices AVFoundation Carbon Cocoa CoreAudio CoreBluetooth
           CoreLocation CoreServices DiskArbitration Foundation OpenGL MetalKit IOKit;
         inherit (darwin) libobjc;
       };
diff --git a/pkgs/development/libraries/qt-5/5.15/default.nix b/pkgs/development/libraries/qt-5/5.15/default.nix
index 2c7ddc6e21d..e3f94ba8ffe 100644
--- a/pkgs/development/libraries/qt-5/5.15/default.nix
+++ b/pkgs/development/libraries/qt-5/5.15/default.nix
@@ -43,6 +43,8 @@ let
       # Patch framework detection to support X.framework/X.tbd,
       # extending the current support for X.framework/X.
       ./qtbase.patch.d/0012-qtbase-tbd-frameworks.patch
+
+      ./qtbase.patch.d/0014-aarch64-darwin.patch
     ] ++ [
       ./qtbase.patch.d/0003-qtbase-mkspecs.patch
       ./qtbase.patch.d/0004-qtbase-replace-libdir.patch
@@ -119,7 +121,7 @@ let
         inherit bison cups harfbuzz libGL;
         withGtk3 = !stdenv.isDarwin; inherit dconf gtk3;
         inherit developerBuild decryptSslTraffic;
-        inherit (darwin.apple_sdk.frameworks) AGL AppKit ApplicationServices Carbon Cocoa CoreAudio CoreBluetooth
+        inherit (darwin.apple_sdk.frameworks) AGL AppKit ApplicationServices AVFoundation Carbon Cocoa CoreAudio CoreBluetooth
           CoreLocation CoreServices DiskArbitration Foundation OpenGL MetalKit IOKit;
         inherit (darwin) libobjc;
       };
diff --git a/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0014-aarch64-darwin.patch b/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0014-aarch64-darwin.patch
new file mode 100644
index 00000000000..8ef1b08a5b8
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/0014-aarch64-darwin.patch
@@ -0,0 +1,287 @@
+From abc52460201bc5c7603505bb187138b0c59291aa Mon Sep 17 00:00:00 2001
+From: Mushroom <mushroom@watchingyour.tv>
+Date: Sun, 20 Dec 2020 00:11:41 +0000
+Subject: [PATCH] [QtBase] Split macOS platforms by architecture
+
+Currently macOS only has one platform, which forces the default arch to
+x86_64. This patch splits the platforms by architecture, and defaults to
+the same as the host.
+
+This stops M1-based macs from compiling x64 binaries by default,
+instead making them compile native binaries.
+
+[ChangeLog][QtBase][Platform Specific Changes][OS X] Split macOS
+platforms so it doesn't default to the x64 architecture every time
+
+Change-Id: I34891b107bb24f68371df1c8f087eb0ad5b5dd95
+---
+ configure                                     |  9 +++-
+ .../clang-macx-desktop.conf}                  |  8 ++--
+ mkspecs/common/macx.conf                      |  1 -
+ .../Info.plist.app                            |  0
+ .../Info.plist.dSYM.in                        |  0
+ .../Info.plist.disable_highdpi                |  0
+ .../Info.plist.lib                            |  0
+ mkspecs/macx-clang-arm64/qmake.conf           |  7 ++++
+ .../qplatformdefs.h                           |  0
+ mkspecs/macx-clang-x64/Info.plist.app         | 24 +++++++++++
+ mkspecs/macx-clang-x64/Info.plist.dSYM.in     | 18 ++++++++
+ .../macx-clang-x64/Info.plist.disable_highdpi |  8 ++++
+ mkspecs/macx-clang-x64/Info.plist.lib         | 20 +++++++++
+ mkspecs/macx-clang-x64/qmake.conf             |  7 ++++
+ mkspecs/macx-clang-x64/qplatformdefs.h        | 41 +++++++++++++++++++
+ 15 files changed, 137 insertions(+), 6 deletions(-)
+ rename mkspecs/{macx-clang/qmake.conf => common/clang-macx-desktop.conf} (83%)
+ rename mkspecs/{macx-clang => macx-clang-arm64}/Info.plist.app (100%)
+ rename mkspecs/{macx-clang => macx-clang-arm64}/Info.plist.dSYM.in (100%)
+ rename mkspecs/{macx-clang => macx-clang-arm64}/Info.plist.disable_highdpi (100%)
+ rename mkspecs/{macx-clang => macx-clang-arm64}/Info.plist.lib (100%)
+ create mode 100644 mkspecs/macx-clang-arm64/qmake.conf
+ rename mkspecs/{macx-clang => macx-clang-arm64}/qplatformdefs.h (100%)
+ create mode 100644 mkspecs/macx-clang-x64/Info.plist.app
+ create mode 100644 mkspecs/macx-clang-x64/Info.plist.dSYM.in
+ create mode 100644 mkspecs/macx-clang-x64/Info.plist.disable_highdpi
+ create mode 100644 mkspecs/macx-clang-x64/Info.plist.lib
+ create mode 100644 mkspecs/macx-clang-x64/qmake.conf
+ create mode 100644 mkspecs/macx-clang-x64/qplatformdefs.h
+
+diff --git a/configure b/configure
+index b6c9b462f24..a86f2ceaa5b 100755
+--- a/configure
++++ b/configure
+@@ -556,7 +556,14 @@ PLATFORM_NOTES=
+ if [ -z "$PLATFORM" ]; then
+     case "$UNAME_SYSTEM:$UNAME_RELEASE" in
+      Darwin:*)
+-        PLATFORM=macx-clang
++        case "$UNAME_MACHINE" in
++            arm64)
++                PLATFORM=macx-clang-arm64
++                ;;
++            *)
++                PLATFORM=macx-clang-x64
++                ;;
++        esac
+         ;;
+      AIX:*)
+         #PLATFORM=aix-g++
+diff --git a/mkspecs/macx-clang/qmake.conf b/mkspecs/common/clang-macx-desktop.conf
+similarity index 83%
+rename from mkspecs/macx-clang/qmake.conf
+rename to mkspecs/common/clang-macx-desktop.conf
+index 0cf1f31b60d..042319a2aa3 100644
+--- a/mkspecs/macx-clang/qmake.conf
++++ b/mkspecs/common/clang-macx-desktop.conf
+@@ -24,9 +24,9 @@ QMAKE_LIBS_X11 = -lX11 -lXext -lm
+ QMAKE_LIBDIR_X11 = /opt/X11/lib
+ QMAKE_INCDIR_X11 = /opt/X11/include
+ 
+-include(../common/macx.conf)
+-include(../common/gcc-base-mac.conf)
+-include(../common/clang.conf)
+-include(../common/clang-mac.conf)
++include(macx.conf)
++include(gcc-base-mac.conf)
++include(clang.conf)
++include(clang-mac.conf)
+ 
+ load(qt_config)
+diff --git a/mkspecs/common/macx.conf b/mkspecs/common/macx.conf
+index d16b77acb8e..4ba0a8eaa36 100644
+--- a/mkspecs/common/macx.conf
++++ b/mkspecs/common/macx.conf
+@@ -6,7 +6,6 @@ QMAKE_PLATFORM         += macos osx macx
+ QMAKE_MAC_SDK           = macosx
+ 
+ QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.13
+-QMAKE_APPLE_DEVICE_ARCHS = x86_64
+ 
+ # Should be 10.15, but as long as the CI builds with
+ # older SDKs we have to keep this.
+diff --git a/mkspecs/macx-clang/Info.plist.app b/mkspecs/macx-clang-arm64/Info.plist.app
+similarity index 100%
+rename from mkspecs/macx-clang/Info.plist.app
+rename to mkspecs/macx-clang-arm64/Info.plist.app
+diff --git a/mkspecs/macx-clang/Info.plist.dSYM.in b/mkspecs/macx-clang-arm64/Info.plist.dSYM.in
+similarity index 100%
+rename from mkspecs/macx-clang/Info.plist.dSYM.in
+rename to mkspecs/macx-clang-arm64/Info.plist.dSYM.in
+diff --git a/mkspecs/macx-clang/Info.plist.disable_highdpi b/mkspecs/macx-clang-arm64/Info.plist.disable_highdpi
+similarity index 100%
+rename from mkspecs/macx-clang/Info.plist.disable_highdpi
+rename to mkspecs/macx-clang-arm64/Info.plist.disable_highdpi
+diff --git a/mkspecs/macx-clang/Info.plist.lib b/mkspecs/macx-clang-arm64/Info.plist.lib
+similarity index 100%
+rename from mkspecs/macx-clang/Info.plist.lib
+rename to mkspecs/macx-clang-arm64/Info.plist.lib
+diff --git a/mkspecs/macx-clang-arm64/qmake.conf b/mkspecs/macx-clang-arm64/qmake.conf
+new file mode 100644
+index 00000000000..0cc2361e696
+--- /dev/null
++++ b/mkspecs/macx-clang-arm64/qmake.conf
+@@ -0,0 +1,7 @@
++#
++# qmake configuration for Clang on OS X (arm64)
++#
++
++QMAKE_APPLE_DEVICE_ARCHS=arm64
++
++include(../common/clang-macx-desktop.conf)
+diff --git a/mkspecs/macx-clang/qplatformdefs.h b/mkspecs/macx-clang-arm64/qplatformdefs.h
+similarity index 100%
+rename from mkspecs/macx-clang/qplatformdefs.h
+rename to mkspecs/macx-clang-arm64/qplatformdefs.h
+diff --git a/mkspecs/macx-clang-x64/Info.plist.app b/mkspecs/macx-clang-x64/Info.plist.app
+new file mode 100644
+index 00000000000..fa592af0897
+--- /dev/null
++++ b/mkspecs/macx-clang-x64/Info.plist.app
+@@ -0,0 +1,24 @@
++<?xml version="1.0" encoding="UTF-8"?>
++<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
++<plist version="1.0">
++<dict>
++	<key>CFBundleExecutable</key>
++	<string>${EXECUTABLE_NAME}</string>
++	<key>CFBundleIconFile</key>
++	<string>${ASSETCATALOG_COMPILER_APPICON_NAME}</string>
++	<key>CFBundleIdentifier</key>
++	<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
++	<key>CFBundlePackageType</key>
++	<string>APPL</string>
++	<key>CFBundleSignature</key>
++	<string>${QMAKE_PKGINFO_TYPEINFO}</string>
++	<key>LSMinimumSystemVersion</key>
++	<string>${MACOSX_DEPLOYMENT_TARGET}</string>
++	<key>NOTE</key>
++	<string>This file was generated by Qt/QMake.</string>
++	<key>NSPrincipalClass</key>
++	<string>NSApplication</string>
++	<key>NSSupportsAutomaticGraphicsSwitching</key>
++	<true/>
++</dict>
++</plist>
+diff --git a/mkspecs/macx-clang-x64/Info.plist.dSYM.in b/mkspecs/macx-clang-x64/Info.plist.dSYM.in
+new file mode 100644
+index 00000000000..a8c8d0d4fb5
+--- /dev/null
++++ b/mkspecs/macx-clang-x64/Info.plist.dSYM.in
+@@ -0,0 +1,18 @@
++<?xml version=\"1.0\" encoding=\"UTF-8\"?>
++<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
++<plist version=\"1.0\">
++	<dict>
++		<key>CFBundleIdentifier</key>
++		<string>com.apple.xcode.dsym.$${BUNDLEIDENTIFIER}</string>
++		<key>CFBundlePackageType</key>
++		<string>dSYM</string>
++		<key>CFBundleSignature</key>
++		<string>????</string>
++!!IF !isEmpty(VERSION)
++		<key>CFBundleShortVersionString</key>
++		<string>$${VER_MAJ}.$${VER_MIN}</string>
++		<key>CFBundleVersion</key>
++		<string>$${VER_MAJ}.$${VER_MIN}.$${VER_PAT}</string>
++!!ENDIF
++	</dict>
++</plist>
+diff --git a/mkspecs/macx-clang-x64/Info.plist.disable_highdpi b/mkspecs/macx-clang-x64/Info.plist.disable_highdpi
+new file mode 100644
+index 00000000000..a9b89888ad4
+--- /dev/null
++++ b/mkspecs/macx-clang-x64/Info.plist.disable_highdpi
+@@ -0,0 +1,8 @@
++<?xml version="1.0" encoding="UTF-8"?>
++<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
++<plist version="1.0">
++<dict>
++	<key>NSHighResolutionCapable</key>
++	<string>NO</string>
++</dict>
++</plist>
+diff --git a/mkspecs/macx-clang-x64/Info.plist.lib b/mkspecs/macx-clang-x64/Info.plist.lib
+new file mode 100644
+index 00000000000..34752ec40d9
+--- /dev/null
++++ b/mkspecs/macx-clang-x64/Info.plist.lib
+@@ -0,0 +1,20 @@
++<?xml version="1.0" encoding="UTF-8"?>
++<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
++<plist version="1.0">
++<dict>
++	<key>CFBundleExecutable</key>
++	<string>${EXECUTABLE_NAME}</string>
++	<key>CFBundleIdentifier</key>
++	<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
++	<key>CFBundlePackageType</key>
++	<string>FMWK</string>
++	<key>CFBundleShortVersionString</key>
++	<string>${QMAKE_SHORT_VERSION}</string>
++	<key>CFBundleSignature</key>
++	<string>${QMAKE_PKGINFO_TYPEINFO}</string>
++	<key>CFBundleVersion</key>
++	<string>${QMAKE_FULL_VERSION}</string>
++	<key>NOTE</key>
++	<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
++</dict>
++</plist>
+diff --git a/mkspecs/macx-clang-x64/qmake.conf b/mkspecs/macx-clang-x64/qmake.conf
+new file mode 100644
+index 00000000000..1ac373b53b4
+--- /dev/null
++++ b/mkspecs/macx-clang-x64/qmake.conf
+@@ -0,0 +1,7 @@
++#
++# qmake configuration for Clang on OS X (arm64)
++#
++
++QMAKE_APPLE_DEVICE_ARCHS=x86_64
++
++include(../common/clang-macx-desktop.conf)
+diff --git a/mkspecs/macx-clang-x64/qplatformdefs.h b/mkspecs/macx-clang-x64/qplatformdefs.h
+new file mode 100644
+index 00000000000..063491dd900
+--- /dev/null
++++ b/mkspecs/macx-clang-x64/qplatformdefs.h
+@@ -0,0 +1,41 @@
++/****************************************************************************
++**
++** Copyright (C) 2016 The Qt Company Ltd.
++** Contact: https://www.qt.io/licensing/
++**
++** This file is part of the qmake spec of the Qt Toolkit.
++**
++** $QT_BEGIN_LICENSE:LGPL$
++** Commercial License Usage
++** Licensees holding valid commercial Qt licenses may use this file in
++** accordance with the commercial license agreement provided with the
++** Software or, alternatively, in accordance with the terms contained in
++** a written agreement between you and The Qt Company. For licensing terms
++** and conditions see https://www.qt.io/terms-conditions. For further
++** information use the contact form at https://www.qt.io/contact-us.
++**
++** GNU Lesser General Public License Usage
++** Alternatively, this file may be used under the terms of the GNU Lesser
++** General Public License version 3 as published by the Free Software
++** Foundation and appearing in the file LICENSE.LGPL3 included in the
++** packaging of this file. Please review the following information to
++** ensure the GNU Lesser General Public License version 3 requirements
++** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
++**
++** GNU General Public License Usage
++** Alternatively, this file may be used under the terms of the GNU
++** General Public License version 2.0 or (at your option) the GNU General
++** Public license version 3 or any later version approved by the KDE Free
++** Qt Foundation. The licenses are as published by the Free Software
++** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
++** included in the packaging of this file. Please review the following
++** information to ensure the GNU General Public License requirements will
++** be met: https://www.gnu.org/licenses/gpl-2.0.html and
++** https://www.gnu.org/licenses/gpl-3.0.html.
++**
++** $QT_END_LICENSE$
++**
++****************************************************************************/
++
++#include "../common/mac/qplatformdefs.h"
++
diff --git a/pkgs/development/libraries/qt-5/modules/qtbase.nix b/pkgs/development/libraries/qt-5/modules/qtbase.nix
index 9978f611456..2dd9edcf5d2 100644
--- a/pkgs/development/libraries/qt-5/modules/qtbase.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtbase.nix
@@ -4,7 +4,7 @@
 , coreutils, bison, flex, gdb, gperf, lndir, perl, pkg-config, python3
 , which
   # darwin support
-, libiconv, libobjc, xcbuild, AGL, AppKit, ApplicationServices, Carbon, Cocoa, CoreAudio, CoreBluetooth
+, libiconv, libobjc, xcbuild, AGL, AppKit, ApplicationServices, AVFoundation, Carbon, Cocoa, CoreAudio, CoreBluetooth
 , CoreLocation, CoreServices, DiskArbitration, Foundation, OpenGL, MetalKit, IOKit
 
 , dbus, fontconfig, freetype, glib, harfbuzz, icu, libdrm, libX11, libXcomposite
@@ -52,7 +52,7 @@ stdenv.mkDerivation {
   ] ++ (
     if stdenv.isDarwin then [
       # TODO: move to buildInputs, this should not be propagated.
-      AGL AppKit ApplicationServices Carbon Cocoa CoreAudio CoreBluetooth
+      AGL AppKit ApplicationServices AVFoundation Carbon Cocoa CoreAudio CoreBluetooth
       CoreLocation CoreServices DiskArbitration Foundation OpenGL
       libobjc libiconv MetalKit IOKit
     ] else [
@@ -284,7 +284,6 @@ stdenv.mkDerivation {
   ] ++ lib.optional (compareVersion "5.15.0" < 0) "-v"
     ++ (
       if stdenv.isDarwin then [
-      "-platform macx-clang"
       "-no-fontconfig"
       "-qt-freetype"
       "-qt-libpng"
@@ -377,7 +376,7 @@ stdenv.mkDerivation {
     #   error: unknown target CPU 'armv8.3-a+crypto+sha2+aes+crc+fp16+lse+simd+ras+rdm+rcpc'
     #   note: valid target CPU values are: nocona, core2, penryn, ..., znver1, znver2, x86-64
     # it seems the qmake/cmake passes x86_64 as preferred architecture somewhere
-    broken = stdenv.isDarwin && stdenv.isAarch64;
+    broken = stdenv.isDarwin && stdenv.isAarch64 && (compareVersion "5.15.3" < 0);
   };
 
 }
diff --git a/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix b/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
index 3fd891a9051..b80e93622d9 100644
--- a/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
+++ b/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qtstyleplugin-kvantum";
-  version = "1.0.3";
+  version = "1.0.4";
 
   src = fetchFromGitHub {
     owner = "tsujan";
     repo = "Kvantum";
     rev = "V${version}";
-    sha256 = "hY8QQVcP3E+GAdLOqtVbqCWBcxS2M6sMOr/vr+DryyQ=";
+    sha256 = "chdtcx73mfr/b1P3yVevx0m7HkMFzEYG7YLuhSyG7rk=";
   };
 
   nativeBuildInputs = [
@@ -51,6 +51,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     broken = lib.versionOlder qtbase.version "5.14";
-    maintainers = [ maintainers.bugworm ];
+    maintainers = [ maintainers.romildo ];
   };
 }
diff --git a/pkgs/development/libraries/qtutilities/default.nix b/pkgs/development/libraries/qtutilities/default.nix
index 0e328565786..cce0afc55e1 100644
--- a/pkgs/development/libraries/qtutilities/default.nix
+++ b/pkgs/development/libraries/qtutilities/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qtutilities";
-  version = "6.6.2";
+  version = "6.7.0";
 
   src = fetchFromGitHub {
     owner = "Martchus";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-zt/d6V1/6Kqh0ZdJX3dLkj36NHlvlmFSxPPqcNyC6ZM=";
+    sha256 = "sha256-RjVmrdUHDBelwagWD5Mx+S3tdFO7I0+8RmFR7hwoe8o=";
   };
 
   buildInputs = [ qtbase cpp-utilities ];
diff --git a/pkgs/development/libraries/raft-canonical/default.nix b/pkgs/development/libraries/raft-canonical/default.nix
index 4614c149814..72da2a34e75 100644
--- a/pkgs/development/libraries/raft-canonical/default.nix
+++ b/pkgs/development/libraries/raft-canonical/default.nix
@@ -16,6 +16,14 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  # Ignore broken test, likely not causing huge breakage
+  # (https://github.com/canonical/raft/issues/292)
+  postPatch = ''
+    substituteInPlace test/integration/test_uv_tcp_connect.c --replace \
+      "TEST(tcp_connect, closeDuringHandshake, setUp, tearDownDeps, 0, NULL)" \
+      "TEST(tcp_connect, closeDuringHandshake, setUp, tearDownDeps, MUNIT_TEST_OPTION_TODO, NULL)"
+  '';
+
   preConfigure = ''
     substituteInPlace configure --replace /usr/bin/ " "
   '';
diff --git a/pkgs/development/libraries/rapidfuzz-cpp/default.nix b/pkgs/development/libraries/rapidfuzz-cpp/default.nix
index e21ff01018d..3e3ab72d272 100644
--- a/pkgs/development/libraries/rapidfuzz-cpp/default.nix
+++ b/pkgs/development/libraries/rapidfuzz-cpp/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rapidfuzz-cpp";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "maxbachmann";
     repo = "rapidfuzz-cpp";
     rev = "v${version}";
-    hash = "sha256-ltxOn8thAiYgi5rG6xYFSnPl20Uyf4mWs1Rcv3lP++E=";
+    hash = "sha256-ogj8eFkiDtjFcBb3Yip909gKBIeALsoH3LnRIjQmLMA=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/rapidjson/default.nix b/pkgs/development/libraries/rapidjson/default.nix
index 49cbc7ab764..ac2d7e0b5f5 100644
--- a/pkgs/development/libraries/rapidjson/default.nix
+++ b/pkgs/development/libraries/rapidjson/default.nix
@@ -38,6 +38,8 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-DGTEST_SOURCE_DIR=${gtest.dev}/include"
+  ] ++ lib.optionals (!doCheck) [
+    "-DRAPIDJSON_BUILD_TESTS=OFF"
   ];
 
   checkInputs = [
@@ -52,7 +54,7 @@ stdenv.mkDerivation rec {
     runHook postCheck
   '';
 
-  doCheck = true;
+  doCheck = !stdenv.hostPlatform.isStatic;
 
   meta = with lib; {
     description = "Fast JSON parser/generator for C++ with both SAX/DOM style API";
diff --git a/pkgs/development/libraries/re2/default.nix b/pkgs/development/libraries/re2/default.nix
index 38a5194b1b3..2e163a79d59 100644
--- a/pkgs/development/libraries/re2/default.nix
+++ b/pkgs/development/libraries/re2/default.nix
@@ -36,12 +36,12 @@ stdenv.mkDerivation rec {
 
   preCheck = "patchShebangs runtests";
   doCheck = true;
-  checkTarget = "test";
+  checkTarget = if stdenv.hostPlatform.isStatic then "static-test" else "test";
 
   installTargets = lib.optionals stdenv.hostPlatform.isStatic [ "static-install" ];
 
   doInstallCheck = true;
-  installCheckTarget = "testinstall";
+  installCheckTarget = if stdenv.hostPlatform.isStatic then "static-testinstall" else "testinstall";
 
   passthru = {
     updateScript = nix-update-script {
diff --git a/pkgs/development/libraries/rocksdb/default.nix b/pkgs/development/libraries/rocksdb/default.nix
index 0de5fdf1b7a..efb4c22326d 100644
--- a/pkgs/development/libraries/rocksdb/default.nix
+++ b/pkgs/development/libraries/rocksdb/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rocksdb";
-  version = "7.4.4";
+  version = "7.4.5";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-34pAAqUhHQiH0YuRl6a0zdn8p6hSAIJnZXIErm3SYFE=";
+    sha256 = "sha256-m1ZHyHYFDGTYpP4uAg4T75sLKoLwhEDJstWg7EXHNc8=";
   };
 
   nativeBuildInputs = [ cmake ninja ];
diff --git a/pkgs/development/libraries/science/math/cudnn/extension.nix b/pkgs/development/libraries/science/math/cudnn/extension.nix
index f1bdfb9836e..265e09f436a 100644
--- a/pkgs/development/libraries/science/math/cudnn/extension.nix
+++ b/pkgs/development/libraries/science/math/cudnn/extension.nix
@@ -85,7 +85,7 @@ final: prev: let
       rec {
         fileVersion = "10.2";
         fullVersion = "8.3.2.44";
-        hash = "sha256-mKh4TpKGLyABjSDCgbMNSgzZUfk2lPZDPM9K6cUCumo=";
+        hash = "sha256-1vVu+cqM+PketzIQumw9ykm6REbBZhv6/lXB7EC2aaw=";
         url = "${urlPrefix}/v${majorMinorPatch fullVersion}/local_installers/${fileVersion}/cudnn-linux-x86_64-${fullVersion}_cuda${fileVersion}-archive.tar.xz";
         supportedCudaVersions = [ "10.2" ];
       }
diff --git a/pkgs/development/libraries/science/math/faiss/default.nix b/pkgs/development/libraries/science/math/faiss/default.nix
new file mode 100644
index 00000000000..f2d5e29f6a4
--- /dev/null
+++ b/pkgs/development/libraries/science/math/faiss/default.nix
@@ -0,0 +1,123 @@
+{ lib
+, config
+, fetchFromGitHub
+, stdenv
+, cmake
+, cudaPackages
+, cudaSupport ? config.cudaSupport or false
+, cudaCapabilities ? [ "60" "70" "80" "86" ]
+, pythonSupport ? true
+, pythonPackages
+, blas
+, swig
+, addOpenGLRunpath
+, optLevel ? let
+    optLevels =
+      lib.optional stdenv.hostPlatform.avx2Support "avx2"
+      ++ lib.optional stdenv.hostPlatform.sse4_1Support "sse4"
+      ++ [ "generic" ];
+  in
+  # Choose the maximum available optimization level
+  builtins.head optLevels
+, faiss # To run demos in the tests
+, runCommand
+}:
+
+let
+  pname = "faiss";
+  version = "1.7.2";
+  inherit (cudaPackages) cudatoolkit;
+in
+stdenv.mkDerivation {
+  inherit pname version;
+
+  outputs = [ "out" "demos" ];
+
+  src = fetchFromGitHub {
+    owner = "facebookresearch";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-Tklf5AaqJbOs9qtBZVcxXPLAp+K54EViZLSOvEhmswg=";
+  };
+
+  buildInputs = [
+    blas
+    swig
+  ] ++ lib.optionals pythonSupport [
+    pythonPackages.setuptools
+    pythonPackages.pip
+    pythonPackages.wheel
+  ];
+
+  propagatedBuildInputs = lib.optionals pythonSupport [
+    pythonPackages.numpy
+  ];
+
+  nativeBuildInputs = [ cmake ] ++ lib.optionals cudaSupport [
+    cudatoolkit
+    addOpenGLRunpath
+  ] ++ lib.optional pythonSupport [
+    pythonPackages.python
+  ];
+
+  passthru.extra-requires.all = [
+    pythonPackages.numpy
+  ];
+
+  cmakeFlags = [
+    "-DFAISS_ENABLE_GPU=${if cudaSupport then "ON" else "OFF"}"
+    "-DFAISS_ENABLE_PYTHON=${if pythonSupport then "ON" else "OFF"}"
+    "-DFAISS_OPT_LEVEL=${optLevel}"
+  ] ++ lib.optionals cudaSupport [
+    "-DCMAKE_CUDA_ARCHITECTURES=${lib.concatStringsSep ";" cudaCapabilities}"
+  ];
+
+
+  # pip wheel->pip install commands copied over from opencv4
+
+  buildPhase = ''
+    make -j faiss
+    make demo_ivfpq_indexing
+  '' + lib.optionalString pythonSupport ''
+    make -j swigfaiss
+    (cd faiss/python &&
+     python -m pip wheel --verbose --no-index --no-deps --no-clean --no-build-isolation --wheel-dir dist .)
+  '';
+
+  installPhase = ''
+    make install
+    mkdir -p $demos/bin
+    cp ./demos/demo_ivfpq_indexing $demos/bin/
+  '' + lib.optionalString pythonSupport ''
+    mkdir -p $out/${pythonPackages.python.sitePackages}
+    (cd faiss/python && python -m pip install dist/*.whl --no-index --no-warn-script-location --prefix="$out" --no-cache)
+  '';
+
+  fixupPhase = lib.optionalString (pythonSupport && cudaSupport) ''
+    addOpenGLRunpath $out/${pythonPackages.python.sitePackages}/faiss/*.so
+    addOpenGLRunpath $demos/bin/*
+  '';
+
+  passthru = {
+    inherit cudaSupport cudaPackages pythonSupport;
+
+    tests = {
+      runDemos = runCommand "${pname}-run-demos"
+        { buildInputs = [ faiss.demos ]; }
+        # There are more demos, we run just the one that documentation mentions
+        ''
+          demo_ivfpq_indexing && touch $out
+        '';
+    } // lib.optionalAttrs pythonSupport {
+      pytest = pythonPackages.callPackage ./tests.nix { };
+    };
+  };
+
+  meta = with lib; {
+    description = "A library for efficient similarity search and clustering of dense vectors by Facebook Research";
+    homepage = "https://github.com/facebookresearch/faiss";
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ SomeoneSerge ];
+  };
+}
diff --git a/pkgs/development/libraries/science/math/faiss/tests.nix b/pkgs/development/libraries/science/math/faiss/tests.nix
new file mode 100644
index 00000000000..fcf57a8bc9f
--- /dev/null
+++ b/pkgs/development/libraries/science/math/faiss/tests.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, faiss
+, scipy
+, pytestCheckHook
+}:
+
+assert faiss.pythonSupport;
+
+buildPythonPackage {
+  pname = "faiss-pytest-suite";
+  inherit (faiss) version;
+
+  src = "${faiss.src}/tests";
+
+  dontBuild = true;
+  dontInstall = true;
+
+  # Tests that need GPUs and would fail in the sandbox
+  disabledTestPaths = lib.optionals faiss.cudaSupport [
+    "test_contrib.py"
+  ];
+
+  checkInputs = [
+    faiss
+    pytestCheckHook
+    scipy
+  ] ++
+  faiss.extra-requires.all;
+}
diff --git a/pkgs/development/libraries/science/math/petsc/default.nix b/pkgs/development/libraries/science/math/petsc/default.nix
index 6fc9b200f3b..e847d1decd2 100644
--- a/pkgs/development/libraries/science/math/petsc/default.nix
+++ b/pkgs/development/libraries/science/math/petsc/default.nix
@@ -18,11 +18,11 @@ assert petsc-withp4est -> p4est.mpiSupport;
 
 stdenv.mkDerivation rec {
   pname = "petsc";
-  version = "3.17.3";
+  version = "3.17.4";
 
   src = fetchurl {
     url = "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-${version}.tar.gz";
-    sha256 = "sha256-XCSt5eSzLMBJNboNsdr+SNYzvrqqMKMDPx5YeI03h18=";
+    sha256 = "sha256-mcEnSGcio//ZWiaLTOsJdsvyF5JsaBqWMb1yRuq4yyo=";
   };
 
   mpiSupport = !withp4est || p4est.mpiSupport;
diff --git a/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix b/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix
index eea7c146ca3..3baa53458d4 100644
--- a/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix
+++ b/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix
@@ -6,7 +6,7 @@
 
 stdenv.mkDerivation rec {
   pname = "suitesparse-graphblas";
-  version = "6.2.5";
+  version = "7.1.2";
 
   outputs = [ "out" "dev" ];
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     owner = "DrTimothyAldenDavis";
     repo = "GraphBLAS";
     rev = "v${version}";
-    sha256 = "sha256-N4yFlTxV+lVz70PSHPuWEEFLp0dpsImXYDLUYEo2JQI=";
+    sha256 = "sha256-fz8e2//bJB9SANEw29VrUeaqvmh/aSu6+ZnkMb6C40k=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/science/math/tensorrt/extension.nix b/pkgs/development/libraries/science/math/tensorrt/extension.nix
new file mode 100644
index 00000000000..8e9f64885ba
--- /dev/null
+++ b/pkgs/development/libraries/science/math/tensorrt/extension.nix
@@ -0,0 +1,63 @@
+final: prev: let
+
+  inherit (final) callPackage;
+  inherit (prev) cudatoolkit cudaVersion lib pkgs;
+
+  ### TensorRT
+
+  buildTensorRTPackage = args:
+    callPackage ./generic.nix { } args;
+
+  toUnderscore = str: lib.replaceStrings ["."] ["_"] str;
+
+  majorMinorPatch = str: lib.concatStringsSep "." (lib.take 3 (lib.splitVersion str));
+
+  tensorRTPackages = with lib; let
+    # Check whether a file is supported for our cuda version
+    isSupported = fileData: elem cudaVersion fileData.supportedCudaVersions;
+    # Return the first file that is supported. In practice there should only ever be one anyway.
+    supportedFile = files: findFirst isSupported null files;
+    # Supported versions with versions as keys and file as value
+    supportedVersions = filterAttrs (version: file: file !=null ) (mapAttrs (version: files: supportedFile files) tensorRTVersions);
+    # Compute versioned attribute name to be used in this package set
+    computeName = version: "tensorrt_${toUnderscore version}";
+    # Add all supported builds as attributes
+    allBuilds = mapAttrs' (version: file: nameValuePair (computeName version) (buildTensorRTPackage (removeAttrs file ["fileVersionCuda"]))) supportedVersions;
+    # Set the default attributes, e.g. tensorrt = tensorrt_8_4;
+    defaultBuild = { "tensorrt" = allBuilds.${computeName tensorRTDefaultVersion}; };
+  in allBuilds // defaultBuild;
+
+  tensorRTVersions = {
+    "8.4.0" = [
+      rec {
+        fileVersionCuda = "11.6";
+        fileVersionCudnn = "8.3";
+        fullVersion = "8.4.0.6";
+        sha256 = "sha256-DNgHHXF/G4cK2nnOWImrPXAkOcNW6Wy+8j0LRpAH/LQ=";
+        tarball = "TensorRT-${fullVersion}.Linux.x86_64-gnu.cuda-${fileVersionCuda}.cudnn${fileVersionCudnn}.tar.gz";
+        supportedCudaVersions = [ "11.0" "11.1" "11.2" "11.3" "11.4" "11.5" "11.6" ];
+      }
+      rec {
+        fileVersionCuda = "10.2";
+        fileVersionCudnn = "8.3";
+        fullVersion = "8.4.0.6";
+        sha256 = "sha256-aCzH0ZI6BrJ0v+e5Bnm7b8mNltA7NNuIa8qRKzAQv+I=";
+        tarball = "TensorRT-${fullVersion}.Linux.x86_64-gnu.cuda-${fileVersionCuda}.cudnn${fileVersionCudnn}.tar.gz";
+        supportedCudaVersions = [ "10.2" ];
+      }
+    ];
+  };
+
+  # Default attributes
+  tensorRTDefaultVersion = {
+    "10.2" = "8.4.0";
+    "11.0" = "8.4.0";
+    "11.1" = "8.4.0";
+    "11.2" = "8.4.0";
+    "11.3" = "8.4.0";
+    "11.4" = "8.4.0";
+    "11.5" = "8.4.0";
+    "11.6" = "8.4.0";
+  }.${cudaVersion};
+
+in tensorRTPackages
diff --git a/pkgs/development/libraries/science/math/tensorrt/generic.nix b/pkgs/development/libraries/science/math/tensorrt/generic.nix
new file mode 100644
index 00000000000..3447087051f
--- /dev/null
+++ b/pkgs/development/libraries/science/math/tensorrt/generic.nix
@@ -0,0 +1,90 @@
+{ lib
+, stdenv
+, requireFile
+, autoPatchelfHook
+, autoAddOpenGLRunpathHook
+, cudaVersion
+, cudatoolkit
+, cudnn
+}:
+
+{ fullVersion
+, fileVersionCudnn
+, tarball
+, sha256
+, supportedCudaVersions ? [ ]
+}:
+
+assert lib.assertMsg (lib.strings.versionAtLeast cudnn.version fileVersionCudnn)
+  "This version of TensorRT requires at least cuDNN ${fileVersionCudnn} (current version is ${cudnn.version})";
+
+stdenv.mkDerivation rec {
+  pname = "cudatoolkit-${cudatoolkit.majorVersion}-tensorrt";
+  version = fullVersion;
+  src = requireFile rec {
+    name = tarball;
+    inherit sha256;
+    message = ''
+      To use the TensorRT derivation, you must join the NVIDIA Developer Program and
+      download the ${version} Linux x86_64 TAR package for CUDA ${cudaVersion} from
+      ${meta.homepage}.
+
+      Once you have downloaded the file, add it to the store with the following
+      command, and try building this derivation again.
+
+      $ nix-store --add-fixed sha256 ${name}
+    '';
+  };
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+    autoAddOpenGLRunpathHook
+  ];
+
+  # Used by autoPatchelfHook
+  buildInputs = [
+    cudatoolkit.cc.cc.lib # libstdc++
+    cudatoolkit
+    cudnn
+  ];
+
+  sourceRoot = "TensorRT-${version}";
+
+  installPhase = ''
+    install --directory "$dev" "$out"
+    mv include "$dev"
+    mv targets/x86_64-linux-gnu/lib "$out"
+    install -D --target-directory="$out/bin" targets/x86_64-linux-gnu/bin/trtexec
+  '';
+
+  # Tell autoPatchelf about runtime dependencies.
+  # (postFixup phase is run before autoPatchelfHook.)
+  postFixup =
+    let
+      mostOfVersion = builtins.concatStringsSep "."
+        (lib.take 3 (lib.versions.splitVersion version));
+    in
+    ''
+      echo 'Patching RPATH of libnvinfer libs'
+      patchelf --debug --add-needed libnvinfer.so \
+        "$out/lib/libnvinfer.so.${mostOfVersion}" \
+        "$out/lib/libnvinfer_plugin.so.${mostOfVersion}" \
+        "$out/lib/libnvinfer_builder_resource.so.${mostOfVersion}"
+    '';
+
+  meta = with lib; {
+    # Check that the cudatoolkit version satisfies our min/max constraints (both
+    # inclusive). We mark the package as broken if it fails to satisfies the
+    # official version constraints (as recorded in default.nix). In some cases
+    # you _may_ be able to smudge version constraints, just know that you're
+    # embarking into unknown and unsupported territory when doing so.
+    broken = !(elem cudaVersion supportedCudaVersions);
+    description = "TensorRT: a high-performance deep learning interface";
+    homepage = "https://developer.nvidia.com/tensorrt";
+    license = licenses.unfree;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ aidalgol ];
+  };
+}
diff --git a/pkgs/development/libraries/sentry-native/default.nix b/pkgs/development/libraries/sentry-native/default.nix
index 1c29b85bebe..a52751af71d 100644
--- a/pkgs/development/libraries/sentry-native/default.nix
+++ b/pkgs/development/libraries/sentry-native/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sentry-native";
-  version = "0.4.15";
+  version = "0.4.18";
 
   src = fetchFromGitHub {
     owner = "getsentry";
     repo = "sentry-native";
     rev = version;
-    sha256 = "sha256-XHJa4erDxSFiy0u8S9ODQlMNDb1wrz+d1PzWeq5BZLY=";
+    sha256 = "sha256-2WNmpx6ReVmsRvKHAaZznGuugvmLxK25P1WdmorNj/g=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/simpleitk/default.nix b/pkgs/development/libraries/simpleitk/default.nix
index a5a2c8846fe..71a3b7ffee7 100644
--- a/pkgs/development/libraries/simpleitk/default.nix
+++ b/pkgs/development/libraries/simpleitk/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "simpleitk";
-  version = "2.1.1.1";
+  version = "2.1.1.2";
 
   outputs = [ "out" "dev" ];
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner = "SimpleITK";
     repo = "SimpleITK";
     rev = "v${version}";
-    sha256 = "sha256-W53TbrgIwY9jj0GXz1LIrsBO9YL4VkH6531UYV0IqbE=";
+    sha256 = "sha256-sokJXOz6p+0eTeps5Tt24pjB3u+L1s6mDlaWN7K9m3g=";
   };
 
   nativeBuildInputs = [ cmake swig4 ];
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index e9fbc06090d..0c90d2a7060 100644
--- a/pkgs/development/libraries/sqlite/default.nix
+++ b/pkgs/development/libraries/sqlite/default.nix
@@ -17,13 +17,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "sqlite${optionalString interactive "-interactive"}";
-  version = "3.39.1";
+  version = "3.39.2";
 
   # nixpkgs-update: no auto update
   # NB! Make sure to update ./tools.nix src (in the same directory).
   src = fetchurl {
     url = "https://sqlite.org/2022/sqlite-autoconf-${archiveVersion version}.tar.gz";
-    sha256 = "sha256-h8jnp/oMaKso4gi6SfOiKlYADb9TpvkCBuK8WEOTHMQ=";
+    sha256 = "sha256-hSvophg6F7pHzuC7/3QAt6pa/9KDvzvu/DT80IiiOd4=";
   };
 
   outputs = [ "bin" "dev" "out" ];
diff --git a/pkgs/development/libraries/sqlite/tools.nix b/pkgs/development/libraries/sqlite/tools.nix
index df898863b0e..1d559dcb38b 100644
--- a/pkgs/development/libraries/sqlite/tools.nix
+++ b/pkgs/development/libraries/sqlite/tools.nix
@@ -4,12 +4,12 @@ let
   archiveVersion = import ./archive-version.nix lib;
   mkTool = { pname, makeTarget, description, homepage, mainProgram }: stdenv.mkDerivation rec {
     inherit pname;
-    version = "3.39.1";
+    version = "3.39.2";
 
     # nixpkgs-update: no auto update
     src = assert version == sqlite.version; fetchurl {
       url = "https://sqlite.org/2022/sqlite-src-${archiveVersion version}.zip";
-      sha256 = "sha256-Nmx6u+5dvoiCzXV4phpu0/XQjF9t41NaAAMSW0ZGzFc=";
+      sha256 = "sha256-6TPXcAD0Xz+8hgXwBQWGowE1Bajem0QDK9AO1y8VhvA=";
     };
 
     nativeBuildInputs = [ unzip ];
diff --git a/pkgs/development/libraries/tachyon/default.nix b/pkgs/development/libraries/tachyon/default.nix
index ed2819e88c1..64746d84572 100644
--- a/pkgs/development/libraries/tachyon/default.nix
+++ b/pkgs/development/libraries/tachyon/default.nix
@@ -9,10 +9,10 @@
 
 stdenv.mkDerivation rec {
   pname = "tachyon";
-  version = "0.99.4";
+  version = "0.99.5";
   src = fetchurl {
     url = "http://jedi.ks.uiuc.edu/~johns/tachyon/files/${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-vJvDHhLDp5rpH9KhXUtQaqfjyai0e3NMKOEkbhYuaA0=";
+    sha256 = "sha256-CSA8ECMRFJ9d9cw2dAn5bHJXQmZtGcJNtbqZTVqBpvU=";
   };
   buildInputs = lib.optionals stdenv.isDarwin [
     Carbon
diff --git a/pkgs/development/libraries/tinyxml-2/default.nix b/pkgs/development/libraries/tinyxml-2/default.nix
index 1e2eea7ac89..c576405bb3b 100644
--- a/pkgs/development/libraries/tinyxml-2/default.nix
+++ b/pkgs/development/libraries/tinyxml-2/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A simple, small, efficient, C++ XML parser";
-    homepage = "http://www.grinninglizard.com/tinyxml2/index.html";
+    homepage = "https://www.grinninglizard.com/tinyxml2/index.html";
     platforms = lib.platforms.unix;
     license = lib.licenses.zlib;
   };
diff --git a/pkgs/development/libraries/tkrzw/default.nix b/pkgs/development/libraries/tkrzw/default.nix
index ab7808b474c..fc90c6e304f 100644
--- a/pkgs/development/libraries/tkrzw/default.nix
+++ b/pkgs/development/libraries/tkrzw/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "tkrzw";
-  version = "1.0.21";
+  version = "1.0.24";
   # TODO: defeat multi-output reference cycles
 
   src = fetchurl {
     url = "https://dbmx.net/tkrzw/pkg/tkrzw-${version}.tar.gz";
-    hash = "sha256-1g3sIRXxYtD8XGVNpbn4HLTCi+xl2yfJklbUouMQcHs=";
+    hash = "sha256-G7SVKgU4b8I5iwAlGHL/w8z0fhI+Awe3V6aqFsOnUrA=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/tllist/default.nix b/pkgs/development/libraries/tllist/default.nix
index ed957f95776..e5cdad0aae6 100644
--- a/pkgs/development/libraries/tllist/default.nix
+++ b/pkgs/development/libraries/tllist/default.nix
@@ -5,16 +5,16 @@
 , ninja
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "tllist";
-  version = "1.0.5";
+  version = "1.1.0";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "dnkl";
     repo = "tllist";
-    rev = version;
-    sha256 = "wJEW7haQBtCR2rffKOFyqH3aq0eBr6H8T6gnBs2bNRg=";
+    rev = finalAttrs.version;
+    hash = "sha256-4WW0jGavdFO3LX9wtMPzz3Z1APCPgUQOktpmwAM0SQw=";
   };
 
   nativeBuildInputs = [ meson ninja ];
@@ -38,9 +38,8 @@ stdenv.mkDerivation rec {
       primitive data types are supported as well as aggregated ones such as
       structs, enums and unions.
     '';
-
     license = licenses.mit;
     maintainers = with maintainers; [ fionera AndersonTorres ];
     platforms = platforms.all;
   };
-}
+})
diff --git a/pkgs/development/libraries/tracker/default.nix b/pkgs/development/libraries/tracker/default.nix
index 45241eff47e..e8d6ed82ed0 100644
--- a/pkgs/development/libraries/tracker/default.nix
+++ b/pkgs/development/libraries/tracker/default.nix
@@ -74,6 +74,7 @@ stdenv.mkDerivation rec {
     json-glib
     libstemmer
     dbus
+  ] ++ lib.optionals stdenv.isLinux [
     systemd
   ];
 
@@ -90,21 +91,29 @@ stdenv.mkDerivation rec {
     [
       "--cross-file=${crossFile}"
     ]
-  );
+  ) ++ lib.optionals (!stdenv.isLinux) [
+    "-Dsystemd_user_services=false"
+  ];
 
   doCheck = true;
 
-  preCheck = ''
-    # (tracker-store:6194): Tracker-CRITICAL **: 09:34:07.722: Cannot initialize database: Could not open sqlite3 database:'/homeless-shelter/.cache/tracker/meta.db': unable to open database file
-    export HOME=$(mktemp -d)
-
-    # Our gobject-introspection patches make the shared library paths absolute
-    # in the GIR files. When running functional tests, the library is not yet installed,
-    # though, so we need to replace the absolute path with a local one during build.
-    # We are using a symlink that will be overridden during installation.
-    mkdir -p $out/lib
-    ln -s $PWD/src/libtracker-sparql/libtracker-sparql-3.0.so $out/lib/libtracker-sparql-3.0.so.0
-  '';
+  preCheck =
+    let
+      linuxDot0 = lib.optionalString stdenv.isLinux ".0";
+      darwinDot0 = lib.optionalString stdenv.isDarwin ".0";
+      extension = stdenv.hostPlatform.extensions.sharedLibrary;
+    in
+    ''
+      # (tracker-store:6194): Tracker-CRITICAL **: 09:34:07.722: Cannot initialize database: Could not open sqlite3 database:'/homeless-shelter/.cache/tracker/meta.db': unable to open database file
+      export HOME=$(mktemp -d)
+
+      # Our gobject-introspection patches make the shared library paths absolute
+      # in the GIR files. When running functional tests, the library is not yet installed,
+      # though, so we need to replace the absolute path with a local one during build.
+      # We are using a symlink that will be overridden during installation.
+      mkdir -p $out/lib
+      ln -s $PWD/src/libtracker-sparql/libtracker-sparql-3.0${darwinDot0}${extension} $out/lib/libtracker-sparql-3.0${darwinDot0}${extension}${linuxDot0}
+    '';
 
   checkPhase = ''
     runHook preCheck
@@ -134,6 +143,6 @@ stdenv.mkDerivation rec {
     description = "Desktop-neutral user information store, search tool and indexer";
     maintainers = teams.gnome.members;
     license = licenses.gpl2Plus;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/udns/default.nix b/pkgs/development/libraries/udns/default.nix
index fc0b4a42b55..da0554d49e6 100644
--- a/pkgs/development/libraries/udns/default.nix
+++ b/pkgs/development/libraries/udns/default.nix
@@ -16,7 +16,20 @@ stdenv.mkDerivation rec {
     sha256 = "0447fv1hmb44nnchdn6p5pd9b44x8p5jn0ahw6crwbqsg7f0hl8i";
   };
 
+  # udns uses a very custom build and hardcodes a .so name in a few places.
+  # Instead of fighting with it to apply the standard dylib script, change
+  # the right place in the Makefile itself.
+  postPatch =
+    if stdenv.isDarwin
+    then
+      ''
+        substituteInPlace Makefile.in \
+          --replace --soname, -install_name,$out/lib/
+      ''
+    else "";
+
   installPhase = ''
+    runHook preInstall
     mkdir -p $out/bin
     mkdir -p $out/include
     mkdir -p $out/lib
@@ -30,6 +43,7 @@ stdenv.mkDerivation rec {
     ln -rs $out/lib/libudns.so.0 $out/lib/libudns.so
     cp dnsget.1 rblcheck.1 $out/share/man/man1
     cp udns.3 $out/share/man/man3
+    runHook postInstall
   '';
 
   # keep man3
@@ -40,7 +54,7 @@ stdenv.mkDerivation rec {
     description = "Async-capable DNS stub resolver library";
     license = licenses.lgpl21Plus;
     maintainers = [ maintainers.womfoo ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 
 }
diff --git a/pkgs/development/libraries/uthenticode/default.nix b/pkgs/development/libraries/uthenticode/default.nix
index c342ee4d70d..06579c2d473 100644
--- a/pkgs/development/libraries/uthenticode/default.nix
+++ b/pkgs/development/libraries/uthenticode/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "uthenticode";
-  version = "1.0.8";
+  version = "1.0.9";
 
   src = fetchFromGitHub {
     owner = "trailofbits";
     repo = "uthenticode";
     rev = "v${version}";
-    hash = "sha256-H4fAHZM+vYaUkXZE4f7r2bxw9dno7O+lYrqQ9/6YPWA=";
+    hash = "sha256-MEpbvt03L501BP42j6S7rXE9j1d8j6D2Y5kgPNlbHzc=";
   };
 
   cmakeFlags = [ "-DBUILD_TESTS=1" "-DUSE_EXTERNAL_GTEST=1" ];
diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix
index 28dbfe79625..77cd8985c67 100644
--- a/pkgs/development/libraries/webkitgtk/default.nix
+++ b/pkgs/development/libraries/webkitgtk/default.nix
@@ -67,7 +67,7 @@
 
 stdenv.mkDerivation rec {
   pname = "webkitgtk";
-  version = "2.36.5";
+  version = "2.36.6";
 
   outputs = [ "out" "dev" ];
 
@@ -75,7 +75,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://webkitgtk.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "sha256-1VMvqITJQ9xI8ZEUc91mOrpAejs1yqewS6wUGbQeWQg=";
+    sha256 = "sha256-EZO8ghlGM2d28N+l4NylZR8eVxV+2hLaRyHSRB8kpho=";
   };
 
   patches = lib.optionals stdenv.isLinux [
diff --git a/pkgs/development/libraries/xdg-desktop-portal/default.nix b/pkgs/development/libraries/xdg-desktop-portal/default.nix
index 9cb96cc5d58..05b0f553448 100644
--- a/pkgs/development/libraries/xdg-desktop-portal/default.nix
+++ b/pkgs/development/libraries/xdg-desktop-portal/default.nix
@@ -27,7 +27,7 @@
 
 stdenv.mkDerivation rec {
   pname = "xdg-desktop-portal";
-  version = "1.14.5";
+  version = "1.15.0";
 
   outputs = [ "out" "installedTests" ];
 
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     owner = "flatpak";
     repo = pname;
     rev = version;
-    sha256 = "sha256-leLCG+ZdQ4zB1LsTN8gZh7yhJ7EZCYYyxwE3hR9vIkM=";
+    sha256 = "sha256-Kw3zJeGwPfw1fDo8HsgYmrpgCk/PUvWZPRloKJNAJVc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/xmlsec/default.nix b/pkgs/development/libraries/xmlsec/default.nix
index 187e6900aa0..e4c0e57e76c 100644
--- a/pkgs/development/libraries/xmlsec/default.nix
+++ b/pkgs/development/libraries/xmlsec/default.nix
@@ -4,11 +4,11 @@
 lib.fix (self:
 stdenv.mkDerivation rec {
   pname = "xmlsec";
-  version = "1.2.33";
+  version = "1.2.34";
 
   src = fetchurl {
     url = "https://www.aleksey.com/xmlsec/download/xmlsec1-${version}.tar.gz";
-    sha256 = "sha256-JgQdNaIKJF7Vovue4HXxCCVmTSdCIMtRkDQPqHpNCTE=";
+    sha256 = "sha256-Us7UlD81vX0IGKOCmMFSjKSsilRED9cRNKB9LRNwomI=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/yder/default.nix b/pkgs/development/libraries/yder/default.nix
index b5667f9cfe6..9ab0f5db747 100644
--- a/pkgs/development/libraries/yder/default.nix
+++ b/pkgs/development/libraries/yder/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "yder";
-  version = "1.4.15";
+  version = "1.4.17";
 
   src = fetchFromGitHub {
     owner = "babelouest";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-hPAL1UngodNbQCCdKulaF5faI0JOjmWdz3q8oyPH7C4=";
+    sha256 = "sha256-4o1sKxlWeAgZZm01sPV2yIR3xXZwzPJwqcGCkz6+Cfc=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/yder/fix-pkgconfig.patch b/pkgs/development/libraries/yder/fix-pkgconfig.patch
index 61a67c5897b..f68ce2a0213 100644
--- a/pkgs/development/libraries/yder/fix-pkgconfig.patch
+++ b/pkgs/development/libraries/yder/fix-pkgconfig.patch
@@ -1,9 +1,13 @@
---- i/libyder.pc.in
-+++ w/libyder.pc.in
+--- a/libyder.pc.in
++++ b/libyder.pc.in
 @@ -1,7 +1,5 @@
 -prefix=@CMAKE_INSTALL_PREFIX@
 -exec_prefix=@CMAKE_INSTALL_PREFIX@
--libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
--includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
+-libdir=@PKGCONFIG_TARGET_LIBDIR@
+-includedir=@PKGCONFIG_TARGET_INCLUDES@
 +libdir=@CMAKE_INSTALL_LIBDIR@
-+includedir=@CMAKE_INSTALL_INCLUDEDIR@
++includedir=@CMAKE_INSTALL_LIBDIR@
+
+ Name: @PROJECT_NAME@
+ Description: @PROJECT_DESCRIPTION@
+
diff --git a/pkgs/development/libraries/zchunk/default.nix b/pkgs/development/libraries/zchunk/default.nix
index 50b23a1d99d..815326e5383 100644
--- a/pkgs/development/libraries/zchunk/default.nix
+++ b/pkgs/development/libraries/zchunk/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zchunk";
-  version = "1.2.0";
+  version = "1.2.2";
 
   src = fetchFromGitHub {
     owner = "zchunk";
     repo = pname;
     rev = version;
-    hash = "sha256-7H1WF5VkpA65xCdEa0Sw4r4jj+kGhDVCMr5AeE+3Ii4=";
+    hash = "sha256-/gtkw020pybUDUeYydXgJ4PLvdOqZ0RbrLOfNMDaCmA=";
   };
 
   # unbreak on darwin by finding argp-standalone, based on the patch from
diff --git a/pkgs/development/libraries/zxcvbn-c/default.nix b/pkgs/development/libraries/zxcvbn-c/default.nix
index e74bb9ddc32..528d545c37c 100644
--- a/pkgs/development/libraries/zxcvbn-c/default.nix
+++ b/pkgs/development/libraries/zxcvbn-c/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchFromGitHub }:
 stdenv.mkDerivation rec {
   pname = "zxcvbn-c";
-  version = "2.4";
+  version = "2.5";
 
   src = fetchFromGitHub {
     owner = "tsyrogit";
     repo = "zxcvbn-c";
     rev = "v${version}";
-    sha256 = "12ksdnpxlqlmg9zhyyk3bspcf0sfj5zk735vr4ry635qi7gzcaas";
+    sha256 = "sha256-RKqbv0iGkjS7Y7KikqglZ+AK1oiw4G1mB2Zg87tOlbI=";
   };
 
   installPhase = ''
diff --git a/pkgs/development/lua-modules/generated-packages.nix b/pkgs/development/lua-modules/generated-packages.nix
index 22570d3fbb4..e20f45df46c 100644
--- a/pkgs/development/lua-modules/generated-packages.nix
+++ b/pkgs/development/lua-modules/generated-packages.nix
@@ -1161,6 +1161,40 @@ buildLuarocksPackage {
   };
 }) {};
 
+lua-protobuf = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
+, fetchgit, lua
+}:
+buildLuarocksPackage {
+  pname = "lua-protobuf";
+  version = "0.4.0-1";
+  knownRockspec = (fetchurl {
+    url    = "mirror://luarocks/lua-protobuf-0.4.0-1.rockspec";
+    sha256 = "053r6z37847wm1xaxv5rwplmdqkp507qawgd382z0l7m05f06ls9";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/starwing/lua-protobuf.git",
+  "rev": "832facd266366cd86ee9bf41d35327255d0033f2",
+  "date": "2022-07-27T14:34:12+08:00",
+  "path": "/nix/store/g68x4cbi6ssd5zak14r5cbi7k88d3ml9-lua-protobuf",
+  "sha256": "0ynfq0va4w8zlr67ld6v9nmi5mnvchfygd8h5jbwk2vzlj9hg2yw",
+  "fetchLFS": false,
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
+
+  disabled = with lua; (luaOlder "5.1");
+  propagatedBuildInputs = [ lua ];
+
+  meta = {
+    homepage = "https://github.com/starwing/lua-protobuf";
+    description = "protobuf data support for Lua";
+    maintainers = with lib.maintainers; [ lockejan ];
+    license.fullName = "MIT";
+  };
+}) {};
+
 lua-resty-http = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
 , fetchgit, lua
 }:
@@ -1323,6 +1357,37 @@ buildLuarocksPackage {
   };
 }) {};
 
+lua-subprocess = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
+, fetchgit, lua
+}:
+buildLuarocksPackage {
+  pname = "subprocess";
+  version = "scm-1";
+
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/0x0ade/lua-subprocess.git",
+  "rev": "bfa8e97da774141f301cfd1106dca53a30a4de54",
+  "date": "2021-01-09T22:31:54+01:00",
+  "path": "/nix/store/3lr7n1k85kbf718wxr51xd40i8dfs5qd-lua-subprocess",
+  "sha256": "0p91hda0b0hpgdbff5drcyygaizq086gw8vnvzn0y0fg3mc9if70",
+  "fetchLFS": false,
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
+
+  disabled = with lua; (luaOlder "5.1");
+  propagatedBuildInputs = [ lua ];
+
+  meta = {
+    homepage = "https://github.com/xlq/lua-subprocess";
+    description = "A Lua module written in C that allows you to create child processes and communicate with them.";
+    maintainers = with lib.maintainers; [ scoder12 ];
+    license.fullName = "MIT";
+  };
+}) {};
+
 lua-term = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
 , fetchurl}:
 buildLuarocksPackage {
@@ -2138,6 +2203,32 @@ buildLuarocksPackage {
   };
 }) {};
 
+luaunit = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
+, fetchurl, lua
+}:
+buildLuarocksPackage {
+  pname = "luaunit";
+  version = "3.4-1";
+  knownRockspec = (fetchurl {
+    url    = "mirror://luarocks/luaunit-3.4-1.rockspec";
+    sha256 = "111435fa8p2819vcvg76qmknj0wqk01gy9d1nh55c36616xnj54n";
+  }).outPath;
+  src = fetchurl {
+    url    = "https://github.com/bluebird75/luaunit/releases/download/LUAUNIT_V3_4/rock-luaunit-3.4.zip";
+    sha256 = "1v8nkiwz2nr242h5cl4af6vmn5gxmn94skps1qhb55ak60j20nvr";
+  };
+
+  disabled = with lua; (luaOlder "5.1") || (luaAtLeast "5.5");
+  propagatedBuildInputs = [ lua lua ];
+
+  meta = {
+    homepage = "http://github.com/bluebird75/luaunit";
+    description = "A unit testing framework for Lua";
+    maintainers = with lib.maintainers; [ lockejan ];
+    license.fullName = "BSD";
+  };
+}) {};
+
 luautf8 = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
 , fetchurl, lua
 }:
@@ -2546,6 +2637,39 @@ buildLuarocksPackage {
   };
 }) {};
 
+serpent = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
+, fetchgit, lua
+}:
+buildLuarocksPackage {
+  pname = "serpent";
+  version = "0.30-2";
+  knownRockspec = (fetchurl {
+    url    = "mirror://luarocks/serpent-0.30-2.rockspec";
+    sha256 = "0v83lr9ars1n0djbh7np8jjqdhhaw0pdy2nkcqzqrhv27rzv494n";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/pkulchenko/serpent",
+  "rev": "d78683597606c6e13a1fed039bc91d86eb8f600f",
+  "date": "2017-09-01T21:35:14-07:00",
+  "path": "/nix/store/z6df44n3p07n4bia7s514vgngbkbpnap-serpent",
+  "sha256": "0q80yfrgqgr01qprf0hrp284ngb7fbcq1v9rbzmdkhbm9lpgy8v8",
+  "fetchLFS": false,
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
+
+  disabled = with lua; (luaOlder "5.1") || (luaAtLeast "5.5");
+  propagatedBuildInputs = [ lua ];
+
+  meta = {
+    homepage = "https://github.com/pkulchenko/serpent";
+    description = "Lua serializer and pretty printer";
+    license.fullName = "MIT";
+  };
+}) {};
+
 sqlite = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
 , fetchgit, luv
 }:
diff --git a/pkgs/development/lua-modules/nfd/default.nix b/pkgs/development/lua-modules/nfd/default.nix
new file mode 100644
index 00000000000..6605202f6bd
--- /dev/null
+++ b/pkgs/development/lua-modules/nfd/default.nix
@@ -0,0 +1,41 @@
+{ fetchFromGitHub, buildLuarocksPackage, lua, maintainers, pkg-config
+, substituteAll, zenity }:
+
+buildLuarocksPackage {
+  pname = "nfd";
+  version = "scm-1";
+
+  src = fetchFromGitHub {
+    owner = "Vexatos";
+    repo = "nativefiledialog";
+    rev = "2f74a5758e8df9b27158d444953697bc13fe90d8";
+    sha256 = "1f52mb0s9zrpsqjp10bx92wzqmy1lq7fg1fk1nd6xmv57kc3b1qv";
+    fetchSubmodules = true;
+  };
+
+  # use zenity because default gtk impl just crashes
+  patches = [
+    (substituteAll {
+      src = ./zenity.patch;
+      inherit zenity;
+    })
+  ];
+  rockspecDir = "lua";
+
+  extraVariables.LUA_LIBDIR = "${lua}/lib";
+  nativeBuildInputs = [ pkg-config ];
+
+  fixupPhase = ''
+    find $out -name nfd_zenity.so -execdir mv {} nfd.so \;
+  '';
+
+  disabled = with lua; (luaversion != "5.1");
+
+  meta = {
+    description =
+      "A tiny, neat lua library that portably invokes native file open and save dialogs.";
+    homepage = "https://github.com/Alloyed/nativefiledialog/tree/master/lua";
+    license.fullName = "zlib";
+    maintainers = [ maintainers.scoder12 ];
+  };
+}
diff --git a/pkgs/development/lua-modules/nfd/zenity.patch b/pkgs/development/lua-modules/nfd/zenity.patch
new file mode 100644
index 00000000000..59a91e0e546
--- /dev/null
+++ b/pkgs/development/lua-modules/nfd/zenity.patch
@@ -0,0 +1,47 @@
+diff --git a/lua/Makefile.linux b/lua/Makefile.linux
+index 9f5aa68..77660d4 100644
+--- a/lua/Makefile.linux
++++ b/lua/Makefile.linux
+@@ -37,5 +37,5 @@ nfd_zenity.o: src/nfd_zenity.c
+ clean: 
+ 	rm nfd_common.o nfd_gtk.o nfd_wrap_lua.o nfd.so
+ 
+-install: nfd.so
+-	cp nfd.so $(INST_LIBDIR)
++install:
++	cp nfd*.so $(INST_LIBDIR)
+diff --git a/lua/nfd-scm-1.rockspec b/lua/nfd-scm-1.rockspec
+index 503399d..2d0a7da 100644
+--- a/lua/nfd-scm-1.rockspec
++++ b/lua/nfd-scm-1.rockspec
+@@ -17,9 +17,6 @@ supported_platforms = { "linux", "macosx", "windows" }
+ external_dependencies = {
+    platforms = {
+       linux = {
+-         gtk3 = {
+-            library = "gtk-3",
+-         }
+       }
+    }
+ }
+@@ -28,6 +25,7 @@ build = {
+       linux = {
+          type = "make",
+          makefile = "lua/Makefile.linux",
++         build_target = "nfd_zenity.so",
+          build_variables = {
+             CFLAGS="$(CFLAGS)",
+             LIBFLAG="$(LIBFLAG)",
+diff --git a/src/nfd_zenity.c b/src/nfd_zenity.c
+index 43ccc6d..3fcdea0 100644
+--- a/src/nfd_zenity.c
++++ b/src/nfd_zenity.c
+@@ -109,6 +109,8 @@ ZenityCommon(char**      command,
+         command[i] = tmp;
+     }
+ 
++    // caller always sets command[0] to "zenity"
++    command[0] = strdup("@zenity@/bin/zenity");
+     AddFiltersToCommandArgs(command, commandLen, filterList);
+ 
+     int byteCount = 0;
diff --git a/pkgs/development/nim-packages/flatty/default.nix b/pkgs/development/nim-packages/flatty/default.nix
index 5e542d22e4a..31abbfbdd21 100644
--- a/pkgs/development/nim-packages/flatty/default.nix
+++ b/pkgs/development/nim-packages/flatty/default.nix
@@ -2,13 +2,13 @@
 
 buildNimPackage rec {
   pname = "flatty";
-  version = "0.2.3";
+  version = "0.3.4";
 
   src = fetchFromGitHub {
     owner = "treeform";
     repo = pname;
     rev = version;
-    hash = "sha256-1tPLtnlGtE4SF5/ti/2svvYHpEy/0Za5N4YAOHFOyjA=";
+    hash = "sha256-ZmhjehmEJHm5qNlsGQvyYLajUdwhWt1+AtRppRrNtgA=";
   };
 
   doCheck = true;
diff --git a/pkgs/development/node-packages/main-programs.nix b/pkgs/development/node-packages/main-programs.nix
index 8004f2025a9..3e6cd708dcb 100644
--- a/pkgs/development/node-packages/main-programs.nix
+++ b/pkgs/development/node-packages/main-programs.nix
@@ -5,7 +5,7 @@
   "@antfu/ni" = "ni";
   "@electron-forge/cli" = "electron-forge";
   "@squoosh/cli" = "squoosh-cli";
-  "@webassemblyjs/cli" = "wasm2wast";
+  "@webassemblyjs/cli-1.11.1" = "wasm2wast";
   coffee-script = "coffee";
   typescript = "tsc";
   vue-cli = "vue";
@@ -28,10 +28,10 @@
   "@tailwindcss/language-server" = "tailwindcss-language-server";
   "@uppy/companion" = "companion";
   "@vue/cli" = "vue";
-  "@webassemblyjs/repl" = "wasm";
+  "@webassemblyjs/repl-1.11.1" = "wasm";
   "@webassemblyjs/wasm-strip" = "wasm-strip";
-  "@webassemblyjs/wasm-text-gen" = "wasmgen";
-  "@webassemblyjs/wast-refmt" = "wast-refmt";
+  "@webassemblyjs/wasm-text-gen-1.11.1" = "wasmgen";
+  "@webassemblyjs/wast-refmt-1.11.1" = "wast-refmt";
   aws-cdk = "cdk";
   balanceofsatoshis = "bos";
   carbon-now-cli = "carbon-now";
diff --git a/pkgs/development/node-packages/node-packages.json b/pkgs/development/node-packages/node-packages.json
index 0be9b1a27f4..61fbfa7be2e 100644
--- a/pkgs/development/node-packages/node-packages.json
+++ b/pkgs/development/node-packages/node-packages.json
@@ -21,11 +21,11 @@
 , "@tailwindcss/typography"
 , "@uppy/companion"
 , "@vue/cli"
-, "@webassemblyjs/cli"
-, "@webassemblyjs/repl"
+, {"@webassemblyjs/cli": "1.11.1"}
+, {"@webassemblyjs/repl": "1.11.1"}
 , "@webassemblyjs/wasm-strip"
-, "@webassemblyjs/wasm-text-gen"
-, "@webassemblyjs/wast-refmt"
+, {"@webassemblyjs/wasm-text-gen": "1.11.1"}
+, {"@webassemblyjs/wast-refmt": "1.11.1"}
 , "alex"
 , "alloy"
 , "antennas"
diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix
index 28c3b391186..b59709a3850 100644
--- a/pkgs/development/node-packages/node-packages.nix
+++ b/pkgs/development/node-packages/node-packages.nix
@@ -58,15 +58,6 @@ let
         sha512 = "K7EO1cd89xNdwctQaR2bY9aQFDArSIrYGSWSDCnqG7RKIZ1J+XASkKVylW9NCIeVcguD6Qemxai8ZFCWg9lLFg==";
       };
     };
-    "@alexbosworth/fiat-1.0.2" = {
-      name = "_at_alexbosworth_slash_fiat";
-      packageName = "@alexbosworth/fiat";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@alexbosworth/fiat/-/fiat-1.0.2.tgz";
-        sha512 = "gouPoWdQ6NyIqsISkx526taLlnPB13SPJji4qRZ+MWf8Z60Bn6lF0xmoIEn+hpkTrSH+k9P9HvC2ENqfhq1YdQ==";
-      };
-    };
     "@alexbosworth/fiat-1.0.3" = {
       name = "_at_alexbosworth_slash_fiat";
       packageName = "@alexbosworth/fiat";
@@ -121,94 +112,94 @@ let
         sha512 = "qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==";
       };
     };
-    "@angular-devkit/architect-0.1400.2" = {
+    "@angular-devkit/architect-0.1401.1" = {
       name = "_at_angular-devkit_slash_architect";
       packageName = "@angular-devkit/architect";
-      version = "0.1400.2";
+      version = "0.1401.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1400.2.tgz";
-        sha512 = "L+QIaN17M2APAJ4v3eVOSohqhnqTloDjT4omdaPA9XZpob+WQ6+ALCvMuEczCRrGBskXiOsBgXeyMjGBtq1+pw==";
+        url = "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1401.1.tgz";
+        sha512 = "HIFrIwbjfXCOjbGlMpHzG3oQG0nM1opaFSeKi+JjzTIb0jWq2s8sJfn4tGOZEJU8aKtDpNYMcW+N3F0grZdR8w==";
       };
     };
-    "@angular-devkit/core-13.3.5" = {
+    "@angular-devkit/core-14.0.5" = {
       name = "_at_angular-devkit_slash_core";
       packageName = "@angular-devkit/core";
-      version = "13.3.5";
+      version = "14.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.5.tgz";
-        sha512 = "w7vzK4VoYP9rLgxJ2SwEfrkpKybdD+QgQZlsDBzT0C6Ebp7b4gkNcNVFo8EiZvfDl6Yplw2IAP7g7fs3STn0hQ==";
+        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-14.0.5.tgz";
+        sha512 = "/CUGi6QLwh79FvsOY7M+1LQL3asZsbQW/WBd5f1iu5y7TLNqCwo+wOb0ZXLDNPw45vYBxFajtt3ob3U7qx3jNg==";
       };
     };
-    "@angular-devkit/core-14.0.2" = {
+    "@angular-devkit/core-14.1.1" = {
       name = "_at_angular-devkit_slash_core";
       packageName = "@angular-devkit/core";
-      version = "14.0.2";
+      version = "14.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-14.0.2.tgz";
-        sha512 = "lT875LhgO+23HvjUmuCZomH/0ivetzo8xsaT+7YM8SeUpmjsNTpTA/xNAQ4uD4JGscsJeCKsGT/zJIwPAAe6vQ==";
+        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-14.1.1.tgz";
+        sha512 = "i5SiU/9xqKbhi5A2kq7ME5KWNXtVIlSLZ/HslGjsolZ4CO0LiZanywcE/HGL7681RVaWVeeSndmKQtqY3mPuNQ==";
       };
     };
-    "@angular-devkit/schematics-13.3.5" = {
+    "@angular-devkit/schematics-14.0.5" = {
       name = "_at_angular-devkit_slash_schematics";
       packageName = "@angular-devkit/schematics";
-      version = "13.3.5";
+      version = "14.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.5.tgz";
-        sha512 = "0N/kL/Vfx0yVAEwa3HYxNx9wYb+G9r1JrLjJQQzDp+z9LtcojNf7j3oey6NXrDUs1WjVZOa/AIdRl3/DuaoG5w==";
+        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-14.0.5.tgz";
+        sha512 = "sufxITBkn2MvgEREt9JQ3QCKHS+sue1WsVzLE+TWqG5MC/RPk0f9tQ5VoHk6ZTzDKUvOtSoc7G+n0RscQsyp5g==";
       };
     };
-    "@angular-devkit/schematics-14.0.2" = {
+    "@angular-devkit/schematics-14.1.1" = {
       name = "_at_angular-devkit_slash_schematics";
       packageName = "@angular-devkit/schematics";
-      version = "14.0.2";
+      version = "14.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-14.0.2.tgz";
-        sha512 = "NCAYwvQBL71MbAzeF8XOM9LXYfZbUK7THYCW8UteKDY4Df6EdVOGhBdWY2LstAkZeVCaQWSJU7FcVRS9Ulvg0A==";
+        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-14.1.1.tgz";
+        sha512 = "9ymklxBm6ZxB4dvfsowyHQRx+DE7lQShDDMnwT2mPtH7SwbaLEUz02aL4W5BsuR6U1W+M181pZ4Igb3oq0AEoA==";
       };
     };
-    "@angular-devkit/schematics-cli-13.3.5" = {
+    "@angular-devkit/schematics-cli-14.0.5" = {
       name = "_at_angular-devkit_slash_schematics-cli";
       packageName = "@angular-devkit/schematics-cli";
-      version = "13.3.5";
+      version = "14.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/schematics-cli/-/schematics-cli-13.3.5.tgz";
-        sha512 = "ARX20ebtfwzef8GdXIcB6uv0sjTsaEniZyXBFchEKD6kR5EYZVaBL+ZVUbmsU1d0XY///WzW7pqwCyu5H1u+vw==";
+        url = "https://registry.npmjs.org/@angular-devkit/schematics-cli/-/schematics-cli-14.0.5.tgz";
+        sha512 = "S+u0KjglyI3jEZWwIuBvFjEwY3Zk5lCWfhet+95sFKJEjEYgF4Fuk8Mau/9cr55hIcpZqTQUvyxnS/VDoj4WLg==";
       };
     };
-    "@antora/asciidoc-loader-3.0.1" = {
+    "@antora/asciidoc-loader-3.0.3" = {
       name = "_at_antora_slash_asciidoc-loader";
       packageName = "@antora/asciidoc-loader";
-      version = "3.0.1";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/asciidoc-loader/-/asciidoc-loader-3.0.1.tgz";
-        sha512 = "tWMCLn2TFdEi4OcC8rQrMUW+NTRBmXW6MV5Z0wM/A0I9f8aMyhWHeOi8Bym/l/VumOfup24fjRtgv3XRNCHHlA==";
+        url = "https://registry.npmjs.org/@antora/asciidoc-loader/-/asciidoc-loader-3.0.3.tgz";
+        sha512 = "pr6fyYCkvaSlfh6zW9kBFdzCAZnHIo3JZmEa6r6amrCz5SVV+DYjThnC5pn0V1AqHCL4ZGoRxb+7YlT4093jDg==";
       };
     };
-    "@antora/content-aggregator-3.0.1" = {
+    "@antora/content-aggregator-3.0.3" = {
       name = "_at_antora_slash_content-aggregator";
       packageName = "@antora/content-aggregator";
-      version = "3.0.1";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/content-aggregator/-/content-aggregator-3.0.1.tgz";
-        sha512 = "SVF8ewmuezlWk9Xx0A+8WAvGmbx32wzuBQCcUSSk1d4dMjTjVD3C9QEgEWVrchKs18IZObSQ6hP7l1lQPSg/Fw==";
+        url = "https://registry.npmjs.org/@antora/content-aggregator/-/content-aggregator-3.0.3.tgz";
+        sha512 = "j1XBDoN58o/FmxTvauw5ndtrScOq2uozkgDMpigdFoplGL79HKwHQcxCMSLOaatJNb1Y9xtfH22ZfqRPb7SCbw==";
       };
     };
-    "@antora/content-classifier-3.0.1" = {
+    "@antora/content-classifier-3.0.3" = {
       name = "_at_antora_slash_content-classifier";
       packageName = "@antora/content-classifier";
-      version = "3.0.1";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/content-classifier/-/content-classifier-3.0.1.tgz";
-        sha512 = "Ns7b71Y5ML8zbOEu5mVU6Neg9ETu4jILPKh30loQRAddLe9MPM05lnGv1asfc0r10H/Gw8aXtvPQV/0w0yrFgw==";
+        url = "https://registry.npmjs.org/@antora/content-classifier/-/content-classifier-3.0.3.tgz";
+        sha512 = "F7lerJl1ijb6ZDqErHRNgT71Q4aQff4syIqYI248yAxuyfS+EnIQHJlT6lvomXO7AFnAKWjFqqtTI7rfW6LdLA==";
       };
     };
-    "@antora/document-converter-3.0.1" = {
+    "@antora/document-converter-3.0.3" = {
       name = "_at_antora_slash_document-converter";
       packageName = "@antora/document-converter";
-      version = "3.0.1";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/document-converter/-/document-converter-3.0.1.tgz";
-        sha512 = "mVc5vH6MlCfoSLsJPN0+OfWp6XEakAYWfsHDXYXgufTSkHk01l0WzFxkBxp5pbsqW0ZitA38w7tsd0M4JyY//g==";
+        url = "https://registry.npmjs.org/@antora/document-converter/-/document-converter-3.0.3.tgz";
+        sha512 = "U/+ygiqLFWCEM5CYCaY5oFQyKM0dfJpKM9gLzWjP33tqGvzqcDe2Jqtr4UUh+U81BHM6ffC+TAEkMyLpunCecw==";
       };
     };
     "@antora/expand-path-helper-2.0.0" = {
@@ -220,94 +211,94 @@ let
         sha512 = "CSMBGC+tI21VS2kGW3PV7T2kQTM5eT3f2GTPVLttwaNYbNxDve08en/huzszHJfxo11CcEs26Ostr0F2c1QqeA==";
       };
     };
-    "@antora/file-publisher-3.0.1" = {
+    "@antora/file-publisher-3.0.3" = {
       name = "_at_antora_slash_file-publisher";
       packageName = "@antora/file-publisher";
-      version = "3.0.1";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/file-publisher/-/file-publisher-3.0.1.tgz";
-        sha512 = "mHrFDSSBwQvWKeGDSCD7VotGq149dgc+n6e0u0auKbYr6KNcbCHpVEN/Qlv36JHW4AwBMQQs/hZxBfq/S5nzgw==";
+        url = "https://registry.npmjs.org/@antora/file-publisher/-/file-publisher-3.0.3.tgz";
+        sha512 = "EB15WaWYjTNDbc5Vff+jK1Lt8YqbQXOnt5c57TslFnIJylyTU9dd/BRaMw8jVMP60FKaLgQ0OSo3X2tjJQy9Ww==";
       };
     };
-    "@antora/logger-3.0.1" = {
+    "@antora/logger-3.0.3" = {
       name = "_at_antora_slash_logger";
       packageName = "@antora/logger";
-      version = "3.0.1";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/logger/-/logger-3.0.1.tgz";
-        sha512 = "JZqpUnzAvO7gFJ83u4pob+i2WHtMPAAactIlLGhjQD9kyObw5C1ubmldE4qeop0389c18x+2/eYlFHF9/d602w==";
+        url = "https://registry.npmjs.org/@antora/logger/-/logger-3.0.3.tgz";
+        sha512 = "68oZfE1C02HJ8lEoBX0P0n3F5UYhOtKBJlRq0AXzWAORyUXCe25KmWjYKpneEqypCms8n7L/6e7nwATEY6hZIQ==";
       };
     };
-    "@antora/navigation-builder-3.0.1" = {
+    "@antora/navigation-builder-3.0.3" = {
       name = "_at_antora_slash_navigation-builder";
       packageName = "@antora/navigation-builder";
-      version = "3.0.1";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/navigation-builder/-/navigation-builder-3.0.1.tgz";
-        sha512 = "o9DBSXWLifGb5CsKHB1ZDP5GgS412eY6XD16RP4nK0uGoW2NQjcDMYzt1m6IgD/XWVXMIbwfJa1JunlCM02upQ==";
+        url = "https://registry.npmjs.org/@antora/navigation-builder/-/navigation-builder-3.0.3.tgz";
+        sha512 = "HMXjD3EKnze5bbLRFtJPwGYIVJpqTOpt01BCDKMmDUnm53uGgHXy3Ca4vtZBYAwhIfxsMKLxBtObSDO4d0RqHQ==";
       };
     };
-    "@antora/page-composer-3.0.1" = {
+    "@antora/page-composer-3.0.3" = {
       name = "_at_antora_slash_page-composer";
       packageName = "@antora/page-composer";
-      version = "3.0.1";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/page-composer/-/page-composer-3.0.1.tgz";
-        sha512 = "a0ShNaAKlB4Fpsw7xeoE0/+kYah07p+VQXmZpjDhsu4CaHv4D2ufVgBSTjvK2zzXJwa+dwUNyrLpupE+usa3bw==";
+        url = "https://registry.npmjs.org/@antora/page-composer/-/page-composer-3.0.3.tgz";
+        sha512 = "2zJEQjFrAbOqkVt2qDVyTnw6d/bZrp/yHUmqwUoN7wqG7uPkd/Q0+/Fdfj7loQ4qtKtw9Qy3xtva04vavlkxmw==";
       };
     };
-    "@antora/playbook-builder-3.0.1" = {
+    "@antora/playbook-builder-3.0.3" = {
       name = "_at_antora_slash_playbook-builder";
       packageName = "@antora/playbook-builder";
-      version = "3.0.1";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/playbook-builder/-/playbook-builder-3.0.1.tgz";
-        sha512 = "+L5aCHPf9AJ4BGYlWio2WmpoLZz9Ju6lkT+Ept8R0GjkdhIte01czQ9dXAXcSNNFtC9C82as3WqNJWHPfO+icw==";
+        url = "https://registry.npmjs.org/@antora/playbook-builder/-/playbook-builder-3.0.3.tgz";
+        sha512 = "LTXYCSlLfzEPSkI7dXv5vSHnGx+fvY8uu1v/p3fNgqDOtLonJUfibMtLwE93AuHTkCNJeO5MmGzp8RURmGgYlw==";
       };
     };
-    "@antora/redirect-producer-3.0.1" = {
+    "@antora/redirect-producer-3.0.3" = {
       name = "_at_antora_slash_redirect-producer";
       packageName = "@antora/redirect-producer";
-      version = "3.0.1";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/redirect-producer/-/redirect-producer-3.0.1.tgz";
-        sha512 = "NA5J4nzX1EUQyA3R79fYidG1XieEqZnDegaMDuQC9T7eBSA4B7AMKtPPnvWs2botzi+cK+Y0Eazg/ynOiWW+LA==";
+        url = "https://registry.npmjs.org/@antora/redirect-producer/-/redirect-producer-3.0.3.tgz";
+        sha512 = "xugXc8t4WCdqLRovnFj1Kfzk/MVTGM/pYaveICh4Xnx37anOlYfgE4/mrUN9OXopXZ1hno3Tgajd4xar9ENELA==";
       };
     };
-    "@antora/site-generator-3.0.1" = {
+    "@antora/site-generator-3.0.3" = {
       name = "_at_antora_slash_site-generator";
       packageName = "@antora/site-generator";
-      version = "3.0.1";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/site-generator/-/site-generator-3.0.1.tgz";
-        sha512 = "/fCgSYrW+Wh7rd6vB8YPQWPMgkwF17rYOmHWuU+xYcjQOwB1UQgTNuD2vXXgaQNEBkzAOTGhWQW4pWU2Mp4qZA==";
+        url = "https://registry.npmjs.org/@antora/site-generator/-/site-generator-3.0.3.tgz";
+        sha512 = "yFnx2Vskq2inOZR0he8cu49b8UPfrv6FKB7uBvID5NbKxTO0XV51TemOxdnD/jePpFbpAOPp9PhCQl6Tb4R46g==";
       };
     };
-    "@antora/site-mapper-3.0.1" = {
+    "@antora/site-mapper-3.0.3" = {
       name = "_at_antora_slash_site-mapper";
       packageName = "@antora/site-mapper";
-      version = "3.0.1";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/site-mapper/-/site-mapper-3.0.1.tgz";
-        sha512 = "XtBj5vHDiKBZ6P4z6RGWSFpRa/HYcTafZpG46ykI2xWtq18Q8PyFHx5VMQXeClQVy8WbwBIa/ITKAP7MCLLRww==";
+        url = "https://registry.npmjs.org/@antora/site-mapper/-/site-mapper-3.0.3.tgz";
+        sha512 = "h/qazt3LpB2PauYPudFpedGf4jk+Yj9FqKqiy05YH0ah660r+L3IDlZS3WT9UpKWdsYotobhVU6IRgCzlorRjg==";
       };
     };
-    "@antora/site-publisher-3.0.1" = {
+    "@antora/site-publisher-3.0.3" = {
       name = "_at_antora_slash_site-publisher";
       packageName = "@antora/site-publisher";
-      version = "3.0.1";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/site-publisher/-/site-publisher-3.0.1.tgz";
-        sha512 = "oxG7+58J5oYmKTpHW98B61yf82kjltAxr5TQSe8LcZrI/jHFqFpNKwieDHKoTUVdes4xge0hHc3+IJatHWIoeQ==";
+        url = "https://registry.npmjs.org/@antora/site-publisher/-/site-publisher-3.0.3.tgz";
+        sha512 = "bxtTzrZ1DeleGl9uJ/T+DFosr1moHOsg0j37hzkoc4f6/jaPj6O1z9by2i7rE3tdvtaxXe0o7hBiZ4qM+f37Kg==";
       };
     };
-    "@antora/ui-loader-3.0.1" = {
+    "@antora/ui-loader-3.0.3" = {
       name = "_at_antora_slash_ui-loader";
       packageName = "@antora/ui-loader";
-      version = "3.0.1";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@antora/ui-loader/-/ui-loader-3.0.1.tgz";
-        sha512 = "grtqiB3DiO8mJLWP3/Pu0c7Zu6rF2nkaNBX5NXFoyy7KZ+FJke20WVjuPDzyu7l6mOpjz3kHDXS8xskQ8pvu7g==";
+        url = "https://registry.npmjs.org/@antora/ui-loader/-/ui-loader-3.0.3.tgz";
+        sha512 = "uoSoi4HcEVu+5M94+QE0fGOECtEj3GjeEIIsdSVOp1UZeI1urn3M7YHxQ/MBhXKwihMZjmajvrRL0XKnRp0IFw==";
       };
     };
     "@antora/user-require-helper-2.0.0" = {
@@ -328,13 +319,85 @@ let
         sha512 = "GBD2Le9w2+lVFoc4vswGI/TjkNIZSVp7+9xPf+X3uidBfWnAeUWmquteSyt0+VCrhNMWj/FTABISQrD3Z/YA+w==";
       };
     };
-    "@apollo/protobufjs-1.2.2" = {
+    "@apollo/protobufjs-1.2.4" = {
       name = "_at_apollo_slash_protobufjs";
       packageName = "@apollo/protobufjs";
-      version = "1.2.2";
+      version = "1.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@apollo/protobufjs/-/protobufjs-1.2.4.tgz";
+        sha512 = "npVJ9NVU/pynj+SCU+fambvTneJDyCnif738DnZ7pCxdDtzeEz7WkpSIq5wNUmWm5Td55N+S2xfqZ+WP4hDLng==";
+      };
+    };
+    "@apollo/utils.dropunuseddefinitions-1.1.0" = {
+      name = "_at_apollo_slash_utils.dropunuseddefinitions";
+      packageName = "@apollo/utils.dropunuseddefinitions";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@apollo/utils.dropunuseddefinitions/-/utils.dropunuseddefinitions-1.1.0.tgz";
+        sha512 = "jU1XjMr6ec9pPoL+BFWzEPW7VHHulVdGKMkPAMiCigpVIT11VmCbnij0bWob8uS3ODJ65tZLYKAh/55vLw2rbg==";
+      };
+    };
+    "@apollo/utils.keyvaluecache-1.0.1" = {
+      name = "_at_apollo_slash_utils.keyvaluecache";
+      packageName = "@apollo/utils.keyvaluecache";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-1.0.1.tgz";
+        sha512 = "nLgYLomqjVimEzQ4cdvVQkcryi970NDvcRVPfd0OPeXhBfda38WjBq+WhQFk+czSHrmrSp34YHBxpat0EtiowA==";
+      };
+    };
+    "@apollo/utils.logger-1.0.0" = {
+      name = "_at_apollo_slash_utils.logger";
+      packageName = "@apollo/utils.logger";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@apollo/utils.logger/-/utils.logger-1.0.0.tgz";
+        sha512 = "dx9XrjyisD2pOa+KsB5RcDbWIAdgC91gJfeyLCgy0ctJMjQe7yZK5kdWaWlaOoCeX0z6YI9iYlg7vMPyMpQF3Q==";
+      };
+    };
+    "@apollo/utils.printwithreducedwhitespace-1.1.0" = {
+      name = "_at_apollo_slash_utils.printwithreducedwhitespace";
+      packageName = "@apollo/utils.printwithreducedwhitespace";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@apollo/utils.printwithreducedwhitespace/-/utils.printwithreducedwhitespace-1.1.0.tgz";
+        sha512 = "GfFSkAv3n1toDZ4V6u2d7L4xMwLA+lv+6hqXicMN9KELSJ9yy9RzuEXaX73c/Ry+GzRsBy/fdSUGayGqdHfT2Q==";
+      };
+    };
+    "@apollo/utils.removealiases-1.0.0" = {
+      name = "_at_apollo_slash_utils.removealiases";
+      packageName = "@apollo/utils.removealiases";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@apollo/protobufjs/-/protobufjs-1.2.2.tgz";
-        sha512 = "vF+zxhPiLtkwxONs6YanSt1EpwpGilThpneExUN5K3tCymuxNnVq2yojTvnpRjv2QfsEIt/n7ozPIIzBLwGIDQ==";
+        url = "https://registry.npmjs.org/@apollo/utils.removealiases/-/utils.removealiases-1.0.0.tgz";
+        sha512 = "6cM8sEOJW2LaGjL/0vHV0GtRaSekrPQR4DiywaApQlL9EdROASZU5PsQibe2MWeZCOhNrPRuHh4wDMwPsWTn8A==";
+      };
+    };
+    "@apollo/utils.sortast-1.1.0" = {
+      name = "_at_apollo_slash_utils.sortast";
+      packageName = "@apollo/utils.sortast";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@apollo/utils.sortast/-/utils.sortast-1.1.0.tgz";
+        sha512 = "VPlTsmUnOwzPK5yGZENN069y6uUHgeiSlpEhRnLFYwYNoJHsuJq2vXVwIaSmts015WTPa2fpz1inkLYByeuRQA==";
+      };
+    };
+    "@apollo/utils.stripsensitiveliterals-1.2.0" = {
+      name = "_at_apollo_slash_utils.stripsensitiveliterals";
+      packageName = "@apollo/utils.stripsensitiveliterals";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@apollo/utils.stripsensitiveliterals/-/utils.stripsensitiveliterals-1.2.0.tgz";
+        sha512 = "E41rDUzkz/cdikM5147d8nfCFVKovXxKBcjvLEQ7bjZm/cg9zEcXvS6vFY8ugTubI3fn6zoqo0CyU8zT+BGP9w==";
+      };
+    };
+    "@apollo/utils.usagereporting-1.0.0" = {
+      name = "_at_apollo_slash_utils.usagereporting";
+      packageName = "@apollo/utils.usagereporting";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@apollo/utils.usagereporting/-/utils.usagereporting-1.0.0.tgz";
+        sha512 = "5PL7hJMkTPmdo3oxPtigRrIyPxDk/ddrUryHPDaezL1lSFExpNzsDd2f1j0XJoHOg350GRd3LyD64caLA2PU1w==";
       };
     };
     "@apollographql/apollo-tools-0.5.4" = {
@@ -346,22 +409,13 @@ let
         sha512 = "shM3q7rUbNyXVVRkQJQseXv6bnYM3BUma/eZhwXR4xsuM+bqWnJKvW7SAfRjP7LuSCocrexa5AXhjjawNHrIlw==";
       };
     };
-    "@apollographql/graphql-playground-html-1.6.27" = {
+    "@apollographql/graphql-playground-html-1.6.29" = {
       name = "_at_apollographql_slash_graphql-playground-html";
       packageName = "@apollographql/graphql-playground-html";
-      version = "1.6.27";
+      version = "1.6.29";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.27.tgz";
-        sha512 = "tea2LweZvn6y6xFV11K0KC8ETjmm52mQrW+ezgB2O/aTQf8JGyFmMcRPFgUaQZeHbWdm8iisDC6EjOKsXu0nfw==";
-      };
-    };
-    "@apollographql/graphql-upload-8-fork-8.1.3" = {
-      name = "_at_apollographql_slash_graphql-upload-8-fork";
-      packageName = "@apollographql/graphql-upload-8-fork";
-      version = "8.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@apollographql/graphql-upload-8-fork/-/graphql-upload-8-fork-8.1.3.tgz";
-        sha512 = "ssOPUT7euLqDXcdVv3Qs4LoL4BPtfermW1IOouaqEmj36TpHYDmYDIbKoSQxikd9vtMumFnP87OybH7sC9fJ6g==";
+        url = "https://registry.npmjs.org/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.29.tgz";
+        sha512 = "xCcXpoz52rI4ksJSdOCxeOCn2DLocxwHf9dVT/Q90Pte1LX+LY+91SFtJF3KXVHH8kEin+g1KKCQPKBjZJfWNA==";
       };
     };
     "@ardatan/aggregate-error-0.0.6" = {
@@ -373,6 +427,15 @@ let
         sha512 = "vyrkEHG1jrukmzTPtyWB4NLPauUw5bQeg4uhn8f+1SSynmrOcyvlb1GKQjjgoBzElLdfXCRYX8UnBlhklOHYRQ==";
       };
     };
+    "@ardatan/sync-fetch-0.0.1" = {
+      name = "_at_ardatan_slash_sync-fetch";
+      packageName = "@ardatan/sync-fetch";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@ardatan/sync-fetch/-/sync-fetch-0.0.1.tgz";
+        sha512 = "xhlTqH0m31mnsG0tIP4ETgfSB6gXDaYYsUWTrlUV93fFQPI9dd8hE0Ot6MHLCtqgB32hwJAC3YZMWlXZw7AleA==";
+      };
+    };
     "@asciidoctor/core-2.2.6" = {
       name = "_at_asciidoctor_slash_core";
       packageName = "@asciidoctor/core";
@@ -382,24 +445,6 @@ let
         sha512 = "TmB2K5UfpDpSbCNBBntXzKHcAk2EA3/P68jmWvmJvglVUdkO9V6kTAuXVe12+h6C4GK0ndwuCrHHtEVcL5t6pQ==";
       };
     };
-    "@astrojs/svelte-language-integration-0.1.6" = {
-      name = "_at_astrojs_slash_svelte-language-integration";
-      packageName = "@astrojs/svelte-language-integration";
-      version = "0.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@astrojs/svelte-language-integration/-/svelte-language-integration-0.1.6.tgz";
-        sha512 = "nqczE674kz7GheKSWQwTOL6+NGHghc4INQox048UyHJRaIKHEbCPyFLDBDVY7QJH0jug1komCJ8OZXUn6Z3eLA==";
-      };
-    };
-    "@astrojs/vue-language-integration-0.1.1" = {
-      name = "_at_astrojs_slash_vue-language-integration";
-      packageName = "@astrojs/vue-language-integration";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@astrojs/vue-language-integration/-/vue-language-integration-0.1.1.tgz";
-        sha512 = "MPnZO41txVXkZWgN6UtI8ysFViBiCurRchsE/eZ2KFyQLQwB0rOk+FN7aeIIKOigV+Kosbwai50beuztkI4v/A==";
-      };
-    };
     "@aws-crypto/crc32-2.0.0" = {
       name = "_at_aws-crypto_slash_crc32";
       packageName = "@aws-crypto/crc32";
@@ -472,13 +517,13 @@ let
         sha512 = "JJmFFwvbm08lULw4Nm5QOLg8+lAQeC8aCXK5xrtxntYzYXCGfHwUJ4Is3770Q7HmICsXthGQ+ZsDL7C2uH3yBQ==";
       };
     };
-    "@aws-sdk/abort-controller-3.110.0" = {
+    "@aws-sdk/abort-controller-3.127.0" = {
       name = "_at_aws-sdk_slash_abort-controller";
       packageName = "@aws-sdk/abort-controller";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.110.0.tgz";
-        sha512 = "zok/WEVuK7Jh6V9YeA56pNZtxUASon9LTkS7vE65A4UFmNkPGNBCNgoiBcbhWfxwrZ8wtXcQk6rtUut39831mA==";
+        url = "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.127.0.tgz";
+        sha512 = "G77FLYcl9egUoD3ZmR6TX94NMqBMeT53hBGrEE3uVUJV1CwfGKfaF007mPpRZnIB3avnJBQGEK6MrwlCfv2qAw==";
       };
     };
     "@aws-sdk/chunked-blob-reader-3.55.0" = {
@@ -499,193 +544,193 @@ let
         sha512 = "Ybn3vDZ3CqGyprL2qdF6QZqoqlx8lA3qOJepobjuKKDRw+KgGxjUY4NvWe0R2MdRoduyaDj6uvhIay0S1MOSJQ==";
       };
     };
-    "@aws-sdk/client-s3-3.113.0" = {
+    "@aws-sdk/client-s3-3.142.0" = {
       name = "_at_aws-sdk_slash_client-s3";
       packageName = "@aws-sdk/client-s3";
-      version = "3.113.0";
+      version = "3.142.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.113.0.tgz";
-        sha512 = "QHynLFWwhQFB2bULxMOlnIYzKPmE6ky5yRo0NPGklz4bnWc8RY/vSvlaii4JBxPee9TGxNM1/NCF0oMLUdXK3Q==";
+        url = "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.142.0.tgz";
+        sha512 = "hCGhaxEpbbpwy++CltjMoDgt6814kdq+c6fkvh2UwLg6ojx9Z/Z2DMZcIuvpVNr2DFm6xevXzEHrx9i7lOd5Rw==";
       };
     };
-    "@aws-sdk/client-sso-3.112.0" = {
+    "@aws-sdk/client-sso-3.142.0" = {
       name = "_at_aws-sdk_slash_client-sso";
       packageName = "@aws-sdk/client-sso";
-      version = "3.112.0";
+      version = "3.142.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.112.0.tgz";
-        sha512 = "FwFmiapxuVQiyMdDaBvCpajnJkVWEUHBdO+7rIpzgKHkODEPou5/AwboaGRPEFYULOyYeI0HiDFzpK0G6de+7Q==";
+        url = "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.142.0.tgz";
+        sha512 = "Pewcpxq+wqcbB3t3s6KImBUUf+qqBNqMfd2wgQ3PdpYBjlNzrWYLHAnIT1vhIFjOGJXDi/qwF8FX7qbWNUB7Lg==";
       };
     };
-    "@aws-sdk/client-sts-3.112.0" = {
+    "@aws-sdk/client-sts-3.142.0" = {
       name = "_at_aws-sdk_slash_client-sts";
       packageName = "@aws-sdk/client-sts";
-      version = "3.112.0";
+      version = "3.142.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.112.0.tgz";
-        sha512 = "hSApRO2wg3jk9VRGM6SCZO3aFP7DKVSUqs6FrvlXlj+JU88ZKObjrGE61cCzXoD89Dh+b9t8A2T6W51Nzriaxw==";
+        url = "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.142.0.tgz";
+        sha512 = "rOa1MTI1h3kTjlHkItAlXGHefM5sjsfw3muhNEhzrZBuhpOrLU8apbiG2rcJqB8m0prMoY39PuG+WquxN4ap6g==";
       };
     };
-    "@aws-sdk/config-resolver-3.110.0" = {
+    "@aws-sdk/config-resolver-3.130.0" = {
       name = "_at_aws-sdk_slash_config-resolver";
       packageName = "@aws-sdk/config-resolver";
-      version = "3.110.0";
+      version = "3.130.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.110.0.tgz";
-        sha512 = "7VvtKy4CL63BAktQ2vgsjhWDSXpkXO5YdiI56LQnHztrvSuJBBaxJ7R1p/k0b2tEUhYKUziAIW8EKE/7EGPR4g==";
+        url = "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.130.0.tgz";
+        sha512 = "7dkCHHI9kRcHW6YNr9/2Ub6XkvU9Fu6H/BnlKbaKlDR8jq7QpaFhPhctOVi5D/NDpxJgALifexFne0dvo3piTw==";
       };
     };
-    "@aws-sdk/credential-provider-env-3.110.0" = {
+    "@aws-sdk/credential-provider-env-3.127.0" = {
       name = "_at_aws-sdk_slash_credential-provider-env";
       packageName = "@aws-sdk/credential-provider-env";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.110.0.tgz";
-        sha512 = "oFU3IYk/Bl5tdsz1qigtm3I25a9cvXPqlE8VjYjxVDdLujF5zd/4HLbhP4GQWhpEwZmM1ijcSNfLcyywVevTZg==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.127.0.tgz";
+        sha512 = "Ig7XhUikRBlnRTYT5JBGzWfYZp68X5vkFVIFCmsHHt/qVy0Nz9raZpmDHicdS1u67yxDkWgCPn/bNevWnM0GFg==";
       };
     };
-    "@aws-sdk/credential-provider-imds-3.110.0" = {
+    "@aws-sdk/credential-provider-imds-3.127.0" = {
       name = "_at_aws-sdk_slash_credential-provider-imds";
       packageName = "@aws-sdk/credential-provider-imds";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.110.0.tgz";
-        sha512 = "atl+7/dAB+8fG9XI2fYyCgXKYDbOzot65VAwis+14bOEUCVp7PCJifBEZ/L8GEq564p+Fa2p1IpV0wuQXxqFUQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.127.0.tgz";
+        sha512 = "I6KlIBBzmJn/U1KikiC50PK3SspT9G5lkVLBaW5a6YfOcijqVTXfAN3kYzqhfeS0j4IgfJEwKVsjsZfmprJO5A==";
       };
     };
-    "@aws-sdk/credential-provider-ini-3.112.0" = {
+    "@aws-sdk/credential-provider-ini-3.142.0" = {
       name = "_at_aws-sdk_slash_credential-provider-ini";
       packageName = "@aws-sdk/credential-provider-ini";
-      version = "3.112.0";
+      version = "3.142.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.112.0.tgz";
-        sha512 = "ebgZ6/jZdTGHQ3zfq/ccmS+7YmLk6yUWHDmh69VK+B1Dd+S1jFwbD9EQ+pYWCp/gEl9F620NSwb6KghRylPWEQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.142.0.tgz";
+        sha512 = "joMJTxUTNmxURnVmmd7XhtwOwijMjh7z09V8o2EHQMk+ak+rhaRgqb2kTA2nO0J3SRxdO5z5SKkyQgW0d1fY9g==";
       };
     };
-    "@aws-sdk/credential-provider-node-3.112.0" = {
+    "@aws-sdk/credential-provider-node-3.142.0" = {
       name = "_at_aws-sdk_slash_credential-provider-node";
       packageName = "@aws-sdk/credential-provider-node";
-      version = "3.112.0";
+      version = "3.142.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.112.0.tgz";
-        sha512 = "7txS7P3BAaU4cksFw/PnoVskVvO8h/TPvOl/BxFtCiUdwA6FRltLvBeMlN08fwUoqgM6z06q8areBdeDqCHOSw==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.142.0.tgz";
+        sha512 = "JkhCKNkEhCS2vgD/qg5hJPatupNLObqts9FXiDia5CF6w8YcHLH+mWSvhUMCUGkunAOvFHDkQL1uPXfoQuJvPg==";
       };
     };
-    "@aws-sdk/credential-provider-process-3.110.0" = {
+    "@aws-sdk/credential-provider-process-3.127.0" = {
       name = "_at_aws-sdk_slash_credential-provider-process";
       packageName = "@aws-sdk/credential-provider-process";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.110.0.tgz";
-        sha512 = "JJcZePvRTfQHYj/+EEY13yItnZH/e8exlARFUjN0L13UrgHpOJtDQBa+YBHXo6MbTFQh+re25z2kzc+zOYSMNQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.127.0.tgz";
+        sha512 = "6v0m2lqkO9J5fNlTl+HjriQNIdfg8mjVST544+5y9EnC/FVmTnIz64vfHveWdNkP/fehFx7wTimNENtoSqCn3A==";
       };
     };
-    "@aws-sdk/credential-provider-sso-3.112.0" = {
+    "@aws-sdk/credential-provider-sso-3.142.0" = {
       name = "_at_aws-sdk_slash_credential-provider-sso";
       packageName = "@aws-sdk/credential-provider-sso";
-      version = "3.112.0";
+      version = "3.142.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.112.0.tgz";
-        sha512 = "b6rOrSXbNK3fGyPvNpyF5zdktmAoNOqHCTmFSUcxRxOipyRGb5JACsbjWthIQkpWkpNCT8GFNLEg9spXPFIdLA==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.142.0.tgz";
+        sha512 = "jJvp/A5xrikaeL0DhjhQTvUc0+eF0hN5Nbo+nxpnUOiOOkyqs329g65NI1TmLp/OzDcqQ/8p5vj2+7ufTGEOXQ==";
       };
     };
-    "@aws-sdk/credential-provider-web-identity-3.110.0" = {
+    "@aws-sdk/credential-provider-web-identity-3.127.0" = {
       name = "_at_aws-sdk_slash_credential-provider-web-identity";
       packageName = "@aws-sdk/credential-provider-web-identity";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.110.0.tgz";
-        sha512 = "e4e5u7v3fsUFZsMcFMhMy1NdJBQpunYcLwpYlszm3OEICwTTekQ+hVvnVRd134doHvzepE4yp9sAop0Cj+IRVQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.127.0.tgz";
+        sha512 = "85ahDZnLYB3dqkW+cQ0bWt+NVqOoxomTrJoq3IC2q6muebeFrJ0pyf0JEW/RNRzBiUvvsZujzGdWifzWyQKfVg==";
       };
     };
-    "@aws-sdk/eventstream-marshaller-3.110.0" = {
-      name = "_at_aws-sdk_slash_eventstream-marshaller";
-      packageName = "@aws-sdk/eventstream-marshaller";
-      version = "3.110.0";
+    "@aws-sdk/eventstream-codec-3.127.0" = {
+      name = "_at_aws-sdk_slash_eventstream-codec";
+      packageName = "@aws-sdk/eventstream-codec";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/eventstream-marshaller/-/eventstream-marshaller-3.110.0.tgz";
-        sha512 = "ZVJI2iCmjxigtLKfc9v48NHY34Qos5l9wgxzB1lU+RwaBppbmjogvIpPlKewEuAFsLTrErUK4ONBWGGsvLYlBQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.127.0.tgz";
+        sha512 = "+Tlujx3VkB4DK8tYzG0rwxIE0ee6hWItQgSEREEmi5CwHQFw7VpRLYAShYabEx9wIJmRFObWzhlKxWNRi+TfaA==";
       };
     };
-    "@aws-sdk/eventstream-serde-browser-3.110.0" = {
+    "@aws-sdk/eventstream-serde-browser-3.127.0" = {
       name = "_at_aws-sdk_slash_eventstream-serde-browser";
       packageName = "@aws-sdk/eventstream-serde-browser";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.110.0.tgz";
-        sha512 = "zeZpKO9Ccsg6seB9oYf9rEQkYfM4nWnyQJtfGvpj/BlkJ7i3UhpbVca8q6aC61WLb3fcO/JROqNfDK1Vis8RgA==";
+        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.127.0.tgz";
+        sha512 = "d1rTK4ljEp3Y/BQ78/AJ7eqgGyI6TE0bxNosCmXWcUBv00Tr5cerPqPe7Zvw8XwIMPX5y8cjtd1/cOtB2ePaBw==";
       };
     };
-    "@aws-sdk/eventstream-serde-config-resolver-3.110.0" = {
+    "@aws-sdk/eventstream-serde-config-resolver-3.127.0" = {
       name = "_at_aws-sdk_slash_eventstream-serde-config-resolver";
       packageName = "@aws-sdk/eventstream-serde-config-resolver";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.110.0.tgz";
-        sha512 = "0kyKUU5/46OGe6rgIqbNRJEQhNYwxLdgcJXlBl6q6CdgyQApz6jsAgG0C5xhSLSi4iJijDRriJTowAhkq4AlWQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.127.0.tgz";
+        sha512 = "dYvLfQYcKLOFtZVgwLwKDCykAxNkDyDLQRWytJK9DHCyjRig66IKi1codts9vOy4j0CeYwnXWs5WDavrUaE05g==";
       };
     };
-    "@aws-sdk/eventstream-serde-node-3.110.0" = {
+    "@aws-sdk/eventstream-serde-node-3.127.0" = {
       name = "_at_aws-sdk_slash_eventstream-serde-node";
       packageName = "@aws-sdk/eventstream-serde-node";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.110.0.tgz";
-        sha512 = "Bd7d57BANdy1RBnZ6EBxEaDzC4DidR40EMEk08Ho3+md6CW/vmW63n9wAhKjdoq9a+Hp6aDWP4huVKhyT/d6PA==";
+        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.127.0.tgz";
+        sha512 = "Ie59jZYAIw3Kt6GePvEilp1k3JoYEQpY3WIyVZltm3dkVf0GmzhCZrPROH9vgF3qApzu1aGOWDV2wX91poXF8A==";
       };
     };
-    "@aws-sdk/eventstream-serde-universal-3.110.0" = {
+    "@aws-sdk/eventstream-serde-universal-3.127.0" = {
       name = "_at_aws-sdk_slash_eventstream-serde-universal";
       packageName = "@aws-sdk/eventstream-serde-universal";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.110.0.tgz";
-        sha512 = "VjzOxDaHCzPlZs+9UqqQABP47gCWf97kqwhuoPUsCzV8leEHnLfAX3BvIZ58kNr4Fycua5AgK7Ww6uFfXVeW8w==";
+        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.127.0.tgz";
+        sha512 = "cJLSTtYDGTevknMTykzHpcDNRbD6yGve8FBUKSAczuNVjXZOedj0GbHJqkASuLj0ZnojbKBdCx4uu1XGyvubng==";
       };
     };
-    "@aws-sdk/fetch-http-handler-3.110.0" = {
+    "@aws-sdk/fetch-http-handler-3.131.0" = {
       name = "_at_aws-sdk_slash_fetch-http-handler";
       packageName = "@aws-sdk/fetch-http-handler";
-      version = "3.110.0";
+      version = "3.131.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.110.0.tgz";
-        sha512 = "vk+K4GeCZL2J2rtvKO+T0Q7i3MDpEGZBMg5K2tj9sMcEQwty0BF0aFnP7Eu2l4/Zif2z1mWuUFM2WcZI6DVnbw==";
+        url = "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.131.0.tgz";
+        sha512 = "eNxmPZQX2IUeBGWHNC7eNTekWn9VIPLYEMKJbKYUBJryxuTJ7TtLeyEK5oakUjMwP1AUvWT+CV7C+8L7uG1omQ==";
       };
     };
-    "@aws-sdk/hash-blob-browser-3.110.0" = {
+    "@aws-sdk/hash-blob-browser-3.127.0" = {
       name = "_at_aws-sdk_slash_hash-blob-browser";
       packageName = "@aws-sdk/hash-blob-browser";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.110.0.tgz";
-        sha512 = "NkTosjlYwP2dcBXY6yzhNafAK+W2nceheffvWdyGA29+E9YdRjDminXvKc/WAkZUMOW0CaCbD90otOiimAAYyQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.127.0.tgz";
+        sha512 = "XH9s2w6GXCtDI+3/y+sDAzMWJRTvhRXJJtI1fVDsCiyq96SYUTNKLLaUSuR01uawEBiRDBqGDDPMT8qJPDXc/w==";
       };
     };
-    "@aws-sdk/hash-node-3.110.0" = {
+    "@aws-sdk/hash-node-3.127.0" = {
       name = "_at_aws-sdk_slash_hash-node";
       packageName = "@aws-sdk/hash-node";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.110.0.tgz";
-        sha512 = "wakl+kP2O8wTGYiQ3InZy+CVfGrIpFfq9fo4zif9PZac0BbUbguUU1dkY34uZiaf+4o2/9MoDYrHU2HYeXKxWw==";
+        url = "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.127.0.tgz";
+        sha512 = "wx7DKlXdKebH4JcMsOevdsm2oDNMVm36kuMm0XWRIrFWQ/oq7OquDpEMJzWvGqWF/IfFUpb7FhAWZZpALwlcwA==";
       };
     };
-    "@aws-sdk/hash-stream-node-3.110.0" = {
+    "@aws-sdk/hash-stream-node-3.127.0" = {
       name = "_at_aws-sdk_slash_hash-stream-node";
       packageName = "@aws-sdk/hash-stream-node";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.110.0.tgz";
-        sha512 = "srlStn+dCnBlQy4oWBz3oFS8vT5Xgxhra91rt9U+vHruCyQ0L1es0J87X4uwy2HRlnIw3daPtVLtxekahEXzKQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.127.0.tgz";
+        sha512 = "ZCNqi+FJViYFCo8JfSx+YK0Hd/SC555gHqBe24GVBMCDqJ8UFIled7tF+GOQ8wTcKjxuwp/0EXDTXoaAb0K89g==";
       };
     };
-    "@aws-sdk/invalid-dependency-3.110.0" = {
+    "@aws-sdk/invalid-dependency-3.127.0" = {
       name = "_at_aws-sdk_slash_invalid-dependency";
       packageName = "@aws-sdk/invalid-dependency";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.110.0.tgz";
-        sha512 = "O8J1InmtJkoiUMbQDtxBfOzgigBp9iSVsNXQrhs2qHh3826cJOfE7NGT3u+NMw73Pk5j2cfmOh1+7k/76IqxOg==";
+        url = "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.127.0.tgz";
+        sha512 = "bxvmtmJ6gIRfOHvh1jAPZBH2mzppEblPjEOFo4mOzXz4U3qPIxeuukCjboMnGK9QEpV2wObWcYYld0vxoRrfiA==";
       };
     };
     "@aws-sdk/is-array-buffer-3.55.0" = {
@@ -697,283 +742,283 @@ let
         sha512 = "NbiPHVYuPxdqdFd6FxzzN3H1BQn/iWA3ri3Ry7AyLeP/tGs1yzEWMwf8BN8TSMALI0GXT6Sh0GDWy3Ok5xB6DA==";
       };
     };
-    "@aws-sdk/md5-js-3.110.0" = {
+    "@aws-sdk/md5-js-3.127.0" = {
       name = "_at_aws-sdk_slash_md5-js";
       packageName = "@aws-sdk/md5-js";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.110.0.tgz";
-        sha512 = "66gV6CH8O7ymTZMIbGjdUI71K7ErDfudhtN/ULb97kD2TYX4NlFtxNZxx3+iZH1G0H636lWm9hJcU5ELG9B+bw==";
+        url = "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.127.0.tgz";
+        sha512 = "9FzD++p2bvfZ56hbDxvGcLlA9JIMt9uZB/m4NEvbuvrpx1qnUpFv6HqthhGaVuhctkK25hONT5ZpOYHSisATrA==";
       };
     };
-    "@aws-sdk/middleware-bucket-endpoint-3.110.0" = {
+    "@aws-sdk/middleware-bucket-endpoint-3.127.0" = {
       name = "_at_aws-sdk_slash_middleware-bucket-endpoint";
       packageName = "@aws-sdk/middleware-bucket-endpoint";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.110.0.tgz";
-        sha512 = "l1q0KzMRFyGSSc7LZGEh2xhCha1933C8uJE5g23b7dZdklEU5I62l4daELo+TBANcxFzDiRXd6g5mly/T+ZTSg==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.127.0.tgz";
+        sha512 = "wJpXxWceBDhWktoxrRb4s6tMx0dWsEGYIaV0KkQPGhTPk2KMUgwa4xApfCXXVfYcE3THk486OKwHhPrR5jpe+g==";
       };
     };
-    "@aws-sdk/middleware-content-length-3.110.0" = {
+    "@aws-sdk/middleware-content-length-3.127.0" = {
       name = "_at_aws-sdk_slash_middleware-content-length";
       packageName = "@aws-sdk/middleware-content-length";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.110.0.tgz";
-        sha512 = "hKU+zdqfAJQg22LXMVu/z35nNIHrVAKpVKPe9+WYVdL/Z7JKUPK7QymqKGOyDuDbzW6OxyulC1zKGEX12zGmdA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.127.0.tgz";
+        sha512 = "AFmMaIEW3Rzg0TaKB9l/RENLowd7ZEEOpm0trYw1CgUUORWW/ydCsDT7pekPlC25CPbhUmWXCSA4xPFSYOVnDw==";
       };
     };
-    "@aws-sdk/middleware-expect-continue-3.113.0" = {
+    "@aws-sdk/middleware-expect-continue-3.127.0" = {
       name = "_at_aws-sdk_slash_middleware-expect-continue";
       packageName = "@aws-sdk/middleware-expect-continue";
-      version = "3.113.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.113.0.tgz";
-        sha512 = "LLtSunCYVWeAhRP+6enn0kYF119WooV6gepMGOWeRCpKXO2iyi8YOx2Mtgc3T8ybiAG/dVlmZoX47Y1HINcuqg==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.127.0.tgz";
+        sha512 = "+X7mdgFqt9UqUDeGuMt+afR8CBX9nMecTxEIilAKdVOLx+fuXzHnC2mpddKMtiE9IGKMU4BI1Ahf7t32Odhs1Q==";
       };
     };
-    "@aws-sdk/middleware-flexible-checksums-3.110.0" = {
+    "@aws-sdk/middleware-flexible-checksums-3.127.0" = {
       name = "_at_aws-sdk_slash_middleware-flexible-checksums";
       packageName = "@aws-sdk/middleware-flexible-checksums";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.110.0.tgz";
-        sha512 = "Z/v1Da+e1McxrVr1s4jUykp2EXsOHpTxZ4M0X8vNkXCIVSuaMp4UI0P+LQawbDA+j3FaecqqBfWMZ2sHQ8bpoA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.127.0.tgz";
+        sha512 = "sXkAwhE9dikO72sEJ7DrUCo5mawauAxICCqipCCSGp0geSkptvtZHhySgJNMVSbUJQmu5bcS+zsFpFVwuJvGxg==";
       };
     };
-    "@aws-sdk/middleware-host-header-3.110.0" = {
+    "@aws-sdk/middleware-host-header-3.127.0" = {
       name = "_at_aws-sdk_slash_middleware-host-header";
       packageName = "@aws-sdk/middleware-host-header";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.110.0.tgz";
-        sha512 = "/Cknn1vL2LTlclI0MX2RzmtdPlCJ5palCRXxm/mod1oHwg4oNTKRlUX3LUD+L8g7JuJ4h053Ch9KS/A0vanE5Q==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.127.0.tgz";
+        sha512 = "e2gTLJb5lYP9lRV7hN3rKY2l4jv8OygOoHElZJ3Z8KPZskjHelYPcQ8XbdfhSXXxC3vc/0QqN0ResFt3W3Pplg==";
       };
     };
-    "@aws-sdk/middleware-location-constraint-3.110.0" = {
+    "@aws-sdk/middleware-location-constraint-3.127.0" = {
       name = "_at_aws-sdk_slash_middleware-location-constraint";
       packageName = "@aws-sdk/middleware-location-constraint";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.110.0.tgz";
-        sha512 = "8ZSo9sqrTMcSp0xEJQ3ypmQpeSMQl1NXXv72khJPweZqDoO0eAbfytwyH4JH4sP0VwVVmuDHdwPXyDZX7I0iQg==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.127.0.tgz";
+        sha512 = "UtPmbOKEVu+Ue7CwICFSOOOSePV8Piydco/v2IpdRkMO0e4bqQ3Tn0XprBlWWfSW4QCtAPzydrArLsUdk636GA==";
       };
     };
-    "@aws-sdk/middleware-logger-3.110.0" = {
+    "@aws-sdk/middleware-logger-3.127.0" = {
       name = "_at_aws-sdk_slash_middleware-logger";
       packageName = "@aws-sdk/middleware-logger";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.110.0.tgz";
-        sha512 = "+pz+a+8dfTnzLj79nHrv3aONMp/N36/erMd+7JXeR84QEosVLrFBUwKA8x5x6O3s1iBbQzRKMYEIuja9xn1BPA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.127.0.tgz";
+        sha512 = "jMNLcZB/ECA7OfkNBLNeAlrLRehyfnUeNQJHW3kcxs9h1+6VxaF6wY+WKozszLI7/3OBzQrFHBQCfRZV7ykSLg==";
       };
     };
-    "@aws-sdk/middleware-recursion-detection-3.110.0" = {
+    "@aws-sdk/middleware-recursion-detection-3.127.0" = {
       name = "_at_aws-sdk_slash_middleware-recursion-detection";
       packageName = "@aws-sdk/middleware-recursion-detection";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.110.0.tgz";
-        sha512 = "Wav782zd7bcd1e6txRob76CDOdVOaUQ8HXoywiIm/uFrEEUZvhs2mgnXjVUVCMBUehdNgnL99z420aS13JeL/Q==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.127.0.tgz";
+        sha512 = "tB6WX+Z1kUKTnn5h38XFrTCzoqPKjUZLUjN4Wb27/cbeSiTSKGAZcCXHOJm36Ukorl5arlybQTqGe689EU00Hw==";
       };
     };
-    "@aws-sdk/middleware-retry-3.110.0" = {
+    "@aws-sdk/middleware-retry-3.127.0" = {
       name = "_at_aws-sdk_slash_middleware-retry";
       packageName = "@aws-sdk/middleware-retry";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.110.0.tgz";
-        sha512 = "lwLAQQveCiUqymQvVYjCee6QOXw3Zqbc9yq+pxYdXbs1Cv1XMA6PeJeUU5r5KEVuSceBLyyrnl6E0R1l1om1MQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.127.0.tgz";
+        sha512 = "ZSvg/AyGUacWnf3i8ZbyImtiCH+NyafF8uV7bITP7JkwPrG+VdNocJZOr88GRM0c1A0jfkOf7+oq+fInPwwiNA==";
       };
     };
-    "@aws-sdk/middleware-sdk-s3-3.110.0" = {
+    "@aws-sdk/middleware-sdk-s3-3.127.0" = {
       name = "_at_aws-sdk_slash_middleware-sdk-s3";
       packageName = "@aws-sdk/middleware-sdk-s3";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.110.0.tgz";
-        sha512 = "/PpZU11dkGldD6yeAccPxFd5nzofLOA3+j25RdIwz2jlJMLl9TeznYRtFH5JhHonP3lsK+IPEnFPwuL6gkBxIQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.127.0.tgz";
+        sha512 = "q1mkEN7kYYdQ3LOHIhaT56omYe8DCubyiCKOXuEo5ZiIkE5iq06K/BxWxj3f8bFZxSX80Ma1m8XA5jcOEMphSA==";
       };
     };
-    "@aws-sdk/middleware-sdk-sts-3.110.0" = {
+    "@aws-sdk/middleware-sdk-sts-3.130.0" = {
       name = "_at_aws-sdk_slash_middleware-sdk-sts";
       packageName = "@aws-sdk/middleware-sdk-sts";
-      version = "3.110.0";
+      version = "3.130.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.110.0.tgz";
-        sha512 = "EjY/YFdlr5jECde6qIrTIyGBbn/34CKcQGKvmvRd31+3qaClIJLAwNuHfcVzWvCUGbAslsfvdbOpLju33pSQRA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.130.0.tgz";
+        sha512 = "FDfs7+ohbhEK3eH3Dshr6JDiL8P72bp3ffeNpPBXuURFqwt4pCmjHuX3SqQR0JIJ2cl3aIdxc17rKaZJfOjtPw==";
       };
     };
-    "@aws-sdk/middleware-serde-3.110.0" = {
+    "@aws-sdk/middleware-serde-3.127.0" = {
       name = "_at_aws-sdk_slash_middleware-serde";
       packageName = "@aws-sdk/middleware-serde";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.110.0.tgz";
-        sha512 = "brVupxgEAmcZ9cZvdHEH8zncjvGKIiud8pOe4fiimp5NpHmjBLew4jUbnOKNZNAjaidcKUtz//cxtutD6yXEww==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.127.0.tgz";
+        sha512 = "xmWMYV/t9M+b9yHjqaD1noDNJJViI2QwOH7TQZ9VbbrvdVtDrFuS9Sf9He80TBCJqeHShwQN9783W1I3Pu/8kw==";
       };
     };
-    "@aws-sdk/middleware-signing-3.110.0" = {
+    "@aws-sdk/middleware-signing-3.130.0" = {
       name = "_at_aws-sdk_slash_middleware-signing";
       packageName = "@aws-sdk/middleware-signing";
-      version = "3.110.0";
+      version = "3.130.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.110.0.tgz";
-        sha512 = "y6ZKrGYfgDlFMzWhZmoq5J1UctBgZOUvMmnU9sSeZ020IlEPiOxFMvR0Zu6TcYThp8uy3P0wyjQtGYeTl9Z/kA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.130.0.tgz";
+        sha512 = "JePq5XLR9TfRN3RQ0d7Za/bEW5D3xgtD1FNAwHeenWALeozMuQgRPjM5RroCnL/5jY3wuvCZI7cSXeqhawWqmA==";
       };
     };
-    "@aws-sdk/middleware-ssec-3.110.0" = {
+    "@aws-sdk/middleware-ssec-3.127.0" = {
       name = "_at_aws-sdk_slash_middleware-ssec";
       packageName = "@aws-sdk/middleware-ssec";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.110.0.tgz";
-        sha512 = "Zrm+h+C+MXv2Q+mh8O/zwK2hUYM4kq4I1vx72RPpvyfIk4/F5ZzeA3LSVluISyAW+iNqS8XFvGFrzl2gB8zWsg==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.127.0.tgz";
+        sha512 = "R5A13EvdYPdYD2Tq9eW5jqIdscyZlQykQXFEolBD2oi4pew7TZpc/5aazZC0zo9YKJ29qiUR1P4NvjcFJ7zFBg==";
       };
     };
-    "@aws-sdk/middleware-stack-3.110.0" = {
+    "@aws-sdk/middleware-stack-3.127.0" = {
       name = "_at_aws-sdk_slash_middleware-stack";
       packageName = "@aws-sdk/middleware-stack";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.110.0.tgz";
-        sha512 = "iaLHw6ctOuGa9UxNueU01Xes+15dR+mqioRpUOUZ9Zx+vhXVpD7C8lnNqhRnYeFXs10/rNIzASgsIrAHTlnlIQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.127.0.tgz";
+        sha512 = "S1IoUE5o1vCmjsF5nIE8zlItNOM1UE+lhmZeigF7knXJ9+a6ewMB6POAj/s4eoi0wcn0eSnAGsqJCWMSUjOPLA==";
       };
     };
-    "@aws-sdk/middleware-user-agent-3.110.0" = {
+    "@aws-sdk/middleware-user-agent-3.127.0" = {
       name = "_at_aws-sdk_slash_middleware-user-agent";
       packageName = "@aws-sdk/middleware-user-agent";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.110.0.tgz";
-        sha512 = "Y6FgiZr99DilYq6AjeaaWcNwVlSQpNGKrILzvV4Tmz03OaBIspe4KL+8EZ2YA/sAu5Lpw80vItdezqDOwGAlnQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.127.0.tgz";
+        sha512 = "CHxgswoOzdkOEoIq7Oyob3Sx/4FYUv6BhUesAX7MNshaDDsTQPbSWjw5bqZDiL/gO+X/34fvqCVVpVD2GvxW/g==";
       };
     };
-    "@aws-sdk/node-config-provider-3.110.0" = {
+    "@aws-sdk/node-config-provider-3.127.0" = {
       name = "_at_aws-sdk_slash_node-config-provider";
       packageName = "@aws-sdk/node-config-provider";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.110.0.tgz";
-        sha512 = "46p4dCPGYctuybTQTwLpjenA1QFHeyJw/OyggGbtUJUy+833+ldnAwcPVML2aXJKUKv3APGI8vq1kaloyNku3Q==";
+        url = "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.127.0.tgz";
+        sha512 = "bAHkASMhLZHT1yv2TX6OJGFV9Lc3t1gKfTMEKdXM2O2YhGfSx9A/qLeJm79oDfnILWQtSS2NicxlRDI2lYGf4g==";
       };
     };
-    "@aws-sdk/node-http-handler-3.110.0" = {
+    "@aws-sdk/node-http-handler-3.127.0" = {
       name = "_at_aws-sdk_slash_node-http-handler";
       packageName = "@aws-sdk/node-http-handler";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.110.0.tgz";
-        sha512 = "/rP+hY516DpP8fZhwFW5xM/ElH0w6lxw/15VvZCoY5EnOLAF5XIsJdzscWPSEW2FHCylBM4SNrKhGar14BDXhA==";
+        url = "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.127.0.tgz";
+        sha512 = "pyMKvheK8eDwWLgYIRsWy8wiyhsbYYcqkZQs3Eh6upI4E8iCY7eMmhWvHYCibvsO+UjsOwa4cAMOfwnv/Z9s8A==";
       };
     };
-    "@aws-sdk/property-provider-3.110.0" = {
+    "@aws-sdk/property-provider-3.127.0" = {
       name = "_at_aws-sdk_slash_property-provider";
       packageName = "@aws-sdk/property-provider";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.110.0.tgz";
-        sha512 = "7NkpmYeOkK3mhWBNU+/zSDqwzeaSPH1qrq4L//WV7WS/weYyE/jusQeZoOxVsuZQnQEXHt5O2hKVeUwShl12xA==";
+        url = "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.127.0.tgz";
+        sha512 = "JxenxlTEkWfLrtJqIjaXaJzAVQbbscoCb5bNjmdud07ESLVfWRKJx2nAJdecHKYp2M5NQyqBuFhQ1ELSFYQKCA==";
       };
     };
-    "@aws-sdk/protocol-http-3.110.0" = {
+    "@aws-sdk/protocol-http-3.127.0" = {
       name = "_at_aws-sdk_slash_protocol-http";
       packageName = "@aws-sdk/protocol-http";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.110.0.tgz";
-        sha512 = "qdi2gCbJiyPyLn+afebPNp/5nVCRh1X7t7IRIFl3FHVEC+o54u/ojay/MLZ4M/+X9Fa4Zxsb0Wpp3T0xAHVDBg==";
+        url = "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.127.0.tgz";
+        sha512 = "UG83PVuKX40wilG2uRU0Fvz4OY8Bt+bSPOG776DFjwIXYzK7BwpJm9H2XI2HLhS5WxrJHhwrLBRgW6UiykMnFw==";
       };
     };
-    "@aws-sdk/querystring-builder-3.110.0" = {
+    "@aws-sdk/querystring-builder-3.127.0" = {
       name = "_at_aws-sdk_slash_querystring-builder";
       packageName = "@aws-sdk/querystring-builder";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.110.0.tgz";
-        sha512 = "7V3CDXj519izmbBn9ZE68ymASwGriA+Aq+cb/yHSVtffnvXjPtvONNw7G/5iVblisGLSCUe2hSvpYtcaXozbHw==";
+        url = "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.127.0.tgz";
+        sha512 = "tsoyp4lLPsASPDYWsezGAHD8VJsZbjUNATNAzTCFdH6p+4SKBK83Q5kfXCzxt13M+l3oKbxxIWLvS0kVQFyltQ==";
       };
     };
-    "@aws-sdk/querystring-parser-3.110.0" = {
+    "@aws-sdk/querystring-parser-3.127.0" = {
       name = "_at_aws-sdk_slash_querystring-parser";
       packageName = "@aws-sdk/querystring-parser";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.110.0.tgz";
-        sha512 = "//pJHH7hrhdDMZGBPKXKymmC/tJM7gFT0w/qbu/yd3Wm4W2fMB+8gkmj6EZctx7jrsWlfRQuvFejKqEfapur/g==";
+        url = "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.127.0.tgz";
+        sha512 = "Vn/Dv+PqUSepp/DzLqq0LJJD8HdPefJCnLbO5WcHCARHSGlyGlZUFEM45k/oEHpTvgMXj/ORaP3A+tLwLu0AmA==";
       };
     };
-    "@aws-sdk/s3-request-presigner-3.113.0" = {
+    "@aws-sdk/s3-request-presigner-3.142.0" = {
       name = "_at_aws-sdk_slash_s3-request-presigner";
       packageName = "@aws-sdk/s3-request-presigner";
-      version = "3.113.0";
+      version = "3.142.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.113.0.tgz";
-        sha512 = "ysA+an9LiIRXIUEKsU4OXQ8SNXFnh8pJxaUs5N/TwcamwsUBqNkEtvyNZbUrhnKXxxqBv6/yc5Lvmlho2uebgg==";
+        url = "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.142.0.tgz";
+        sha512 = "kHpiQHUwXDLmCi1n73+JBTDg90zOot+5jFEblc6WMyssG4tWmGIE65oyO2DYoP4Q5et1RGuhFRvQzXIrRiy5Aw==";
       };
     };
-    "@aws-sdk/service-error-classification-3.110.0" = {
+    "@aws-sdk/service-error-classification-3.127.0" = {
       name = "_at_aws-sdk_slash_service-error-classification";
       packageName = "@aws-sdk/service-error-classification";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.110.0.tgz";
-        sha512 = "ccgCE0pU/4RmXR6CP3fLAdhPAve7bK/yXBbGzpSHGAQOXqNxYzOsAvQ30Jg6X+qjLHsI/HR2pLIE65z4k6tynw==";
+        url = "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.127.0.tgz";
+        sha512 = "wjZY9rnlA8SPrICUumTYicEKtK4/yKB62iadUk66hxe8MrH8JhuHH2NqIad0Pt/bK/YtNVhd3yb4pRapOeY5qQ==";
       };
     };
-    "@aws-sdk/shared-ini-file-loader-3.110.0" = {
+    "@aws-sdk/shared-ini-file-loader-3.127.0" = {
       name = "_at_aws-sdk_slash_shared-ini-file-loader";
       packageName = "@aws-sdk/shared-ini-file-loader";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.110.0.tgz";
-        sha512 = "E1ERoqEoG206XNBYWCKLgHkzCbTxdpDEGbsLET2DnvjFsT0s9p2dPvVux3bYl7JVAhyGduE+qcqWk7MzhFCBNQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.127.0.tgz";
+        sha512 = "S3Nn4KRTqoJsB/TbRZSWBBUrkckNMR0Juqz7bOB+wupVvddKP6IcpspSC/GX9zgJjVMV8iGisZ6AUsYsC5r+cA==";
       };
     };
-    "@aws-sdk/signature-v4-3.110.0" = {
+    "@aws-sdk/signature-v4-3.130.0" = {
       name = "_at_aws-sdk_slash_signature-v4";
       packageName = "@aws-sdk/signature-v4";
-      version = "3.110.0";
+      version = "3.130.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.110.0.tgz";
-        sha512 = "utxxdllOnmQDhbpipnFAbuQ4c2pwefZ+2hi48jKvQRULQ2PO4nxLmdZm6B0FXaTijbKsyO7GrMik+EZ6mi3ARQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.130.0.tgz";
+        sha512 = "g5G1a1NHL2uOoFfC2zQdZcj+wbjgBQPkx6xGdtqNKf9v2kS0n6ap5JUGEaqWE02lUlmWHsoMsS73hXtzwXaBRQ==";
       };
     };
-    "@aws-sdk/signature-v4-multi-region-3.110.0" = {
+    "@aws-sdk/signature-v4-multi-region-3.130.0" = {
       name = "_at_aws-sdk_slash_signature-v4-multi-region";
       packageName = "@aws-sdk/signature-v4-multi-region";
-      version = "3.110.0";
+      version = "3.130.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.110.0.tgz";
-        sha512 = "D5nlq6em9fU9EMmpjQtLItr2d6MmfM9yofOaeNQcgY8wFJEOCc2ADccq8dCO0F4twakAvjuUIkBAWMBviiuC7Q==";
+        url = "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.130.0.tgz";
+        sha512 = "ZRRoPRoCVdkGDtjuog81pqHsSLfnXK6ELrWm4Dq8xdcHQGbEDNdYmeXARXG9yPAO42x9yIJXHNutMz5Y/P64cw==";
       };
     };
-    "@aws-sdk/smithy-client-3.110.0" = {
+    "@aws-sdk/smithy-client-3.142.0" = {
       name = "_at_aws-sdk_slash_smithy-client";
       packageName = "@aws-sdk/smithy-client";
-      version = "3.110.0";
+      version = "3.142.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.110.0.tgz";
-        sha512 = "gNLYrmdAe/1hVF2Nv2LF4OkL1A0a1o708pEMZHzql9xP164omRDaLrGDhz9tH7tsJEgLz+Bf4E8nTuISeDwvGg==";
+        url = "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.142.0.tgz";
+        sha512 = "G38YWTfSFZb5cOH6IwLct530Uy8pnmJvJFeC1pd1nkKD4PRZb+bI2w4xXSX+znYdLA71RYK620OtVKJlB44PtA==";
       };
     };
-    "@aws-sdk/types-3.110.0" = {
+    "@aws-sdk/types-3.127.0" = {
       name = "_at_aws-sdk_slash_types";
       packageName = "@aws-sdk/types";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/types/-/types-3.110.0.tgz";
-        sha512 = "dLVoqODU3laaqNFPyN1QLtlQnwX4gNPMXptEBIt/iJpuZf66IYJe6WCzVZGt4Zfa1CnUmrlA428AzdcA/KCr2A==";
+        url = "https://registry.npmjs.org/@aws-sdk/types/-/types-3.127.0.tgz";
+        sha512 = "e0wtx2IkOl7rwfKfLH5pPTzQ+d45V7b1WrjeL0WDI8kOu6w+sXmhNxI6uM2kf0k4NiTLN84lW290AEWupey9Og==";
       };
     };
-    "@aws-sdk/url-parser-3.110.0" = {
+    "@aws-sdk/url-parser-3.127.0" = {
       name = "_at_aws-sdk_slash_url-parser";
       packageName = "@aws-sdk/url-parser";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.110.0.tgz";
-        sha512 = "tILFB8/Q73yzgO0dErJNnELmmBszd0E6FucwAnG3hfDefjqCBe09Q/1yhu2aARXyRmZa4AKp0sWcdwIWHc8dnA==";
+        url = "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.127.0.tgz";
+        sha512 = "njZ7zn41JHRpNfr3BCesVXCLZE0zcWSfEdtRV0ICw0cU1FgYcKELSuY9+gLUB4ci6uc7gq7mPE8+w30FcM4QeA==";
       };
     };
     "@aws-sdk/util-arn-parser-3.55.0" = {
@@ -1039,40 +1084,40 @@ let
         sha512 = "GrAZl/aBv0A28LkyNyq8SPJ5fmViCwz80fWLMeWx/6q5AbivuILogjlWwEZSvZ9zrlHOcFC0+AnCa5pQrjaslw==";
       };
     };
-    "@aws-sdk/util-create-request-3.110.0" = {
+    "@aws-sdk/util-create-request-3.142.0" = {
       name = "_at_aws-sdk_slash_util-create-request";
       packageName = "@aws-sdk/util-create-request";
-      version = "3.110.0";
+      version = "3.142.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-create-request/-/util-create-request-3.110.0.tgz";
-        sha512 = "8u+6WjzVNUdG4181y/zafIlGJ80qdSIKo09utlY7kvSZhYeufjkgMLhJtthb9uEEmXNn/UlKGJNRbGChjSL4Xw==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-create-request/-/util-create-request-3.142.0.tgz";
+        sha512 = "NP7v7Cf251Irbwa25aFcUCSaL7/JbxdlgVDyXtXlAQ6j+USIz0MczdHKnX5bRgnnloCJv7I4f935ZApLIVLh5w==";
       };
     };
-    "@aws-sdk/util-defaults-mode-browser-3.110.0" = {
+    "@aws-sdk/util-defaults-mode-browser-3.142.0" = {
       name = "_at_aws-sdk_slash_util-defaults-mode-browser";
       packageName = "@aws-sdk/util-defaults-mode-browser";
-      version = "3.110.0";
+      version = "3.142.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.110.0.tgz";
-        sha512 = "Y2dcOOD20S3bv/IjUqpdKIiDt6995SXNG5Pu/LeSdXNyLCOIm9rX4gHTxl9fC1KK5M/gR9fGJ362f67WwqEEqw==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.142.0.tgz";
+        sha512 = "vVB/CrodMmIfv4v54MyBlKO0sQSI/+Mvs4g5gMyVjmT4a+1gnktJQ9R6ZHQ2/ErGewcra6eH9MU5T0r1kYe0+w==";
       };
     };
-    "@aws-sdk/util-defaults-mode-node-3.110.0" = {
+    "@aws-sdk/util-defaults-mode-node-3.142.0" = {
       name = "_at_aws-sdk_slash_util-defaults-mode-node";
       packageName = "@aws-sdk/util-defaults-mode-node";
-      version = "3.110.0";
+      version = "3.142.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.110.0.tgz";
-        sha512 = "Cr3Z5nyrw1KowjbW76xp8hkT/zJtYjAVZ9PS4l84KxIicbVvDOBpxG3yNddkuQcavmlH6G4wH9uM5DcnpKDncg==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.142.0.tgz";
+        sha512 = "13d5RZLO13EDwll3COUq3D4KVsqM63kdf+YjG5mzXR1eXo6GVjghfQfiy0MYM6YbAjTfJxZQkc0nFgWLU8jdyg==";
       };
     };
-    "@aws-sdk/util-format-url-3.110.0" = {
+    "@aws-sdk/util-format-url-3.127.0" = {
       name = "_at_aws-sdk_slash_util-format-url";
       packageName = "@aws-sdk/util-format-url";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.110.0.tgz";
-        sha512 = "NES/Kf92stj6bMl3WyaKFlA5yKbYlb357buoXKv51MnjcLL6NAgIWm0lMQv6UgzLVTxKdbw4BxErpSiKM+10Xg==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.127.0.tgz";
+        sha512 = "leZeq6vxm6MSpu9Ruc5WKr7pzJ8kVXNJVerB4ixEk5KtFPPrJDw7MoEtnbnhVzhraLUnqHqYvrb6OlmkkISR+Q==";
       };
     };
     "@aws-sdk/util-hex-encoding-3.109.0" = {
@@ -1093,31 +1138,31 @@ let
         sha512 = "0sPmK2JaJE2BbTcnvybzob/VrFKCXKfN4CUKcvn0yGg/me7Bz+vtzQRB3Xp+YSx+7OtWxzv63wsvHoAnXvgxgg==";
       };
     };
-    "@aws-sdk/util-middleware-3.110.0" = {
+    "@aws-sdk/util-middleware-3.127.0" = {
       name = "_at_aws-sdk_slash_util-middleware";
       packageName = "@aws-sdk/util-middleware";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.110.0.tgz";
-        sha512 = "PTVWrI5fA9d5hHJs6RzX2dIS2jRQ3uW073Fm0BePpQeDdZrEk+S5KNwRhUtpN6sdSV45vm6S9rrjZUG51qwGmA==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.127.0.tgz";
+        sha512 = "EwAPPed9TNqh+Wov2VStLn2NuJ/Wyt7IkZCbCsBuSNp3BFZ1V4gfwTjqtKCtB2LQgQ48MTgWgNCvrH0zjCSPGg==";
       };
     };
-    "@aws-sdk/util-stream-browser-3.110.0" = {
+    "@aws-sdk/util-stream-browser-3.131.0" = {
       name = "_at_aws-sdk_slash_util-stream-browser";
       packageName = "@aws-sdk/util-stream-browser";
-      version = "3.110.0";
+      version = "3.131.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.110.0.tgz";
-        sha512 = "kAMrHtgrhr6ODRnzt/V+LSDVDvejcbdUp19n4My2vrPwKw3lM65vT+FAPIlGeDQBtOOhmlTbrYM3G3KKnlnHyg==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.131.0.tgz";
+        sha512 = "1YFbBPDu+elIgp8z1woUfT7zM+2PAvgJiw6ljDBuAlJzsP5xMhwk0X9e+8aQ+Qe4XftA0e7y/PH0gqvjNgCx2A==";
       };
     };
-    "@aws-sdk/util-stream-node-3.110.0" = {
+    "@aws-sdk/util-stream-node-3.129.0" = {
       name = "_at_aws-sdk_slash_util-stream-node";
       packageName = "@aws-sdk/util-stream-node";
-      version = "3.110.0";
+      version = "3.129.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.110.0.tgz";
-        sha512 = "jgkO7aLRpE3EUqU5XUdo0FmlyBVCFHKyHd/jdEN8h9+XMa44rl2QMdOSFQtwaNI4NC8J+OC66u2dQ+8QQnOLig==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.129.0.tgz";
+        sha512 = "1iWqsWvVXyP4JLPPPs8tBZKyzs7D5e7KctXuCtIjI+cnGOCeVLL+X4L/7KDZfV7sI2D6vONtIoTnUjMl5V/kEg==";
       };
     };
     "@aws-sdk/util-uri-escape-3.55.0" = {
@@ -1129,22 +1174,22 @@ let
         sha512 = "mmdDLUpFCN2nkfwlLdOM54lTD528GiGSPN1qb8XtGLgZsJUmg3uJSFIN2lPeSbEwJB3NFjVas/rnQC48i7mV8w==";
       };
     };
-    "@aws-sdk/util-user-agent-browser-3.110.0" = {
+    "@aws-sdk/util-user-agent-browser-3.127.0" = {
       name = "_at_aws-sdk_slash_util-user-agent-browser";
       packageName = "@aws-sdk/util-user-agent-browser";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.110.0.tgz";
-        sha512 = "rNdhmHDMV5dNJctqlBWimkZLJRB+x03DB+61pm+SKSFk6gPIVIvc1WNXqDFphkiswT4vA13ZUkGHzt+N4+noQQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.127.0.tgz";
+        sha512 = "uO2oHmJswuYKJS+GiMdYI8izhpC9M7/jFFvnAmLlTEVwpEi1VX9KePAOF+u5AaBC2kzITo/7dg141XfRHZloIQ==";
       };
     };
-    "@aws-sdk/util-user-agent-node-3.110.0" = {
+    "@aws-sdk/util-user-agent-node-3.127.0" = {
       name = "_at_aws-sdk_slash_util-user-agent-node";
       packageName = "@aws-sdk/util-user-agent-node";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.110.0.tgz";
-        sha512 = "OQ915TPCCBwZWz5Np8zkNWn7U6KvrTZfFoCOy/VIemK3dUqmnBZ7HqGpuZx8SwJ2R9JE1x+j0niYSJ5fWJZZKA==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.127.0.tgz";
+        sha512 = "3P/M4ZDD2qMeeoCk7TE/Mw7cG5IjB87F6BP8nI8/oHuaz7j6fsI7D49SNpyjl8JApRynZ122Ad6hwQwRj3isYw==";
       };
     };
     "@aws-sdk/util-utf8-browser-3.109.0" = {
@@ -1165,22 +1210,22 @@ let
         sha512 = "Ti/ZBdvz2eSTElsucjzNmzpyg2MwfD1rXmxD0hZuIF8bPON/0+sZYnWd5CbDw9kgmhy28dmKue086tbZ1G0iLQ==";
       };
     };
-    "@aws-sdk/util-waiter-3.110.0" = {
+    "@aws-sdk/util-waiter-3.127.0" = {
       name = "_at_aws-sdk_slash_util-waiter";
       packageName = "@aws-sdk/util-waiter";
-      version = "3.110.0";
+      version = "3.127.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.110.0.tgz";
-        sha512 = "8dE6W6XYfjk1gx/aeb8NeLfMMLkLFhlV1lmKpFSBJhY8msajU8aQahTuykq5JW8QT/wCGbqbu7dH35SdX7kO+A==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.127.0.tgz";
+        sha512 = "E5qrRpBJS8dmClqSDW1pWVMKzCG/mxabG6jVUtlW/WLHnl/znxGaOQc6tnnwKik0nEq/4DpT9fEfPUz9JiLrkw==";
       };
     };
-    "@aws-sdk/xml-builder-3.109.0" = {
+    "@aws-sdk/xml-builder-3.142.0" = {
       name = "_at_aws-sdk_slash_xml-builder";
       packageName = "@aws-sdk/xml-builder";
-      version = "3.109.0";
+      version = "3.142.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.109.0.tgz";
-        sha512 = "+aAXynnrqya1Eukz4Gxch4xIXCZolIMWGD4Ll/Q5yXT5uAjGh2HQWd9J0LWE+gYChpWetZbAVYZ3cEJ6F+SpZA==";
+        url = "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.142.0.tgz";
+        sha512 = "e8rFjm5y9ngFc/cPwWMNn/CmMMrLx98CajWew9q7OzP6OOXQJ0H6TaRps2uQPM5XUv3/Ab5YQCV3NiaLJLqqNg==";
       };
     };
     "@azu/format-text-1.0.1" = {
@@ -1201,13 +1246,13 @@ let
         sha512 = "L7iaxNrk0OLsH7kw3yx3KVQTKhc2zeW0D9SLrRCqbTZi3XtvSVmmjqO73kR4EnWbTRZ18mwdAikbFYJ0coZ55Q==";
       };
     };
-    "@babel/cli-7.17.10" = {
+    "@babel/cli-7.18.10" = {
       name = "_at_babel_slash_cli";
       packageName = "@babel/cli";
-      version = "7.17.10";
+      version = "7.18.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/cli/-/cli-7.17.10.tgz";
-        sha512 = "OygVO1M2J4yPMNOW9pb+I6kFGpQK77HmG44Oz3hg8xQIl5L/2zq+ZohwAdSaqYgVwM0SfmPHZHphH4wR8qzVYw==";
+        url = "https://registry.npmjs.org/@babel/cli/-/cli-7.18.10.tgz";
+        sha512 = "dLvWH+ZDFAkd2jPBSghrsFBuXrREvFwjpDycXbmUoeochqKYe4zNSLEJYErpLg8dvxvZYe79/MkN461XCwpnGw==";
       };
     };
     "@babel/code-frame-7.10.4" = {
@@ -1228,31 +1273,31 @@ let
         sha512 = "Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==";
       };
     };
-    "@babel/code-frame-7.16.7" = {
+    "@babel/code-frame-7.18.6" = {
       name = "_at_babel_slash_code-frame";
       packageName = "@babel/code-frame";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz";
-        sha512 = "iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==";
+        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz";
+        sha512 = "TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==";
       };
     };
-    "@babel/compat-data-7.18.5" = {
+    "@babel/compat-data-7.18.8" = {
       name = "_at_babel_slash_compat-data";
       packageName = "@babel/compat-data";
-      version = "7.18.5";
+      version = "7.18.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.5.tgz";
-        sha512 = "BxhE40PVCBxVEJsSBhB6UWyAuqJRxGsAw8BdHMJ3AKGydcwuWW4kOO3HmqBQAdcq/OP+/DlTVxLvsCzRTnZuGg==";
+        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz";
+        sha512 = "HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==";
       };
     };
-    "@babel/core-7.18.5" = {
+    "@babel/core-7.18.10" = {
       name = "_at_babel_slash_core";
       packageName = "@babel/core";
-      version = "7.18.5";
+      version = "7.18.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/core/-/core-7.18.5.tgz";
-        sha512 = "MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ==";
+        url = "https://registry.npmjs.org/@babel/core/-/core-7.18.10.tgz";
+        sha512 = "JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw==";
       };
     };
     "@babel/core-7.9.0" = {
@@ -1264,6 +1309,15 @@ let
         sha512 = "kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w==";
       };
     };
+    "@babel/generator-7.18.10" = {
+      name = "_at_babel_slash_generator";
+      packageName = "@babel/generator";
+      version = "7.18.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.18.10.tgz";
+        sha512 = "0+sW7e3HjQbiHbj1NeU/vN8ornohYlacAfZIaXhdoGweQqgcNy69COVciYYqEXJ/v+9OBA7Frxm4CVAuNqKeNA==";
+      };
+    };
     "@babel/generator-7.18.2" = {
       name = "_at_babel_slash_generator";
       packageName = "@babel/generator";
@@ -1273,418 +1327,427 @@ let
         sha512 = "W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==";
       };
     };
-    "@babel/helper-annotate-as-pure-7.16.7" = {
+    "@babel/helper-annotate-as-pure-7.18.6" = {
       name = "_at_babel_slash_helper-annotate-as-pure";
       packageName = "@babel/helper-annotate-as-pure";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz";
-        sha512 = "s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==";
+        url = "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz";
+        sha512 = "duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==";
       };
     };
-    "@babel/helper-builder-binary-assignment-operator-visitor-7.16.7" = {
+    "@babel/helper-builder-binary-assignment-operator-visitor-7.18.9" = {
       name = "_at_babel_slash_helper-builder-binary-assignment-operator-visitor";
       packageName = "@babel/helper-builder-binary-assignment-operator-visitor";
-      version = "7.16.7";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz";
-        sha512 = "C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==";
+        url = "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz";
+        sha512 = "yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==";
       };
     };
-    "@babel/helper-compilation-targets-7.18.2" = {
+    "@babel/helper-compilation-targets-7.18.9" = {
       name = "_at_babel_slash_helper-compilation-targets";
       packageName = "@babel/helper-compilation-targets";
-      version = "7.18.2";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz";
-        sha512 = "s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ==";
+        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz";
+        sha512 = "tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==";
       };
     };
-    "@babel/helper-create-class-features-plugin-7.18.0" = {
+    "@babel/helper-create-class-features-plugin-7.18.9" = {
       name = "_at_babel_slash_helper-create-class-features-plugin";
       packageName = "@babel/helper-create-class-features-plugin";
-      version = "7.18.0";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.0.tgz";
-        sha512 = "Kh8zTGR9de3J63e5nS0rQUdRs/kbtwoeQQ0sriS0lItjC96u8XXZN6lKpuyWd2coKSU13py/y+LTmThLuVX0Pg==";
+        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz";
+        sha512 = "WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw==";
       };
     };
-    "@babel/helper-create-regexp-features-plugin-7.17.12" = {
+    "@babel/helper-create-regexp-features-plugin-7.18.6" = {
       name = "_at_babel_slash_helper-create-regexp-features-plugin";
       packageName = "@babel/helper-create-regexp-features-plugin";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.12.tgz";
-        sha512 = "b2aZrV4zvutr9AIa6/gA3wsZKRwTKYoDxYiFKcESS3Ug2GTXzwBEvMuuFLhCQpEnRXs1zng4ISAXSUxxKBIcxw==";
+        url = "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz";
+        sha512 = "7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==";
       };
     };
-    "@babel/helper-define-polyfill-provider-0.3.1" = {
+    "@babel/helper-define-polyfill-provider-0.3.2" = {
       name = "_at_babel_slash_helper-define-polyfill-provider";
       packageName = "@babel/helper-define-polyfill-provider";
-      version = "0.3.1";
+      version = "0.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz";
-        sha512 = "J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==";
+        url = "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz";
+        sha512 = "r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==";
       };
     };
-    "@babel/helper-environment-visitor-7.18.2" = {
+    "@babel/helper-environment-visitor-7.18.9" = {
       name = "_at_babel_slash_helper-environment-visitor";
       packageName = "@babel/helper-environment-visitor";
-      version = "7.18.2";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz";
-        sha512 = "14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==";
+        url = "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz";
+        sha512 = "3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==";
       };
     };
-    "@babel/helper-explode-assignable-expression-7.16.7" = {
+    "@babel/helper-explode-assignable-expression-7.18.6" = {
       name = "_at_babel_slash_helper-explode-assignable-expression";
       packageName = "@babel/helper-explode-assignable-expression";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz";
-        sha512 = "KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==";
+        url = "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz";
+        sha512 = "eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==";
       };
     };
-    "@babel/helper-function-name-7.17.9" = {
+    "@babel/helper-function-name-7.18.9" = {
       name = "_at_babel_slash_helper-function-name";
       packageName = "@babel/helper-function-name";
-      version = "7.17.9";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz";
-        sha512 = "7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==";
+        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz";
+        sha512 = "fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==";
       };
     };
-    "@babel/helper-hoist-variables-7.16.7" = {
+    "@babel/helper-hoist-variables-7.18.6" = {
       name = "_at_babel_slash_helper-hoist-variables";
       packageName = "@babel/helper-hoist-variables";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz";
-        sha512 = "m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==";
+        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz";
+        sha512 = "UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==";
       };
     };
-    "@babel/helper-member-expression-to-functions-7.17.7" = {
+    "@babel/helper-member-expression-to-functions-7.18.9" = {
       name = "_at_babel_slash_helper-member-expression-to-functions";
       packageName = "@babel/helper-member-expression-to-functions";
-      version = "7.17.7";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz";
-        sha512 = "thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==";
+        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz";
+        sha512 = "RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==";
       };
     };
-    "@babel/helper-module-imports-7.16.7" = {
+    "@babel/helper-module-imports-7.18.6" = {
       name = "_at_babel_slash_helper-module-imports";
       packageName = "@babel/helper-module-imports";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz";
-        sha512 = "LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==";
+        url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz";
+        sha512 = "0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==";
       };
     };
-    "@babel/helper-module-transforms-7.18.0" = {
+    "@babel/helper-module-transforms-7.18.9" = {
       name = "_at_babel_slash_helper-module-transforms";
       packageName = "@babel/helper-module-transforms";
-      version = "7.18.0";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz";
-        sha512 = "kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA==";
+        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz";
+        sha512 = "KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==";
       };
     };
-    "@babel/helper-optimise-call-expression-7.16.7" = {
+    "@babel/helper-optimise-call-expression-7.18.6" = {
       name = "_at_babel_slash_helper-optimise-call-expression";
       packageName = "@babel/helper-optimise-call-expression";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz";
-        sha512 = "EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==";
+        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz";
+        sha512 = "HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==";
       };
     };
-    "@babel/helper-plugin-utils-7.17.12" = {
+    "@babel/helper-plugin-utils-7.18.9" = {
       name = "_at_babel_slash_helper-plugin-utils";
       packageName = "@babel/helper-plugin-utils";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz";
-        sha512 = "JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==";
+        url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz";
+        sha512 = "aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==";
       };
     };
-    "@babel/helper-remap-async-to-generator-7.16.8" = {
+    "@babel/helper-remap-async-to-generator-7.18.9" = {
       name = "_at_babel_slash_helper-remap-async-to-generator";
       packageName = "@babel/helper-remap-async-to-generator";
-      version = "7.16.8";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz";
-        sha512 = "fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==";
+        url = "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz";
+        sha512 = "dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==";
       };
     };
-    "@babel/helper-replace-supers-7.18.2" = {
+    "@babel/helper-replace-supers-7.18.9" = {
       name = "_at_babel_slash_helper-replace-supers";
       packageName = "@babel/helper-replace-supers";
-      version = "7.18.2";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.2.tgz";
-        sha512 = "XzAIyxx+vFnrOxiQrToSUOzUOn0e1J2Li40ntddek1Y69AXUTXoDJ40/D5RdjFu7s7qHiaeoTiempZcbuVXh2Q==";
+        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz";
+        sha512 = "dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==";
       };
     };
-    "@babel/helper-simple-access-7.18.2" = {
+    "@babel/helper-simple-access-7.18.6" = {
       name = "_at_babel_slash_helper-simple-access";
       packageName = "@babel/helper-simple-access";
-      version = "7.18.2";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz";
-        sha512 = "7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ==";
+        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz";
+        sha512 = "iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==";
       };
     };
-    "@babel/helper-skip-transparent-expression-wrappers-7.16.0" = {
+    "@babel/helper-skip-transparent-expression-wrappers-7.18.9" = {
       name = "_at_babel_slash_helper-skip-transparent-expression-wrappers";
       packageName = "@babel/helper-skip-transparent-expression-wrappers";
-      version = "7.16.0";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz";
-        sha512 = "+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==";
+        url = "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz";
+        sha512 = "imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==";
       };
     };
-    "@babel/helper-split-export-declaration-7.16.7" = {
+    "@babel/helper-split-export-declaration-7.18.6" = {
       name = "_at_babel_slash_helper-split-export-declaration";
       packageName = "@babel/helper-split-export-declaration";
-      version = "7.16.7";
+      version = "7.18.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz";
+        sha512 = "bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==";
+      };
+    };
+    "@babel/helper-string-parser-7.18.10" = {
+      name = "_at_babel_slash_helper-string-parser";
+      packageName = "@babel/helper-string-parser";
+      version = "7.18.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz";
-        sha512 = "xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==";
+        url = "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz";
+        sha512 = "XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==";
       };
     };
-    "@babel/helper-validator-identifier-7.16.7" = {
+    "@babel/helper-validator-identifier-7.18.6" = {
       name = "_at_babel_slash_helper-validator-identifier";
       packageName = "@babel/helper-validator-identifier";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz";
-        sha512 = "hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==";
+        url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz";
+        sha512 = "MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==";
       };
     };
-    "@babel/helper-validator-option-7.16.7" = {
+    "@babel/helper-validator-option-7.18.6" = {
       name = "_at_babel_slash_helper-validator-option";
       packageName = "@babel/helper-validator-option";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz";
-        sha512 = "TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==";
+        url = "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz";
+        sha512 = "XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==";
       };
     };
-    "@babel/helper-wrap-function-7.16.8" = {
+    "@babel/helper-wrap-function-7.18.10" = {
       name = "_at_babel_slash_helper-wrap-function";
       packageName = "@babel/helper-wrap-function";
-      version = "7.16.8";
+      version = "7.18.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz";
-        sha512 = "8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==";
+        url = "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.10.tgz";
+        sha512 = "95NLBP59VWdfK2lyLKe6eTMq9xg+yWKzxzxbJ1wcYNi1Auz200+83fMDADjRxBvc2QQor5zja2yTQzXGhk2GtQ==";
       };
     };
-    "@babel/helpers-7.18.2" = {
+    "@babel/helpers-7.18.9" = {
       name = "_at_babel_slash_helpers";
       packageName = "@babel/helpers";
-      version = "7.18.2";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.2.tgz";
-        sha512 = "j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg==";
+        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz";
+        sha512 = "Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==";
       };
     };
-    "@babel/highlight-7.17.12" = {
+    "@babel/highlight-7.18.6" = {
       name = "_at_babel_slash_highlight";
       packageName = "@babel/highlight";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.12.tgz";
-        sha512 = "7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==";
+        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz";
+        sha512 = "u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==";
       };
     };
-    "@babel/node-7.18.5" = {
+    "@babel/node-7.18.10" = {
       name = "_at_babel_slash_node";
       packageName = "@babel/node";
-      version = "7.18.5";
+      version = "7.18.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/node/-/node-7.18.5.tgz";
-        sha512 = "zv94ESipS2/YKAOJ+/WAfVEzsl9M8UmPZ7Hwx5qVPgytdrgwUPxfi700iR9KO/w5ZhIHyFyvoZtCTSEcQJF8vQ==";
+        url = "https://registry.npmjs.org/@babel/node/-/node-7.18.10.tgz";
+        sha512 = "VbqzK6QXfQVi4Bpk6J7XqHXKFNbG2j3rdIdx68+/14GDU7jXDOSyUU/cwqCM1fDwCdxp37pNV/ToSCXsNChcyA==";
       };
     };
-    "@babel/parser-7.17.10" = {
+    "@babel/parser-7.18.10" = {
       name = "_at_babel_slash_parser";
       packageName = "@babel/parser";
-      version = "7.17.10";
+      version = "7.18.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.17.10.tgz";
-        sha512 = "n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==";
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.18.10.tgz";
+        sha512 = "TYk3OA0HKL6qNryUayb5UUEhM/rkOQozIBEA5ITXh5DWrSp0TlUQXMyZmnWxG/DizSWBeeQ0Zbc5z8UGaaqoeg==";
       };
     };
-    "@babel/parser-7.18.5" = {
+    "@babel/parser-7.18.4" = {
       name = "_at_babel_slash_parser";
       packageName = "@babel/parser";
-      version = "7.18.5";
+      version = "7.18.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.18.5.tgz";
-        sha512 = "YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw==";
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.18.4.tgz";
+        sha512 = "FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow==";
       };
     };
-    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12" = {
+    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6" = {
       name = "_at_babel_slash_plugin-bugfix-safari-id-destructuring-collision-in-function-expression";
       packageName = "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12.tgz";
-        sha512 = "xCJQXl4EeQ3J9C4yOmpTrtVGmzpm2iSzyxbkZHw7UCnZBftHpF/hpII80uWVyVrc40ytIClHjgWGTG1g/yB+aw==";
+        url = "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz";
+        sha512 = "Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==";
       };
     };
-    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12" = {
+    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9" = {
       name = "_at_babel_slash_plugin-bugfix-v8-spread-parameters-in-optional-chaining";
       packageName = "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12.tgz";
-        sha512 = "/vt0hpIw0x4b6BLKUkwlvEoiGZYYLNZ96CzyHYPbtG2jZGz6LBe7/V+drYrc/d+ovrF9NBi0pmtvmNb/FsWtRQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz";
+        sha512 = "AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==";
       };
     };
-    "@babel/plugin-proposal-async-generator-functions-7.17.12" = {
+    "@babel/plugin-proposal-async-generator-functions-7.18.10" = {
       name = "_at_babel_slash_plugin-proposal-async-generator-functions";
       packageName = "@babel/plugin-proposal-async-generator-functions";
-      version = "7.17.12";
+      version = "7.18.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.17.12.tgz";
-        sha512 = "RWVvqD1ooLKP6IqWTA5GyFVX2isGEgC5iFxKzfYOIy/QEFdxYyCybBDtIGjipHpb9bDWHzcqGqFakf+mVmBTdQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz";
+        sha512 = "1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==";
       };
     };
-    "@babel/plugin-proposal-class-properties-7.17.12" = {
+    "@babel/plugin-proposal-class-properties-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-class-properties";
       packageName = "@babel/plugin-proposal-class-properties";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.17.12.tgz";
-        sha512 = "U0mI9q8pW5Q9EaTHFPwSVusPMV/DV9Mm8p7csqROFLtIE9rBF5piLqyrBGigftALrBcsBGu4m38JneAe7ZDLXw==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz";
+        sha512 = "cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==";
       };
     };
-    "@babel/plugin-proposal-class-static-block-7.18.0" = {
+    "@babel/plugin-proposal-class-static-block-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-class-static-block";
       packageName = "@babel/plugin-proposal-class-static-block";
-      version = "7.18.0";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.0.tgz";
-        sha512 = "t+8LsRMMDE74c6sV7KShIw13sqbqd58tlqNrsWoWBTIMw7SVQ0cZ905wLNS/FBCy/3PyooRHLFFlfrUNyyz5lA==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz";
+        sha512 = "+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==";
       };
     };
-    "@babel/plugin-proposal-dynamic-import-7.16.7" = {
+    "@babel/plugin-proposal-dynamic-import-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-dynamic-import";
       packageName = "@babel/plugin-proposal-dynamic-import";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz";
-        sha512 = "I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz";
+        sha512 = "1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==";
       };
     };
-    "@babel/plugin-proposal-export-default-from-7.17.12" = {
+    "@babel/plugin-proposal-export-default-from-7.18.10" = {
       name = "_at_babel_slash_plugin-proposal-export-default-from";
       packageName = "@babel/plugin-proposal-export-default-from";
-      version = "7.17.12";
+      version = "7.18.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.17.12.tgz";
-        sha512 = "LpsTRw725eBAXXKUOnJJct+SEaOzwR78zahcLuripD2+dKc2Sj+8Q2DzA+GC/jOpOu/KlDXuxrzG214o1zTauQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.18.10.tgz";
+        sha512 = "5H2N3R2aQFxkV4PIBUR/i7PUSwgTZjouJKzI8eKswfIjT0PhvzkPn0t0wIS5zn6maQuvtT0t1oHtMUz61LOuow==";
       };
     };
-    "@babel/plugin-proposal-export-namespace-from-7.17.12" = {
+    "@babel/plugin-proposal-export-namespace-from-7.18.9" = {
       name = "_at_babel_slash_plugin-proposal-export-namespace-from";
       packageName = "@babel/plugin-proposal-export-namespace-from";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.17.12.tgz";
-        sha512 = "j7Ye5EWdwoXOpRmo5QmRyHPsDIe6+u70ZYZrd7uz+ebPYFKfRcLcNu3Ro0vOlJ5zuv8rU7xa+GttNiRzX56snQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz";
+        sha512 = "k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==";
       };
     };
-    "@babel/plugin-proposal-json-strings-7.17.12" = {
+    "@babel/plugin-proposal-json-strings-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-json-strings";
       packageName = "@babel/plugin-proposal-json-strings";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.17.12.tgz";
-        sha512 = "rKJ+rKBoXwLnIn7n6o6fulViHMrOThz99ybH+hKHcOZbnN14VuMnH9fo2eHE69C8pO4uX1Q7t2HYYIDmv8VYkg==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz";
+        sha512 = "lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==";
       };
     };
-    "@babel/plugin-proposal-logical-assignment-operators-7.17.12" = {
+    "@babel/plugin-proposal-logical-assignment-operators-7.18.9" = {
       name = "_at_babel_slash_plugin-proposal-logical-assignment-operators";
       packageName = "@babel/plugin-proposal-logical-assignment-operators";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.17.12.tgz";
-        sha512 = "EqFo2s1Z5yy+JeJu7SFfbIUtToJTVlC61/C7WLKDntSw4Sz6JNAIfL7zQ74VvirxpjB5kz/kIx0gCcb+5OEo2Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz";
+        sha512 = "128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==";
       };
     };
-    "@babel/plugin-proposal-nullish-coalescing-operator-7.17.12" = {
+    "@babel/plugin-proposal-nullish-coalescing-operator-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-nullish-coalescing-operator";
       packageName = "@babel/plugin-proposal-nullish-coalescing-operator";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.17.12.tgz";
-        sha512 = "ws/g3FSGVzv+VH86+QvgtuJL/kR67xaEIF2x0iPqdDfYW6ra6JF3lKVBkWynRLcNtIC1oCTfDRVxmm2mKzy+ag==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz";
+        sha512 = "wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==";
       };
     };
-    "@babel/plugin-proposal-numeric-separator-7.16.7" = {
+    "@babel/plugin-proposal-numeric-separator-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-numeric-separator";
       packageName = "@babel/plugin-proposal-numeric-separator";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz";
-        sha512 = "vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz";
+        sha512 = "ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==";
       };
     };
-    "@babel/plugin-proposal-object-rest-spread-7.18.0" = {
+    "@babel/plugin-proposal-object-rest-spread-7.18.9" = {
       name = "_at_babel_slash_plugin-proposal-object-rest-spread";
       packageName = "@babel/plugin-proposal-object-rest-spread";
-      version = "7.18.0";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.0.tgz";
-        sha512 = "nbTv371eTrFabDfHLElkn9oyf9VG+VKK6WMzhY2o4eHKaG19BToD9947zzGMO6I/Irstx9d8CwX6njPNIAR/yw==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz";
+        sha512 = "kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==";
       };
     };
-    "@babel/plugin-proposal-optional-catch-binding-7.16.7" = {
+    "@babel/plugin-proposal-optional-catch-binding-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-optional-catch-binding";
       packageName = "@babel/plugin-proposal-optional-catch-binding";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz";
-        sha512 = "eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz";
+        sha512 = "Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==";
       };
     };
-    "@babel/plugin-proposal-optional-chaining-7.17.12" = {
+    "@babel/plugin-proposal-optional-chaining-7.18.9" = {
       name = "_at_babel_slash_plugin-proposal-optional-chaining";
       packageName = "@babel/plugin-proposal-optional-chaining";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.17.12.tgz";
-        sha512 = "7wigcOs/Z4YWlK7xxjkvaIw84vGhDv/P1dFGQap0nHkc8gFKY/r+hXc8Qzf5k1gY7CvGIcHqAnOagVKJJ1wVOQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz";
+        sha512 = "v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==";
       };
     };
-    "@babel/plugin-proposal-private-methods-7.17.12" = {
+    "@babel/plugin-proposal-private-methods-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-private-methods";
       packageName = "@babel/plugin-proposal-private-methods";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.17.12.tgz";
-        sha512 = "SllXoxo19HmxhDWm3luPz+cPhtoTSKLJE9PXshsfrOzBqs60QP0r8OaJItrPhAj0d7mZMnNF0Y1UUggCDgMz1A==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz";
+        sha512 = "nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==";
       };
     };
-    "@babel/plugin-proposal-private-property-in-object-7.17.12" = {
+    "@babel/plugin-proposal-private-property-in-object-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-private-property-in-object";
       packageName = "@babel/plugin-proposal-private-property-in-object";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.17.12.tgz";
-        sha512 = "/6BtVi57CJfrtDNKfK5b66ydK2J5pXUKBKSPD2G1whamMuEnZWgoOIfO8Vf9F/DoD4izBLD/Au4NMQfruzzykg==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz";
+        sha512 = "9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==";
       };
     };
-    "@babel/plugin-proposal-unicode-property-regex-7.17.12" = {
+    "@babel/plugin-proposal-unicode-property-regex-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-unicode-property-regex";
       packageName = "@babel/plugin-proposal-unicode-property-regex";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.17.12.tgz";
-        sha512 = "Wb9qLjXf3ZazqXA7IvI7ozqRIXIGPtSo+L5coFmEkhTQK18ao4UDDD0zdTGAarmbLj2urpRwrc6893cu5Bfh0A==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz";
+        sha512 = "2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==";
       };
     };
     "@babel/plugin-syntax-async-generators-7.8.4" = {
@@ -1723,13 +1786,13 @@ let
         sha512 = "5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==";
       };
     };
-    "@babel/plugin-syntax-export-default-from-7.16.7" = {
+    "@babel/plugin-syntax-export-default-from-7.18.6" = {
       name = "_at_babel_slash_plugin-syntax-export-default-from";
       packageName = "@babel/plugin-syntax-export-default-from";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.16.7.tgz";
-        sha512 = "4C3E4NsrLOgftKaTYTULhHsuQrGv3FHrBzOMDiS7UYKIpgGBkAdawg4h+EI8zPeK9M0fiIIh72hIwsI24K7MbA==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.18.6.tgz";
+        sha512 = "Kr//z3ujSVNx6E9z9ih5xXXMqK07VVTuqPmqGe6Mss/zW5XPeLZeSDZoP9ab/hT4wPKqAgjl2PnhPrcpk8Seew==";
       };
     };
     "@babel/plugin-syntax-export-namespace-from-7.8.3" = {
@@ -1741,22 +1804,22 @@ let
         sha512 = "MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==";
       };
     };
-    "@babel/plugin-syntax-flow-7.17.12" = {
+    "@babel/plugin-syntax-flow-7.18.6" = {
       name = "_at_babel_slash_plugin-syntax-flow";
       packageName = "@babel/plugin-syntax-flow";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.17.12.tgz";
-        sha512 = "B8QIgBvkIG6G2jgsOHQUist7Sm0EBLDCx8sen072IwqNuzMegZNXrYnSv77cYzA8mLDZAfQYqsLIhimiP1s2HQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz";
+        sha512 = "LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==";
       };
     };
-    "@babel/plugin-syntax-import-assertions-7.17.12" = {
+    "@babel/plugin-syntax-import-assertions-7.18.6" = {
       name = "_at_babel_slash_plugin-syntax-import-assertions";
       packageName = "@babel/plugin-syntax-import-assertions";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.17.12.tgz";
-        sha512 = "n/loy2zkq9ZEM8tEOwON9wTQSTNDTDEz6NujPtJGLU7qObzT1N4c4YZZf8E6ATB2AjNQg/Ib2AIpO03EZaCehw==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz";
+        sha512 = "/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==";
       };
     };
     "@babel/plugin-syntax-json-strings-7.8.3" = {
@@ -1768,13 +1831,13 @@ let
         sha512 = "lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==";
       };
     };
-    "@babel/plugin-syntax-jsx-7.17.12" = {
+    "@babel/plugin-syntax-jsx-7.18.6" = {
       name = "_at_babel_slash_plugin-syntax-jsx";
       packageName = "@babel/plugin-syntax-jsx";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.17.12.tgz";
-        sha512 = "spyY3E3AURfxh/RHtjx5j6hs8am5NbUBGfcZ2vB3uShSpZdQyXSf5rR5Mk76vbtlAZOelyVQ71Fg0x9SG4fsog==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz";
+        sha512 = "6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==";
       };
     };
     "@babel/plugin-syntax-logical-assignment-operators-7.10.4" = {
@@ -1849,364 +1912,364 @@ let
         sha512 = "hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==";
       };
     };
-    "@babel/plugin-syntax-typescript-7.17.12" = {
+    "@babel/plugin-syntax-typescript-7.18.6" = {
       name = "_at_babel_slash_plugin-syntax-typescript";
       packageName = "@babel/plugin-syntax-typescript";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.12.tgz";
-        sha512 = "TYY0SXFiO31YXtNg3HtFwNJHjLsAyIIhAhNWkQ5whPPS7HWUFlg9z0Ta4qAQNjQbP1wsSt/oKkmZ/4/WWdMUpw==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz";
+        sha512 = "mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==";
       };
     };
-    "@babel/plugin-transform-arrow-functions-7.17.12" = {
+    "@babel/plugin-transform-arrow-functions-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-arrow-functions";
       packageName = "@babel/plugin-transform-arrow-functions";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.17.12.tgz";
-        sha512 = "PHln3CNi/49V+mza4xMwrg+WGYevSF1oaiXaC2EQfdp4HWlSjRsrDXWJiQBKpP7749u6vQ9mcry2uuFOv5CXvA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz";
+        sha512 = "9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==";
       };
     };
-    "@babel/plugin-transform-async-to-generator-7.17.12" = {
+    "@babel/plugin-transform-async-to-generator-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-async-to-generator";
       packageName = "@babel/plugin-transform-async-to-generator";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.17.12.tgz";
-        sha512 = "J8dbrWIOO3orDzir57NRsjg4uxucvhby0L/KZuGsWDj0g7twWK3g7JhJhOrXtuXiw8MeiSdJ3E0OW9H8LYEzLQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz";
+        sha512 = "ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==";
       };
     };
-    "@babel/plugin-transform-block-scoped-functions-7.16.7" = {
+    "@babel/plugin-transform-block-scoped-functions-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-block-scoped-functions";
       packageName = "@babel/plugin-transform-block-scoped-functions";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz";
-        sha512 = "JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz";
+        sha512 = "ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==";
       };
     };
-    "@babel/plugin-transform-block-scoping-7.18.4" = {
+    "@babel/plugin-transform-block-scoping-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-block-scoping";
       packageName = "@babel/plugin-transform-block-scoping";
-      version = "7.18.4";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.4.tgz";
-        sha512 = "+Hq10ye+jlvLEogSOtq4mKvtk7qwcUQ1f0Mrueai866C82f844Yom2cttfJdMdqRLTxWpsbfbkIkOIfovyUQXw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz";
+        sha512 = "5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==";
       };
     };
-    "@babel/plugin-transform-classes-7.18.4" = {
+    "@babel/plugin-transform-classes-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-classes";
       packageName = "@babel/plugin-transform-classes";
-      version = "7.18.4";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.4.tgz";
-        sha512 = "e42NSG2mlKWgxKUAD9EJJSkZxR67+wZqzNxLSpc51T8tRU5SLFHsPmgYR5yr7sdgX4u+iHA1C5VafJ6AyImV3A==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz";
+        sha512 = "EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==";
       };
     };
-    "@babel/plugin-transform-computed-properties-7.17.12" = {
+    "@babel/plugin-transform-computed-properties-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-computed-properties";
       packageName = "@babel/plugin-transform-computed-properties";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.17.12.tgz";
-        sha512 = "a7XINeplB5cQUWMg1E/GI1tFz3LfK021IjV1rj1ypE+R7jHm+pIHmHl25VNkZxtx9uuYp7ThGk8fur1HHG7PgQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz";
+        sha512 = "+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==";
       };
     };
-    "@babel/plugin-transform-destructuring-7.18.0" = {
+    "@babel/plugin-transform-destructuring-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-destructuring";
       packageName = "@babel/plugin-transform-destructuring";
-      version = "7.18.0";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.0.tgz";
-        sha512 = "Mo69klS79z6KEfrLg/1WkmVnB8javh75HX4pi2btjvlIoasuxilEyjtsQW6XPrubNd7AQy0MMaNIaQE4e7+PQw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz";
+        sha512 = "p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA==";
       };
     };
-    "@babel/plugin-transform-dotall-regex-7.16.7" = {
+    "@babel/plugin-transform-dotall-regex-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-dotall-regex";
       packageName = "@babel/plugin-transform-dotall-regex";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz";
-        sha512 = "Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz";
+        sha512 = "6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==";
       };
     };
-    "@babel/plugin-transform-duplicate-keys-7.17.12" = {
+    "@babel/plugin-transform-duplicate-keys-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-duplicate-keys";
       packageName = "@babel/plugin-transform-duplicate-keys";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.17.12.tgz";
-        sha512 = "EA5eYFUG6xeerdabina/xIoB95jJ17mAkR8ivx6ZSu9frKShBjpOGZPn511MTDTkiCO+zXnzNczvUM69YSf3Zw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz";
+        sha512 = "d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==";
       };
     };
-    "@babel/plugin-transform-exponentiation-operator-7.16.7" = {
+    "@babel/plugin-transform-exponentiation-operator-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-exponentiation-operator";
       packageName = "@babel/plugin-transform-exponentiation-operator";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz";
-        sha512 = "8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz";
+        sha512 = "wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==";
       };
     };
-    "@babel/plugin-transform-flow-strip-types-7.17.12" = {
+    "@babel/plugin-transform-flow-strip-types-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-flow-strip-types";
       packageName = "@babel/plugin-transform-flow-strip-types";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.17.12.tgz";
-        sha512 = "g8cSNt+cHCpG/uunPQELdq/TeV3eg1OLJYwxypwHtAWo9+nErH3lQx9CSO2uI9lF74A0mR0t4KoMjs1snSgnTw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.18.9.tgz";
+        sha512 = "+G6rp2zRuOAInY5wcggsx4+QVao1qPM0osC9fTUVlAV3zOrzTCnrMAFVnR6+a3T8wz1wFIH7KhYMcMB3u1n80A==";
       };
     };
-    "@babel/plugin-transform-for-of-7.18.1" = {
+    "@babel/plugin-transform-for-of-7.18.8" = {
       name = "_at_babel_slash_plugin-transform-for-of";
       packageName = "@babel/plugin-transform-for-of";
-      version = "7.18.1";
+      version = "7.18.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.1.tgz";
-        sha512 = "+TTB5XwvJ5hZbO8xvl2H4XaMDOAK57zF4miuC9qQJgysPNEAZZ9Z69rdF5LJkozGdZrjBIUAIyKUWRMmebI7vg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz";
+        sha512 = "yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==";
       };
     };
-    "@babel/plugin-transform-function-name-7.16.7" = {
+    "@babel/plugin-transform-function-name-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-function-name";
       packageName = "@babel/plugin-transform-function-name";
-      version = "7.16.7";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz";
-        sha512 = "SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz";
+        sha512 = "WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==";
       };
     };
-    "@babel/plugin-transform-literals-7.17.12" = {
+    "@babel/plugin-transform-literals-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-literals";
       packageName = "@babel/plugin-transform-literals";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.17.12.tgz";
-        sha512 = "8iRkvaTjJciWycPIZ9k9duu663FT7VrBdNqNgxnVXEFwOIp55JWcZd23VBRySYbnS3PwQ3rGiabJBBBGj5APmQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz";
+        sha512 = "IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==";
       };
     };
-    "@babel/plugin-transform-member-expression-literals-7.16.7" = {
+    "@babel/plugin-transform-member-expression-literals-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-member-expression-literals";
       packageName = "@babel/plugin-transform-member-expression-literals";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz";
-        sha512 = "mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz";
+        sha512 = "qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==";
       };
     };
-    "@babel/plugin-transform-modules-amd-7.18.0" = {
+    "@babel/plugin-transform-modules-amd-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-modules-amd";
       packageName = "@babel/plugin-transform-modules-amd";
-      version = "7.18.0";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.0.tgz";
-        sha512 = "h8FjOlYmdZwl7Xm2Ug4iX2j7Qy63NANI+NQVWQzv6r25fqgg7k2dZl03p95kvqNclglHs4FZ+isv4p1uXMA+QA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz";
+        sha512 = "Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==";
       };
     };
-    "@babel/plugin-transform-modules-commonjs-7.18.2" = {
+    "@babel/plugin-transform-modules-commonjs-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-modules-commonjs";
       packageName = "@babel/plugin-transform-modules-commonjs";
-      version = "7.18.2";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.2.tgz";
-        sha512 = "f5A865gFPAJAEE0K7F/+nm5CmAE3y8AWlMBG9unu5j9+tk50UQVK0QS8RNxSp7MJf0wh97uYyLWt3Zvu71zyOQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz";
+        sha512 = "Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==";
       };
     };
-    "@babel/plugin-transform-modules-systemjs-7.18.5" = {
+    "@babel/plugin-transform-modules-systemjs-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-modules-systemjs";
       packageName = "@babel/plugin-transform-modules-systemjs";
-      version = "7.18.5";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.5.tgz";
-        sha512 = "SEewrhPpcqMF1V7DhnEbhVJLrC+nnYfe1E0piZMZXBpxi9WvZqWGwpsk7JYP7wPWeqaBh4gyKlBhHJu3uz5g4Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz";
+        sha512 = "zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==";
       };
     };
-    "@babel/plugin-transform-modules-umd-7.18.0" = {
+    "@babel/plugin-transform-modules-umd-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-modules-umd";
       packageName = "@babel/plugin-transform-modules-umd";
-      version = "7.18.0";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.0.tgz";
-        sha512 = "d/zZ8I3BWli1tmROLxXLc9A6YXvGK8egMxHp+E/rRwMh1Kip0AP77VwZae3snEJ33iiWwvNv2+UIIhfalqhzZA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz";
+        sha512 = "dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==";
       };
     };
-    "@babel/plugin-transform-named-capturing-groups-regex-7.17.12" = {
+    "@babel/plugin-transform-named-capturing-groups-regex-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-named-capturing-groups-regex";
       packageName = "@babel/plugin-transform-named-capturing-groups-regex";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.12.tgz";
-        sha512 = "vWoWFM5CKaTeHrdUJ/3SIOTRV+MBVGybOC9mhJkaprGNt5demMymDW24yC74avb915/mIRe3TgNb/d8idvnCRA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz";
+        sha512 = "UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==";
       };
     };
-    "@babel/plugin-transform-new-target-7.18.5" = {
+    "@babel/plugin-transform-new-target-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-new-target";
       packageName = "@babel/plugin-transform-new-target";
-      version = "7.18.5";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.5.tgz";
-        sha512 = "TuRL5uGW4KXU6OsRj+mLp9BM7pO8e7SGNTEokQRRxHFkXYMFiy2jlKSZPFtI/mKORDzciH+hneskcSOp0gU8hg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz";
+        sha512 = "DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==";
       };
     };
-    "@babel/plugin-transform-object-super-7.16.7" = {
+    "@babel/plugin-transform-object-super-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-object-super";
       packageName = "@babel/plugin-transform-object-super";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz";
-        sha512 = "14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz";
+        sha512 = "uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==";
       };
     };
-    "@babel/plugin-transform-parameters-7.17.12" = {
+    "@babel/plugin-transform-parameters-7.18.8" = {
       name = "_at_babel_slash_plugin-transform-parameters";
       packageName = "@babel/plugin-transform-parameters";
-      version = "7.17.12";
+      version = "7.18.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.17.12.tgz";
-        sha512 = "6qW4rWo1cyCdq1FkYri7AHpauchbGLXpdwnYsfxFb+KtddHENfsY5JZb35xUwkK5opOLcJ3BNd2l7PhRYGlwIA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz";
+        sha512 = "ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==";
       };
     };
-    "@babel/plugin-transform-property-literals-7.16.7" = {
+    "@babel/plugin-transform-property-literals-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-property-literals";
       packageName = "@babel/plugin-transform-property-literals";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz";
-        sha512 = "z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz";
+        sha512 = "cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==";
       };
     };
-    "@babel/plugin-transform-react-display-name-7.16.7" = {
+    "@babel/plugin-transform-react-display-name-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-react-display-name";
       packageName = "@babel/plugin-transform-react-display-name";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz";
-        sha512 = "qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz";
+        sha512 = "TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==";
       };
     };
-    "@babel/plugin-transform-react-jsx-7.17.12" = {
+    "@babel/plugin-transform-react-jsx-7.18.10" = {
       name = "_at_babel_slash_plugin-transform-react-jsx";
       packageName = "@babel/plugin-transform-react-jsx";
-      version = "7.17.12";
+      version = "7.18.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.17.12.tgz";
-        sha512 = "Lcaw8bxd1DKht3thfD4A12dqo1X16he1Lm8rIv8sTwjAYNInRS1qHa9aJoqvzpscItXvftKDCfaEQzwoVyXpEQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.18.10.tgz";
+        sha512 = "gCy7Iikrpu3IZjYZolFE4M1Sm+nrh1/6za2Ewj77Z+XirT4TsbJcvOFOyF+fRPwU6AKKK136CZxx6L8AbSFG6A==";
       };
     };
-    "@babel/plugin-transform-react-jsx-development-7.16.7" = {
+    "@babel/plugin-transform-react-jsx-development-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-react-jsx-development";
       packageName = "@babel/plugin-transform-react-jsx-development";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.7.tgz";
-        sha512 = "RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz";
+        sha512 = "SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==";
       };
     };
-    "@babel/plugin-transform-react-pure-annotations-7.18.0" = {
+    "@babel/plugin-transform-react-pure-annotations-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-react-pure-annotations";
       packageName = "@babel/plugin-transform-react-pure-annotations";
-      version = "7.18.0";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.0.tgz";
-        sha512 = "6+0IK6ouvqDn9bmEG7mEyF/pwlJXVj5lwydybpyyH3D0A7Hftk+NCTdYjnLNZksn261xaOV5ksmp20pQEmc2RQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz";
+        sha512 = "I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==";
       };
     };
-    "@babel/plugin-transform-regenerator-7.18.0" = {
+    "@babel/plugin-transform-regenerator-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-regenerator";
       packageName = "@babel/plugin-transform-regenerator";
-      version = "7.18.0";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.0.tgz";
-        sha512 = "C8YdRw9uzx25HSIzwA7EM7YP0FhCe5wNvJbZzjVNHHPGVcDJ3Aie+qGYYdS1oVQgn+B3eAIJbWFLrJ4Jipv7nw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz";
+        sha512 = "poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==";
       };
     };
-    "@babel/plugin-transform-reserved-words-7.17.12" = {
+    "@babel/plugin-transform-reserved-words-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-reserved-words";
       packageName = "@babel/plugin-transform-reserved-words";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.17.12.tgz";
-        sha512 = "1KYqwbJV3Co03NIi14uEHW8P50Md6KqFgt0FfpHdK6oyAHQVTosgPuPSiWud1HX0oYJ1hGRRlk0fP87jFpqXZA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz";
+        sha512 = "oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==";
       };
     };
-    "@babel/plugin-transform-runtime-7.18.5" = {
+    "@babel/plugin-transform-runtime-7.18.10" = {
       name = "_at_babel_slash_plugin-transform-runtime";
       packageName = "@babel/plugin-transform-runtime";
-      version = "7.18.5";
+      version = "7.18.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.5.tgz";
-        sha512 = "Q17hHxXr2fplrE+5BSC1j1Fo5cOA8YeP8XW3/1paI8MzF/faZGh0MaH1KC4jLAvqLPamQWHB5/B7KqSLY1kuHA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.10.tgz";
+        sha512 = "q5mMeYAdfEbpBAgzl7tBre/la3LeCxmDO1+wMXRdPWbcoMjR3GiXlCLk7JBZVVye0bqTGNMbt0yYVXX1B1jEWQ==";
       };
     };
-    "@babel/plugin-transform-shorthand-properties-7.16.7" = {
+    "@babel/plugin-transform-shorthand-properties-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-shorthand-properties";
       packageName = "@babel/plugin-transform-shorthand-properties";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz";
-        sha512 = "hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz";
+        sha512 = "eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==";
       };
     };
-    "@babel/plugin-transform-spread-7.17.12" = {
+    "@babel/plugin-transform-spread-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-spread";
       packageName = "@babel/plugin-transform-spread";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.17.12.tgz";
-        sha512 = "9pgmuQAtFi3lpNUstvG9nGfk9DkrdmWNp9KeKPFmuZCpEnxRzYlS8JgwPjYj+1AWDOSvoGN0H30p1cBOmT/Svg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz";
+        sha512 = "39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==";
       };
     };
-    "@babel/plugin-transform-sticky-regex-7.16.7" = {
+    "@babel/plugin-transform-sticky-regex-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-sticky-regex";
       packageName = "@babel/plugin-transform-sticky-regex";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz";
-        sha512 = "NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz";
+        sha512 = "kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==";
       };
     };
-    "@babel/plugin-transform-template-literals-7.18.2" = {
+    "@babel/plugin-transform-template-literals-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-template-literals";
       packageName = "@babel/plugin-transform-template-literals";
-      version = "7.18.2";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.2.tgz";
-        sha512 = "/cmuBVw9sZBGZVOMkpAEaVLwm4JmK2GZ1dFKOGGpMzEHWFmyZZ59lUU0PdRr8YNYeQdNzTDwuxP2X2gzydTc9g==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz";
+        sha512 = "S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==";
       };
     };
-    "@babel/plugin-transform-typeof-symbol-7.17.12" = {
+    "@babel/plugin-transform-typeof-symbol-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-typeof-symbol";
       packageName = "@babel/plugin-transform-typeof-symbol";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.17.12.tgz";
-        sha512 = "Q8y+Jp7ZdtSPXCThB6zjQ74N3lj0f6TDh1Hnf5B+sYlzQ8i5Pjp8gW0My79iekSpT4WnI06blqP6DT0OmaXXmw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz";
+        sha512 = "SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==";
       };
     };
-    "@babel/plugin-transform-typescript-7.18.4" = {
+    "@babel/plugin-transform-typescript-7.18.10" = {
       name = "_at_babel_slash_plugin-transform-typescript";
       packageName = "@babel/plugin-transform-typescript";
-      version = "7.18.4";
+      version = "7.18.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.18.4.tgz";
-        sha512 = "l4vHuSLUajptpHNEOUDEGsnpl9pfRLsN1XUoDQDD/YBuXTM+v37SHGS+c6n4jdcZy96QtuUuSvZYMLSSsjH8Mw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.18.10.tgz";
+        sha512 = "j2HQCJuMbi88QftIb5zlRu3c7PU+sXNnscqsrjqegoGiCgXR569pEdben9vly5QHKL2ilYkfnSwu64zsZo/VYQ==";
       };
     };
-    "@babel/plugin-transform-unicode-escapes-7.16.7" = {
+    "@babel/plugin-transform-unicode-escapes-7.18.10" = {
       name = "_at_babel_slash_plugin-transform-unicode-escapes";
       packageName = "@babel/plugin-transform-unicode-escapes";
-      version = "7.16.7";
+      version = "7.18.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz";
-        sha512 = "TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz";
+        sha512 = "kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==";
       };
     };
-    "@babel/plugin-transform-unicode-regex-7.16.7" = {
+    "@babel/plugin-transform-unicode-regex-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-unicode-regex";
       packageName = "@babel/plugin-transform-unicode-regex";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz";
-        sha512 = "oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz";
+        sha512 = "gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==";
       };
     };
     "@babel/polyfill-7.12.1" = {
@@ -2218,22 +2281,22 @@ let
         sha512 = "X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==";
       };
     };
-    "@babel/preset-env-7.18.2" = {
+    "@babel/preset-env-7.18.10" = {
       name = "_at_babel_slash_preset-env";
       packageName = "@babel/preset-env";
-      version = "7.18.2";
+      version = "7.18.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.2.tgz";
-        sha512 = "PfpdxotV6afmXMU47S08F9ZKIm2bJIQ0YbAAtDfIENX7G1NUAXigLREh69CWDjtgUy7dYn7bsMzkgdtAlmS68Q==";
+        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz";
+        sha512 = "wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==";
       };
     };
-    "@babel/preset-flow-7.17.12" = {
+    "@babel/preset-flow-7.18.6" = {
       name = "_at_babel_slash_preset-flow";
       packageName = "@babel/preset-flow";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.17.12.tgz";
-        sha512 = "7QDz7k4uiaBdu7N89VKjUn807pJRXmdirQu0KyR9LXnQrr5Jt41eIMKTS7ljej+H29erwmMrwq9Io9mJHLI3Lw==";
+        url = "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.18.6.tgz";
+        sha512 = "E7BDhL64W6OUqpuyHnSroLnqyRTcG6ZdOBl1OKI/QK/HJfplqK/S3sq1Cckx7oTodJ5yOXyfw7rEADJ6UjoQDQ==";
       };
     };
     "@babel/preset-modules-0.1.5" = {
@@ -2245,13 +2308,13 @@ let
         sha512 = "A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==";
       };
     };
-    "@babel/preset-react-7.17.12" = {
+    "@babel/preset-react-7.18.6" = {
       name = "_at_babel_slash_preset-react";
       packageName = "@babel/preset-react";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.17.12.tgz";
-        sha512 = "h5U+rwreXtZaRBEQhW1hOJLMq8XNJBQ/9oymXiCXTuT/0uOwpbT0gUt+sXeOqoXBgNuUKI7TaObVwoEyWkpFgA==";
+        url = "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz";
+        sha512 = "zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==";
       };
     };
     "@babel/preset-stage-0-7.8.3" = {
@@ -2263,31 +2326,40 @@ let
         sha512 = "+l6FlG1j73t4wh78W41StbcCz0/9a1/y+vxfnjtHl060kSmcgMfGzK9MEkLvrCOXfhp9RCX+d88sm6rOqxEIEQ==";
       };
     };
-    "@babel/preset-typescript-7.17.12" = {
+    "@babel/preset-typescript-7.18.6" = {
       name = "_at_babel_slash_preset-typescript";
       packageName = "@babel/preset-typescript";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.17.12.tgz";
-        sha512 = "S1ViF8W2QwAKUGJXxP9NAfNaqGDdEBJKpYkxHf5Yy2C4NPPzXGeR3Lhk7G8xJaaLcFTRfNjVbtbVtm8Gb0mqvg==";
+        url = "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz";
+        sha512 = "s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==";
       };
     };
-    "@babel/register-7.17.7" = {
+    "@babel/register-7.18.9" = {
       name = "_at_babel_slash_register";
       packageName = "@babel/register";
-      version = "7.17.7";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/register/-/register-7.17.7.tgz";
-        sha512 = "fg56SwvXRifootQEDQAu1mKdjh5uthPzdO0N6t358FktfL4XjAVXuH58ULoiW8mesxiOgNIrxiImqEwv0+hRRA==";
+        url = "https://registry.npmjs.org/@babel/register/-/register-7.18.9.tgz";
+        sha512 = "ZlbnXDcNYHMR25ITwwNKT88JiaukkdVj/nG7r3wnuXkOTHc60Uy05PwMCPre0hSkY68E6zK3xz+vUJSP2jWmcw==";
       };
     };
-    "@babel/runtime-7.18.3" = {
+    "@babel/runtime-7.18.6" = {
       name = "_at_babel_slash_runtime";
       packageName = "@babel/runtime";
-      version = "7.18.3";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.3.tgz";
-        sha512 = "38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug==";
+        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz";
+        sha512 = "t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==";
+      };
+    };
+    "@babel/runtime-7.18.9" = {
+      name = "_at_babel_slash_runtime";
+      packageName = "@babel/runtime";
+      version = "7.18.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.9.tgz";
+        sha512 = "lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==";
       };
     };
     "@babel/runtime-7.9.0" = {
@@ -2299,40 +2371,40 @@ let
         sha512 = "cTIudHnzuWLS56ik4DnRnqqNf8MkdUzV4iFFI1h7Jo9xvrpQROYaAnaSd2mHLQAzzZAPfATynX5ord6YlNYNMA==";
       };
     };
-    "@babel/runtime-corejs3-7.18.3" = {
+    "@babel/runtime-corejs3-7.18.9" = {
       name = "_at_babel_slash_runtime-corejs3";
       packageName = "@babel/runtime-corejs3";
-      version = "7.18.3";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.18.3.tgz";
-        sha512 = "l4ddFwrc9rnR+EJsHsh+TJ4A35YqQz/UqcjtlX2ov53hlJYG5CxtQmNZxyajwDVmCxwy++rtvGU5HazCK4W41Q==";
+        url = "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.18.9.tgz";
+        sha512 = "qZEWeccZCrHA2Au4/X05QW5CMdm4VjUDCrGq5gf1ZDcM4hRqreKrtwAn7yci9zfgAS9apvnsFXiGBHBAxZdK9A==";
       };
     };
-    "@babel/template-7.16.7" = {
+    "@babel/template-7.18.10" = {
       name = "_at_babel_slash_template";
       packageName = "@babel/template";
-      version = "7.16.7";
+      version = "7.18.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz";
-        sha512 = "I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==";
+        url = "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz";
+        sha512 = "TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==";
       };
     };
-    "@babel/traverse-7.18.5" = {
+    "@babel/traverse-7.18.10" = {
       name = "_at_babel_slash_traverse";
       packageName = "@babel/traverse";
-      version = "7.18.5";
+      version = "7.18.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.5.tgz";
-        sha512 = "aKXj1KT66sBj0vVzk6rEeAO6Z9aiiQ68wfDgge3nHhA/my6xMM/7HGQUNumKZaoa2qUPQ5whJG9aAifsxUKfLA==";
+        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.10.tgz";
+        sha512 = "J7ycxg0/K9XCtLyHf0cz2DqDihonJeIo+z+HEdRe9YuT8TY4A66i+Ab2/xZCEW7Ro60bPCBBfqqboHSamoV3+g==";
       };
     };
-    "@babel/types-7.17.10" = {
+    "@babel/types-7.18.10" = {
       name = "_at_babel_slash_types";
       packageName = "@babel/types";
-      version = "7.17.10";
+      version = "7.18.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/types/-/types-7.17.10.tgz";
-        sha512 = "9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==";
+        url = "https://registry.npmjs.org/@babel/types/-/types-7.18.10.tgz";
+        sha512 = "MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ==";
       };
     };
     "@babel/types-7.18.4" = {
@@ -2344,31 +2416,31 @@ let
         sha512 = "ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==";
       };
     };
-    "@blueprintjs/colors-4.1.3" = {
+    "@blueprintjs/colors-4.1.4" = {
       name = "_at_blueprintjs_slash_colors";
       packageName = "@blueprintjs/colors";
-      version = "4.1.3";
+      version = "4.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@blueprintjs/colors/-/colors-4.1.3.tgz";
-        sha512 = "ANRQZT5h9+zC8B/y0S9B+SqEpicL0XRT4drAhiPFHBrOStRZWzOh3bPrwNSPqr7tdShxYtMyxbH+fkHMetZaxg==";
+        url = "https://registry.npmjs.org/@blueprintjs/colors/-/colors-4.1.4.tgz";
+        sha512 = "jggWTpazxg6ifWnaAiug9REsWUeMtkkuaWOFg5CjAiH6YtvMPU4ykWmQc9NnKAkabpKoXfZuR1V1KPAz79iYXQ==";
       };
     };
-    "@blueprintjs/core-4.5.1" = {
+    "@blueprintjs/core-4.7.0" = {
       name = "_at_blueprintjs_slash_core";
       packageName = "@blueprintjs/core";
-      version = "4.5.1";
+      version = "4.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@blueprintjs/core/-/core-4.5.1.tgz";
-        sha512 = "CrMkeuvVo+GD/hv6T9W6GNWvTJ7TGpzs2r3v0zO1lMfAYj4v2gaisSXQQ2HziT7zO/kYDyu9aRpbGv0KSvryQA==";
+        url = "https://registry.npmjs.org/@blueprintjs/core/-/core-4.7.0.tgz";
+        sha512 = "13JaVk2Ds5cC6IRC332MZ/3dLDDmQ8op7aHCC9VMZP9Xlq4GcglP+QJfJrHk+q3JLFYWmH0Zoa8CdnQGQbCd0Q==";
       };
     };
-    "@blueprintjs/icons-4.3.0" = {
+    "@blueprintjs/icons-4.4.0" = {
       name = "_at_blueprintjs_slash_icons";
       packageName = "@blueprintjs/icons";
-      version = "4.3.0";
+      version = "4.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@blueprintjs/icons/-/icons-4.3.0.tgz";
-        sha512 = "uLEdVUkWe0E2Bzfh2mqW2/3DRCqFo/vsSBYXrqOzFPiBsxCnu8ySEPInJWU+OHHPA/zM1hYMfrvKjfyaIIgbew==";
+        url = "https://registry.npmjs.org/@blueprintjs/icons/-/icons-4.4.0.tgz";
+        sha512 = "cZmqXnQ+wMJ48c4J+JHqQ6ZGhCgUzWQnYy0FjgXqBSUeR5iERRVrUC24pDead3ASfENRttEqigFukhP3px3bnQ==";
       };
     };
     "@bmewburn/js-beautify-1.13.0" = {
@@ -2425,40 +2497,31 @@ let
         sha512 = "GcIY79elgB+azP74j8vqkiXz8xLFfIzbQJdlwOPisgbKT00tviJQuEghOXSMVxJ00HoYJbGswr4kcllUc4xCcg==";
       };
     };
-    "@braintree/sanitize-url-6.0.0" = {
-      name = "_at_braintree_slash_sanitize-url";
-      packageName = "@braintree/sanitize-url";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.0.tgz";
-        sha512 = "mgmE7XBYY/21erpzhexk4Cj1cyTQ9LzvnTxtzM17BJ7ERMNE6W72mQRo0I1Ud8eFJ+RVVIcBNhLFZ3GX4XFz5w==";
-      };
-    };
-    "@cdktf/hcl2cdk-0.11.2" = {
+    "@cdktf/hcl2cdk-0.12.0" = {
       name = "_at_cdktf_slash_hcl2cdk";
       packageName = "@cdktf/hcl2cdk";
-      version = "0.11.2";
+      version = "0.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cdktf/hcl2cdk/-/hcl2cdk-0.11.2.tgz";
-        sha512 = "dRSSABg/Re9eDzU9yei+0zvQ6Wk7qbh/4vuj+zWj2KWiemA/JlWx/CULwEvxUTMLaOdP9QA03UfM0JTD31VhHg==";
+        url = "https://registry.npmjs.org/@cdktf/hcl2cdk/-/hcl2cdk-0.12.0.tgz";
+        sha512 = "Zxsq7Bvx38L7J/XM0OEjY3/SjHfvkPr4WuEslZ5f2iDLhFl7tTglFbMz8ISUlOlEiToVGyB7VV+o6t3rc4LH6w==";
       };
     };
-    "@cdktf/hcl2json-0.11.2" = {
+    "@cdktf/hcl2json-0.12.0" = {
       name = "_at_cdktf_slash_hcl2json";
       packageName = "@cdktf/hcl2json";
-      version = "0.11.2";
+      version = "0.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cdktf/hcl2json/-/hcl2json-0.11.2.tgz";
-        sha512 = "lVoypkmz4DrYqdy+CnmT/xVvOIphQrasgdzuBkdyLbb01FioOdV82uHlo7xRQxO1NJcsreq0CRYo6Rg33AA4uw==";
+        url = "https://registry.npmjs.org/@cdktf/hcl2json/-/hcl2json-0.12.0.tgz";
+        sha512 = "VgO+bPaXK483pAov7msfWeY5AagW509W+PlpCKI0U0om7ZjMm24VvNrq2LOE19TKGlM6/0PQKobQ0Gty8mNz8g==";
       };
     };
-    "@cdktf/provider-generator-0.11.2" = {
+    "@cdktf/provider-generator-0.12.0" = {
       name = "_at_cdktf_slash_provider-generator";
       packageName = "@cdktf/provider-generator";
-      version = "0.11.2";
+      version = "0.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cdktf/provider-generator/-/provider-generator-0.11.2.tgz";
-        sha512 = "YexyETsRZJnNYqAAV/orM5Va+bmW7QCaoxV4X4yxv8EXlbp/SW1DB7m3Jz3NkfbzuA2EEbomzVCPOmCCDOgEBA==";
+        url = "https://registry.npmjs.org/@cdktf/provider-generator/-/provider-generator-0.12.0.tgz";
+        sha512 = "Vo1O6cXgmMQHuohI3vaVc+cLoH5aU7+Udc/pOq+u7xWpHgjWNz2mH9OcdIodq3Hu2VYimRT8Sh8IWBA9g0fGBA==";
       };
     };
     "@chemzqm/neovim-5.7.9" = {
@@ -2488,13 +2551,13 @@ let
         sha512 = "ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==";
       };
     };
-    "@commitlint/config-validator-17.0.0" = {
+    "@commitlint/config-validator-17.0.3" = {
       name = "_at_commitlint_slash_config-validator";
       packageName = "@commitlint/config-validator";
-      version = "17.0.0";
+      version = "17.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-17.0.0.tgz";
-        sha512 = "78IQjoZWR4kDHp/U5y17euEWzswJpPkA9TDL5F6oZZZaLIEreWzrDZD5PWtM8MsSRl/K2LDU/UrzYju2bKLMpA==";
+        url = "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-17.0.3.tgz";
+        sha512 = "3tLRPQJKapksGE7Kee9axv+9z5I2GDHitDH4q63q7NmNA0wkB+DAorJ0RHz2/K00Zb1/MVdHzhCga34FJvDihQ==";
       };
     };
     "@commitlint/ensure-17.0.0" = {
@@ -2524,31 +2587,31 @@ let
         sha512 = "MZzJv7rBp/r6ZQJDEodoZvdRM0vXu1PfQvMTNWFb8jFraxnISMTnPBWMMjr2G/puoMashwaNM//fl7j8gGV5lA==";
       };
     };
-    "@commitlint/is-ignored-17.0.0" = {
+    "@commitlint/is-ignored-17.0.3" = {
       name = "_at_commitlint_slash_is-ignored";
       packageName = "@commitlint/is-ignored";
-      version = "17.0.0";
+      version = "17.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-17.0.0.tgz";
-        sha512 = "UmacD0XM/wWykgdXn5CEWVS4XGuqzU+ZGvM2hwv85+SXGnIOaG88XHrt81u37ZeVt1riWW+YdOxcJW6+nd5v5w==";
+        url = "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-17.0.3.tgz";
+        sha512 = "/wgCXAvPtFTQZxsVxj7owLeRf5wwzcXLaYmrZPR4a87iD4sCvUIRl1/ogYrtOyUmHwWfQsvjqIB4mWE/SqWSnA==";
       };
     };
-    "@commitlint/lint-17.0.0" = {
+    "@commitlint/lint-17.0.3" = {
       name = "_at_commitlint_slash_lint";
       packageName = "@commitlint/lint";
-      version = "17.0.0";
+      version = "17.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/lint/-/lint-17.0.0.tgz";
-        sha512 = "5FL7VLvGJQby24q0pd4UdM8FNFcL+ER1T/UBf8A9KRL5+QXV1Rkl6Zhcl7+SGpGlVo6Yo0pm6aLW716LVKWLGg==";
+        url = "https://registry.npmjs.org/@commitlint/lint/-/lint-17.0.3.tgz";
+        sha512 = "2o1fk7JUdxBUgszyt41sHC/8Nd5PXNpkmuOo9jvGIjDHzOwXyV0PSdbEVTH3xGz9NEmjohFHr5l+N+T9fcxong==";
       };
     };
-    "@commitlint/load-17.0.0" = {
+    "@commitlint/load-17.0.3" = {
       name = "_at_commitlint_slash_load";
       packageName = "@commitlint/load";
-      version = "17.0.0";
+      version = "17.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/load/-/load-17.0.0.tgz";
-        sha512 = "XaiHF4yWQOPAI0O6wXvk+NYLtJn/Xb7jgZEeKd4C1ZWd7vR7u8z5h0PkWxSr0uLZGQsElGxv3fiZ32C5+q6M8w==";
+        url = "https://registry.npmjs.org/@commitlint/load/-/load-17.0.3.tgz";
+        sha512 = "3Dhvr7GcKbKa/ey4QJ5MZH3+J7QFlARohUow6hftQyNjzoXXROm+RwpBes4dDFrXG1xDw9QPXA7uzrOShCd4bw==";
       };
     };
     "@commitlint/message-17.0.0" = {
@@ -2578,13 +2641,13 @@ let
         sha512 = "zkuOdZayKX3J6F6mPnVMzohK3OBrsEdOByIqp4zQjA9VLw1hMsDEFQ18rKgUc2adkZar+4S01QrFreDCfZgbxA==";
       };
     };
-    "@commitlint/resolve-extends-17.0.0" = {
+    "@commitlint/resolve-extends-17.0.3" = {
       name = "_at_commitlint_slash_resolve-extends";
       packageName = "@commitlint/resolve-extends";
-      version = "17.0.0";
+      version = "17.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-17.0.0.tgz";
-        sha512 = "wi60WiJmwaQ7lzMXK8Vbc18Hq9tE2j/6iv2AFfPUGV7fvfY6Sf1iNKuUHirSqR0fquUyufIXe4y/K9A6LVIIvw==";
+        url = "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-17.0.3.tgz";
+        sha512 = "H/RFMvrcBeJCMdnVC4i8I94108UDccIHrTke2tyQEg9nXQnR5/Hd6MhyNWkREvcrxh9Y+33JLb+PiPiaBxCtBA==";
       };
     };
     "@commitlint/rules-17.0.0" = {
@@ -2632,49 +2695,58 @@ let
         sha512 = "5wNXodStZRIRYu5u5kXWtI4XIIEPhRrqSRza+A41mN/K6PA7i9aHdU08qIV+4DW4CDWOlwiQz1YUMeU1QlSBQA==";
       };
     };
-    "@cronvel/get-pixels-3.4.0" = {
+    "@cronvel/get-pixels-3.4.1" = {
       name = "_at_cronvel_slash_get-pixels";
       packageName = "@cronvel/get-pixels";
-      version = "3.4.0";
+      version = "3.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cronvel/get-pixels/-/get-pixels-3.4.0.tgz";
-        sha512 = "do5jDoX9oCR/dGHE4POVQ3PYDCmQ2Fow4CA72UL4WoE8zUImA/0lChczjfl+ucNjE4sXFWUnzoO6j4WzrUvLnw==";
+        url = "https://registry.npmjs.org/@cronvel/get-pixels/-/get-pixels-3.4.1.tgz";
+        sha512 = "gB5C5nDIacLUdsMuW8YsM9SzK3vaFANe4J11CVXpovpy7bZUGrcJKmc6m/0gWG789pKr6XSZY2aEetjFvSRw5g==";
       };
     };
-    "@cspell/cspell-bundled-dicts-6.1.2" = {
+    "@cspell/cspell-bundled-dicts-6.5.0" = {
       name = "_at_cspell_slash_cspell-bundled-dicts";
       packageName = "@cspell/cspell-bundled-dicts";
-      version = "6.1.2";
+      version = "6.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-6.1.2.tgz";
-        sha512 = "vMS15jKPNH93Fv0bu/lrTSmXKt6hDCEEwOIyajO84cJMuKRVuR9Vw0ZtkFsVAwHyTNZ8mGxposQ20TbAL/SUlw==";
+        url = "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-6.5.0.tgz";
+        sha512 = "rY1d9zNlMlhoOzN/S22zO6Z5171lAg0OX5ZtYepgyurnrrf6VL3tb31PD7pTC4N2aqCGXzk5DJql//vreg5buw==";
       };
     };
-    "@cspell/cspell-pipe-6.1.2" = {
+    "@cspell/cspell-pipe-6.4.2" = {
       name = "_at_cspell_slash_cspell-pipe";
       packageName = "@cspell/cspell-pipe";
-      version = "6.1.2";
+      version = "6.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-6.4.2.tgz";
+        sha512 = "GlKhGXpWcD01fda+PouAOat8ey+HOOiqb5oFyFOcZBV6Dv2nXl4fKt+RgLvX1XrlJ0GL+BRKWUokwJ/xt38eIQ==";
+      };
+    };
+    "@cspell/cspell-service-bus-6.5.0" = {
+      name = "_at_cspell_slash_cspell-service-bus";
+      packageName = "@cspell/cspell-service-bus";
+      version = "6.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-6.1.2.tgz";
-        sha512 = "QPbRsumSbu2h6Sdls2bv6FeLFBvs+XSSOmBwVXTaRu6Vl0hEi3P69BiHIWTYQqWTe2NYZnW8lpXUh5/J8/nolw==";
+        url = "https://registry.npmjs.org/@cspell/cspell-service-bus/-/cspell-service-bus-6.5.0.tgz";
+        sha512 = "ZcQ3IZ/GHusKtHYn1BYKMauF/GhDby2uBsPfjCMwhvtSHaJy34tWS8i0xh8+awX2nKYGcyEm3Nsh5dazof3EzA==";
       };
     };
-    "@cspell/cspell-types-6.1.2" = {
+    "@cspell/cspell-types-6.5.0" = {
       name = "_at_cspell_slash_cspell-types";
       packageName = "@cspell/cspell-types";
-      version = "6.1.2";
+      version = "6.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-6.1.2.tgz";
-        sha512 = "EENGQ469e3mTpSWfMF/GS29eOAAONiavdVF/uiV8kcxf8SqfkMJvVjFZ1w0KgC80pnCVUzRzMBO4HKmXPj6Ncg==";
+        url = "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-6.5.0.tgz";
+        sha512 = "vm+HlY+prf9G4s926QS3rZlajtBBnV+lDsjf4v7+7vYmRzic8KATGsUR2zrfTP0H9rH9eeQqd2rPoHhn2iiAlQ==";
       };
     };
-    "@cspell/dict-ada-2.0.0" = {
+    "@cspell/dict-ada-2.0.1" = {
       name = "_at_cspell_slash_dict-ada";
       packageName = "@cspell/dict-ada";
-      version = "2.0.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-ada/-/dict-ada-2.0.0.tgz";
-        sha512 = "4gfJEYXVwz6IN2LBaT6QoUV4pqaR35i0z0u9O684vLuVczvNJIHa4vNaSEFBr9d6xxncUyqstgP9P73ajJjh9A==";
+        url = "https://registry.npmjs.org/@cspell/dict-ada/-/dict-ada-2.0.1.tgz";
+        sha512 = "vopTJ1oHrrFYV5GU55Sr+AzItR78Uj5YbCaspYABmYKlq4NRrcUAUsr4bWgymDcspMIHO7e7IFcj48OKs1fndA==";
       };
     };
     "@cspell/dict-aws-2.0.0" = {
@@ -2686,31 +2758,31 @@ let
         sha512 = "NKz7pDZ7pwj/b33i3f4WLpC1rOOUMmENwYgftxU+giU2YBeKM2wZbMTSEIzsrel56r0UlQYmdIVlP/B4nnVaoQ==";
       };
     };
-    "@cspell/dict-bash-2.0.3" = {
+    "@cspell/dict-bash-2.0.4" = {
       name = "_at_cspell_slash_dict-bash";
       packageName = "@cspell/dict-bash";
-      version = "2.0.3";
+      version = "2.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-bash/-/dict-bash-2.0.3.tgz";
-        sha512 = "iw78lmxm49q2LhHTQCSu9zs85E8Sm6ui82OvxajU9rdhckFzZoj/KCQi9P0gFuL+w3WmQObHqdH2/sxK4oi2wA==";
+        url = "https://registry.npmjs.org/@cspell/dict-bash/-/dict-bash-2.0.4.tgz";
+        sha512 = "uK/ehmp5LYrmRH2Gv3nbvdPswpkybJUn34WYKLpeuYHQktmi+pOI1A9uPdBPnSbMDffSvwQlQohIyKawz+X8Ag==";
       };
     };
-    "@cspell/dict-companies-2.0.6" = {
+    "@cspell/dict-companies-2.0.10" = {
       name = "_at_cspell_slash_dict-companies";
       packageName = "@cspell/dict-companies";
-      version = "2.0.6";
+      version = "2.0.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-companies/-/dict-companies-2.0.6.tgz";
-        sha512 = "S1U+ZqvwDwiMYEFPKNxRmH0z7YlmOj93xadga4U0LMa3S4ORSf192uMB0w0AFBwXUPnXHM5uqIGP0LTt0b4Ygg==";
+        url = "https://registry.npmjs.org/@cspell/dict-companies/-/dict-companies-2.0.10.tgz";
+        sha512 = "OpxrvsU/yUqopmhy3b+JKtLDyJ32CksP+o1K+hZuN/wHm3JwlYWglxyNasXLx5Frh9FLxf4V2mr59WRcvmzgBA==";
       };
     };
-    "@cspell/dict-cpp-3.1.0" = {
+    "@cspell/dict-cpp-3.2.1" = {
       name = "_at_cspell_slash_dict-cpp";
       packageName = "@cspell/dict-cpp";
-      version = "3.1.0";
+      version = "3.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-cpp/-/dict-cpp-3.1.0.tgz";
-        sha512 = "lav99zUQ+iPq6dkQRnTN0+KE9th0UG6Nwl34afyEGJ8CN5Dcq/RJjCVvOkLw6vPvs505xrvQcZW1huftQK8WVg==";
+        url = "https://registry.npmjs.org/@cspell/dict-cpp/-/dict-cpp-3.2.1.tgz";
+        sha512 = "XcmzrKIghqFfrYLLaHtWKOp9rupiuGdc5ODONk+emsq0W5CIc3Abn27IQHwUzxzF+Cm5IfKAIJ5Kpe6hkzm0HQ==";
       };
     };
     "@cspell/dict-cryptocurrencies-2.0.0" = {
@@ -2794,22 +2866,22 @@ let
         sha512 = "tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g==";
       };
     };
-    "@cspell/dict-en_us-2.2.6" = {
+    "@cspell/dict-en_us-2.3.0" = {
       name = "_at_cspell_slash_dict-en_us";
       packageName = "@cspell/dict-en_us";
-      version = "2.2.6";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-en_us/-/dict-en_us-2.2.6.tgz";
-        sha512 = "TJ4edLus8TV6Tr7ceOxHG5ZV2MhKJioteNT9jhdcSTdySsfQJjDAx6AIGiVVeRu5s9yR61oL5In7UyMCA80RWQ==";
+        url = "https://registry.npmjs.org/@cspell/dict-en_us/-/dict-en_us-2.3.0.tgz";
+        sha512 = "wEGqVZ4uXxq9/mTemgN9B2MIqlcaLGPnvCBdqT5vPWxqxJjkGJmCkRCx9DYHHp2Cfd+VHc9zW6Xad59kORBS9g==";
       };
     };
-    "@cspell/dict-filetypes-2.0.2" = {
+    "@cspell/dict-filetypes-2.1.1" = {
       name = "_at_cspell_slash_dict-filetypes";
       packageName = "@cspell/dict-filetypes";
-      version = "2.0.2";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-filetypes/-/dict-filetypes-2.0.2.tgz";
-        sha512 = "do7/Iwxjx+FHybe6UTocsWNRF1ar4cwhQoV2K2YzYTm73CoU5LMEwi2LY0Mwp/mn90TKbpPPQGCJ0sRpvaZ4AA==";
+        url = "https://registry.npmjs.org/@cspell/dict-filetypes/-/dict-filetypes-2.1.1.tgz";
+        sha512 = "Oo0/mUbFHzsaATqRLdkV1RMoYns3aGzeKFIpVJg415GYtJ8EABXtEArYTXeMwlboyGTPvEk+PR2hBSTSfQTqmg==";
       };
     };
     "@cspell/dict-fonts-2.0.1" = {
@@ -2848,13 +2920,13 @@ let
         sha512 = "0KNfXTbxHW2l8iVjxeOf+KFv9Qrw3z5cyKnkuYJWlBTSB5KcUBfeKCb4fsds26VdANqiy6U91b4gDx5kNEmBjQ==";
       };
     };
-    "@cspell/dict-haskell-2.0.0" = {
+    "@cspell/dict-haskell-2.0.1" = {
       name = "_at_cspell_slash_dict-haskell";
       packageName = "@cspell/dict-haskell";
-      version = "2.0.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-haskell/-/dict-haskell-2.0.0.tgz";
-        sha512 = "cjX1Br+gSWqtcmJD/IMHz1UoP3pUaKIIKy/JfhEs7ANtRt6hhfEKe9dl2kQzDkkKt4pXol+YgdYxL/sVc/nLgQ==";
+        url = "https://registry.npmjs.org/@cspell/dict-haskell/-/dict-haskell-2.0.1.tgz";
+        sha512 = "ooA23qIG7InOOxlLm67CNH5O2J85QsPHEAzEU9KEqVfYG5ovFs5tx6n9pHekDVk3MpQULpqfNUYDR0KigPLg5g==";
       };
     };
     "@cspell/dict-html-3.0.2" = {
@@ -2875,22 +2947,22 @@ let
         sha512 = "04K7cPTcbYXmHICfiob4gZA1yaj4hpfM+Nl5WIJ1EAZsSGHdqmGEF28GuCjyQ8ZeKiJAsPt/vXuLBbjxkHqZyQ==";
       };
     };
-    "@cspell/dict-java-3.0.3" = {
+    "@cspell/dict-java-3.0.7" = {
       name = "_at_cspell_slash_dict-java";
       packageName = "@cspell/dict-java";
-      version = "3.0.3";
+      version = "3.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-java/-/dict-java-3.0.3.tgz";
-        sha512 = "aARF22BmO03YgV0robADNVf32KnvF/wMMoByYQk4IaQWh8kJ1s///S44aY/4n/Cg2tX/1kNa60VMkdCNFD7FPw==";
+        url = "https://registry.npmjs.org/@cspell/dict-java/-/dict-java-3.0.7.tgz";
+        sha512 = "IL7ubsRvKX6dZSx++TplJCfhiS7kkEGpbTPG0gMEP50DTNAVM4icZS8zmer2UBCU5PTwF85abJjdX7mRADWKVg==";
       };
     };
-    "@cspell/dict-latex-2.0.6" = {
+    "@cspell/dict-latex-2.0.9" = {
       name = "_at_cspell_slash_dict-latex";
       packageName = "@cspell/dict-latex";
-      version = "2.0.6";
+      version = "2.0.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-latex/-/dict-latex-2.0.6.tgz";
-        sha512 = "DCe/YlUMnY+/BaaHLIs2LYPgpWF4to5V9lggEkJy4CsHyD0WPqV4JpoaOMrcsK/jbUrD39T91NruwlcPJoo7xQ==";
+        url = "https://registry.npmjs.org/@cspell/dict-latex/-/dict-latex-2.0.9.tgz";
+        sha512 = "d1kTK6dJb5z6UcfASQWjqQlsjZvnoVOvMWxYtLpGksYf6gM4IgqoPVNMLYYK6xBS4T/uAnLIj975A6YuAeyZpg==";
       };
     };
     "@cspell/dict-lorem-ipsum-2.0.0" = {
@@ -2920,13 +2992,13 @@ let
         sha512 = "sK2cpuV0EAc43Amd5xeQXkI9MeRTECMw+yjap06gKSModbgI7BqJUHeKZed+0Hii+LpaJ4TYpLGiRVsO+qSk0w==";
       };
     };
-    "@cspell/dict-npm-3.0.1" = {
+    "@cspell/dict-npm-3.1.1" = {
       name = "_at_cspell_slash_dict-npm";
       packageName = "@cspell/dict-npm";
-      version = "3.0.1";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-npm/-/dict-npm-3.0.1.tgz";
-        sha512 = "ZfuzFwE03WwyShwvQfXhhKIrFxgAkOtA/N1KdEwfP//nVDgysJfGueBhJJfI6vjUSr1IA+u5DXrSV0nowLAEhg==";
+        url = "https://registry.npmjs.org/@cspell/dict-npm/-/dict-npm-3.1.1.tgz";
+        sha512 = "pUQeJ8sS4qxal0avM4Ta0EZy8DV5bF8y5o2UEYrgQMDOtsmSZg3ZRPTbtRs/4j2UTPkPwYrECzOm7yXuTwT4EA==";
       };
     };
     "@cspell/dict-php-2.0.0" = {
@@ -2974,13 +3046,13 @@ let
         sha512 = "u2qeXd4cx/TvTVcmkvA+sK6f4K1uMAMO6QPMSr1pSvqGElPRP1mIBXmuiSuBzLO3LbsJuUEHw5Cp3/bxIB6rNA==";
       };
     };
-    "@cspell/dict-ruby-2.0.1" = {
+    "@cspell/dict-ruby-2.0.2" = {
       name = "_at_cspell_slash_dict-ruby";
       packageName = "@cspell/dict-ruby";
-      version = "2.0.1";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-ruby/-/dict-ruby-2.0.1.tgz";
-        sha512 = "qGqhYfFeoBOashv/l0Kj5o4ilyvfq0s+t+r32juPOkOnbHz+hzxnJo2tMMg/L/UdjVV7Y8ovg4LDBC/seVrMYQ==";
+        url = "https://registry.npmjs.org/@cspell/dict-ruby/-/dict-ruby-2.0.2.tgz";
+        sha512 = "vVnUpSmGDbPjs7MHq741DsLHhQcoA4CnUCM9wsTorQ9AQRDAkDTbK/LcY8nM19MoXCb3eF8PFku5Jq+gqH0u7w==";
       };
     };
     "@cspell/dict-rust-2.0.1" = {
@@ -3001,13 +3073,22 @@ let
         sha512 = "MUwA2YKpqaQOSR4V1/CVGRNk8Ii5kf6I8Ch+4/BhRZRQXuwWbi21rDRYWPqdQWps7VNzAbbMA+PQDWsD5YY38g==";
       };
     };
-    "@cspell/dict-software-terms-2.1.8" = {
+    "@cspell/dict-software-terms-2.2.2" = {
       name = "_at_cspell_slash_dict-software-terms";
       packageName = "@cspell/dict-software-terms";
-      version = "2.1.8";
+      version = "2.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-2.1.8.tgz";
-        sha512 = "D9ECefkdbr5B0yLimy7nmEBl3AHPsweMG1wHatlCIT9uFwwqaq5e+ngbYrntEhMa6afkYY+LGOLbZ1L1dfpLVg==";
+        url = "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-2.2.2.tgz";
+        sha512 = "s6l3lzKhxXWfu8QsSt1qoUK2l6iGbFKJd0T8XRYfsKnX6fVCUmHNueGWQ6TFCRXDRvHiwGB+UpPicyHPtSJJ5A==";
+      };
+    };
+    "@cspell/dict-sql-1.0.4" = {
+      name = "_at_cspell_slash_dict-sql";
+      packageName = "@cspell/dict-sql";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-sql/-/dict-sql-1.0.4.tgz";
+        sha512 = "+9nMcwsCzdYH0tyv2LeuVvQ+DdecS2C1N+hw6sl0FTHWI5GwULHAGW840RBwcKw0s+dl7sc0WpZhS1EW7b0pXg==";
       };
     };
     "@cspell/dict-swift-1.0.3" = {
@@ -3019,13 +3100,13 @@ let
         sha512 = "yOBLSaRD0AnkkkndJ8PuB82Evp6lA2xItf2AWsnPfCCgxp5Ojk6uUBC/WQBSkzkCAOGbXyHsu9D97tsOx2c6cw==";
       };
     };
-    "@cspell/dict-typescript-2.0.0" = {
+    "@cspell/dict-typescript-2.0.1" = {
       name = "_at_cspell_slash_dict-typescript";
       packageName = "@cspell/dict-typescript";
-      version = "2.0.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-typescript/-/dict-typescript-2.0.0.tgz";
-        sha512 = "WFBahxsnD2y4Os14tE5Zxh31Ggn4DzGOAu3UoxYl1lLLxaszx4RH7LmAeFuznySboiaBeRBbpfJOjQA796O6VQ==";
+        url = "https://registry.npmjs.org/@cspell/dict-typescript/-/dict-typescript-2.0.1.tgz";
+        sha512 = "YXH6nEH4thcD7lNffdNsKgDDZA5JVX4aKCuNIGE7qWSS9kBVgIvSU9/WH64R59rEzAPe1VwXwXyoZ7y4fAufww==";
       };
     };
     "@cspell/dict-vue-2.0.2" = {
@@ -3064,13 +3145,13 @@ let
         sha512 = "IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==";
       };
     };
-    "@csstools/selector-specificity-2.0.1" = {
+    "@csstools/selector-specificity-2.0.2" = {
       name = "_at_csstools_slash_selector-specificity";
       packageName = "@csstools/selector-specificity";
-      version = "2.0.1";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.1.tgz";
-        sha512 = "aG20vknL4/YjQF9BSV7ts4EWm/yrjagAN7OWBNmlbEOUiu0llj4OGrFoOKK3g2vey4/p2omKCoHrWtPxSwV3HA==";
+        url = "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz";
+        sha512 = "IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==";
       };
     };
     "@cycle/dom-18.3.0" = {
@@ -3190,166 +3271,193 @@ let
         sha512 = "dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==";
       };
     };
-    "@electron-forge/async-ora-6.0.0-beta.64" = {
+    "@edge-runtime/format-1.1.0-beta.25" = {
+      name = "_at_edge-runtime_slash_format";
+      packageName = "@edge-runtime/format";
+      version = "1.1.0-beta.25";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@edge-runtime/format/-/format-1.1.0-beta.25.tgz";
+        sha512 = "7fzTXgfVzcWs6T8ePVyogbVU67TbXpDHhgop9yP9stsRlejJjD2bDm/jDwX9XAfQdET5gVaKDiYc0wkp9E4gig==";
+      };
+    };
+    "@edge-runtime/primitives-1.1.0-beta.25" = {
+      name = "_at_edge-runtime_slash_primitives";
+      packageName = "@edge-runtime/primitives";
+      version = "1.1.0-beta.25";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@edge-runtime/primitives/-/primitives-1.1.0-beta.25.tgz";
+        sha512 = "+lKore2sAuGD2AMa2GZviLMHKfFmw5k2BzhvyatKPuJ/frIFpb1OdluxGHfqmVBtNIJwnn7IJoJd9jm8r/6Flg==";
+      };
+    };
+    "@edge-runtime/vm-1.1.0-beta.23" = {
+      name = "_at_edge-runtime_slash_vm";
+      packageName = "@edge-runtime/vm";
+      version = "1.1.0-beta.23";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@edge-runtime/vm/-/vm-1.1.0-beta.23.tgz";
+        sha512 = "XBp3rCuX4scJVOo2KconAotL5XGX3zdd8IkfDNr5VVSQ/B6HkiTNuf+EvzSQTpplF+fiyLTpfcP9EbNLibwLTA==";
+      };
+    };
+    "@electron-forge/async-ora-6.0.0-beta.65" = {
       name = "_at_electron-forge_slash_async-ora";
       packageName = "@electron-forge/async-ora";
-      version = "6.0.0-beta.64";
+      version = "6.0.0-beta.65";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/async-ora/-/async-ora-6.0.0-beta.64.tgz";
-        sha512 = "27ACgh9VhM+ahqTNIFeCfKuSoZxM/8dQp99ZMAgMFzcniKkNCXLxsbGF/7esu++zarDqhSUOhf70Z2bffgjX2w==";
+        url = "https://registry.npmjs.org/@electron-forge/async-ora/-/async-ora-6.0.0-beta.65.tgz";
+        sha512 = "CREk/7XQsg26q2l5s/oFG6GcomzKzWnpaeCKgRCWfdMleKvOubeDd/OA68LkzhLixMWYGbXCWLbHUhGTdGzcWA==";
       };
     };
-    "@electron-forge/core-6.0.0-beta.64" = {
+    "@electron-forge/core-6.0.0-beta.65" = {
       name = "_at_electron-forge_slash_core";
       packageName = "@electron-forge/core";
-      version = "6.0.0-beta.64";
+      version = "6.0.0-beta.65";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/core/-/core-6.0.0-beta.64.tgz";
-        sha512 = "FKms2M5+qMh7sfS9MTNUY9dHj7XRE8WJgKqwOQMYP7H4KPGlL2cRYkItmq5bNCu7sYbZOqgHruuDmAnap0B5Pw==";
+        url = "https://registry.npmjs.org/@electron-forge/core/-/core-6.0.0-beta.65.tgz";
+        sha512 = "3gkoHYzOsEGOEakIkldpCSKExUYhXnUwqPlyg+Na3WvI40NWqh8wjfb92t5FsOb3Wrf9SkV5/DrF51S9E+108w==";
       };
     };
-    "@electron-forge/installer-base-6.0.0-beta.64" = {
+    "@electron-forge/installer-base-6.0.0-beta.65" = {
       name = "_at_electron-forge_slash_installer-base";
       packageName = "@electron-forge/installer-base";
-      version = "6.0.0-beta.64";
+      version = "6.0.0-beta.65";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/installer-base/-/installer-base-6.0.0-beta.64.tgz";
-        sha512 = "SDyVrVmXOD8iHv57gf5SmJQNmBKg1AdoZh4tQm3lSl39XcYwSScm8O54WDi8mV1Q+K8bk/Zsi7bX34XFeQFr6g==";
+        url = "https://registry.npmjs.org/@electron-forge/installer-base/-/installer-base-6.0.0-beta.65.tgz";
+        sha512 = "4rhLKsaLP/w29iTEp/MI7lA/V/dh43BuJ/55N1KTRBONiOalUCu5So/rJBkpBxKOOCtwEZeXJy+rP35MuXekZQ==";
       };
     };
-    "@electron-forge/installer-darwin-6.0.0-beta.64" = {
+    "@electron-forge/installer-darwin-6.0.0-beta.65" = {
       name = "_at_electron-forge_slash_installer-darwin";
       packageName = "@electron-forge/installer-darwin";
-      version = "6.0.0-beta.64";
+      version = "6.0.0-beta.65";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/installer-darwin/-/installer-darwin-6.0.0-beta.64.tgz";
-        sha512 = "dKHifmeQ++y/ZzxwT+QXWkFiP53j+ZCxel6VA6aj9PMhL2tE7jSeyqwqav+vU6RiFztlfMYBAUoXwBQlYMhnCg==";
+        url = "https://registry.npmjs.org/@electron-forge/installer-darwin/-/installer-darwin-6.0.0-beta.65.tgz";
+        sha512 = "K1d6ReXF4BXTzH3+tVhyb6Mu9uVn2vn3YbtE0KJ8ppXAwbWLRM2Z0njO0LxjVv2NLfmBtPm9msP2NDozIHDJVg==";
       };
     };
-    "@electron-forge/installer-deb-6.0.0-beta.64" = {
+    "@electron-forge/installer-deb-6.0.0-beta.65" = {
       name = "_at_electron-forge_slash_installer-deb";
       packageName = "@electron-forge/installer-deb";
-      version = "6.0.0-beta.64";
+      version = "6.0.0-beta.65";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/installer-deb/-/installer-deb-6.0.0-beta.64.tgz";
-        sha512 = "WB0rIF7GjPf7b1py9GFQGVpWQVTjWS3gffLeQ6TlazHZhufJu68nCe+hiHYVmknQDGrpe6zgT/jedTckXOUqjw==";
+        url = "https://registry.npmjs.org/@electron-forge/installer-deb/-/installer-deb-6.0.0-beta.65.tgz";
+        sha512 = "3nxAQF36E0Af65pdXm95NL7tR1ZOJAHUAIIvDKAFbGSNSDVHuDLC6jGnEYJoSIpI7Acyd2+8IB7Cjy+TK75POg==";
       };
     };
-    "@electron-forge/installer-dmg-6.0.0-beta.64" = {
+    "@electron-forge/installer-dmg-6.0.0-beta.65" = {
       name = "_at_electron-forge_slash_installer-dmg";
       packageName = "@electron-forge/installer-dmg";
-      version = "6.0.0-beta.64";
+      version = "6.0.0-beta.65";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/installer-dmg/-/installer-dmg-6.0.0-beta.64.tgz";
-        sha512 = "HccPl7jkFR0I5xFMYZFuxOPmptF+j38WAV+Uev3K2iAgZD8bwdVojecswM2V85lvxkAKdAVVpU+317KWxGEoWQ==";
+        url = "https://registry.npmjs.org/@electron-forge/installer-dmg/-/installer-dmg-6.0.0-beta.65.tgz";
+        sha512 = "bZT01W8kEcdSZ4V+z8/vJ7s71sOO5SsDwD/zTXBxTBFJKS436R3VWR0gBYkAOpm3spQrTE0o0ESEeRQzqmDisA==";
       };
     };
-    "@electron-forge/installer-exe-6.0.0-beta.64" = {
+    "@electron-forge/installer-exe-6.0.0-beta.65" = {
       name = "_at_electron-forge_slash_installer-exe";
       packageName = "@electron-forge/installer-exe";
-      version = "6.0.0-beta.64";
+      version = "6.0.0-beta.65";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/installer-exe/-/installer-exe-6.0.0-beta.64.tgz";
-        sha512 = "6EWXEmodkYuz2Nc9VouhRI4tqqwMaLz/Z86OM8f6fJHPE7iFDR7EvQE0lHfan8D/zoBRRIxOLofu+u6AT+wlPg==";
+        url = "https://registry.npmjs.org/@electron-forge/installer-exe/-/installer-exe-6.0.0-beta.65.tgz";
+        sha512 = "8+9F6KP6MTr/s1Vsn7GhAqtzLsDZgL1MXmn30rVbHXyQLtN8QNDzUa0j35EQ3xq9tG2H4kNdpTw6TS4dZs088Q==";
       };
     };
-    "@electron-forge/installer-linux-6.0.0-beta.64" = {
+    "@electron-forge/installer-linux-6.0.0-beta.65" = {
       name = "_at_electron-forge_slash_installer-linux";
       packageName = "@electron-forge/installer-linux";
-      version = "6.0.0-beta.64";
+      version = "6.0.0-beta.65";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/installer-linux/-/installer-linux-6.0.0-beta.64.tgz";
-        sha512 = "CKToVN9TuYF/nhfXyTn3hYYD6BrG3T0e+lcxqwHOm7OJ98b08f5ZzvdktHv4brIaD9mUgSHnQ5z4YdguFRvo/Q==";
+        url = "https://registry.npmjs.org/@electron-forge/installer-linux/-/installer-linux-6.0.0-beta.65.tgz";
+        sha512 = "+IASLZEoxUxFgb9MKLOhzgw8Z+pXvON1hwDaIUll/ekDxzrafCgJHGabEPqFX3qVZX+UmYEtYBUtQ9cs0XqBPQ==";
       };
     };
-    "@electron-forge/installer-rpm-6.0.0-beta.64" = {
+    "@electron-forge/installer-rpm-6.0.0-beta.65" = {
       name = "_at_electron-forge_slash_installer-rpm";
       packageName = "@electron-forge/installer-rpm";
-      version = "6.0.0-beta.64";
+      version = "6.0.0-beta.65";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/installer-rpm/-/installer-rpm-6.0.0-beta.64.tgz";
-        sha512 = "0w0Q8MbNefjDGVaGMlk1OPMWYe+Ct/XiOXaWX3jF+fgkaKUzXbkN91gBhIKXBkLlxWqQI+5BlLTh+CjRyBZV5g==";
+        url = "https://registry.npmjs.org/@electron-forge/installer-rpm/-/installer-rpm-6.0.0-beta.65.tgz";
+        sha512 = "t+X+HTwncRPE3CEpXIzITQjCB1atlxZmHMpaFG81dsIJG2KyL66qXP4b97W9/pATQ1qvYmp3uCg9dHMn/D2eug==";
       };
     };
-    "@electron-forge/installer-zip-6.0.0-beta.64" = {
+    "@electron-forge/installer-zip-6.0.0-beta.65" = {
       name = "_at_electron-forge_slash_installer-zip";
       packageName = "@electron-forge/installer-zip";
-      version = "6.0.0-beta.64";
+      version = "6.0.0-beta.65";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/installer-zip/-/installer-zip-6.0.0-beta.64.tgz";
-        sha512 = "qA5+pe1c2znrKyTjcYZ+6yL56a31sQexH19ik+wigIor2d0nevGo6hZgNl0YOyOfrt/M8lyGTDksWFAGuNyxNQ==";
+        url = "https://registry.npmjs.org/@electron-forge/installer-zip/-/installer-zip-6.0.0-beta.65.tgz";
+        sha512 = "NYO5hkODEOxePH/26/lpJzYW+KYyY10HlN8a9BEbVRkyweKlp8KxFMZ3M5TL8f+7EFUtV/pOWCL8hOM8WLK6Sw==";
       };
     };
-    "@electron-forge/maker-base-6.0.0-beta.64" = {
+    "@electron-forge/maker-base-6.0.0-beta.65" = {
       name = "_at_electron-forge_slash_maker-base";
       packageName = "@electron-forge/maker-base";
-      version = "6.0.0-beta.64";
+      version = "6.0.0-beta.65";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/maker-base/-/maker-base-6.0.0-beta.64.tgz";
-        sha512 = "jQbZgnsTpDK60KXhJWiDhmo7aHsBMnfZIpbr4w9QhjPPbQKUqcUo6Geg2OFbX+9HTGOz1jUC4jDbVPvR+zmzuQ==";
+        url = "https://registry.npmjs.org/@electron-forge/maker-base/-/maker-base-6.0.0-beta.65.tgz";
+        sha512 = "EhDjppd/qdsIDAr6stjAi+OOmhxPidCswPb02Jte6+yh0Wjk5q5vaYS4B6tzlBkZKYvEAiGLYh4tQ/31dxpTHA==";
       };
     };
-    "@electron-forge/plugin-base-6.0.0-beta.64" = {
+    "@electron-forge/plugin-base-6.0.0-beta.65" = {
       name = "_at_electron-forge_slash_plugin-base";
       packageName = "@electron-forge/plugin-base";
-      version = "6.0.0-beta.64";
+      version = "6.0.0-beta.65";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/plugin-base/-/plugin-base-6.0.0-beta.64.tgz";
-        sha512 = "398mJ50B61BwiwehKrRQfRoB/A2+Nd/SzHYzuQxio4gIWOg5aJXCi6kZGGpRNpQ+UYx+v7rP/WxWQedA7U/Urw==";
+        url = "https://registry.npmjs.org/@electron-forge/plugin-base/-/plugin-base-6.0.0-beta.65.tgz";
+        sha512 = "R46e1LiJVUKR3rXZxghBrOI6vVzoF1NNNr0hexroBCqE8fsP3WdbAvIR3TCpBDbLlknzvlEiNcHNDUgyMfce4A==";
       };
     };
-    "@electron-forge/publisher-base-6.0.0-beta.64" = {
+    "@electron-forge/publisher-base-6.0.0-beta.65" = {
       name = "_at_electron-forge_slash_publisher-base";
       packageName = "@electron-forge/publisher-base";
-      version = "6.0.0-beta.64";
+      version = "6.0.0-beta.65";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/publisher-base/-/publisher-base-6.0.0-beta.64.tgz";
-        sha512 = "OIEThucgKKUmXIF8Gb7xAPl0Hlpsnf37e1DsvpRC3gP3kClPFwitx2u5PNCIg1HwQ75UoViGeFcwjjs9VZPkIg==";
+        url = "https://registry.npmjs.org/@electron-forge/publisher-base/-/publisher-base-6.0.0-beta.65.tgz";
+        sha512 = "tXIKS8/kK+Bh18BVdVeT6QaR/EJrlWQnOPVZrT0/CjfqEBMfuf5zYiwcqgakbV2WOFvH2oljprmduyqFvnrwow==";
       };
     };
-    "@electron-forge/shared-types-6.0.0-beta.64" = {
+    "@electron-forge/shared-types-6.0.0-beta.65" = {
       name = "_at_electron-forge_slash_shared-types";
       packageName = "@electron-forge/shared-types";
-      version = "6.0.0-beta.64";
+      version = "6.0.0-beta.65";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/shared-types/-/shared-types-6.0.0-beta.64.tgz";
-        sha512 = "E+uIpZsKPku4QHWzBGNm5RkcOyLXn98qHvJevziKnUOfRSe2y66XFpHyu9FmBnEYYoyGDvBktV70yK6gsjdigQ==";
+        url = "https://registry.npmjs.org/@electron-forge/shared-types/-/shared-types-6.0.0-beta.65.tgz";
+        sha512 = "ApxdJgz84l122rmjr8hxDSXIt6gePT54fMXUzxWPIJgPlMR2/dzvmVEWq13UmVD1q0jduQ2lXLNB37EuqsATOQ==";
       };
     };
-    "@electron-forge/template-base-6.0.0-beta.64" = {
+    "@electron-forge/template-base-6.0.0-beta.65" = {
       name = "_at_electron-forge_slash_template-base";
       packageName = "@electron-forge/template-base";
-      version = "6.0.0-beta.64";
+      version = "6.0.0-beta.65";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/template-base/-/template-base-6.0.0-beta.64.tgz";
-        sha512 = "mdYHCk6H7L+hdSPnh6kdg6nBC7QnQZuySwi7z/Hv3APCfPZMLVLcVkWQNCYyl+5ysyhzjPGtdm7MSV8kJ5ZMtA==";
+        url = "https://registry.npmjs.org/@electron-forge/template-base/-/template-base-6.0.0-beta.65.tgz";
+        sha512 = "7opxEC2C4WCv2/AtY1JwgdG4LWZTyIUtG+U/aEm2aspSobPTPVjqJX873sqNuC4Fa99d7qsW7YfjlXQaqwTOEA==";
       };
     };
-    "@electron-forge/template-typescript-6.0.0-beta.64" = {
+    "@electron-forge/template-typescript-6.0.0-beta.65" = {
       name = "_at_electron-forge_slash_template-typescript";
       packageName = "@electron-forge/template-typescript";
-      version = "6.0.0-beta.64";
+      version = "6.0.0-beta.65";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/template-typescript/-/template-typescript-6.0.0-beta.64.tgz";
-        sha512 = "gu63ehKG4q92UQhDMAMt/e73moav1fLyKVNwQakcxrD/D2klprKXf2qa6lMBsxaZFnAZ5b249R6WZWmXnk6r6A==";
+        url = "https://registry.npmjs.org/@electron-forge/template-typescript/-/template-typescript-6.0.0-beta.65.tgz";
+        sha512 = "P+LvcYu9zwT9cFm7uopZCrMKQDRyblDPkLg9y9jRCXbmjP1qybfpB5TsAdK2i0jF1b9iJI+lqdXSoZYDeBIlnA==";
       };
     };
-    "@electron-forge/template-typescript-webpack-6.0.0-beta.64" = {
+    "@electron-forge/template-typescript-webpack-6.0.0-beta.65" = {
       name = "_at_electron-forge_slash_template-typescript-webpack";
       packageName = "@electron-forge/template-typescript-webpack";
-      version = "6.0.0-beta.64";
+      version = "6.0.0-beta.65";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/template-typescript-webpack/-/template-typescript-webpack-6.0.0-beta.64.tgz";
-        sha512 = "oFLC88qXhFXvD1H9CthtMIPE2CKoXPNiR0LRDieL/vNvnRb0UKaqay/o3df2rJp31h5CEY63BrHC9nnQ8i+ZCw==";
+        url = "https://registry.npmjs.org/@electron-forge/template-typescript-webpack/-/template-typescript-webpack-6.0.0-beta.65.tgz";
+        sha512 = "3yx5ESBvRtd8QI2DopgSvz7pIiLzsrpsbzyuZP8dDUHI8uJxReS0WgjfBJ59wbzUfAcU8zho2216i06jtp4DoQ==";
       };
     };
-    "@electron-forge/template-webpack-6.0.0-beta.64" = {
+    "@electron-forge/template-webpack-6.0.0-beta.65" = {
       name = "_at_electron-forge_slash_template-webpack";
       packageName = "@electron-forge/template-webpack";
-      version = "6.0.0-beta.64";
+      version = "6.0.0-beta.65";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@electron-forge/template-webpack/-/template-webpack-6.0.0-beta.64.tgz";
-        sha512 = "hExHBXIoH7cRSW0f2jUjlKtEdkUqZEutr12GphB3MoMWWlef8SOZ9eDfpvJkEHbPJQmKNdkJjtboakK6DAucFg==";
+        url = "https://registry.npmjs.org/@electron-forge/template-webpack/-/template-webpack-6.0.0-beta.65.tgz";
+        sha512 = "yvDcs2JRc1218oi8mfhS0mNCbeUYuHkA8YD6Bh85syq3iGi6NDAg7+c/oCY9JOXDaiwoCu5ZiL0gd8QEhVoTSw==";
       };
     };
     "@electron/get-1.14.1" = {
@@ -3406,22 +3514,22 @@ let
         sha512 = "8HqW8EVqjnCmWXVpqAOZf+EGESdkR27odcMMMGefgKXtar00SoYNSryGv//TELI4T3QFsECo78p+0lmalk/CFA==";
       };
     };
-    "@emotion/is-prop-valid-1.1.3" = {
+    "@emotion/is-prop-valid-1.2.0" = {
       name = "_at_emotion_slash_is-prop-valid";
       packageName = "@emotion/is-prop-valid";
-      version = "1.1.3";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.1.3.tgz";
-        sha512 = "RFg04p6C+1uO19uG8N+vqanzKqiM9eeV1LDOG3bmkYmuOj7NbKNlFC/4EZq5gnwAIlcC/jOT24f8Td0iax2SXA==";
+        url = "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz";
+        sha512 = "3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg==";
       };
     };
-    "@emotion/memoize-0.7.5" = {
+    "@emotion/memoize-0.8.0" = {
       name = "_at_emotion_slash_memoize";
       packageName = "@emotion/memoize";
-      version = "0.7.5";
+      version = "0.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.5.tgz";
-        sha512 = "igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ==";
+        url = "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz";
+        sha512 = "G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==";
       };
     };
     "@emotion/stylis-0.8.5" = {
@@ -3442,15 +3550,6 @@ let
         sha512 = "OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==";
       };
     };
-    "@endemolshinegroup/cosmiconfig-typescript-loader-3.0.2" = {
-      name = "_at_endemolshinegroup_slash_cosmiconfig-typescript-loader";
-      packageName = "@endemolshinegroup/cosmiconfig-typescript-loader";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@endemolshinegroup/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-3.0.2.tgz";
-        sha512 = "QRVtqJuS1mcT56oHpVegkKBlgtWjXw/gHNWO3eL9oyB5Sc7HBoc2OLG/nYpVfT/Jejvo3NUrD0Udk7XgoyDKkA==";
-      };
-    };
     "@eslint/eslintrc-0.4.3" = {
       name = "_at_eslint_slash_eslintrc";
       packageName = "@eslint/eslintrc";
@@ -3469,13 +3568,13 @@ let
         sha512 = "UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==";
       };
     };
-    "@exodus/schemasafe-1.0.0-rc.6" = {
+    "@exodus/schemasafe-1.0.0-rc.7" = {
       name = "_at_exodus_slash_schemasafe";
       packageName = "@exodus/schemasafe";
-      version = "1.0.0-rc.6";
+      version = "1.0.0-rc.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@exodus/schemasafe/-/schemasafe-1.0.0-rc.6.tgz";
-        sha512 = "dDnQizD94EdBwEj/fh3zPRa/HWCS9O5au2PuHhZBbuM3xWHxuaKzPBOEWze7Nn0xW68MIpZ7Xdyn1CoCpjKCuQ==";
+        url = "https://registry.npmjs.org/@exodus/schemasafe/-/schemasafe-1.0.0-rc.7.tgz";
+        sha512 = "+1mBLsa+vvlV0lwEAP1hwgmOPkjMnoJ8hyCMfCCJga0sVDwDzrPJjnxZwdDaUmOh/vbFHQGBTk+FxsVjoI/CjQ==";
       };
     };
     "@expo/apple-utils-0.0.0-alpha.31" = {
@@ -3523,22 +3622,13 @@ let
         sha512 = "/QGhhLWyaGautgEyU50UJr5YqKJix5t77ePTwreOVAhmZH+ff3nrrtYTTnccx+qF08ZNQmfAyYMCD3rQfzpiJA==";
       };
     };
-    "@expo/dev-server-0.1.113" = {
+    "@expo/dev-server-0.1.115" = {
       name = "_at_expo_slash_dev-server";
       packageName = "@expo/dev-server";
-      version = "0.1.113";
+      version = "0.1.115";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/dev-server/-/dev-server-0.1.113.tgz";
-        sha512 = "PT3HT+3h4ZS1bw6Zz8fqjNeryKOWe1FqGdnz4RSASxZGCzib6VHLfLbJeYHkq7t+ashSXRoAw3XW/9yVdbUqLA==";
-      };
-    };
-    "@expo/dev-tools-0.13.158" = {
-      name = "_at_expo_slash_dev-tools";
-      packageName = "@expo/dev-tools";
-      version = "0.13.158";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/dev-tools/-/dev-tools-0.13.158.tgz";
-        sha512 = "wPvY0+6jJRbJQ7DqlFMn4FuiYbY/kTDFfZ2Z7G4cM3flcTQCJRC+j0HWykDCPzuCEXjxrdXJAOrXVr49olamog==";
+        url = "https://registry.npmjs.org/@expo/dev-server/-/dev-server-0.1.115.tgz";
+        sha512 = "kqr71GAXzBVmjT+qSmqckBKY6Y9lFf4Oy1S4aVygx72CNgyzVTw4CPqT5RsNhcvQEEdACgarczDbPnNkmrm7GQ==";
       };
     };
     "@expo/devcert-1.0.0" = {
@@ -3550,13 +3640,22 @@ let
         sha512 = "cahGyQCmpZmHpn2U04NR9KwsOIZy7Rhsw8Fg4q+A6563lIJxbkrgPnxq/O3NQAh3ohEvOXOOnoFx0b4yycCkpQ==";
       };
     };
-    "@expo/image-utils-0.3.20" = {
+    "@expo/image-utils-0.3.21" = {
       name = "_at_expo_slash_image-utils";
       packageName = "@expo/image-utils";
-      version = "0.3.20";
+      version = "0.3.21";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.3.21.tgz";
+        sha512 = "Ha7pNcpl52RJIeYz3gR1ajOgPPl7WLZWiLqtLi94s9J0a7FvmNBMqd/VKrfHNj8QmtZxXcmXr7y7tPhZbVFg7w==";
+      };
+    };
+    "@expo/image-utils-0.3.22" = {
+      name = "_at_expo_slash_image-utils";
+      packageName = "@expo/image-utils";
+      version = "0.3.22";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.3.20.tgz";
-        sha512 = "NgF/80XENyCS+amwC0P6uk1fauEtUq7gijD19jvl2xknJaADq8M2dMCRHwWMVOXosr2v46f3Z++G/NjmyOVS7A==";
+        url = "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.3.22.tgz";
+        sha512 = "uzq+RERAtkWypOFOLssFnXXqEqKjNj9eXN7e97d/EXUAojNcLDoXc0sL+F5B1I4qtlsnhX01kcpoIBBZD8wZNQ==";
       };
     };
     "@expo/json-file-8.2.36" = {
@@ -3586,13 +3685,13 @@ let
         sha512 = "FQinlwHrTlJbntp8a7NAlCKedVXe06Va/0DSLXRO8lZVtgbEMrYYSUZWQNcOlNtc58c2elNph6z9dMOYwSo3JQ==";
       };
     };
-    "@expo/package-manager-0.0.55" = {
+    "@expo/package-manager-0.0.56" = {
       name = "_at_expo_slash_package-manager";
       packageName = "@expo/package-manager";
-      version = "0.0.55";
+      version = "0.0.56";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/package-manager/-/package-manager-0.0.55.tgz";
-        sha512 = "GWfC+s7XT+sydlGVkHRURWi+Wk9LWdgGBKpk3jqjQi5+jy6kjlY3VqoZbhtXw55oSi/3P2FAO9ifscwut56cvg==";
+        url = "https://registry.npmjs.org/@expo/package-manager/-/package-manager-0.0.56.tgz";
+        sha512 = "PGk34uz4XDyhoNIlPh2D+BDsiXYuW2jXavTiax8d32uvHlRO6FN0cAsqlWD6fx3H2hRn8cU/leTuc4M7pYovCQ==";
       };
     };
     "@expo/plist-0.0.18" = {
@@ -3604,13 +3703,13 @@ let
         sha512 = "+48gRqUiz65R21CZ/IXa7RNBXgAI/uPSdvJqoN9x1hfL44DNbUoWHgHiEXTx7XelcATpDwNTz6sHLfy0iNqf+w==";
       };
     };
-    "@expo/prebuild-config-4.0.2" = {
+    "@expo/prebuild-config-4.0.3" = {
       name = "_at_expo_slash_prebuild-config";
       packageName = "@expo/prebuild-config";
-      version = "4.0.2";
+      version = "4.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-4.0.2.tgz";
-        sha512 = "+AQ/EVgcySl3cvYMmZLaEyGkxvQnO+UFU2mshmUoUh5lTIFTNKl1aVo0UmYW2/JehmKu6bxOrr/lL5byHv+fcQ==";
+        url = "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-4.0.3.tgz";
+        sha512 = "ZRMn0a9Wo/coKXLMvizUytqtG5pniUHaBMSS28yFTcGVvyDJh2nFVkBf9po52mSkbm9rGp/Pev6GAf57m6S2BA==";
       };
     };
     "@expo/rudder-sdk-node-1.1.1" = {
@@ -3622,13 +3721,13 @@ let
         sha512 = "uy/hS/awclDJ1S88w9UGpc6Nm9XnNUjzOAAib1A3PVAnGQIwebg8DpFqOthFBTlZxeuV/BKbZ5jmTbtNZkp1WQ==";
       };
     };
-    "@expo/schemer-1.4.2" = {
+    "@expo/schemer-1.4.3" = {
       name = "_at_expo_slash_schemer";
       packageName = "@expo/schemer";
-      version = "1.4.2";
+      version = "1.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/schemer/-/schemer-1.4.2.tgz";
-        sha512 = "Kq6oMV+IdBjM22naGfaN8aEup95wx5MNeVvThIjUMAQrrNSAkxi86YbLAHl3/VUN56gX0sxUZNnSa17k/9V/pg==";
+        url = "https://registry.npmjs.org/@expo/schemer/-/schemer-1.4.3.tgz";
+        sha512 = "upaic2flgWfJLE70ZIBZFG9Vh0ilgVn50DZIJ8+EY0xugl2hB5FXYxTlCtQkJXjou78ADC6fKqJsm1drMxpy3A==";
       };
     };
     "@expo/sdk-runtime-versions-1.0.0" = {
@@ -3649,22 +3748,22 @@ let
         sha512 = "LB7jWkqrHo+5fJHNrLAFdimuSXQ2MQ4lA7SQW5bf/HbsXuV2VrT/jN/M8f/KoWt0uJMGN4k/j7Opx4AvOOxSew==";
       };
     };
-    "@expo/webpack-config-0.16.24" = {
+    "@expo/webpack-config-0.17.0" = {
       name = "_at_expo_slash_webpack-config";
       packageName = "@expo/webpack-config";
-      version = "0.16.24";
+      version = "0.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/webpack-config/-/webpack-config-0.16.24.tgz";
-        sha512 = "Nml2uvNOpFKEyYvFrn1bTVXZWKcBGWO+duk+CuVT3WUG0istmPbP7qeneqzQ51oTbvbmxl8hUQ6EqEFFyubF/g==";
+        url = "https://registry.npmjs.org/@expo/webpack-config/-/webpack-config-0.17.0.tgz";
+        sha512 = "qRBBcuMsWVQD3tiNlPkaX/KMOUxIq9bGCFwK4gW9Yw2WC2mrQHb3wVIsnVPRgHtnD29FFgRG8GypeKKT6cAkBQ==";
       };
     };
-    "@expo/xcpretty-4.1.3" = {
+    "@expo/xcpretty-4.2.2" = {
       name = "_at_expo_slash_xcpretty";
       packageName = "@expo/xcpretty";
-      version = "4.1.3";
+      version = "4.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/xcpretty/-/xcpretty-4.1.3.tgz";
-        sha512 = "testj0jpEe1IwRfnmQ3shizTXOY6IGcuMJg1vtmXy2bC9sPTLK1wjliRJp2xCJGcp1ZbEA1/eptzX+6MDnYjrA==";
+        url = "https://registry.npmjs.org/@expo/xcpretty/-/xcpretty-4.2.2.tgz";
+        sha512 = "Lke/geldJqUV0Dfxg5/QIOugOzdqZ/rQ9yHKSgGbjZtG1uiSqWyFwWvXmrdd3/sIdX33eykGvIcf+OrvvcXVUw==";
       };
     };
     "@fast-csv/format-4.3.5" = {
@@ -3712,22 +3811,22 @@ let
         sha512 = "na1+hTRDg2xHSu3Vrr8ITrQpoFChOCSpqTYjLvdRD081p8o61hk9DeaXkUWr8E+2TZ06BXi2t0VyL4wfrYLU8Q==";
       };
     };
-    "@fluentui/font-icons-mdl2-8.4.1" = {
+    "@fluentui/font-icons-mdl2-8.4.5" = {
       name = "_at_fluentui_slash_font-icons-mdl2";
       packageName = "@fluentui/font-icons-mdl2";
-      version = "8.4.1";
+      version = "8.4.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/font-icons-mdl2/-/font-icons-mdl2-8.4.1.tgz";
-        sha512 = "nKVb7Jd52EQYASNHNtOVXT01SIzB4MoCPdKxXkwU1rvLe5u6RzAd4UHxjes09/KuvKrIG/Ixo0nv5mb+6NN2sw==";
+        url = "https://registry.npmjs.org/@fluentui/font-icons-mdl2/-/font-icons-mdl2-8.4.5.tgz";
+        sha512 = "KQq5NHixzLITw8TqB/EyYhQDcojbHCxPC/7anH5o+iAjQPYKLcrYYCDYt8gN+TStW7ER3qClxwPa1RkNP7dy+g==";
       };
     };
-    "@fluentui/foundation-legacy-8.2.8" = {
+    "@fluentui/foundation-legacy-8.2.12" = {
       name = "_at_fluentui_slash_foundation-legacy";
       packageName = "@fluentui/foundation-legacy";
-      version = "8.2.8";
+      version = "8.2.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/foundation-legacy/-/foundation-legacy-8.2.8.tgz";
-        sha512 = "9K99k/Cexcn6+U5bbJe8sojd3U6/WID7zmqyDhlVfQDL5napa4Myv9049ToUQ6IUnDJSTZOnuHrWMoK5maUOdw==";
+        url = "https://registry.npmjs.org/@fluentui/foundation-legacy/-/foundation-legacy-8.2.12.tgz";
+        sha512 = "+Skk1End6MeM733QmYeLM9iwABRVFPS5PUzNprpPmPniRoIn2hOHrD38APCucK+lRjhyIROcyLUxw36NqW8vkA==";
       };
     };
     "@fluentui/keyboard-key-0.4.1" = {
@@ -3748,40 +3847,40 @@ let
         sha512 = "ax8izl48JJuymEuvJzvNH22GHmpPEWLP+h4doyFZ/9IhR9AEycNc2rGBthZ5FiuktnFgusNag1AHr/WCj5pttw==";
       };
     };
-    "@fluentui/react-8.77.0" = {
+    "@fluentui/react-8.86.3" = {
       name = "_at_fluentui_slash_react";
       packageName = "@fluentui/react";
-      version = "8.77.0";
+      version = "8.86.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/react/-/react-8.77.0.tgz";
-        sha512 = "0Eu6eIOSS9Bpq2yySYZIJUNQWJefOKGOajupKSaKn2Qa0XNReW9HEyn6B0v80tVgPCg6wzqfr1CAPnszoLAHxA==";
+        url = "https://registry.npmjs.org/@fluentui/react/-/react-8.86.3.tgz";
+        sha512 = "8vmEkysUt0CMLgMbE/JWijgZF+CGJJd2BlbjEwG6Z9x2J+nyqtE2Z86fKyC5/gnqy5aJ79bT6SxjmWyY1syyig==";
       };
     };
-    "@fluentui/react-focus-8.7.0" = {
+    "@fluentui/react-focus-8.7.6" = {
       name = "_at_fluentui_slash_react-focus";
       packageName = "@fluentui/react-focus";
-      version = "8.7.0";
+      version = "8.7.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-8.7.0.tgz";
-        sha512 = "HuV3zcoe5FRDXCDqVzqj+6mhWzz19hQA4MgQQ42x/0bCdjWMN7fFMuU78cwhxenjG/vWlNgO2Yo+eEZ8j8/CEA==";
+        url = "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-8.7.6.tgz";
+        sha512 = "87d9z7Mpvyl4jG8tV39XlC2XCVIJHuRJdFGvBSfkT9StR4GAYeD7Dk+Ok8+QhNZf2FSwDmJbgLh892wxSnXjIA==";
       };
     };
-    "@fluentui/react-hooks-8.6.0" = {
+    "@fluentui/react-hooks-8.6.4" = {
       name = "_at_fluentui_slash_react-hooks";
       packageName = "@fluentui/react-hooks";
-      version = "8.6.0";
+      version = "8.6.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/react-hooks/-/react-hooks-8.6.0.tgz";
-        sha512 = "mo5dqMDcXoY+Utnq65WzDKdHT8zgLxR4ZEwen884dyisN7g/+wjfy4JZmhi8Cm9gnD7anNJvSKP9pPJGwCt26Q==";
+        url = "https://registry.npmjs.org/@fluentui/react-hooks/-/react-hooks-8.6.4.tgz";
+        sha512 = "ZpiaAv08YtFkz7JklbBRSu3vgH7ZJJY705R5c3zxbKeuBGu4DMCjiilURQ8wagX4mjFCWtzWJXo6HZELsLKTpg==";
       };
     };
-    "@fluentui/react-portal-compat-context-9.0.0-rc.2" = {
+    "@fluentui/react-portal-compat-context-9.0.1" = {
       name = "_at_fluentui_slash_react-portal-compat-context";
       packageName = "@fluentui/react-portal-compat-context";
-      version = "9.0.0-rc.2";
+      version = "9.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/react-portal-compat-context/-/react-portal-compat-context-9.0.0-rc.2.tgz";
-        sha512 = "AAWLmggcbPIfldF3ZeSHpA9J2Z9C0Eano+8hCgKrKJ1b2uGZUzFMqOOgRAKrNwR8Ke4DXXIBlpy/6xbH1OkF8w==";
+        url = "https://registry.npmjs.org/@fluentui/react-portal-compat-context/-/react-portal-compat-context-9.0.1.tgz";
+        sha512 = "KhOcXy2tvzNoAqFowkaRGFiLuRuPjzn6i1W30iMkhgsSVKxa/9jxso86Z8R0eZwA+16RNO/Ia2nX1gqfUac9mw==";
       };
     };
     "@fluentui/react-window-provider-2.2.1" = {
@@ -3802,31 +3901,31 @@ let
         sha512 = "SZMP2P7RSUuVHYWIBcnlxYruvchlnoqensCvoaGeiH0FisO7etwJdFwKNegV7WEA9uS5ZOK3qVmyvD71DxaSng==";
       };
     };
-    "@fluentui/style-utilities-8.7.0" = {
+    "@fluentui/style-utilities-8.7.4" = {
       name = "_at_fluentui_slash_style-utilities";
       packageName = "@fluentui/style-utilities";
-      version = "8.7.0";
+      version = "8.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/style-utilities/-/style-utilities-8.7.0.tgz";
-        sha512 = "coba9Xj85nlAtToSCV0dD5sHq4BSQk/pUD9y4ZfNhm7vAlju5caQFhpwCs+qsZQ2OIkkpeF2YzJ/SHjNrMECqw==";
+        url = "https://registry.npmjs.org/@fluentui/style-utilities/-/style-utilities-8.7.4.tgz";
+        sha512 = "2JhRJ1ftgrdh5h4vowK3KxGmCQphRQmHzfpOK6hHdePexVUN3iaudQZLaWFQryeDdaxlNgxiIgc0dWE9Q30SAw==";
       };
     };
-    "@fluentui/theme-2.6.6" = {
+    "@fluentui/theme-2.6.9" = {
       name = "_at_fluentui_slash_theme";
       packageName = "@fluentui/theme";
-      version = "2.6.6";
+      version = "2.6.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/theme/-/theme-2.6.6.tgz";
-        sha512 = "VP2PFZf4eKrXVlCJGHskW7B/oXBLtiEFm3ismRhhWgJCPeekYnHj6Q7wlr4oiEeIJ3TOGySHhdC7d54Zc6dAeA==";
+        url = "https://registry.npmjs.org/@fluentui/theme/-/theme-2.6.9.tgz";
+        sha512 = "XM1kDLvbSQdoM9MPBLbUp6t+KMrs8VlUrC0ryQBxVOMIbSbpNKm6W5MsxT/lYFQhJAHk0JziojRAR9WLzUiWvA==";
       };
     };
-    "@fluentui/utilities-8.8.3" = {
+    "@fluentui/utilities-8.10.1" = {
       name = "_at_fluentui_slash_utilities";
       packageName = "@fluentui/utilities";
-      version = "8.8.3";
+      version = "8.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.8.3.tgz";
-        sha512 = "ZehG5uy/9v5h/Q4CC9yJ5xEC0jqUJlDYen8Op7ki2vunvE+GTdNP9lkTUk2H7/cVKmSgEHsaMr37ZYc2V1N5vw==";
+        url = "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.10.1.tgz";
+        sha512 = "ga2XTNljIXBKoWrwAdf4bdCVB+Yvtx/fvrmucmhSf4eskXYCn6x2s21OswVkVfTt5r5pK6uiMHhHCnheLoiEyw==";
       };
     };
     "@forge/api-2.7.0" = {
@@ -3856,22 +3955,22 @@ let
         sha512 = "+GFtFqBhFzwKaKmeEfw1jWQgZJNX4q11CCx1fSPFJB49Fdjb7k3lx74jAyzHlX0UWnm6DMK+/cYT7j5t6G9LfA==";
       };
     };
-    "@forge/bundler-3.0.8" = {
+    "@forge/bundler-3.0.10" = {
       name = "_at_forge_slash_bundler";
       packageName = "@forge/bundler";
-      version = "3.0.8";
+      version = "3.0.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@forge/bundler/-/bundler-3.0.8.tgz";
-        sha512 = "s9BKPoEcWBubf4XIueCHBansfL8mRB1FsdJA+BcFnDF0OrTUyFnzx1IelSEDT3XTWbrAkwNDMJS0Ng+EF5semQ==";
+        url = "https://registry.npmjs.org/@forge/bundler/-/bundler-3.0.10.tgz";
+        sha512 = "dRGYLc97gorhvml8J5emfSNDfyJeEffglc4wFkukmGsHCCfkRgCn4isYHPy3OjvW7UnELItpUEV1DEx5HiTl8g==";
       };
     };
-    "@forge/cli-shared-2.5.1" = {
+    "@forge/cli-shared-2.6.1" = {
       name = "_at_forge_slash_cli-shared";
       packageName = "@forge/cli-shared";
-      version = "2.5.1";
+      version = "2.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-2.5.1.tgz";
-        sha512 = "sUS6WO61TK1a5Y5/NlB47fOEXjkYvDASJbsYIq85PY7RzTrbrf9XozeOui8nhBuJaEy3/KOJTG7sSZ9RexKPmA==";
+        url = "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-2.6.1.tgz";
+        sha512 = "qU5OiBSuSF9OY5DgawtyhlChpA84DmtlJ1EgCaChzVv8yW6FcqmD/103hTNx/dHkEc1rHBpaAxOJEUrNZVtFsw==";
       };
     };
     "@forge/csp-1.11.0" = {
@@ -3883,22 +3982,22 @@ let
         sha512 = "VJsDidMQ0W6vCbVuNgvI6yyGQvwhwjT8w8MhcaaFWXvHbQG+ARGZf73ZK4CJM2XB/MjXfHElvTukgbh7mXqJeA==";
       };
     };
-    "@forge/lint-3.1.2" = {
+    "@forge/lint-3.2.1" = {
       name = "_at_forge_slash_lint";
       packageName = "@forge/lint";
-      version = "3.1.2";
+      version = "3.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@forge/lint/-/lint-3.1.2.tgz";
-        sha512 = "fYj+U0ZRvy8liRkybk5pR3pUopRs3khvU9vmpvguwfo9KzxiNOxL2M1DfuDQmHjAeSjjqmfspMJDsdoq8Q4ynw==";
+        url = "https://registry.npmjs.org/@forge/lint/-/lint-3.2.1.tgz";
+        sha512 = "6CUG9sGJOm0lNh1jGPfrjLDIAuet0m9MZT66MQuP5xGBUtrM5flvEngadUfPFtVUv0eJvRRmfFVw3sXNJvDAqA==";
       };
     };
-    "@forge/manifest-3.8.1" = {
+    "@forge/manifest-3.10.0" = {
       name = "_at_forge_slash_manifest";
       packageName = "@forge/manifest";
-      version = "3.8.1";
+      version = "3.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@forge/manifest/-/manifest-3.8.1.tgz";
-        sha512 = "kXqooktuU5tmIyQJ42XoQs74CnSrOdN2IYRbOpnHY+iMwPBjmXbpz7VCFc2VWApbaCDM1K+gch4qHaLPPvGuDw==";
+        url = "https://registry.npmjs.org/@forge/manifest/-/manifest-3.10.0.tgz";
+        sha512 = "18jt36VF5IqS6EesHzJOtMfEyAK9LOG/EY5mK3zWlp6iL3bQfvABWOK6Ob79ZmcJZGQrdmZ93RR/XY66hByA4A==";
       };
     };
     "@forge/storage-1.3.0" = {
@@ -3928,31 +4027,31 @@ let
         sha512 = "k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==";
       };
     };
-    "@gitbeaker/core-35.6.0" = {
+    "@gitbeaker/core-35.7.0" = {
       name = "_at_gitbeaker_slash_core";
       packageName = "@gitbeaker/core";
-      version = "35.6.0";
+      version = "35.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@gitbeaker/core/-/core-35.6.0.tgz";
-        sha512 = "ZhaDUs/4BxHODfjRkVmwkWxZVaFIpYduxaj28+J+4FH9X93WZp0IsyT4szcFM7FwAbRW2+ZvGeEfw4NQwgB/RA==";
+        url = "https://registry.npmjs.org/@gitbeaker/core/-/core-35.7.0.tgz";
+        sha512 = "1N9QcHElYa1NuLhX9mJJ6tnL7wbCsK8Naj2kLXwNC4qyEcDhMiJDnI3YoqNIXSzPTufoNUAbgIsc/h/JmO17/A==";
       };
     };
-    "@gitbeaker/node-35.6.0" = {
+    "@gitbeaker/node-35.7.0" = {
       name = "_at_gitbeaker_slash_node";
       packageName = "@gitbeaker/node";
-      version = "35.6.0";
+      version = "35.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@gitbeaker/node/-/node-35.6.0.tgz";
-        sha512 = "cJBxZdh8elrdLA8V4yEdISGinycESNaIO8JEIyAhemsovqv29XCJ40A9TBA4RlKNjkKVyVSN23BvcZimgqZSzA==";
+        url = "https://registry.npmjs.org/@gitbeaker/node/-/node-35.7.0.tgz";
+        sha512 = "zh215EUloAxj2gwTHevBVypEiiwQR0WsFLGPWJwY+yUFJVQRcya+3mcsDbxgCLAk00wwhrTVYyNppvmoYbEZNg==";
       };
     };
-    "@gitbeaker/requester-utils-35.6.0" = {
+    "@gitbeaker/requester-utils-35.7.0" = {
       name = "_at_gitbeaker_slash_requester-utils";
       packageName = "@gitbeaker/requester-utils";
-      version = "35.6.0";
+      version = "35.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@gitbeaker/requester-utils/-/requester-utils-35.6.0.tgz";
-        sha512 = "5IVzv1gO626qaC7CEV7LUG68IHgEjWovIHXQsbI9MraxhrI9eSV5/l/81Povv7tJlni7u8OnARPU7bmxlXlx7g==";
+        url = "https://registry.npmjs.org/@gitbeaker/requester-utils/-/requester-utils-35.7.0.tgz";
+        sha512 = "SDYKhL+XUrslpVwUumkCf4I4Ubf+lvzdghCYPwBt/og5kZIorFVbHCxRmtr5bO+iC9nrVNfg24sdoe51vDGn1w==";
       };
     };
     "@google-cloud/paginator-4.0.0" = {
@@ -3964,22 +4063,22 @@ let
         sha512 = "wNmCZl+2G2DmgT/VlF+AROf80SoaC/CwS8trwmjNaq26VRNK8yPbU5F/Vy+R9oDAGKWQU2k8+Op5H4kFJVXFaQ==";
       };
     };
-    "@google-cloud/precise-date-2.0.4" = {
+    "@google-cloud/precise-date-3.0.0" = {
       name = "_at_google-cloud_slash_precise-date";
       packageName = "@google-cloud/precise-date";
-      version = "2.0.4";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@google-cloud/precise-date/-/precise-date-2.0.4.tgz";
-        sha512 = "nOB+mZdevI/1Si0QAfxWfzzIqFdc7wrO+DYePFvgbOoMtvX+XfFTINNt7e9Zg66AbDbWCPRnikU+6f5LTm9Wyg==";
+        url = "https://registry.npmjs.org/@google-cloud/precise-date/-/precise-date-3.0.0.tgz";
+        sha512 = "bc+R9MgVTo/I6/+zZOAej7EpFlQMhzd6gJwJesEetpnJwW1MsxbkB82CQMrCc516CgZ8ypC020Xs+ylBTm9pRA==";
       };
     };
-    "@google-cloud/projectify-2.1.1" = {
+    "@google-cloud/projectify-3.0.0" = {
       name = "_at_google-cloud_slash_projectify";
       packageName = "@google-cloud/projectify";
-      version = "2.1.1";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@google-cloud/projectify/-/projectify-2.1.1.tgz";
-        sha512 = "+rssMZHnlh0twl122gXY4/aCrk0G1acBqkHFfYddtsqpYXGxA29nj9V5V9SfC+GyOG00l650f6lG9KL+EpFEWQ==";
+        url = "https://registry.npmjs.org/@google-cloud/projectify/-/projectify-3.0.0.tgz";
+        sha512 = "HRkZsNmjScY6Li8/kb70wjGlDDyLkVk3KvoEo9uIoxSjYLJasGiCch9+PqRVDOCGUFvEIqyogl+BeqILL4OJHA==";
       };
     };
     "@google-cloud/promisify-2.0.4" = {
@@ -3991,22 +4090,22 @@ let
         sha512 = "j8yRSSqswWi1QqUGKVEKOG03Q7qOoZP6/h2zN2YO+F5h2+DHU0bSrHCK9Y7lo2DI9fBd8qGAw795sf+3Jva4yA==";
       };
     };
-    "@google-cloud/pubsub-3.0.1" = {
+    "@google-cloud/pubsub-3.1.0" = {
       name = "_at_google-cloud_slash_pubsub";
       packageName = "@google-cloud/pubsub";
-      version = "3.0.1";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@google-cloud/pubsub/-/pubsub-3.0.1.tgz";
-        sha512 = "dznNbRd/Y8J0C0xvdvCPi3B1msK/dj/Nya+NQZ2doUOLT6eoa261tBwk9umOQs5L5GKcdlqQKbBjrNjDYVbzQA==";
+        url = "https://registry.npmjs.org/@google-cloud/pubsub/-/pubsub-3.1.0.tgz";
+        sha512 = "SNrLRkZDrIxLwUYZ+PN1XZWzGdQOqCwPkFX2+bVUG5M66VmK+uCfQ5oMBDZ4pm1PZGOYaKMxINtpRNmMsBtejg==";
       };
     };
-    "@grammyjs/types-2.8.0" = {
+    "@grammyjs/types-2.8.2" = {
       name = "_at_grammyjs_slash_types";
       packageName = "@grammyjs/types";
-      version = "2.8.0";
+      version = "2.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@grammyjs/types/-/types-2.8.0.tgz";
-        sha512 = "su7pK6oP5co+fqopY79zV2KIlWUN6baT/RW1kGLUfMB0b8pdkeKbGtAjxZ/ccxfXVPsqIn+53ERARLT65g+6xw==";
+        url = "https://registry.npmjs.org/@grammyjs/types/-/types-2.8.2.tgz";
+        sha512 = "RNYVxg5+yOOeDN9PY05KGEA/82vNXd7QMQPtEMCT8neg1jl7Keg/cbUElHOU8zYQUvVChu3uYSkfkviLAxvDSg==";
       };
     };
     "@graphql-cli/common-4.1.0" = {
@@ -4036,13 +4135,13 @@ let
         sha512 = "IuR2SB2MnC2ztA/XeTMTfWcA0Wy7ZH5u+nDkDNLAdX+AaSyDnsQS35sCmHqG0VOGTl7rzoyBWLCKGwSJplgtwg==";
       };
     };
-    "@graphql-tools/batch-execute-8.4.10" = {
+    "@graphql-tools/batch-execute-8.5.1" = {
       name = "_at_graphql-tools_slash_batch-execute";
       packageName = "@graphql-tools/batch-execute";
-      version = "8.4.10";
+      version = "8.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-8.4.10.tgz";
-        sha512 = "rugHElhKYZgb6w3mBuNdgjMIo0LW5QbwIwJ1bc9VKWh51dCQmNwJS1Nx8qFWUjhmjVJWbvKWqYb6Z7wTGnOc3g==";
+        url = "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-8.5.1.tgz";
+        sha512 = "hRVDduX0UDEneVyEWtc2nu5H2PxpfSfM/riUlgZvo/a/nG475uyehxR5cFGvTEPEQUKY3vGIlqvtRigzqTfCew==";
       };
     };
     "@graphql-tools/delegate-7.1.5" = {
@@ -4054,13 +4153,13 @@ let
         sha512 = "bQu+hDd37e+FZ0CQGEEczmRSfQRnnXeUxI/0miDV+NV/zCbEdIJj5tYFNrKT03W6wgdqx8U06d8L23LxvGri/g==";
       };
     };
-    "@graphql-tools/delegate-8.7.11" = {
+    "@graphql-tools/delegate-8.8.1" = {
       name = "_at_graphql-tools_slash_delegate";
       packageName = "@graphql-tools/delegate";
-      version = "8.7.11";
+      version = "8.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-8.7.11.tgz";
-        sha512 = "Rm9ThQHPOz/78OsoB8pZF+8YJm7cHsFMbGa67Q2hLmEAf2xLmNKvsfKfnxYuLnfmpdRxdSmab/ecHZ0qW/DS5w==";
+        url = "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-8.8.1.tgz";
+        sha512 = "NDcg3GEQmdEHlnF7QS8b4lM1PSF+DKeFcIlLEfZFBvVq84791UtJcDj8734sIHLukmyuAxXMfA1qLd2l4lZqzA==";
       };
     };
     "@graphql-tools/graphql-file-loader-6.2.7" = {
@@ -4072,22 +4171,22 @@ let
         sha512 = "5k2SNz0W87tDcymhEMZMkd6/vs6QawDyjQXWtqkuLTBF3vxjxPD1I4dwHoxgWPIjjANhXybvulD7E+St/7s9TQ==";
       };
     };
-    "@graphql-tools/graphql-file-loader-7.3.15" = {
+    "@graphql-tools/graphql-file-loader-7.5.0" = {
       name = "_at_graphql-tools_slash_graphql-file-loader";
       packageName = "@graphql-tools/graphql-file-loader";
-      version = "7.3.15";
+      version = "7.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-7.3.15.tgz";
-        sha512 = "Sw9XadW3bxH3ACNXE8Tsjh+BVedRCJTuRn3NfO//zOYQZiC3HDTzq9MvnW1a00SmPCXg47rxQpq9L3bdLX0Ohg==";
+        url = "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-7.5.0.tgz";
+        sha512 = "X3wcC+ZljbXTwdTTSp3oUHJd66mFLDKI750uhB0HidBxE6+wyw7fhmJVJiYROXPswaGliuabpo0JEyLj7hhWKA==";
       };
     };
-    "@graphql-tools/import-6.6.17" = {
+    "@graphql-tools/import-6.7.1" = {
       name = "_at_graphql-tools_slash_import";
       packageName = "@graphql-tools/import";
-      version = "6.6.17";
+      version = "6.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/import/-/import-6.6.17.tgz";
-        sha512 = "rnKT2ZaFM+IbSFE0iOGG5sqdaDDv/XHHH43VIpV4ozryKoK9re3qrhEgfDOHaW47zMLGKrHLPCC/QGf0IpJquw==";
+        url = "https://registry.npmjs.org/@graphql-tools/import/-/import-6.7.1.tgz";
+        sha512 = "StLosFVhdw+eZkL+v9dBabszxCAZtEYW4Oy1+750fDkH39GrmzOB8mWiYna7rm9+GMisC9atJtXuAfMF02Aoag==";
       };
     };
     "@graphql-tools/json-file-loader-6.2.6" = {
@@ -4099,13 +4198,13 @@ let
         sha512 = "CnfwBSY5926zyb6fkDBHnlTblHnHI4hoBALFYXnrg0Ev4yWU8B04DZl/pBRUc459VNgO2x8/mxGIZj2hPJG1EA==";
       };
     };
-    "@graphql-tools/json-file-loader-7.3.15" = {
+    "@graphql-tools/json-file-loader-7.4.1" = {
       name = "_at_graphql-tools_slash_json-file-loader";
       packageName = "@graphql-tools/json-file-loader";
-      version = "7.3.15";
+      version = "7.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-7.3.15.tgz";
-        sha512 = "aPxIWBahYVPAVeGxzAsoEsLm+KVfxPcx/wIUZZX8+02YYmuICNT0TeSAk6Q6iuKMJCS7gtU5eYVdEM7qzC2EfA==";
+        url = "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-7.4.1.tgz";
+        sha512 = "+QaeRyJcvUXUNEoIaecYrABunqk8/opFbpdHPAijJyVHvlsYfqXR12/501g+/QZzGHKYnyi+Q3lsZbBboj5LBg==";
       };
     };
     "@graphql-tools/load-6.2.4" = {
@@ -4117,13 +4216,13 @@ let
         sha512 = "FlQC50VELwRxoWUbJMMMs5gG0Dl8BaQYMrXUHTsxwqR7UmksUYnysC21rdousvs6jVZ7pf4unZfZFtBjz+8Edg==";
       };
     };
-    "@graphql-tools/load-7.5.14" = {
+    "@graphql-tools/load-7.7.1" = {
       name = "_at_graphql-tools_slash_load";
       packageName = "@graphql-tools/load";
-      version = "7.5.14";
+      version = "7.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/load/-/load-7.5.14.tgz";
-        sha512 = "K7H4tKKGFliRyjbG92KCuv2fS2pHlRxkcNcDtuEQlA8dhthS9qGB14Ld4eHDuRq1RvHTS6mye5NE1alyY44K9g==";
+        url = "https://registry.npmjs.org/@graphql-tools/load/-/load-7.7.1.tgz";
+        sha512 = "rJ2WUV41wwAkMnBgtcBym3TKVbPgz7z9tBCjOmbNVLy5bB9StVPdo2Uci0D5xYSgLV9XIt+zdyAnYGptioJeWg==";
       };
     };
     "@graphql-tools/merge-6.2.17" = {
@@ -4135,13 +4234,22 @@ let
         sha512 = "G5YrOew39fZf16VIrc49q3c8dBqQDD0ax5LYPiNja00xsXDi0T9zsEWVt06ApjtSdSF6HDddlu5S12QjeN8Tow==";
       };
     };
-    "@graphql-tools/merge-8.2.14" = {
+    "@graphql-tools/merge-8.3.1" = {
       name = "_at_graphql-tools_slash_merge";
       packageName = "@graphql-tools/merge";
-      version = "8.2.14";
+      version = "8.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.3.1.tgz";
+        sha512 = "BMm99mqdNZbEYeTPK3it9r9S6rsZsQKtlqJsSBknAclXq2pGEfOxjcIZi+kBSkHZKPKCRrYDd5vY0+rUmIHVLg==";
+      };
+    };
+    "@graphql-tools/mock-8.7.1" = {
+      name = "_at_graphql-tools_slash_mock";
+      packageName = "@graphql-tools/mock";
+      version = "8.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.2.14.tgz";
-        sha512 = "od6lTF732nwPX91G79eiJf+dyRBHxCaKe7QL4IYeH4d1k+NYqx/ihYpFJNjDaqxmpHH92Hr+TxsP9SYRK3/QKg==";
+        url = "https://registry.npmjs.org/@graphql-tools/mock/-/mock-8.7.1.tgz";
+        sha512 = "k85qWloFnxw1AAu7P153y1y+9GEbiQ4T17uay2o2QZKtjxPkBADkX0sKYsI7oj+ip+l/D4an3FfsbWATGxzT8w==";
       };
     };
     "@graphql-tools/schema-7.1.5" = {
@@ -4153,13 +4261,13 @@ let
         sha512 = "uyn3HSNSckf4mvQSq0Q07CPaVZMNFCYEVxroApOaw802m9DcZPgf9XVPy/gda5GWj9AhbijfRYVTZQgHnJ4CXA==";
       };
     };
-    "@graphql-tools/schema-8.3.14" = {
+    "@graphql-tools/schema-8.5.1" = {
       name = "_at_graphql-tools_slash_schema";
       packageName = "@graphql-tools/schema";
-      version = "8.3.14";
+      version = "8.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.3.14.tgz";
-        sha512 = "ntA4pKwyyPHFFKcIw17FfqGZAiTNZl0tHieQpPIkN5fPc4oHcXOfaj1vBjtIC/Qn6H7XBBu3l2kMA8FpobdxTQ==";
+        url = "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.5.1.tgz";
+        sha512 = "0Esilsh0P/qYcB5DKQpiKeQs/jevzIadNTaT0jeWklPMwNbT7yMX4EqZany7mbeRRlSRwMzNzL5olyFdffHBZg==";
       };
     };
     "@graphql-tools/url-loader-6.10.1" = {
@@ -4171,13 +4279,13 @@ let
         sha512 = "DSDrbhQIv7fheQ60pfDpGD256ixUQIR6Hhf9Z5bRjVkXOCvO5XrkwoWLiU7iHL81GB1r0Ba31bf+sl+D4nyyfw==";
       };
     };
-    "@graphql-tools/url-loader-7.9.25" = {
+    "@graphql-tools/url-loader-7.13.3" = {
       name = "_at_graphql-tools_slash_url-loader";
       packageName = "@graphql-tools/url-loader";
-      version = "7.9.25";
+      version = "7.13.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-7.9.25.tgz";
-        sha512 = "l1C4xym79RbZk3Fe4P2JeNxDogQWPOETZrb+jCHniQ7GT7bjpM20ZcS9oqSNgMyPKQE4vGjV3zRph8vItRQgOg==";
+        url = "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-7.13.3.tgz";
+        sha512 = "92z2HJd+Ae2wlZH0kFb20aSxX8CkJDcYyUtbtBNSadu5rKzkiYQPlihfRJFJs4zmDdV+DSmmGvQtDuAKLV+iNg==";
       };
     };
     "@graphql-tools/utils-6.2.4" = {
@@ -4207,13 +4315,13 @@ let
         sha512 = "gzkavMOgbhnwkHJYg32Adv6f+LxjbQmmbdD5Hty0+CWxvaiuJq+nU6tzb/7VSU4cwhbNLx/lGu2jbCPEW1McZQ==";
       };
     };
-    "@graphql-tools/utils-8.6.13" = {
+    "@graphql-tools/utils-8.9.0" = {
       name = "_at_graphql-tools_slash_utils";
       packageName = "@graphql-tools/utils";
-      version = "8.6.13";
+      version = "8.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.6.13.tgz";
-        sha512 = "FiVqrQzj4cgz0HcZ3CxUs8NtBGPZFpmsVyIgwmL6YCwIhjJQnT72h8G3/vk5zVfjfesht85YGp0inWWuoCKWzg==";
+        url = "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.9.0.tgz";
+        sha512 = "pjJIWH0XOVnYGXCqej8g/u/tsfV4LvLlj0eATKQu5zwnxd/TiTHq7Cg313qUPTFFHZ3PP5wJ15chYVtLDwaymg==";
       };
     };
     "@graphql-tools/wrap-7.0.8" = {
@@ -4225,13 +4333,13 @@ let
         sha512 = "1NDUymworsOlb53Qfh7fonDi2STvqCtbeE68ntKY9K/Ju/be2ZNxrFSbrBHwnxWcN9PjISNnLcAyJ1L5tCUyhg==";
       };
     };
-    "@graphql-tools/wrap-8.4.20" = {
+    "@graphql-tools/wrap-8.5.1" = {
       name = "_at_graphql-tools_slash_wrap";
       packageName = "@graphql-tools/wrap";
-      version = "8.4.20";
+      version = "8.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-8.4.20.tgz";
-        sha512 = "qzlrOg9ddaA+30OdG8NU/zDPV2sbJ4Rvool+Zf0nLVRqkAUP/1uxXTQBLgEJKO1xxTlhJ+27FCJ42lG6JG9ZrA==";
+        url = "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-8.5.1.tgz";
+        sha512 = "KpVVfha2wLSpE08YLX0jeo5nXPfDLASlxOqMlvfa/B4X8SOVmuLyN1L5YZ132tPLDF93uflwlHFnUO5ahpRNlA==";
       };
     };
     "@grpc/grpc-js-1.6.7" = {
@@ -4243,6 +4351,15 @@ let
         sha512 = "eBM03pu9hd3VqDQG+kHahiG1x80RGkkqqRb1Pchcwqej/KkAH95gAvKs6laqaHCycYaPK+TKuNQnOz9UXYA8qw==";
       };
     };
+    "@grpc/grpc-js-1.6.8" = {
+      name = "_at_grpc_slash_grpc-js";
+      packageName = "@grpc/grpc-js";
+      version = "1.6.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.6.8.tgz";
+        sha512 = "Nt5tufF/O5Q310kP0cDzxznWMZW58GCTZhUUiAQ9B0K0ANKNQ4Lj/K9XK0vZg+UBKq5/7z7+8mXHHfrcwoeFJQ==";
+      };
+    };
     "@grpc/proto-loader-0.6.12" = {
       name = "_at_grpc_slash_proto-loader";
       packageName = "@grpc/proto-loader";
@@ -4261,6 +4378,15 @@ let
         sha512 = "FjxPYDRTn6Ec3V0arm1FtSpmP6V50wuph2yILpyvTKzjc76oDdoihXqM1DzOW5ubvCC8GivfCnNtfaRE8myJ7g==";
       };
     };
+    "@grpc/proto-loader-0.7.0" = {
+      name = "_at_grpc_slash_proto-loader";
+      packageName = "@grpc/proto-loader";
+      version = "0.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.0.tgz";
+        sha512 = "SGPZtVmqOvNfPFOA/nNPn+0Weqa5wubBgQ56+JgTbeLY2VezwtMjwPPFzh0kvQccwWT3a2TXT0ZGK/pJoOTk1A==";
+      };
+    };
     "@gulp-sourcemaps/identity-map-2.0.1" = {
       name = "_at_gulp-sourcemaps_slash_identity-map";
       packageName = "@gulp-sourcemaps/identity-map";
@@ -4369,6 +4495,15 @@ let
         sha512 = "n4q9ARKco2hpCLsuVaW6Az3cDVaua7B3DSONHkc49WtEzgY/btvcDG5Zr1P6PZDv0sQ7oPnAi9Y+W2DI++MgcQ==";
       };
     };
+    "@humanwhocodes/config-array-0.10.4" = {
+      name = "_at_humanwhocodes_slash_config-array";
+      packageName = "@humanwhocodes/config-array";
+      version = "0.10.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz";
+        sha512 = "mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==";
+      };
+    };
     "@humanwhocodes/config-array-0.5.0" = {
       name = "_at_humanwhocodes_slash_config-array";
       packageName = "@humanwhocodes/config-array";
@@ -4387,6 +4522,15 @@ let
         sha512 = "ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==";
       };
     };
+    "@humanwhocodes/gitignore-to-minimatch-1.0.2" = {
+      name = "_at_humanwhocodes_slash_gitignore-to-minimatch";
+      packageName = "@humanwhocodes/gitignore-to-minimatch";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz";
+        sha512 = "rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==";
+      };
+    };
     "@humanwhocodes/object-schema-1.2.1" = {
       name = "_at_humanwhocodes_slash_object-schema";
       packageName = "@humanwhocodes/object-schema";
@@ -4729,31 +4873,31 @@ let
         sha512 = "sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==";
       };
     };
-    "@jridgewell/gen-mapping-0.3.1" = {
+    "@jridgewell/gen-mapping-0.3.2" = {
       name = "_at_jridgewell_slash_gen-mapping";
       packageName = "@jridgewell/gen-mapping";
-      version = "0.3.1";
+      version = "0.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz";
-        sha512 = "GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==";
+        url = "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz";
+        sha512 = "mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==";
       };
     };
-    "@jridgewell/resolve-uri-3.0.7" = {
+    "@jridgewell/resolve-uri-3.1.0" = {
       name = "_at_jridgewell_slash_resolve-uri";
       packageName = "@jridgewell/resolve-uri";
-      version = "3.0.7";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz";
-        sha512 = "8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==";
+        url = "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz";
+        sha512 = "F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==";
       };
     };
-    "@jridgewell/set-array-1.1.1" = {
+    "@jridgewell/set-array-1.1.2" = {
       name = "_at_jridgewell_slash_set-array";
       packageName = "@jridgewell/set-array";
-      version = "1.1.1";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz";
-        sha512 = "Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==";
+        url = "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz";
+        sha512 = "xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==";
       };
     };
     "@jridgewell/source-map-0.3.2" = {
@@ -4765,22 +4909,22 @@ let
         sha512 = "m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==";
       };
     };
-    "@jridgewell/sourcemap-codec-1.4.13" = {
+    "@jridgewell/sourcemap-codec-1.4.14" = {
       name = "_at_jridgewell_slash_sourcemap-codec";
       packageName = "@jridgewell/sourcemap-codec";
-      version = "1.4.13";
+      version = "1.4.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz";
-        sha512 = "GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==";
+        url = "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz";
+        sha512 = "XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==";
       };
     };
-    "@jridgewell/trace-mapping-0.3.13" = {
+    "@jridgewell/trace-mapping-0.3.14" = {
       name = "_at_jridgewell_slash_trace-mapping";
       packageName = "@jridgewell/trace-mapping";
-      version = "0.3.13";
+      version = "0.3.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz";
-        sha512 = "o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==";
+        url = "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz";
+        sha512 = "bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==";
       };
     };
     "@jridgewell/trace-mapping-0.3.9" = {
@@ -4801,22 +4945,22 @@ let
         sha512 = "4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==";
       };
     };
-    "@jsii/check-node-1.61.0" = {
+    "@jsii/check-node-1.63.2" = {
       name = "_at_jsii_slash_check-node";
       packageName = "@jsii/check-node";
-      version = "1.61.0";
+      version = "1.63.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jsii/check-node/-/check-node-1.61.0.tgz";
-        sha512 = "U6b2iNZZweV2qRvidCCZIOLFpTe6Kc8eZc9v8CbUtK2btChNYiWTkms4VUOcONIYT5uPfNlZpHZiqTr+Oqxmkg==";
+        url = "https://registry.npmjs.org/@jsii/check-node/-/check-node-1.63.2.tgz";
+        sha512 = "vTj8ZCXIUG0ciq0VX+yhWSyCNsFos9TJlQamZPSVATS23cfCav7HGyxA7bydeNML3sfN0MzFQ0OKYyjAMeFw5A==";
       };
     };
-    "@jsii/spec-1.61.0" = {
+    "@jsii/spec-1.63.2" = {
       name = "_at_jsii_slash_spec";
       packageName = "@jsii/spec";
-      version = "1.61.0";
+      version = "1.63.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jsii/spec/-/spec-1.61.0.tgz";
-        sha512 = "pv1jAZY+gez62BCiHwfdCnjl2reye88QOKsD5IlCf7XbmvyQ4xFXVV2EnFzv4HUUtr+yuBj/tZz0HjOFsEBUQw==";
+        url = "https://registry.npmjs.org/@jsii/spec/-/spec-1.63.2.tgz";
+        sha512 = "zIFZDG/qtQJWa2I7W1cUXExeshr4WSSuMNHWGkJzIn4hFtYv4eQG7cP3gF2ToqAwS2WgsX7fQ7dDrLg0Pzfc2A==";
       };
     };
     "@juggle/resize-observer-3.3.1" = {
@@ -4873,13 +5017,13 @@ let
         sha512 = "4w+P0VkbjzEXC7kv8T1GJ/9AVaP9I6uasMZ/JcdwZBS3qwvKo5A5z9uGhP5c7TvItzcmPb44b5Mw2kT+WjUuAA==";
       };
     };
-    "@ledgerhq/devices-6.27.1" = {
+    "@ledgerhq/devices-7.0.0" = {
       name = "_at_ledgerhq_slash_devices";
       packageName = "@ledgerhq/devices";
-      version = "6.27.1";
+      version = "7.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ledgerhq/devices/-/devices-6.27.1.tgz";
-        sha512 = "jX++oy89jtv7Dp2X6gwt3MMkoajel80JFWcdc0HCouwDsV1mVJ3SQdwl/bQU0zd8HI6KebvUP95QTwbQLLK/RQ==";
+        url = "https://registry.npmjs.org/@ledgerhq/devices/-/devices-7.0.0.tgz";
+        sha512 = "vq4B33WdU0dRAJIRFWZMj6w1W1yw1i4mekCmhk7N9wPaFrtGWZ2iI9WDihsNOBooCWKQe8Jsb9eD8RVThbSlFQ==";
       };
     };
     "@ledgerhq/errors-5.50.0" = {
@@ -4891,13 +5035,13 @@ let
         sha512 = "gu6aJ/BHuRlpU7kgVpy2vcYk6atjB4iauP2ymF7Gk0ez0Y/6VSMVSJvubeEQN+IV60+OBK0JgeIZG7OiHaw8ow==";
       };
     };
-    "@ledgerhq/errors-6.10.0" = {
+    "@ledgerhq/errors-6.10.1" = {
       name = "_at_ledgerhq_slash_errors";
       packageName = "@ledgerhq/errors";
-      version = "6.10.0";
+      version = "6.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ledgerhq/errors/-/errors-6.10.0.tgz";
-        sha512 = "fQFnl2VIXh9Yd41lGjReCeK+Q2hwxQJvLZfqHnKqWapTz68NHOv5QcI0OHuZVNEbv0xhgdLhi5b65kgYeQSUVg==";
+        url = "https://registry.npmjs.org/@ledgerhq/errors/-/errors-6.10.1.tgz";
+        sha512 = "92d1zRQleR1AQ4CAXgWgDtKUms+8EwShLVUcajI+BLWvgJ1Vclmq6PsBIDEQbsm+riVu/Ji3LcHdmgFgmi0VGw==";
       };
     };
     "@ledgerhq/hw-transport-5.51.1" = {
@@ -4909,31 +5053,31 @@ let
         sha512 = "6wDYdbWrw9VwHIcoDnqWBaDFyviyjZWv6H9vz9Vyhe4Qd7TIFmbTl/eWs6hZvtZBza9K8y7zD8ChHwRI4s9tSw==";
       };
     };
-    "@ledgerhq/hw-transport-6.27.1" = {
+    "@ledgerhq/hw-transport-6.27.2" = {
       name = "_at_ledgerhq_slash_hw-transport";
       packageName = "@ledgerhq/hw-transport";
-      version = "6.27.1";
+      version = "6.27.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-6.27.1.tgz";
-        sha512 = "hnE4/Fq1YzQI4PA1W0H8tCkI99R3UWDb3pJeZd6/Xs4Qw/q1uiQO+vNLC6KIPPhK0IajUfuI/P2jk0qWcMsuAQ==";
+        url = "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-6.27.2.tgz";
+        sha512 = "GF4pmK78rEKhZfbmunwQ131c+0MGa6L5IoYlwgFcg6CaFpUjjPiTCKUFsm4flsE0Z0Ltn9QuKoe+xEHULo7rGA==";
       };
     };
-    "@ledgerhq/hw-transport-node-hid-6.27.1" = {
+    "@ledgerhq/hw-transport-node-hid-6.27.2" = {
       name = "_at_ledgerhq_slash_hw-transport-node-hid";
       packageName = "@ledgerhq/hw-transport-node-hid";
-      version = "6.27.1";
+      version = "6.27.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ledgerhq/hw-transport-node-hid/-/hw-transport-node-hid-6.27.1.tgz";
-        sha512 = "H3kGFU6lDAZM7ef17nVGTCpgwPzDcbO8dwqvGoIDTopvlNgNqmzw95GT3aCosJMp04C9yYGyMPSF5UFjRX8ckg==";
+        url = "https://registry.npmjs.org/@ledgerhq/hw-transport-node-hid/-/hw-transport-node-hid-6.27.2.tgz";
+        sha512 = "N2tyGLLZqgNrWA1xc9fbdFc7c7pr3dpbsMwC6LW0ilHiGWXzC6XSPSJZARO1j0G4LQIqBq7rAuNzlr4u1p4jkw==";
       };
     };
-    "@ledgerhq/hw-transport-node-hid-noevents-6.27.1" = {
+    "@ledgerhq/hw-transport-node-hid-noevents-6.27.2" = {
       name = "_at_ledgerhq_slash_hw-transport-node-hid-noevents";
       packageName = "@ledgerhq/hw-transport-node-hid-noevents";
-      version = "6.27.1";
+      version = "6.27.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ledgerhq/hw-transport-node-hid-noevents/-/hw-transport-node-hid-noevents-6.27.1.tgz";
-        sha512 = "nsPo491bslP7QySXIB2asILxws7+t2V/0F4Hjc3IBEkHexH3iS+TmeegE5A72vDXhXKI4wskJ8Pp8Odcz9TN1A==";
+        url = "https://registry.npmjs.org/@ledgerhq/hw-transport-node-hid-noevents/-/hw-transport-node-hid-noevents-6.27.2.tgz";
+        sha512 = "/f0rAREa6CNq88y9NMTVVTHx3FHkmnbILhd4gDWcm7OC36mg7bLN9edbq8a4zNRdMvBKX+/Lg1hMgLdqEJagBw==";
       };
     };
     "@ledgerhq/hw-transport-u2f-5.36.0-deprecated" = {
@@ -4990,544 +5134,544 @@ let
         sha512 = "Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==";
       };
     };
-    "@lerna/add-5.1.4" = {
+    "@lerna/add-5.3.0" = {
       name = "_at_lerna_slash_add";
       packageName = "@lerna/add";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/add/-/add-5.1.4.tgz";
-        sha512 = "kysQaV0+6aFtT0rkbaeuP6qb0vYDwo7TiC+Og4STyXxv2mHXi3F8r6Z9xXNUn8LPi29gaCmB8DLmbEGlTBM4xg==";
+        url = "https://registry.npmjs.org/@lerna/add/-/add-5.3.0.tgz";
+        sha512 = "MxwTO2UBxZwwuquKbBqdYa56YTqg6Lfz1MZsRQxO7F2cb2NN8NEYTcGOli/71Ee/2AoX4R4xIFTh3TnaflQ25A==";
       };
     };
-    "@lerna/bootstrap-5.1.4" = {
+    "@lerna/bootstrap-5.3.0" = {
       name = "_at_lerna_slash_bootstrap";
       packageName = "@lerna/bootstrap";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-5.1.4.tgz";
-        sha512 = "uCP0WdxGCGAGkwcuhv2nLqLByq9WJ5yr+93A8T15xZJfQsXLtYjjlivIe35MjS77eR+krwl5uY6WmGPJ33+afg==";
+        url = "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-5.3.0.tgz";
+        sha512 = "iHVjt6YOQKLY0j+ex13a6ZxjIQ1TSSXqbl6z1hVjBFaDyCh7pra/tgj0LohZDVCaouLwRKucceQfTGrb+cfo7A==";
       };
     };
-    "@lerna/changed-5.1.4" = {
+    "@lerna/changed-5.3.0" = {
       name = "_at_lerna_slash_changed";
       packageName = "@lerna/changed";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/changed/-/changed-5.1.4.tgz";
-        sha512 = "XwA3+pw5keO2CyjobLN8dU7mvGbzB3FD+LtLPI/zk7UbNIbl7V6uaIkoPJIdTWwP1e6S1BnGCVsAMtwQ980gTA==";
+        url = "https://registry.npmjs.org/@lerna/changed/-/changed-5.3.0.tgz";
+        sha512 = "i6ZfBDBZCpnPaSWTuNGTrnExkHNMC+/cSUuS9njaqe+tXgqE95Ja3cMxWZth9Q1uasjcEBHPU2jG0VKrU37rpA==";
       };
     };
-    "@lerna/check-working-tree-5.1.4" = {
+    "@lerna/check-working-tree-5.3.0" = {
       name = "_at_lerna_slash_check-working-tree";
       packageName = "@lerna/check-working-tree";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-5.1.4.tgz";
-        sha512 = "yFkRmZd25viwxyyOHZd3g7k2Od2Mk0Sf15fol3h/a7P0rUMf6UaMoGo2qlyo+DS51sz+eNalMmFKLpRrDXcSSw==";
+        url = "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-5.3.0.tgz";
+        sha512 = "qo6jUGWXKLVL1nU8aEECqwrGRjs9o1l1hXdD2juA4Fvzsam1cFVHJwsmw3hAXGhEPD0oalg/XR62H9rZSCLOvQ==";
       };
     };
-    "@lerna/child-process-5.1.4" = {
+    "@lerna/child-process-5.3.0" = {
       name = "_at_lerna_slash_child-process";
       packageName = "@lerna/child-process";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/child-process/-/child-process-5.1.4.tgz";
-        sha512 = "F7xP+bEdkE3JTyKz0t33QA5v2meXZrQQ0JmHa7/AlEg6D2r7gQ8UHSHuSUiNfX4drjpePe/9XaZylj01KLcx/w==";
+        url = "https://registry.npmjs.org/@lerna/child-process/-/child-process-5.3.0.tgz";
+        sha512 = "4uXPNIptrgQQQVHVVAXBD8F7IqSvZL3Og0G0DHiWKH+dsSyMIUtaIGJt7sifVoL7nzex4AqEiPq/AubpmG5g4Q==";
       };
     };
-    "@lerna/clean-5.1.4" = {
+    "@lerna/clean-5.3.0" = {
       name = "_at_lerna_slash_clean";
       packageName = "@lerna/clean";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/clean/-/clean-5.1.4.tgz";
-        sha512 = "4Du/r8iYSYFpo1t5J1BYivmj84n9mGebt89isVsyqMmrCqd5B2ix/Z8PYPQFMwm7k9YYbV+sZGSpRvtXkn8kIw==";
+        url = "https://registry.npmjs.org/@lerna/clean/-/clean-5.3.0.tgz";
+        sha512 = "Jn+Dr7A69dch8m1dLe7l/SDVQVQT2j7zdy2gaZVEmJIgEEaXmEbfJ2t2n06vRXtckI9B85M5mubT1U3Y7KuNuA==";
       };
     };
-    "@lerna/cli-5.1.4" = {
+    "@lerna/cli-5.3.0" = {
       name = "_at_lerna_slash_cli";
       packageName = "@lerna/cli";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/cli/-/cli-5.1.4.tgz";
-        sha512 = "ckLSNJBY4iVmu6nBhHb8UchpWGm49z9pjsAEJQ4F/VNkT6zKsmOCfv2ahkvudQ77gc0K/dH+MTvoOHsH85bpow==";
+        url = "https://registry.npmjs.org/@lerna/cli/-/cli-5.3.0.tgz";
+        sha512 = "P7F3Xs98pXMEGZX+mnFfsd6gU03x8UrwQ3mElvQBICl4Ew9z6rS8NGUd3JOPFzm4/vSTjYTnPyPdWBjj6/f6sw==";
       };
     };
-    "@lerna/collect-uncommitted-5.1.4" = {
+    "@lerna/collect-uncommitted-5.3.0" = {
       name = "_at_lerna_slash_collect-uncommitted";
       packageName = "@lerna/collect-uncommitted";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-5.1.4.tgz";
-        sha512 = "CI9PXYQuewqA4ZBMRycDUSVRJmAxUeP8HEZ3aKNvAwlLxLlGCueh8qOHXZHxgkmF6eQtcEjblsReiDt8bFJZpA==";
+        url = "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-5.3.0.tgz";
+        sha512 = "Ll/mU9Nes0NQoa0pSv2TR2PTCkIomBGuDWH48OF2sKKu69NuLjrD2L0udS5nJYig9HxFewtm4QTiUdYPxfJXkQ==";
       };
     };
-    "@lerna/collect-updates-5.1.4" = {
+    "@lerna/collect-updates-5.3.0" = {
       name = "_at_lerna_slash_collect-updates";
       packageName = "@lerna/collect-updates";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-5.1.4.tgz";
-        sha512 = "P1zlaZ0QkKIjbU3o7hjd4zcxzti1ndS4+eQNmlxZP3IcmlJ4+Ne+VxGeaACsjzPPBqSBWX1xcyMFLALH/Jo2CA==";
+        url = "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-5.3.0.tgz";
+        sha512 = "fzJo/rmdXKWKYt+9IXjtenIZtSr3blMH8GEqoVKpSZ7TJGpxcFNmMe6foa60BgaTnDmmg1y7Qu6JbQJ3Ra5c5w==";
       };
     };
-    "@lerna/command-5.1.4" = {
+    "@lerna/command-5.3.0" = {
       name = "_at_lerna_slash_command";
       packageName = "@lerna/command";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/command/-/command-5.1.4.tgz";
-        sha512 = "S/3oIagN9/ntuGtljSxHu4liB9e9YFWsq/xZOR8YoqROJENv5G5zyAmHjXq90AR/tGmLvufzFliBfEIG9CywFA==";
+        url = "https://registry.npmjs.org/@lerna/command/-/command-5.3.0.tgz";
+        sha512 = "UNQQ4EGTumqLhOuDPcRA4LpdS9pcTYKSdh/8MdKPeyIRN70vCTwdeTrxqaaKsn3Jo7ycvyUQT5yfrUFmCClfoA==";
       };
     };
-    "@lerna/conventional-commits-5.1.4" = {
+    "@lerna/conventional-commits-5.3.0" = {
       name = "_at_lerna_slash_conventional-commits";
       packageName = "@lerna/conventional-commits";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-5.1.4.tgz";
-        sha512 = "0v0exYOH9cJTNpKggqAw7vHVLlPjqO6Y20PUg44F3GOEjd54VIGDqu+MkVhflqvUftzZjmcUHDUGHVP+8dFBNw==";
+        url = "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-5.3.0.tgz";
+        sha512 = "9uoQ2E1J7pL0fml5PNO7FydnBNeqrNOQa53Ca1Klf5t/x4vIn51ocOZNm/YbRAc/affnrxxp+gR2/SWlN0yKqQ==";
       };
     };
-    "@lerna/create-5.1.4" = {
+    "@lerna/create-5.3.0" = {
       name = "_at_lerna_slash_create";
       packageName = "@lerna/create";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/create/-/create-5.1.4.tgz";
-        sha512 = "UPR5EnFg0WzXiRIKl+MGHH3hBB6s1xkLDJNLGzac5Ztry/ibLDhl47wYoYcToiQ3/y3/3751WLJErF+A52mCyw==";
+        url = "https://registry.npmjs.org/@lerna/create/-/create-5.3.0.tgz";
+        sha512 = "DotTReCc3+Q9rpMA8RKAGemUK7JXT7skbxHvpqpPj7ryNkIv/dNAFC2EHglcpt9Rmyo6YbSP2zk0gfDbdiIcVA==";
       };
     };
-    "@lerna/create-symlink-5.1.4" = {
+    "@lerna/create-symlink-5.3.0" = {
       name = "_at_lerna_slash_create-symlink";
       packageName = "@lerna/create-symlink";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-5.1.4.tgz";
-        sha512 = "VTTuCgM5gXk0frAFxfVQqfX9QxXKz6TKpKsHcC39BAR3aiSUW8vqRImbLvaFtKpnEMW0HshDfuzp6rRkaiyWYw==";
+        url = "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-5.3.0.tgz";
+        sha512 = "xIoC9m4J/u4NV/8ms4P2fiimaYgialqJvNamvMDRmgE1c3BLDSGk2nE4nVI2W5LxjgJdMTiIH9v1QpTUC9Fv+Q==";
       };
     };
-    "@lerna/describe-ref-5.1.4" = {
+    "@lerna/describe-ref-5.3.0" = {
       name = "_at_lerna_slash_describe-ref";
       packageName = "@lerna/describe-ref";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-5.1.4.tgz";
-        sha512 = "ztLWLIyrHPxVhs8yfVpCDIw2st5c246KfoTqjEX8N6s8v0dLs3vfCKCM70ej6lBNkwqBXSilgHrd3AkGq3kq6Q==";
+        url = "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-5.3.0.tgz";
+        sha512 = "R+CtJcOuAF3kJ6GNQnGC3STEi+5OtpNVz2n17sAs/xqJnq79tPdzEhT+pMxB2eSEkQYlSr+cCKMpF0m/mtIPQA==";
       };
     };
-    "@lerna/diff-5.1.4" = {
+    "@lerna/diff-5.3.0" = {
       name = "_at_lerna_slash_diff";
       packageName = "@lerna/diff";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/diff/-/diff-5.1.4.tgz";
-        sha512 = "o5chvMHcKQS4zkdGX7LCaMgNn0flrG9OEiGt8DCIzRUa6aWJAlE2oZyOj+VsiUxzaZJxm2oV+GkISQYRJPlPug==";
+        url = "https://registry.npmjs.org/@lerna/diff/-/diff-5.3.0.tgz";
+        sha512 = "i6f99dtO90u1QIJEfVtKE831m4gnMHBwY+4D84GY2SJMno8uI7ZyxMRZQh1nAFtvlNozO2MgzLr1OHtNMZOIgQ==";
       };
     };
-    "@lerna/exec-5.1.4" = {
+    "@lerna/exec-5.3.0" = {
       name = "_at_lerna_slash_exec";
       packageName = "@lerna/exec";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/exec/-/exec-5.1.4.tgz";
-        sha512 = "6vn1UCxJZTTt90WlWItI05yj4xaNOShgIl5Yi9mx1Ex6nVS32mmTOqHI/+Cn4M+P0C4u1hFymd2aIEfWnmdUsA==";
+        url = "https://registry.npmjs.org/@lerna/exec/-/exec-5.3.0.tgz";
+        sha512 = "kI/IuF1hbT+pEMZc3v4+w8BLckUIi45ipzOP0bWvXNgSKKuADAU3HLv+ifRXEjob5906C+Zc7K2IVoVS6r1TDg==";
       };
     };
-    "@lerna/filter-options-5.1.4" = {
+    "@lerna/filter-options-5.3.0" = {
       name = "_at_lerna_slash_filter-options";
       packageName = "@lerna/filter-options";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-5.1.4.tgz";
-        sha512 = "a6hLVZOb7awjI9Tk5hx90BB6GZz59npBRQN0kSG6drV1H+vi+wU7ee6OZ5EMHQgnzdZ6OjZQRHlWCCTXyNdKgQ==";
+        url = "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-5.3.0.tgz";
+        sha512 = "ddgy0oDisTKIhCJ4WY5CeEhTsyrbW+zeBvZ7rVaG0oQXjSSYBried4TXRvgy67fampfHoPX+eQq5l1SYTRFPlw==";
       };
     };
-    "@lerna/filter-packages-5.1.4" = {
+    "@lerna/filter-packages-5.3.0" = {
       name = "_at_lerna_slash_filter-packages";
       packageName = "@lerna/filter-packages";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-5.1.4.tgz";
-        sha512 = "a+ThrgYyGrTfBZUMfi/WvcqX3Ce6JaMZjTYoNAmKpHYNZFRqdmgOT1fFLLF+/y62XGqCf0wo50xRYNg0hIAf3Q==";
+        url = "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-5.3.0.tgz";
+        sha512 = "5/2V50sQB2+JNwuCHP/UPm3y8PN2JWVY9CbNLtF3K5bymNsCkQh2KHEL9wlWZ4yfr/2ufpy4XFPaFUHNoUOGnQ==";
       };
     };
-    "@lerna/get-npm-exec-opts-5.1.4" = {
+    "@lerna/get-npm-exec-opts-5.3.0" = {
       name = "_at_lerna_slash_get-npm-exec-opts";
       packageName = "@lerna/get-npm-exec-opts";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-5.1.4.tgz";
-        sha512 = "A+cNgTWWQOcNGWz9wj40/NWK46v8TtTAmXuEPfzDruv6VdmXEVIuq7SCeUPj9+aRxMQXVCil0/Vyo2z6R9TDLw==";
+        url = "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-5.3.0.tgz";
+        sha512 = "cYBypDo8C7f4MvVvap2nYgtk8MXAADrYU1VdECSJ3Stbe4p2vBGt8bM9xkS2uPfQFMK3YSy3YPkSZcSjVXyoGw==";
       };
     };
-    "@lerna/get-packed-5.1.4" = {
+    "@lerna/get-packed-5.3.0" = {
       name = "_at_lerna_slash_get-packed";
       packageName = "@lerna/get-packed";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-5.1.4.tgz";
-        sha512 = "JD9U4Sp7Dpt3nUdXAo5f9SIXK2QsBaguChCZ8VTAl3eb7j0o7nrHYoh1eAa8rDT2L9+AxcUFDMi/wDdCotlJmA==";
+        url = "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-5.3.0.tgz";
+        sha512 = "kD12w7Ko5TThuOuPF2HBLyuPsHK3oyyWyzleGBqR4DqxMtbMRgimyTQnr5o58XBOwUPCFsv1EZiqeGk+3HTGEA==";
       };
     };
-    "@lerna/github-client-5.1.4" = {
+    "@lerna/github-client-5.3.0" = {
       name = "_at_lerna_slash_github-client";
       packageName = "@lerna/github-client";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/github-client/-/github-client-5.1.4.tgz";
-        sha512 = "VAaH9ycnGVsaGWM5uRKvd0oXlOERHOEOwxXLaCnR1mA7k5490B5jTlwhSWYdA4s40CF9AOdIVNgBhP+T7MlcPw==";
+        url = "https://registry.npmjs.org/@lerna/github-client/-/github-client-5.3.0.tgz";
+        sha512 = "UqAclsWDMthmbv3Z8QE1K7D/4e93ytg31mc+nEj+UdU+xJQ0L1ypl8zWAmGNs1sFkQntIiTIB4W5zgHet5mmZw==";
       };
     };
-    "@lerna/gitlab-client-5.1.4" = {
+    "@lerna/gitlab-client-5.3.0" = {
       name = "_at_lerna_slash_gitlab-client";
       packageName = "@lerna/gitlab-client";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-5.1.4.tgz";
-        sha512 = "F0Pa6Cv6TE0gbhuHR2gVVwdzstqePMZhTNcVY5So3YJrb1ppuUH/4cVXhRcEOj16QuWJ6yysxb7mj8tY4Zv0Bw==";
+        url = "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-5.3.0.tgz";
+        sha512 = "otwbiaGDgvn5MGF1ypsCO48inMpdcxuiDlbxrKD6glPUwNHiGV+PU8LLCCDKimwjjQhl88ySLpL1oTm4jnZ1Aw==";
       };
     };
-    "@lerna/global-options-5.1.4" = {
+    "@lerna/global-options-5.3.0" = {
       name = "_at_lerna_slash_global-options";
       packageName = "@lerna/global-options";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/global-options/-/global-options-5.1.4.tgz";
-        sha512 = "gs6y97tomIuyYdDr9uKQ5B5AR9m6wVft6lrxWlGlLo0prz39tx7fJ9wT2IpJ9iALCadkQW6g7XFtddwfm5VRhg==";
+        url = "https://registry.npmjs.org/@lerna/global-options/-/global-options-5.3.0.tgz";
+        sha512 = "iEoFrDSU+KtfcB+lHW5grjg3VkEqzZNTUnWnE1FCBBwj9tSLOHjgKGtWWjIQtBUJ+qcLBbusap9Stqzr7UPYpQ==";
       };
     };
-    "@lerna/has-npm-version-5.1.4" = {
+    "@lerna/has-npm-version-5.3.0" = {
       name = "_at_lerna_slash_has-npm-version";
       packageName = "@lerna/has-npm-version";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-5.1.4.tgz";
-        sha512 = "U81b1nvqwF8PGyHib8/AWeGbaNipGdqXZsRO5g3ob9A5X57GXJ86cQVLejLi+znY4SmQcHladC4TotJkpNF1Ag==";
+        url = "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-5.3.0.tgz";
+        sha512 = "A/bK8e+QP/VMqZkq1wZbyOzMz/AY92tAVsBOQ5Yw2zqshdMVj99st3YHLOqJf/HTEzQo27GGI/ajmcltHS2l6A==";
       };
     };
-    "@lerna/import-5.1.4" = {
+    "@lerna/import-5.3.0" = {
       name = "_at_lerna_slash_import";
       packageName = "@lerna/import";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/import/-/import-5.1.4.tgz";
-        sha512 = "Kswe1NKJDUDlO/gbkFcurzaYlaj/fXlapHTaih9LmQDiVPOE9GphD5qnABCV0c4CqeSnCzRujT5BUjjL5z7viA==";
+        url = "https://registry.npmjs.org/@lerna/import/-/import-5.3.0.tgz";
+        sha512 = "KjVT9oFNSp1JLdrS1LSXjDcLiu2TMSfy6tpmhF9Zxo7oKB21SgWmXVV9rcWDueW2RIxNXDeVUG0NVNj2BRGeEQ==";
       };
     };
-    "@lerna/info-5.1.4" = {
+    "@lerna/info-5.3.0" = {
       name = "_at_lerna_slash_info";
       packageName = "@lerna/info";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/info/-/info-5.1.4.tgz";
-        sha512 = "9OMdNtmDMKLwfX+aZk9nHLfksYXuU7IcIiVJ9dR7gYx1PoKjXvTpd/+hd7t/tmElM21kmPVxQBu02L3KmXw+hQ==";
+        url = "https://registry.npmjs.org/@lerna/info/-/info-5.3.0.tgz";
+        sha512 = "pyeZSM/PIpBHCXdHPrbh6sPZlngXUxhTVFb0VaIjQ5Ms585xi15s1UQDO3FvzqdyMyalx0QGzCJbNx5XeoCejg==";
       };
     };
-    "@lerna/init-5.1.4" = {
+    "@lerna/init-5.3.0" = {
       name = "_at_lerna_slash_init";
       packageName = "@lerna/init";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/init/-/init-5.1.4.tgz";
-        sha512 = "OdI5iWYT1JcB6f5mjmCjgpkOrpDdSSDzmSi34kp/NP1FkbskDoMffVBTQiV8/h6zAg3jk1+aLQYLMuR5E6nIwA==";
+        url = "https://registry.npmjs.org/@lerna/init/-/init-5.3.0.tgz";
+        sha512 = "y46lzEtgMdEseTJGQQqYZOjqqd7iN+e14vFh/9q5h62V4Y8nlUJRzovVo8JSeaGwKLB0B3dq3BuUn0PNywMhpA==";
       };
     };
-    "@lerna/link-5.1.4" = {
+    "@lerna/link-5.3.0" = {
       name = "_at_lerna_slash_link";
       packageName = "@lerna/link";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/link/-/link-5.1.4.tgz";
-        sha512 = "j73MW+vam6e8XdwyQGeHR9X7TUmgvLG0wV1vDLjSyrhk/Q5oFo0RTRgfDJqR4tCtRnv0vujvw5oDXfSbBmg67g==";
+        url = "https://registry.npmjs.org/@lerna/link/-/link-5.3.0.tgz";
+        sha512 = "+QBwnGg3S8Zk8M8G5CA4kmGq92rkEMbmWJXaxie3jQayp+GXgSlLs6R4jwSOZlztY6xR3WawMI9sHJ0Vdu+g7w==";
       };
     };
-    "@lerna/list-5.1.4" = {
+    "@lerna/list-5.3.0" = {
       name = "_at_lerna_slash_list";
       packageName = "@lerna/list";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/list/-/list-5.1.4.tgz";
-        sha512 = "D7FAUik18s5FtHnBoPzodR8LUvH5b0a/ziV8ICaKWZ98H4w9qpNsQtBe0O+7DwUuqLKYpycst5tY5WVGnNwuNA==";
+        url = "https://registry.npmjs.org/@lerna/list/-/list-5.3.0.tgz";
+        sha512 = "5RJvle3m4l2H0UmKNlwS8h2OIlNGsNTKPC4DYrJYt0+fhgzf5SEV1QKw+fuUqe3F8MziIkSGQB52HsjwPE6AWQ==";
       };
     };
-    "@lerna/listable-5.1.4" = {
+    "@lerna/listable-5.3.0" = {
       name = "_at_lerna_slash_listable";
       packageName = "@lerna/listable";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/listable/-/listable-5.1.4.tgz";
-        sha512 = "grGLrffBNX38l5mzZgkv4xE9UcAAKBi1s+LgloI3rusgTdE/B8gvCOYMqLf9V08iojs7Ke2xPf0whJmbEeK/qA==";
+        url = "https://registry.npmjs.org/@lerna/listable/-/listable-5.3.0.tgz";
+        sha512 = "RdmeV9mDeuBOgVOlF/KNH/qttyiYwHbeqHiMAw9s9AfMo/Fz3iDZaTGZuruMm84TZSkKxI7m5mjTlC0djsyKog==";
       };
     };
-    "@lerna/log-packed-5.1.4" = {
+    "@lerna/log-packed-5.3.0" = {
       name = "_at_lerna_slash_log-packed";
       packageName = "@lerna/log-packed";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-5.1.4.tgz";
-        sha512 = "qJlWMVjc/uM1I7AWqrOPeBLVZy9YExi/QqUyvmkb8mmsPXnW7rxIJQdYgRifS5aFNTbX/MtG8Q65Rr4syiVnSA==";
+        url = "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-5.3.0.tgz";
+        sha512 = "tDuOot3vSOUSP7fNNej8UM0fah5oy8mKXe026grt4J0OP4L3rhSWxhfrDBQ3Ylh2dAjgHzscUf/vpnNC9HnhOQ==";
       };
     };
-    "@lerna/npm-conf-5.1.4" = {
+    "@lerna/npm-conf-5.3.0" = {
       name = "_at_lerna_slash_npm-conf";
       packageName = "@lerna/npm-conf";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-5.1.4.tgz";
-        sha512 = "kNbw2jO0HD9P4+nS8RIFub549BiQYG/sdFUuNWu7cCjErB+g/5ayfE6Mn5HyiRPMYXVw73iR8IzvkCCDWEOB7Q==";
+        url = "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-5.3.0.tgz";
+        sha512 = "ejlypb90tvIsKUCb0fcOKt7wcPEjLdVK2zfbNs0M+UlRDLyRVOHUVdelJ15cRDNjQHzhBo2HBUKn5Fmm/2pcmg==";
       };
     };
-    "@lerna/npm-dist-tag-5.1.4" = {
+    "@lerna/npm-dist-tag-5.3.0" = {
       name = "_at_lerna_slash_npm-dist-tag";
       packageName = "@lerna/npm-dist-tag";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-5.1.4.tgz";
-        sha512 = "9q5N3iy8KGFBsyRBmNEftj8ACeCXNh2JUBqk/wYGiB0WH0oVf0UY/uo6VUy8dZjyJ9Q0eZa1ONtFHIg3QrzGDA==";
+        url = "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-5.3.0.tgz";
+        sha512 = "OPahPk9QLXQXFgtrWm22NNxajVYKavCyTh8ijMwXTGXXbMJAw+PVjokfrUuEtg7FQi+kfJSrYAcJAxxfQq2eiA==";
       };
     };
-    "@lerna/npm-install-5.1.4" = {
+    "@lerna/npm-install-5.3.0" = {
       name = "_at_lerna_slash_npm-install";
       packageName = "@lerna/npm-install";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-5.1.4.tgz";
-        sha512 = "DbbUK2Zy7ZBpkHimlFKf7XbGzBsoPfqzf0i9hIYBHmND9YWSgIgVFJcyRH7E6UKpr4wRChW4h6xEV81jKykB7w==";
+        url = "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-5.3.0.tgz";
+        sha512 = "scbWo8nW+P9KfitWG3y7Ep97dOs64ECfz9xfqtjagEXKYBPxG3skvwwljkfNnuxrCNs71JVD+imvcewHzih28g==";
       };
     };
-    "@lerna/npm-publish-5.1.4" = {
+    "@lerna/npm-publish-5.3.0" = {
       name = "_at_lerna_slash_npm-publish";
       packageName = "@lerna/npm-publish";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-5.1.4.tgz";
-        sha512 = "MXtd2cFN+oJMxj9m1fXYAo+KE2BzO84Ukt3uAhQb1cXU01ZCwqGl/lQRWw5vI88emrKs0akx3d6E77PFpX9rpw==";
+        url = "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-5.3.0.tgz";
+        sha512 = "n+ocN1Dxrs6AmrSNqZl57cwhP4/VjQXdEI+QYauNnErNjMQW8Wt+tNaTlVAhZ1DnorwAo86o2uzFF/BgdUqh9A==";
       };
     };
-    "@lerna/npm-run-script-5.1.4" = {
+    "@lerna/npm-run-script-5.3.0" = {
       name = "_at_lerna_slash_npm-run-script";
       packageName = "@lerna/npm-run-script";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-5.1.4.tgz";
-        sha512 = "vw2G69lFmFzdX553GidE66QgCZ3cGyxoOvnpCdvZ1n9AS5ZwZSiL8Ms6N3Vj+AOhESFZmFZkzIVhtpX5/xNzLg==";
+        url = "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-5.3.0.tgz";
+        sha512 = "2cLR1YdzeMjaMKgDuwHE+iZgVPt+Ttzb3/wFtp7Mw9TlKmNIdbHdrnfl12ABz5knPC+62CCNjB/gznfLndPp2w==";
       };
     };
-    "@lerna/otplease-5.1.4" = {
+    "@lerna/otplease-5.3.0" = {
       name = "_at_lerna_slash_otplease";
       packageName = "@lerna/otplease";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/otplease/-/otplease-5.1.4.tgz";
-        sha512 = "t3qKC55D7rCacNTsqQwn25XxDRQXgRHYWS0gqn2ch+dTwXOI61Uto9okVhgn2ZfZVydJ3sjnktOsPeSXhQRQew==";
+        url = "https://registry.npmjs.org/@lerna/otplease/-/otplease-5.3.0.tgz";
+        sha512 = "Xpju2VC5TiycmBP/mdp9hRstkH2MLm8/7o2NotVTCJwASWdKphRMqezhh5BX0E9i6VyrjzmTqSYEh9FNZZ9MwQ==";
       };
     };
-    "@lerna/output-5.1.4" = {
+    "@lerna/output-5.3.0" = {
       name = "_at_lerna_slash_output";
       packageName = "@lerna/output";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/output/-/output-5.1.4.tgz";
-        sha512 = "E9nLEcV5GJbTKJd/d+cvU54CIzQqoU2rJAeXeyHTufbjgCTPk4I8uDNHmG7uJ+aPrif6PPBt1IIw+w5UnStfdw==";
+        url = "https://registry.npmjs.org/@lerna/output/-/output-5.3.0.tgz";
+        sha512 = "fISmHDu/9PKInFmT5NXsbh8cR6aE6SUXWrteXJ6PBYK30s0f/pVcfswb9VccX0Yea8HmqMQgCHWUWifkZeXiRA==";
       };
     };
-    "@lerna/pack-directory-5.1.4" = {
+    "@lerna/pack-directory-5.3.0" = {
       name = "_at_lerna_slash_pack-directory";
       packageName = "@lerna/pack-directory";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-5.1.4.tgz";
-        sha512 = "TsltQrbwC/bPwQbL5i7WCMNM4Chl8+iqzawRZbILfjYpt3UK9xSV2tWfc9QtbmRBETvcFz/UMKQQDz+LMWN9jw==";
+        url = "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-5.3.0.tgz";
+        sha512 = "dTGMUB6/GjExhmLZ8yeFaRKJuSm6M/IsfxSJdL4gFPLigUIAS4XhzXS3KnL0+Ef1ue1yaTlAE9c/czfkE0pc/w==";
       };
     };
-    "@lerna/package-5.1.4" = {
+    "@lerna/package-5.3.0" = {
       name = "_at_lerna_slash_package";
       packageName = "@lerna/package";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/package/-/package-5.1.4.tgz";
-        sha512 = "L0zsxslJZ+swkG/KLU3TQHmWPR0hf0eLIdOROyA9Nxvuo8C/702ddYZcuEYcz9t/jOuSgSB2s90iK2oTIncNbw==";
+        url = "https://registry.npmjs.org/@lerna/package/-/package-5.3.0.tgz";
+        sha512 = "hsB03miiaNdvZ/UGzl0sVqxVat5x33EG9JiYgIoFqzroQPrG+WShmX3ctuO06TY1pxb4iNuHLPIbQomHEzzj8w==";
       };
     };
-    "@lerna/package-graph-5.1.4" = {
+    "@lerna/package-graph-5.3.0" = {
       name = "_at_lerna_slash_package-graph";
       packageName = "@lerna/package-graph";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-5.1.4.tgz";
-        sha512 = "dP1gLcrqou5/8zef7u5ne4GTslNXULjpi3dDiljohKNR4XelsC4lkkF9m1Uzn9E1nAphHRhWXrRq40kqxmdYXg==";
+        url = "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-5.3.0.tgz";
+        sha512 = "UEHY7l/yknwFvQgo0RifyY+B5QdzuFutLZYSN1BMmyWttOZD9rkM263qnLNGTZ2BUE4dXDwwwOHuhLvi+xDRsA==";
       };
     };
-    "@lerna/prerelease-id-from-version-5.1.4" = {
+    "@lerna/prerelease-id-from-version-5.3.0" = {
       name = "_at_lerna_slash_prerelease-id-from-version";
       packageName = "@lerna/prerelease-id-from-version";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-5.1.4.tgz";
-        sha512 = "kDcXKKFD6Ww/FinLEvsY1P3aIiuVLyonkttvfKJTJvm3ymz7/fBKz8GotFXuONVC1xSIK9Nrk3jGYs6ZGoha+w==";
+        url = "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-5.3.0.tgz";
+        sha512 = "o1wsLns6hFTsmk4iqTRJNWLnFzlBBwgu17hp8T2iU4U7LUlDT2ZSKV3smGAU6GfrwX3MAp4LZ5syxgjFjrUOnw==";
       };
     };
-    "@lerna/profiler-5.1.4" = {
+    "@lerna/profiler-5.3.0" = {
       name = "_at_lerna_slash_profiler";
       packageName = "@lerna/profiler";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/profiler/-/profiler-5.1.4.tgz";
-        sha512 = "JLkS90+CSmi85v3SlJc5Wjk73MHmIviqtL3fM/Z6clBLbsRPkbBBfSwXKp7O281knF6E2UNTrWOtEG7b6wG3TQ==";
+        url = "https://registry.npmjs.org/@lerna/profiler/-/profiler-5.3.0.tgz";
+        sha512 = "LEZYca29EPgZR0q5E+7CJkn25Cw3OxNMQJU/CVn/HGeoWYWOpoDxujrZBl8is2bw06LHXvRbVXEUATLc+ACbqQ==";
       };
     };
-    "@lerna/project-5.1.4" = {
+    "@lerna/project-5.3.0" = {
       name = "_at_lerna_slash_project";
       packageName = "@lerna/project";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/project/-/project-5.1.4.tgz";
-        sha512 = "k0z3w45t746uAUkN+jY/jF+/BqHodGFYaUfM0DTDOGUWC8tXzxuqk3bchShp6Wct2gwNQWbtWHl50Jhhw5PC5g==";
+        url = "https://registry.npmjs.org/@lerna/project/-/project-5.3.0.tgz";
+        sha512 = "InhIo9uwT1yod72ai5SKseJSUk8KkqG6COmwp1/45vibbawb7ZLbokpns7n46A0NdGNlmwJolamybYOuyumejw==";
       };
     };
-    "@lerna/prompt-5.1.4" = {
+    "@lerna/prompt-5.3.0" = {
       name = "_at_lerna_slash_prompt";
       packageName = "@lerna/prompt";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/prompt/-/prompt-5.1.4.tgz";
-        sha512 = "AiE8NIzh+x2+F0t96M+rfwLtKzBNXjQEWXtBfEcA1eRqanMWUr6ejfmdkoEzXVrMzyY/ugPdWQYbGCI00iF7Tg==";
+        url = "https://registry.npmjs.org/@lerna/prompt/-/prompt-5.3.0.tgz";
+        sha512 = "4bIusBdjpw665CJtFsVsaB55hLHnmKnrcOaRjna6N/MdJDl8Th6X4EM4rrfXTX/uUNR3XcV91lYqcLuLmrpm5w==";
       };
     };
-    "@lerna/publish-5.1.4" = {
+    "@lerna/publish-5.3.0" = {
       name = "_at_lerna_slash_publish";
       packageName = "@lerna/publish";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/publish/-/publish-5.1.4.tgz";
-        sha512 = "hbFAwOlyUR4AUBd7qTQXXVKgaxTS4Mz4Kkjxz8g7jtqo+T0KvU3JbfwDqxOiCwcDk+qkrBbkwbvc27jcObSwkw==";
+        url = "https://registry.npmjs.org/@lerna/publish/-/publish-5.3.0.tgz";
+        sha512 = "T8T1BQdI+NnlVARKwIXzILknEuiQlZToBsDpuX06M7+45t/pp9Z+u6pVt3rrqwiUPZ/dpoZzYKI31YdNJtGMcQ==";
       };
     };
-    "@lerna/pulse-till-done-5.1.4" = {
+    "@lerna/pulse-till-done-5.3.0" = {
       name = "_at_lerna_slash_pulse-till-done";
       packageName = "@lerna/pulse-till-done";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-5.1.4.tgz";
-        sha512 = "zFPzv6cY0OcqtcR91ueZqd+ulTLE4vPk9l6iPAfefgqh6w0E6hSmG6J9RmYE3gaMHSFJdvYHb/yyTPLF32J9lg==";
+        url = "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-5.3.0.tgz";
+        sha512 = "yNvSuPLT1ZTtD2LMVOmiDhw4+9qkyf6xCpfxiUp4cGEN+qIuazWB5JicKLE49o27DBdaG8Ao4lAlb16x/gNrwQ==";
       };
     };
-    "@lerna/query-graph-5.1.4" = {
+    "@lerna/query-graph-5.3.0" = {
       name = "_at_lerna_slash_query-graph";
       packageName = "@lerna/query-graph";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-5.1.4.tgz";
-        sha512 = "G8DYNqp5ISbbMjEJhGst1GHk59zO18IG9oaVSK14M7iF3qCLtg0iJ1Do4LDNpda3EF8PrLOx2mrNM5MBcGMjEg==";
+        url = "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-5.3.0.tgz";
+        sha512 = "t99lNj97/Vilp5Js1Be7MoyaZ5U0fbOFh0E7lnTfSLvZhTkPMK6xLvAx2M3NQqhwYCQjTFDuf9ozQ3HQtYZAmA==";
       };
     };
-    "@lerna/resolve-symlink-5.1.4" = {
+    "@lerna/resolve-symlink-5.3.0" = {
       name = "_at_lerna_slash_resolve-symlink";
       packageName = "@lerna/resolve-symlink";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-5.1.4.tgz";
-        sha512 = "hpnaX5tznAtbQXlyc92kJiywdTnnbCf6wihSZwDiVnVgXuHJ3LvmjN677h9A0jobY6KdTT+wIoAHpJuZHj60vQ==";
+        url = "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-5.3.0.tgz";
+        sha512 = "zKI7rV5FzzlMBfi6kjDS0ulzcdDTORvdOJ/+CHU5C2h+v+P64Nk2VhZZNCCBDoO/l4GRhgehZOB70GIamO1TSw==";
       };
     };
-    "@lerna/rimraf-dir-5.1.4" = {
+    "@lerna/rimraf-dir-5.3.0" = {
       name = "_at_lerna_slash_rimraf-dir";
       packageName = "@lerna/rimraf-dir";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-5.1.4.tgz";
-        sha512 = "WvHm4gE1/HWbI4gCjJw3clPT+FRq2Ob9I9EDbfw4c307MNT4kW4bJU2mt0nyv/uwYhUkTG+GQVrlt+Dtcif77g==";
+        url = "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-5.3.0.tgz";
+        sha512 = "/QJebh0tSY3LjgEyOo+6NH/b7ZNw9IpjqiDtvnLixjtdfkgli1OKOoZTa4KrO0mJoqMRq4yAa98cjpIzyKqCqw==";
       };
     };
-    "@lerna/run-5.1.4" = {
+    "@lerna/run-5.3.0" = {
       name = "_at_lerna_slash_run";
       packageName = "@lerna/run";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/run/-/run-5.1.4.tgz";
-        sha512 = "iaTioOF66z02Y9ml/Ba0ePpXOwZ+BkODcNXrJbyW8WhraL0fSjyno0FspO1Eu0nG4JMtgCsoEzHNphsk7Wg+7A==";
+        url = "https://registry.npmjs.org/@lerna/run/-/run-5.3.0.tgz";
+        sha512 = "KwoKTj1w71OmUHONNYhZME+tr5lk9Q4f+3LUr2WtWZRuOAGO5ZCRrcZc+N4Ib7zno89Ub6Ovz51fcjwltLh72w==";
       };
     };
-    "@lerna/run-lifecycle-5.1.4" = {
+    "@lerna/run-lifecycle-5.3.0" = {
       name = "_at_lerna_slash_run-lifecycle";
       packageName = "@lerna/run-lifecycle";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-5.1.4.tgz";
-        sha512 = "ubmqi1ixebBHSTYS0oK8MoqBoJE7UDrXWTWsv84UrXiPutTffLR8ZQJKlMEcetQVzX9qbjpKbzc+jQWXPWid2A==";
+        url = "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-5.3.0.tgz";
+        sha512 = "EuBCGwm2PLgkebfyqo3yNkwfSb1EzHeo3lA8t4yld6LXWkgUPBFhc7RwRc6TsQOpjpfFvDSGoI282R01o0jPVQ==";
       };
     };
-    "@lerna/run-topologically-5.1.4" = {
+    "@lerna/run-topologically-5.3.0" = {
       name = "_at_lerna_slash_run-topologically";
       packageName = "@lerna/run-topologically";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-5.1.4.tgz";
-        sha512 = "MckWfLu/xuRtaThdUgrJC2naumv2LOIiMoJfxCdYpiCrIgq5YrwqOxjQ0awHqQhkvFZ5G91ucBcBEIMsOou1iw==";
+        url = "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-5.3.0.tgz";
+        sha512 = "WiFF2EiwLjAguKs0lEmcukTL7WhuWFwxNprrGWFxEkBhlGdMFk18n8BaZN8FO26xqzztzuPzSx1re/f/dEEAPg==";
       };
     };
-    "@lerna/symlink-binary-5.1.4" = {
+    "@lerna/symlink-binary-5.3.0" = {
       name = "_at_lerna_slash_symlink-binary";
       packageName = "@lerna/symlink-binary";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-5.1.4.tgz";
-        sha512 = "SNjHxCNTCD0Xfj3CNBTG+3ut4aDAVaq+SrB2ckFNmZ5Z9yFdnX6aP+PBzLD/0q5hj18lGlaJ8iZjD/ubbrgFCA==";
+        url = "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-5.3.0.tgz";
+        sha512 = "dIATASuGS6y512AGjacOoTpkFDPsKlhggjzL3KLdSNmxV3288nUqaFBuA7rTnnMNnBQ7jVuE1JKJupZnzPN0cA==";
       };
     };
-    "@lerna/symlink-dependencies-5.1.4" = {
+    "@lerna/symlink-dependencies-5.3.0" = {
       name = "_at_lerna_slash_symlink-dependencies";
       packageName = "@lerna/symlink-dependencies";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-5.1.4.tgz";
-        sha512 = "SuzylyNs1R5bVRqSCwfbQLdDP83RX8ncQxOy2SSSrScwkzdBCDqDPh4haeADsq2+RoOQBItn1PDfzUCNAWomDA==";
+        url = "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-5.3.0.tgz";
+        sha512 = "qkq4YT/Bdrb3W22ve+d2Gy3hRTrtT/zBhjKTCukEpYsFJLwSjZ4z5vbv6J15/j6PN1Km9oTRp6vBYmdjAuARQQ==";
       };
     };
-    "@lerna/temp-write-5.1.4" = {
+    "@lerna/temp-write-5.3.0" = {
       name = "_at_lerna_slash_temp-write";
       packageName = "@lerna/temp-write";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/temp-write/-/temp-write-5.1.4.tgz";
-        sha512 = "f+6+ud87pyitM9zAq7GBhB7uoHTcgLJvR3YGv5sNja4jIl3+zdKPDcyxzVyQb38knuRSkGM8NjYOWi4zwcMaGw==";
+        url = "https://registry.npmjs.org/@lerna/temp-write/-/temp-write-5.3.0.tgz";
+        sha512 = "AhC5Q+tV0yebEc1P2jsB4apQzztW8dgdLLc1G1Pkt46l5vezRGhZmsj+iUyCsVjpdUSO/UcAq1DbI2Xzhf5arg==";
       };
     };
-    "@lerna/timer-5.1.4" = {
+    "@lerna/timer-5.3.0" = {
       name = "_at_lerna_slash_timer";
       packageName = "@lerna/timer";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/timer/-/timer-5.1.4.tgz";
-        sha512 = "fhQtqkLxNexPWzhI1WAxZnHIBM8VhChvUJu503u1Rmp2JxhXbTE4Txnu1gPvqlDjdoE6ck0vN5icmfMVRwKc8g==";
+        url = "https://registry.npmjs.org/@lerna/timer/-/timer-5.3.0.tgz";
+        sha512 = "IeDjj1gJtbUPKl2ebpiml9u4k2kRqYF1Dbs6JuWpeC7lGxAx3JcUmkNH2RQ1BYTxk5xc9FKlgNMrZQwhq2K1Ow==";
       };
     };
-    "@lerna/validation-error-5.1.4" = {
+    "@lerna/validation-error-5.3.0" = {
       name = "_at_lerna_slash_validation-error";
       packageName = "@lerna/validation-error";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-5.1.4.tgz";
-        sha512 = "wys9Fv/bUy7sYXOK9t+V3XSyEHK5tUXwY22nfIDYu416WcSkkE4DI8Q2nTv4nYYOmG2Y7IOhaSenbsPLQ0VqtQ==";
+        url = "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-5.3.0.tgz";
+        sha512 = "GVvnTxx+CNFjXCiJahAu2c/pP2R3DhGuQp4CJUyKegnzGaWK0h5PhlwRL7/LbDMPLh2zLobPOVr9kTOjwv76Nw==";
       };
     };
-    "@lerna/version-5.1.4" = {
+    "@lerna/version-5.3.0" = {
       name = "_at_lerna_slash_version";
       packageName = "@lerna/version";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/version/-/version-5.1.4.tgz";
-        sha512 = "cYgm1SNdiK129JoWI8WMwjsxaIyeAC1gCaToWk36Tw+BCF3PbkdoTKdneDmJ+7qbX1QrzxsgHTcjwIt4lZPEqQ==";
+        url = "https://registry.npmjs.org/@lerna/version/-/version-5.3.0.tgz";
+        sha512 = "QOQSAdpeP66oQQ20nNZ4NhJS5NtZZDGyz36kP/4BeqjGK6QgtrEmto4+vmWj49w3VJUIXnrqAKHiPkhFUmJm5Q==";
       };
     };
-    "@lerna/write-log-file-5.1.4" = {
+    "@lerna/write-log-file-5.3.0" = {
       name = "_at_lerna_slash_write-log-file";
       packageName = "@lerna/write-log-file";
-      version = "5.1.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-5.1.4.tgz";
-        sha512 = "ISJbkjaSKhJ4d7V90RFvuwDQFq9ZH/KN475KFJr+TBFZTwMiXuBahlq+j8/a+nItejNnuPD4/xlWuzCOuGJORQ==";
+        url = "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-5.3.0.tgz";
+        sha512 = "cmrNAI5+9auUJSuTVrUzt2nb/KX6htgjdw7gGPMI1Tm6cdBIbs67R6LedZ8yvYOLGsXB2Se93vxv5fTgEHWfCw==";
       };
     };
     "@lezer/common-0.15.12" = {
@@ -5575,6 +5719,15 @@ let
         sha512 = "+F8ioQIUN68B4UFiIBYu0QQvgb9FmlKw2ctQMSBfW2QBrZIxz9vD9jCGqTCPqZBRbPHAS/vG1zSXnKqnS2ch/A==";
       };
     };
+    "@lmdb/lmdb-darwin-arm64-2.5.3" = {
+      name = "_at_lmdb_slash_lmdb-darwin-arm64";
+      packageName = "@lmdb/lmdb-darwin-arm64";
+      version = "2.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.5.3.tgz";
+        sha512 = "RXwGZ/0eCqtCY8FLTM/koR60w+MXyvBUpToXiIyjOcBnC81tAlTUHrRUavCEWPI9zc9VgvpK3+cbumPyR8BSuA==";
+      };
+    };
     "@lmdb/lmdb-darwin-x64-2.5.2" = {
       name = "_at_lmdb_slash_lmdb-darwin-x64";
       packageName = "@lmdb/lmdb-darwin-x64";
@@ -5584,6 +5737,15 @@ let
         sha512 = "KvPH56KRLLx4KSfKBx0m1r7GGGUMXm0jrKmNE7plbHlesZMuPJICtn07HYgQhj1LNsK7Yqwuvnqh1QxhJnF1EA==";
       };
     };
+    "@lmdb/lmdb-darwin-x64-2.5.3" = {
+      name = "_at_lmdb_slash_lmdb-darwin-x64";
+      packageName = "@lmdb/lmdb-darwin-x64";
+      version = "2.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-2.5.3.tgz";
+        sha512 = "337dNzh5yCdNCTk8kPfoU7jR3otibSlPDGW0vKZT97rKnQMb9tNdto3RtWoGPsQ8hKmlRZpojOJtmwjncq1MoA==";
+      };
+    };
     "@lmdb/lmdb-linux-arm-2.5.2" = {
       name = "_at_lmdb_slash_lmdb-linux-arm";
       packageName = "@lmdb/lmdb-linux-arm";
@@ -5593,6 +5755,15 @@ let
         sha512 = "5kQAP21hAkfW5Bl+e0P57dV4dGYnkNIpR7f/GAh6QHlgXx+vp/teVj4PGRZaKAvt0GX6++N6hF8NnGElLDuIDw==";
       };
     };
+    "@lmdb/lmdb-linux-arm-2.5.3" = {
+      name = "_at_lmdb_slash_lmdb-linux-arm";
+      packageName = "@lmdb/lmdb-linux-arm";
+      version = "2.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-2.5.3.tgz";
+        sha512 = "mU2HFJDGwECkoD9dHQEfeTG5mp8hNS2BCfwoiOpVPMeapjYpQz9Uw3FkUjRZ4dGHWKbin40oWHuL0bk2bCx+Sg==";
+      };
+    };
     "@lmdb/lmdb-linux-arm64-2.5.2" = {
       name = "_at_lmdb_slash_lmdb-linux-arm64";
       packageName = "@lmdb/lmdb-linux-arm64";
@@ -5602,6 +5773,15 @@ let
         sha512 = "aLl89VHL/wjhievEOlPocoefUyWdvzVrcQ/MHQYZm2JfV1jUsrbr/ZfkPPUFvZBf+VSE+Q0clWs9l29PCX1hTQ==";
       };
     };
+    "@lmdb/lmdb-linux-arm64-2.5.3" = {
+      name = "_at_lmdb_slash_lmdb-linux-arm64";
+      packageName = "@lmdb/lmdb-linux-arm64";
+      version = "2.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-2.5.3.tgz";
+        sha512 = "VJw60Mdgb4n+L0fO1PqfB0C7TyEQolJAC8qpqvG3JoQwvyOv6LH7Ib/WE3wxEW9nuHmVz9jkK7lk5HfWWgoO1Q==";
+      };
+    };
     "@lmdb/lmdb-linux-x64-2.5.2" = {
       name = "_at_lmdb_slash_lmdb-linux-x64";
       packageName = "@lmdb/lmdb-linux-x64";
@@ -5611,6 +5791,15 @@ let
         sha512 = "xUdUfwDJLGjOUPH3BuPBt0NlIrR7f/QHKgu3GZIXswMMIihAekj2i97oI0iWG5Bok/b+OBjHPfa8IU9velnP/Q==";
       };
     };
+    "@lmdb/lmdb-linux-x64-2.5.3" = {
+      name = "_at_lmdb_slash_lmdb-linux-x64";
+      packageName = "@lmdb/lmdb-linux-x64";
+      version = "2.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-2.5.3.tgz";
+        sha512 = "qaReO5aV8griBDsBr8uBF/faO3ieGjY1RY4p8JvTL6Mu1ylLrTVvOONqKFlNaCwrmUjWw5jnf7VafxDAeQHTow==";
+      };
+    };
     "@lmdb/lmdb-win32-x64-2.5.2" = {
       name = "_at_lmdb_slash_lmdb-win32-x64";
       packageName = "@lmdb/lmdb-win32-x64";
@@ -5620,6 +5809,15 @@ let
         sha512 = "zrBczSbXKxEyK2ijtbRdICDygRqWSRPpZMN5dD1T8VMEW5RIhIbwFWw2phDRXuBQdVDpSjalCIUMWMV2h3JaZA==";
       };
     };
+    "@lmdb/lmdb-win32-x64-2.5.3" = {
+      name = "_at_lmdb_slash_lmdb-win32-x64";
+      packageName = "@lmdb/lmdb-win32-x64";
+      version = "2.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-2.5.3.tgz";
+        sha512 = "cK+Elf3RjEzrm3SerAhrFWL5oQAsZSJ/LmjL1joIpTfEP1etJJ9CTRvdaV6XLYAxaEkfdhk/9hOvHLbR9yIhCA==";
+      };
+    };
     "@malept/cross-spawn-promise-1.1.1" = {
       name = "_at_malept_slash_cross-spawn-promise";
       packageName = "@malept/cross-spawn-promise";
@@ -5791,13 +5989,13 @@ let
         sha512 = "ES5rj6J39FUkHe/b3C9SJs8bqIungYhuU7rBINTBaHOv/Ce4RCb3Gw08CZVl32W33UEkgRkzyWaIedV4at+QHg==";
       };
     };
-    "@mdn/browser-compat-data-5.1.1" = {
+    "@mdn/browser-compat-data-5.1.2" = {
       name = "_at_mdn_slash_browser-compat-data";
       packageName = "@mdn/browser-compat-data";
-      version = "5.1.1";
+      version = "5.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-5.1.1.tgz";
-        sha512 = "odIvtuAoXePQL4UcPrhy3MSXMvz2vefTe5uQQoLzKHQ6+f6vAhVlZEbs92d6cz8oSjylF+KL3Z/G2eLCMFl7qw==";
+        url = "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-5.1.2.tgz";
+        sha512 = "X7lnoos6vF+llTjMDhP8HQJy2nL4RNf1LRejfNKOJLKrZ55A4p2z1WdhPY/NCieqiLH6gwlzDSVpmPYSPLd+bg==";
       };
     };
     "@medable/mdctl-api-1.0.66" = {
@@ -5962,13 +6160,13 @@ let
         sha512 = "W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA==";
       };
     };
-    "@microsoft/load-themed-styles-1.10.270" = {
+    "@microsoft/load-themed-styles-1.10.285" = {
       name = "_at_microsoft_slash_load-themed-styles";
       packageName = "@microsoft/load-themed-styles";
-      version = "1.10.270";
+      version = "1.10.285";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.270.tgz";
-        sha512 = "HvzX1iTkQgpTl+BucTrfszOWJEQ1K1DD8Ibr1sDpS/jtFVhppuL+56mGW4tYlx5+XgN3j8FN8j/XnA0tHCK+Tw==";
+        url = "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.285.tgz";
+        sha512 = "Z+PdkIt+FGDL3IdnOEz3/77YBaDV51Oll3aSE/WITKWUUDrorIDTGZzqAk1sx/fdnlKo+f2wCFxXrWkq9MN0YQ==";
       };
     };
     "@mischnic/json-sourcemap-0.1.0" = {
@@ -6025,76 +6223,76 @@ let
         sha512 = "rYEi46+gIzufyYUAoHDnRzkWGxajpD9vVXFQ3g1vbjrBm6P7MBmm+s/fqPa46sxa+8FOUdEuRQKaugo5a4JWpw==";
       };
     };
-    "@msgpackr-extract/msgpackr-extract-darwin-arm64-2.0.2" = {
+    "@msgpackr-extract/msgpackr-extract-darwin-arm64-2.1.2" = {
       name = "_at_msgpackr-extract_slash_msgpackr-extract-darwin-arm64";
       packageName = "@msgpackr-extract/msgpackr-extract-darwin-arm64";
-      version = "2.0.2";
+      version = "2.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-2.0.2.tgz";
-        sha512 = "FMX5i7a+ojIguHpWbzh5MCsCouJkwf4z4ejdUY/fsgB9Vkdak4ZnoIEskOyOUMMB4lctiZFGszFQJXUeFL8tRg==";
+        url = "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-2.1.2.tgz";
+        sha512 = "TyVLn3S/+ikMDsh0gbKv2YydKClN8HaJDDpONlaZR+LVJmsxLFUgA+O7zu59h9+f9gX1aj/ahw9wqa6rosmrYQ==";
       };
     };
-    "@msgpackr-extract/msgpackr-extract-darwin-x64-2.0.2" = {
+    "@msgpackr-extract/msgpackr-extract-darwin-x64-2.1.2" = {
       name = "_at_msgpackr-extract_slash_msgpackr-extract-darwin-x64";
       packageName = "@msgpackr-extract/msgpackr-extract-darwin-x64";
-      version = "2.0.2";
+      version = "2.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-2.0.2.tgz";
-        sha512 = "DznYtF3lHuZDSRaIOYeif4JgO0NtO2Xf8DsngAugMx/bUdTFbg86jDTmkVJBNmV+cxszz6OjGvinnS8AbJ342g==";
+        url = "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-2.1.2.tgz";
+        sha512 = "YPXtcVkhmVNoMGlqp81ZHW4dMxK09msWgnxtsDpSiZwTzUBG2N+No2bsr7WMtBKCVJMSD6mbAl7YhKUqkp/Few==";
       };
     };
-    "@msgpackr-extract/msgpackr-extract-linux-arm-2.0.2" = {
+    "@msgpackr-extract/msgpackr-extract-linux-arm-2.1.2" = {
       name = "_at_msgpackr-extract_slash_msgpackr-extract-linux-arm";
       packageName = "@msgpackr-extract/msgpackr-extract-linux-arm";
-      version = "2.0.2";
+      version = "2.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-2.0.2.tgz";
-        sha512 = "Gy9+c3Wj+rUlD3YvCZTi92gs+cRX7ZQogtwq0IhRenloTTlsbpezNgk6OCkt59V4ATEWSic9rbU92H/l7XsRvA==";
+        url = "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-2.1.2.tgz";
+        sha512 = "42R4MAFeIeNn+L98qwxAt360bwzX2Kf0ZQkBBucJ2Ircza3asoY4CDbgiu9VWklq8gWJVSJSJBwDI+c/THiWkA==";
       };
     };
-    "@msgpackr-extract/msgpackr-extract-linux-arm64-2.0.2" = {
+    "@msgpackr-extract/msgpackr-extract-linux-arm64-2.1.2" = {
       name = "_at_msgpackr-extract_slash_msgpackr-extract-linux-arm64";
       packageName = "@msgpackr-extract/msgpackr-extract-linux-arm64";
-      version = "2.0.2";
+      version = "2.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-2.0.2.tgz";
-        sha512 = "b0jMEo566YdM2K+BurSed7bswjo3a6bcdw5ETqoIfSuxKuRLPfAiOjVbZyZBgx3J/TAM/QrvEQ/VN89A0ZAxSg==";
+        url = "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-2.1.2.tgz";
+        sha512 = "vHZ2JiOWF2+DN9lzltGbhtQNzDo8fKFGrf37UJrgqxU0yvtERrzUugnfnX1wmVfFhSsF8OxrfqiNOUc5hko1Zg==";
       };
     };
-    "@msgpackr-extract/msgpackr-extract-linux-x64-2.0.2" = {
+    "@msgpackr-extract/msgpackr-extract-linux-x64-2.1.2" = {
       name = "_at_msgpackr-extract_slash_msgpackr-extract-linux-x64";
       packageName = "@msgpackr-extract/msgpackr-extract-linux-x64";
-      version = "2.0.2";
+      version = "2.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-2.0.2.tgz";
-        sha512 = "zrBHaePwcv4cQXxzYgNj0+A8I1uVN97E7/3LmkRocYZ+rMwUsnPpp4RuTAHSRoKlTQV3nSdCQW4Qdt4MXw/iHw==";
+        url = "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-2.1.2.tgz";
+        sha512 = "RjRoRxg7Q3kPAdUSC5EUUPlwfMkIVhmaRTIe+cqHbKrGZ4M6TyCA/b5qMaukQ/1CHWrqYY2FbKOAU8Hg0pQFzg==";
       };
     };
-    "@msgpackr-extract/msgpackr-extract-win32-x64-2.0.2" = {
+    "@msgpackr-extract/msgpackr-extract-win32-x64-2.1.2" = {
       name = "_at_msgpackr-extract_slash_msgpackr-extract-win32-x64";
       packageName = "@msgpackr-extract/msgpackr-extract-win32-x64";
-      version = "2.0.2";
+      version = "2.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-2.0.2.tgz";
-        sha512 = "fpnI00dt+yO1cKx9qBXelKhPBdEgvc8ZPav1+0r09j0woYQU2N79w/jcGawSY5UGlgQ3vjaJsFHnGbGvvqdLzg==";
+        url = "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-2.1.2.tgz";
+        sha512 = "rIZVR48zA8hGkHIK7ED6+ZiXsjRCcAVBJbm8o89OKAMTmEAQ2QvoOxoiu3w2isAaWwzgtQIOFIqHwvZDyLKCvw==";
       };
     };
-    "@n1ru4l/graphql-live-query-0.9.0" = {
+    "@n1ru4l/graphql-live-query-0.10.0" = {
       name = "_at_n1ru4l_slash_graphql-live-query";
       packageName = "@n1ru4l/graphql-live-query";
-      version = "0.9.0";
+      version = "0.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@n1ru4l/graphql-live-query/-/graphql-live-query-0.9.0.tgz";
-        sha512 = "BTpWy1e+FxN82RnLz4x1+JcEewVdfmUhV1C6/XYD5AjS7PQp9QFF7K8bCD6gzPTr2l+prvqOyVueQhFJxB1vfg==";
+        url = "https://registry.npmjs.org/@n1ru4l/graphql-live-query/-/graphql-live-query-0.10.0.tgz";
+        sha512 = "qZ7OHH/NB0NcG/Xa7irzgjE63UH0CkofZT0Bw4Ko6iRFagPRHBM8RgFXwTt/6JbFGIEUS4STRtaFoc/Eq/ZtzQ==";
       };
     };
-    "@nestjs/schematics-8.0.11" = {
+    "@nestjs/schematics-9.0.1" = {
       name = "_at_nestjs_slash_schematics";
       packageName = "@nestjs/schematics";
-      version = "8.0.11";
+      version = "9.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nestjs/schematics/-/schematics-8.0.11.tgz";
-        sha512 = "W/WzaxgH5aE01AiIErE9QrQJ73VR/M/8p8pq0LZmjmNcjZqU5kQyOWUxZg13WYfSpJdOa62t6TZRtFDmgZPoIg==";
+        url = "https://registry.npmjs.org/@nestjs/schematics/-/schematics-9.0.1.tgz";
+        sha512 = "QU7GbnQvADFXdumcdADmv4vil3bhnYl2IFHWKieRt0MgIhghgBxIB7kDKWhswcuZ0kZztVbyYjo9aCrlf62fcw==";
       };
     };
     "@netflix/nerror-1.1.3" = {
@@ -6115,58 +6313,58 @@ let
         sha512 = "fL1wpr8hhD5gT2dA1qifeVaoDFlQR5es8tFuKqjHX+kdOtdNHnxkVZbtIrR2rxnMFvehkjaZRNV2H/gPXlb0hw==";
       };
     };
-    "@node-red/editor-api-2.2.2" = {
+    "@node-red/editor-api-3.0.1" = {
       name = "_at_node-red_slash_editor-api";
       packageName = "@node-red/editor-api";
-      version = "2.2.2";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/editor-api/-/editor-api-2.2.2.tgz";
-        sha512 = "5PUXtMCjsKevCiz8OjHqAckctOv/zzPcssH4yzTxMYEN4JtTng5lFfZzTFWZC/UnCGQMgwe/0e4iGHbMbN1pqg==";
+        url = "https://registry.npmjs.org/@node-red/editor-api/-/editor-api-3.0.1.tgz";
+        sha512 = "ttPj4MT3pndNebsACP6IddcvaChb8uBoXgrgno9eW3nhzVRDh5VuDJqu9F6MGCWWvhCOSkQ5zFLULDsPtnrTkA==";
       };
     };
-    "@node-red/editor-client-2.2.2" = {
+    "@node-red/editor-client-3.0.1" = {
       name = "_at_node-red_slash_editor-client";
       packageName = "@node-red/editor-client";
-      version = "2.2.2";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/editor-client/-/editor-client-2.2.2.tgz";
-        sha512 = "DivbfvVfoh4sRKHmOGucE9kV8MWwGczbxsJfaEVedCtVt9ZDX40N61+FzPVlf2FGDi8q21cIRV7klV1GWhDFxw==";
+        url = "https://registry.npmjs.org/@node-red/editor-client/-/editor-client-3.0.1.tgz";
+        sha512 = "WGDXG1L9pAK7kQBBS1JQq8qf9y/CWi7BGMJtx36HTOxjNv6eP485IdqrqY6M79EsCjWBbvrRiQiw7pSctPJdfg==";
       };
     };
-    "@node-red/nodes-2.2.2" = {
+    "@node-red/nodes-3.0.1" = {
       name = "_at_node-red_slash_nodes";
       packageName = "@node-red/nodes";
-      version = "2.2.2";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/nodes/-/nodes-2.2.2.tgz";
-        sha512 = "RJ8yR90e/tF0KIiS7ZDe8+q0Zk9uJQZDNUcheEeJKWXfIf3WcMo+5KhQ5HJfy8UedmPXzNLRX75FuTXwcd+NKA==";
+        url = "https://registry.npmjs.org/@node-red/nodes/-/nodes-3.0.1.tgz";
+        sha512 = "7SDneuvBNLeAmTQbwZuZOAWb/cMQWRJPW67gduWWR3BosipLdnfwofjALkkf67A0sJxr2FuxEOV+d2zM4PBpKA==";
       };
     };
-    "@node-red/registry-2.2.2" = {
+    "@node-red/registry-3.0.1" = {
       name = "_at_node-red_slash_registry";
       packageName = "@node-red/registry";
-      version = "2.2.2";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/registry/-/registry-2.2.2.tgz";
-        sha512 = "zszKLaR2XpBE4wG4o8cwe+dtOvqlG/Cl0iRXg1wpJ9zC96WIPRq+UqAkVkZm6uRuNhW5ZjKk8f77Wh1+v6QBAw==";
+        url = "https://registry.npmjs.org/@node-red/registry/-/registry-3.0.1.tgz";
+        sha512 = "aT1rA98DUIQJ9G47KyyhKxKq/GgWRRCbRsw1GiwRqG7Rc08W+w1nqDwkW2eS9+gngiHT0DAbY/Bbm2vaKIWSlg==";
       };
     };
-    "@node-red/runtime-2.2.2" = {
+    "@node-red/runtime-3.0.1" = {
       name = "_at_node-red_slash_runtime";
       packageName = "@node-red/runtime";
-      version = "2.2.2";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/runtime/-/runtime-2.2.2.tgz";
-        sha512 = "PW+HGDmY7Q5nXx+zPVpbFaFpn59EyPLb2QYYL1T5MarCQpUfIaL44NMhSG//n0+vkGZBLi9T6ltapWgEYW4x9g==";
+        url = "https://registry.npmjs.org/@node-red/runtime/-/runtime-3.0.1.tgz";
+        sha512 = "FGJ4COtyBHT8yNadA0wytIpe5eY1zsUYHlqTnj2Dd1zOsg+uMJgMTgnD1AkuWFFRtYwD9Rr7BeuOUYyMQJNQEA==";
       };
     };
-    "@node-red/util-2.2.2" = {
+    "@node-red/util-3.0.1" = {
       name = "_at_node-red_slash_util";
       packageName = "@node-red/util";
-      version = "2.2.2";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/util/-/util-2.2.2.tgz";
-        sha512 = "tUGLGj3fTgOjWwhp9uK6M+LUb3rxIrU61DbA0fVpANCEeqk5UNJpje4vOag9dWmJS7hn/ONcDK7dslHLyOQUIQ==";
+        url = "https://registry.npmjs.org/@node-red/util/-/util-3.0.1.tgz";
+        sha512 = "ToLLZcDeW7gED0uayAC20xyw3w3jsnkSEUGMU3YvovWPmu+zGilhZkVtXwmth6e6YqsyCTbgFvzIZ2eyTlvg8w==";
       };
     };
     "@node-rs/crc32-1.5.1" = {
@@ -6340,31 +6538,22 @@ let
         sha512 = "yMRgZVDpwWjplorzt9SFSaakWx6QIK248Nw4ZFgkrAy/GvJaFRaSZzE6nD7JBK5r8g/+PTxFq5Wj/sfciE7x+A==";
       };
     };
-    "@npmcli/arborist-5.2.0" = {
+    "@npmcli/arborist-5.3.0" = {
       name = "_at_npmcli_slash_arborist";
       packageName = "@npmcli/arborist";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/arborist/-/arborist-5.2.0.tgz";
-        sha512 = "zWV7scFGL0SmpvfQyIWnMFbU/0YgtMNyvJiJwR98kyjUSntJGWFFR0O600d5W+TrDcTg0GyDbY+HdzGEg+GXLg==";
-      };
-    };
-    "@npmcli/ci-detect-1.4.0" = {
-      name = "_at_npmcli_slash_ci-detect";
-      packageName = "@npmcli/ci-detect";
-      version = "1.4.0";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/ci-detect/-/ci-detect-1.4.0.tgz";
-        sha512 = "3BGrt6FLjqM6br5AhWRKTr3u5GIVkjRYeAFrMp3HjnfICrg4xOrVRwFavKT6tsp++bq5dluL5t8ME/Nha/6c1Q==";
+        url = "https://registry.npmjs.org/@npmcli/arborist/-/arborist-5.3.0.tgz";
+        sha512 = "+rZ9zgL1lnbl8Xbb1NQdMjveOMwj4lIYfcDtyJHHi5x4X8jtR6m8SXooJMZy5vmFVZ8w7A2Bnd/oX9eTuU8w5A==";
       };
     };
-    "@npmcli/config-4.1.0" = {
+    "@npmcli/config-4.2.0" = {
       name = "_at_npmcli_slash_config";
       packageName = "@npmcli/config";
-      version = "4.1.0";
+      version = "4.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/config/-/config-4.1.0.tgz";
-        sha512 = "cPQmIQ2Q0vuOfrenrA3isikdMFMAHgzlXV+EmvZ8f2JeJsU5xTU2bG7ipXECiMvPF9nM+QDnMLuIg8QLw9H4xg==";
+        url = "https://registry.npmjs.org/@npmcli/config/-/config-4.2.0.tgz";
+        sha512 = "imWNz5dNWb2u+y41jyxL2WB389tkhu3a01Rchn16O/ur6GrnKySgOqdNG3N/9Z+mqxdISMEGKXI/POCauzz0dA==";
       };
     };
     "@npmcli/fs-1.1.1" = {
@@ -6376,13 +6565,13 @@ let
         sha512 = "8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==";
       };
     };
-    "@npmcli/fs-2.1.0" = {
+    "@npmcli/fs-2.1.1" = {
       name = "_at_npmcli_slash_fs";
       packageName = "@npmcli/fs";
-      version = "2.1.0";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.0.tgz";
-        sha512 = "DmfBvNXGaetMxj9LTp8NAN9vEidXURrf5ZTslQzEAi/6GbW+4yjaLFQc6Tue5cpZ9Frlk4OBo/Snf1Bh/S7qTQ==";
+        url = "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.1.tgz";
+        sha512 = "1Q0uzx6c/NVNGszePbr5Gc2riSU1zLpNlo/1YWntH+eaPmMgBssAW0qXofCVkpdj3ce4swZtlDYQu+NKiYcptg==";
       };
     };
     "@npmcli/git-2.1.0" = {
@@ -6412,13 +6601,13 @@ let
         sha512 = "9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==";
       };
     };
-    "@npmcli/map-workspaces-2.0.3" = {
+    "@npmcli/map-workspaces-2.0.4" = {
       name = "_at_npmcli_slash_map-workspaces";
       packageName = "@npmcli/map-workspaces";
-      version = "2.0.3";
+      version = "2.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-2.0.3.tgz";
-        sha512 = "X6suAun5QyupNM8iHkNPh0AHdRC2rb1W+MTdMvvA/2ixgmqZwlq5cGUBgmKHUHT2LgrkKJMAXbfAoTxOigpK8Q==";
+        url = "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-2.0.4.tgz";
+        sha512 = "bMo0aAfwhVwqoVM5UzX1DJnlvVvzDCHae821jv48L1EsrYwfOZChlqWYXEtto/+BkBXetPbEWgau++/brh4oVg==";
       };
     };
     "@npmcli/metavuln-calculator-2.0.0" = {
@@ -6430,13 +6619,13 @@ let
         sha512 = "VVW+JhWCKRwCTE+0xvD6p3uV4WpqocNYYtzyvenqL/u1Q3Xx6fGTJ+6UoIoii07fbuEO9U3IIyuGY0CYHDv1sg==";
       };
     };
-    "@npmcli/metavuln-calculator-3.1.0" = {
+    "@npmcli/metavuln-calculator-3.1.1" = {
       name = "_at_npmcli_slash_metavuln-calculator";
       packageName = "@npmcli/metavuln-calculator";
-      version = "3.1.0";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-3.1.0.tgz";
-        sha512 = "Q5fbQqGDlYqk7kWrbg6E2j/mtqQjZop0ZE6735wYA1tYNHguIDjAuWs+kFb5rJCkLIlXllfapvsyotYKiZOTBA==";
+        url = "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-3.1.1.tgz";
+        sha512 = "n69ygIaqAedecLeVH3KnO39M6ZHiJ2dEv5A7DGvcqCB8q17BGUgW8QaanIkbWUo2aYGZqJaOORTLAlIvKjNDKA==";
       };
     };
     "@npmcli/move-file-1.1.2" = {
@@ -6538,13 +6727,31 @@ let
         sha512 = "fSan/Pu11xS/TdaTpTB0MRn9guwGU8dye+x56mEVgBEd/QsybBbYcAL0phPXi8SGWFEChkQd6M9qL4y6VOpFig==";
       };
     };
-    "@npmcli/run-script-3.0.3" = {
+    "@npmcli/run-script-4.2.0" = {
       name = "_at_npmcli_slash_run-script";
       packageName = "@npmcli/run-script";
-      version = "3.0.3";
+      version = "4.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/run-script/-/run-script-3.0.3.tgz";
-        sha512 = "ZXL6qgC5NjwfZJ2nET+ZSLEz/PJgJ/5CU90C2S66dZY4Jw73DasS4ZCXuy/KHWYP0imjJ4VtA+Gebb5BxxKp9Q==";
+        url = "https://registry.npmjs.org/@npmcli/run-script/-/run-script-4.2.0.tgz";
+        sha512 = "e/QgLg7j2wSJp1/7JRl0GC8c7PMX+uYlA/1Tb+IDOLdSM4T7K1VQ9mm9IGU3WRtY5vEIObpqCLb3aCNCug18DA==";
+      };
+    };
+    "@nrwl/cli-14.5.2" = {
+      name = "_at_nrwl_slash_cli";
+      packageName = "@nrwl/cli";
+      version = "14.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@nrwl/cli/-/cli-14.5.2.tgz";
+        sha512 = "uriSxM33IpiBpW9kHEW3gw5OjPaQe3jHdWUMOT88TrqTlf449qe01Sys8+H2YgJMIcLTFYX0fP4V1K9jqKKZCg==";
+      };
+    };
+    "@nrwl/tao-14.5.2" = {
+      name = "_at_nrwl_slash_tao";
+      packageName = "@nrwl/tao";
+      version = "14.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@nrwl/tao/-/tao-14.5.2.tgz";
+        sha512 = "SEx3SM7xQiB8mOQ/gCt7lFJKRrkq3rBX6FiV3bl+dQtuKK2zKQbyikY9r+MCZCQNqZAud3HJ2xCyKZBhK8htQg==";
       };
     };
     "@oclif/command-1.8.0" = {
@@ -6691,6 +6898,15 @@ let
         sha512 = "r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==";
       };
     };
+    "@octokit/auth-token-3.0.0" = {
+      name = "_at_octokit_slash_auth-token";
+      packageName = "@octokit/auth-token";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.0.tgz";
+        sha512 = "MDNFUBcJIptB9At7HiV7VCvU3NcL4GnfCQaP8C5lrxWrRPMJBnemYtehaKSOlaM7AYxeRyj9etenu8LVpSpVaQ==";
+      };
+    };
     "@octokit/core-3.6.0" = {
       name = "_at_octokit_slash_core";
       packageName = "@octokit/core";
@@ -6700,6 +6916,15 @@ let
         sha512 = "7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==";
       };
     };
+    "@octokit/core-4.0.4" = {
+      name = "_at_octokit_slash_core";
+      packageName = "@octokit/core";
+      version = "4.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@octokit/core/-/core-4.0.4.tgz";
+        sha512 = "sUpR/hc4Gc7K34o60bWC7WUH6Q7T6ftZ2dUmepSyJr9PRF76/qqkWjE2SOEzCqLA5W83SaISymwKtxks+96hPQ==";
+      };
+    };
     "@octokit/endpoint-6.0.12" = {
       name = "_at_octokit_slash_endpoint";
       packageName = "@octokit/endpoint";
@@ -6709,6 +6934,15 @@ let
         sha512 = "lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==";
       };
     };
+    "@octokit/endpoint-7.0.0" = {
+      name = "_at_octokit_slash_endpoint";
+      packageName = "@octokit/endpoint";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.0.tgz";
+        sha512 = "Kz/mIkOTjs9rV50hf/JK9pIDl4aGwAtT8pry6Rpy+hVXkAPhXanNQRxMoq6AeRgDCZR6t/A1zKniY2V1YhrzlQ==";
+      };
+    };
     "@octokit/graphql-4.8.0" = {
       name = "_at_octokit_slash_graphql";
       packageName = "@octokit/graphql";
@@ -6718,13 +6952,22 @@ let
         sha512 = "0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==";
       };
     };
-    "@octokit/openapi-types-12.4.0" = {
+    "@octokit/graphql-5.0.0" = {
+      name = "_at_octokit_slash_graphql";
+      packageName = "@octokit/graphql";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.0.tgz";
+        sha512 = "1ZZ8tX4lUEcLPvHagfIVu5S2xpHYXAmgN0+95eAOPoaVPzCfUXJtA5vASafcpWcO86ze0Pzn30TAx72aB2aguQ==";
+      };
+    };
+    "@octokit/openapi-types-12.11.0" = {
       name = "_at_octokit_slash_openapi-types";
       packageName = "@octokit/openapi-types";
-      version = "12.4.0";
+      version = "12.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.4.0.tgz";
-        sha512 = "Npcb7Pv30b33U04jvcD7l75yLU0mxhuX2Xqrn51YyZ5WTkF04bpbxLaZ6GcaTqu03WZQHoO/Gbfp95NGRueDUA==";
+        url = "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz";
+        sha512 = "VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==";
       };
     };
     "@octokit/plugin-enterprise-rest-6.0.1" = {
@@ -6736,13 +6979,22 @@ let
         sha512 = "93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==";
       };
     };
-    "@octokit/plugin-paginate-rest-2.19.0" = {
+    "@octokit/plugin-paginate-rest-2.21.3" = {
       name = "_at_octokit_slash_plugin-paginate-rest";
       packageName = "@octokit/plugin-paginate-rest";
-      version = "2.19.0";
+      version = "2.21.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz";
+        sha512 = "aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==";
+      };
+    };
+    "@octokit/plugin-paginate-rest-3.1.0" = {
+      name = "_at_octokit_slash_plugin-paginate-rest";
+      packageName = "@octokit/plugin-paginate-rest";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.19.0.tgz";
-        sha512 = "hQ4Qysg2hNmEMuZeJkvyzM4eSZiTifOKqYAMsW8FnxFKowhuwWICSgBQ9Gn9GpUmgKB7qaf1hFvMjYaTAg5jQA==";
+        url = "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-3.1.0.tgz";
+        sha512 = "+cfc40pMzWcLkoDcLb1KXqjX0jTGYXjKuQdFQDc6UAknISJHnZTiBqld6HDwRJvD4DsouDKrWXNbNV0lE/3AXA==";
       };
     };
     "@octokit/plugin-request-log-1.0.4" = {
@@ -6754,13 +7006,22 @@ let
         sha512 = "mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==";
       };
     };
-    "@octokit/plugin-rest-endpoint-methods-5.15.0" = {
+    "@octokit/plugin-rest-endpoint-methods-5.16.2" = {
       name = "_at_octokit_slash_plugin-rest-endpoint-methods";
       packageName = "@octokit/plugin-rest-endpoint-methods";
-      version = "5.15.0";
+      version = "5.16.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.15.0.tgz";
-        sha512 = "Gsw9+Xm56jVhfbJoy4pt6eOOyf8/3K6CAnx1Sl7U2GhZWcg8MR6YgXWnpfdF69S2ViMXLA7nfvTDAsZpFlkLRw==";
+        url = "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz";
+        sha512 = "8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==";
+      };
+    };
+    "@octokit/plugin-rest-endpoint-methods-6.2.0" = {
+      name = "_at_octokit_slash_plugin-rest-endpoint-methods";
+      packageName = "@octokit/plugin-rest-endpoint-methods";
+      version = "6.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-6.2.0.tgz";
+        sha512 = "PZ+yfkbZAuRUtqu6Y191/V3eM0KBPx+Yq7nh+ONPdpm3EX4pd5UnK2y2XgO/0AtNum5a4aJCDjqsDuUZ2hWRXw==";
       };
     };
     "@octokit/plugin-retry-3.0.9" = {
@@ -6790,6 +7051,15 @@ let
         sha512 = "bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==";
       };
     };
+    "@octokit/request-6.2.0" = {
+      name = "_at_octokit_slash_request";
+      packageName = "@octokit/request";
+      version = "6.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@octokit/request/-/request-6.2.0.tgz";
+        sha512 = "7IAmHnaezZrgUqtRShMlByJK33MT9ZDnMRgZjnRrRV9a/jzzFwKGz0vxhFU6i7VMLraYcQ1qmcAOin37Kryq+Q==";
+      };
+    };
     "@octokit/request-error-2.1.0" = {
       name = "_at_octokit_slash_request-error";
       packageName = "@octokit/request-error";
@@ -6799,6 +7069,15 @@ let
         sha512 = "1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==";
       };
     };
+    "@octokit/request-error-3.0.0" = {
+      name = "_at_octokit_slash_request-error";
+      packageName = "@octokit/request-error";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.0.tgz";
+        sha512 = "WBtpzm9lR8z4IHIMtOqr6XwfkGvMOOILNLxsWvDwtzm/n7f5AWuqJTXQXdDtOvPfTDrH4TPhEvW2qMlR4JFA2w==";
+      };
+    };
     "@octokit/rest-18.12.0" = {
       name = "_at_octokit_slash_rest";
       packageName = "@octokit/rest";
@@ -6808,13 +7087,22 @@ let
         sha512 = "gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==";
       };
     };
-    "@octokit/types-6.37.0" = {
+    "@octokit/rest-19.0.3" = {
+      name = "_at_octokit_slash_rest";
+      packageName = "@octokit/rest";
+      version = "19.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.3.tgz";
+        sha512 = "5arkTsnnRT7/sbI4fqgSJ35KiFaN7zQm0uQiQtivNQLI8RQx8EHwJCajcTUwmaCMNDg7tdCvqAnc7uvHHPxrtQ==";
+      };
+    };
+    "@octokit/types-6.41.0" = {
       name = "_at_octokit_slash_types";
       packageName = "@octokit/types";
-      version = "6.37.0";
+      version = "6.41.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/types/-/types-6.37.0.tgz";
-        sha512 = "BXWQhFKRkjX4dVW5L2oYa0hzWOAqsEsujXsQLSdepPoDZfYdubrD1KDGpyNldGXtR8QM/WezDcxcIN1UKJMGPA==";
+        url = "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz";
+        sha512 = "eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==";
       };
     };
     "@opencensus/core-0.0.8" = {
@@ -6880,481 +7168,481 @@ let
         sha512 = "wU5J8rUoo32oSef/rFpOT1HIjLjAv3qIDHkw1QIhODV3OpAVHi5oVzlouozg9obUmZKtbZ0qUe/m7FP0y0yBzA==";
       };
     };
-    "@ot-builder/bin-composite-types-1.5.2" = {
+    "@ot-builder/bin-composite-types-1.5.4" = {
       name = "_at_ot-builder_slash_bin-composite-types";
       packageName = "@ot-builder/bin-composite-types";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/bin-composite-types/-/bin-composite-types-1.5.2.tgz";
-        sha512 = "l3mLi4cZ1GrEHT9xSgYIPgJXRiMGubtOPL9QJ0ZMm24Ss1TlNXiIW4AOfp/+8H0NOv7JVrb06toWf4tEb4B1+g==";
+        url = "https://registry.npmjs.org/@ot-builder/bin-composite-types/-/bin-composite-types-1.5.4.tgz";
+        sha512 = "BGa0e3eN9ZLfwcJWcD/htPjbBadTYse42aLItPbpVhIc2HEClFFmrtwVR1AyYIHX08Iru9P6ExK2c5JcOtAxFw==";
       };
     };
-    "@ot-builder/bin-util-1.5.2" = {
+    "@ot-builder/bin-util-1.5.4" = {
       name = "_at_ot-builder_slash_bin-util";
       packageName = "@ot-builder/bin-util";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/bin-util/-/bin-util-1.5.2.tgz";
-        sha512 = "OMchvRddJ0ZnYw09OdFLu29YrHTXFbAxcxErHy4s3UujqZhpUzTY3o+brLnKLh60oXQdOHTT+wJDy+D89DWOYw==";
+        url = "https://registry.npmjs.org/@ot-builder/bin-util/-/bin-util-1.5.4.tgz";
+        sha512 = "VSMqaiNu1tbdyXFJObLuhLjfwp4CgrwHBG8y2EyoG6ipyxon345tvtsSdyW71N/t2nfS4IZHxxNmgoiEyTGjew==";
       };
     };
-    "@ot-builder/cli-help-shower-1.5.2" = {
+    "@ot-builder/cli-help-shower-1.5.4" = {
       name = "_at_ot-builder_slash_cli-help-shower";
       packageName = "@ot-builder/cli-help-shower";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/cli-help-shower/-/cli-help-shower-1.5.2.tgz";
-        sha512 = "opcpqXh5RxHc/lB/mIxIA8amPugXgJHym5q3Jb3uZT1DOhhORRAs0NAgNAswKHHPvTyOUIu3mYYuV2KA093K4A==";
+        url = "https://registry.npmjs.org/@ot-builder/cli-help-shower/-/cli-help-shower-1.5.4.tgz";
+        sha512 = "dgDXk5A2W+BXdscJ9V//X/oRCesFj5X8elv0Ks3hyGsb+HEnVmmpGqYD+yNvsh7DCB+VabHTRI9HIhjx52DYeA==";
       };
     };
-    "@ot-builder/cli-proc-1.5.2" = {
+    "@ot-builder/cli-proc-1.5.4" = {
       name = "_at_ot-builder_slash_cli-proc";
       packageName = "@ot-builder/cli-proc";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/cli-proc/-/cli-proc-1.5.2.tgz";
-        sha512 = "bPg6dpEmeTsTaU7Az6G2fLgk7jBP8gQ/WaX0at1w4poOGUSo/UTFZ9EDmh0Y6gxLo9Mf45gbeA9vUmXiUczi/g==";
+        url = "https://registry.npmjs.org/@ot-builder/cli-proc/-/cli-proc-1.5.4.tgz";
+        sha512 = "9IhKDfSat06iroaGHQG8x4cpzoctoBwKu3AA6xUE5PEEb7xImcGaZ0hDaNEZGJd/yYEvatBbytzI5NAJfdvSjA==";
       };
     };
-    "@ot-builder/cli-shared-1.5.2" = {
+    "@ot-builder/cli-shared-1.5.4" = {
       name = "_at_ot-builder_slash_cli-shared";
       packageName = "@ot-builder/cli-shared";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/cli-shared/-/cli-shared-1.5.2.tgz";
-        sha512 = "rTDHUqNGiEyAW0sRQ6etO3prUuNOr/00n9mpwnmENnisA/RwyY0BW+z5zGc8iD2tJunU6/LibOBubppV6PNTGQ==";
+        url = "https://registry.npmjs.org/@ot-builder/cli-shared/-/cli-shared-1.5.4.tgz";
+        sha512 = "QALOu8sjBrVhA7rrHNX3CgQTMUokC0GHnOTMcyqep1ogLOAKPvmmM0vmqPHVrolWLoEVgKI1bs3nFfZmtZC/cA==";
       };
     };
-    "@ot-builder/common-impl-1.5.2" = {
+    "@ot-builder/common-impl-1.5.4" = {
       name = "_at_ot-builder_slash_common-impl";
       packageName = "@ot-builder/common-impl";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/common-impl/-/common-impl-1.5.2.tgz";
-        sha512 = "3cXrL176gm4PF/VYsc0A0VMvdddXTqjsPAMqSrYnp79lStGy17TxZmvE4odRAq8XeKNuiQcdVmHR9M2nVgiKUA==";
+        url = "https://registry.npmjs.org/@ot-builder/common-impl/-/common-impl-1.5.4.tgz";
+        sha512 = "B6j9Fv9iXGSim7dNlZkfD5gWJ+VK57wmlb9SwNlxTI8M0JBfTaWVkajyEz+GPn4BEvVOBJ95PFnecO43K552aA==";
       };
     };
-    "@ot-builder/errors-1.5.2" = {
+    "@ot-builder/errors-1.5.4" = {
       name = "_at_ot-builder_slash_errors";
       packageName = "@ot-builder/errors";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/errors/-/errors-1.5.2.tgz";
-        sha512 = "wy5c3sE/bpBXWpqFy5yVVNZvBHRSOmTn5anCF+Gq/OjMwPM3vASHo8RccFqQf7AhOFgMWDLYglFniihXloft+w==";
+        url = "https://registry.npmjs.org/@ot-builder/errors/-/errors-1.5.4.tgz";
+        sha512 = "2xo+cpRrK93JLyfxORekkpslavILzX7c+AOlf754otRN8UK0rfVSNcFUifN7BobpHCaHuBgJtbYiq+zBnjMbew==";
       };
     };
-    "@ot-builder/io-bin-cff-1.5.2" = {
+    "@ot-builder/io-bin-cff-1.5.4" = {
       name = "_at_ot-builder_slash_io-bin-cff";
       packageName = "@ot-builder/io-bin-cff";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-cff/-/io-bin-cff-1.5.2.tgz";
-        sha512 = "/BhWleYozRBHSy3nvLKZ19jPcl786LCaiu2oTih5xUCVx17unfLtmEfb8bzgZBMDSB7xvVJ24A/OnZS89Y9heA==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-cff/-/io-bin-cff-1.5.4.tgz";
+        sha512 = "CuEbsQwDoKF2/tonyy6J+cEtY8yzPZ7aCl/+Y5X+ZdYN9BmYZ64V1W1Qyc6wEwik78fDdgzsBni15YsUCTvGnA==";
       };
     };
-    "@ot-builder/io-bin-encoding-1.5.2" = {
+    "@ot-builder/io-bin-encoding-1.5.4" = {
       name = "_at_ot-builder_slash_io-bin-encoding";
       packageName = "@ot-builder/io-bin-encoding";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-encoding/-/io-bin-encoding-1.5.2.tgz";
-        sha512 = "CA1wbilkUIHoq9RJkiadPb3qvh4b6k101U5oA9ACgMgq+EqOEl0Me+HFeyoR5AJfVVzkyxfzTYOq8oiGvCYFrA==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-encoding/-/io-bin-encoding-1.5.4.tgz";
+        sha512 = "5O5E7941ScCmzoxtyK/KT1D3Wl3vHUWZY784no97e6udCndngPuvVI1UZck2lmLrrrn/EvNU0eJCHN7neHsSXw==";
       };
     };
-    "@ot-builder/io-bin-ext-private-1.5.2" = {
+    "@ot-builder/io-bin-ext-private-1.5.4" = {
       name = "_at_ot-builder_slash_io-bin-ext-private";
       packageName = "@ot-builder/io-bin-ext-private";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-ext-private/-/io-bin-ext-private-1.5.2.tgz";
-        sha512 = "41nZQB8WiKlTnOzwFdPH+zbSrRGA1YLyuZlXJSqZH8+0Va8q6zXqWhoqLAh1f5gS7j/iB76rltZWZLg3LFfqHg==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-ext-private/-/io-bin-ext-private-1.5.4.tgz";
+        sha512 = "r0NEJHb+3XduOnjr9qOuTkUiOM+eJVSGZ1pvPumQXDlMJlz+VQsHop7MD1pSCKS/modXN1hKBo6BBki3gty7/A==";
       };
     };
-    "@ot-builder/io-bin-font-1.5.2" = {
+    "@ot-builder/io-bin-font-1.5.4" = {
       name = "_at_ot-builder_slash_io-bin-font";
       packageName = "@ot-builder/io-bin-font";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-font/-/io-bin-font-1.5.2.tgz";
-        sha512 = "4+bYorR+h5ilJoJtAdPwm38T0Qcv82/3+dwHWJFUYRtuSYiDToZSZEEaFgzuRtby8ye/s35oQ+D0WWlmJSYayQ==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-font/-/io-bin-font-1.5.4.tgz";
+        sha512 = "rcJ9qe0S4dBWMRXYh3Gi9lqgiW1qWCmNOAyjEoNYOcAUoXFasRuP+JNMu3sUM/Yi8eOGtkrnU2nq+T392/4nZA==";
       };
     };
-    "@ot-builder/io-bin-glyph-store-1.5.2" = {
+    "@ot-builder/io-bin-glyph-store-1.5.4" = {
       name = "_at_ot-builder_slash_io-bin-glyph-store";
       packageName = "@ot-builder/io-bin-glyph-store";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-glyph-store/-/io-bin-glyph-store-1.5.2.tgz";
-        sha512 = "3u6bu3IlAmKNxXZJfb96gIKPNMnrk4DW4RQ0sJH56bQSXFv8/zYW27jqs2T6BIFJ8WYshM/bTMjWDrnctdgbNQ==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-glyph-store/-/io-bin-glyph-store-1.5.4.tgz";
+        sha512 = "/lv2HLCSOlpPKctycCz+PAoUL8jZ2Ysk7XD9g2oi/eu7N5Tc9OKMQ38Xb9uR8AVSWUKb/COUcflCg3PCgwaQJA==";
       };
     };
-    "@ot-builder/io-bin-layout-1.5.2" = {
+    "@ot-builder/io-bin-layout-1.5.4" = {
       name = "_at_ot-builder_slash_io-bin-layout";
       packageName = "@ot-builder/io-bin-layout";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-layout/-/io-bin-layout-1.5.2.tgz";
-        sha512 = "cVEgqOMI9wzD6qMP9+iUnJX/QBJ14x4BpG/wmIS6R8de3JJXld+OqHFDTHJJr/Y0czUajZkjFIIYeToR1t/nAA==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-layout/-/io-bin-layout-1.5.4.tgz";
+        sha512 = "5KJb4MTnpxbr9W9hCJWzYRw3OM9f6x5TeZPZMHDS1XL9L0dvq2+SxGBWjB5BgpLMpJ6mlY1LRj9FmNiFXL/CJQ==";
       };
     };
-    "@ot-builder/io-bin-metadata-1.5.2" = {
+    "@ot-builder/io-bin-metadata-1.5.4" = {
       name = "_at_ot-builder_slash_io-bin-metadata";
       packageName = "@ot-builder/io-bin-metadata";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-metadata/-/io-bin-metadata-1.5.2.tgz";
-        sha512 = "UGZu77heEHq4KIEb0C/fkhkewDHv2gkGWqPNXNOPvg7OSR/7A45Ooun8a9vilHaxEJAcUaoLYRWWVFWiVRnDBQ==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-metadata/-/io-bin-metadata-1.5.4.tgz";
+        sha512 = "hjg8S/Xn8Vj9wUfksGehqjFkqXfJV6OSZGg7cmJrTwhCQEIwOnD9rtzlAKhPKjrPp2eEC2hlKIzdowWsSQS0nw==";
       };
     };
-    "@ot-builder/io-bin-metric-1.5.2" = {
+    "@ot-builder/io-bin-metric-1.5.4" = {
       name = "_at_ot-builder_slash_io-bin-metric";
       packageName = "@ot-builder/io-bin-metric";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-metric/-/io-bin-metric-1.5.2.tgz";
-        sha512 = "lHQXURP0fs7hENvGV5tw90Z85spfmjkS1KMTmBlSPqjig1vG0zoHmPFQhbv7urAVJkUu4oeUxfHdQ8hQH+xnOg==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-metric/-/io-bin-metric-1.5.4.tgz";
+        sha512 = "KEoSB0AswO8pfFT0rSiXUJak3K1g66ZGI50jf9GKOvK9V6nG9apOqAPwIc6ZnMAXfl9Air62dgrvF6QbL7iO+Q==";
       };
     };
-    "@ot-builder/io-bin-name-1.5.2" = {
+    "@ot-builder/io-bin-name-1.5.4" = {
       name = "_at_ot-builder_slash_io-bin-name";
       packageName = "@ot-builder/io-bin-name";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-name/-/io-bin-name-1.5.2.tgz";
-        sha512 = "+Yxp5fTmGuP2XtHRrbcHWPTFqlrA5uPz1+xInlVJQKsIwrC4tVrshsWYwhGE99hkAli+JdyTsIoSmOKP7Jv96w==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-name/-/io-bin-name-1.5.4.tgz";
+        sha512 = "pZ0TXgyr4kVMcbyVo9qjn3Epx//ykoUInZHmE3R2f6/u3NjXBvCmLM+WrbKf7fc+oBX2nkWacgkRrMf4L03P/w==";
       };
     };
-    "@ot-builder/io-bin-sfnt-1.5.2" = {
+    "@ot-builder/io-bin-sfnt-1.5.4" = {
       name = "_at_ot-builder_slash_io-bin-sfnt";
       packageName = "@ot-builder/io-bin-sfnt";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-sfnt/-/io-bin-sfnt-1.5.2.tgz";
-        sha512 = "rC260d+vf9eugGh71ReudGyBEHsInsICADk1JOzy9HbJ7LrSgQO8chO3EKbfP4MfelYg+uSgsFm5fQCBzuB8wg==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-sfnt/-/io-bin-sfnt-1.5.4.tgz";
+        sha512 = "PbWoy8aqphUpU50hgsyB/wjscrR/OjN+P68O7fTXc/DsdyZUJP4ncetor1dOfAJf1zEOBr33VFc8rABDrFhPvw==";
       };
     };
-    "@ot-builder/io-bin-ttf-1.5.2" = {
+    "@ot-builder/io-bin-ttf-1.5.4" = {
       name = "_at_ot-builder_slash_io-bin-ttf";
       packageName = "@ot-builder/io-bin-ttf";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-ttf/-/io-bin-ttf-1.5.2.tgz";
-        sha512 = "w6L8FjwUQ28+Fd6FJJHEL20YoWbiK5Anh1+YjrbDsLOtmWFvF0hC0+3wi/FbVbiSx6ho91RZDAFc4t2k1bJo2A==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-ttf/-/io-bin-ttf-1.5.4.tgz";
+        sha512 = "HSTw8DXhqfBWWfk9yToKHMUwSZZv3AAxt0LIaYHSo3Lr4HG2tqgTtpk62gc6hyiMR0d1U4JdYA5mbYPnSWMMdw==";
       };
     };
-    "@ot-builder/io-bin-vtt-private-1.5.2" = {
+    "@ot-builder/io-bin-vtt-private-1.5.4" = {
       name = "_at_ot-builder_slash_io-bin-vtt-private";
       packageName = "@ot-builder/io-bin-vtt-private";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-vtt-private/-/io-bin-vtt-private-1.5.2.tgz";
-        sha512 = "pCKjYtMquIviJfxohvkJhkHIj1uF/i54qkAqgnwyBMF1CIwvn8hBAcbulxwH9m1Sr+h06mfRQARgbI/B9bnxhQ==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-vtt-private/-/io-bin-vtt-private-1.5.4.tgz";
+        sha512 = "OllpfHLq63mBNxdHRuZu3UztPcBEFfA67W5S/lCQZhyay0VcMbNc/7jcRdyZXmgjkZNO+Szg82msZxookW/OBg==";
       };
     };
-    "@ot-builder/ot-1.5.2" = {
+    "@ot-builder/ot-1.5.4" = {
       name = "_at_ot-builder_slash_ot";
       packageName = "@ot-builder/ot";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot/-/ot-1.5.2.tgz";
-        sha512 = "Ll+N/oE2048VMca6aEXxxPInh8SKyWDyELkQy6C9+d2spN6gxNR4S9y40KI49bcCosvHn6ej94nu7erIF4Xd3A==";
+        url = "https://registry.npmjs.org/@ot-builder/ot/-/ot-1.5.4.tgz";
+        sha512 = "x/92wj1hk0MG8rmuUFwmyV5YJYEUJ6HiAgR8FPS2hQK2Ut7do5z0Ttc/eog3qBiVjnPS3Dzh1C6qLLSY3RR+mQ==";
       };
     };
-    "@ot-builder/ot-encoding-1.5.2" = {
+    "@ot-builder/ot-encoding-1.5.4" = {
       name = "_at_ot-builder_slash_ot-encoding";
       packageName = "@ot-builder/ot-encoding";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-encoding/-/ot-encoding-1.5.2.tgz";
-        sha512 = "XghLV1nRzE1VMPMJKzwaYWPUMb/xKFXcOPxdVdXK9tnipzJ/gwxsVc9yzcxshZNwC+JwPozupUGxLWrdBfv+CA==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-encoding/-/ot-encoding-1.5.4.tgz";
+        sha512 = "XbEuxSkNKd8eguFv1Qut175Xl14Gja035Aci4Vw3979AtuT2QO7wDrjLhlfbn7Xob98dXcE180r7Zpc86iP53g==";
       };
     };
-    "@ot-builder/ot-ext-private-1.5.2" = {
+    "@ot-builder/ot-ext-private-1.5.4" = {
       name = "_at_ot-builder_slash_ot-ext-private";
       packageName = "@ot-builder/ot-ext-private";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-ext-private/-/ot-ext-private-1.5.2.tgz";
-        sha512 = "A918OM2jHz6tVLNAfTO4KXbUqILbgy76EAmCMKQ4GConkGD39cM4xZ3FI9w3gph7kyvfDFhICXLYST0hK9snNg==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-ext-private/-/ot-ext-private-1.5.4.tgz";
+        sha512 = "L2L2dPhMxaqEhuDW8tMaLJnR/BAnOWvqJE16Kkm8BwLxCbVuUlznvbfLaKOQj0UmTAXhLNkOLz2ZXJ7UGBCJ7g==";
       };
     };
-    "@ot-builder/ot-glyphs-1.5.2" = {
+    "@ot-builder/ot-glyphs-1.5.4" = {
       name = "_at_ot-builder_slash_ot-glyphs";
       packageName = "@ot-builder/ot-glyphs";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-glyphs/-/ot-glyphs-1.5.2.tgz";
-        sha512 = "yL1/T48XXujdMs1xqD1yPEgdrCGaDROm2eChJ5dqYnrEbm7Xeif5qT/2AkPRse9sjDAxBypfEw5+/yuEreRcjA==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-glyphs/-/ot-glyphs-1.5.4.tgz";
+        sha512 = "mH0i6sVOseqiz84RTMZqNxFcOT+dSfShHAc4Sx9gAfelFyIWcYI8djdhWeSsdDu1n9G2mGZSpbPAH+6+ZA+7+Q==";
       };
     };
-    "@ot-builder/ot-layout-1.5.2" = {
+    "@ot-builder/ot-layout-1.5.4" = {
       name = "_at_ot-builder_slash_ot-layout";
       packageName = "@ot-builder/ot-layout";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-layout/-/ot-layout-1.5.2.tgz";
-        sha512 = "7uTXlHzTa1FzsN2HZOMb6IHY07ICk2D+tr5w3Ex5hYwqRcJrEcPzrfEvleXbMB2bQ1dexiDljWuTf9iVcuX1eA==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-layout/-/ot-layout-1.5.4.tgz";
+        sha512 = "XgmO0vQ0MRg3KD/T11q0KQGgUiUAjod8J6LoMMkHs0/CevP4gjJr7xf21Sy1+cjxYQ1ltY9W4u2lcTgxAmS59w==";
       };
     };
-    "@ot-builder/ot-metadata-1.5.2" = {
+    "@ot-builder/ot-metadata-1.5.4" = {
       name = "_at_ot-builder_slash_ot-metadata";
       packageName = "@ot-builder/ot-metadata";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-metadata/-/ot-metadata-1.5.2.tgz";
-        sha512 = "yqNRfUZDytD2LMIVxAKpKrTXhXyi495LDOSFhgWtfY5bQp9RehwgwzAU+hRG0ILQx9PWGwGjNiqRv8LfjaYOwA==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-metadata/-/ot-metadata-1.5.4.tgz";
+        sha512 = "KegFbpqN9DBx5IgYtMnhxpjg5s1YqNK+y6lZs7lutLLY8Y8wHddhcPcaISho7/yqS0/rCy3NiYwDZd3hJF3n2g==";
       };
     };
-    "@ot-builder/ot-name-1.5.2" = {
+    "@ot-builder/ot-name-1.5.4" = {
       name = "_at_ot-builder_slash_ot-name";
       packageName = "@ot-builder/ot-name";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-name/-/ot-name-1.5.2.tgz";
-        sha512 = "ZyA0jQvpWp0nT9kEYxtsRyetVxdQxbatM1vHm+TMsnhw7S7wU8OhXkF1TzOuhSaWWqDZfz5edPkF3vonXwJRSw==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-name/-/ot-name-1.5.4.tgz";
+        sha512 = "qLq/atnsaBqZegvwJiTzhGxO6gVrQaohwT9V+gvNmnN/cd2V/+V+kNCOoyJM+mIphnijEAmXG5E4dqSzs+gvwA==";
       };
     };
-    "@ot-builder/ot-sfnt-1.5.2" = {
+    "@ot-builder/ot-sfnt-1.5.4" = {
       name = "_at_ot-builder_slash_ot-sfnt";
       packageName = "@ot-builder/ot-sfnt";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-sfnt/-/ot-sfnt-1.5.2.tgz";
-        sha512 = "BATyuGX8xUMz99Yu4pexm63nTa5jsW7XD2tO+eVbjSZsbURD2D1XL6h2MsVtPIcUYGCB8eLBpFRvh+fJlR2bLA==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-sfnt/-/ot-sfnt-1.5.4.tgz";
+        sha512 = "VFRA5rh23YAxckk+N1oBkt68Z2VYhZqMCh36nNBbw6C2I4P4Cqzj9I6EBncqJ+mzXnxYULx/lz+HzpHAqKMN+Q==";
       };
     };
-    "@ot-builder/ot-standard-glyph-namer-1.5.2" = {
+    "@ot-builder/ot-standard-glyph-namer-1.5.4" = {
       name = "_at_ot-builder_slash_ot-standard-glyph-namer";
       packageName = "@ot-builder/ot-standard-glyph-namer";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-standard-glyph-namer/-/ot-standard-glyph-namer-1.5.2.tgz";
-        sha512 = "cCQ0ln4Mq2wiTSKIwiqLIpJVk/6IADpJayncA/vdljKrCKLUVYscS6I1bw3de8bvutc6BdCy9xYshmdsFoIJNQ==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-standard-glyph-namer/-/ot-standard-glyph-namer-1.5.4.tgz";
+        sha512 = "TIOS1RlJKgRhuvFF8XX7Rr3nPvhw15yXJC5iVyuBJgJcoiQOQHg3gKAL0rHDXEHLU6nISL2q5iE8IJiahpP+UA==";
       };
     };
-    "@ot-builder/ot-vtt-private-1.5.2" = {
+    "@ot-builder/ot-vtt-private-1.5.4" = {
       name = "_at_ot-builder_slash_ot-vtt-private";
       packageName = "@ot-builder/ot-vtt-private";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-vtt-private/-/ot-vtt-private-1.5.2.tgz";
-        sha512 = "QIKNssMPTiJKm+r1pbJBxNO36k78D0/BWgq68k9DFH5tfiZnRy6MesczOBIlW9RmRFeFy640yx8tPNGvNYgG8w==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-vtt-private/-/ot-vtt-private-1.5.4.tgz";
+        sha512 = "GTDN4M2MBudjSUuCSw9FVQUmOSZG5OGU2XIPBHFmUi0VwX/DNML3BwaQT7CpFh0MJHsGko+1PZOYlgENjO+tWA==";
       };
     };
-    "@ot-builder/prelude-1.5.2" = {
+    "@ot-builder/prelude-1.5.4" = {
       name = "_at_ot-builder_slash_prelude";
       packageName = "@ot-builder/prelude";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/prelude/-/prelude-1.5.2.tgz";
-        sha512 = "58r3rUfAIo0Irq6XcDn8u9F+YJ5NBwEa5mLrFg0dk7EcbEe5/rErGfeBjzP1uqUoN/zRu1q9zHXB+CU54XrJ/g==";
+        url = "https://registry.npmjs.org/@ot-builder/prelude/-/prelude-1.5.4.tgz";
+        sha512 = "A0US/TENKS5VjW6haBkMRn7VNl0NS9h9Lok4H1/s0fMdB/o5e8mOueTHCfke6wmzdPB+pQIvCvA/JYS0QBNboQ==";
       };
     };
-    "@ot-builder/primitive-1.5.2" = {
+    "@ot-builder/primitive-1.5.4" = {
       name = "_at_ot-builder_slash_primitive";
       packageName = "@ot-builder/primitive";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/primitive/-/primitive-1.5.2.tgz";
-        sha512 = "zSf7O/qc+mrXHNnTrm3n8l02NRfmI3povgOScOE0N9cQ/FoePksiKgk9OWHOg7wQOGcAee7sBWK+ROkRJBLE0g==";
+        url = "https://registry.npmjs.org/@ot-builder/primitive/-/primitive-1.5.4.tgz";
+        sha512 = "aXr4ZjbqVwpmv7Yg/MXy+6TuNUqjAchtQ4Z9P3wmWRv90cY7J0wUJi6W1XLKICCYlB3PffS5fto0qi2uMu84sg==";
       };
     };
-    "@ot-builder/rectify-1.5.2" = {
+    "@ot-builder/rectify-1.5.4" = {
       name = "_at_ot-builder_slash_rectify";
       packageName = "@ot-builder/rectify";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/rectify/-/rectify-1.5.2.tgz";
-        sha512 = "8yKJUzb6PkKS7rRUNVpkk9QJBKRdo6aYAQiPbgn2NpyZXAls3TIbqY0+RYwaTbrIF6PC1P/ZH+jJduDEFEiRIw==";
+        url = "https://registry.npmjs.org/@ot-builder/rectify/-/rectify-1.5.4.tgz";
+        sha512 = "mv1AvjDYgV9HHbMJGS2zSGBW6ngeXLxjx4fUX3csN8I+8j8X7ghcpQ0Bnk/AnR+GjEpQfSRZ4pNWoVcsGD1pSw==";
       };
     };
-    "@ot-builder/stat-glyphs-1.5.2" = {
+    "@ot-builder/stat-glyphs-1.5.4" = {
       name = "_at_ot-builder_slash_stat-glyphs";
       packageName = "@ot-builder/stat-glyphs";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/stat-glyphs/-/stat-glyphs-1.5.2.tgz";
-        sha512 = "sJCvYKR03PeZmdPN+Id6rS4R564wJJ3SlH5+5mGwwBiUBl+A8SnYKt/ono42KerI8KA4ZpZWszr81jsO0Da1MA==";
+        url = "https://registry.npmjs.org/@ot-builder/stat-glyphs/-/stat-glyphs-1.5.4.tgz";
+        sha512 = "bX9p/wrqKk/XQpYBwzru67XHjFYgAHsAemtgVCKSEOx795yMFJCJ/G6Nlic/4Hoia17feDcf0jy1bVrL2NkJww==";
       };
     };
-    "@ot-builder/trace-1.5.2" = {
+    "@ot-builder/trace-1.5.4" = {
       name = "_at_ot-builder_slash_trace";
       packageName = "@ot-builder/trace";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/trace/-/trace-1.5.2.tgz";
-        sha512 = "H9Us+DO5I25dkSCdtGRaVTejvU1/kecXKx24dCnFM1QDslmKvFGNBuYxR2B3Oxo5Jfn2uO8jqqcAtS0mV8etdg==";
+        url = "https://registry.npmjs.org/@ot-builder/trace/-/trace-1.5.4.tgz";
+        sha512 = "5gwLOL311REuWB+2iCNLCPAqc9SBtWHTJATy3S2Dp0SVB8h+yn+pEkW/QxGdXNyM233JKTSuHElN+fN5/8abKw==";
       };
     };
-    "@ot-builder/var-store-1.5.2" = {
+    "@ot-builder/var-store-1.5.4" = {
       name = "_at_ot-builder_slash_var-store";
       packageName = "@ot-builder/var-store";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/var-store/-/var-store-1.5.2.tgz";
-        sha512 = "HNmjiVhdU9epqApbvqr46puJe6N7+R0sMbYs+9UrIf4x+csM97T/Z2o3bKi17Jkn18023UYhCMLP3fxCZQqLbw==";
+        url = "https://registry.npmjs.org/@ot-builder/var-store/-/var-store-1.5.4.tgz";
+        sha512 = "0RL9S+OCfeQrh1eC1yh8BaQiyvdLmbCN7uBaFS5KrUz2V2XO5kQCwzz6NERETWXmieUfzFbfqyFKcBIinLTz0A==";
       };
     };
-    "@ot-builder/variance-1.5.2" = {
+    "@ot-builder/variance-1.5.4" = {
       name = "_at_ot-builder_slash_variance";
       packageName = "@ot-builder/variance";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/variance/-/variance-1.5.2.tgz";
-        sha512 = "xrgAFbPWSS1uKYtPqUTfahc2Ga1kc3tKIzVg9Kp2cFF8atTeinsZ2aWLtnBT2nzf0Z1z/PyWrT08w5bGvL/01A==";
+        url = "https://registry.npmjs.org/@ot-builder/variance/-/variance-1.5.4.tgz";
+        sha512 = "t/DabVMo+uzZgf3ZQCy5++ZVvqTgpKU+5bG/nXWSkmX8vfJz4onJh4ded9kgjcb+nmbT0j3avS91lVPq5g6hWQ==";
       };
     };
-    "@parcel/bundler-default-2.6.1" = {
+    "@parcel/bundler-default-2.7.0" = {
       name = "_at_parcel_slash_bundler-default";
       packageName = "@parcel/bundler-default";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.6.1.tgz";
-        sha512 = "hCaLnvanoQcWp+09WGdo3q1/qrqLuwgoWf3wU5IrQgx77JqnASBTn0/qkEes5vNH0VbHDWmwtPSoECPLWxNS/A==";
+        url = "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.7.0.tgz";
+        sha512 = "PU5MtWWhc+dYI9x8mguYnm9yiG6TkI7niRpxgJgtqAyGHuEyNXVBQQ0X+qyOF4D9LdankBf8uNN18g31IET2Zg==";
       };
     };
-    "@parcel/cache-2.6.1" = {
+    "@parcel/cache-2.7.0" = {
       name = "_at_parcel_slash_cache";
       packageName = "@parcel/cache";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/cache/-/cache-2.6.1.tgz";
-        sha512 = "FjG9DDLUCxlnS32cF7riga8gwMKbwxKnVIUsKZU5K9I+Sd5HtKRqn8H3e7dksCiVCPqZR3jItnr7FH9bEniWJA==";
+        url = "https://registry.npmjs.org/@parcel/cache/-/cache-2.7.0.tgz";
+        sha512 = "JlXNoZXcWzLKdDlfeF3dIj5Vtel5T9vtdBN72PJ+cjC4qNHk4Uwvc5sfOBELuibGN0bVu2bwY9nUgSwCiB1iIA==";
       };
     };
-    "@parcel/codeframe-2.6.1" = {
+    "@parcel/codeframe-2.7.0" = {
       name = "_at_parcel_slash_codeframe";
       packageName = "@parcel/codeframe";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.6.1.tgz";
-        sha512 = "6GR9w9cccxCMbDqXNfEGwFjju+Ks3mMDaiLuLXIITkuEYgxdbXrpNlcpD0tJiSJn3cyo8gieUYFF4wlJyuS/gQ==";
+        url = "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.7.0.tgz";
+        sha512 = "UTKx0jejJmmO1dwTHSJuRgrO8N6PMlkxRT6sew8N6NC3Bgv6pu0EbO+RtlWt/jCvzcdLOPdIoTzj4MMZvgcMYg==";
       };
     };
-    "@parcel/compressor-raw-2.6.1" = {
+    "@parcel/compressor-raw-2.7.0" = {
       name = "_at_parcel_slash_compressor-raw";
       packageName = "@parcel/compressor-raw";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.6.1.tgz";
-        sha512 = "UbA1xndQHZVWXdkVN/3PH0libsB6M1urEvTOrtxXiZS4bVGqj/UwoZ47OZA92ls0q35Qa0tWjQ6zBmlrgRWCsg==";
+        url = "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.7.0.tgz";
+        sha512 = "SCXwnOOQT6EmpusBsYWNQ/RFri+2JnKuE0gMSf2dROl2xbererX45FYzeDplWALCKAdjMNDpFwU+FyMYoVZSCQ==";
       };
     };
-    "@parcel/config-default-2.6.1" = {
+    "@parcel/config-default-2.7.0" = {
       name = "_at_parcel_slash_config-default";
       packageName = "@parcel/config-default";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.6.1.tgz";
-        sha512 = "upW4K2fdljpcHhmniEGVdBjqonFUqfONMWnxrS3WEikcuCwr2/IVLD61w0MPLEeu8Xbr2anHJwh2/kl7DiWDZQ==";
+        url = "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.7.0.tgz";
+        sha512 = "ZzsLr97AYrz8c9k6qn3DlqPzifi3vbP7q3ynUrAFxmt0L4+K0H9N508ZkORYmCgaFjLIQ8Y3eWpwCJ0AewPNIg==";
       };
     };
-    "@parcel/core-2.6.1" = {
+    "@parcel/core-2.7.0" = {
       name = "_at_parcel_slash_core";
       packageName = "@parcel/core";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/core/-/core-2.6.1.tgz";
-        sha512 = "FcinQQEtqqb0cSj4JPD8vx/qMkz1rWdbxtdEPG0W1cA2I5qcVPMgkHsVFrDnWQlQIquwu98um8zg1MrN1KrRew==";
+        url = "https://registry.npmjs.org/@parcel/core/-/core-2.7.0.tgz";
+        sha512 = "7yKZUdh314Q/kU/9+27ZYTfcnXS6VYHuG+iiUlIohnvUUybxLqVJhdMU9Q+z2QcPka1IdJWz4K4Xx0y6/4goyg==";
       };
     };
-    "@parcel/css-1.10.1" = {
+    "@parcel/css-1.12.2" = {
       name = "_at_parcel_slash_css";
       packageName = "@parcel/css";
-      version = "1.10.1";
+      version = "1.12.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/css/-/css-1.10.1.tgz";
-        sha512 = "qnoQM4qH6ytYE3RK8PzMoI8dGPmJv/fNFkeC8Ku0A08GbG/ssir2TCQCarcKFVNgvtfDZ0AX3+vjSkYEAfzhJA==";
+        url = "https://registry.npmjs.org/@parcel/css/-/css-1.12.2.tgz";
+        sha512 = "Sa0PvZu5u877CupQA8IjEATqjJFynBfA7LxbcyutFe2LDCRSqB5Bm08jKFScyaz56qjZNIxZxXk2SApNkOvoAA==";
       };
     };
-    "@parcel/css-darwin-arm64-1.10.1" = {
+    "@parcel/css-darwin-arm64-1.12.2" = {
       name = "_at_parcel_slash_css-darwin-arm64";
       packageName = "@parcel/css-darwin-arm64";
-      version = "1.10.1";
+      version = "1.12.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/css-darwin-arm64/-/css-darwin-arm64-1.10.1.tgz";
-        sha512 = "0ukr4/hSrM24ef8bcZ5b/o8iJrPVAxXOKCPGpmKFd+R/31SYjvFfMJzS2XAYUy0W0FunMW2fte3iTPNMDigyww==";
+        url = "https://registry.npmjs.org/@parcel/css-darwin-arm64/-/css-darwin-arm64-1.12.2.tgz";
+        sha512 = "6VvsoYSltBiUh/uyfPzQ+I3DiTFN7tmRv6zm1LH98J7GGCDDhbYEtbQjjCs15ex6fVn1ORZK0JO+mMlsg1JwTA==";
       };
     };
-    "@parcel/css-darwin-x64-1.10.1" = {
+    "@parcel/css-darwin-x64-1.12.2" = {
       name = "_at_parcel_slash_css-darwin-x64";
       packageName = "@parcel/css-darwin-x64";
-      version = "1.10.1";
+      version = "1.12.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/css-darwin-x64/-/css-darwin-x64-1.10.1.tgz";
-        sha512 = "PFMPptY+OswU68XgBO2RlL6JckeWz/a36r7ys6LMPrNonIOWGce155lwnylBK1Pnx1DRQAN8jWaolo+OkD9RRQ==";
+        url = "https://registry.npmjs.org/@parcel/css-darwin-x64/-/css-darwin-x64-1.12.2.tgz";
+        sha512 = "3J0/LrDvt5vevOisnrE0q5mEcuiAY+K7OZwIv84SAnrbjlL5sshmIaaNzL869kb4thza+RClEj0mS5XTm1IUEw==";
       };
     };
-    "@parcel/css-linux-arm-gnueabihf-1.10.1" = {
+    "@parcel/css-linux-arm-gnueabihf-1.12.2" = {
       name = "_at_parcel_slash_css-linux-arm-gnueabihf";
       packageName = "@parcel/css-linux-arm-gnueabihf";
-      version = "1.10.1";
+      version = "1.12.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/css-linux-arm-gnueabihf/-/css-linux-arm-gnueabihf-1.10.1.tgz";
-        sha512 = "QICiX10CDudilEV+DUBKbbJb7ckSuj2hyI3NyzphRqkxBE7t4Hb04x6RPKITEJwHgvqUQ3OUPWyvtalVAi36Ww==";
+        url = "https://registry.npmjs.org/@parcel/css-linux-arm-gnueabihf/-/css-linux-arm-gnueabihf-1.12.2.tgz";
+        sha512 = "OsX7I3dhBvnxEbAH++08RFe7yhjRp33ulzrCvJTMOP9YkxEEJ8qId3sNzJBHIVQzHyTlPTnBRHbSDhU3TFe/eQ==";
       };
     };
-    "@parcel/css-linux-arm64-gnu-1.10.1" = {
+    "@parcel/css-linux-arm64-gnu-1.12.2" = {
       name = "_at_parcel_slash_css-linux-arm64-gnu";
       packageName = "@parcel/css-linux-arm64-gnu";
-      version = "1.10.1";
+      version = "1.12.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/css-linux-arm64-gnu/-/css-linux-arm64-gnu-1.10.1.tgz";
-        sha512 = "dHaQiBXlrDPdqE8O1qnlYqp1N9la1jgcYgIUCtm4NkNltzLVbbSFXyeG7OXeT6njP6ltMb4mmEFL18I2Wr3l3A==";
+        url = "https://registry.npmjs.org/@parcel/css-linux-arm64-gnu/-/css-linux-arm64-gnu-1.12.2.tgz";
+        sha512 = "R1Kqw+1Rsru9Q4+qvUEC6B8P21bpqhuF9rv8GmBmmnF1i2hMZ1JiY+uh/ej8IaRV0O3fAHeQGIyGBWx6qWDpcw==";
       };
     };
-    "@parcel/css-linux-arm64-musl-1.10.1" = {
+    "@parcel/css-linux-arm64-musl-1.12.2" = {
       name = "_at_parcel_slash_css-linux-arm64-musl";
       packageName = "@parcel/css-linux-arm64-musl";
-      version = "1.10.1";
+      version = "1.12.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/css-linux-arm64-musl/-/css-linux-arm64-musl-1.10.1.tgz";
-        sha512 = "inBbDCGhJaZcNCb588wQz5tYpGbnz8W/g9aFOH6X3nSBNToknOHplBHjOMLOB7vBxAykNjbywaNtE5H9qoY0/A==";
+        url = "https://registry.npmjs.org/@parcel/css-linux-arm64-musl/-/css-linux-arm64-musl-1.12.2.tgz";
+        sha512 = "nwixgM4SEgPUQata9aAiJW0A5Q9ms+xim1tXT1i+91kOei4Fu2Wr2OuofMk+mlhbgmGKCTcu4gzMPReGxUhuRA==";
       };
     };
-    "@parcel/css-linux-x64-gnu-1.10.1" = {
+    "@parcel/css-linux-x64-gnu-1.12.2" = {
       name = "_at_parcel_slash_css-linux-x64-gnu";
       packageName = "@parcel/css-linux-x64-gnu";
-      version = "1.10.1";
+      version = "1.12.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/css-linux-x64-gnu/-/css-linux-x64-gnu-1.10.1.tgz";
-        sha512 = "gBaHgMXom1lCGu/ummD1wqknxF9ZKFBUlxQ/0DtCdOtZlRBEKeWtoskK9tgH4YMnwTpMIagCwWB4UbP/9Yzz6A==";
+        url = "https://registry.npmjs.org/@parcel/css-linux-x64-gnu/-/css-linux-x64-gnu-1.12.2.tgz";
+        sha512 = "cJYVMHnQSGhDwQByyvjFZppjMBNlgxXl/R4cX5DwrQE0QZmK/42BYnMp92rvoprEG6LRyRoiGtCjyfYTPWajog==";
       };
     };
-    "@parcel/css-linux-x64-musl-1.10.1" = {
+    "@parcel/css-linux-x64-musl-1.12.2" = {
       name = "_at_parcel_slash_css-linux-x64-musl";
       packageName = "@parcel/css-linux-x64-musl";
-      version = "1.10.1";
+      version = "1.12.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/css-linux-x64-musl/-/css-linux-x64-musl-1.10.1.tgz";
-        sha512 = "arjLARo/3l0uwPf5qYxCkrS0FTE8n6JH/S1/7DitvhG22fsZdJTGPwe4MYLTIn4s3QXLOVVRrkPDZlUPM1yjFA==";
+        url = "https://registry.npmjs.org/@parcel/css-linux-x64-musl/-/css-linux-x64-musl-1.12.2.tgz";
+        sha512 = "u9zdO/d831/74Tf+TdPUfaIuB9v6FD4Xz8UdWUDOXgQqaOlnJ9fAsAM39EkoWlMxPPljY3f4ay6irSe1a4XgSA==";
       };
     };
-    "@parcel/css-win32-x64-msvc-1.10.1" = {
+    "@parcel/css-win32-x64-msvc-1.12.2" = {
       name = "_at_parcel_slash_css-win32-x64-msvc";
       packageName = "@parcel/css-win32-x64-msvc";
-      version = "1.10.1";
+      version = "1.12.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/css-win32-x64-msvc/-/css-win32-x64-msvc-1.10.1.tgz";
-        sha512 = "f/jkhL2uOZCHJg3/IGcuieZ4TTwkxExLd7SWVuiqJZI2nwOy/gLHTZJz3yzu/D1aLOe0M9/glgzUKRtK0DrUNA==";
+        url = "https://registry.npmjs.org/@parcel/css-win32-x64-msvc/-/css-win32-x64-msvc-1.12.2.tgz";
+        sha512 = "kCAKr3vKqvPUv9oXBG3pGZQz5il3sEk35dpmTXFa/7eDNKR5XyLpiJs8JwWJTFfuUqroymDSXA1bCcjvNEYcAg==";
       };
     };
-    "@parcel/diagnostic-2.6.1" = {
+    "@parcel/diagnostic-2.7.0" = {
       name = "_at_parcel_slash_diagnostic";
       packageName = "@parcel/diagnostic";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.6.1.tgz";
-        sha512 = "7lbmRCHEeS8uzO+BzfTtiJMfeOKf5HOTaVE+kzTkfqHT/H3ChD1rNQQdxTjE+TvX2k7lLdEE6Qstj7OmrE/xQg==";
+        url = "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.7.0.tgz";
+        sha512 = "pdq/cTwVoL0n8yuDCRXFRSQHVWdmmIXPt3R3iT4KtYDYvOrMT2dLPT79IMqQkhYPANW8GuL15n/WxRngfRdkug==";
       };
     };
-    "@parcel/events-2.6.1" = {
+    "@parcel/events-2.7.0" = {
       name = "_at_parcel_slash_events";
       packageName = "@parcel/events";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/events/-/events-2.6.1.tgz";
-        sha512 = "x0PkTFm2wm1hIfwD/p0jNuCUM0t2NwzUxdZrTHm9ncqrYbO2tpG0N5jkTC9V9fu7j639vGVA7uOHYFgExTKUbQ==";
+        url = "https://registry.npmjs.org/@parcel/events/-/events-2.7.0.tgz";
+        sha512 = "kQDwMKgZ1U4M/G17qeDYF6bW5kybluN6ajYPc7mZcrWg+trEI/oXi81GMFaMX0BSUhwhbiN5+/Vb2wiG/Sn6ig==";
       };
     };
     "@parcel/fs-1.11.0" = {
@@ -7366,40 +7654,40 @@ let
         sha512 = "86RyEqULbbVoeo8OLcv+LQ1Vq2PKBAvWTU9fCgALxuCTbbs5Ppcvll4Vr+Ko1AnmMzja/k++SzNAwJfeQXVlpA==";
       };
     };
-    "@parcel/fs-2.6.1" = {
+    "@parcel/fs-2.7.0" = {
       name = "_at_parcel_slash_fs";
       packageName = "@parcel/fs";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/fs/-/fs-2.6.1.tgz";
-        sha512 = "+kI2IPdZ5WH94+9LMCO/INnJUcbPcfVim97ORMjfe3mOYEPEQYqzM5g8SLjqiW/H5OIVapdIYoHWBEBpo3itdA==";
+        url = "https://registry.npmjs.org/@parcel/fs/-/fs-2.7.0.tgz";
+        sha512 = "PU5fo4Hh8y03LZgemgVREttc0wyHQUNmsJCybxTB7EjJie2CqJRumo+DFppArlvdchLwJdc9em03yQV/GNWrEg==";
       };
     };
-    "@parcel/fs-search-2.6.1" = {
+    "@parcel/fs-search-2.7.0" = {
       name = "_at_parcel_slash_fs-search";
       packageName = "@parcel/fs-search";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.6.1.tgz";
-        sha512 = "vfbknvzUjy1PQuCfjfbCQUIQXCUb+n+sd5CZHOODvE4PewvspW/YmKJpYluDr0S4mOa1GX7cHJCL675DALW5yQ==";
+        url = "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.7.0.tgz";
+        sha512 = "K1Hv25bnRpwQVA15RvcRuB8ZhfclnCHA8N8L6w7Ul1ncSJDxCIkIAc5hAubYNNYW3kWjCC2SOaEgFKnbvMllEQ==";
       };
     };
-    "@parcel/graph-2.6.1" = {
+    "@parcel/graph-2.7.0" = {
       name = "_at_parcel_slash_graph";
       packageName = "@parcel/graph";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/graph/-/graph-2.6.1.tgz";
-        sha512 = "tzv9P3hyS9SZiwmE6KB1ZFhXV3/vjFNZV7+XGbf1opI3oTwawBb+XaH4k7InPyVYZTo1QrlauhoP+EQZFyzPEQ==";
+        url = "https://registry.npmjs.org/@parcel/graph/-/graph-2.7.0.tgz";
+        sha512 = "Q6E94GS6q45PtsZh+m+gvFRp/N1Qopxhu2sxjcWsGs5iBd6IWn2oYLWOH5iVzEjWuYpW2HkB08lH6J50O63uOA==";
       };
     };
-    "@parcel/hash-2.6.1" = {
+    "@parcel/hash-2.7.0" = {
       name = "_at_parcel_slash_hash";
       packageName = "@parcel/hash";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/hash/-/hash-2.6.1.tgz";
-        sha512 = "5gve/OKOXzYADfCJ+atpR6L13n4clexazkNRcsm6LZtE2Gm84Nx81gdb8z08EJrZALC62f9J2FOmQxm6ZHrTSQ==";
+        url = "https://registry.npmjs.org/@parcel/hash/-/hash-2.7.0.tgz";
+        sha512 = "k6bSKnIlPJMPU3yjQzfgfvF9zuJZGOAlJgzpL4BbWvdbE8BTdjzLcFn0Ujrtud94EgIkiXd22sC2HpCUWoHGdA==";
       };
     };
     "@parcel/logger-1.11.1" = {
@@ -7411,328 +7699,328 @@ let
         sha512 = "9NF3M6UVeP2udOBDILuoEHd8VrF4vQqoWHEafymO1pfSoOMfxrSJZw1MfyAAIUN/IFp9qjcpDCUbDZB+ioVevA==";
       };
     };
-    "@parcel/logger-2.6.1" = {
+    "@parcel/logger-2.7.0" = {
       name = "_at_parcel_slash_logger";
       packageName = "@parcel/logger";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/logger/-/logger-2.6.1.tgz";
-        sha512 = "AnKAVS/QRi1ee+Q1MxL+oUZT7dBZ36VUtevmXMSaaoN3W1KwYjM4Brq3zdiTZRfa7Akpdu6Ca1QVK5hGpvXKSg==";
+        url = "https://registry.npmjs.org/@parcel/logger/-/logger-2.7.0.tgz";
+        sha512 = "qjMY/bYo38+o+OiIrTRldU9CwL1E7J72t+xkTP8QIcUxLWz5LYR0YbynZUVulmBSfqsykjjxCy4a+8siVr+lPw==";
       };
     };
-    "@parcel/markdown-ansi-2.6.1" = {
+    "@parcel/markdown-ansi-2.7.0" = {
       name = "_at_parcel_slash_markdown-ansi";
       packageName = "@parcel/markdown-ansi";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.6.1.tgz";
-        sha512 = "p4dDINi+UeEUQfkA70R9gNJIuSnMuljSUfHf7erTU8vSqRD1tQpnmH7GfzzQLHYwHk8UYICGU8C6z7EtPH92Ng==";
+        url = "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.7.0.tgz";
+        sha512 = "ipOX0D6FVZFEXeb/z8MnTMq2RQEIuaILY90olVIuHEFLHHfOPEn+RK3u13HA1ChF5/9E3cMD79tu6x9JL9Kqag==";
       };
     };
-    "@parcel/namer-default-2.6.1" = {
+    "@parcel/namer-default-2.7.0" = {
       name = "_at_parcel_slash_namer-default";
       packageName = "@parcel/namer-default";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.6.1.tgz";
-        sha512 = "J7KajS6s0GvpZ0YIN8t/Z4Go/E7tS136bKyvSdWhVOUosmt2pW1L20lq9KfPVYDvWQNu12jqJbAHQFsqOLyllw==";
+        url = "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.7.0.tgz";
+        sha512 = "lIKMdsmi//7fepecNDYmJYzBlL91HifPsX03lJCdu1dC6q5fBs+gG0XjKKG7yPnSCw1qH/4m7drzt9+dRZYAHQ==";
       };
     };
-    "@parcel/node-resolver-core-2.6.1" = {
+    "@parcel/node-resolver-core-2.7.0" = {
       name = "_at_parcel_slash_node-resolver-core";
       packageName = "@parcel/node-resolver-core";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-2.6.1.tgz";
-        sha512 = "LaLiJkgr5Cq9ue5wxsFR97S3R+IOGkmvivNsdc4Y9Gdj9WO1nMTaNMBlw+AIjtbzdbw0MUvKQik2tR4AmfBcLw==";
+        url = "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-2.7.0.tgz";
+        sha512 = "5UJQHalqMxdhJIs2hhqQzFfQpF7+NAowsRq064lYtiRvcD8wMr3OOQ9wd1iazGpFSl4JKdT7BwDU9/miDJmanQ==";
       };
     };
-    "@parcel/optimizer-css-2.6.1" = {
+    "@parcel/optimizer-css-2.7.0" = {
       name = "_at_parcel_slash_optimizer-css";
       packageName = "@parcel/optimizer-css";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.6.1.tgz";
-        sha512 = "VNdATqH068XCbzaOBbgdZOBJAMomkXOqcmxXOmQkHqTKqBO11xXLIESP+PQwTXoxy7If+2ufxOPCHTI20691Jg==";
+        url = "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.7.0.tgz";
+        sha512 = "IfnOMACqhcAclKyOW9X9JpsknB6OShk9OVvb8EvbDTKHJhQHNNmzE88OkSI/pS3ZVZP9Zj+nWcVHguV+kvDeiQ==";
       };
     };
-    "@parcel/optimizer-htmlnano-2.6.1" = {
+    "@parcel/optimizer-htmlnano-2.7.0" = {
       name = "_at_parcel_slash_optimizer-htmlnano";
       packageName = "@parcel/optimizer-htmlnano";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.6.1.tgz";
-        sha512 = "m+S3lvmSPEnPaUZzM2J/Lk8APYvMXXiJiz9UdjGa6yeW8yfR5TBPKoNPdO3XgAt13YGiNFhi/QasqsvE18iX+A==";
+        url = "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.7.0.tgz";
+        sha512 = "5QrGdWS5Hi4VXE3nQNrGqugmSXt68YIsWwKRAdarOxzyULSJS3gbCiQOXqIPRJobfZjnSIcdtkyxSiCUe1inIA==";
       };
     };
-    "@parcel/optimizer-image-2.6.1" = {
+    "@parcel/optimizer-image-2.7.0" = {
       name = "_at_parcel_slash_optimizer-image";
       packageName = "@parcel/optimizer-image";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.6.1.tgz";
-        sha512 = "xZ8+dygBgHQyOsMv7O1YzNGO1MKFNiE+72gN9LhjG7ld6bSix4he1af0ac7p9bpTv1cNfx/eTY604u+gv8XPqg==";
+        url = "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.7.0.tgz";
+        sha512 = "EnaXz5UjR67FUu0BEcqZTT9LsbB/iFAkkghCotbnbOuC5QQsloq6tw54TKU3y+R3qsjgUoMtGxPcGfVoXxZXYw==";
       };
     };
-    "@parcel/optimizer-svgo-2.6.1" = {
+    "@parcel/optimizer-svgo-2.7.0" = {
       name = "_at_parcel_slash_optimizer-svgo";
       packageName = "@parcel/optimizer-svgo";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.6.1.tgz";
-        sha512 = "oyEs/8JzMJnAmJYZsWeEpC3jgyDwxA9KAnntG/41n6WDX6KDdDhY5p8B+jEvt/WQu5MQXcvIoWnMWv0W6brq+Q==";
+        url = "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.7.0.tgz";
+        sha512 = "IO1JV4NpfP3V7FrhsqCcV8pDQIHraFi1/ZvEJyssITxjH49Im/txKlwMiQuZZryAPn8Xb8g395Muawuk6AK6sg==";
       };
     };
-    "@parcel/optimizer-terser-2.6.1" = {
+    "@parcel/optimizer-terser-2.7.0" = {
       name = "_at_parcel_slash_optimizer-terser";
       packageName = "@parcel/optimizer-terser";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/optimizer-terser/-/optimizer-terser-2.6.1.tgz";
-        sha512 = "h/bRdIU7Rh5MEhdX9cIGgqnu4+BpVBjRwDMqRvNirkAY6fZTLXgVb6ZxJq2jx8G4+j3sGzUmP1WaIPHeC0YJcg==";
+        url = "https://registry.npmjs.org/@parcel/optimizer-terser/-/optimizer-terser-2.7.0.tgz";
+        sha512 = "07VZjIO8xsl2/WmS/qHI8lI/cpu47iS9eRpqwfZEEsdk1cfz50jhWkmFudHBxiHGMfcZ//1+DdaPg9RDBWZtZA==";
       };
     };
-    "@parcel/package-manager-2.6.1" = {
+    "@parcel/package-manager-2.7.0" = {
       name = "_at_parcel_slash_package-manager";
       packageName = "@parcel/package-manager";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.6.1.tgz";
-        sha512 = "lC+e0l+rB2QYBtXetAdDSqcidni0V1eYEAYXv4+sLnAMwyCeH3x4Ctivj/w0ILzuAFnS5ow9V91boM6DQegqHQ==";
+        url = "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.7.0.tgz";
+        sha512 = "wmfSX1mRrTi8MeA4KrnPk/x7zGUsILCQmTo6lA4gygzAxDbM1pGuyFN8/Kt0y0SFO2lbljARtD/4an5qdotH+Q==";
       };
     };
-    "@parcel/packager-css-2.6.1" = {
+    "@parcel/packager-css-2.7.0" = {
       name = "_at_parcel_slash_packager-css";
       packageName = "@parcel/packager-css";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.6.1.tgz";
-        sha512 = "wUGzbH8u9FyybaiCbDYdWkyrObh994PzYzj0m6rwRz+g8HNDSvzHafOnms3e/IzhtchavVwq4yvhl4xyA2WYLQ==";
+        url = "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.7.0.tgz";
+        sha512 = "44nzZwu+ssGuiFmYM6cf/Y4iChiUZ4DUzzpegnGlhXtKJKe4NHntxThJynuRZWKN2AAf48avApDpimg2jW0KDw==";
       };
     };
-    "@parcel/packager-html-2.6.1" = {
+    "@parcel/packager-html-2.7.0" = {
       name = "_at_parcel_slash_packager-html";
       packageName = "@parcel/packager-html";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.6.1.tgz";
-        sha512 = "AzlhBG00yVvAO+3jeky5z09GLxvb9YPV+VjlExQd7OpVHlCXU7m6JafxdtesUzb63gSOsu00Hms6iNN2USv2Gg==";
+        url = "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.7.0.tgz";
+        sha512 = "Zgqd7sdcY/UnR370GR0q2ilmEohUDXsO8A1F28QCJzIsR1iCB6KRUT74+pawfQ1IhXZLaaFLLYe0UWcfm0JeXg==";
       };
     };
-    "@parcel/packager-js-2.6.1" = {
+    "@parcel/packager-js-2.7.0" = {
       name = "_at_parcel_slash_packager-js";
       packageName = "@parcel/packager-js";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.6.1.tgz";
-        sha512 = "NW2fag24sGrLwBohwk/QwqC+TYvUbh1qEWzOHQ6s1nW+12eKm+kFpSUiK3WTHhMOZoyqH/DNCdsvvHTtCXFgCA==";
+        url = "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.7.0.tgz";
+        sha512 = "wTRdM81PgRVDzWGXdWmqLwguWnTYWzhEDdjXpW2n8uMOu/CjHhMtogk65aaYk3GOnq6OBL/NsrmBiV/zKPj1vA==";
       };
     };
-    "@parcel/packager-raw-2.6.1" = {
+    "@parcel/packager-raw-2.7.0" = {
       name = "_at_parcel_slash_packager-raw";
       packageName = "@parcel/packager-raw";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.6.1.tgz";
-        sha512 = "v7C9Jlp1ybUs9qbYZWIdzmdXKOZ5q5e05/YxE205UQgHy7cbuTD9ZY4xiuHAsP9qA8oBY4nD5kYyWuNSU92WWA==";
+        url = "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.7.0.tgz";
+        sha512 = "jg2Zp8dI5VpIQlaeahXDCfrPN9m/DKht1NkR9P2CylMAwqCcc1Xc1RRiF0wfwcPZpPMpq1265n+4qnB7rjGBlA==";
       };
     };
-    "@parcel/packager-svg-2.6.1" = {
+    "@parcel/packager-svg-2.7.0" = {
       name = "_at_parcel_slash_packager-svg";
       packageName = "@parcel/packager-svg";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.6.1.tgz";
-        sha512 = "ziAVCkDI7HjdXbQy3NfinRbw/nsZ8COn2oPFfukx1H3DmNhGeur3TYYLhiN0PZB45j8w9rSWoUEgDWXRqSMN4w==";
+        url = "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.7.0.tgz";
+        sha512 = "EmJg3HpD6/xxKBjir/CdCKJZwI24iVfBuxRS9LUp3xHAIebOzVh1z6IN+i2Di5+NyRwfOFaLliL4uMa1zwbyCA==";
       };
     };
-    "@parcel/plugin-2.6.1" = {
+    "@parcel/plugin-2.7.0" = {
       name = "_at_parcel_slash_plugin";
       packageName = "@parcel/plugin";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.6.1.tgz";
-        sha512 = "0QVS7mhrS9gGHtaT0KpPes2CCCAyPvvI2oZLq+NX3z7Qa73kj3Ct5QL2JuRywnefDVnkY79256oTdsq/nJrnXg==";
+        url = "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.7.0.tgz";
+        sha512 = "qqgx+nnMn6/0lRc4lKbLGmhNtBiT93S2gFNB4Eb4Pfz/SxVYoW+fmml+KdfOSiZffWOAH5L6NwhyD7N8aSikzw==";
       };
     };
-    "@parcel/reporter-cli-2.6.1" = {
+    "@parcel/reporter-cli-2.7.0" = {
       name = "_at_parcel_slash_reporter-cli";
       packageName = "@parcel/reporter-cli";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.6.1.tgz";
-        sha512 = "VpVIUXReEvNko1DP+75++YQMhKLKjtyu7OziDR3AMPcRFnSbygttonK0TYg88gZ0QtHF3lNkFvn4LMECVAL5PQ==";
+        url = "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.7.0.tgz";
+        sha512 = "80gEODg8cnAmnxGVuaSVDo8JJ54P9AA2bHwSs1cIkHWlJ3BjDQb83H31bBHncJ5Kn5kQ/j+7WjlqHpTCiOR9PA==";
       };
     };
-    "@parcel/reporter-dev-server-2.6.1" = {
+    "@parcel/reporter-dev-server-2.7.0" = {
       name = "_at_parcel_slash_reporter-dev-server";
       packageName = "@parcel/reporter-dev-server";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.6.1.tgz";
-        sha512 = "JerLdJZdYJEchJ7lbBS79lJJHxEG2qDBmSQ5LUuX94/YNo1pQEOAQtc2Ogv98ZSjOdp8xaNYCKYKXIVd2d4gYA==";
+        url = "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.7.0.tgz";
+        sha512 = "ySuou5addK8fGue8aXzo536BaEjMujDrEc1xkp4TasInXHVcA98b+SYX5NAZTGob5CxKvZQ5ylhg77zW30B+iA==";
       };
     };
-    "@parcel/resolver-default-2.6.1" = {
+    "@parcel/resolver-default-2.7.0" = {
       name = "_at_parcel_slash_resolver-default";
       packageName = "@parcel/resolver-default";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.6.1.tgz";
-        sha512 = "C9kEwzluijSqdD7hXmFTRfOBNjxxrMepT5M3ZpgvtPABhZyR3epkOugD1p54ChHr3vsrfWJIjRZLi7JoI8o/VA==";
+        url = "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.7.0.tgz";
+        sha512 = "v8TvWsbLK7/q7n4gv6OrYNbW18xUx4zKbVMGZb1u4yMhzEH4HFr1D9OeoTq3jk+ximAigds8B6triQbL5exF7A==";
       };
     };
-    "@parcel/runtime-browser-hmr-2.6.1" = {
+    "@parcel/runtime-browser-hmr-2.7.0" = {
       name = "_at_parcel_slash_runtime-browser-hmr";
       packageName = "@parcel/runtime-browser-hmr";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.6.1.tgz";
-        sha512 = "TJzONMgyU6mZ8faI8viuPzVfpPJLtesioCqDpV9/8f27JXBCL/3mRWVzoD0CJ5u94xmF0R1ErySJX5odDD++lQ==";
+        url = "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.7.0.tgz";
+        sha512 = "PLbMLdclQeYsi2LkilZVGFV1n3y55G1jaBvby4ekedUZjMw3SWdMY2tDxgSDdFWfLCnYHJXdGUQSzGGi1kPzjA==";
       };
     };
-    "@parcel/runtime-js-2.6.1" = {
+    "@parcel/runtime-js-2.7.0" = {
       name = "_at_parcel_slash_runtime-js";
       packageName = "@parcel/runtime-js";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.6.1.tgz";
-        sha512 = "nZkSD2QR677GYS+wIS2vuqCVqIMc91+8KidkwPqrzodGVzAS1QF4SD5Fy4sB2sqGJU9yRpxIB6q8figM0uZ1SQ==";
+        url = "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.7.0.tgz";
+        sha512 = "9/YUZTBNrSN2H6rbz/o1EOM0O7I3ZR/x9IDzxjJBD6Mi+0uCgCD02aedare/SNr1qgnbZZWmhpOzC+YgREcfLA==";
       };
     };
-    "@parcel/runtime-react-refresh-2.6.1" = {
+    "@parcel/runtime-react-refresh-2.7.0" = {
       name = "_at_parcel_slash_runtime-react-refresh";
       packageName = "@parcel/runtime-react-refresh";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.6.1.tgz";
-        sha512 = "+ZrWKChGqsJ3xtUTd/fIeEMruSLvIMpmgujAjo6cFCzG3cOcpRcLa7mpWDydicUaWsiIx7lL5LIWu5bCS9G+DQ==";
+        url = "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.7.0.tgz";
+        sha512 = "vDKO0rWqRzEpmvoZ4kkYUiSsTxT5NnH904BFPFxKI0wJCl6yEmPuEifmATo73OuYhP6jIP3Qfl1R4TtiDFPJ1Q==";
       };
     };
-    "@parcel/runtime-service-worker-2.6.1" = {
+    "@parcel/runtime-service-worker-2.7.0" = {
       name = "_at_parcel_slash_runtime-service-worker";
       packageName = "@parcel/runtime-service-worker";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.6.1.tgz";
-        sha512 = "v9VbhZEEtxG3gdp4BF4JX5ji9O87RS+4HxxY2w1LHKz+t3t1ODWG5WVfIQmKD/wBwFYwQWaI6qAVXuIY26SfjQ==";
+        url = "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.7.0.tgz";
+        sha512 = "uD2pAV0yV6+e7JaWH4KVPbG+zRCrxr/OACyS9tIh+Q/R1vRmh8zGM3yhdrcoiZ7tFOnM72vd6xY11eTrUsSVig==";
       };
     };
-    "@parcel/source-map-2.0.5" = {
+    "@parcel/source-map-2.1.0" = {
       name = "_at_parcel_slash_source-map";
       packageName = "@parcel/source-map";
-      version = "2.0.5";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/source-map/-/source-map-2.0.5.tgz";
-        sha512 = "DRVlCFKLpqBSIbMxUoVlHgfiv12HTW/U7nnhzw52YgzDVXUX9OA41dXS1PU0pJ1si+D1k8msATUC+AoldN43mg==";
+        url = "https://registry.npmjs.org/@parcel/source-map/-/source-map-2.1.0.tgz";
+        sha512 = "E7UOEIof2o89LrKk1agSLmwakjigmEdDp1ZaEdsLVEvq63R/bul4Ij5CT+0ZDcijGpl5tnTbQADY9EyYGtjYgQ==";
       };
     };
-    "@parcel/transformer-babel-2.6.1" = {
+    "@parcel/transformer-babel-2.7.0" = {
       name = "_at_parcel_slash_transformer-babel";
       packageName = "@parcel/transformer-babel";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.6.1.tgz";
-        sha512 = "VEB62Okq7epZmmGMBro3B7LoCfLKY3HqVGWXbY3kJ+R36+2UImMyG7eGVPGf3FCJY9Jt3McGfCUKdDR4en2rFg==";
+        url = "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.7.0.tgz";
+        sha512 = "7iklDXXnKH1530+QbI+e4kIJ+Q1puA1ulRS10db3aUJMj5GnvXGDFwhSZ7+T1ps66QHO7cVO29VlbqiRDarH1Q==";
       };
     };
-    "@parcel/transformer-css-2.6.1" = {
+    "@parcel/transformer-css-2.7.0" = {
       name = "_at_parcel_slash_transformer-css";
       packageName = "@parcel/transformer-css";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.6.1.tgz";
-        sha512 = "trVn7+Mx9/XNr9+eXumMuDbNRfkCmrplGQ6nlf6ZeuSs7ayNFDVuudsnC7SN1Yn+YpyWjgOD17RmlS581ZKTAw==";
+        url = "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.7.0.tgz";
+        sha512 = "J4EpWK9spQpXyNCmKK8Xnane0xW/1B/EAmfp7Fiv7g+5yUjY4ODf4KUugvE+Eb2gekPkhOKNHermO2KrX0/PFA==";
       };
     };
-    "@parcel/transformer-html-2.6.1" = {
+    "@parcel/transformer-html-2.7.0" = {
       name = "_at_parcel_slash_transformer-html";
       packageName = "@parcel/transformer-html";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.6.1.tgz";
-        sha512 = "GpHXG8v1U0heCbNVQ8gmnJJqAkceKROvj7BreR7UokXP+Frr+ydKKumbVLK7kjwwlagy85VMnIMaFG8/zZ4lqA==";
+        url = "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.7.0.tgz";
+        sha512 = "wYJl5rn81W+Rlk9oQwDJcjoVsWVDKyeri84FzmlGXOsg0EYgnqOiG+3MDM8GeZjfuGe5fuoum4eqZeS0WdUHXw==";
       };
     };
-    "@parcel/transformer-image-2.6.1" = {
+    "@parcel/transformer-image-2.7.0" = {
       name = "_at_parcel_slash_transformer-image";
       packageName = "@parcel/transformer-image";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.6.1.tgz";
-        sha512 = "s+ht/DD2pzCx0yq4L6rNHu8oxTQ6Xx8PKcxZxlEsaW2xyDWJ0nvhLE0p296Xa+A4Vw31DENIe1Wq1PQ2C6UrTA==";
+        url = "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.7.0.tgz";
+        sha512 = "mhi9/R5/ULhCkL2COVIKhNFoLDiZwQgprdaTJr5fnODggVxEX5o7ebFV6KNLMTEkwZUJWoB1hL0ziI0++DtoFA==";
       };
     };
-    "@parcel/transformer-js-2.6.1" = {
+    "@parcel/transformer-js-2.7.0" = {
       name = "_at_parcel_slash_transformer-js";
       packageName = "@parcel/transformer-js";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.6.1.tgz";
-        sha512 = "jtf154aL7OCbsgi0A4Bk/2oYfdNIFRILho7UXIQ0qszkCj0IDO67bzUF1Q4JuAFS9vyqulyId6HYFqCkmOlv3A==";
+        url = "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.7.0.tgz";
+        sha512 = "mzerR+D4rDomUSIk5RSTa2w+DXBdXUeQrpDO74WCDdpDi1lIl8ppFpqtmU7O6y6p8QsgkmS9b0g/vhcry6CJTA==";
       };
     };
-    "@parcel/transformer-json-2.6.1" = {
+    "@parcel/transformer-json-2.7.0" = {
       name = "_at_parcel_slash_transformer-json";
       packageName = "@parcel/transformer-json";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.6.1.tgz";
-        sha512 = "GPI+mUiLm/B8eR7zXWIV252TQarN6Qv3S0wnJhs30gA8EI8/MkFkEgJFoKAKP7saV/r2gnONEZlovQvTuF0oqw==";
+        url = "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.7.0.tgz";
+        sha512 = "RQjuxBpYOch+kr4a0zi77KJtOLTPYRM7iq4NN80zKnA0r0dwDUCxZBtaj2l0O0o3R4MMJnm+ncP+cB7XR7dZYA==";
       };
     };
-    "@parcel/transformer-postcss-2.6.1" = {
+    "@parcel/transformer-postcss-2.7.0" = {
       name = "_at_parcel_slash_transformer-postcss";
       packageName = "@parcel/transformer-postcss";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.6.1.tgz";
-        sha512 = "NeZDXa9PkvHgwNWWtxaJWgGu7oq+jReCd1L/uXQRcNys2feUApdlQuKIjea1uL1UK6ydsS2kzmv/HqGWK3nGxA==";
+        url = "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.7.0.tgz";
+        sha512 = "b6RskXBWf0MjpC9qjR2dQ1ZdRnlOiKYseG5CEovWCqM218RtdydFKz7jS+5Gxkb6qBtOG7zGPONXdPe+gTILcA==";
       };
     };
-    "@parcel/transformer-posthtml-2.6.1" = {
+    "@parcel/transformer-posthtml-2.7.0" = {
       name = "_at_parcel_slash_transformer-posthtml";
       packageName = "@parcel/transformer-posthtml";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.6.1.tgz";
-        sha512 = "XzfQf193m0RrlTzKDpqWWnS3ONn9xD9C8pKGvWapmrfFIMSwiOTY3EHUD8P3kCeon2CyddfshU1Y6yPkVdreww==";
+        url = "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.7.0.tgz";
+        sha512 = "cP8YOiSynWJ1ycmBlhnnHeuQb2cwmklZ+BNyLUktj5p78kDy2de7VjX+dRNRHoW4H9OgEcSF4UEfDVVz5RYIhw==";
       };
     };
-    "@parcel/transformer-raw-2.6.1" = {
+    "@parcel/transformer-raw-2.7.0" = {
       name = "_at_parcel_slash_transformer-raw";
       packageName = "@parcel/transformer-raw";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.6.1.tgz";
-        sha512 = "gkuUksA8TDjaSlU9I2MFH4R3WfHXBOHLZlZ+juPK2rlLhhe8A/mvwOuWreNyjQTnKt6QXkdIkvgc9gTlsSHnXQ==";
+        url = "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.7.0.tgz";
+        sha512 = "sDnItWCFSDez0izK1i5cgv+kXzZTbcJh4rNpVIgmE1kBLvAz608sqgcCkavb2wVJIvLesxYM+5G4p1CwkDlZ1g==";
       };
     };
-    "@parcel/transformer-react-refresh-wrap-2.6.1" = {
+    "@parcel/transformer-react-refresh-wrap-2.7.0" = {
       name = "_at_parcel_slash_transformer-react-refresh-wrap";
       packageName = "@parcel/transformer-react-refresh-wrap";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.6.1.tgz";
-        sha512 = "EZg2OKsurEmvcCkbroL2v6sBk7X790BK7nlrCHug9EX8aatiwvabxBPlx9aRUwUEjqRBosmS+fmU1exKpqBZxA==";
+        url = "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.7.0.tgz";
+        sha512 = "1vRmIJzyBA1nIiXTAU6tZExq2FvJj/2F0ft6KDw8GYPv0KjmdiPo/PmaZ7JeSVOM6SdXQIQCbTmp1vkMP7DtkA==";
       };
     };
-    "@parcel/transformer-svg-2.6.1" = {
+    "@parcel/transformer-svg-2.7.0" = {
       name = "_at_parcel_slash_transformer-svg";
       packageName = "@parcel/transformer-svg";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.6.1.tgz";
-        sha512 = "k9ccxU4eLMrmKDTdXbabq6C/TsF+bOSrWQYOC8QK+VPSF91S47vhVqLTiFeguB8bJGeLgd4uGS+YgdOLGjAJcw==";
+        url = "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.7.0.tgz";
+        sha512 = "ioER37zceuuE+K6ZrnjCyMUWEnv+63hIAFResc1OXxRhyt+7kzMz9ZqK0Mt6QMLwl1dxhkLmrU41n9IxzKZuSQ==";
       };
     };
-    "@parcel/types-2.6.1" = {
+    "@parcel/types-2.7.0" = {
       name = "_at_parcel_slash_types";
       packageName = "@parcel/types";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/types/-/types-2.6.1.tgz";
-        sha512 = "IXt0MiBmg95SKOAyvRNjcNlJvWUMtvCw6ea7+h1mWStm4gcJBoaznbgLJsG2C17AJ2F8CNR/5jZKlM9SDzTayg==";
+        url = "https://registry.npmjs.org/@parcel/types/-/types-2.7.0.tgz";
+        sha512 = "+dhXVUnseTCpJvBTGMp0V6X13z6O/A/+CUtwEpMGZ8XSmZ4Gk44GvaTiBOp0bJpWG4fvCKp+UmC8PYbrDiiziw==";
       };
     };
     "@parcel/utils-1.11.0" = {
@@ -7744,13 +8032,13 @@ let
         sha512 = "cA3p4jTlaMeOtAKR/6AadanOPvKeg8VwgnHhOyfi0yClD0TZS/hi9xu12w4EzA/8NtHu0g6o4RDfcNjqN8l1AQ==";
       };
     };
-    "@parcel/utils-2.6.1" = {
+    "@parcel/utils-2.7.0" = {
       name = "_at_parcel_slash_utils";
       packageName = "@parcel/utils";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/utils/-/utils-2.6.1.tgz";
-        sha512 = "jMoNNBVGGs1IeNZnGGJv3R2otmf39X/0OerpuI27Ut4iCt79y6TVMFdoB7eG2aEYFdL6cD7xNfieQvX+6nrjoQ==";
+        url = "https://registry.npmjs.org/@parcel/utils/-/utils-2.7.0.tgz";
+        sha512 = "jNZ5bIGg1r1RDRKi562o4kuVwnz+XJ2Ie3b0Zwrqwvgfj6AbRFIKzDd+h85dWWmcDYzKUbHp11u6VJl1u8Vapg==";
       };
     };
     "@parcel/watcher-1.12.1" = {
@@ -7762,6 +8050,15 @@ let
         sha512 = "od+uCtCxC/KoNQAIE1vWx1YTyKYY+7CTrxBJPRh3cDWw/C0tCtlBMVlrbplscGoEpt6B27KhJDCv82PBxOERNA==";
       };
     };
+    "@parcel/watcher-2.0.4" = {
+      name = "_at_parcel_slash_watcher";
+      packageName = "@parcel/watcher";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.4.tgz";
+        sha512 = "cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==";
+      };
+    };
     "@parcel/watcher-2.0.5" = {
       name = "_at_parcel_slash_watcher";
       packageName = "@parcel/watcher";
@@ -7780,22 +8077,22 @@ let
         sha512 = "USSjRAAQYsZFlv43FUPdD+jEGML5/8oLF0rUzPQTtK4q9kvaXr49F5ZplyLz5lox78cLZ0TxN2bIDQ1xhOkulQ==";
       };
     };
-    "@parcel/workers-2.6.1" = {
+    "@parcel/workers-2.7.0" = {
       name = "_at_parcel_slash_workers";
       packageName = "@parcel/workers";
-      version = "2.6.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/workers/-/workers-2.6.1.tgz";
-        sha512 = "KIXu5HAmnEDIDwwJDnLzlr0avsewux3rWHe/nN43ERgj2j5j1nVqIulE7tX+XKAM3AHTFKWHJi5RLX4Htl2wwg==";
+        url = "https://registry.npmjs.org/@parcel/workers/-/workers-2.7.0.tgz";
+        sha512 = "99VfaOX+89+RaoTSyH9ZQtkMBFZBFMvJmVJ/GeJT6QCd2wtKBStTHlaSnQOkLD/iRjJCNwV2xpZmm8YkTwV+hg==";
       };
     };
-    "@peculiar/asn1-schema-2.1.9" = {
+    "@peculiar/asn1-schema-2.2.0" = {
       name = "_at_peculiar_slash_asn1-schema";
       packageName = "@peculiar/asn1-schema";
-      version = "2.1.9";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.1.9.tgz";
-        sha512 = "Ipio+pXGpL/Vb0qB4GnOgFMgc1RAhKHOVy24rQYLvmOAVp9z/aFb+VdIiQH09NjgvGVmaWOUqSWd9vRHk3xbrg==";
+        url = "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.2.0.tgz";
+        sha512 = "1ENEJNY7Lwlua/1wvzpYP194WtjQBfFxvde2FlzfBFh/ln6wvChrtxlORhbKEnYswzn6fOC4c7HdC5izLPMTJg==";
       };
     };
     "@peculiar/json-schema-1.1.12" = {
@@ -7852,31 +8149,49 @@ let
         sha512 = "SXsM27SGH3yTWKc2fKR4SYNxsmnvuBQ9dd6QHtEWmiZ/VqaOYPAIlS8+vMcn27YLtAEBGvNRSh3TPNvtjZgfqA==";
       };
     };
-    "@primer/octicons-17.0.0" = {
+    "@pnpm/network.ca-file-1.0.1" = {
+      name = "_at_pnpm_slash_network.ca-file";
+      packageName = "@pnpm/network.ca-file";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.1.tgz";
+        sha512 = "gkINruT2KUhZLTaiHxwCOh1O4NVnFT0wLjWFBHmTz9vpKag/C/noIMJXBxFe4F0mYpUVX2puLwAieLYFg2NvoA==";
+      };
+    };
+    "@pnpm/npm-conf-1.0.5" = {
+      name = "_at_pnpm_slash_npm-conf";
+      packageName = "@pnpm/npm-conf";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-1.0.5.tgz";
+        sha512 = "hD8ml183638O3R6/Txrh0L8VzGOrFXgRtRDG4qQC4tONdZ5Z1M+tlUUDUvrjYdmK6G+JTBTeaCLMna11cXzi8A==";
+      };
+    };
+    "@primer/octicons-17.3.0" = {
       name = "_at_primer_slash_octicons";
       packageName = "@primer/octicons";
-      version = "17.0.0";
+      version = "17.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@primer/octicons/-/octicons-17.0.0.tgz";
-        sha512 = "DiIjtous4XPuR2deTctD3/RVZy/vRzVYBgYYvHV313MmTfkbVP60qLH5txrT3/bYNvnb0poNDelLS6U0kqlvHA==";
+        url = "https://registry.npmjs.org/@primer/octicons/-/octicons-17.3.0.tgz";
+        sha512 = "4zPwwloYWdR6RznMafV7Fsw3n2CeDPp/+qEIQbaX/tBbPY1KmU0OAXmhRfhD5AzgB5kdV1aQ7KnQr1GeQXl9Dg==";
       };
     };
-    "@prisma/engines-3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e" = {
+    "@prisma/engines-4.1.1" = {
       name = "_at_prisma_slash_engines";
       packageName = "@prisma/engines";
-      version = "3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@prisma/engines/-/engines-3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e.tgz";
-        sha512 = "NHlojO1DFTsSi3FtEleL9QWXeSF/UjhCW0fgpi7bumnNZ4wj/eQ+BJJ5n2pgoOliTOGv9nX2qXvmHap7rJMNmg==";
+        url = "https://registry.npmjs.org/@prisma/engines/-/engines-4.1.1.tgz";
+        sha512 = "DCw8L/SS0IXqmj5IW/fMxOXiifnsfjBzDfRhf0j3NFWqvMCh9OtfjmXQZxVgI2mwvJLc/5jzXhkiWT39qS09dA==";
       };
     };
-    "@prisma/prisma-fmt-wasm-3.15.0-29.b9297dc3a59307060c1c39d7e4f5765066f38372" = {
+    "@prisma/prisma-fmt-wasm-4.1.0-48.8d8414deb360336e4698a65aa45a1fbaf1ce13d8" = {
       name = "_at_prisma_slash_prisma-fmt-wasm";
       packageName = "@prisma/prisma-fmt-wasm";
-      version = "3.15.0-29.b9297dc3a59307060c1c39d7e4f5765066f38372";
+      version = "4.1.0-48.8d8414deb360336e4698a65aa45a1fbaf1ce13d8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@prisma/prisma-fmt-wasm/-/prisma-fmt-wasm-3.15.0-29.b9297dc3a59307060c1c39d7e4f5765066f38372.tgz";
-        sha512 = "WZPmtF1rejy5aWyldms+zwP2IvI/g/j09fOD9+PnJJYAzgOXqGcp9lp0StTWZI0mZ1xNMlF5EIbcQHTWxGDYnw==";
+        url = "https://registry.npmjs.org/@prisma/prisma-fmt-wasm/-/prisma-fmt-wasm-4.1.0-48.8d8414deb360336e4698a65aa45a1fbaf1ce13d8.tgz";
+        sha512 = "FMluV86ivbESe7I7cw/e3ee/iU2z0zbV5z9ELNRoNBG/H3FUaMN1ZtVa4RwbY8EgfatfF+6TQamsU1DmNp5i4w==";
       };
     };
     "@protobufjs/aspromise-1.1.2" = {
@@ -8023,40 +8338,13 @@ let
         sha512 = "y9qNj0//tZtWB2jfXNK3BX18BSBp9zNR7KE7lMysVHwbZtY392OJCjm6Rb/h4UHH2r1AqjNEHFD6bRn+DqU9Mw==";
       };
     };
-    "@redocly/openapi-core-1.0.0-beta.102" = {
+    "@redocly/openapi-core-1.0.0-beta.105" = {
       name = "_at_redocly_slash_openapi-core";
       packageName = "@redocly/openapi-core";
-      version = "1.0.0-beta.102";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.0.0-beta.102.tgz";
-        sha512 = "3Fr3fg+9VEF4+4uoyvOOk+9ipmX2GYhlb18uZbpC4v3cUgGpkTRGZM2Qetfah7Tgx2LgqLuw8A1icDD6Zed2Gw==";
-      };
-    };
-    "@remix-run/node-1.4.3" = {
-      name = "_at_remix-run_slash_node";
-      packageName = "@remix-run/node";
-      version = "1.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@remix-run/node/-/node-1.4.3.tgz";
-        sha512 = "2x3BQ2qrA1v4Viu+GYMNMxxflnT5QcyOsPNCNvLjLm4o1pODHxYmp+2TEcZRgDqSTXgA7PNYlsEgG0BN/T33QA==";
-      };
-    };
-    "@remix-run/server-runtime-1.4.3" = {
-      name = "_at_remix-run_slash_server-runtime";
-      packageName = "@remix-run/server-runtime";
-      version = "1.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@remix-run/server-runtime/-/server-runtime-1.4.3.tgz";
-        sha512 = "NgzoEAlIuZWv53oZRgxGz+jqkEtAa+veAuxlp5/UcZ/VhygpYIcfKwdx4eCOqJOi1TqILNWrh3cedEVvV0jccQ==";
-      };
-    };
-    "@remix-run/vercel-1.4.3" = {
-      name = "_at_remix-run_slash_vercel";
-      packageName = "@remix-run/vercel";
-      version = "1.4.3";
+      version = "1.0.0-beta.105";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@remix-run/vercel/-/vercel-1.4.3.tgz";
-        sha512 = "ZNDmn/j8mU0rK+6VdMqZmWx50thlXtioNLJ0U6qic3hSFFr4vO1weRTUwRIFE3Gm3AxmmvcLxx581W2aTnReVQ==";
+        url = "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.0.0-beta.105.tgz";
+        sha512 = "8uYDMcqBOPhFgjRlg5uetW/E2uTVVRpk+YsJhaH78ZNuzBkQP5Waw5s8P8ym6myvHs5me8l5AdniY/ePLMT5xg==";
       };
     };
     "@request/api-0.6.0" = {
@@ -8104,13 +8392,13 @@ let
         sha512 = "c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==";
       };
     };
-    "@schematics/angular-14.0.2" = {
+    "@schematics/angular-14.1.1" = {
       name = "_at_schematics_slash_angular";
       packageName = "@schematics/angular";
-      version = "14.0.2";
+      version = "14.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@schematics/angular/-/angular-14.0.2.tgz";
-        sha512 = "DmLD0s4zUGuX+hjkIkW/aZi+JZZFZfhBxhumG9nftWPYT9/AjX3C2YZCarRWJ83jy/K3N9y4cnva0NVqKxTa3A==";
+        url = "https://registry.npmjs.org/@schematics/angular/-/angular-14.1.1.tgz";
+        sha512 = "oSRDDhzg/27RKrQRoz09yELyBtsAFYfR1f+uq41FcmHZFfwOA5mQaqN2CQ1gUFygUZfZgOWSc+wma3ACIrwbHA==";
       };
     };
     "@segment/loosely-validate-event-2.0.0" = {
@@ -8212,13 +8500,13 @@ let
         sha512 = "DAa5Z0JAZc6UfrTZLYwqoZxgAponZpFwaqd7WzzMA+loMCkYWyJNwxrAmV6cr2UUJpkko4toPZuJ3vM9Ie+NDA==";
       };
     };
-    "@serverless/utils-6.6.0" = {
+    "@serverless/utils-6.7.0" = {
       name = "_at_serverless_slash_utils";
       packageName = "@serverless/utils";
-      version = "6.6.0";
+      version = "6.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/utils/-/utils-6.6.0.tgz";
-        sha512 = "+zw5m41L44psgKh9Snj0tVaXKI2mg/MW2l7VlySjAEK5jqLKHNmFMw0n2oD75nbaJvr2xYhc05wmeFdLqVF6Sw==";
+        url = "https://registry.npmjs.org/@serverless/utils/-/utils-6.7.0.tgz";
+        sha512 = "aUjkkOTJ5wH7f3raSIDeTCR4JsAbd9p5Pjs7yW3sVOmu0qiTPHZOr1x1TIkb3WDHiAoQQY8zGhfzW7zLTcAA3Q==";
       };
     };
     "@sideway/address-4.1.4" = {
@@ -8311,6 +8599,15 @@ let
         sha512 = "t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==";
       };
     };
+    "@sindresorhus/is-5.3.0" = {
+      name = "_at_sindresorhus_slash_is";
+      packageName = "@sindresorhus/is";
+      version = "5.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@sindresorhus/is/-/is-5.3.0.tgz";
+        sha512 = "CX6t4SYQ37lzxicAqsBtxA3OseeoVrh9cSJ5PFYam0GksYlupRfy1A+Q4aYD3zvcfECLc0zO2u+ZnR2UYKvCrw==";
+      };
+    };
     "@sindresorhus/jimp-0.3.0" = {
       name = "_at_sindresorhus_slash_jimp";
       packageName = "@sindresorhus/jimp";
@@ -8518,13 +8815,13 @@ let
         sha512 = "2kGbqUVJUGE8dM+bMzXG/PYUWKkjLIkRLWNh39OaADkiabDRdw8ATFCgbMz5xdIcvwspPAluSL7uY+ZiTWdWmQ==";
       };
     };
-    "@swc/helpers-0.4.2" = {
+    "@swc/helpers-0.4.3" = {
       name = "_at_swc_slash_helpers";
       packageName = "@swc/helpers";
-      version = "0.4.2";
+      version = "0.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.2.tgz";
-        sha512 = "556Az0VX7WR6UdoTn4htt/l3zPQ7bsQWK+HqdG4swV7beUCxo/BqmvbOpUkTIm/9ih86LIf1qsUnywNL3obGHw==";
+        url = "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.3.tgz";
+        sha512 = "6JrF+fdUK2zbGpJIlN7G3v966PQjyx/dPt1T9km2wj+EUBqgrxCk3uX4Kct16MIm9gGxfKRcfax2hVf5jvlTzA==";
       };
     };
     "@szmarczak/http-timer-1.1.2" = {
@@ -8545,6 +8842,15 @@ let
         sha512 = "4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==";
       };
     };
+    "@szmarczak/http-timer-5.0.1" = {
+      name = "_at_szmarczak_slash_http-timer";
+      packageName = "@szmarczak/http-timer";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz";
+        sha512 = "+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==";
+      };
+    };
     "@taplo/lsp-0.2.4" = {
       name = "_at_taplo_slash_lsp";
       packageName = "@taplo/lsp";
@@ -8554,13 +8860,13 @@ let
         sha512 = "/FcGQVvXAslhiC9aMG5gxKXJctg8N7XLZrP+wYrFTFccWEPZd/Xon5y7jUXpKOVSOFEA1MOKZKbPuK4ET5/T8Q==";
       };
     };
-    "@textlint/ast-node-types-12.1.1" = {
+    "@textlint/ast-node-types-12.2.1" = {
       name = "_at_textlint_slash_ast-node-types";
       packageName = "@textlint/ast-node-types";
-      version = "12.1.1";
+      version = "12.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-12.1.1.tgz";
-        sha512 = "5/XK9S1177UYetOY6407o1RDuNVndaYfuzsZwhmo52V367s4ZuUD2064WhbmCd6TPyKD4dVr2zoWjfNDfzUZQg==";
+        url = "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-12.2.1.tgz";
+        sha512 = "NXYza6aG1+LdZ4g83gjRhDht+gdrTjJYkdcQhpvzNCtTar/sVpaykkauRcAKLhkIWrQpfb311pfMlU6qNDW76Q==";
       };
     };
     "@textlint/ast-node-types-4.4.3" = {
@@ -8572,130 +8878,130 @@ let
         sha512 = "qi2jjgO6Tn3KNPGnm6B7p6QTEPvY95NFsIAaJuwbulur8iJUEenp1OnoUfiDaC/g2WPPEFkcfXpmnu8XEMFo2A==";
       };
     };
-    "@textlint/ast-tester-12.1.1" = {
+    "@textlint/ast-tester-12.2.1" = {
       name = "_at_textlint_slash_ast-tester";
       packageName = "@textlint/ast-tester";
-      version = "12.1.1";
+      version = "12.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-12.1.1.tgz";
-        sha512 = "lPbpp9qZ/Me852OzWWOSwqbYa9clziRRRfX6qeRqJOuuc8qNOzvP2vC7quvQPSNcGpnDse2bNwePgxtWhWb5fQ==";
+        url = "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-12.2.1.tgz";
+        sha512 = "QGg7wxFLpsEAb7uxYPAO6F/QxDoX50wQ8aQ378RbpcQK57J9r9TQfV5Sieuta5dJORUrrMIuIrP4qU7P+1YyUw==";
       };
     };
-    "@textlint/ast-traverse-12.1.1" = {
+    "@textlint/ast-traverse-12.2.1" = {
       name = "_at_textlint_slash_ast-traverse";
       packageName = "@textlint/ast-traverse";
-      version = "12.1.1";
+      version = "12.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-12.1.1.tgz";
-        sha512 = "/hiESq9fwR+4X4U7VfkjhUtuIRuJwnJZpgA+WiSpIwK4Ps60WhB1VBxecyxgNmj3s3EsJn95nCCJntgpa3qQcA==";
+        url = "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-12.2.1.tgz";
+        sha512 = "uwppnDZRmRhH8R4WrkKAvwAbKcYux2yG/XqKlADuFd2T4hSMTlZOBLxDvXohLKY617HHM32/G99HJlmFFvP4GA==";
       };
     };
-    "@textlint/feature-flag-12.1.1" = {
+    "@textlint/feature-flag-12.2.1" = {
       name = "_at_textlint_slash_feature-flag";
       packageName = "@textlint/feature-flag";
-      version = "12.1.1";
+      version = "12.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-12.1.1.tgz";
-        sha512 = "NykyIJ7UCs3R1tjThAS6upScmZdia0N/prOT7j1HpMbn1QK61Kqz7M3KZb0T/nhko6jwfN0d3aNP3oMCb4Vyxg==";
+        url = "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-12.2.1.tgz";
+        sha512 = "Vwn1VKaqNvhMteXNdvk+5duGzlG0MwSjkufU3AVaBQsS4SH4dchSvULpKc+r4BOTSzybNappN0APEcMjOx0Lxg==";
       };
     };
-    "@textlint/fixer-formatter-12.1.1" = {
+    "@textlint/fixer-formatter-12.2.1" = {
       name = "_at_textlint_slash_fixer-formatter";
       packageName = "@textlint/fixer-formatter";
-      version = "12.1.1";
+      version = "12.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-12.1.1.tgz";
-        sha512 = "9+f3WG1raKqY+ynS1JS/ESLNgUaKK1gIgK9ENESvrJA0zfg5I774LjjJ65catrorTdv+HHDG40aiD67Pmxdk9A==";
+        url = "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-12.2.1.tgz";
+        sha512 = "Y4FT2zVyYCxZCJ19tdfhBKr/FtCDP03iW+gfF6zHAjQaNPEGUU7ZfVUBJVVYBWOuHT/Zk22kcJZVFSINacPybQ==";
       };
     };
-    "@textlint/kernel-12.1.1" = {
+    "@textlint/kernel-12.2.1" = {
       name = "_at_textlint_slash_kernel";
       packageName = "@textlint/kernel";
-      version = "12.1.1";
+      version = "12.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/kernel/-/kernel-12.1.1.tgz";
-        sha512 = "5f/miUMLBLUhBy0sJeLVs+34O3GaYyG7hAuTQG9p0ERUnXdJIGtoYU5O0Sfm+xWXPUOeQadK6E7IR+7fsX4Hhw==";
+        url = "https://registry.npmjs.org/@textlint/kernel/-/kernel-12.2.1.tgz";
+        sha512 = "imKBeglOKVwsVmrCDzIHf8uiYXtEy0VFyPPb7GYiLhA2pImh59QOtuoPiMT0h8ctV5Aa2konOQVV6jM+JJ9xkQ==";
       };
     };
-    "@textlint/linter-formatter-12.1.1" = {
+    "@textlint/linter-formatter-12.2.1" = {
       name = "_at_textlint_slash_linter-formatter";
       packageName = "@textlint/linter-formatter";
-      version = "12.1.1";
+      version = "12.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-12.1.1.tgz";
-        sha512 = "yE4g+OA+jVqEpF5NayuFoH4l3vvXPT3+gGD9TYhkjBUGmIZ0n4sMzOtmb9R+McujvENwk+7jTZ0pfHtZtpVSHQ==";
+        url = "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-12.2.1.tgz";
+        sha512 = "xfVRM+DRrJzBswzrYpmNDJDfapYyogOGlwOXb9Omc7/MvipVreG0WvtgSgxchJ+1nPJwsOPES8PAgQYcPR20+Q==";
       };
     };
-    "@textlint/markdown-to-ast-12.1.1" = {
+    "@textlint/markdown-to-ast-12.2.1" = {
       name = "_at_textlint_slash_markdown-to-ast";
       packageName = "@textlint/markdown-to-ast";
-      version = "12.1.1";
+      version = "12.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-12.1.1.tgz";
-        sha512 = "TmqFyNqi68YpkqKabrkMlPzeSJMfY/+Wsv1/r43uDFgSYyM9GiD0eIpP12uKyL8xLW+rgfbqXxeFwSo26Conqw==";
+        url = "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-12.2.1.tgz";
+        sha512 = "p+LlVcrgHnSNEWWflYU412uu+v4Cejs6hmI4SgZCheNg4u7Ik78aKgpe4jT5BhjLSBZ/KP6IrJxtCUOoJIUWmQ==";
       };
     };
-    "@textlint/module-interop-12.1.1" = {
+    "@textlint/module-interop-12.2.1" = {
       name = "_at_textlint_slash_module-interop";
       packageName = "@textlint/module-interop";
-      version = "12.1.1";
+      version = "12.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-12.1.1.tgz";
-        sha512 = "SiF2NVMFny7OdZ3I+qclJXkuPLOylJVd+v3mPGF8Ri5yuDgOKrbqNyHFzz/Sn2AS0ZsIf04/pGNBQhB+fJOBRQ==";
+        url = "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-12.2.1.tgz";
+        sha512 = "/SixwKngWuTvVl9AArK4FEWGrNAwD7/ABvLCy/pdFprljnUa87P5JvSi7/v1PjpAXcnMQ2r04wDJjegs9oblBA==";
       };
     };
-    "@textlint/source-code-fixer-12.1.1" = {
+    "@textlint/source-code-fixer-12.2.1" = {
       name = "_at_textlint_slash_source-code-fixer";
       packageName = "@textlint/source-code-fixer";
-      version = "12.1.1";
+      version = "12.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-12.1.1.tgz";
-        sha512 = "+p7NE5W2Ie+a5dSXGG0onDrqQM9Quj9t9zQruqxN3Qm7F8JD3qBTx9XNZkzQKlnGtrN4x6FUp5wwH/X4BhHh1A==";
+        url = "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-12.2.1.tgz";
+        sha512 = "yNkWcTxCcoz24b64rGUVDr2MzQdv3I1o2o7HuphCmGlAQztVzMGvY/GNzqUWW42+k8S0zRq3Saxz1XoMUvR5UA==";
       };
     };
-    "@textlint/text-to-ast-12.1.1" = {
+    "@textlint/text-to-ast-12.2.1" = {
       name = "_at_textlint_slash_text-to-ast";
       packageName = "@textlint/text-to-ast";
-      version = "12.1.1";
+      version = "12.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-12.1.1.tgz";
-        sha512 = "L+Wf6omQ9u/A+H8kr8Dv1bKQ7j5TeBJX7ShdZz+z0T3oOPDrpCHID6N/NbzuM+a1Q9s9UAG5gkqiROHNjXqUug==";
+        url = "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-12.2.1.tgz";
+        sha512 = "NcuFa8iQglIMBQ1OaR1IYAIYJfBcTACVD0YtPGrdN0gkqC8TEfP5xIldiSxhkWiLPr3TQ4Mg7d6Ev5RH67n7pA==";
       };
     };
-    "@textlint/textlint-plugin-markdown-12.1.1" = {
+    "@textlint/textlint-plugin-markdown-12.2.1" = {
       name = "_at_textlint_slash_textlint-plugin-markdown";
       packageName = "@textlint/textlint-plugin-markdown";
-      version = "12.1.1";
+      version = "12.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-12.1.1.tgz";
-        sha512 = "gzQ205ClqECTblIdkpFkWL6M4nxr5oMON/jU6xbRdZ/Shy+OHLY7fP3R2L2RmAmMSE7C6ZWK5Lk7k9XaaUpgVA==";
+        url = "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-12.2.1.tgz";
+        sha512 = "BAjkVPMO5fzf6n5M5SwgHNyTwByE86BmjaNpBDhKNcSBctUnfX7nLCvQY8mGMkvefHufyi3oWIqDcZoZQn0PYQ==";
       };
     };
-    "@textlint/textlint-plugin-text-12.1.1" = {
+    "@textlint/textlint-plugin-text-12.2.1" = {
       name = "_at_textlint_slash_textlint-plugin-text";
       packageName = "@textlint/textlint-plugin-text";
-      version = "12.1.1";
+      version = "12.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-12.1.1.tgz";
-        sha512 = "U3WFM2fPy0ifC9lVW0GXjF5h1Dquit3rLO6UisC9UF75Ic6JjelcypjHwpp1trx0/t5FXp+94R5uJEpM360A0g==";
+        url = "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-12.2.1.tgz";
+        sha512 = "8Dt1Sn9AdqvweVxCLvlj1IC+pDxPRpdgERY6FzD6kLNpMAyl7luVWtpql19CvTYlxhPUHRxsETDBkRCQFClXsw==";
       };
     };
-    "@textlint/types-12.1.1" = {
+    "@textlint/types-12.2.1" = {
       name = "_at_textlint_slash_types";
       packageName = "@textlint/types";
-      version = "12.1.1";
+      version = "12.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/types/-/types-12.1.1.tgz";
-        sha512 = "s0TjnEwEwp3fa8yEhEH8w/lFpih15wtQy2CYaKx0eMScl1bSh+0e8WhiGZaTiiJXAGwNCw6erxB0reBScdU/hA==";
+        url = "https://registry.npmjs.org/@textlint/types/-/types-12.2.1.tgz";
+        sha512 = "nOQ3udAz9ulDZgETFY3vr3R+ubL2cevPLA3GmDs29ErvIHfK3pD+PpyO/OsS7HZKXolmpuMonVA9+J9Jybf3/Q==";
       };
     };
-    "@textlint/utils-12.1.1" = {
+    "@textlint/utils-12.2.1" = {
       name = "_at_textlint_slash_utils";
       packageName = "@textlint/utils";
-      version = "12.1.1";
+      version = "12.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/utils/-/utils-12.1.1.tgz";
-        sha512 = "ENAm6ro+OAh6XZZSeZIJQCrY07IHWB7DGM6SwtKEfxcA9joF1uS/sLPqKmcW9fyvLvMnloVUsfVlaoNsLJXDKA==";
+        url = "https://registry.npmjs.org/@textlint/utils/-/utils-12.2.1.tgz";
+        sha512 = "e4jDM6bMZddFi48e5CzbvnG9ombeK2ZkjLnCaSWalJI3NTlCDm/ZDqfaqac/YPFbzoRQMqNkaoTW/9GZVjr6Hg==";
       };
     };
     "@tokenizer/token-0.1.1" = {
@@ -8761,6 +9067,15 @@ let
         sha512 = "L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==";
       };
     };
+    "@ts-morph/common-0.11.1" = {
+      name = "_at_ts-morph_slash_common";
+      packageName = "@ts-morph/common";
+      version = "0.11.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@ts-morph/common/-/common-0.11.1.tgz";
+        sha512 = "7hWZS0NRpEsNV8vWJzg7FEz6V8MaLNeJOmwmghqUXTpzk16V1LLZhdo+4QvE/+zv4cVci0OviuJFnqhEfoV3+g==";
+      };
+    };
     "@tsconfig/node10-1.0.9" = {
       name = "_at_tsconfig_slash_node10";
       packageName = "@tsconfig/node10";
@@ -8869,15 +9184,6 @@ let
         sha512 = "QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==";
       };
     };
-    "@types/body-parser-1.19.0" = {
-      name = "_at_types_slash_body-parser";
-      packageName = "@types/body-parser";
-      version = "1.19.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz";
-        sha512 = "W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==";
-      };
-    };
     "@types/body-parser-1.19.1" = {
       name = "_at_types_slash_body-parser";
       packageName = "@types/body-parser";
@@ -8905,15 +9211,6 @@ let
         sha512 = "p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==";
       };
     };
-    "@types/busboy-0.3.2" = {
-      name = "_at_types_slash_busboy";
-      packageName = "@types/busboy";
-      version = "0.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/busboy/-/busboy-0.3.2.tgz";
-        sha512 = "iEvdm9Z9KdSs/ozuh1Z7ZsXrOl8F4M/CLMXPZHr3QuJ4d6Bjn+HBMC5EMKpwpAo8oi8iK9GZfFoHaIMrrZgwVw==";
-      };
-    };
     "@types/cacheable-request-6.0.2" = {
       name = "_at_types_slash_cacheable-request";
       packageName = "@types/cacheable-request";
@@ -8995,15 +9292,6 @@ let
         sha512 = "h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==";
       };
     };
-    "@types/content-disposition-0.5.5" = {
-      name = "_at_types_slash_content-disposition";
-      packageName = "@types/content-disposition";
-      version = "0.5.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.5.tgz";
-        sha512 = "v6LCdKfK6BwcqMo+wYW05rLS12S0ZO0Fl4w1h4aaZMD7bqT3gVUns6FvLJKGZHQmYn3SX55JWGpziwJRwVgutA==";
-      };
-    };
     "@types/cookie-0.4.1" = {
       name = "_at_types_slash_cookie";
       packageName = "@types/cookie";
@@ -9022,24 +9310,6 @@ let
         sha512 = "t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==";
       };
     };
-    "@types/cookies-0.7.7" = {
-      name = "_at_types_slash_cookies";
-      packageName = "@types/cookies";
-      version = "0.7.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.7.tgz";
-        sha512 = "h7BcvPUogWbKCzBR2lY4oqaZbO3jXZksexYJVFvkrFeLgbZjQkU4x8pRq6eg2MHXQhY0McQdqmmsxRWlVAHooA==";
-      };
-    };
-    "@types/cors-2.8.10" = {
-      name = "_at_types_slash_cors";
-      packageName = "@types/cors";
-      version = "2.8.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/cors/-/cors-2.8.10.tgz";
-        sha512 = "C7srjHiVG3Ey1nR6d511dtDkCEjxuN9W1HWAEjGq8kpcwmNM6JJkpC0xvabM7BXTG2wDq8Eu33iH9aQKa7IvLQ==";
-      };
-    };
     "@types/cors-2.8.12" = {
       name = "_at_types_slash_cors";
       packageName = "@types/cors";
@@ -9121,22 +9391,22 @@ let
         sha512 = "VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng==";
       };
     };
-    "@types/eslint-8.4.3" = {
+    "@types/eslint-8.4.5" = {
       name = "_at_types_slash_eslint";
       packageName = "@types/eslint";
-      version = "8.4.3";
+      version = "8.4.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.3.tgz";
-        sha512 = "YP1S7YJRMPs+7KZKDb9G63n8YejIwW9BALq7a5j2+H4yl6iOv9CB29edho+cuFRrvmJbbaH2yiVChKLJVysDGw==";
+        url = "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.5.tgz";
+        sha512 = "dhsC09y1gpJWnK+Ff4SGvCuSnk9DaU0BJZSzOwa6GVSg65XtTugLBITDAAzRU5duGBoXBHpdR/9jHGxJjNflJQ==";
       };
     };
-    "@types/eslint-scope-3.7.3" = {
+    "@types/eslint-scope-3.7.4" = {
       name = "_at_types_slash_eslint-scope";
       packageName = "@types/eslint-scope";
-      version = "3.7.3";
+      version = "3.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz";
-        sha512 = "PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==";
+        url = "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz";
+        sha512 = "9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==";
       };
     };
     "@types/estree-0.0.50" = {
@@ -9157,6 +9427,15 @@ let
         sha512 = "CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==";
       };
     };
+    "@types/estree-1.0.0" = {
+      name = "_at_types_slash_estree";
+      packageName = "@types/estree";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz";
+        sha512 = "WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==";
+      };
+    };
     "@types/estree-jsx-0.0.1" = {
       name = "_at_types_slash_estree-jsx";
       packageName = "@types/estree-jsx";
@@ -9166,6 +9445,15 @@ let
         sha512 = "gcLAYiMfQklDCPjQegGn0TBAn9it05ISEsEhlKQUddIk7o2XDokOcTN7HBO8tznM0D9dGezvHEfRZBfZf6me0A==";
       };
     };
+    "@types/estree-jsx-1.0.0" = {
+      name = "_at_types_slash_estree-jsx";
+      packageName = "@types/estree-jsx";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.0.tgz";
+        sha512 = "3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ==";
+      };
+    };
     "@types/expect-1.20.4" = {
       name = "_at_types_slash_expect";
       packageName = "@types/expect";
@@ -9193,6 +9481,15 @@ let
         sha512 = "uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==";
       };
     };
+    "@types/express-serve-static-core-4.17.30" = {
+      name = "_at_types_slash_express-serve-static-core";
+      packageName = "@types/express-serve-static-core";
+      version = "4.17.30";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.30.tgz";
+        sha512 = "gstzbTWro2/nFed1WXtf+TtrpwxH7Ggs4RLYTLbeVgIkUQOI3WG/JKjgeOU1zXDvezllupjrf8OPIdvTbIaVOQ==";
+      };
+    };
     "@types/file-type-10.9.1" = {
       name = "_at_types_slash_file-type";
       packageName = "@types/file-type";
@@ -9202,15 +9499,6 @@ let
         sha512 = "oq0fy8Jqj19HofanFsZ56o5anMDUQtFO9B3wfLqM9o42RyCe1WT+wRbSvRbL2l8ARZXNaJturHk0b442+0yi+g==";
       };
     };
-    "@types/fs-capacitor-2.0.0" = {
-      name = "_at_types_slash_fs-capacitor";
-      packageName = "@types/fs-capacitor";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/fs-capacitor/-/fs-capacitor-2.0.0.tgz";
-        sha512 = "FKVPOCFbhCvZxpVAMhdBdTfVfXUpsh15wFHgqOKxh9N9vzWZVuWCSijZ5T4U34XYNnuj2oduh6xcs1i+LPI+BQ==";
-      };
-    };
     "@types/fs-extra-9.0.13" = {
       name = "_at_types_slash_fs-extra";
       packageName = "@types/fs-extra";
@@ -9220,13 +9508,13 @@ let
         sha512 = "nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==";
       };
     };
-    "@types/geojson-7946.0.8" = {
+    "@types/geojson-7946.0.10" = {
       name = "_at_types_slash_geojson";
       packageName = "@types/geojson";
-      version = "7946.0.8";
+      version = "7946.0.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.8.tgz";
-        sha512 = "1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA==";
+        url = "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.10.tgz";
+        sha512 = "Nmh0K3iWQJzniTuPRcJn5hxXkfB1T1pgB89SBig5PlJQU5yocazeu4jATJlaA0GYFKWMqDdvYemoSnF2pXgLVA==";
       };
     };
     "@types/get-stdin-5.0.1" = {
@@ -9274,15 +9562,6 @@ let
         sha512 = "h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==";
       };
     };
-    "@types/http-assert-1.5.3" = {
-      name = "_at_types_slash_http-assert";
-      packageName = "@types/http-assert";
-      version = "1.5.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.3.tgz";
-        sha512 = "FyAOrDuQmBi8/or3ns4rwPno7/9tJTijVW6aQQjK02+kOQ8zmoNg2XJtAuQhvQcy1ASJq38wirX5//9J1EqoUA==";
-      };
-    };
     "@types/http-cache-semantics-4.0.1" = {
       name = "_at_types_slash_http-cache-semantics";
       packageName = "@types/http-cache-semantics";
@@ -9292,15 +9571,6 @@ let
         sha512 = "SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==";
       };
     };
-    "@types/http-errors-1.8.2" = {
-      name = "_at_types_slash_http-errors";
-      packageName = "@types/http-errors";
-      version = "1.8.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/http-errors/-/http-errors-1.8.2.tgz";
-        sha512 = "EqX+YQxINb+MeXaIqYDASb6U6FCHbWjkj4a1CKDBks3d/QiB2+PqBLyO72vLDgAO1wUI4O+9gweRcQK11bTL/w==";
-      };
-    };
     "@types/http-proxy-1.17.9" = {
       name = "_at_types_slash_http-proxy";
       packageName = "@types/http-proxy";
@@ -9463,15 +9733,6 @@ let
         sha512 = "dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==";
       };
     };
-    "@types/keygrip-1.0.2" = {
-      name = "_at_types_slash_keygrip";
-      packageName = "@types/keygrip";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.2.tgz";
-        sha512 = "GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw==";
-      };
-    };
     "@types/keyv-3.1.4" = {
       name = "_at_types_slash_keyv";
       packageName = "@types/keyv";
@@ -9481,24 +9742,6 @@ let
         sha512 = "BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==";
       };
     };
-    "@types/koa-2.13.4" = {
-      name = "_at_types_slash_koa";
-      packageName = "@types/koa";
-      version = "2.13.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/koa/-/koa-2.13.4.tgz";
-        sha512 = "dfHYMfU+z/vKtQB7NUrthdAEiSvnLebvBjwHtfFmpZmB7em2N3WVQdHgnFq+xvyVgxW5jKDmjWfLD3lw4g4uTw==";
-      };
-    };
-    "@types/koa-compose-3.2.5" = {
-      name = "_at_types_slash_koa-compose";
-      packageName = "@types/koa-compose";
-      version = "3.2.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.5.tgz";
-        sha512 = "B8nG/OoE1ORZqCkBVsup/AKcvjdgoHnfi4pZMn5UwAPCbhk/96xyv284eBYW8JlQbQ7zDmnpFr68I/40mFoIBQ==";
-      };
-    };
     "@types/linkify-it-3.0.2" = {
       name = "_at_types_slash_linkify-it";
       packageName = "@types/linkify-it";
@@ -9580,13 +9823,13 @@ let
         sha512 = "eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==";
       };
     };
-    "@types/mime-1.3.2" = {
+    "@types/mime-3.0.0" = {
       name = "_at_types_slash_mime";
       packageName = "@types/mime";
-      version = "1.3.2";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz";
-        sha512 = "YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==";
+        url = "https://registry.npmjs.org/@types/mime/-/mime-3.0.0.tgz";
+        sha512 = "fccbsHKqFDXClBZTDLA43zl0+TbxyIwyzIzwwhvoJvhNjOErCdeX2xJbURimv2EbSVUGav001PaCJg4mZxMl4w==";
       };
     };
     "@types/mime-types-2.1.1" = {
@@ -9733,13 +9976,13 @@ let
         sha512 = "USUftMYpmuMzeWobskoPfzDi+vkpe0dvcOBRNOscFrGxVp4jomnRxWuVohgqBow2xyIPC0S3gjxV/5079jhmDg==";
       };
     };
-    "@types/node-14.18.21" = {
+    "@types/node-14.18.23" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "14.18.21";
+      version = "14.18.23";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-14.18.21.tgz";
-        sha512 = "x5W9s+8P4XteaxT/jKF0PSb7XEvo5VmqEWgsMlyeY4ZlLK8I6aH6g5TPPyDlLAep+GYf4kefb7HFyc7PAO3m+Q==";
+        url = "https://registry.npmjs.org/@types/node/-/node-14.18.23.tgz";
+        sha512 = "MhbCWN18R4GhO8ewQWAFK4TGQdBpXWByukz7cWyJmXhvRuCIaM/oWytGPqVmDzgEnnaIc9ss6HbU5mUi+vyZPA==";
       };
     };
     "@types/node-15.14.9" = {
@@ -9751,13 +9994,13 @@ let
         sha512 = "qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==";
       };
     };
-    "@types/node-16.11.41" = {
+    "@types/node-16.11.47" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "16.11.41";
+      version = "16.11.47";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-16.11.41.tgz";
-        sha512 = "mqoYK2TnVjdkGk8qXAVGc/x9nSaTpSrFaGFm43BUH3IdoBV0nta6hYaGmdOvIMlbHJbUEVen3gvwpwovAZKNdQ==";
+        url = "https://registry.npmjs.org/@types/node/-/node-16.11.47.tgz";
+        sha512 = "fpP+jk2zJ4VW66+wAMFoBJlx1bxmBKx4DUFf68UHgdGCOuyUTDlLWqsaNPJh7xhNDykyJ9eIzAygilP/4WoN8g==";
       };
     };
     "@types/node-16.11.6" = {
@@ -9805,13 +10048,13 @@ let
         sha512 = "w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==";
       };
     };
-    "@types/node-18.0.0" = {
+    "@types/node-18.6.3" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "18.0.0";
+      version = "18.6.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-18.0.0.tgz";
-        sha512 = "cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA==";
+        url = "https://registry.npmjs.org/@types/node/-/node-18.6.3.tgz";
+        sha512 = "6qKpDtoaYLM+5+AFChLhHermMQxc3TOEFIDzrZLPRGHPrLEwqFkkT5Kx3ju05g6X7uDPazz3jHbKPX0KzCjntg==";
       };
     };
     "@types/node-6.14.13" = {
@@ -9832,15 +10075,6 @@ let
         sha512 = "tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==";
       };
     };
-    "@types/node-9.6.61" = {
-      name = "_at_types_slash_node";
-      packageName = "@types/node";
-      version = "9.6.61";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-9.6.61.tgz";
-        sha512 = "/aKAdg5c8n468cYLy2eQrcR5k6chlbNwZNGUj3TboyPa2hcO2QAJcfymlqPzMiRj8B6nYKXjzQz36minFE0RwQ==";
-      };
-    };
     "@types/node-fetch-2.6.2" = {
       name = "_at_types_slash_node-fetch";
       packageName = "@types/node-fetch";
@@ -9967,13 +10201,13 @@ let
         sha512 = "+TRLFmHLnpoV0uw4O/PzqMbPT6bhQM0q2KO0l+R7M3sHYRndPpNL6kv8p7Ee9ZxgQ6noYB18/t+heQi7eijOHA==";
       };
     };
-    "@types/react-17.0.47" = {
+    "@types/react-17.0.48" = {
       name = "_at_types_slash_react";
       packageName = "@types/react";
-      version = "17.0.47";
+      version = "17.0.48";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/react/-/react-17.0.47.tgz";
-        sha512 = "mk0BL8zBinf2ozNr3qPnlu1oyVTYq+4V7WA76RgxUAtf0Em/Wbid38KN6n4abEkvO4xMTBWmnP1FtQzgkEiJoA==";
+        url = "https://registry.npmjs.org/@types/react/-/react-17.0.48.tgz";
+        sha512 = "zJ6IYlJ8cYYxiJfUaZOQee4lh99mFihBoqkOSEGV+dFi9leROW6+PgstzQ+w3gWTnUfskALtQPGHK6dYmPj+2A==";
       };
     };
     "@types/react-dom-17.0.17" = {
@@ -10075,13 +10309,13 @@ let
         sha512 = "d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==";
       };
     };
-    "@types/serve-static-1.13.10" = {
+    "@types/serve-static-1.15.0" = {
       name = "_at_types_slash_serve-static";
       packageName = "@types/serve-static";
-      version = "1.13.10";
+      version = "1.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz";
-        sha512 = "nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==";
+        url = "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz";
+        sha512 = "z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==";
       };
     };
     "@types/sizzle-2.3.3" = {
@@ -10309,13 +10543,13 @@ let
         sha512 = "ZfJck4M7nrGasfs4A4YbUoxis3Vu24cETw3DERsNYtDZmYSYtk6ljKexKFKhImO/ZmY6ZMsmegu2FPkXoUFImA==";
       };
     };
-    "@types/vscode-1.68.0" = {
+    "@types/vscode-1.69.0" = {
       name = "_at_types_slash_vscode";
       packageName = "@types/vscode";
-      version = "1.68.0";
+      version = "1.69.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/vscode/-/vscode-1.68.0.tgz";
-        sha512 = "duBwEK5ta/eBBMJMQ7ECMEsMvlE3XJdRGh3xoS1uOO4jl2Z4LPBl5vx8WvBP10ERAgDRmIt/FaSD4RHyBGbChw==";
+        url = "https://registry.npmjs.org/@types/vscode/-/vscode-1.69.0.tgz";
+        sha512 = "RlzDAnGqUoo9wS6d4tthNyAdZLxOIddLiX3djMoWk29jFfSA1yJbIwr0epBYqqYarWB6s2Z+4VaZCQ80Jaa3kA==";
       };
     };
     "@types/webidl-conversions-6.1.1" = {
@@ -10372,13 +10606,13 @@ let
         sha512 = "B5m9aq7cbbD/5/jThEr33nUY8WEfVi6A2YKCTOvw5Ldy7mtsOkqRvGjnzy6g7iMMDsgu7xREuCzqATLDLQVKcQ==";
       };
     };
-    "@types/whatwg-url-8.2.1" = {
+    "@types/whatwg-url-8.2.2" = {
       name = "_at_types_slash_whatwg-url";
       packageName = "@types/whatwg-url";
-      version = "8.2.1";
+      version = "8.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.1.tgz";
-        sha512 = "2YubE1sjj5ifxievI5Ge1sckb9k/Er66HyR2c+3+I6VDUUg1TLPdYYTEbQ+DjRkS4nTxMJhgWfSfMRD2sl2EYQ==";
+        url = "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz";
+        sha512 = "FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==";
       };
     };
     "@types/which-2.0.1" = {
@@ -10399,15 +10633,6 @@ let
         sha512 = "PpPrX7SZW9re6+Ha8ojZG4Se8AZXgf0GK6zmfqEuCsY49LFDNXO3SByp44X3dFEqtB73lkCDAdUazhAjVPiNwg==";
       };
     };
-    "@types/ws-7.4.7" = {
-      name = "_at_types_slash_ws";
-      packageName = "@types/ws";
-      version = "7.4.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz";
-        sha512 = "JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==";
-      };
-    };
     "@types/ws-8.5.3" = {
       name = "_at_types_slash_ws";
       packageName = "@types/ws";
@@ -10453,15 +10678,6 @@ let
         sha512 = "Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==";
       };
     };
-    "@types/yauzl-2.9.2" = {
-      name = "_at_types_slash_yauzl";
-      packageName = "@types/yauzl";
-      version = "2.9.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz";
-        sha512 = "8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==";
-      };
-    };
     "@types/yoga-layout-1.9.2" = {
       name = "_at_types_slash_yoga-layout";
       packageName = "@types/yoga-layout";
@@ -10480,13 +10696,13 @@ let
         sha512 = "aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==";
       };
     };
-    "@typescript-eslint/eslint-plugin-5.29.0" = {
+    "@typescript-eslint/eslint-plugin-5.32.0" = {
       name = "_at_typescript-eslint_slash_eslint-plugin";
       packageName = "@typescript-eslint/eslint-plugin";
-      version = "5.29.0";
+      version = "5.32.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.29.0.tgz";
-        sha512 = "kgTsISt9pM53yRFQmLZ4npj99yGl3x3Pl7z4eA66OuTzAGC4bQB5H5fuLwPnqTKU3yyrrg4MIhjF17UYnL4c0w==";
+        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.32.0.tgz";
+        sha512 = "CHLuz5Uz7bHP2WgVlvoZGhf0BvFakBJKAD/43Ty0emn4wXWv5k01ND0C0fHcl/Im8Td2y/7h44E9pca9qAu2ew==";
       };
     };
     "@typescript-eslint/experimental-utils-4.33.0" = {
@@ -10507,13 +10723,13 @@ let
         sha512 = "ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==";
       };
     };
-    "@typescript-eslint/parser-5.29.0" = {
+    "@typescript-eslint/parser-5.32.0" = {
       name = "_at_typescript-eslint_slash_parser";
       packageName = "@typescript-eslint/parser";
-      version = "5.29.0";
+      version = "5.32.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.29.0.tgz";
-        sha512 = "ruKWTv+x0OOxbzIw9nW5oWlUopvP/IQDjB5ZqmTglLIoDTctLlAJpAQFpNPJP/ZI7hTT9sARBosEfaKbcFuECw==";
+        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.32.0.tgz";
+        sha512 = "IxRtsehdGV9GFQ35IGm5oKKR2OGcazUoiNBxhRV160iF9FoyuXxjY+rIqs1gfnd+4eL98OjeGnMpE7RF/NBb3A==";
       };
     };
     "@typescript-eslint/scope-manager-4.33.0" = {
@@ -10525,22 +10741,22 @@ let
         sha512 = "5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==";
       };
     };
-    "@typescript-eslint/scope-manager-5.29.0" = {
+    "@typescript-eslint/scope-manager-5.32.0" = {
       name = "_at_typescript-eslint_slash_scope-manager";
       packageName = "@typescript-eslint/scope-manager";
-      version = "5.29.0";
+      version = "5.32.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.29.0.tgz";
-        sha512 = "etbXUT0FygFi2ihcxDZjz21LtC+Eps9V2xVx09zFoN44RRHPrkMflidGMI+2dUs821zR1tDS6Oc9IXxIjOUZwA==";
+        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.32.0.tgz";
+        sha512 = "KyAE+tUON0D7tNz92p1uetRqVJiiAkeluvwvZOqBmW9z2XApmk5WSMV9FrzOroAcVxJZB3GfUwVKr98Dr/OjOg==";
       };
     };
-    "@typescript-eslint/type-utils-5.29.0" = {
+    "@typescript-eslint/type-utils-5.32.0" = {
       name = "_at_typescript-eslint_slash_type-utils";
       packageName = "@typescript-eslint/type-utils";
-      version = "5.29.0";
+      version = "5.32.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.29.0.tgz";
-        sha512 = "JK6bAaaiJozbox3K220VRfCzLa9n0ib/J+FHIwnaV3Enw/TO267qe0pM1b1QrrEuy6xun374XEAsRlA86JJnyg==";
+        url = "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.32.0.tgz";
+        sha512 = "0gSsIhFDduBz3QcHJIp3qRCvVYbqzHg8D6bHFsDMrm0rURYDj+skBK2zmYebdCp+4nrd9VWd13egvhYFJj/wZg==";
       };
     };
     "@typescript-eslint/types-3.10.1" = {
@@ -10561,13 +10777,13 @@ let
         sha512 = "zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==";
       };
     };
-    "@typescript-eslint/types-5.29.0" = {
+    "@typescript-eslint/types-5.32.0" = {
       name = "_at_typescript-eslint_slash_types";
       packageName = "@typescript-eslint/types";
-      version = "5.29.0";
+      version = "5.32.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.29.0.tgz";
-        sha512 = "X99VbqvAXOMdVyfFmksMy3u8p8yoRGITgU1joBJPzeYa0rhdf5ok9S56/itRoUSh99fiDoMtarSIJXo7H/SnOg==";
+        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.32.0.tgz";
+        sha512 = "EBUKs68DOcT/EjGfzywp+f8wG9Zw6gj6BjWu7KV/IYllqKJFPlZlLSYw/PTvVyiRw50t6wVbgv4p9uE2h6sZrQ==";
       };
     };
     "@typescript-eslint/typescript-estree-3.10.1" = {
@@ -10588,22 +10804,22 @@ let
         sha512 = "rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==";
       };
     };
-    "@typescript-eslint/typescript-estree-5.29.0" = {
+    "@typescript-eslint/typescript-estree-5.32.0" = {
       name = "_at_typescript-eslint_slash_typescript-estree";
       packageName = "@typescript-eslint/typescript-estree";
-      version = "5.29.0";
+      version = "5.32.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.29.0.tgz";
-        sha512 = "mQvSUJ/JjGBdvo+1LwC+GY2XmSYjK1nAaVw2emp/E61wEVYEyibRHCqm1I1vEKbXCpUKuW4G7u9ZCaZhJbLoNQ==";
+        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.32.0.tgz";
+        sha512 = "ZVAUkvPk3ITGtCLU5J4atCw9RTxK+SRc6hXqLtllC2sGSeMFWN+YwbiJR9CFrSFJ3w4SJfcWtDwNb/DmUIHdhg==";
       };
     };
-    "@typescript-eslint/utils-5.29.0" = {
+    "@typescript-eslint/utils-5.32.0" = {
       name = "_at_typescript-eslint_slash_utils";
       packageName = "@typescript-eslint/utils";
-      version = "5.29.0";
+      version = "5.32.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.29.0.tgz";
-        sha512 = "3Eos6uP1nyLOBayc/VUdKZikV90HahXE5Dx9L5YlSd/7ylQPXhLk1BYb29SDgnBnTp+jmSZUU0QxUiyHgW4p7A==";
+        url = "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.32.0.tgz";
+        sha512 = "W7lYIAI5Zlc5K082dGR27Fczjb3Q57ECcXefKU/f0ajM5ToM0P+N9NmJWip8GmGu/g6QISNT+K6KYB+iSHjXCQ==";
       };
     };
     "@typescript-eslint/visitor-keys-3.10.1" = {
@@ -10624,13 +10840,13 @@ let
         sha512 = "uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==";
       };
     };
-    "@typescript-eslint/visitor-keys-5.29.0" = {
+    "@typescript-eslint/visitor-keys-5.32.0" = {
       name = "_at_typescript-eslint_slash_visitor-keys";
       packageName = "@typescript-eslint/visitor-keys";
-      version = "5.29.0";
+      version = "5.32.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.29.0.tgz";
-        sha512 = "Hpb/mCWsjILvikMQoZIE3voc9wtQcS0A9FUw3h8bhr9UxBdtI/tw1ZDZUOXHXLOVMedKCH5NxyzATwnU78bWCQ==";
+        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.32.0.tgz";
+        sha512 = "S54xOHZgfThiZ38/ZGTgB2rqx51CMJ5MCfVT2IplK4Q7hgzGfe0nLzLCcenDnc/cSjP568hdeKfeDcBgqNHD/g==";
       };
     };
     "@ungap/promise-all-settled-1.1.2" = {
@@ -10642,13 +10858,13 @@ let
         sha512 = "sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==";
       };
     };
-    "@unicode/unicode-14.0.0-1.2.2" = {
+    "@unicode/unicode-14.0.0-1.3.0" = {
       name = "_at_unicode_slash_unicode-14.0.0";
       packageName = "@unicode/unicode-14.0.0";
-      version = "1.2.2";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@unicode/unicode-14.0.0/-/unicode-14.0.0-1.2.2.tgz";
-        sha512 = "NMs5JhYXGojBQJNJ7DumqktgRqs95Qt1cj6JMPz8lKBfHYRTRn7Am4CdyX/hS1zTn1lKwsWXBpMP9Hp0nelINg==";
+        url = "https://registry.npmjs.org/@unicode/unicode-14.0.0/-/unicode-14.0.0-1.3.0.tgz";
+        sha512 = "hZi0iPeyg9cuy+NBTYVLTTBNe2aAiJvnD6S0tednypIevWqp4+osyan1xtDENKRINpzBolmm5Wl344yYN4MxuQ==";
       };
     };
     "@uphold/request-logger-2.0.0" = {
@@ -10660,49 +10876,58 @@ let
         sha512 = "UvGS+v87C7VTtQDcFHDLfvfl1zaZaLSwSmAnV35Ne7CzAVvotmZqt9lAIoNpMpaoRpdjVIcnUDwPSeIeA//EoQ==";
       };
     };
-    "@vercel/build-utils-4.1.0" = {
+    "@vercel/build-utils-5.0.8" = {
       name = "_at_vercel_slash_build-utils";
       packageName = "@vercel/build-utils";
-      version = "4.1.0";
+      version = "5.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/build-utils/-/build-utils-4.1.0.tgz";
-        sha512 = "Dma7JbyHlZ1X/mJG2odK499xJuf5KJULzSAj+RNflBNe2S13IwJw3pw/LCLrP3dMxSbFrU4/ysCiTX9BTmzjHw==";
+        url = "https://registry.npmjs.org/@vercel/build-utils/-/build-utils-5.0.8.tgz";
+        sha512 = "tEztOwICqI4ME+xmooOmWumJfaOXHb097Te8Y7bfYsh5YfNbO3XYpvgXT0HuOo6pnrMjgm5OIPyhT3DoSkfrrA==";
       };
     };
-    "@vercel/go-2.0.1" = {
+    "@vercel/go-2.0.12" = {
       name = "_at_vercel_slash_go";
       packageName = "@vercel/go";
-      version = "2.0.1";
+      version = "2.0.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/go/-/go-2.0.1.tgz";
-        sha512 = "cmCoiLu+Z0zRaH8/79d0gN940q6ojnEm/pE4rAfvLMvjDE+K/ltimE1ZgM6KupAb7z1knYud1T+fLJ4CSmGXig==";
+        url = "https://registry.npmjs.org/@vercel/go/-/go-2.0.12.tgz";
+        sha512 = "Ificp8qFKJqojvZBsptWN0GhcbARAaW4GshJHXJtxgPNxh6nfpN0dzid9FUSkhKVhNYlSbERnKalTGXJ5mAGKQ==";
       };
     };
-    "@vercel/next-3.0.1" = {
+    "@vercel/hydrogen-0.0.9" = {
+      name = "_at_vercel_slash_hydrogen";
+      packageName = "@vercel/hydrogen";
+      version = "0.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vercel/hydrogen/-/hydrogen-0.0.9.tgz";
+        sha512 = "9IhMBIMD0yzH9kcUYeKWKuyBi+GXZTfiruCXPFOBSTxyDaAtrUoKPDjL0t8xH0ZOv/LVsv1m3M43CkuvIxOG3w==";
+      };
+    };
+    "@vercel/next-3.1.12" = {
       name = "_at_vercel_slash_next";
       packageName = "@vercel/next";
-      version = "3.0.1";
+      version = "3.1.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/next/-/next-3.0.1.tgz";
-        sha512 = "A4JGh2gj//Yn2E8IfhaDwJ5n5zwQ6QtqeUn2o9KlrSr3gJJ3dv3fafsDgSW3wHMs/p/ifVEdB034XBofGSe4xA==";
+        url = "https://registry.npmjs.org/@vercel/next/-/next-3.1.12.tgz";
+        sha512 = "p7dsJv3EMqW+uiePqp8vVbA917uR6zaH5YcwrofzesWUMvTJBtBINFxLv3C/R/FoodJmx8NrQJfEuaHyFTvGKQ==";
       };
     };
-    "@vercel/nft-0.19.1" = {
+    "@vercel/nft-0.21.0" = {
       name = "_at_vercel_slash_nft";
       packageName = "@vercel/nft";
-      version = "0.19.1";
+      version = "0.21.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/nft/-/nft-0.19.1.tgz";
-        sha512 = "klR5oN7S3WJsZz0r6Xsq7o8YlFEyU3/00VmlpZzIPVFzKfbcEjXo/sVR5lQBUqNKuOzhcbxaFtzW9aOyHjmPYA==";
+        url = "https://registry.npmjs.org/@vercel/nft/-/nft-0.21.0.tgz";
+        sha512 = "hFCAETfI5cG8l5iAiLhMC2bReC5K7SIybzrxGorv+eGspIbIFsVw7Vg85GovXm/LxA08pIDrAlrhR6GN36XB/Q==";
       };
     };
-    "@vercel/node-2.1.0" = {
+    "@vercel/node-2.5.3" = {
       name = "_at_vercel_slash_node";
       packageName = "@vercel/node";
-      version = "2.1.0";
+      version = "2.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/node/-/node-2.1.0.tgz";
-        sha512 = "CqZo0gQj6BAxad358KFTIkcwdd+Onp7O4Nnj2QzdaUOcrMmgUEV7XR8LIrCz0knVawl2DZMDXdLjdknW4e8rQw==";
+        url = "https://registry.npmjs.org/@vercel/node/-/node-2.5.3.tgz";
+        sha512 = "Y+ilGSzKZMif+4uLbS/WS45m0YQIvLEj/LZOrYBhXKMFb6u03eWqi2stu1WNg3DiGCyLz4ctLy59hc8hbk88dw==";
       };
     };
     "@vercel/node-bridge-3.0.0" = {
@@ -10714,58 +10939,67 @@ let
         sha512 = "TNQK6cufwrhd8ASDk5YHHenH8Xhp9sY8xUjOTKnQQI37KLk+Sw2HlHhT5rzUFN23ahosUlkY8InwtYUmSNb9kw==";
       };
     };
-    "@vercel/python-3.0.1" = {
+    "@vercel/python-3.1.4" = {
       name = "_at_vercel_slash_python";
       packageName = "@vercel/python";
-      version = "3.0.1";
+      version = "3.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/python/-/python-3.0.1.tgz";
-        sha512 = "+AGxY78UITOoqudbgMLOP4MFO6+IlQK+NKa51msi59P+PnpDFpVXGdooscliGRDO4QoRq70+ZUdkv10RYv0Gmg==";
+        url = "https://registry.npmjs.org/@vercel/python/-/python-3.1.4.tgz";
+        sha512 = "u4T+oNK4VSFl1fmCbGTx02JUFVjGA7vM/iQHkMbwMkuGGAg4iXdI4q1IZrJDgn/EwoZst8pUJvh55klBrqInWg==";
       };
     };
-    "@vercel/redwood-1.0.1" = {
+    "@vercel/redwood-1.0.13" = {
       name = "_at_vercel_slash_redwood";
       packageName = "@vercel/redwood";
-      version = "1.0.1";
+      version = "1.0.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/redwood/-/redwood-1.0.1.tgz";
-        sha512 = "23EIaukLbicVB4XOtqogXsqiAkvtitYbYGdjAIKyOFYyrjPpX5hLNBsM0pSPDhZDgCdrs4TzEkNOIk4TwpkGyg==";
+        url = "https://registry.npmjs.org/@vercel/redwood/-/redwood-1.0.13.tgz";
+        sha512 = "K3qQFj3gNuISu8Jp/m2vAOa24M7oHiy9lMqN5Fr/IVPSKIRoEXESGw9PGRFzRMyZ1qr5PgB6HpRrJzU+NdjCHw==";
       };
     };
-    "@vercel/remix-1.0.1" = {
+    "@vercel/remix-1.0.14" = {
       name = "_at_vercel_slash_remix";
       packageName = "@vercel/remix";
-      version = "1.0.1";
+      version = "1.0.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/remix/-/remix-1.0.1.tgz";
-        sha512 = "pmVJcaQWufX3aeWvyH2pE9Ry0OLLCmtDMWO6YJSQbiq29F9+pq88xENcL1wRWCShLFFrmRb1tKOCCAV0bgiVUg==";
+        url = "https://registry.npmjs.org/@vercel/remix/-/remix-1.0.14.tgz";
+        sha512 = "l/nqIGymeTI3S6Oi8f5nSyaTdWENVaoEmWX9k6uPhEj0saADtxFQ/eZHCMUcxGo2iyO7L2+IK/hT3wPtbpUb2Q==";
       };
     };
-    "@vercel/routing-utils-1.13.4" = {
+    "@vercel/routing-utils-2.0.0" = {
       name = "_at_vercel_slash_routing-utils";
       packageName = "@vercel/routing-utils";
-      version = "1.13.4";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/routing-utils/-/routing-utils-1.13.4.tgz";
-        sha512 = "ifrNFfIjGF8pSHOXB6BPUWLhG6/ZjRIdSUMrFLhBzrPj4yHelafqNSVTN70V1VHFNrr3OJscimc9EdwzOtiHzQ==";
+        url = "https://registry.npmjs.org/@vercel/routing-utils/-/routing-utils-2.0.0.tgz";
+        sha512 = "laDhH96e+IzU6GnufS5QZ3YvfqA4h5bw8j+k7+t7wPzRjtDhHDfbI45MypVWbVul7BhEZTaHztnzR0zo/YiFMw==";
       };
     };
-    "@vercel/ruby-1.3.9" = {
+    "@vercel/ruby-1.3.20" = {
       name = "_at_vercel_slash_ruby";
       packageName = "@vercel/ruby";
-      version = "1.3.9";
+      version = "1.3.20";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/ruby/-/ruby-1.3.9.tgz";
-        sha512 = "WjZRHBMlVAtEfgEh9ReLCJ3hbB6o+zqER0XNhxGwYzlphwCGRBhKHOdNB5eK49QMrafesHenKkDV4Asbd4TCsg==";
+        url = "https://registry.npmjs.org/@vercel/ruby/-/ruby-1.3.20.tgz";
+        sha512 = "8ubXYs1TaBJHIESNB9UPifScyk1DXxl7d6gaDnbQ/57iqG330ZUrHZef+3tpM7ZRd8linWIlPjJlkQ6jb3cRMQ==";
       };
     };
-    "@vercel/static-build-1.0.1" = {
+    "@vercel/static-build-1.0.13" = {
       name = "_at_vercel_slash_static-build";
       packageName = "@vercel/static-build";
-      version = "1.0.1";
+      version = "1.0.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vercel/static-build/-/static-build-1.0.13.tgz";
+        sha512 = "Xa+9ZbQfLYjlCKYFqFk/VjcKe6LE0cMy7tiOBOXBJqWbT28ESC4jtokM+OnXbcl+CN6M8CPPPhdyA0Y5x4UZFw==";
+      };
+    };
+    "@vercel/static-config-2.0.1" = {
+      name = "_at_vercel_slash_static-config";
+      packageName = "@vercel/static-config";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/static-build/-/static-build-1.0.1.tgz";
-        sha512 = "6Gbtbdabse+9rvGKjK6G9mmRVw4hIzSTeEXRaGEvW2f2hRD6jAzw3RLMA66R+olaxzsqz404oUL0WgILMd67nQ==";
+        url = "https://registry.npmjs.org/@vercel/static-config/-/static-config-2.0.1.tgz";
+        sha512 = "J3l3H0iE6FC0KHIlkY1Em291uwWmW22QIN8Cb8nLo9P5BW6a3r0kypmk86UGEWhfWxzt4Hnmb+6JEwkVNnv8/Q==";
       };
     };
     "@vscode/emmet-helper-2.8.4" = {
@@ -10777,22 +11011,22 @@ let
         sha512 = "lUki5QLS47bz/U8IlG9VQ+1lfxMtxMZENmU5nu4Z71eOD5j9FK0SmYGL5NiVJg9WBWeAU0VxRADMY2Qpq7BfVg==";
       };
     };
-    "@vscode/test-electron-2.1.4" = {
+    "@vscode/test-electron-2.1.5" = {
       name = "_at_vscode_slash_test-electron";
       packageName = "@vscode/test-electron";
-      version = "2.1.4";
+      version = "2.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.1.4.tgz";
-        sha512 = "tHHAWNVwl8C7nyezHAHdNPWkksdXWvmae6bt4k1tJ9hvMm6QIIk95Mkutl82XHcD60mdP46EHDGU+xFsAvygOQ==";
+        url = "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.1.5.tgz";
+        sha512 = "O/ioqFpV+RvKbRykX2ItYPnbcZ4Hk5V0rY4uhQjQTLhGL9WZUvS7exzuYQCCI+ilSqJpctvxq2llTfGXf9UnnA==";
       };
     };
-    "@vue/cli-overlay-4.5.18" = {
+    "@vue/cli-overlay-4.5.19" = {
       name = "_at_vue_slash_cli-overlay";
       packageName = "@vue/cli-overlay";
-      version = "4.5.18";
+      version = "4.5.19";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.5.18.tgz";
-        sha512 = "PZW6WRbmWx/I+PaP7PdjZGscvtUiIq/pRU38p3GLKMl53InBer12549CEAhPicAF5c38gBzGu/ifoPSvlPSZyg==";
+        url = "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.5.19.tgz";
+        sha512 = "GdxvNSmOw7NHIazCO8gTK+xZbaOmScTtxj6eHVeMbYpDYVPJ+th3VMLWNpw/b6uOjwzzcyKlA5dRQ1DAb+gF/g==";
       };
     };
     "@vue/cli-plugin-eslint-4.5.12" = {
@@ -10804,13 +11038,13 @@ let
         sha512 = "nbjGJkWxo/xdD32DwvnEAUwkWYsObpqNk9NuU7T62ehdzHPzz58o3j03YZ7a7T7Le8bYyOWMYsdNfz63F+XiZQ==";
       };
     };
-    "@vue/cli-plugin-router-4.5.18" = {
+    "@vue/cli-plugin-router-4.5.19" = {
       name = "_at_vue_slash_cli-plugin-router";
       packageName = "@vue/cli-plugin-router";
-      version = "4.5.18";
+      version = "4.5.19";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.5.18.tgz";
-        sha512 = "J2SJpi7OKy6NE5yUz7eubTnzc+k2LHEcI+c0W8i4UoUumIVSkAgvKWZPFqoy/QIqnQpwW/75CUjpLGf6Fht2wQ==";
+        url = "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.5.19.tgz";
+        sha512 = "3icGzH1IbVYmMMsOwYa0lal/gtvZLebFXdE5hcQJo2mnTwngXGMTyYAzL56EgHBPjbMmRpyj6Iw9k4aVInVX6A==";
       };
     };
     "@vue/cli-plugin-typescript-4.5.13" = {
@@ -10840,49 +11074,49 @@ let
         sha512 = "CKAZN4iokMMsaUyJRU22oUAz3oS/X9sVBSKAF2/shFBV5xh3jqAlKl8OXZYz4cXGFLA6djNuYrniuLAo7Ku97A==";
       };
     };
-    "@vue/cli-shared-utils-4.5.18" = {
+    "@vue/cli-shared-utils-4.5.19" = {
       name = "_at_vue_slash_cli-shared-utils";
       packageName = "@vue/cli-shared-utils";
-      version = "4.5.18";
+      version = "4.5.19";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.18.tgz";
-        sha512 = "rYX8watG/+SFmkedXMZ3hJP+26/bz80f9zG9dMUfBMqTAqIDGICDtuP4H4QXZL3PCKI/HWFCMhRWf2wO4eGEPg==";
+        url = "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.19.tgz";
+        sha512 = "JYpdsrC/d9elerKxbEUtmSSU6QRM60rirVubOewECHkBHj+tLNznWq/EhCjswywtePyLaMUK25eTqnTSZlEE+g==";
       };
     };
-    "@vue/cli-shared-utils-5.0.6" = {
+    "@vue/cli-shared-utils-5.0.8" = {
       name = "_at_vue_slash_cli-shared-utils";
       packageName = "@vue/cli-shared-utils";
-      version = "5.0.6";
+      version = "5.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-5.0.6.tgz";
-        sha512 = "5HmlRtMByOCFO0P3mMUx8dVruTRhZ3pqQ0f1cCH9TmAoDjetmD/Ib7yx/5KxTHV8QY3xZJxYvgAmOU5C49K5xA==";
+        url = "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-5.0.8.tgz";
+        sha512 = "uK2YB7bBVuQhjOJF+O52P9yFMXeJVj7ozqJkwYE9PlMHL1LMHjtCYm4cSdOebuPzyP+/9p0BimM/OqxsevIopQ==";
       };
     };
-    "@vue/cli-ui-5.0.6" = {
+    "@vue/cli-ui-5.0.8" = {
       name = "_at_vue_slash_cli-ui";
       packageName = "@vue/cli-ui";
-      version = "5.0.6";
+      version = "5.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-ui/-/cli-ui-5.0.6.tgz";
-        sha512 = "FiqRfA0zy53OikLRW9cz00+DXhRjaRRAoRSa5TPBJt8ZwYNdBOwKMw3jssKCrl97Ye4lK5/qE0Y3UGb+gDIHUw==";
+        url = "https://registry.npmjs.org/@vue/cli-ui/-/cli-ui-5.0.8.tgz";
+        sha512 = "1eyL1h1T3LVejYplDqERO8TK03sjR3QTOTHa01ABreCdqFTZItiUVud34uEcuoZ6Gi69xdl+LSx6Hvo4t9tfrA==";
       };
     };
-    "@vue/cli-ui-addon-webpack-5.0.6" = {
+    "@vue/cli-ui-addon-webpack-5.0.8" = {
       name = "_at_vue_slash_cli-ui-addon-webpack";
       packageName = "@vue/cli-ui-addon-webpack";
-      version = "5.0.6";
+      version = "5.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-ui-addon-webpack/-/cli-ui-addon-webpack-5.0.6.tgz";
-        sha512 = "rkVVTlzo2vqQJZCfcF9LVM1m1KU6p4HAJ0D/1I786uusOp45pfIptymCBqIgp8w7CzjlEkaRs8TgGrjMk3L6PQ==";
+        url = "https://registry.npmjs.org/@vue/cli-ui-addon-webpack/-/cli-ui-addon-webpack-5.0.8.tgz";
+        sha512 = "sg+3a9vHGzpFRrv7MVZRQ9oDztFN9Mvx0MleidKyPIAWMSOskSQT8zTngy8bEyXjXwNv6mCn2jvUR/tgbldyow==";
       };
     };
-    "@vue/cli-ui-addon-widgets-5.0.6" = {
+    "@vue/cli-ui-addon-widgets-5.0.8" = {
       name = "_at_vue_slash_cli-ui-addon-widgets";
       packageName = "@vue/cli-ui-addon-widgets";
-      version = "5.0.6";
+      version = "5.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-ui-addon-widgets/-/cli-ui-addon-widgets-5.0.6.tgz";
-        sha512 = "ZhRO1RIA/oNeEJfrLWcwX2pXvc3ohMtDeLHkxDFKDtqafgwrww9wr+Gdg4ZLFY6ldmfurU9/vHPmowTBHx2O+Q==";
+        url = "https://registry.npmjs.org/@vue/cli-ui-addon-widgets/-/cli-ui-addon-widgets-5.0.8.tgz";
+        sha512 = "jNYQ+3z7HDZ3IR3Z3Dlo3yOPbHexpygkn2IJ7sjA62oGolnNWeF7kvpLwni18l8N5InhS66m9w31an1Fs5pCZA==";
       };
     };
     "@vue/compiler-core-3.2.37" = {
@@ -10903,22 +11137,13 @@ let
         sha512 = "yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==";
       };
     };
-    "@vue/compiler-sfc-3.2.37" = {
+    "@vue/compiler-sfc-2.7.8" = {
       name = "_at_vue_slash_compiler-sfc";
       packageName = "@vue/compiler-sfc";
-      version = "3.2.37";
+      version = "2.7.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.37.tgz";
-        sha512 = "+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==";
-      };
-    };
-    "@vue/compiler-ssr-3.2.37" = {
-      name = "_at_vue_slash_compiler-ssr";
-      packageName = "@vue/compiler-ssr";
-      version = "3.2.37";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.37.tgz";
-        sha512 = "7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==";
+        url = "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.8.tgz";
+        sha512 = "2DK4YWKfgLnW9VDR9gnju1gcYRk3flKj8UNsms7fsRmFcg35slVTZEkqwBtX+wJBXaamFfn6NxSsZh3h12Ix/Q==";
       };
     };
     "@vue/component-compiler-utils-3.3.0" = {
@@ -10957,33 +11182,6 @@ let
         sha512 = "LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ==";
       };
     };
-    "@vue/reactivity-3.2.37" = {
-      name = "_at_vue_slash_reactivity";
-      packageName = "@vue/reactivity";
-      version = "3.2.37";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.37.tgz";
-        sha512 = "/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A==";
-      };
-    };
-    "@vue/reactivity-transform-3.2.37" = {
-      name = "_at_vue_slash_reactivity-transform";
-      packageName = "@vue/reactivity-transform";
-      version = "3.2.37";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.37.tgz";
-        sha512 = "IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==";
-      };
-    };
-    "@vue/runtime-core-3.2.37" = {
-      name = "_at_vue_slash_runtime-core";
-      packageName = "@vue/runtime-core";
-      version = "3.2.37";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.37.tgz";
-        sha512 = "JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ==";
-      };
-    };
     "@vue/shared-3.2.37" = {
       name = "_at_vue_slash_shared";
       packageName = "@vue/shared";
@@ -11002,33 +11200,6 @@ let
         sha512 = "Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA==";
       };
     };
-    "@web-std/blob-3.0.4" = {
-      name = "_at_web-std_slash_blob";
-      packageName = "@web-std/blob";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@web-std/blob/-/blob-3.0.4.tgz";
-        sha512 = "+dibyiw+uHYK4dX5cJ7HA+gtDAaUUe6JsOryp2ZpAC7h4ICsh49E34JwHoEKPlPvP0llCrNzz45vvD+xX5QDBg==";
-      };
-    };
-    "@web-std/file-3.0.2" = {
-      name = "_at_web-std_slash_file";
-      packageName = "@web-std/file";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@web-std/file/-/file-3.0.2.tgz";
-        sha512 = "pIH0uuZsmY8YFvSHP1NsBIiMT/1ce0suPrX74fEeO3Wbr1+rW0fUGEe4d0R99iLwXtyCwyserqCFI4BJkJlkRA==";
-      };
-    };
-    "@web-std/stream-1.0.0" = {
-      name = "_at_web-std_slash_stream";
-      packageName = "@web-std/stream";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@web-std/stream/-/stream-1.0.0.tgz";
-        sha512 = "jyIbdVl+0ZJyKGTV0Ohb9E6UnxP+t7ZzX4Do3AHjZKxUXKMs9EmqnBDQgHF7bEw0EzbQygOjtt/7gvtmi//iCQ==";
-      };
-    };
     "@webassemblyjs/ast-1.11.1" = {
       name = "_at_webassemblyjs_slash_ast";
       packageName = "@webassemblyjs/ast";
@@ -11560,13 +11731,13 @@ let
         sha512 = "GWZQKroPES4z91Ijx6zsOsb7+USOxjy66s8AoTWg0HiBBdfnbtf9aeh3Uav0MgYn4BL8Q7tVSUpd0gGpngKGEQ==";
       };
     };
-    "@wry/equality-0.1.11" = {
-      name = "_at_wry_slash_equality";
-      packageName = "@wry/equality";
-      version = "0.1.11";
+    "@whatwg-node/fetch-0.2.7" = {
+      name = "_at_whatwg-node_slash_fetch";
+      packageName = "@whatwg-node/fetch";
+      version = "0.2.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@wry/equality/-/equality-0.1.11.tgz";
-        sha512 = "mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA==";
+        url = "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.2.7.tgz";
+        sha512 = "AYU3W9q6qIkSlJOLAjBdOeMuWZwaPy7eeDhl2uG0udMRwO6+CVfAa/hG/kMX1Zp0wH2plhOm4eJrWtuf4f2+2A==";
       };
     };
     "@xmldom/xmldom-0.7.5" = {
@@ -11875,6 +12046,15 @@ let
         sha512 = "GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==";
       };
     };
+    "@zeit/schemas-2.21.0" = {
+      name = "_at_zeit_slash_schemas";
+      packageName = "@zeit/schemas";
+      version = "2.21.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.21.0.tgz";
+        sha512 = "/J4WBTpWtQ4itN1rb3ao8LfClmVcmz2pO6oYb7Qd4h7VSqUhIbJIvrykz9Ew1WMg6eFWsKdsMHc5uPbFxqlCpg==";
+      };
+    };
     "@zeit/schemas-2.6.0" = {
       name = "_at_zeit_slash_schemas";
       packageName = "@zeit/schemas";
@@ -11884,15 +12064,6 @@ let
         sha512 = "uUrgZ8AxS+Lio0fZKAipJjAh415JyrOZowliZAzmnJSsf7piVL5w+G0+gFJ0KSu3QRhvui/7zuvpLz03YjXAhg==";
       };
     };
-    "@zxing/text-encoding-0.9.0" = {
-      name = "_at_zxing_slash_text-encoding";
-      packageName = "@zxing/text-encoding";
-      version = "0.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@zxing/text-encoding/-/text-encoding-0.9.0.tgz";
-        sha512 = "U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==";
-      };
-    };
     "CSSselect-0.4.1" = {
       name = "CSSselect";
       packageName = "CSSselect";
@@ -12127,22 +12298,22 @@ let
         sha512 = "nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==";
       };
     };
-    "acorn-8.7.0" = {
+    "acorn-8.7.1" = {
       name = "acorn";
       packageName = "acorn";
-      version = "8.7.0";
+      version = "8.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz";
-        sha512 = "V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==";
+        url = "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz";
+        sha512 = "Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==";
       };
     };
-    "acorn-8.7.1" = {
+    "acorn-8.8.0" = {
       name = "acorn";
       packageName = "acorn";
-      version = "8.7.1";
+      version = "8.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz";
-        sha512 = "Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==";
+        url = "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz";
+        sha512 = "QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==";
       };
     };
     "acorn-globals-1.0.9" = {
@@ -12298,13 +12469,13 @@ let
         sha512 = "qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==";
       };
     };
-    "addons-linter-5.9.0" = {
+    "addons-linter-5.10.0" = {
       name = "addons-linter";
       packageName = "addons-linter";
-      version = "5.9.0";
+      version = "5.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/addons-linter/-/addons-linter-5.9.0.tgz";
-        sha512 = "ACvBvkO8WtupOT42S3ln801/Ek7X1Yss59aYlI5JPc+dEBfEyEtkUa23UEQmALqdDEoHk0i+3NkKHdiXbhqp/g==";
+        url = "https://registry.npmjs.org/addons-linter/-/addons-linter-5.10.0.tgz";
+        sha512 = "RiW9A0Z5HOzghN+BxmModDZ1V6B+1NFWZ+aU/vXefUtrNrJF6oWUnmeCLl1QzDaRcYVGDNDX9DheLfb23/Dzdg==";
       };
     };
     "addons-moz-compare-1.2.0" = {
@@ -12316,13 +12487,13 @@ let
         sha512 = "COG8qk2/dubPqabfcoJW4E7pm2EQDI43iMrHnhlobvq/uRMEzx/PYJ1KaUZ97Vgg44R3QdRG5CvDsTRbMUHcDw==";
       };
     };
-    "addons-scanner-utils-7.0.0" = {
+    "addons-scanner-utils-7.1.0" = {
       name = "addons-scanner-utils";
       packageName = "addons-scanner-utils";
-      version = "7.0.0";
+      version = "7.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/addons-scanner-utils/-/addons-scanner-utils-7.0.0.tgz";
-        sha512 = "5j/qMzL13uGSiaFKvUNiMwyWMYD2YtEeY477q7Ahan3c90wLCwXIGCdpCfstgT3hpl44r+d6lqTIo2j2FW6uJQ==";
+        url = "https://registry.npmjs.org/addons-scanner-utils/-/addons-scanner-utils-7.1.0.tgz";
+        sha512 = "I6uQtJg3sbNtbGOsR2GmTtegCegYTXFRTnnvukEcX0jWidI4enyENyCV1MNkoLSw5xbgKIM/bFuSm4IPFlDYrg==";
       };
     };
     "addr-to-ip-port-1.5.4" = {
@@ -12523,15 +12694,6 @@ let
         sha512 = "LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==";
       };
     };
-    "ajv-8.10.0" = {
-      name = "ajv";
-      packageName = "ajv";
-      version = "8.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz";
-        sha512 = "bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==";
-      };
-    };
     "ajv-8.11.0" = {
       name = "ajv";
       packageName = "ajv";
@@ -12541,13 +12703,13 @@ let
         sha512 = "wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==";
       };
     };
-    "ajv-8.9.0" = {
+    "ajv-8.6.3" = {
       name = "ajv";
       packageName = "ajv";
-      version = "8.9.0";
+      version = "8.6.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz";
-        sha512 = "qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==";
+        url = "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz";
+        sha512 = "SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==";
       };
     };
     "ajv-errors-1.0.1" = {
@@ -13126,139 +13288,76 @@ let
         sha512 = "JtHjzZmJxtzfTSjsCyHgPR155HBe5WGyUyHTaEkfy46qhwCFKx1Epm6nAxgUG3WfUZP1dWhGqj9Z2NOBeZ+uBw==";
       };
     };
-    "apollo-cache-control-0.14.0" = {
-      name = "apollo-cache-control";
-      packageName = "apollo-cache-control";
-      version = "0.14.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-cache-control/-/apollo-cache-control-0.14.0.tgz";
-        sha512 = "qN4BCq90egQrgNnTRMUHikLZZAprf3gbm8rC5Vwmc6ZdLolQ7bFsa769Hqi6Tq/lS31KLsXBLTOsRbfPHph12w==";
-      };
-    };
-    "apollo-datasource-0.9.0" = {
+    "apollo-datasource-3.3.2" = {
       name = "apollo-datasource";
       packageName = "apollo-datasource";
-      version = "0.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-datasource/-/apollo-datasource-0.9.0.tgz";
-        sha512 = "y8H99NExU1Sk4TvcaUxTdzfq2SZo6uSj5dyh75XSQvbpH6gdAXIW9MaBcvlNC7n0cVPsidHmOcHOWxJ/pTXGjA==";
-      };
-    };
-    "apollo-graphql-0.9.7" = {
-      name = "apollo-graphql";
-      packageName = "apollo-graphql";
-      version = "0.9.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-graphql/-/apollo-graphql-0.9.7.tgz";
-        sha512 = "bezL9ItUWUGHTm1bI/XzIgiiZbhXpsC7uxk4UxFPmcVJwJsDc3ayZ99oXxAaK+3Rbg/IoqrHckA6CwmkCsbaSA==";
-      };
-    };
-    "apollo-link-1.2.1" = {
-      name = "apollo-link";
-      packageName = "apollo-link";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-link/-/apollo-link-1.2.1.tgz";
-        sha512 = "6Ghf+j3cQLCIvjXd2dJrLw+16HZbWbwmB1qlTc41BviB2hv+rK1nJr17Y9dWK0UD4p3i9Hfddx3tthpMKrueHg==";
-      };
-    };
-    "apollo-link-1.2.14" = {
-      name = "apollo-link";
-      packageName = "apollo-link";
-      version = "1.2.14";
+      version = "3.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-link/-/apollo-link-1.2.14.tgz";
-        sha512 = "p67CMEFP7kOG1JZ0ZkYZwRDa369w5PIjtMjvrQd/HnIV8FRsHRqLqK+oAZQnFa1DDdZtOtHTi+aMIW6EatC2jg==";
+        url = "https://registry.npmjs.org/apollo-datasource/-/apollo-datasource-3.3.2.tgz";
+        sha512 = "L5TiS8E2Hn/Yz7SSnWIVbZw0ZfEIXZCa5VUiVxD9P53JvSrf4aStvsFDlGWPvpIdCR+aly2CfoB79B9/JjKFqg==";
       };
     };
-    "apollo-reporting-protobuf-0.8.0" = {
+    "apollo-reporting-protobuf-3.3.2" = {
       name = "apollo-reporting-protobuf";
       packageName = "apollo-reporting-protobuf";
-      version = "0.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-reporting-protobuf/-/apollo-reporting-protobuf-0.8.0.tgz";
-        sha512 = "B3XmnkH6Y458iV6OsA7AhfwvTgeZnFq9nPVjbxmLKnvfkEl8hYADtz724uPa0WeBiD7DSFcnLtqg9yGmCkBohg==";
-      };
-    };
-    "apollo-server-caching-0.7.0" = {
-      name = "apollo-server-caching";
-      packageName = "apollo-server-caching";
-      version = "0.7.0";
+      version = "3.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-server-caching/-/apollo-server-caching-0.7.0.tgz";
-        sha512 = "MsVCuf/2FxuTFVhGLK13B+TZH9tBd2qkyoXKKILIiGcZ5CDUEBO14vIV63aNkMkS1xxvK2U4wBcuuNj/VH2Mkw==";
+        url = "https://registry.npmjs.org/apollo-reporting-protobuf/-/apollo-reporting-protobuf-3.3.2.tgz";
+        sha512 = "j1tx9tmkVdsLt1UPzBrvz90PdjAeKW157WxGn+aXlnnGfVjZLIRXX3x5t1NWtXvB7rVaAsLLILLtDHW382TSoQ==";
       };
     };
-    "apollo-server-core-2.25.4" = {
+    "apollo-server-core-3.10.0" = {
       name = "apollo-server-core";
       packageName = "apollo-server-core";
-      version = "2.25.4";
+      version = "3.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-2.25.4.tgz";
-        sha512 = "1u3BnFKbCt6F9SPM7ZoWmtHK6ubme56H8hV5Mjv3KbfSairU76SU79IhO05BEJE57S6N+ddb1rm3Uk93X6YeGw==";
+        url = "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-3.10.0.tgz";
+        sha512 = "ln5drIk3oW/ycYhcYL9TvM7vRf7OZwJrgHWlnjnMakozBQIBSumdMi4pN001DhU9mVBWTfnmBv3CdcxJdGXIvA==";
       };
     };
-    "apollo-server-env-3.1.0" = {
+    "apollo-server-env-4.2.1" = {
       name = "apollo-server-env";
       packageName = "apollo-server-env";
-      version = "3.1.0";
+      version = "4.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-server-env/-/apollo-server-env-3.1.0.tgz";
-        sha512 = "iGdZgEOAuVop3vb0F2J3+kaBVi4caMoxefHosxmgzAbbSpvWehB8Y1QiSyyMeouYC38XNVk5wnZl+jdGSsWsIQ==";
+        url = "https://registry.npmjs.org/apollo-server-env/-/apollo-server-env-4.2.1.tgz";
+        sha512 = "vm/7c7ld+zFMxibzqZ7SSa5tBENc4B0uye9LTfjJwGoQFY5xsUPH5FpO5j0bMUDZ8YYNbrF9SNtzc5Cngcr90g==";
       };
     };
-    "apollo-server-errors-2.5.0" = {
+    "apollo-server-errors-3.3.1" = {
       name = "apollo-server-errors";
       packageName = "apollo-server-errors";
-      version = "2.5.0";
+      version = "3.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-server-errors/-/apollo-server-errors-2.5.0.tgz";
-        sha512 = "lO5oTjgiC3vlVg2RKr3RiXIIQ5pGXBFxYGGUkKDhTud3jMIhs+gel8L8zsEjKaKxkjHhCQAA/bcEfYiKkGQIvA==";
+        url = "https://registry.npmjs.org/apollo-server-errors/-/apollo-server-errors-3.3.1.tgz";
+        sha512 = "xnZJ5QWs6FixHICXHxUfm+ZWqqxrNuPlQ+kj5m6RtEgIpekOPssH/SD9gf2B4HuWV0QozorrygwZnux8POvyPA==";
       };
     };
-    "apollo-server-express-2.25.4" = {
+    "apollo-server-express-3.10.0" = {
       name = "apollo-server-express";
       packageName = "apollo-server-express";
-      version = "2.25.4";
+      version = "3.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-2.25.4.tgz";
-        sha512 = "1Yd9DscLlCP5BhfAkNxg+aGcaTKnL36FyezdL7Iqc+KelON5PAyX8qpAChKL8Z3L2YHJzIk/Haf4dFJLKUjx9w==";
+        url = "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-3.10.0.tgz";
+        sha512 = "ww3tZq9I/x3Oxtux8xlHAZcSB0NNQ17lRlY6yCLk1F+jCzdcjuj0x8XNg0GdTrMowt5v43o786bU9VYKD5OVnA==";
       };
     };
-    "apollo-server-plugin-base-0.13.0" = {
+    "apollo-server-plugin-base-3.6.2" = {
       name = "apollo-server-plugin-base";
       packageName = "apollo-server-plugin-base";
-      version = "0.13.0";
+      version = "3.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-0.13.0.tgz";
-        sha512 = "L3TMmq2YE6BU6I4Tmgygmd0W55L+6XfD9137k+cWEBFu50vRY4Re+d+fL5WuPkk5xSPKd/PIaqzidu5V/zz8Kg==";
+        url = "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-3.6.2.tgz";
+        sha512 = "erWXjLOO1u7fxQkbxJ2cwSO7p0tYzNied91I1SJ9tikXZ/2eZUyDyvrpI+4g70kOdEi+AmJ5Fo8ahEXKJ75zdg==";
       };
     };
-    "apollo-server-types-0.9.0" = {
+    "apollo-server-types-3.6.2" = {
       name = "apollo-server-types";
       packageName = "apollo-server-types";
-      version = "0.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-server-types/-/apollo-server-types-0.9.0.tgz";
-        sha512 = "qk9tg4Imwpk732JJHBkhW0jzfG0nFsLqK2DY6UhvJf7jLnRePYsPxWfPiNkxni27pLE2tiNlCwoDFSeWqpZyBg==";
-      };
-    };
-    "apollo-tracing-0.15.0" = {
-      name = "apollo-tracing";
-      packageName = "apollo-tracing";
-      version = "0.15.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-tracing/-/apollo-tracing-0.15.0.tgz";
-        sha512 = "UP0fztFvaZPHDhIB/J+qGuy6hWO4If069MGC98qVs0I8FICIGu4/8ykpX3X3K6RtaQ56EDAWKykCxFv4ScxMeA==";
-      };
-    };
-    "apollo-utilities-1.3.4" = {
-      name = "apollo-utilities";
-      packageName = "apollo-utilities";
-      version = "1.3.4";
+      version = "3.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.3.4.tgz";
-        sha512 = "pk2hiWrCXMAy2fRPwEyhvka+mqwzeP60Jr1tRYi5xru+3ko94HI9o6lK0CT33/w4RDlxWchmdhDCrvdr+pHCig==";
+        url = "https://registry.npmjs.org/apollo-server-types/-/apollo-server-types-3.6.2.tgz";
+        sha512 = "9Z54S7NB+qW1VV+kmiqwU2Q6jxWfX89HlSGCGOo3zrkrperh85LrzABgN9S92+qyeHYd72noMDg2aI039sF3dg==";
       };
     };
     "app-path-2.2.0" = {
@@ -13468,13 +13567,13 @@ let
         sha512 = "Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==";
       };
     };
-    "are-we-there-yet-3.0.0" = {
+    "are-we-there-yet-3.0.1" = {
       name = "are-we-there-yet";
       packageName = "are-we-there-yet";
-      version = "3.0.0";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz";
-        sha512 = "0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==";
+        url = "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz";
+        sha512 = "QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==";
       };
     };
     "arg-2.0.0" = {
@@ -14080,13 +14179,13 @@ let
         sha512 = "BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==";
       };
     };
-    "asar-3.1.0" = {
+    "asar-3.2.0" = {
       name = "asar";
       packageName = "asar";
-      version = "3.1.0";
+      version = "3.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/asar/-/asar-3.1.0.tgz";
-        sha512 = "vyxPxP5arcAqN4F/ebHd/HhwnAiZtwhglvdmc7BR2f0ywbVNTOpSeyhLDbGXtE/y58hv1oC75TaNIXutnsOZsQ==";
+        url = "https://registry.npmjs.org/asar/-/asar-3.2.0.tgz";
+        sha512 = "COdw2ZQvKdFGFxXwX3oYh2/sOsJWJegrdJCGxnN4MZ7IULgRBp9P6665aqj9z1v9VwP4oP1hRBojRDQ//IGgAg==";
       };
     };
     "ascii-table-0.0.9" = {
@@ -14494,13 +14593,13 @@ let
         sha512 = "gpuo6xOyF4D5DE5WvyqZdPA3NGhiT6Qf07l7DCB0wwDEsLvDIbCr6j9S5aj5Ch96dLace5tXVzWBZkxU/c5ohw==";
       };
     };
-    "async-lock-1.3.1" = {
+    "async-lock-1.3.2" = {
       name = "async-lock";
       packageName = "async-lock";
-      version = "1.3.1";
+      version = "1.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/async-lock/-/async-lock-1.3.1.tgz";
-        sha512 = "zK7xap9UnttfbE23JmcrNIyueAn6jWshihJqA33U/hEnKprF/lVGBDsBv/bqLm2YMMl1DnpHhUY044eA0t1TUw==";
+        url = "https://registry.npmjs.org/async-lock/-/async-lock-1.3.2.tgz";
+        sha512 = "phnXdS3RP7PPcmP6NWWzWMU0sLTeyvtZCxBPpZdkYE3seGLKSQZs9FrmVO/qwypq98FUtWWUEYxziLkdGk5nnA==";
       };
     };
     "async-mutex-0.1.4" = {
@@ -14539,6 +14638,15 @@ let
         sha512 = "iitlc2murdQ3/A5Re3CcplQBEf7vOmFrFQ6RFn3+/+zZUyIHYkZnnEziMSa6YIb2Bs2EJEPZWReTxjHqvQbDbw==";
       };
     };
+    "async-sema-3.1.1" = {
+      name = "async-sema";
+      packageName = "async-sema";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async-sema/-/async-sema-3.1.1.tgz";
+        sha512 = "tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==";
+      };
+    };
     "async-settle-1.0.0" = {
       name = "async-settle";
       packageName = "async-settle";
@@ -14773,13 +14881,13 @@ let
         sha512 = "545VawhsCQ7yEx9jZKV0hTTW3FS/waycISWMvnNwqRfpU9o4FQ4DSu3je7ekn5yFKM+91dxJC+IfJgtIV8WaUw==";
       };
     };
-    "aws-sdk-2.1158.0" = {
+    "aws-sdk-2.1188.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.1158.0";
+      version = "2.1188.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1158.0.tgz";
-        sha512 = "uHYzZMGE+b50sWXaLhga4aD1SpB3+DEZclAkg9aYz2pDZlSDTOMh3uJ/ufsMBs7VcDKGS7mQRibCmCbwRGTIlg==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1188.0.tgz";
+        sha512 = "4KXwjRjbCzU1luTOeH+ded92H51I4UuHaZzx2EI+JA0II1+q48heTxFlFd7yp7jGz9UwjPb6k12Jv1W3r0JWxA==";
       };
     };
     "aws-sign2-0.6.0" = {
@@ -14854,13 +14962,13 @@ let
         sha512 = "cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==";
       };
     };
-    "axios-0.27.0" = {
+    "axios-0.27.2" = {
       name = "axios";
       packageName = "axios";
-      version = "0.27.0";
+      version = "0.27.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/axios/-/axios-0.27.0.tgz";
-        sha512 = "XV/WrPxXfzgZ8j4lcB5i6LyaXmi90yetmV/Fem0kmglGx+mpY06CiweL3YxU6wOTNLmqLUePW4G8h45nGZ/+pA==";
+        url = "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz";
+        sha512 = "t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==";
       };
     };
     "axios-cookiejar-support-0.5.1" = {
@@ -14890,22 +14998,22 @@ let
         sha512 = "4TVv2X7oNStT0vLaEfExmy3J4/CzfuXolEcQl/BRUmvGySqKStTG2O55/hUQ0kM7UJlZBLgniM0SBq4d/WkKow==";
       };
     };
-    "azure-devops-node-api-11.1.1" = {
+    "azure-devops-node-api-11.2.0" = {
       name = "azure-devops-node-api";
       packageName = "azure-devops-node-api";
-      version = "11.1.1";
+      version = "11.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-11.1.1.tgz";
-        sha512 = "XDG91XzLZ15reP12s3jFkKS8oiagSICjnLwxEYieme4+4h3ZveFOFRA4iYIG40RyHXsiI0mefFYYMFIJbMpWcg==";
+        url = "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-11.2.0.tgz";
+        sha512 = "XdiGPhrpaT5J8wdERRKs5g8E0Zy1pvOYTli7z9E8nmOn3YGp4FhtjhrOyFmX/8veWCwdI69mCHKJw6l+4J/bHA==";
       };
     };
-    "b4a-1.5.3" = {
+    "b4a-1.6.0" = {
       name = "b4a";
       packageName = "b4a";
-      version = "1.5.3";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/b4a/-/b4a-1.5.3.tgz";
-        sha512 = "1aCQIzQJK7G0z1Una75tWMlwVAR8o+QHoAlnWc5XAxRVBESY9WsitfBgM5nPyDBP5HrhPU1Np4Pq2Y7CJQ+tVw==";
+        url = "https://registry.npmjs.org/b4a/-/b4a-1.6.0.tgz";
+        sha512 = "fsTxXxj1081Yq5MOQ06gZ5+e2QcSyP2U6NofdOWyq+lrNI4IjkZ+fLVmoQ6uUCiNg1NWePMMVq93vOTdbJmErw==";
       };
     };
     "babel-code-frame-6.26.0" = {
@@ -14971,31 +15079,31 @@ let
         sha512 = "SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==";
       };
     };
-    "babel-plugin-polyfill-corejs2-0.3.1" = {
+    "babel-plugin-polyfill-corejs2-0.3.2" = {
       name = "babel-plugin-polyfill-corejs2";
       packageName = "babel-plugin-polyfill-corejs2";
-      version = "0.3.1";
+      version = "0.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz";
-        sha512 = "v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==";
+        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz";
+        sha512 = "LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==";
       };
     };
-    "babel-plugin-polyfill-corejs3-0.5.2" = {
+    "babel-plugin-polyfill-corejs3-0.5.3" = {
       name = "babel-plugin-polyfill-corejs3";
       packageName = "babel-plugin-polyfill-corejs3";
-      version = "0.5.2";
+      version = "0.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz";
-        sha512 = "G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==";
+        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz";
+        sha512 = "zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==";
       };
     };
-    "babel-plugin-polyfill-regenerator-0.3.1" = {
+    "babel-plugin-polyfill-regenerator-0.4.0" = {
       name = "babel-plugin-polyfill-regenerator";
       packageName = "babel-plugin-polyfill-regenerator";
-      version = "0.3.1";
+      version = "0.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz";
-        sha512 = "Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==";
+        url = "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz";
+        sha512 = "RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==";
       };
     };
     "babel-plugin-styled-components-2.0.7" = {
@@ -15448,13 +15556,13 @@ let
         sha512 = "uBWc/w3AqjAfo6/+ODoRSoY/w/C7UaU/9AYcXjxgObTyUf3lvV5jCuAU/dSZyWysDyWBQkPzllOd7KZkwJHnwg==";
       };
     };
-    "bdb-1.3.0" = {
+    "bdb-1.4.0" = {
       name = "bdb";
       packageName = "bdb";
-      version = "1.3.0";
+      version = "1.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bdb/-/bdb-1.3.0.tgz";
-        sha512 = "oJnWnHOTcnJhazwpEzQvPFtSR1IdHtS3PczuLY3klgZTTtRUbARX7tdphQS8iNUUwEVMfuO93eHDWwTICoeJlg==";
+        url = "https://registry.npmjs.org/bdb/-/bdb-1.4.0.tgz";
+        sha512 = "NjsvznNQSW419u/VlitEioAglJd44n6MrOI+6Rf9JqlyF6DQytBh8bwCT3axUw095aUlGtvoscJG3C56pIPQ7Q==";
       };
     };
     "bdns-0.1.5" = {
@@ -15934,6 +16042,15 @@ let
         sha512 = "x/7D4jDj/MMkmO6t3p2CSDXTqpwZ/jRsRiJDmaiXabrR9XRo7jwby8HRn7EyK1h24rKFFI7vI0ay4czl6bDOZQ==";
       };
     };
+    "bitcoinjs-lib-6.0.2" = {
+      name = "bitcoinjs-lib";
+      packageName = "bitcoinjs-lib";
+      version = "6.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bitcoinjs-lib/-/bitcoinjs-lib-6.0.2.tgz";
+        sha512 = "I994pGt9cL5s5OA6mkv1e8IuYcsKN2ORXnWbkqAXLNGvEnOHBhKBSvCjFl7YC2uVoJnfr/iwq7JMrq575SYO5w==";
+      };
+    };
     "bitfield-0.1.0" = {
       name = "bitfield";
       packageName = "bitfield";
@@ -16141,15 +16258,6 @@ let
         sha512 = "BoCcDt8zBGShn6DawAGQw37s9SSs+fEjiZWDzyB+841PbOogcR2X7LGlM4sR3Zsiq/zoyl8MFWDfN6oDSlveBQ==";
       };
     };
-    "blob-0.0.4" = {
-      name = "blob";
-      packageName = "blob";
-      version = "0.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz";
-        sha512 = "YRc9zvVz4wNaxcXmiSgb9LAg7YYwqQ2xd0Sj6osfA7k/PKmIGVlnOYs3wOFdkRC9/JpQu8sGt/zHgJV7xzerfg==";
-      };
-    };
     "blob-0.0.5" = {
       name = "blob";
       packageName = "blob";
@@ -16159,15 +16267,6 @@ let
         sha512 = "gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==";
       };
     };
-    "blob-stream-0.1.3" = {
-      name = "blob-stream";
-      packageName = "blob-stream";
-      version = "0.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/blob-stream/-/blob-stream-0.1.3.tgz";
-        sha512 = "xXwyhgVmPsFVFFvtM5P0syI17/oae+MIjLn5jGhuD86mmSJ61EWMWmbPrV/0+bdcH9jQ2CzIhmTQKNUJL7IPog==";
-      };
-    };
     "blob-to-buffer-1.2.9" = {
       name = "blob-to-buffer";
       packageName = "blob-to-buffer";
@@ -16402,15 +16501,6 @@ let
         sha512 = "dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==";
       };
     };
-    "body-parser-1.19.1" = {
-      name = "body-parser";
-      packageName = "body-parser";
-      version = "1.19.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz";
-        sha512 = "8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==";
-      };
-    };
     "body-parser-1.19.2" = {
       name = "body-parser";
       packageName = "body-parser";
@@ -16537,13 +16627,13 @@ let
         sha512 = "yN5oZVmRCwe5aKwzRj6736nSmKDX7pLYwsXiCj/EYmo16hODaBiT4En5btW/jhBF/seV+XMx3aYwukYC3A49DA==";
       };
     };
-    "bootstrap-5.1.3" = {
+    "bootstrap-5.2.0" = {
       name = "bootstrap";
       packageName = "bootstrap";
-      version = "5.1.3";
+      version = "5.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bootstrap/-/bootstrap-5.1.3.tgz";
-        sha512 = "fcQztozJ8jToQWXxVuEyXWW+dSo8AiXWKwiSSrKWsRB/Qt+Ewwza+JWoLKiTuQLaEPhdNAJ7+Dosc9DOIqNy7Q==";
+        url = "https://registry.npmjs.org/bootstrap/-/bootstrap-5.2.0.tgz";
+        sha512 = "qlnS9GL6YZE6Wnef46GxGv1UpGGzAwO0aPL1yOjzDIJpeApeMvqV24iL+pjr2kU4dduoBA9fINKWKgMToobx9A==";
       };
     };
     "bootstrap-vue-helper-json-1.1.1" = {
@@ -16672,6 +16762,15 @@ let
         sha512 = "9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==";
       };
     };
+    "boxen-7.0.0" = {
+      name = "boxen";
+      packageName = "boxen";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/boxen/-/boxen-7.0.0.tgz";
+        sha512 = "j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==";
+      };
+    };
     "bplist-creator-0.0.6" = {
       name = "bplist-creator";
       packageName = "bplist-creator";
@@ -16681,13 +16780,13 @@ let
         sha512 = "qu/aUehciaUyo6O+VFJdb4UXoHr0Mcu2ZBxeTU/HKtl2z/jyBWSK/3+6r/OrehwJ8nG6T1HrFSEO/Uovbr87Pg==";
       };
     };
-    "bplist-creator-0.1.0" = {
+    "bplist-creator-0.1.1" = {
       name = "bplist-creator";
       packageName = "bplist-creator";
-      version = "0.1.0";
+      version = "0.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.1.0.tgz";
-        sha512 = "sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==";
+        url = "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.1.1.tgz";
+        sha512 = "Ese7052fdWrxp/vqSJkydgx/1MdBnNOCV2XVfbmdGWD2H6EYza+Q4pyYSuVSnCUD22hfI/BFI4jHaC3NLXLlJQ==";
       };
     };
     "bplist-parser-0.1.1" = {
@@ -16708,15 +16807,6 @@ let
         sha512 = "z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==";
       };
     };
-    "bplist-parser-0.3.1" = {
-      name = "bplist-parser";
-      packageName = "bplist-parser";
-      version = "0.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.1.tgz";
-        sha512 = "PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA==";
-      };
-    };
     "bplist-parser-0.3.2" = {
       name = "bplist-parser";
       packageName = "bplist-parser";
@@ -17005,13 +17095,13 @@ let
         sha512 = "HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw==";
       };
     };
-    "browserslist-4.20.4" = {
+    "browserslist-4.21.3" = {
       name = "browserslist";
       packageName = "browserslist";
-      version = "4.20.4";
+      version = "4.21.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.20.4.tgz";
-        sha512 = "ok1d+1WpnU24XYN7oC3QWgTyMhY/avPJ/r9T00xxvUOIparA/gc+UPUMaod3i+G6s+nI2nUb9xZ5k794uIwShw==";
+        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz";
+        sha512 = "898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==";
       };
     };
     "brq-0.1.8" = {
@@ -17104,13 +17194,13 @@ let
         sha512 = "66UkjoB9f7lhT+WKgYq8MQa6nkr96mlX64JYMlIsXe/X4VeqNwvsx7UOE3ZqD6lkwg8GvBhapRTWj0qWO3Pw8w==";
       };
     };
-    "bson-4.6.4" = {
+    "bson-4.6.5" = {
       name = "bson";
       packageName = "bson";
-      version = "4.6.4";
+      version = "4.6.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bson/-/bson-4.6.4.tgz";
-        sha512 = "TdQ3FzguAu5HKPPlr0kYQCyrYUYh8tFM+CMTpxjNzVzxeiJY00Rtuj3LXLHSgiGvmaWlZ8PE+4KyM2thqE38pQ==";
+        url = "https://registry.npmjs.org/bson/-/bson-4.6.5.tgz";
+        sha512 = "uqrgcjyOaZsHfz7ea8zLRCLe1u+QGUSzMZmvXqO24CDW7DWoW1qiN9folSwa7hSneTSgM2ykDIzF5kcQQ8cwNw==";
       };
     };
     "btc-rpc-client-git+https://github.com/btc21/btc-rpc-client" = {
@@ -17708,15 +17798,6 @@ let
         sha512 = "zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==";
       };
     };
-    "bytes-3.1.1" = {
-      name = "bytes";
-      packageName = "bytes";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz";
-        sha512 = "dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==";
-      };
-    };
     "bytes-3.1.2" = {
       name = "bytes";
       packageName = "bytes";
@@ -17816,6 +17897,15 @@ let
         sha512 = "2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==";
       };
     };
+    "cacheable-lookup-6.0.4" = {
+      name = "cacheable-lookup";
+      packageName = "cacheable-lookup";
+      version = "6.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-6.0.4.tgz";
+        sha512 = "mbcDEZCkv2CZF4G01kr8eBd/5agkt9oCqz75tJMSIsquvRZ2sL6Hi5zGVKi/0OSC9oO1GHfJ2AV0ZIOY9vye0A==";
+      };
+    };
     "cacheable-request-2.1.4" = {
       name = "cacheable-request";
       packageName = "cacheable-request";
@@ -17888,13 +17978,13 @@ let
         sha512 = "wCyFsDQkKPwwF8BDwOiWNx/9K45L/hvggQiDbve+viMNMQnWhrlYIuBk09offfwCRtCO9P6XwUttufzU11WCVw==";
       };
     };
-    "caller-1.0.1" = {
+    "caller-1.1.0" = {
       name = "caller";
       packageName = "caller";
-      version = "1.0.1";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caller/-/caller-1.0.1.tgz";
-        sha512 = "tfj+ErW/0SbOyfoXriRtdjCMTwrZAvLXj2jHqlh8YCcgoZVzUI22E/JJLxbiuZqDs0Ke7BuRrHTVuxm3EwYbJQ==";
+        url = "https://registry.npmjs.org/caller/-/caller-1.1.0.tgz";
+        sha512 = "n+21IZC3j06YpCWaxmUy5AnVqhmCIM2bQtqQyy00HJlmStRt6kwDX5F9Z97pqwAB+G/tgSz6q/kUBbNyQzIubw==";
       };
     };
     "caller-callsite-2.0.0" = {
@@ -18140,22 +18230,22 @@ let
         sha512 = "bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==";
       };
     };
-    "caniuse-lite-1.0.30001358" = {
+    "caniuse-lite-1.0.30001373" = {
       name = "caniuse-lite";
       packageName = "caniuse-lite";
-      version = "1.0.30001358";
+      version = "1.0.30001373";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001358.tgz";
-        sha512 = "hvp8PSRymk85R20bsDra7ZTCpSVGN/PAz9pSAjPSjKC+rNmnUk5vCRgJwiTT/O4feQ/yu/drvZYpKxxhbFuChw==";
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001373.tgz";
+        sha512 = "pJYArGHrPp3TUqQzFYRmP/lwJlj8RCbVe3Gd3eJQkAV8SAC6b19XS9BjMvRdvaS8RMkaTN8ZhoHP6S1y8zzwEQ==";
       };
     };
-    "canvas-2.9.1" = {
+    "canvas-2.9.3" = {
       name = "canvas";
       packageName = "canvas";
-      version = "2.9.1";
+      version = "2.9.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/canvas/-/canvas-2.9.1.tgz";
-        sha512 = "vSQti1uG/2gjv3x6QLOZw7TctfufaerTWbVe+NSduHxxLGB+qf3kFgQ6n66DSnuoINtVUjrLLIK2R+lxrBG07A==";
+        url = "https://registry.npmjs.org/canvas/-/canvas-2.9.3.tgz";
+        sha512 = "WOUM7ghii5TV2rbhaZkh1youv/vW1/Canev6Yx6BG2W+1S07w8jKZqKkPnbiPpQEDsnJdN8ouDd7OvQEGXDcUw==";
       };
     };
     "canvg-3.0.7" = {
@@ -18302,31 +18392,31 @@ let
         sha512 = "eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==";
       };
     };
-    "cdk8s-2.3.32" = {
+    "cdk8s-2.3.74" = {
       name = "cdk8s";
       packageName = "cdk8s";
-      version = "2.3.32";
+      version = "2.3.74";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdk8s/-/cdk8s-2.3.32.tgz";
-        sha512 = "tFBIna07+zHTkMIGchDGA0jlo7PQllhETM3fmAf7iXK5d2jWOjX8UFMPxBWNJh3anxtvxnAR0Oa6o/J3kP3XQw==";
+        url = "https://registry.npmjs.org/cdk8s/-/cdk8s-2.3.74.tgz";
+        sha512 = "mlODV+rIIoxuywZYsxtPbpi8xzCEQ6v4nJkGIsSzMYiv0tXGuPCkzn309I8Q3vFH18VRxXPLrKkXcXnSe0+OEw==";
       };
     };
-    "cdk8s-plus-22-2.0.0-rc.25" = {
+    "cdk8s-plus-22-2.0.0-rc.72" = {
       name = "cdk8s-plus-22";
       packageName = "cdk8s-plus-22";
-      version = "2.0.0-rc.25";
+      version = "2.0.0-rc.72";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdk8s-plus-22/-/cdk8s-plus-22-2.0.0-rc.25.tgz";
-        sha512 = "s+Fv9wBp0ABVh51vbXokJs4ATB6I4vaoLbSEGreZwNFjJPrK59ZRbUlxjJHkDovk8v4ij+EcaQJ6eMj/T+7EhA==";
+        url = "https://registry.npmjs.org/cdk8s-plus-22/-/cdk8s-plus-22-2.0.0-rc.72.tgz";
+        sha512 = "CErc8EcrOpqVyBkylUNDLjLjCHFKbzZC4ow10IYvVBkp7mtGtx04A8TOk9O3ZbsAuBiADhcsltwxH6E4a13F6A==";
       };
     };
-    "cdktf-0.11.2" = {
+    "cdktf-0.12.0" = {
       name = "cdktf";
       packageName = "cdktf";
-      version = "0.11.2";
+      version = "0.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdktf/-/cdktf-0.11.2.tgz";
-        sha512 = "XNuC1w1rz/u7v57cACJeB26Ep10eZ3/Eo0h5VV39uojpN24S2sQMWWi2rjaWD2gHPjP6T+EodBnI+oxq8cWRpw==";
+        url = "https://registry.npmjs.org/cdktf/-/cdktf-0.12.0.tgz";
+        sha512 = "xxI8Ish+80+/Aue9CyHMABiTJqI51ge7SGzcRDP/ytr1hDjWY/48zo4qd+CqgkFb1ZC73a848A9oH15xaIQ/mA==";
       };
     };
     "center-align-0.1.3" = {
@@ -18473,6 +18563,15 @@ let
         sha512 = "Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==";
       };
     };
+    "chalk-template-0.4.0" = {
+      name = "chalk-template";
+      packageName = "chalk-template";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz";
+        sha512 = "/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==";
+      };
+    };
     "chance-1.0.18" = {
       name = "chance";
       packageName = "chance";
@@ -18500,13 +18599,13 @@ let
         sha512 = "iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==";
       };
     };
-    "character-entities-2.0.1" = {
+    "character-entities-2.0.2" = {
       name = "character-entities";
       packageName = "character-entities";
-      version = "2.0.1";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/character-entities/-/character-entities-2.0.1.tgz";
-        sha512 = "OzmutCf2Kmc+6DrFrrPS8/tDh2+DpnrfzdICHWhcVC9eOd0N1PXmQEE1a8iM4IziIAG+8tmTq3K+oo0ubH6RRQ==";
+        url = "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz";
+        sha512 = "shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==";
       };
     };
     "character-entities-html4-1.1.4" = {
@@ -18626,13 +18725,13 @@ let
         sha512 = "6dVyOOYjpfFcL1Y4qChrAoQLRHvj2ziyhcm0QJlhOcAhykL/k1kTUPbeo+87MNRTRdk2OIIsIXbuF3x2wi5EXg==";
       };
     };
-    "chart.js-3.8.0" = {
+    "chart.js-3.9.1" = {
       name = "chart.js";
       packageName = "chart.js";
-      version = "3.8.0";
+      version = "3.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chart.js/-/chart.js-3.8.0.tgz";
-        sha512 = "cr8xhrXjLIXVLOBZPkBZVF6NDeiVIrPLHcMhnON7UufudL+CNeRrD+wpYanswlm8NpudMdrt3CHoLMQMxJhHRg==";
+        url = "https://registry.npmjs.org/chart.js/-/chart.js-3.9.1.tgz";
+        sha512 = "Ro2JbLmvg83gXF5F4sniaQ+lTbSv18E+TIf2cOeiH1Iqd2PGFOtem+DUufMZsCJwFE7ywPOpfXFBwRTGq7dh6w==";
       };
     };
     "charwise-3.0.1" = {
@@ -18716,13 +18815,13 @@ let
         sha512 = "g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==";
       };
     };
-    "cheerio-1.0.0-rc.11" = {
+    "cheerio-1.0.0-rc.12" = {
       name = "cheerio";
       packageName = "cheerio";
-      version = "1.0.0-rc.11";
+      version = "1.0.0-rc.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.11.tgz";
-        sha512 = "bQwNaDIBKID5ts/DsdhxrjqFXYfLw4ste+wMKqWA8DyKcS4qwsPP4Bk8ZNaTJjvpiX/qW3BT4sU7d6Bh5i+dag==";
+        url = "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz";
+        sha512 = "VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==";
       };
     };
     "cheerio-1.0.0-rc.3" = {
@@ -18995,15 +19094,6 @@ let
         sha512 = "xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==";
       };
     };
-    "cint-8.2.1" = {
-      name = "cint";
-      packageName = "cint";
-      version = "8.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cint/-/cint-8.2.1.tgz";
-        sha512 = "gyWqJHXgDFPNx7PEyFJotutav+al92TTC3dWlMFyTETlOyKBQMZb7Cetqmj3GlrnSILHwSJRwf4mIGzc7C5lXw==";
-      };
-    };
     "cipher-base-1.0.4" = {
       name = "cipher-base";
       packageName = "cipher-base";
@@ -19121,13 +19211,13 @@ let
         sha512 = "EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==";
       };
     };
-    "clean-css-5.3.0" = {
+    "clean-css-5.3.1" = {
       name = "clean-css";
       packageName = "clean-css";
-      version = "5.3.0";
+      version = "5.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/clean-css/-/clean-css-5.3.0.tgz";
-        sha512 = "YYuuxv4H/iNb1Z/5IbMRoxgrzjWGhOEFfd+groZ5dMCVkpENiMZmwspdrzBo9286JjM1gZJPAyL7ZIdzuvu2AQ==";
+        url = "https://registry.npmjs.org/clean-css/-/clean-css-5.3.1.tgz";
+        sha512 = "lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg==";
       };
     };
     "clean-git-ref-2.0.1" = {
@@ -19211,13 +19301,31 @@ let
         sha512 = "y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==";
       };
     };
-    "cli-color-2.0.2" = {
+    "cli-boxes-3.0.0" = {
+      name = "cli-boxes";
+      packageName = "cli-boxes";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz";
+        sha512 = "/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==";
+      };
+    };
+    "cli-color-2.0.1" = {
       name = "cli-color";
       packageName = "cli-color";
-      version = "2.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cli-color/-/cli-color-2.0.2.tgz";
-        sha512 = "g4JYjrTW9MGtCziFNjkqp3IMpGhnJyeB0lOtRPjQkYhXzKYr6tYnXKyEVnMzITxhpbahsEW9KsxOYIDKwcsIBw==";
+        url = "https://registry.npmjs.org/cli-color/-/cli-color-2.0.1.tgz";
+        sha512 = "eBbxZF6fqPUNnf7CLAFOersUnyYzv83tHFLSlts+OAHsNendaqv2tHCq+/MO+b3Y+9JeoUlIvobyxG/Z8GNeOg==";
+      };
+    };
+    "cli-color-2.0.3" = {
+      name = "cli-color";
+      packageName = "cli-color";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-color/-/cli-color-2.0.3.tgz";
+        sha512 = "OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ==";
       };
     };
     "cli-cursor-1.0.2" = {
@@ -19274,13 +19382,13 @@ let
         sha512 = "+3MlQHdTSiT7e3Uxco/FL1MjuIYLmvDEhCAekRLCrGimHGfAR1LbJwCrKGceVp95a4oDFVB9CtLWiw2MT8NDXw==";
       };
     };
-    "cli-progress-3.11.1" = {
+    "cli-progress-3.11.2" = {
       name = "cli-progress";
       packageName = "cli-progress";
-      version = "3.11.1";
+      version = "3.11.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cli-progress/-/cli-progress-3.11.1.tgz";
-        sha512 = "TTMA2LHrYaZeNMcgZGO10oYqj9hvd03pltNtVbu4ddeyDTHlYV7gWxsFiuvaQlgwMBFCv1TukcjiODWFlb16tQ==";
+        url = "https://registry.npmjs.org/cli-progress/-/cli-progress-3.11.2.tgz";
+        sha512 = "lCPoS6ncgX4+rJu5bS3F/iCz17kZ9MPZ6dpuTtI0KXKABkhyXIdYB3Inby1OpaGti3YlI3EeEkM9AuWpelJrVA==";
       };
     };
     "cli-progress-footer-2.3.2" = {
@@ -19319,6 +19427,15 @@ let
         sha512 = "x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==";
       };
     };
+    "cli-spinners-2.7.0" = {
+      name = "cli-spinners";
+      packageName = "cli-spinners";
+      version = "2.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz";
+        sha512 = "qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==";
+      };
+    };
     "cli-sprintf-format-1.1.1" = {
       name = "cli-sprintf-format";
       packageName = "cli-sprintf-format";
@@ -19445,6 +19562,15 @@ let
         sha512 = "FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==";
       };
     };
+    "cli-width-4.0.0" = {
+      name = "cli-width";
+      packageName = "cli-width";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-width/-/cli-width-4.0.0.tgz";
+        sha512 = "ZksGS2xpa/bYkNzN3BAw1wEjsLV/ZKOf/CCrJ/QOBsxx6fOARIkwTutxp1XIOIohi6HKmOFjMoK/XaqDVUpEEw==";
+      };
+    };
     "cliclopts-1.1.1" = {
       name = "cliclopts";
       packageName = "cliclopts";
@@ -19679,6 +19805,15 @@ let
         sha512 = "yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==";
       };
     };
+    "clone-response-1.0.3" = {
+      name = "clone-response";
+      packageName = "clone-response";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz";
+        sha512 = "ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==";
+      };
+    };
     "clone-stats-0.0.1" = {
       name = "clone-stats";
       packageName = "clone-stats";
@@ -19715,13 +19850,13 @@ let
         sha512 = "J4Xj5f5wq/4jAvcdgoGsL3G103BtWpZrMo8NEinRltN+xpTZdI+M38pyQqhuFU/P792xkMFvnKSf+Lm81U1bxw==";
       };
     };
-    "clsx-1.1.1" = {
+    "clsx-1.2.1" = {
       name = "clsx";
       packageName = "clsx";
-      version = "1.1.1";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz";
-        sha512 = "6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==";
+        url = "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz";
+        sha512 = "EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==";
       };
     };
     "clubhouse-lib-0.10.0" = {
@@ -19742,15 +19877,6 @@ let
         sha512 = "A5C0Cyf2H8sKsHqX0tvIWRXw5/PK++3Dc0lDbsugr90nOECLLuSPahVQBG8pgmgiXgm/TzBWMqI2rWdZwHduAw==";
       };
     };
-    "cmd-shim-4.1.0" = {
-      name = "cmd-shim";
-      packageName = "cmd-shim";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cmd-shim/-/cmd-shim-4.1.0.tgz";
-        sha512 = "lb9L7EM4I/ZRVuljLPEtUJOP+xiQVknZ4ZMpMgEp4JzNldPb27HU03hi6K1/6CoIuit/Zm/LQXySErFeXxDprw==";
-      };
-    };
     "cmd-shim-5.0.0" = {
       name = "cmd-shim";
       packageName = "cmd-shim";
@@ -19841,6 +19967,15 @@ let
         sha512 = "tge3BeOtehBouqo8sdrjRuQxsAWuwUxWJN1pTttZ8HpV+fe2fxmBE9lqrzzOlRIysBvgsZr7D0FdNfrwRwpK8A==";
       };
     };
+    "code-block-writer-10.1.1" = {
+      name = "code-block-writer";
+      packageName = "code-block-writer";
+      version = "10.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/code-block-writer/-/code-block-writer-10.1.1.tgz";
+        sha512 = "67ueh2IRGst/51p0n6FvPrnRjAGHY5F8xdjkgrYE7DDzpJe6qA07RYQ9VcoUeo5ATOjSOiWpSL3SWBRRbempMw==";
+      };
+    };
     "code-excerpt-3.0.0" = {
       name = "code-excerpt";
       packageName = "code-excerpt";
@@ -19877,22 +20012,13 @@ let
         sha512 = "+xi2ENsvchtUNa8oBUU58gHgmyN6BEEeZ8NIEgeQ0XnC+AoyihivgZYe+OOiNi+fLy/NUowugwV5gP8XWYDm0Q==";
       };
     };
-    "codemaker-0.22.0" = {
+    "codemaker-1.63.2" = {
       name = "codemaker";
       packageName = "codemaker";
-      version = "0.22.0";
+      version = "1.63.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/codemaker/-/codemaker-0.22.0.tgz";
-        sha512 = "3WQV/Fpa77nvzjUlc+0u53uIroJyyMB2Qwl++aXpAiDIsrsiAQq4uCURwdRBRX+eLkOTIAmT0L4qna3T7+2pUg==";
-      };
-    };
-    "codemaker-1.61.0" = {
-      name = "codemaker";
-      packageName = "codemaker";
-      version = "1.61.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/codemaker/-/codemaker-1.61.0.tgz";
-        sha512 = "do01ygDHvcw0ZqV4isyzwMMJmAO+LtqROLC3dlp6XJk7XdTaZHoyMXRLoDdB50o4QLmGf2NZEVZmbKEOOXNYRw==";
+        url = "https://registry.npmjs.org/codemaker/-/codemaker-1.63.2.tgz";
+        sha512 = "cb0fQK8kHE7NVl4V98evbDhEwXsObujJLVGbQJXJ1W9O2c6DTKzJ0hct+NnQqAEaAgll9qUJbWxTsIlSoqLOsQ==";
       };
     };
     "codepage-1.4.0" = {
@@ -20417,13 +20543,13 @@ let
         sha512 = "JJfP2saEKbQqvW+FI93OYUB4ByV5cizMpFMiiJI8xDbBvQvSkIk0VvQdn1CZ8mqAO8Loq2h0gYTYtDFUZUeERw==";
       };
     };
-    "commander-9.3.0" = {
+    "commander-9.4.0" = {
       name = "commander";
       packageName = "commander";
-      version = "9.3.0";
+      version = "9.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-9.3.0.tgz";
-        sha512 = "hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw==";
+        url = "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz";
+        sha512 = "sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==";
       };
     };
     "commandpost-1.4.0" = {
@@ -20723,6 +20849,15 @@ let
         sha512 = "o9Fv1Mv+6A0JpoayQ8JleNp3hhkbOJP/Re/Q+QqxMPHPkABVsRjQGWZn9A5GcqLiTNC6d89p2PB5ZhHVDSMwyg==";
       };
     };
+    "conf-10.2.0" = {
+      name = "conf";
+      packageName = "conf";
+      version = "10.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/conf/-/conf-10.2.0.tgz";
+        sha512 = "8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==";
+      };
+    };
     "conf-6.2.4" = {
       name = "conf";
       packageName = "conf";
@@ -20804,6 +20939,15 @@ let
         sha512 = "aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==";
       };
     };
+    "configstore-6.0.0" = {
+      name = "configstore";
+      packageName = "configstore";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz";
+        sha512 = "cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==";
+      };
+    };
     "connect-1.9.2" = {
       name = "connect";
       packageName = "connect";
@@ -20867,6 +21011,15 @@ let
         sha512 = "e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==";
       };
     };
+    "connect-history-api-fallback-2.0.0" = {
+      name = "connect-history-api-fallback";
+      packageName = "connect-history-api-fallback";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz";
+        sha512 = "U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==";
+      };
+    };
     "connect-multiparty-2.2.0" = {
       name = "connect-multiparty";
       packageName = "connect-multiparty";
@@ -20975,13 +21128,13 @@ let
         sha512 = "xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==";
       };
     };
-    "constructs-10.1.42" = {
+    "constructs-10.1.66" = {
       name = "constructs";
       packageName = "constructs";
-      version = "10.1.42";
+      version = "10.1.66";
       src = fetchurl {
-        url = "https://registry.npmjs.org/constructs/-/constructs-10.1.42.tgz";
-        sha512 = "5AELa/PFtZG+WTjn9HoXhqsDZYV6l3J7Li9xw6vREYVMasF8cnVbTZvA4crP1gIyKtBAxAlnZCmzmCbicnH6eg==";
+        url = "https://registry.npmjs.org/constructs/-/constructs-10.1.66.tgz";
+        sha512 = "7HVFV3mQumsQrKEFpRDPWsjlPjKZpkvYwIOWEX1tNAUP4bW6Q/AJak5SEgqVHnO4xhT/XekXZa2m9kXv00A7Ng==";
       };
     };
     "consume-http-header-1.0.0" = {
@@ -21444,15 +21597,6 @@ let
         sha512 = "QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==";
       };
     };
-    "cookie-signature-1.2.0" = {
-      name = "cookie-signature";
-      packageName = "cookie-signature";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.0.tgz";
-        sha512 = "R0BOPfLGTitaKhgKROKZQN6iyq2iDQcH1DOF8nJoaWapguX5bC2w+Q/I9NmmM5lfcvEarnLZr+cCvmEYYSXvYA==";
-      };
-    };
     "cookiejar-2.0.6" = {
       name = "cookiejar";
       packageName = "cookiejar";
@@ -21615,31 +21759,31 @@ let
         sha512 = "UoGQ/cfzGYIuiq6Z7vWL1HfkE9U9IZ4Ub+0XSiJTCzvbZzgPA69oDF2f+lgJ6dFFLEdjW5O6svvoKzXX23xFkA==";
       };
     };
-    "core-js-3.23.2" = {
+    "core-js-3.24.1" = {
       name = "core-js";
       packageName = "core-js";
-      version = "3.23.2";
+      version = "3.24.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.23.2.tgz";
-        sha512 = "ELJOWxNrJfOH/WK4VJ3Qd+fOqZuOuDNDJz0xG6Bt4mGg2eO/UT9CljCrbqDGovjLKUrGajEEBcoTOc0w+yBYeQ==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.24.1.tgz";
+        sha512 = "0QTBSYSUZ6Gq21utGzkfITDylE8jWC9Ne1D2MrhvlsZBI1x39OdDIVbzSqtgMndIy6BlHxBXpMGqzZmnztg2rg==";
       };
     };
-    "core-js-compat-3.23.2" = {
+    "core-js-compat-3.24.1" = {
       name = "core-js-compat";
       packageName = "core-js-compat";
-      version = "3.23.2";
+      version = "3.24.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.23.2.tgz";
-        sha512 = "lrgZvxFwbQp9v7E8mX0rJ+JX7Bvh4eGULZXA1IAyjlsnWvCdw6TF8Tg6xtaSUSJMrSrMaLdpmk+V54LM1dvfOA==";
+        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.24.1.tgz";
+        sha512 = "XhdNAGeRnTpp8xbD+sR/HFDK9CbeeeqXT6TuofXh3urqEevzkWmLRgrVoykodsw8okqo2pu1BOmuCKrHx63zdw==";
       };
     };
-    "core-js-pure-3.23.2" = {
+    "core-js-pure-3.24.1" = {
       name = "core-js-pure";
       packageName = "core-js-pure";
-      version = "3.23.2";
+      version = "3.24.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.23.2.tgz";
-        sha512 = "t6u7H4Ff/yZNk+zqTr74UjCcZ3k8ApBryeLLV4rYQd9aF3gqmjjGjjR44ENfeBMH8VVvSynIjAJ0mUuFhzQtrA==";
+        url = "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.24.1.tgz";
+        sha512 = "r1nJk41QLLPyozHUUPmILCEMtMw24NG4oWK6RbsDdjzQgg9ZvrUsPBj1MnG0wXXp1DCDU6j+wUvEmBSrtRbLXg==";
       };
     };
     "core-util-is-1.0.2" = {
@@ -21759,13 +21903,22 @@ let
         sha512 = "H/2gurFWVi7xXvCyvsWRLCMekl4tITJcX0QEsDMpzxtuxDyM59xLatYNg4s/k9AA/HdtCYfj2su8mgA0GSDLDA==";
       };
     };
-    "cosmiconfig-typescript-loader-2.0.1" = {
+    "cosmiconfig-typescript-loader-2.0.2" = {
       name = "cosmiconfig-typescript-loader";
       packageName = "cosmiconfig-typescript-loader";
-      version = "2.0.1";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-2.0.1.tgz";
-        sha512 = "B9s6sX/omXq7I6gC6+YgLmrBFMJhPWew7ty/X5Tuwtd2zOSgWaUdXjkuVwbe3qqcdETo60+1nSVMekq//LIXVA==";
+        url = "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-2.0.2.tgz";
+        sha512 = "KmE+bMjWMXJbkWCeY4FJX/npHuZPNr9XF9q9CIQ/bpFwi1qHfCmSiKarrCcRa0LO4fWjk93pVoeRtJAkTGcYNw==";
+      };
+    };
+    "cosmiconfig-typescript-loader-3.1.1" = {
+      name = "cosmiconfig-typescript-loader";
+      packageName = "cosmiconfig-typescript-loader";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-3.1.1.tgz";
+        sha512 = "SR5/NciF0vyYqcGsmB9WJ4QOKkcSSSzcBPLrnT6094BYahMy0eImWvlH3zoEOYqpF2zgiyAKHtWTXTo+fqgxPg==";
       };
     };
     "count-trailing-zeros-1.0.1" = {
@@ -21885,13 +22038,13 @@ let
         sha512 = "gYTKKexFO3kh200H1Nit76sRwRtOY32vQd3jpAQKpLtZqyNsSQNfI4N7o3eP2wUjV35pTWKRYqFUDBvUha/Pkw==";
       };
     };
-    "create-gatsby-2.17.0" = {
+    "create-gatsby-2.20.0" = {
       name = "create-gatsby";
       packageName = "create-gatsby";
-      version = "2.17.0";
+      version = "2.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/create-gatsby/-/create-gatsby-2.17.0.tgz";
-        sha512 = "RrMAHZL7J5Ew/laz83g+UNQ2RnXszGuub3sG7DQkG0tK5mS9TqTW+FIYyzHCLhdJkr81qC/HRDFsJv0fuYISwg==";
+        url = "https://registry.npmjs.org/create-gatsby/-/create-gatsby-2.20.0.tgz";
+        sha512 = "gMQRMpOleM9XB7VLRhto+5KTniWLXPUZWyh/cHcD94w8VmC/kR3oGKWLY2cPZ5N9uNQS3/eVcG0L2LOSIVKZ9A==";
       };
     };
     "create-graphback-1.0.1" = {
@@ -21939,13 +22092,13 @@ let
         sha512 = "dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==";
       };
     };
-    "create-torrent-5.0.2" = {
+    "create-torrent-5.0.4" = {
       name = "create-torrent";
       packageName = "create-torrent";
-      version = "5.0.2";
+      version = "5.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/create-torrent/-/create-torrent-5.0.2.tgz";
-        sha512 = "tNelixVeEkjiyeAuCW7uWFl1ARA+YapyZvdSWw6U3AXe/VXpxR4ihFNfjOzmvc5TBqK5EkGdsoKXAEKfQ8xlmQ==";
+        url = "https://registry.npmjs.org/create-torrent/-/create-torrent-5.0.4.tgz";
+        sha512 = "59brGxFHoWWXzpFKAwD/vB/BYTALDuf+1Wmajxq2ZYnllJtg8SwfcmP7PHCKas5mDTZLD4om1cneC1YMZFuPUA==";
       };
     };
     "cron-parser-2.18.0" = {
@@ -22074,15 +22227,6 @@ let
         sha512 = "mkLtJJcYbDCxEG7Js6eUnUNndWjyUZwJ3H7bErmmtOYU/Zb99DyUkpamuIZE0b3bhmJyZ7D90uS6f+CGxRRjOw==";
       };
     };
-    "cross-undici-fetch-0.4.7" = {
-      name = "cross-undici-fetch";
-      packageName = "cross-undici-fetch";
-      version = "0.4.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cross-undici-fetch/-/cross-undici-fetch-0.4.7.tgz";
-        sha512 = "e5KZdjHigxFECfw1B7cjmXLm3yT8eiffSJYUSyIWxy6c+f/MGiJsV1NHegZvG23ZgQ0o8rNaZxbtu5NdF5FmwQ==";
-      };
-    };
     "crossroads-0.12.2" = {
       name = "crossroads";
       packageName = "crossroads";
@@ -22155,49 +22299,67 @@ let
         sha512 = "v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==";
       };
     };
-    "cspell-gitignore-6.1.2" = {
+    "crypto-random-string-4.0.0" = {
+      name = "crypto-random-string";
+      packageName = "crypto-random-string";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz";
+        sha512 = "x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==";
+      };
+    };
+    "cspell-gitignore-6.5.0" = {
       name = "cspell-gitignore";
       packageName = "cspell-gitignore";
-      version = "6.1.2";
+      version = "6.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-6.1.2.tgz";
-        sha512 = "9P4ltD5DF/Dogz/+IgW8BZjqvgbOghg2OKk165+ilKgoQc73zHQy8bZRdJsDo2NBevmT8Z9RswEN37pQvzmMqQ==";
+        url = "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-6.5.0.tgz";
+        sha512 = "mk8yQjUAVHcaEc5wgdoZlI8gD4ApcAqpf+uoV9MsNgCuvoaWi6HLBxkoWCUbPmUBvvhaSBJRPlUIX+LvvN/0BA==";
       };
     };
-    "cspell-glob-6.1.2" = {
+    "cspell-glob-6.4.2" = {
       name = "cspell-glob";
       packageName = "cspell-glob";
-      version = "6.1.2";
+      version = "6.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cspell-glob/-/cspell-glob-6.1.2.tgz";
-        sha512 = "+EN4DEyK8ohwZLShPw9vhU6114fnGYi8q4IQAGc5qCCcnMTgb1H3N840YyG+EuP0Q1o3TwMYMA+B+tw4w+yQSg==";
+        url = "https://registry.npmjs.org/cspell-glob/-/cspell-glob-6.4.2.tgz";
+        sha512 = "kVMim9Dry55rH00eYEieNv4/e5gHfDwUiyF+hjSCu2j/+oT+w+muF8YiJCA9YPNYfd7TByphE/G2ezhLs2Hv8w==";
       };
     };
-    "cspell-io-6.1.2" = {
+    "cspell-grammar-6.5.0" = {
+      name = "cspell-grammar";
+      packageName = "cspell-grammar";
+      version = "6.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cspell-grammar/-/cspell-grammar-6.5.0.tgz";
+        sha512 = "wq6xtSL+C4JY+pMavUBDZhpKIWLW8pPgoR520r87qei14dgEbfpZuujqqWoHUV565sc0Zh7alOVYoQk+QKqvrQ==";
+      };
+    };
+    "cspell-io-6.5.0" = {
       name = "cspell-io";
       packageName = "cspell-io";
-      version = "6.1.2";
+      version = "6.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cspell-io/-/cspell-io-6.1.2.tgz";
-        sha512 = "WVRKjOzB3BgwJPk4hWH19jiqXzbtWGzJ1yNLaB2r3KYCDh+FYT4jVaHb5DWERASahvukb05go7G623FuYeoY3Q==";
+        url = "https://registry.npmjs.org/cspell-io/-/cspell-io-6.5.0.tgz";
+        sha512 = "Vm/Ra3bIDGL6P4CUeTwlQtpyep/rEli8W//tMxo+8Or5ya9hZBFZOa0//QlZSyUU7UjzrG83lPaZrs4XVsVZFw==";
       };
     };
-    "cspell-lib-6.1.2" = {
+    "cspell-lib-6.5.0" = {
       name = "cspell-lib";
       packageName = "cspell-lib";
-      version = "6.1.2";
+      version = "6.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cspell-lib/-/cspell-lib-6.1.2.tgz";
-        sha512 = "oJVAvxnP6jsiglLIdFy9agO5vfArTQdLweRjkR8SbVPoYQ8vyDfrbQT9J+K+ekKpCvpzKKzjleOJHHwJFeltGQ==";
+        url = "https://registry.npmjs.org/cspell-lib/-/cspell-lib-6.5.0.tgz";
+        sha512 = "sSjTy+N9w5Hhn9czg26WuPLEKeVcv7NIHDTVQEK4JHBqB6y+I6NhrJZ3Zr3WA7ME2/1U6FyZzumNLru6PDPk6w==";
       };
     };
-    "cspell-trie-lib-6.1.2" = {
+    "cspell-trie-lib-6.5.0" = {
       name = "cspell-trie-lib";
       packageName = "cspell-trie-lib";
-      version = "6.1.2";
+      version = "6.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-6.1.2.tgz";
-        sha512 = "VQasYB6WYQZz71Uo0Z4K/i6qOZpBqOh0SbKQr6n0lkejnmoAv324SKJqKyXyizWCQQvWDq+ax18bW+KBFNBzxQ==";
+        url = "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-6.5.0.tgz";
+        sha512 = "bXc/YpbHA/xbtRJV7ocNyo3RFSAOLaz3iR+8KyWFNrIQqGOuaCslHkpRfkdZPOBYiOE8z3tjVoVQkrUYUuYWcQ==";
       };
     };
     "csrf-3.1.0" = {
@@ -22641,13 +22803,13 @@ let
         sha512 = "byxnDBxM1AVF3YfmsK7Smop9/usNz7gAZYSo9eYp61TGcNXraJby1rAiLyJSt1/8Iho2qaxZOtZCOvQMXogPtg==";
       };
     };
-    "csv-parse-5.2.0" = {
+    "csv-parse-5.3.0" = {
       name = "csv-parse";
       packageName = "csv-parse";
-      version = "5.2.0";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/csv-parse/-/csv-parse-5.2.0.tgz";
-        sha512 = "ZuLjTp3Qx2gycoB7FKS9q11KgDL3f0wQszTlNOajS3fHa0jypN/zgjmkam+rczX5dXw5z7+KrDW2hWkM4542Ug==";
+        url = "https://registry.npmjs.org/csv-parse/-/csv-parse-5.3.0.tgz";
+        sha512 = "UXJCGwvJ2fep39purtAn27OUYmxB1JQto+zhZ4QlJpzsirtSFbzLvip1aIgziqNdZp/TptvsKEV5BZSxe10/DQ==";
       };
     };
     "csv-stream-0.2.0" = {
@@ -22803,13 +22965,13 @@ let
         sha512 = "4PL5hHaHwX4m7Zr1UapXW23apo6pexCgdetdJ5kTmADpG/7T9Gkxw0M0tf/pjoB63ezCCm0u5UaFYy2aMt0Mcw==";
       };
     };
-    "d3-7.4.4" = {
+    "d3-7.6.1" = {
       name = "d3";
       packageName = "d3";
-      version = "7.4.4";
+      version = "7.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/d3/-/d3-7.4.4.tgz";
-        sha512 = "97FE+MYdAlV3R9P74+R3Uar7wUKkIFu89UWMjEaDhiJ9VxKvqaMxauImy8PC2DdBkdM2BxJOIoLxPrcZUyrKoQ==";
+        url = "https://registry.npmjs.org/d3/-/d3-7.6.1.tgz";
+        sha512 = "txMTdIHFbcpLx+8a0IFhZsbp+PfBBPt8yfbmukZTQFroKuFqIwqswF0qE5JXWefylaAVpSXFoKm3yP+jpNLFLw==";
       };
     };
     "d3-array-1.2.4" = {
@@ -22830,13 +22992,13 @@ let
         sha512 = "33qQ+ZoZlli19IFiQx4QEpf2CBEayMRzhlisJHSCsSUbDXv6ZishqS1x7uFVClKG4Wr7rZVHvaAttoLow6GqdQ==";
       };
     };
-    "d3-array-3.1.6" = {
+    "d3-array-3.2.0" = {
       name = "d3-array";
       packageName = "d3-array";
-      version = "3.1.6";
+      version = "3.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/d3-array/-/d3-array-3.1.6.tgz";
-        sha512 = "DCbBBNuKOeiR9h04ySRBMW52TFVc91O9wJziuyXw6Ztmy8D3oZbmCkOO3UHKC7ceNJsN2Mavo9+vwV8EAEUXzA==";
+        url = "https://registry.npmjs.org/d3-array/-/d3-array-3.2.0.tgz";
+        sha512 = "3yXFQo0oG3QCxbF06rMPFyGRMGJNS7NvsV1+2joOjbBE+9xvWQ8+GcMJAjRCzw06zQ3/arXeJgbPYcjUCuC+3g==";
       };
     };
     "d3-axis-1.0.12" = {
@@ -22938,13 +23100,13 @@ let
         sha512 = "hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg==";
       };
     };
-    "d3-contour-3.0.1" = {
+    "d3-contour-4.0.0" = {
       name = "d3-contour";
       packageName = "d3-contour";
-      version = "3.0.1";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/d3-contour/-/d3-contour-3.0.1.tgz";
-        sha512 = "0Oc4D0KyhwhM7ZL0RMnfGycLN7hxHB8CMmwZ3+H26PWAG0ozNuYG5hXSDNgmP1SgJkQMrlG6cP20HoaSbvcJTQ==";
+        url = "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.0.tgz";
+        sha512 = "7aQo0QHUTu/Ko3cP9YK9yUTxtoDEiDGwnBHyLxG5M4vqlBkO/uixMRele3nfsfj6UXOcuReVpVXzAboGraYIJw==";
       };
     };
     "d3-delaunay-6.0.2" = {
@@ -23730,13 +23892,13 @@ let
         sha512 = "hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==";
       };
     };
-    "date-fns-2.28.0" = {
+    "date-fns-2.29.1" = {
       name = "date-fns";
       packageName = "date-fns";
-      version = "2.28.0";
+      version = "2.29.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz";
-        sha512 = "8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==";
+        url = "https://registry.npmjs.org/date-fns/-/date-fns-2.29.1.tgz";
+        sha512 = "dlLD5rKaKxpFdnjrs+5azHDFOPEu4ANy/LTh04A1DTzMM7qoajmKCBc8pkKRFT41CNzw+4gQh79X5C+Jq27HAw==";
       };
     };
     "date-format-1.2.0" = {
@@ -23766,13 +23928,13 @@ let
         sha512 = "eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==";
       };
     };
-    "date-format-4.0.11" = {
+    "date-format-4.0.13" = {
       name = "date-format";
       packageName = "date-format";
-      version = "4.0.11";
+      version = "4.0.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/date-format/-/date-format-4.0.11.tgz";
-        sha512 = "VS20KRyorrbMCQmpdl2hg5KaOUsda1RbnsJg461FfrcyCUg+pkd0b40BSW4niQyTheww4DBXQnS7HwSrKkipLw==";
+        url = "https://registry.npmjs.org/date-format/-/date-format-4.0.13.tgz";
+        sha512 = "bnYCwf8Emc3pTD8pXnre+wfnjGtfi5ncMDKy7+cWZXbmRAsdWkOQHrfC1yz/KiwP5thDp2kCHWYWKBX4HP1hoQ==";
       };
     };
     "date-now-0.1.4" = {
@@ -23811,13 +23973,13 @@ let
         sha512 = "2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==";
       };
     };
-    "dayjs-1.11.3" = {
+    "dayjs-1.11.4" = {
       name = "dayjs";
       packageName = "dayjs";
-      version = "1.11.3";
+      version = "1.11.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dayjs/-/dayjs-1.11.3.tgz";
-        sha512 = "xxwlswWOlGhzgQ4TKzASQkUhqERI3egRNqgV4ScR8wlANA/A9tZ7miXa44vTTKEq5l7vWoL5G57bG3zA+Kow0A==";
+        url = "https://registry.npmjs.org/dayjs/-/dayjs-1.11.4.tgz";
+        sha512 = "Zj/lPM5hOvQ1Bf7uAvewDaUcsJoI6JmNqmHhHl3nyumwe0XHwt8sWdOVAPACJzCebL8gQCi+K49w7iKWnGwX9g==";
       };
     };
     "dayjs-1.8.36" = {
@@ -23847,13 +24009,13 @@ let
         sha512 = "E1GI7jMI57hL30OX6Ht/hfQU8DO4AuB9m72WFm4c38GNbUD4Q03//XZaOIHZiY+H1xUaomcot5yk2q/qIZQkGQ==";
       };
     };
-    "deasync-0.1.26" = {
+    "deasync-0.1.27" = {
       name = "deasync";
       packageName = "deasync";
-      version = "0.1.26";
+      version = "0.1.27";
       src = fetchurl {
-        url = "https://registry.npmjs.org/deasync/-/deasync-0.1.26.tgz";
-        sha512 = "YKw0BmJSWxkjtQsbgn6Q9CHSWB7DKMen8vKrgyC006zy0UZ6nWyGidB0IzZgqkVRkOglAeUaFtiRTeLyel72bg==";
+        url = "https://registry.npmjs.org/deasync/-/deasync-0.1.27.tgz";
+        sha512 = "aCt6M9Ilkvs8TKIchmibUpNe/QSp9UNQL6YkvVraAce/SFFZCvYw3lQevl6MlUDn8Xr4QD4wYTerWH22yn+ODQ==";
       };
     };
     "debounce-1.2.1" = {
@@ -24702,6 +24864,15 @@ let
         sha512 = "tfiWc6BQLXNLpNiR5iGd0Ocu3P3VpxfzFiqubLgMfhfOw9WyvgJBd46CClNn9k3qfbjvT//0cf7AlYRX/OslMQ==";
       };
     };
+    "denque-2.1.0" = {
+      name = "denque";
+      packageName = "denque";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz";
+        sha512 = "HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==";
+      };
+    };
     "dep-graph-1.1.0" = {
       name = "dep-graph";
       packageName = "dep-graph";
@@ -24756,15 +24927,6 @@ let
         sha512 = "JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==";
       };
     };
-    "deprecated-decorator-0.1.6" = {
-      name = "deprecated-decorator";
-      packageName = "deprecated-decorator";
-      version = "0.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/deprecated-decorator/-/deprecated-decorator-0.1.6.tgz";
-        sha512 = "MHidOOnCHGlZDKsI21+mbIIhf4Fff+hhCTB7gtVg4uoIqjcrTZc5v6M+GS2zVI0sV7PqK415rb8XaOSQsQkHOw==";
-      };
-    };
     "deprecation-2.3.1" = {
       name = "deprecation";
       packageName = "deprecation";
@@ -24783,13 +24945,13 @@ let
         sha512 = "1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==";
       };
     };
-    "dequal-2.0.2" = {
+    "dequal-2.0.3" = {
       name = "dequal";
       packageName = "dequal";
-      version = "2.0.2";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dequal/-/dequal-2.0.2.tgz";
-        sha512 = "q9K8BlJVxK7hQYqa6XISGmBZbtQQWVXSrRrWreHC94rMt1QL/Impruc+7p2CYSYuVIUr+YCt6hjrs1kkdJRTug==";
+        url = "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz";
+        sha512 = "0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==";
       };
     };
     "deref-0.6.4" = {
@@ -24963,13 +25125,13 @@ let
         sha512 = "LmVkry/oDShEgSZPNgqCIp2/TlqtExeGmymru3uCELnfyjY11IzpAproLYs+1X88fXO6DBoYP3ul2Xo2yz2j6A==";
       };
     };
-    "devtools-protocol-0.0.1001819" = {
+    "devtools-protocol-0.0.1019158" = {
       name = "devtools-protocol";
       packageName = "devtools-protocol";
-      version = "0.0.1001819";
+      version = "0.0.1019158";
       src = fetchurl {
-        url = "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1001819.tgz";
-        sha512 = "G6OsIFnv/rDyxSqBa2lDLR6thp9oJioLsb2Gl+LbQlyoA9/OBAkrTU9jiCcQ8Pnh7z4d6slDiLaogR5hzgJLmQ==";
+        url = "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1019158.tgz";
+        sha512 = "wvq+KscQ7/6spEV7czhnZc9RM/woz1AY+/Vpd8/h2HFMwJSdTliu7f/yr1A6vDdJfKICZsShqsYpEQbdhg8AFQ==";
       };
     };
     "devtools-protocol-0.0.901419" = {
@@ -25134,13 +25296,13 @@ let
         sha512 = "IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==";
       };
     };
-    "diff2html-3.4.17" = {
+    "diff2html-3.4.18" = {
       name = "diff2html";
       packageName = "diff2html";
-      version = "3.4.17";
+      version = "3.4.18";
       src = fetchurl {
-        url = "https://registry.npmjs.org/diff2html/-/diff2html-3.4.17.tgz";
-        sha512 = "B/H+iLRHTsRl2Ffs/7tYJ0Rg4uisXe83inIdNE8trXY83Wn7OCTslJNP7fyaUpSsLbRIzPSNgT7LqFNiIQlDyg==";
+        url = "https://registry.npmjs.org/diff2html/-/diff2html-3.4.18.tgz";
+        sha512 = "eZP1vKjCNMPFpCoY0+ATZYTgdUUriUTLxRLjjAx6qPje7orIirtTkW3ghVcz3dIBjcum47AGIHBHpLhdrdS7aw==";
       };
     };
     "diff3-0.0.3" = {
@@ -25701,22 +25863,22 @@ let
         sha512 = "3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ==";
       };
     };
-    "dompurify-2.3.5" = {
+    "dompurify-2.3.10" = {
       name = "dompurify";
       packageName = "dompurify";
-      version = "2.3.5";
+      version = "2.3.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dompurify/-/dompurify-2.3.5.tgz";
-        sha512 = "kD+f8qEaa42+mjdOpKeztu9Mfx5bv9gVLO6K9jRx4uGvh6Wv06Srn4jr1wPNY2OOUGGSKHNFN+A8MA3v0E0QAQ==";
+        url = "https://registry.npmjs.org/dompurify/-/dompurify-2.3.10.tgz";
+        sha512 = "o7Fg/AgC7p/XpKjf/+RC3Ok6k4St5F7Q6q6+Nnm3p2zGWioAY6dh0CbbuwOhH2UcSzKsdniE/YnE2/92JcsA+g==";
       };
     };
-    "dompurify-2.3.8" = {
+    "dompurify-2.3.5" = {
       name = "dompurify";
       packageName = "dompurify";
-      version = "2.3.8";
+      version = "2.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dompurify/-/dompurify-2.3.8.tgz";
-        sha512 = "eVhaWoVibIzqdGYjwsBWodIQIaXFSB+cKDf4cfxLMsK0xiud6SE+/WCVx/Xw/UwQsa4cS3T2eITcdtmTg2UKcw==";
+        url = "https://registry.npmjs.org/dompurify/-/dompurify-2.3.5.tgz";
+        sha512 = "kD+f8qEaa42+mjdOpKeztu9Mfx5bv9gVLO6K9jRx4uGvh6Wv06Srn4jr1wPNY2OOUGGSKHNFN+A8MA3v0E0QAQ==";
       };
     };
     "domutils-1.4.3" = {
@@ -26034,13 +26196,13 @@ let
         sha512 = "asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==";
       };
     };
-    "duplexer3-0.1.4" = {
+    "duplexer3-0.1.5" = {
       name = "duplexer3";
       packageName = "duplexer3";
-      version = "0.1.4";
+      version = "0.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz";
-        sha512 = "CEj8FwwNA4cVH2uFCoHUrmojhYh1vmCdOaneKJXwkeY1i9jnlslVo9dx+hQ5Hl9GnH/Bwy/IjxAyOePyPKYnzA==";
+        url = "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz";
+        sha512 = "1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==";
       };
     };
     "duplexify-3.7.1" = {
@@ -26097,13 +26259,13 @@ let
         sha512 = "vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==";
       };
     };
-    "earcut-2.2.3" = {
+    "earcut-2.2.4" = {
       name = "earcut";
       packageName = "earcut";
-      version = "2.2.3";
+      version = "2.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/earcut/-/earcut-2.2.3.tgz";
-        sha512 = "iRDI1QeCQIhMCZk48DRDMVgQSSBDmbzzNhnxIo+pwx3swkfjMh6vh0nWLq1NdvGHLKH6wIrAM3vQWeTj6qeoug==";
+        url = "https://registry.npmjs.org/earcut/-/earcut-2.2.4.tgz";
+        sha512 = "/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==";
       };
     };
     "eastasianwidth-0.2.0" = {
@@ -26187,6 +26349,15 @@ let
         sha512 = "hDZWhCHZ1wu4P2g2RVsM2MjDmmJzhvcsXr5qHUSBJZXvuhJSunhbVsWoBXdIe0/yTa3RV4UaWpOmFmrVsKr0wA==";
       };
     };
+    "edge-runtime-1.1.0-beta.23" = {
+      name = "edge-runtime";
+      packageName = "edge-runtime";
+      version = "1.1.0-beta.23";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/edge-runtime/-/edge-runtime-1.1.0-beta.23.tgz";
+        sha512 = "A7dO/Y+4UJnaxFcdz6pepL+0GcvvViWvf201oFQXepgdSxPDKiqxaayCag0eiirQ6OfF+cSTmPD3xrfEoAIjiQ==";
+      };
+    };
     "editor-1.0.0" = {
       name = "editor";
       packageName = "editor";
@@ -26259,13 +26430,13 @@ let
         sha512 = "/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==";
       };
     };
-    "electron-18.3.4" = {
+    "electron-18.3.7" = {
       name = "electron";
       packageName = "electron";
-      version = "18.3.4";
+      version = "18.3.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron/-/electron-18.3.4.tgz";
-        sha512 = "MIxQnaQR7NzWZOuAhRbJAf+pPyoXXGNge9E6pz7nGLXE/DxeN6BUbKb0iWVCCMkxIpqdIhXdc5sViUCX74dvsw==";
+        url = "https://registry.npmjs.org/electron/-/electron-18.3.7.tgz";
+        sha512 = "SDvX0VYejR1xw9PrJyvnyiDcuIhdzFVaA1NaRN2LEWXr5R6mEFl8NVTM+i5dtxMm2SHP/FPnkvmsWZs6MHijqg==";
       };
     };
     "electron-notarize-1.2.1" = {
@@ -26295,22 +26466,22 @@ let
         sha512 = "9/fqF64GACZsLYLuFJ8vCqItMXbvsD0NMDLNfFmAv9mSqkqKWSZb5V3VE9CxT6CeXwZ6wN3YowEQuqBNyShEVg==";
       };
     };
-    "electron-rebuild-3.2.7" = {
+    "electron-rebuild-3.2.9" = {
       name = "electron-rebuild";
       packageName = "electron-rebuild";
-      version = "3.2.7";
+      version = "3.2.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-rebuild/-/electron-rebuild-3.2.7.tgz";
-        sha512 = "WvaW1EgRinDQ61khHFZfx30rkPQG5ItaOT0wrI7iJv9A3SbghriQGfZQfHZs25fWLBe6/vkv05LOqg6aDw6Wzw==";
+        url = "https://registry.npmjs.org/electron-rebuild/-/electron-rebuild-3.2.9.tgz";
+        sha512 = "FkEZNFViUem3P0RLYbZkUjC8LUFIK+wKq09GHoOITSJjfDAVQv964hwaNseTTWt58sITQX3/5fHNYcTefqaCWw==";
       };
     };
-    "electron-to-chromium-1.4.164" = {
+    "electron-to-chromium-1.4.211" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.4.164";
+      version = "1.4.211";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.164.tgz";
-        sha512 = "K7iy5y6XyP9Pzh3uaDti0KC4JUNT6T1tLG5RTOmesqq2YgAJpYYYJ32m+anvZYjCV35llPTEh87kvEV/uSsiyQ==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.211.tgz";
+        sha512 = "BZSbMpyFQU0KBJ1JG26XGeFI3i4op+qOYGxftmZXFZoHkhLgsSv4DHDJfl8ogII3hIuzGt51PaZ195OVu0yJ9A==";
       };
     };
     "electrum-client-git+https://github.com/janoside/electrum-client" = {
@@ -26621,13 +26792,13 @@ let
         sha512 = "b4Q85dFkGw+TqgytGPrGgACRUhsdKc9S9ErRAXpPGy/CXKs4tYoHDkvIRdsseAF7NjfVwjRFIn6KTnbw7LwJZg==";
       };
     };
-    "engine.io-3.5.0" = {
+    "engine.io-3.6.0" = {
       name = "engine.io";
       packageName = "engine.io";
-      version = "3.5.0";
+      version = "3.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/engine.io/-/engine.io-3.5.0.tgz";
-        sha512 = "21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA==";
+        url = "https://registry.npmjs.org/engine.io/-/engine.io-3.6.0.tgz";
+        sha512 = "Kc8fo5bbg8F4a2f3HPHTEpGyq/IRIQpyeHu3H1ThR14XDD7VrLcsGBo16HUpahgp8YkHJDaU5gNxJZbuGcuueg==";
       };
     };
     "engine.io-6.0.1" = {
@@ -26765,13 +26936,13 @@ let
         sha512 = "Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==";
       };
     };
-    "enhanced-resolve-5.9.3" = {
+    "enhanced-resolve-5.10.0" = {
       name = "enhanced-resolve";
       packageName = "enhanced-resolve";
-      version = "5.9.3";
+      version = "5.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz";
-        sha512 = "Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==";
+        url = "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz";
+        sha512 = "T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==";
       };
     };
     "enquirer-2.3.6" = {
@@ -26855,13 +27026,13 @@ let
         sha512 = "WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==";
       };
     };
-    "entities-4.3.0" = {
+    "entities-4.3.1" = {
       name = "entities";
       packageName = "entities";
-      version = "4.3.0";
+      version = "4.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/entities/-/entities-4.3.0.tgz";
-        sha512 = "/iP1rZrSEJ0DTlPiX+jbzlA3eVkY/e8L8SozroF395fIqE3TYF/Nz7YOMAawta+vLmyJ/hkGNNPcSbMADCCXbg==";
+        url = "https://registry.npmjs.org/entities/-/entities-4.3.1.tgz";
+        sha512 = "o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg==";
       };
     };
     "env-editor-0.4.2" = {
@@ -27062,13 +27233,22 @@ let
         sha512 = "QQ6yXmQM/cfWYj9/DM3hPRcHBZdWCoJU+35CoaMqw53sH2uqr29EZ0ne1PF/3LIG/cmawn1SbCPqcZE+siHmwg==";
       };
     };
-    "es5-ext-0.10.61" = {
+    "es5-ext-0.10.53" = {
       name = "es5-ext";
       packageName = "es5-ext";
-      version = "0.10.61";
+      version = "0.10.53";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.61.tgz";
-        sha512 = "yFhIqQAzu2Ca2I4SE2Au3rxVfmohU9Y7wqGR+s7+H7krk26NXhIRAZDgqd6xqjCEFUomDEA3/Bo/7fKmIkW1kA==";
+        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz";
+        sha512 = "Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==";
+      };
+    };
+    "es5-ext-0.10.62" = {
+      name = "es5-ext";
+      packageName = "es5-ext";
+      version = "0.10.62";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz";
+        sha512 = "BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==";
       };
     };
     "es6-error-4.1.1" = {
@@ -27197,6 +27377,195 @@ let
         sha512 = "w/XuoBCSwepyiZtIRsKsetiLDUVGPVw1E/R3VTFSecIy8UR7Cq3SOtwKHJMFoVqqVG36aGkzh4e8BvpO1Fdc7g==";
       };
     };
+    "esbuild-0.14.47" = {
+      name = "esbuild";
+      packageName = "esbuild";
+      version = "0.14.47";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esbuild/-/esbuild-0.14.47.tgz";
+        sha512 = "wI4ZiIfFxpkuxB8ju4MHrGwGLyp1+awEHAHVpx6w7a+1pmYIq8T9FGEVVwFo0iFierDoMj++Xq69GXWYn2EiwA==";
+      };
+    };
+    "esbuild-android-64-0.14.47" = {
+      name = "esbuild-android-64";
+      packageName = "esbuild-android-64";
+      version = "0.14.47";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.47.tgz";
+        sha512 = "R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==";
+      };
+    };
+    "esbuild-android-arm64-0.14.47" = {
+      name = "esbuild-android-arm64";
+      packageName = "esbuild-android-arm64";
+      version = "0.14.47";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.47.tgz";
+        sha512 = "OkwOjj7ts4lBp/TL6hdd8HftIzOy/pdtbrNA4+0oVWgGG64HrdVzAF5gxtJufAPOsEjkyh1oIYvKAUinKKQRSQ==";
+      };
+    };
+    "esbuild-darwin-64-0.14.47" = {
+      name = "esbuild-darwin-64";
+      packageName = "esbuild-darwin-64";
+      version = "0.14.47";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.47.tgz";
+        sha512 = "R6oaW0y5/u6Eccti/TS6c/2c1xYTb1izwK3gajJwi4vIfNs1s8B1dQzI1UiC9T61YovOQVuePDcfqHLT3mUZJA==";
+      };
+    };
+    "esbuild-darwin-arm64-0.14.47" = {
+      name = "esbuild-darwin-arm64";
+      packageName = "esbuild-darwin-arm64";
+      version = "0.14.47";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.47.tgz";
+        sha512 = "seCmearlQyvdvM/noz1L9+qblC5vcBrhUaOoLEDDoLInF/VQ9IkobGiLlyTPYP5dW1YD4LXhtBgOyevoIHGGnw==";
+      };
+    };
+    "esbuild-freebsd-64-0.14.47" = {
+      name = "esbuild-freebsd-64";
+      packageName = "esbuild-freebsd-64";
+      version = "0.14.47";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.47.tgz";
+        sha512 = "ZH8K2Q8/Ux5kXXvQMDsJcxvkIwut69KVrYQhza/ptkW50DC089bCVrJZZ3sKzIoOx+YPTrmsZvqeZERjyYrlvQ==";
+      };
+    };
+    "esbuild-freebsd-arm64-0.14.47" = {
+      name = "esbuild-freebsd-arm64";
+      packageName = "esbuild-freebsd-arm64";
+      version = "0.14.47";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.47.tgz";
+        sha512 = "ZJMQAJQsIOhn3XTm7MPQfCzEu5b9STNC+s90zMWe2afy9EwnHV7Ov7ohEMv2lyWlc2pjqLW8QJnz2r0KZmeAEQ==";
+      };
+    };
+    "esbuild-linux-32-0.14.47" = {
+      name = "esbuild-linux-32";
+      packageName = "esbuild-linux-32";
+      version = "0.14.47";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.47.tgz";
+        sha512 = "FxZOCKoEDPRYvq300lsWCTv1kcHgiiZfNrPtEhFAiqD7QZaXrad8LxyJ8fXGcWzIFzRiYZVtB3ttvITBvAFhKw==";
+      };
+    };
+    "esbuild-linux-64-0.14.47" = {
+      name = "esbuild-linux-64";
+      packageName = "esbuild-linux-64";
+      version = "0.14.47";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.47.tgz";
+        sha512 = "nFNOk9vWVfvWYF9YNYksZptgQAdstnDCMtR6m42l5Wfugbzu11VpMCY9XrD4yFxvPo9zmzcoUL/88y0lfJZJJw==";
+      };
+    };
+    "esbuild-linux-arm-0.14.47" = {
+      name = "esbuild-linux-arm";
+      packageName = "esbuild-linux-arm";
+      version = "0.14.47";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.47.tgz";
+        sha512 = "ZGE1Bqg/gPRXrBpgpvH81tQHpiaGxa8c9Rx/XOylkIl2ypLuOcawXEAo8ls+5DFCcRGt/o3sV+PzpAFZobOsmA==";
+      };
+    };
+    "esbuild-linux-arm64-0.14.47" = {
+      name = "esbuild-linux-arm64";
+      packageName = "esbuild-linux-arm64";
+      version = "0.14.47";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.47.tgz";
+        sha512 = "ywfme6HVrhWcevzmsufjd4iT3PxTfCX9HOdxA7Hd+/ZM23Y9nXeb+vG6AyA6jgq/JovkcqRHcL9XwRNpWG6XRw==";
+      };
+    };
+    "esbuild-linux-mips64le-0.14.47" = {
+      name = "esbuild-linux-mips64le";
+      packageName = "esbuild-linux-mips64le";
+      version = "0.14.47";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.47.tgz";
+        sha512 = "mg3D8YndZ1LvUiEdDYR3OsmeyAew4MA/dvaEJxvyygahWmpv1SlEEnhEZlhPokjsUMfRagzsEF/d/2XF+kTQGg==";
+      };
+    };
+    "esbuild-linux-ppc64le-0.14.47" = {
+      name = "esbuild-linux-ppc64le";
+      packageName = "esbuild-linux-ppc64le";
+      version = "0.14.47";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.47.tgz";
+        sha512 = "WER+f3+szmnZiWoK6AsrTKGoJoErG2LlauSmk73LEZFQ/iWC+KhhDsOkn1xBUpzXWsxN9THmQFltLoaFEH8F8w==";
+      };
+    };
+    "esbuild-linux-riscv64-0.14.47" = {
+      name = "esbuild-linux-riscv64";
+      packageName = "esbuild-linux-riscv64";
+      version = "0.14.47";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.47.tgz";
+        sha512 = "1fI6bP3A3rvI9BsaaXbMoaOjLE3lVkJtLxsgLHqlBhLlBVY7UqffWBvkrX/9zfPhhVMd9ZRFiaqXnB1T7BsL2g==";
+      };
+    };
+    "esbuild-linux-s390x-0.14.47" = {
+      name = "esbuild-linux-s390x";
+      packageName = "esbuild-linux-s390x";
+      version = "0.14.47";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.47.tgz";
+        sha512 = "eZrWzy0xFAhki1CWRGnhsHVz7IlSKX6yT2tj2Eg8lhAwlRE5E96Hsb0M1mPSE1dHGpt1QVwwVivXIAacF/G6mw==";
+      };
+    };
+    "esbuild-netbsd-64-0.14.47" = {
+      name = "esbuild-netbsd-64";
+      packageName = "esbuild-netbsd-64";
+      version = "0.14.47";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.47.tgz";
+        sha512 = "Qjdjr+KQQVH5Q2Q1r6HBYswFTToPpss3gqCiSw2Fpq/ua8+eXSQyAMG+UvULPqXceOwpnPo4smyZyHdlkcPppQ==";
+      };
+    };
+    "esbuild-openbsd-64-0.14.47" = {
+      name = "esbuild-openbsd-64";
+      packageName = "esbuild-openbsd-64";
+      version = "0.14.47";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.47.tgz";
+        sha512 = "QpgN8ofL7B9z8g5zZqJE+eFvD1LehRlxr25PBkjyyasakm4599iroUpaj96rdqRlO2ShuyqwJdr+oNqWwTUmQw==";
+      };
+    };
+    "esbuild-sunos-64-0.14.47" = {
+      name = "esbuild-sunos-64";
+      packageName = "esbuild-sunos-64";
+      version = "0.14.47";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.47.tgz";
+        sha512 = "uOeSgLUwukLioAJOiGYm3kNl+1wJjgJA8R671GYgcPgCx7QR73zfvYqXFFcIO93/nBdIbt5hd8RItqbbf3HtAQ==";
+      };
+    };
+    "esbuild-windows-32-0.14.47" = {
+      name = "esbuild-windows-32";
+      packageName = "esbuild-windows-32";
+      version = "0.14.47";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.47.tgz";
+        sha512 = "H0fWsLTp2WBfKLBgwYT4OTfFly4Im/8B5f3ojDv1Kx//kiubVY0IQunP2Koc/fr/0wI7hj3IiBDbSrmKlrNgLQ==";
+      };
+    };
+    "esbuild-windows-64-0.14.47" = {
+      name = "esbuild-windows-64";
+      packageName = "esbuild-windows-64";
+      version = "0.14.47";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.47.tgz";
+        sha512 = "/Pk5jIEH34T68r8PweKRi77W49KwanZ8X6lr3vDAtOlH5EumPE4pBHqkCUdELanvsT14yMXLQ/C/8XPi1pAtkQ==";
+      };
+    };
+    "esbuild-windows-arm64-0.14.47" = {
+      name = "esbuild-windows-arm64";
+      packageName = "esbuild-windows-arm64";
+      version = "0.14.47";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.47.tgz";
+        sha512 = "HFSW2lnp62fl86/qPQlqw6asIwCnEsEoNIL1h2uVMgakddf+vUuMcCbtUY1i8sst7KkgHrVKCJQB33YhhOweCQ==";
+      };
+    };
     "esc-exit-3.0.0" = {
       name = "esc-exit";
       packageName = "esc-exit";
@@ -27233,6 +27602,15 @@ let
         sha512 = "w3PwNZJwRxlp47QGzhuEBldEqVHHhh8/tIPcl6ecf2Bou99cdAt0knihBV0Ecc7CGxYduXVBDheH1K2oADRlvw==";
       };
     };
+    "escape-goat-4.0.0" = {
+      name = "escape-goat";
+      packageName = "escape-goat";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz";
+        sha512 = "2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==";
+      };
+    };
     "escape-html-1.0.3" = {
       name = "escape-html";
       packageName = "escape-html";
@@ -27404,6 +27782,15 @@ let
         sha512 = "As1EfFMVk7Xc6/CvhssHUjsAQSkpfXvUGMFC3ce8JDe6WvqCgRrLOBQbVpsBFr1X1V+RACOadnzVvcUS5ni2bA==";
       };
     };
+    "eslint-8.21.0" = {
+      name = "eslint";
+      packageName = "eslint";
+      version = "8.21.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint/-/eslint-8.21.0.tgz";
+        sha512 = "/XJ1+Qurf1T9G2M5IHrsjp+xrGT73RZf23xA1z5wB1ZzzEAWSZKvRwhWxTFp1rvkvCfwcvAUNAP31bhKTTGfDA==";
+      };
+    };
     "eslint-config-prettier-6.15.0" = {
       name = "eslint-config-prettier";
       packageName = "eslint-config-prettier";
@@ -27647,6 +28034,15 @@ let
         sha512 = "D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==";
       };
     };
+    "espree-9.3.3" = {
+      name = "espree";
+      packageName = "espree";
+      version = "9.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/espree/-/espree-9.3.3.tgz";
+        sha512 = "ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng==";
+      };
+    };
     "esprima-1.1.1" = {
       name = "esprima";
       packageName = "esprima";
@@ -27818,13 +28214,13 @@ let
         sha512 = "rxZj1GkQhY4x1j/CSnybK9cGuMFQYFPLq0iNyopqf14aOVLFtMv7Esika+ObJWPWiOHuMOAHz3YkWoLYYRnzWQ==";
       };
     };
-    "estree-util-visit-1.1.0" = {
+    "estree-util-visit-1.2.0" = {
       name = "estree-util-visit";
       packageName = "estree-util-visit";
-      version = "1.1.0";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-1.1.0.tgz";
-        sha512 = "3lXJ4Us9j8TUif9cWcQy81t9p5OLasnDuuhrFiqb+XstmKC1d1LmrQWYsY49/9URcfHE64mPypDBaNK9NwWDPQ==";
+        url = "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-1.2.0.tgz";
+        sha512 = "wdsoqhWueuJKsh5hqLw3j8lwFqNStm92VcwtAOAny8g/KS/l5Y8RISjR4k5W6skCj3Nirag/WUCMS0Nfy3sgsg==";
       };
     };
     "estree-walker-0.6.1" = {
@@ -27989,6 +28385,15 @@ let
         sha512 = "vyibDcu5JL20Me1fP734QBH/kenBGLZap2n0+XXM7mvuUPzJ20Ydqj1aKcIeMdri1p+PU+4yAKugjN8KCVst+g==";
       };
     };
+    "event-target-polyfill-0.0.3" = {
+      name = "event-target-polyfill";
+      packageName = "event-target-polyfill";
+      version = "0.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/event-target-polyfill/-/event-target-polyfill-0.0.3.tgz";
+        sha512 = "ZMc6UuvmbinrCk4RzGyVmRyIsAyxMRlp4CqSrcQRO8Dy0A9ldbiRy5kdtBj4OtP7EClGdqGfIqo9JmOClMsGLQ==";
+      };
+    };
     "event-target-shim-5.0.1" = {
       name = "event-target-shim";
       packageName = "event-target-shim";
@@ -28034,6 +28439,15 @@ let
         sha512 = "bXE7Dyc1i6oQElDG0jMRZJrRAn9QR2xyyFGmBdZleNmyQX0FqGYmhZIrIrpPfm/w//LTo4tVQGOGQcGCb5q9uw==";
       };
     };
+    "eventemitter2-6.4.7" = {
+      name = "eventemitter2";
+      packageName = "eventemitter2";
+      version = "6.4.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz";
+        sha512 = "tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==";
+      };
+    };
     "eventemitter3-1.2.0" = {
       name = "eventemitter3";
       packageName = "eventemitter3";
@@ -28304,6 +28718,15 @@ let
         sha512 = "MsG3prOVw1WtLXAZbM3KiYtooKR1LvxHh3VHsVtIy0uiUu8usxgB/94DP2HxtD/661lLdB6yzQ09lGJSQr6nkg==";
       };
     };
+    "exit-hook-2.2.1" = {
+      name = "exit-hook";
+      packageName = "exit-hook";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/exit-hook/-/exit-hook-2.2.1.tgz";
+        sha512 = "eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==";
+      };
+    };
     "exit-on-epipe-1.0.1" = {
       name = "exit-on-epipe";
       packageName = "exit-on-epipe";
@@ -28376,13 +28799,13 @@ let
         sha512 = "S8qfaXCv//7tQWV9M+JKx3CF7ypYhDdSUbkUQdaVO/r8D76/aRTArY/aRw1yEfaAOzyK8C8diDToV1itl51DfQ==";
       };
     };
-    "expo-pwa-0.0.119" = {
+    "expo-pwa-0.0.122" = {
       name = "expo-pwa";
       packageName = "expo-pwa";
-      version = "0.0.119";
+      version = "0.0.122";
       src = fetchurl {
-        url = "https://registry.npmjs.org/expo-pwa/-/expo-pwa-0.0.119.tgz";
-        sha512 = "TGoZ+IFp5+wPlHESuBXc8VsLNnk41FDe1e+nENcM3Exty4uD/galsAG3RLrt2RSxBw3bDLtSNJOD0ZhmYLg6QQ==";
+        url = "https://registry.npmjs.org/expo-pwa/-/expo-pwa-0.0.122.tgz";
+        sha512 = "E2DVR/1SWFXqLLT9XNKnSVoHbZLGhpkx7PigaqfcI/t1hF+A6zAopwDfKmpFGymuSVqlwEJMTr/PYRdhUY55/g==";
       };
     };
     "exponential-backoff-3.1.0" = {
@@ -28439,15 +28862,6 @@ let
         sha512 = "mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==";
       };
     };
-    "express-4.17.2" = {
-      name = "express";
-      packageName = "express";
-      version = "4.17.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/express/-/express-4.17.2.tgz";
-        sha512 = "oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==";
-      };
-    };
     "express-4.17.3" = {
       name = "express";
       packageName = "express";
@@ -28556,15 +28970,6 @@ let
         sha512 = "UbHwgqjxQZJiWRTMyhvWGvjBQduGCSBDhhZXYenziMFjxst5rMV+aJZ6hKPHZnPyHGsrqRICxtX8jtEbm/z36Q==";
       };
     };
-    "express-session-1.17.2" = {
-      name = "express-session";
-      packageName = "express-session";
-      version = "1.17.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/express-session/-/express-session-1.17.2.tgz";
-        sha512 = "mPcYcLA0lvh7D4Oqr5aNJFMtBMKPLl++OKKxkHzZ0U0oDq1rpKBnkR5f5vCHR26VeArlTOEF9td4x5IjICksRQ==";
-      };
-    };
     "express-session-1.17.3" = {
       name = "express-session";
       packageName = "express-session";
@@ -28916,6 +29321,15 @@ let
         sha512 = "t8HYqkuE3YEqNcyWlAfh55479aTxO+GpYwvQvJppYqyBfSmRdNIhzY2m09FKN/MENTzq4wH6heHOIvsPyMAwvQ==";
       };
     };
+    "fast-blob-stream-1.1.1" = {
+      name = "fast-blob-stream";
+      packageName = "fast-blob-stream";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-blob-stream/-/fast-blob-stream-1.1.1.tgz";
+        sha512 = "wdRazMMeM2pl8hq1lFG8fzix8p1VLAJunTTE2RADiFBwbUfZwybUm6IwPrmMS7qTthiayr166NoXeqWe3hfR5w==";
+      };
+    };
     "fast-csv-4.3.6" = {
       name = "fast-csv";
       packageName = "fast-csv";
@@ -28997,6 +29411,15 @@ let
         sha512 = "xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==";
       };
     };
+    "fast-glob-3.2.7" = {
+      name = "fast-glob";
+      packageName = "fast-glob";
+      version = "3.2.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz";
+        sha512 = "rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==";
+      };
+    };
     "fast-json-parse-1.0.3" = {
       name = "fast-json-parse";
       packageName = "fast-json-parse";
@@ -29078,6 +29501,15 @@ let
         sha512 = "2HxzrqJhmMoxVzARjYFvkzkL2dCBB8sogU5sD8gqcZWv5UCivK9/cXM9KIPDRwU+eD3mbRDN/GhW8bO/4dtMfg==";
       };
     };
+    "fast-readable-async-iterator-1.1.1" = {
+      name = "fast-readable-async-iterator";
+      packageName = "fast-readable-async-iterator";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-readable-async-iterator/-/fast-readable-async-iterator-1.1.1.tgz";
+        sha512 = "xEHkLUEmStETI+15zhglJLO9TjXxNkkp2ldEfYVZdcqxFhM172EfGl1irI6mVlTxXspYKH1/kjevnt/XSsPeFA==";
+      };
+    };
     "fast-redact-3.1.1" = {
       name = "fast-redact";
       packageName = "fast-redact";
@@ -29150,13 +29582,13 @@ let
         sha512 = "FTFVjYoBOZTJekiUsawGsSYV9QL0A+zDYCRj7y34IO6Jg+2IMYEtQa+bbictpdpV8dHxXywqU7C0gRDEOFtBFg==";
       };
     };
-    "fastest-levenshtein-1.0.12" = {
+    "fastest-levenshtein-1.0.16" = {
       name = "fastest-levenshtein";
       packageName = "fastest-levenshtein";
-      version = "1.0.12";
+      version = "1.0.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz";
-        sha512 = "On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==";
+        url = "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz";
+        sha512 = "eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==";
       };
     };
     "fastintcompression-0.0.4" = {
@@ -29294,13 +29726,13 @@ let
         sha512 = "OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==";
       };
     };
-    "fetch-blob-3.1.5" = {
+    "fetch-blob-3.2.0" = {
       name = "fetch-blob";
       packageName = "fetch-blob";
-      version = "3.1.5";
+      version = "3.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.1.5.tgz";
-        sha512 = "N64ZpKqoLejlrwkIAnb9iLSA3Vx/kjgzpcDhygcqJ2KKjky8nCgUQ+dzXtbrLaWZGZNmNfQTsiQ0weZ1svglHg==";
+        url = "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz";
+        sha512 = "7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==";
       };
     };
     "fetch-cookie-0.11.0" = {
@@ -29402,6 +29834,15 @@ let
         sha512 = "yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==";
       };
     };
+    "figures-4.0.1" = {
+      name = "figures";
+      packageName = "figures";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/figures/-/figures-4.0.1.tgz";
+        sha512 = "rElJwkA/xS04Vfg+CaZodpso7VqBknOYbzi6I76hI4X80RUjkSxO2oAyPmGbuXUppywjqndOrQDl817hDnI++w==";
+      };
+    };
     "file-entry-cache-2.0.0" = {
       name = "file-entry-cache";
       packageName = "file-entry-cache";
@@ -29528,6 +29969,15 @@ let
         sha512 = "uVsl7iFhHSOY4bEONLlTK47iAHtNsFHWP5YE4xJfZ4rnX7S1Q3wce09XgqSC7E/xh8Ncv/be1lNoyprlUH/x6A==";
       };
     };
+    "file-type-16.5.4" = {
+      name = "file-type";
+      packageName = "file-type";
+      version = "16.5.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/file-type/-/file-type-16.5.4.tgz";
+        sha512 = "/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==";
+      };
+    };
     "file-type-3.9.0" = {
       name = "file-type";
       packageName = "file-type";
@@ -29681,15 +30131,6 @@ let
         sha512 = "pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==";
       };
     };
-    "filestream-5.0.0" = {
-      name = "filestream";
-      packageName = "filestream";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/filestream/-/filestream-5.0.0.tgz";
-        sha512 = "5H3RqSaJp12THfZiNWodYM7TiKfQvrpX+EIOrB1XvCceTys4yvfEIl8wDp+/yI8qj6Bxym8m0NYWwVXDAet/+A==";
-      };
-    };
     "filesystem-constants-1.0.0" = {
       name = "filesystem-constants";
       packageName = "filesystem-constants";
@@ -30086,13 +30527,13 @@ let
         sha512 = "r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==";
       };
     };
-    "flatted-3.2.5" = {
+    "flatted-3.2.6" = {
       name = "flatted";
       packageName = "flatted";
-      version = "3.2.5";
+      version = "3.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz";
-        sha512 = "WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==";
+        url = "https://registry.npmjs.org/flatted/-/flatted-3.2.6.tgz";
+        sha512 = "0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==";
       };
     };
     "flatten-0.0.1" = {
@@ -30113,13 +30554,13 @@ let
         sha512 = "d+9na7t9FyH8gBJoNDSi28mE4NgQVGGvxQ4aHtFRetjyh5SXjuus+V5EZaxFmFdXVemSOrx0lsgEl/ZMjnOWJA==";
       };
     };
-    "flow-parser-0.180.1" = {
+    "flow-parser-0.184.0" = {
       name = "flow-parser";
       packageName = "flow-parser";
-      version = "0.180.1";
+      version = "0.184.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/flow-parser/-/flow-parser-0.180.1.tgz";
-        sha512 = "+zhnnWjpNomIrI/FL8inDMOQP3hniNxZlROBlaerzM+PqszgqaC2724kvU8ThkNWDMmgC5N8M1HemMPc3h4IBA==";
+        url = "https://registry.npmjs.org/flow-parser/-/flow-parser-0.184.0.tgz";
+        sha512 = "+RAHizWmCnfnAWX1yD3fSdWRYCMhGiiqZSbHNU38MQxYc8XdTBoFB3ZpL1MEPG6yy/Yb3hg9w9eIf0DNlU8epQ==";
       };
     };
     "fluent-ffmpeg-2.1.2" = {
@@ -30482,6 +30923,15 @@ let
         sha512 = "qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==";
       };
     };
+    "form-data-encoder-2.0.1" = {
+      name = "form-data-encoder";
+      packageName = "form-data-encoder";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.0.1.tgz";
+        sha512 = "Oy+P9w5mnO4TWXVgUiQvggNKPI9/ummcSt5usuIV6HkaLKigwzPpoenhEqmGmx3zHqm6ZLJ+CR/99N8JLinaEw==";
+      };
+    };
     "form-urlencoded-4.5.1" = {
       name = "form-urlencoded";
       packageName = "form-urlencoded";
@@ -30581,13 +31031,13 @@ let
         sha512 = "wJaE62fLaB3jCYvY2ZHjZvmKK2iiLiiehX38rz5QZxtdN8fVPJDeZUiVvJrHStdTc+23LHlyZuSEKgFc0pxi2g==";
       };
     };
-    "fp-ts-2.12.1" = {
+    "fp-ts-2.12.2" = {
       name = "fp-ts";
       packageName = "fp-ts";
-      version = "2.12.1";
+      version = "2.12.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fp-ts/-/fp-ts-2.12.1.tgz";
-        sha512 = "oxvgqUYR6O9VkKXrxkJ0NOyU0FrE705MeqgBUMEPWyTu6Pwn768cJbHChw2XOBlgFLKfIHxjr2OOBFpv2mUGZw==";
+        url = "https://registry.npmjs.org/fp-ts/-/fp-ts-2.12.2.tgz";
+        sha512 = "v8J7ud+nTkP5Zz17GhpCsY19wiRbB9miuj61nBcCJyDpu52zs9Z4O7OLDfYoKFQMJ9EsSZA7W1vRgC1d3jy5qw==";
       };
     };
     "fraction.js-4.2.0" = {
@@ -30680,15 +31130,6 @@ let
         sha512 = "OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==";
       };
     };
-    "fs-capacitor-2.0.4" = {
-      name = "fs-capacitor";
-      packageName = "fs-capacitor";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs-capacitor/-/fs-capacitor-2.0.4.tgz";
-        sha512 = "8S4f4WsCryNw2mJJchi46YgB6CR5Ze+4L1h8ewl9tEpL4SJ3ZO+c/bS4BWhB8bK+O3TMqhuZarTitd0S0eh2pA==";
-      };
-    };
     "fs-chunk-store-1.7.0" = {
       name = "fs-chunk-store";
       packageName = "fs-chunk-store";
@@ -30752,15 +31193,6 @@ let
         sha512 = "5rU898vl/Z948L+kkJedbmo/iltzmiF5bn/eEk0j/SgrPpI+Ydau9xlJPicV7Av2CHYBGz5LAlwTnBU80j1zPQ==";
       };
     };
-    "fs-extra-10.0.0" = {
-      name = "fs-extra";
-      packageName = "fs-extra";
-      version = "10.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz";
-        sha512 = "C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==";
-      };
-    };
     "fs-extra-10.1.0" = {
       name = "fs-extra";
       packageName = "fs-extra";
@@ -30932,15 +31364,6 @@ let
         sha512 = "Ig401VXtyrWrz23k9KxAx9OrnL8AHSLNhQ8YJH2wSYuH0ZUfxwBeY6zXkd/oOyVRFTlpEu/0n5gHeuZt7aqbkw==";
       };
     };
-    "fs.notify-0.0.4" = {
-      name = "fs.notify";
-      packageName = "fs.notify";
-      version = "0.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs.notify/-/fs.notify-0.0.4.tgz";
-        sha512 = "xnulkRf31FQwC8NsU5DEYqMTeM3jZpYsTC2hHQcHlkXTubxQHDVWkau13U/oFmFXieCkai2oKTa1MhckXk2fRQ==";
-      };
-    };
     "fs.realpath-1.0.0" = {
       name = "fs.realpath";
       packageName = "fs.realpath";
@@ -31139,22 +31562,22 @@ let
         sha512 = "w4n9cPWyP7aHxKxYHFQMegj7WIAsL/YX/C4Bs5Rr8s1H9M1rNtRWRsw+ovYMkXDQ5S4ZbYHsHAPmevPjPgw44w==";
       };
     };
-    "gatsby-core-utils-3.17.0" = {
+    "gatsby-core-utils-3.20.0" = {
       name = "gatsby-core-utils";
       packageName = "gatsby-core-utils";
-      version = "3.17.0";
+      version = "3.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-3.17.0.tgz";
-        sha512 = "1e0YaqTAEpSSBkpWkY703lu+Bl76ASXUvUcpnNO3CavCYZsRQxAXtMXIKIEvhm1z6zWJmY9HILo6/DjP+PHeyw==";
+        url = "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-3.20.0.tgz";
+        sha512 = "D3DIulUFoPvexwsGYFkfESL1Dd3qsxBfj8OBi8vsd6BuXrA6MbLtX3j5+BLVxfKkN2wF7XN6b3/DH+JGNuhh2A==";
       };
     };
-    "gatsby-telemetry-3.17.0" = {
+    "gatsby-telemetry-3.20.0" = {
       name = "gatsby-telemetry";
       packageName = "gatsby-telemetry";
-      version = "3.17.0";
+      version = "3.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-3.17.0.tgz";
-        sha512 = "1N4uKj2Yj7AykLmwjsdOmNirf3UmP8CBXjj/LmWf5cLDVbdPqkirAlyD6uTeEliG5UFHPTlBsRi26v558mFYJQ==";
+        url = "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-3.20.0.tgz";
+        sha512 = "tHQITCmO8gHYbvb7OeMhyOHiCITK0mNI7d0v/UGaXbR0ALO/hsOT29TkMDEeaHtnTZ5kTY/4hLq/3P0X4qrJiQ==";
       };
     };
     "gauge-1.2.7" = {
@@ -31211,13 +31634,13 @@ let
         sha512 = "gSaYYIO1Y3wUtdfHmjDUZ8LWaxJQpiavzbF5Kq53akSzvmVg0RfyOcFDbO1KJ/KCGRFz2qG+lS81F0nkr7cRJA==";
       };
     };
-    "gaxios-5.0.0" = {
+    "gaxios-5.0.1" = {
       name = "gaxios";
       packageName = "gaxios";
-      version = "5.0.0";
+      version = "5.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gaxios/-/gaxios-5.0.0.tgz";
-        sha512 = "VD/yc5ln6XU8Ch1hyYY6kRMBE0Yc2np3fPyeJeYHhrPs1i8rgnsApPMWyrugkl7LLoSqpOJVBWlQIa87OAvt8Q==";
+        url = "https://registry.npmjs.org/gaxios/-/gaxios-5.0.1.tgz";
+        sha512 = "keK47BGKHyyOVQxgcUaSaFvr3ehZYAlvhvpHXy0YB2itzZef+GqZR8TBsfVRWghdwlKrYsn+8L8i3eblF7Oviw==";
       };
     };
     "gaze-1.1.3" = {
@@ -31751,13 +32174,22 @@ let
         sha512 = "YUvVDg/vX3d0syBsk/CKUTib0srcQME0JyHkL5BaYdwLsiCslPWmDSi8PUMo9pXYjrryMcmsCoCgsTpSCJEQaA==";
       };
     };
-    "git-url-parse-11.6.0" = {
+    "git-up-6.0.0" = {
+      name = "git-up";
+      packageName = "git-up";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/git-up/-/git-up-6.0.0.tgz";
+        sha512 = "6RUFSNd1c/D0xtGnyWN2sxza2bZtZ/EmI9448n6rCZruFwV/ezeEn2fJP7XnUQGwf0RAtd/mmUCbtH6JPYA2SA==";
+      };
+    };
+    "git-url-parse-12.0.0" = {
       name = "git-url-parse";
       packageName = "git-url-parse";
-      version = "11.6.0";
+      version = "12.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.6.0.tgz";
-        sha512 = "WWUxvJs5HsyHL6L08wOusa/IXYtMuCAhrMmnTjQPpBU0TTHyDhnOATNH3xNQz7YOQUsqIIPTGr4xiVti1Hsk5g==";
+        url = "https://registry.npmjs.org/git-url-parse/-/git-url-parse-12.0.0.tgz";
+        sha512 = "I6LMWsxV87vysX1WfsoglXsXg6GjQRKq7+Dgiseo+h0skmp5Hp2rzmcEIRQot9CPA+uzU7x1x7jZdqvTFGnB+Q==";
       };
     };
     "gitconfiglocal-1.0.0" = {
@@ -31886,6 +32318,15 @@ let
         sha512 = "vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==";
       };
     };
+    "glob-7.1.4" = {
+      name = "glob";
+      packageName = "glob";
+      version = "7.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz";
+        sha512 = "hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==";
+      };
+    };
     "glob-7.1.6" = {
       name = "glob";
       packageName = "glob";
@@ -32202,13 +32643,13 @@ let
         sha512 = "BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==";
       };
     };
-    "globals-13.15.0" = {
+    "globals-13.17.0" = {
       name = "globals";
       packageName = "globals";
-      version = "13.15.0";
+      version = "13.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz";
-        sha512 = "bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==";
+        url = "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz";
+        sha512 = "1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==";
       };
     };
     "globals-9.18.0" = {
@@ -32256,24 +32697,6 @@ let
         sha512 = "jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==";
       };
     };
-    "globby-12.1.0" = {
-      name = "globby";
-      packageName = "globby";
-      version = "12.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/globby/-/globby-12.1.0.tgz";
-        sha512 = "YULDaNwsoUZkRy9TWSY/M7Obh0abamTKoKzTfOI3uU+hfpX2FZqOq8LFDxsjYheF1RH7ITdArgbQnsNBFgcdBA==";
-      };
-    };
-    "globby-12.2.0" = {
-      name = "globby";
-      packageName = "globby";
-      version = "12.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz";
-        sha512 = "wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==";
-      };
-    };
     "globby-13.1.2" = {
       name = "globby";
       packageName = "globby";
@@ -32400,22 +32823,22 @@ let
         sha512 = "5Rk7iLNDFhFeBYc3s8l1CqzbEBcdhwR193RlD4vSNFajIcINKI8W8P0JLmBpwymHqqWbX34pJDQu39cSy/6RsA==";
       };
     };
-    "google-auth-library-8.0.2" = {
+    "google-auth-library-8.1.1" = {
       name = "google-auth-library";
       packageName = "google-auth-library";
-      version = "8.0.2";
+      version = "8.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/google-auth-library/-/google-auth-library-8.0.2.tgz";
-        sha512 = "HoG+nWFAThLovKpvcbYzxgn+nBJPTfAwtq0GxPN821nOO+21+8oP7MoEHfd1sbDulUFFGfcjJr2CnJ4YssHcyg==";
+        url = "https://registry.npmjs.org/google-auth-library/-/google-auth-library-8.1.1.tgz";
+        sha512 = "eG3pCfrLgVJe19KhAeZwW0m1LplNEo0FX1GboWf3hu18zD2jq8TUH2K8900AB2YRAuJ7A+1aSXDp1BODjwwRzg==";
       };
     };
-    "google-gax-3.1.1" = {
+    "google-gax-3.1.4" = {
       name = "google-gax";
       packageName = "google-gax";
-      version = "3.1.1";
+      version = "3.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/google-gax/-/google-gax-3.1.1.tgz";
-        sha512 = "lLiv6s3Ax5i0Iqy/crHrIZuaU1AYZvTj/F8DCcdJvmDWDsFSVSh+KkCEkKGd7PHck3dVB58NnbC4FIiRpTq4WQ==";
+        url = "https://registry.npmjs.org/google-gax/-/google-gax-3.1.4.tgz";
+        sha512 = "+EOIVCSpFVabuqSBQHEy5kE8rGapc5sS47wbShJLzRnxIBWXs9+2vCnnmBP3pPZSsRQU08rp5C26j7spk+liUQ==";
       };
     };
     "google-p12-pem-3.1.4" = {
@@ -32427,6 +32850,15 @@ let
         sha512 = "HHuHmkLgwjdmVRngf5+gSmpkyaRI6QmOg77J8tkNBHhNEI62sGHyw4/+UkgyZEI7h84NbWprXDJ+sa3xOYFvTg==";
       };
     };
+    "google-p12-pem-4.0.0" = {
+      name = "google-p12-pem";
+      packageName = "google-p12-pem";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-4.0.0.tgz";
+        sha512 = "lRTMn5ElBdDixv4a86bixejPSRk1boRtUowNepeKEVvYiFlkLuAJUVpEz6PfObDHYEKnZWq/9a2zC98xu62A9w==";
+      };
+    };
     "googleapis-76.0.0" = {
       name = "googleapis";
       packageName = "googleapis";
@@ -32508,6 +32940,15 @@ let
         sha512 = "o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ==";
       };
     };
+    "got-12.3.0" = {
+      name = "got";
+      packageName = "got";
+      version = "12.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/got/-/got-12.3.0.tgz";
+        sha512 = "7uK06aluHF0UibYFBX3lFUZ2FG/W0KS4O4EqAIrbWIdbPxIT33r6ZJy7Zy+pdh0CP/ZbF3zBa7Fd9dCn7vGPBg==";
+      };
+    };
     "got-3.3.1" = {
       name = "got";
       packageName = "got";
@@ -32589,13 +33030,22 @@ let
         sha512 = "8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w==";
       };
     };
-    "grammy-1.8.3" = {
+    "grammy-1.9.0" = {
       name = "grammy";
       packageName = "grammy";
-      version = "1.8.3";
+      version = "1.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/grammy/-/grammy-1.9.0.tgz";
+        sha512 = "aIUONCSbUtHVw+YuVB0kQEgoKXbYspihk2a0xFeWa7hk76PbRSBP/n3q3gHq+O4MHy6DsIjP3WrezsA1qyuQ4w==";
+      };
+    };
+    "grammy-1.9.2" = {
+      name = "grammy";
+      packageName = "grammy";
+      version = "1.9.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/grammy/-/grammy-1.8.3.tgz";
-        sha512 = "3esAETA0HXR9wb8x65uYeAt1AbCQsJC5l6iuxSRXZR2cSxEf+61vIbJ5qUvw7TfMkgPuH71Gi7AHSFGZ+F1eqQ==";
+        url = "https://registry.npmjs.org/grammy/-/grammy-1.9.2.tgz";
+        sha512 = "3u73ov2dJZeUiWKN/N7jgF3XtMFCOcBYsRB+/YjOGVPnk2CDo8n7VLnhH+jznhrqJEgeRB/CqKsP+PIPOUpizA==";
       };
     };
     "grant-4.7.0" = {
@@ -32661,15 +33111,6 @@ let
         sha512 = "x7uDjyz8Jx+QPbpCFCMQ8lltnQa4p4vSYHx6ADe8rVYRTdsyhCJbvSty5DAsLVmU6cGakl+r8HQYolKHxk/tiw==";
       };
     };
-    "graphql-0.13.2" = {
-      name = "graphql";
-      packageName = "graphql";
-      version = "0.13.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/graphql/-/graphql-0.13.2.tgz";
-        sha512 = "QZ5BL8ZO/B20VA8APauGBg3GyEgZ19eduvpLWoq5x7gMmWnHoy8rlQWPLmWgFvo1yNgjSEFMesmS4R6pPr7xog==";
-      };
-    };
     "graphql-14.7.0" = {
       name = "graphql";
       packageName = "graphql";
@@ -32715,31 +33156,13 @@ let
         sha512 = "MBY0wEjvcgJtZUyoqpPvOE1e5qPI0hJaa1gKTqjonSFiCsNHX2lykNjpOPcodmAgH1V06ELxhGnm9kcVzqvi/g==";
       };
     };
-    "graphql-config-4.3.1" = {
+    "graphql-config-4.3.3" = {
       name = "graphql-config";
       packageName = "graphql-config";
-      version = "4.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-config/-/graphql-config-4.3.1.tgz";
-        sha512 = "czBWzJSGaLJfOHBLuUTZVRTjfgohPfvlaeN1B5nXBVptFARpiFuS7iI4FnRhCGwm6qt1h2j1g05nkg0OIGA6bg==";
-      };
-    };
-    "graphql-executor-0.0.23" = {
-      name = "graphql-executor";
-      packageName = "graphql-executor";
-      version = "0.0.23";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-executor/-/graphql-executor-0.0.23.tgz";
-        sha512 = "3Ivlyfjaw3BWmGtUSnMpP/a4dcXCp0mJtj0PiPG14OKUizaMKlSEX+LX2Qed0LrxwniIwvU6B4w/koVjEPyWJg==";
-      };
-    };
-    "graphql-extensions-0.15.0" = {
-      name = "graphql-extensions";
-      packageName = "graphql-extensions";
-      version = "0.15.0";
+      version = "4.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.15.0.tgz";
-        sha512 = "bVddVO8YFJPwuACn+3pgmrEg6I8iBuYLuwvxiE+lcQQ7POotVZxm2rgGw0PvVYmWWf3DT7nTVDZ5ROh/ALp8mA==";
+        url = "https://registry.npmjs.org/graphql-config/-/graphql-config-4.3.3.tgz";
+        sha512 = "ju2LAbOk6GLp+8JY7mh3CrEe0iEj2AdImNKv58G0DyISBo72kDEJYNJ07hKmkHdIzhDsSHiVzaCVIyBU2LCUug==";
       };
     };
     "graphql-language-service-5.0.6" = {
@@ -32769,13 +33192,13 @@ let
         sha512 = "duDE+0aeKLFVrb9Kf28U84ZEHhHcvTjWIT6dJbIAQJWBaDoht0D4BK9EIhd94I3DtKRc1JCJb2+70y1lvP/hiA==";
       };
     };
-    "graphql-language-service-server-2.7.27" = {
+    "graphql-language-service-server-2.8.0" = {
       name = "graphql-language-service-server";
       packageName = "graphql-language-service-server";
-      version = "2.7.27";
+      version = "2.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-language-service-server/-/graphql-language-service-server-2.7.27.tgz";
-        sha512 = "ogHYC4xrOx6cTmJ7M0e/JbNljjP5kRGzof8aIzGrnOxPA53qG9XqUJEu8kKiEhiVh+AkUt2/mpr733xJcjP5kw==";
+        url = "https://registry.npmjs.org/graphql-language-service-server/-/graphql-language-service-server-2.8.0.tgz";
+        sha512 = "2f+LpDbQsqyycYgC8aWMZwHda3j6gvCiCzaJL1eSwrcSBY7mCCR6aa8fBYlp0hZm7lpOxVrCxdA4KtjK0SpKKw==";
       };
     };
     "graphql-language-service-types-1.8.7" = {
@@ -32832,24 +33255,6 @@ let
         sha512 = "FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==";
       };
     };
-    "graphql-tools-3.0.0" = {
-      name = "graphql-tools";
-      packageName = "graphql-tools";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-tools/-/graphql-tools-3.0.0.tgz";
-        sha512 = "orcLQm0pc6dcIvFyAudgmno/akZy07bbMalTv5dj6B8uW2ZPmwIANr7pDEJoiumb67h2kZjsU9yvgTwmF0kMPQ==";
-      };
-    };
-    "graphql-tools-4.0.8" = {
-      name = "graphql-tools";
-      packageName = "graphql-tools";
-      version = "4.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-tools/-/graphql-tools-4.0.8.tgz";
-        sha512 = "MW+ioleBrwhRjalKjYaLQbr+920pHBgy9vM/n47sswtns8+96sRn5M/G+J1eu7IMeKWiN/9p6tmwCHU7552VJg==";
-      };
-    };
     "graphql-type-json-0.3.2" = {
       name = "graphql-type-json";
       packageName = "graphql-type-json";
@@ -32868,13 +33273,13 @@ let
         sha512 = "sHkK9+lUm20/BGawNEWNtVAeJzhZeBg21VmvmLoT5NdGVeZWv5PdIhkcayQIAgjSyyQ17WMKmbDijIPG2On+Ag==";
       };
     };
-    "graphql-ws-5.9.0" = {
+    "graphql-ws-5.9.1" = {
       name = "graphql-ws";
       packageName = "graphql-ws";
-      version = "5.9.0";
+      version = "5.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-ws/-/graphql-ws-5.9.0.tgz";
-        sha512 = "CXv0l0nI1bgChwl4Rm+BqNOAKwL/C9T2N8RfmTkhQ38YLFdUXCi2WNW4oFp8BJP+t75nCLzjHHgR04sP1oF02w==";
+        url = "https://registry.npmjs.org/graphql-ws/-/graphql-ws-5.9.1.tgz";
+        sha512 = "mL/SWGBwIT9Meq0NlfS55yXXTOeWPMbK7bZBEZhFu46bcGk1coTx2Sdtzxdk+9yHWngD+Fk1PZDWaAutQa9tpw==";
       };
     };
     "gray-matter-4.0.3" = {
@@ -32958,6 +33363,15 @@ let
         sha512 = "gkvEKREW7dXWF8NV8pVrKfW7WqReAmjjkMBh6lNCCGOM4ucS0r0YyXXl0r/9Yj8wcW/32ISkfc8h5mPTDbtifQ==";
       };
     };
+    "gtoken-6.1.0" = {
+      name = "gtoken";
+      packageName = "gtoken";
+      version = "6.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gtoken/-/gtoken-6.1.0.tgz";
+        sha512 = "WPZcFw34wh2LUvbCUWI70GDhOlO7qHpSvFHFqq7d3Wvsf8dIJedE0lnUdOmsKuC0NgflKmF0LxIF38vsGeHHiQ==";
+      };
+    };
     "guard-timeout-2.0.0" = {
       name = "guard-timeout";
       packageName = "guard-timeout";
@@ -33408,6 +33822,15 @@ let
         sha512 = "UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==";
       };
     };
+    "has-yarn-3.0.0" = {
+      name = "has-yarn";
+      packageName = "has-yarn";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz";
+        sha512 = "IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==";
+      };
+    };
     "hasbin-1.2.3" = {
       name = "hasbin";
       packageName = "hasbin";
@@ -33939,15 +34362,6 @@ let
         sha512 = "+ADn1uO85HwKnhziJlTm4cvrwFv60TlFqyos75ikfE9kq4RNrLcf+uVmEePT/4d/gh9TxKmwTfpVN9fpKyJKJA==";
       };
     };
-    "history-5.3.0" = {
-      name = "history";
-      packageName = "history";
-      version = "5.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/history/-/history-5.3.0.tgz";
-        sha512 = "ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==";
-      };
-    };
     "hls.js-1.1.2" = {
       name = "hls.js";
       packageName = "hls.js";
@@ -34110,6 +34524,15 @@ let
         sha512 = "ePqFXHtSQWAFXYmj+JtOTHr84iNrII4/QRlAAPPE+zqnKy4xJo7Ie1Y4kC7AdB+LxLxSTTzBMASsEcy0q8YyvQ==";
       };
     };
+    "hpagent-1.0.0" = {
+      name = "hpagent";
+      packageName = "hpagent";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hpagent/-/hpagent-1.0.0.tgz";
+        sha512 = "SCleE2Uc1bM752ymxg8QXYGW0TWtAV4ZW3TqH1aOnyi6T6YW2xadCcclm5qeVjvMvfQ2RKNtZxO7uVb9CTPt1A==";
+      };
+    };
     "hrpc-2.2.0" = {
       name = "hrpc";
       packageName = "hrpc";
@@ -34524,13 +34947,13 @@ let
         sha512 = "u8u5ZaG0Tr/VvHlucK2ufMuOp4/5bvwgneXle+y228K5rMbJOlVjThONcaAw3ikAy8b2OO9RfEucdMHFz3UWMA==";
       };
     };
-    "http-parser-js-0.5.6" = {
+    "http-parser-js-0.5.8" = {
       name = "http-parser-js";
       packageName = "http-parser-js";
-      version = "0.5.6";
+      version = "0.5.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.6.tgz";
-        sha512 = "vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA==";
+        url = "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz";
+        sha512 = "SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==";
       };
     };
     "http-proxy-1.18.1" = {
@@ -34659,6 +35082,15 @@ let
         sha512 = "V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==";
       };
     };
+    "http2-wrapper-2.1.11" = {
+      name = "http2-wrapper";
+      packageName = "http2-wrapper";
+      version = "2.1.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.1.11.tgz";
+        sha512 = "aNAk5JzLturWEUiuhAN73Jcbq96R7rTitAoXV54FYMatvihnpD2+6PUgU4ce3D/m5VDbw+F5CsyKSF176ptitQ==";
+      };
+    };
     "http_ece-1.1.0" = {
       name = "http_ece";
       packageName = "http_ece";
@@ -35019,13 +35451,13 @@ let
         sha512 = "FYz4wlXgkQwIPqhzC5TdNMLSE5+GS1IIDJZY/1ZiEPCT2S3COUVZeT5OW4BmW4r5LHLQuOosSwsvnroG9GR59Q==";
       };
     };
-    "i18next-21.6.11" = {
+    "i18next-21.8.14" = {
       name = "i18next";
       packageName = "i18next";
-      version = "21.6.11";
+      version = "21.8.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/i18next/-/i18next-21.6.11.tgz";
-        sha512 = "tJ2+o0lVO+fhi8bPkCpBAeY1SgkqmQm5NzgPWCQssBrywJw98/o+Kombhty5nxQOpHtvMmsxcOopczUiH6bJxQ==";
+        url = "https://registry.npmjs.org/i18next/-/i18next-21.8.14.tgz";
+        sha512 = "4Yi+DtexvMm/Yw3Q9fllzY12SgLk+Mcmar+rCAccsOPul/2UmnBzoHbTGn/L48IPkFcmrNaH7xTLboBWIbH6pw==";
       };
     };
     "iconv-lite-0.4.19" = {
@@ -35235,6 +35667,15 @@ let
         sha512 = "VAwkvNSNGClRw9mDHhc5Efax8PLlsOGcUTh0T/LIriC8vPA3U5PdqXWqkz406MoYHMKW8Uf9gWr05T/rYB44kQ==";
       };
     };
+    "image-size-1.0.2" = {
+      name = "image-size";
+      packageName = "image-size";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz";
+        sha512 = "xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==";
+      };
+    };
     "image-type-3.1.0" = {
       name = "image-type";
       packageName = "image-type";
@@ -35676,6 +36117,15 @@ let
         sha512 = "u1uGAtEFu3VA6HNl/yUWw57jmKEMx8SKOxHhxjGnOFUiIlFnohKDFg4ZrPpv9wWqk44nDxGJAtqjdQFm+9XXQA==";
       };
     };
+    "init-package-json-3.0.2" = {
+      name = "init-package-json";
+      packageName = "init-package-json";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/init-package-json/-/init-package-json-3.0.2.tgz";
+        sha512 = "YhlQPEjNFqlGdzrBfDNRLhvoSgX7iQRgSxgsNknRQ9ITXFT7UMfVMWhBTOh2Y+25lRnGrv5Xz8yZwQ3ACR6T3A==";
+      };
+    };
     "ink-2.7.1" = {
       name = "ink";
       packageName = "ink";
@@ -35829,22 +36279,22 @@ let
         sha512 = "ON8pEJPPCdyjxj+cxsYRe6XfCJepTxANdNnTebsTuQgXpRyZRRT9t4dJwjRubgmvn20CLSEnozRUayXyM9VTXA==";
       };
     };
-    "inquirer-8.2.0" = {
+    "inquirer-8.2.4" = {
       name = "inquirer";
       packageName = "inquirer";
-      version = "8.2.0";
+      version = "8.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/inquirer/-/inquirer-8.2.0.tgz";
-        sha512 = "0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==";
+        url = "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz";
+        sha512 = "nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==";
       };
     };
-    "inquirer-8.2.4" = {
+    "inquirer-9.0.2" = {
       name = "inquirer";
       packageName = "inquirer";
-      version = "8.2.4";
+      version = "9.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz";
-        sha512 = "nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==";
+        url = "https://registry.npmjs.org/inquirer/-/inquirer-9.0.2.tgz";
+        sha512 = "AqmDHmz3bIe573OiM4svTZzajBzff1xpuzYAimW8gjzW5ncuPllWB8t/GKl+NSuKRJaKyIF2bU2RCx8H1dwqyQ==";
       };
     };
     "inquirer-autocomplete-prompt-1.4.0" = {
@@ -36189,13 +36639,22 @@ let
         sha512 = "2kpjok/83zOTnb4tbV+RbJz7LuGVzj/GZ+jwsC7FxMqwLAf4Sf6OESNM3uuamX9oeFRo44Vip3wn1aX+9D2m8w==";
       };
     };
-    "io-ts-2.2.16" = {
+    "invoices-2.1.0" = {
+      name = "invoices";
+      packageName = "invoices";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/invoices/-/invoices-2.1.0.tgz";
+        sha512 = "BHuiGsGVwp1gPzbVYZ3EyPQcD+0+4ZC8ykSzSXiKYytNUxW7Ro6f8iVCVpRindhmn7QCZSjRcfSdlJSykr6U+A==";
+      };
+    };
+    "io-ts-2.2.17" = {
       name = "io-ts";
       packageName = "io-ts";
-      version = "2.2.16";
+      version = "2.2.17";
       src = fetchurl {
-        url = "https://registry.npmjs.org/io-ts/-/io-ts-2.2.16.tgz";
-        sha512 = "y5TTSa6VP6le0hhmIyN0dqEXkrZeJLeC5KApJq6VLci3UEKF80lZ+KuoUs02RhBxNWlrqSNxzfI7otLX1Euv8Q==";
+        url = "https://registry.npmjs.org/io-ts/-/io-ts-2.2.17.tgz";
+        sha512 = "RkQY06h6rRyADVEI46OCAUYTP2p18Vdtz9Movi19Mmj7SJ1NhN/yGyW7CxlcBVxh95WKg2YSbTmcUPqqeLuhXw==";
       };
     };
     "iota-array-1.0.0" = {
@@ -36216,6 +36675,15 @@ let
         sha512 = "PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==";
       };
     };
+    "ip-2.0.0" = {
+      name = "ip";
+      packageName = "ip";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz";
+        sha512 = "WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==";
+      };
+    };
     "ip-address-6.1.0" = {
       name = "ip-address";
       packageName = "ip-address";
@@ -36639,6 +37107,15 @@ let
         sha512 = "YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==";
       };
     };
+    "is-ci-3.0.1" = {
+      name = "is-ci";
+      packageName = "is-ci";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz";
+        sha512 = "ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==";
+      };
+    };
     "is-color-stop-1.1.0" = {
       name = "is-color-stop";
       packageName = "is-color-stop";
@@ -37206,6 +37683,15 @@ let
         sha512 = "WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==";
       };
     };
+    "is-npm-6.0.0" = {
+      name = "is-npm";
+      packageName = "is-npm";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz";
+        sha512 = "JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==";
+      };
+    };
     "is-number-2.1.0" = {
       name = "is-number";
       packageName = "is-number";
@@ -37440,6 +37926,15 @@ let
         sha512 = "vjc0SSRNZ32s9SbZBzGaiP6YVB+xglLShhgZD/FHMZUXBvQWaV9CtzgeVhjccFJrI6RAMV+LX7NYxueW/A8W5A==";
       };
     };
+    "is-port-reachable-4.0.0" = {
+      name = "is-port-reachable";
+      packageName = "is-port-reachable";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-4.0.0.tgz";
+        sha512 = "9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==";
+      };
+    };
     "is-posix-bracket-0.1.1" = {
       name = "is-posix-bracket";
       packageName = "is-posix-bracket";
@@ -37647,13 +38142,13 @@ let
         sha512 = "sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==";
       };
     };
-    "is-ssh-1.3.3" = {
+    "is-ssh-1.4.0" = {
       name = "is-ssh";
       packageName = "is-ssh";
-      version = "1.3.3";
+      version = "1.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.3.tgz";
-        sha512 = "NKzJmQzJfEEma3w5cJNcUMxoXfDjz0Zj0eyCalHn2E6VOwlzjZo0yuO2fcBSf8zhFuVCL/82/r5gRcoi6aEPVQ==";
+        url = "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz";
+        sha512 = "x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==";
       };
     };
     "is-stream-1.1.0" = {
@@ -37935,6 +38430,15 @@ let
         sha512 = "VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==";
       };
     };
+    "is-yarn-global-0.4.0" = {
+      name = "is-yarn-global";
+      packageName = "is-yarn-global";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.0.tgz";
+        sha512 = "HneQBCrXGBy15QnaDfcn6OLoU8AQPAa0Qn0IeJR/QCo4E8dNZaGGwxpCwWyEBQC5QvFonP8d6t60iGpAHVAfNA==";
+      };
+    };
     "is2-0.0.9" = {
       name = "is2";
       packageName = "is2";
@@ -38106,6 +38610,15 @@ let
         sha512 = "BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==";
       };
     };
+    "isomorphic-ws-5.0.0" = {
+      name = "isomorphic-ws";
+      packageName = "isomorphic-ws";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz";
+        sha512 = "muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==";
+      };
+    };
     "isstream-0.1.2" = {
       name = "isstream";
       packageName = "isstream";
@@ -38151,15 +38664,6 @@ let
         sha512 = "Cu/kb+4HiNSejAPhSaN1VukdNTTi/r4/e+yykqjlG/IW+1gZH5b4+Bq3whDX4tvbYugta3r8KTMUiqT3fIGxuQ==";
       };
     };
-    "iterall-1.2.2" = {
-      name = "iterall";
-      packageName = "iterall";
-      version = "1.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/iterall/-/iterall-1.2.2.tgz";
-        sha512 = "yynBb1g+RFUPY64fTrFv7nsjRrENBQJaX2UL+2Szc9REFrSNm1rpSXHGzhmAy7a9uv3vlvgBlXnf9RqmPH1/DA==";
-      };
-    };
     "iterall-1.3.0" = {
       name = "iterall";
       packageName = "iterall";
@@ -38449,22 +38953,22 @@ let
         sha512 = "JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==";
       };
     };
-    "jquery-ui-1.13.1" = {
+    "jquery-ui-1.13.2" = {
       name = "jquery-ui";
       packageName = "jquery-ui";
-      version = "1.13.1";
+      version = "1.13.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jquery-ui/-/jquery-ui-1.13.1.tgz";
-        sha512 = "2VlU59N5P4HaumDK1Z3XEVjSvegFbEOQRgpHUBaB2Ak98Axl3hFhJ6RFcNQNuk9SfL6WxIbuLst8dW/U56NSiA==";
+        url = "https://registry.npmjs.org/jquery-ui/-/jquery-ui-1.13.2.tgz";
+        sha512 = "wBZPnqWs5GaYJmo1Jj0k/mrSkzdQzKDwhXNtHKcBdAcKVxMM3KNYFq+iJ2i1rwiG53Z8M4mTn3Qxrm17uH1D4Q==";
       };
     };
-    "jquery.terminal-2.33.3" = {
+    "jquery.terminal-2.34.0" = {
       name = "jquery.terminal";
       packageName = "jquery.terminal";
-      version = "2.33.3";
+      version = "2.34.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jquery.terminal/-/jquery.terminal-2.33.3.tgz";
-        sha512 = "FlqCWmMaygQZ1BbX3TswsMWH1Zh11o0s9brGG3Kwsc+Hav4KxrHyiZF7QJ2kE48DqTxb6fpdRn9g7olqp1XosQ==";
+        url = "https://registry.npmjs.org/jquery.terminal/-/jquery.terminal-2.34.0.tgz";
+        sha512 = "sU22Qzb+tkOSwQiHc2fvhgrYE69/0DzGgMgmOgCHMEpTh3MpXENv2j8RWhXd8K+xZG/+Cltst4joGt4MsyT+7g==";
       };
     };
     "js-base64-2.6.3" = {
@@ -38710,13 +39214,13 @@ let
         sha512 = "SdRK2C7jjs4k/kT2mwtO07KJN9RnjxtKn03d9JVj6c3j9WwaLcFYsICYDnLAzY0hp+wG2nxl+Cm2jWLiNVYb8g==";
       };
     };
-    "jsdoc-3.6.10" = {
+    "jsdoc-3.6.11" = {
       name = "jsdoc";
       packageName = "jsdoc";
-      version = "3.6.10";
+      version = "3.6.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.10.tgz";
-        sha512 = "IdQ8ppSo5LKZ9o3M+LKIIK8i00DIe5msDvG3G81Km+1dhy0XrOWD0Ji8H61ElgyEj/O9KRLokgKbAM9XX9CJAg==";
+        url = "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.11.tgz";
+        sha512 = "8UCU0TYeIYD9KeLzEcAu2q8N/mx9O3phAGl32nmHlE0LpaJL71mMkP4d+QE5zWfNt50qheHtOZ0qoxVrsX5TUg==";
       };
     };
     "jsdom-14.1.0" = {
@@ -38791,49 +39295,49 @@ let
         sha512 = "xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==";
       };
     };
-    "jsii-1.61.0" = {
+    "jsii-1.63.2" = {
       name = "jsii";
       packageName = "jsii";
-      version = "1.61.0";
+      version = "1.63.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii/-/jsii-1.61.0.tgz";
-        sha512 = "haGNRe3k0bhTqUKjMQ/ZBq9H3BR7gB88+wSdvCzQ9IIN6XJNeTB9SvB5ry9XIwn6qk8THF7LXtaLga9Nzz+gFA==";
+        url = "https://registry.npmjs.org/jsii/-/jsii-1.63.2.tgz";
+        sha512 = "KHnsuTm4ErLiB4JNvPi/TzJuIXeqkMim95Qs9KG5M8tfDd/GHlsotwxNx9qfG2R7DdAWrH0MG+kd1wKIAl+GFw==";
       };
     };
-    "jsii-pacmak-1.61.0" = {
+    "jsii-pacmak-1.63.2" = {
       name = "jsii-pacmak";
       packageName = "jsii-pacmak";
-      version = "1.61.0";
+      version = "1.63.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-pacmak/-/jsii-pacmak-1.61.0.tgz";
-        sha512 = "XFrUx19TZcP+NBO29P5Q/fegRURXs4UaH8l2+/OITn1PXGOhEq/eCA6TDpdrLXtyt6ebkrLemsrDd0ZW4d0Qvg==";
+        url = "https://registry.npmjs.org/jsii-pacmak/-/jsii-pacmak-1.63.2.tgz";
+        sha512 = "pIHkmLXlLqaTdKW7ALzRrBXRkQayA5kQ8rAvbXu50C1UDPV0CIZuXftC1BeHgRqfQNmGluX0PsTcF0jF2zyfBw==";
       };
     };
-    "jsii-reflect-1.61.0" = {
+    "jsii-reflect-1.63.2" = {
       name = "jsii-reflect";
       packageName = "jsii-reflect";
-      version = "1.61.0";
+      version = "1.63.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-reflect/-/jsii-reflect-1.61.0.tgz";
-        sha512 = "nqBylNBqJJoTJR9TpywW5i55zaOWlNxJTHSWyVYJnrp5ZuYI2R0+nMUxux1hT0Zbd77KbRHXeSByW1aQ6Mfi/A==";
+        url = "https://registry.npmjs.org/jsii-reflect/-/jsii-reflect-1.63.2.tgz";
+        sha512 = "eawNN/ySYVznYY2ZJYe5FNcSly12KgC8/MBDl4qln3daag3Ts/d7ocfbS9sjFayn4AhBojq1h1DDs8sjoG38Kg==";
       };
     };
-    "jsii-rosetta-1.61.0" = {
+    "jsii-rosetta-1.63.2" = {
       name = "jsii-rosetta";
       packageName = "jsii-rosetta";
-      version = "1.61.0";
+      version = "1.63.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-1.61.0.tgz";
-        sha512 = "n8y3er0nOchLo17Wh0/yVmCDGNuwlhccp/Liwvl0ewf0hYMC5vICjWTIdCetsRoQQIOuc4pOmMNomldTTlPUUw==";
+        url = "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-1.63.2.tgz";
+        sha512 = "cBl8uAtNYuWqrwGue2Sr7cdgPhWx/QiAAE70lDec0OtBSNdGq0MUA04GD1/peQw4LPhE+1ikdeyspJYJaTtQgg==";
       };
     };
-    "jsii-srcmak-0.1.595" = {
+    "jsii-srcmak-0.1.637" = {
       name = "jsii-srcmak";
       packageName = "jsii-srcmak";
-      version = "0.1.595";
+      version = "0.1.637";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-srcmak/-/jsii-srcmak-0.1.595.tgz";
-        sha512 = "iGxXjTZtW1GzSwG3VjEqa0upXloywbdIPPoUuIQSvFa+U3AWedCX1wkhHovAQ6ETRkS7dGJQ7t0l3eRc2Tm+xg==";
+        url = "https://registry.npmjs.org/jsii-srcmak/-/jsii-srcmak-0.1.637.tgz";
+        sha512 = "KcCBjFEHu7MZQasQH81ULcLrUd9QsbdtOYRyotmY1Jx4xUsh1hB33kDJuqHnMDwdjR9KYr1mwg7CQaIqka29Sw==";
       };
     };
     "json-bigint-1.0.0" = {
@@ -38935,13 +39439,13 @@ let
         sha512 = "tFH40YQ+lG7mgYYM1kGZOhQngO4SbOEHZJlA4W+NtetWZ20EUU3BPU+30uWRKumuAJoSo5eqrsXD2h72ioS8ew==";
       };
     };
-    "json-ptr-3.1.0" = {
+    "json-ptr-3.1.1" = {
       name = "json-ptr";
       packageName = "json-ptr";
-      version = "3.1.0";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json-ptr/-/json-ptr-3.1.0.tgz";
-        sha512 = "KMsG905wFbHHTnvd66MHCNo0E43UPalKt2zQUbBtWrDYKk/3vE/4u8lfWDdIyPEoMXxOFJO1lsBs6xPBXKxeVw==";
+        url = "https://registry.npmjs.org/json-ptr/-/json-ptr-3.1.1.tgz";
+        sha512 = "SiSJQ805W1sDUCD1+/t1/1BIrveq2Fe9HJqENxZmMCILmrPI7WhS/pePpIOx85v6/H2z1Vy7AI08GV2TzfXocg==";
       };
     };
     "json-refs-2.1.7" = {
@@ -39025,6 +39529,15 @@ let
         sha512 = "qcP2lmGy+JUoQJ4DOQeLaZDqH9qSkeGCK3suKWxJXS82dg728Mn3j97azDMaOUmJAN4uCq91LdPx4K7E8F1a7Q==";
       };
     };
+    "json-schema-to-ts-1.6.4" = {
+      name = "json-schema-to-ts";
+      packageName = "json-schema-to-ts";
+      version = "1.6.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-schema-to-ts/-/json-schema-to-ts-1.6.4.tgz";
+        sha512 = "pR4yQ9DHz6itqswtHCm26mw45FSNfQ9rEQjosaZErhn5J3J2sIViQiz8rDaezjKAhFGpmsoczYVBgGHzFw/stA==";
+      };
+    };
     "json-schema-to-typescript-9.1.1" = {
       name = "json-schema-to-typescript";
       packageName = "json-schema-to-typescript";
@@ -39142,13 +39655,13 @@ let
         sha512 = "YRZbUnyaJZLZUJSRi2G/MqahCyRv9n/ds+4oIetjDF3jWQA7AG7iSeKTiZiCNqtMZM7HDyt0e/W6lEnoGEmMGA==";
       };
     };
-    "json2jsii-0.3.45" = {
+    "json2jsii-0.3.86" = {
       name = "json2jsii";
       packageName = "json2jsii";
-      version = "0.3.45";
+      version = "0.3.86";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json2jsii/-/json2jsii-0.3.45.tgz";
-        sha512 = "bpxMmmikd3LzjZ0NG2kv0ie6q+gn5B6NpGYJNMgy3g+ny4p3d8YgYeav5oSdSsZd3dOk1qIPmpjI04/9Dx+neQ==";
+        url = "https://registry.npmjs.org/json2jsii/-/json2jsii-0.3.86.tgz";
+        sha512 = "x+ZVcvJoYJKkFTzBBposg27YNXQT3fIlF37TPkT4Mhxu1kxzjyo+sJVHOm8Hd77+vP/kMQeAQlElB60LnCUezg==";
       };
     };
     "json3-3.2.6" = {
@@ -39241,6 +39754,15 @@ let
         sha512 = "fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==";
       };
     };
+    "jsonc-parser-3.1.0" = {
+      name = "jsonc-parser";
+      packageName = "jsonc-parser";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz";
+        sha512 = "DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==";
+      };
+    };
     "jsonfile-1.0.1" = {
       name = "jsonfile";
       packageName = "jsonfile";
@@ -39358,13 +39880,13 @@ let
         sha512 = "e0Jtg4KAzDJKKwzbLaUtinCn0RZseWBVRTRGihSpvFlM3wTR7ExSp+PTdeTsDrLNJUe7L7JYJe8mblHX5SCT6A==";
       };
     };
-    "jsonpointer-5.0.0" = {
+    "jsonpointer-5.0.1" = {
       name = "jsonpointer";
       packageName = "jsonpointer";
-      version = "5.0.0";
+      version = "5.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.0.tgz";
-        sha512 = "PNYZIdMjVIvVgDSYKTT63Y+KZ6IZvGRNNWcxwD+GNnUz1MKPfv30J8ueCjdwcN0nDx2SlshgyB7Oy0epAzVRRg==";
+        url = "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz";
+        sha512 = "p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==";
       };
     };
     "jsonrpc2-ws-1.0.0-beta9" = {
@@ -39484,13 +40006,13 @@ let
         sha512 = "E9uALZSe3M3jiq9Mza+wTlT44Yyh/s3D5XWUeJgH3vyzB05KFQz8Tv2I9do3BbRY/S5SDxFMkxB6fCGj+MA2rg==";
       };
     };
-    "jszip-3.10.0" = {
+    "jszip-3.10.1" = {
       name = "jszip";
       packageName = "jszip";
-      version = "3.10.0";
+      version = "3.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jszip/-/jszip-3.10.0.tgz";
-        sha512 = "LDfVtOLtOxb9RXkYOwPyNBTQDL4eUbqahtoY6x07GiDJHwSYvn8sHHIw8wINImV3MqbMNve2gSuM1DDqEKk09Q==";
+        url = "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz";
+        sha512 = "xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==";
       };
     };
     "junk-3.1.0" = {
@@ -39799,13 +40321,13 @@ let
         sha512 = "9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==";
       };
     };
-    "keyv-4.3.1" = {
+    "keyv-4.3.3" = {
       name = "keyv";
       packageName = "keyv";
-      version = "4.3.1";
+      version = "4.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/keyv/-/keyv-4.3.1.tgz";
-        sha512 = "nwP7AQOxFzELXsNq3zCx/oh81zu4DHWwCE6W9RaeHb7OHO0JpmKS8n801ovVQC7PTsZDWtPA5j1QY+/WWtARYg==";
+        url = "https://registry.npmjs.org/keyv/-/keyv-4.3.3.tgz";
+        sha512 = "AcysI17RvakTh8ir03+a3zJr5r0ovnAH/XTXei/4HIv3bL2K/jzvgivLK9UuI/JbU1aJjM3NSAnVvVVd3n+4DQ==";
       };
     };
     "khroma-1.4.1" = {
@@ -39817,15 +40339,6 @@ let
         sha512 = "+GmxKvmiRuCcUYDgR7g5Ngo0JEDeOsGdNONdU2zsiBQaK4z19Y2NvXqfEDE0ZiIrg45GTZyAnPLVsLZZACYm3Q==";
       };
     };
-    "khroma-2.0.0" = {
-      name = "khroma";
-      packageName = "khroma";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/khroma/-/khroma-2.0.0.tgz";
-        sha512 = "2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g==";
-      };
-    };
     "killable-1.0.1" = {
       name = "killable";
       packageName = "killable";
@@ -39889,13 +40402,13 @@ let
         sha512 = "TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==";
       };
     };
-    "klaw-4.0.1" = {
+    "klaw-3.0.0" = {
       name = "klaw";
       packageName = "klaw";
-      version = "4.0.1";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/klaw/-/klaw-4.0.1.tgz";
-        sha512 = "pgsE40/SvC7st04AHiISNewaIMUbY5V/K8b21ekiPiFoYs/EYSdsGa+FJArB1d441uq4Q8zZyIxvAzkGNlBdRw==";
+        url = "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz";
+        sha512 = "0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==";
       };
     };
     "klaw-sync-6.0.0" = {
@@ -39916,13 +40429,13 @@ let
         sha512 = "eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==";
       };
     };
-    "kleur-4.1.4" = {
+    "kleur-4.1.5" = {
       name = "kleur";
       packageName = "kleur";
-      version = "4.1.4";
+      version = "4.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz";
-        sha512 = "8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==";
+        url = "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz";
+        sha512 = "o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==";
       };
     };
     "klona-2.0.5" = {
@@ -40177,13 +40690,13 @@ let
         sha512 = "weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==";
       };
     };
-    "latest-version-6.0.0" = {
+    "latest-version-7.0.0" = {
       name = "latest-version";
       packageName = "latest-version";
-      version = "6.0.0";
+      version = "7.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/latest-version/-/latest-version-6.0.0.tgz";
-        sha512 = "zfTuGx4PwpoSJ1mABs58AkM6qMzu49LZ7LT5JHprKvpGpQ+cYtfSibi3tLLrH4z7UylYU42rfBdwN8YgqbTljA==";
+        url = "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz";
+        sha512 = "KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==";
       };
     };
     "launch-editor-2.4.0" = {
@@ -40591,13 +41104,13 @@ let
         sha512 = "DbiwHL8454goYRp5Xn9vUA5XU6x8rNh8BmZ7ywSTUhVBIiDS7ev/FT6+AwU2/ZKW2jEOC7WKhpkJfExaQwosRA==";
       };
     };
-    "libnpmaccess-4.0.3" = {
+    "libnpmaccess-6.0.3" = {
       name = "libnpmaccess";
       packageName = "libnpmaccess";
-      version = "4.0.3";
+      version = "6.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-4.0.3.tgz";
-        sha512 = "sPeTSNImksm8O2b6/pf3ikv4N567ERYEpeKRPSmqlNt1dTZbvgpJIzg5vAhXHpw2ISBsELFRelk0jEahj1c6nQ==";
+        url = "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-6.0.3.tgz";
+        sha512 = "4tkfUZprwvih2VUZYMozL7EMKgQ5q9VW2NtRyxWtQWlkLTAWHRklcAvBN49CVqEkhUw7vTX2fNgB5LzgUucgYg==";
       };
     };
     "libnpmconfig-1.2.1" = {
@@ -40609,13 +41122,13 @@ let
         sha512 = "9esX8rTQAHqarx6qeZqmGQKBNZR5OIbl/Ayr0qQDy3oXja2iFVQQI81R6GZ2a02bSNZ9p3YOGX1O6HHCb1X7kA==";
       };
     };
-    "libnpmpublish-4.0.2" = {
+    "libnpmpublish-6.0.4" = {
       name = "libnpmpublish";
       packageName = "libnpmpublish";
-      version = "4.0.2";
+      version = "6.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/libnpmpublish/-/libnpmpublish-4.0.2.tgz";
-        sha512 = "+AD7A2zbVeGRCFI2aO//oUmapCwy7GHqPXFJh3qpToSRNU+tXKJ2YFUgjt04LPPAf2dlEH95s6EhIHM1J7bmOw==";
+        url = "https://registry.npmjs.org/libnpmpublish/-/libnpmpublish-6.0.4.tgz";
+        sha512 = "lvAEYW8mB8QblL6Q/PI/wMzKNvIrF7Kpujf/4fGS/32a2i3jzUXi04TNyIBcK6dQJ34IgywfaKGh+Jq4HYPFmg==";
       };
     };
     "libsodium-0.7.10" = {
@@ -40717,13 +41230,13 @@ let
         sha512 = "ghban3KbqkbzahwIp4NAtuhc8xIurVcCXAd7tV6qGkFYKZAy9loIvFrhZqoWF4A4jnaKbRnJPCaxzJ8JwPl3EA==";
       };
     };
-    "lilconfig-2.0.5" = {
+    "lilconfig-2.0.6" = {
       name = "lilconfig";
       packageName = "lilconfig";
-      version = "2.0.5";
+      version = "2.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz";
-        sha512 = "xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==";
+        url = "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz";
+        sha512 = "9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==";
       };
     };
     "limit-spawn-0.0.3" = {
@@ -40825,6 +41338,15 @@ let
         sha512 = "ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==";
       };
     };
+    "linkify-it-4.0.1" = {
+      name = "linkify-it";
+      packageName = "linkify-it";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.1.tgz";
+        sha512 = "C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==";
+      };
+    };
     "listenercount-1.0.1" = {
       name = "listenercount";
       packageName = "listenercount";
@@ -40888,13 +41410,13 @@ let
         sha512 = "q7Z71n3i4X0R9xthAryBdNGVGAO2R5X+/xXpmKeuPMrteg+W2U8VusTKV3YiJbXZwKsOlFlHe+go6uSNjfxrZw==";
       };
     };
-    "livereload-js-3.4.0" = {
+    "livereload-js-3.4.1" = {
       name = "livereload-js";
       packageName = "livereload-js";
-      version = "3.4.0";
+      version = "3.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/livereload-js/-/livereload-js-3.4.0.tgz";
-        sha512 = "F/pz9ZZP+R+arY94cECTZco7PXgBXyL+KVWUPZq8AQE9TOu14GV6fYeKOviv02JCvFa4Oi3Rs1hYEpfeajc+ow==";
+        url = "https://registry.npmjs.org/livereload-js/-/livereload-js-3.4.1.tgz";
+        sha512 = "5MP0uUeVCec89ZbNOT/i97Mc+q3SxXmiUGhRFOTmhrGPn//uWVQdCvcLJDy64MSBR5MidFdOR7B9viumoavy6g==";
       };
     };
     "lmdb-2.5.2" = {
@@ -40906,6 +41428,15 @@ let
         sha512 = "V5V5Xa2Hp9i2XsbDALkBTeHXnBXh/lEmk9p22zdr7jtuOIY9TGhjK6vAvTpOOx9IKU4hJkRWZxn/HsvR1ELLtA==";
       };
     };
+    "lmdb-2.5.3" = {
+      name = "lmdb";
+      packageName = "lmdb";
+      version = "2.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lmdb/-/lmdb-2.5.3.tgz";
+        sha512 = "iBA0cb13CobBSoGJLfZgnrykLlfJipDAnvtf+YwIqqzBEsTeQYsXrHaSBkaHd5wCWeabwrNvhjZoFMUrlo+eLw==";
+      };
+    };
     "ln-accounting-5.0.7" = {
       name = "ln-accounting";
       packageName = "ln-accounting";
@@ -40942,6 +41473,15 @@ let
         sha512 = "Ulk35FIMF1E+iKgImlYVESWlf9eznhd/ZYw6qycQlcjp686QccKi6Otng8H49JSfc1/kj/ObOuFipP9mtil3Wg==";
       };
     };
+    "ln-service-53.17.4" = {
+      name = "ln-service";
+      packageName = "ln-service";
+      version = "53.17.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ln-service/-/ln-service-53.17.4.tgz";
+        sha512 = "/lyDSuovNrBub1oGLhWGWsre1q9YHRVroMyZ5wybcXhBTFgB/m1gEc7HK8VPzwtLVptd9OkRFwgCZSms0e4p4Q==";
+      };
+    };
     "ln-sync-3.12.1" = {
       name = "ln-sync";
       packageName = "ln-sync";
@@ -40969,13 +41509,22 @@ let
         sha512 = "f5s60wyijcp67gN86VuVSax1xtoc7djwiDLYWIsJPU7uro4F3n8sU76HI1xZxwNL8Q7mMbWEMm/SIeA7ds9yEw==";
       };
     };
-    "ln-telegram-3.22.2" = {
+    "ln-sync-3.13.1" = {
+      name = "ln-sync";
+      packageName = "ln-sync";
+      version = "3.13.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ln-sync/-/ln-sync-3.13.1.tgz";
+        sha512 = "pI3+sRUw9AwGZjinh4smev47EcQpbB9JrhdZsx5C7ES05TzLBA70f7ZQqVXr3U93BYqy+NyOTMoe+OQXGnUe7A==";
+      };
+    };
+    "ln-telegram-3.22.3" = {
       name = "ln-telegram";
       packageName = "ln-telegram";
-      version = "3.22.2";
+      version = "3.22.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ln-telegram/-/ln-telegram-3.22.2.tgz";
-        sha512 = "Vqnx7Pmgbn6ENX5b13P7pK02k29LcFFyOznFsbbI9WFjfmVHskJ6ymIuA7GX+oEy6XgyMA9/nDYh1BQhnPNcgA==";
+        url = "https://registry.npmjs.org/ln-telegram/-/ln-telegram-3.22.3.tgz";
+        sha512 = "3BUj+0awy2CiV3W/8yYjZLYukiMLMIfR7PiYVkCRxiphEe8y6ki2xkBSzyR70NTgBogI6Flp6e6dagXLf/Laog==";
       };
     };
     "load-bmfont-1.4.1" = {
@@ -42049,15 +42598,6 @@ let
         sha512 = "sTebg2a1PoicYEZXD5PBdQcTlIJ6hUslrlWr7iV0O7n+i4596s2NQ9I5CaZ5FbXSfya/9WQsrYLANUJv9paYVA==";
       };
     };
-    "lodash.isobject-3.0.2" = {
-      name = "lodash.isobject";
-      packageName = "lodash.isobject";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz";
-        sha512 = "3/Qptq2vr7WeJbB4KHUSKlq8Pl7ASXi3UG6CMbBm8WRtXi8+GHm7mKaU3urfpSEzWe2wCIChs6/sdocUsTKJiA==";
-      };
-    };
     "lodash.isplainobject-4.0.6" = {
       name = "lodash.isplainobject";
       packageName = "lodash.isplainobject";
@@ -42544,31 +43084,22 @@ let
         sha512 = "Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw==";
       };
     };
-    "log4js-6.5.2" = {
+    "log4js-6.6.1" = {
       name = "log4js";
       packageName = "log4js";
-      version = "6.5.2";
+      version = "6.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/log4js/-/log4js-6.5.2.tgz";
-        sha512 = "DXtpNtt+KDOMT7RHUDIur/WsSA3rntlUh9Zg4XCdV42wUuMmbFkl38+LZ92Z5QvQA7mD5kAVkLiBSEH/tvUB8A==";
+        url = "https://registry.npmjs.org/log4js/-/log4js-6.6.1.tgz";
+        sha512 = "J8VYFH2UQq/xucdNu71io4Fo+purYYudyErgBbswWKO0MC6QVOERRomt5su/z6d3RJSmLyTGmXl3Q/XjKCf+/A==";
       };
     };
-    "logform-2.4.0" = {
+    "logform-2.4.2" = {
       name = "logform";
       packageName = "logform";
-      version = "2.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/logform/-/logform-2.4.0.tgz";
-        sha512 = "CPSJw4ftjf517EhXZGGvTHHkYobo7ZCc0kvwUoOYcjfR2UVrI66RHj8MCrfAdEitdmFqbu2BYdYs8FHHZSb6iw==";
-      };
-    };
-    "logform-2.4.1" = {
-      name = "logform";
-      packageName = "logform";
-      version = "2.4.1";
+      version = "2.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/logform/-/logform-2.4.1.tgz";
-        sha512 = "7XB/tqc3VRbri9pRjU6E97mQ8vC27ivJ3lct4jhyT+n0JNDd4YKldFl0D75NqDp46hk8RC7Ma1Vjv/UPf67S+A==";
+        url = "https://registry.npmjs.org/logform/-/logform-2.4.2.tgz";
+        sha512 = "W4c9himeAwXEdZ05dQNerhFz2XG80P9Oj0loPUMV23VC2it0orMHQhJm4hdnnor3rd1HsGf6a2lPwBM1zeXHGw==";
       };
     };
     "logidrom-0.3.1" = {
@@ -42643,6 +43174,15 @@ let
         sha512 = "XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==";
       };
     };
+    "long-5.2.0" = {
+      name = "long";
+      packageName = "long";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/long/-/long-5.2.0.tgz";
+        sha512 = "9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==";
+      };
+    };
     "long-timeout-0.1.1" = {
       name = "long-timeout";
       packageName = "long-timeout";
@@ -42832,6 +43372,15 @@ let
         sha512 = "tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==";
       };
     };
+    "lowercase-keys-3.0.0" = {
+      name = "lowercase-keys";
+      packageName = "lowercase-keys";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz";
+        sha512 = "ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==";
+      };
+    };
     "lowlight-1.9.2" = {
       name = "lowlight";
       packageName = "lowlight";
@@ -42913,13 +43462,13 @@ let
         sha512 = "Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==";
       };
     };
-    "lru-cache-7.10.1" = {
+    "lru-cache-7.13.2" = {
       name = "lru-cache";
       packageName = "lru-cache";
-      version = "7.10.1";
+      version = "7.13.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.1.tgz";
-        sha512 = "BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A==";
+        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.2.tgz";
+        sha512 = "VJL3nIpA79TodY/ctmZEfhASgqekbT574/c4j3jn4bKXbSCnTTCH/KltZyvL2GlV+tGSMtsWyem8DCX7qKTMBA==";
       };
     };
     "lru-queue-0.1.0" = {
@@ -43085,15 +43634,6 @@ let
         sha512 = "oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==";
       };
     };
-    "magic-string-0.25.7" = {
-      name = "magic-string";
-      packageName = "magic-string";
-      version = "0.25.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz";
-        sha512 = "4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==";
-      };
-    };
     "magic-string-0.25.9" = {
       name = "magic-string";
       packageName = "magic-string";
@@ -43112,6 +43652,15 @@ let
         sha512 = "ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg==";
       };
     };
+    "magic-string-0.26.2" = {
+      name = "magic-string";
+      packageName = "magic-string";
+      version = "0.26.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/magic-string/-/magic-string-0.26.2.tgz";
+        sha512 = "NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==";
+      };
+    };
     "magicli-0.0.5" = {
       name = "magicli";
       packageName = "magicli";
@@ -43202,22 +43751,13 @@ let
         sha512 = "s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==";
       };
     };
-    "make-fetch-happen-10.1.8" = {
-      name = "make-fetch-happen";
-      packageName = "make-fetch-happen";
-      version = "10.1.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.8.tgz";
-        sha512 = "0ASJbG12Au6+N5I84W+8FhGS6iM8MyzvZady+zaQAu+6IOaESFzCLLD0AR1sAFF3Jufi8bxm586ABN6hWd3k7g==";
-      };
-    };
-    "make-fetch-happen-8.0.14" = {
+    "make-fetch-happen-10.2.0" = {
       name = "make-fetch-happen";
       packageName = "make-fetch-happen";
-      version = "8.0.14";
+      version = "10.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz";
-        sha512 = "EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ==";
+        url = "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.0.tgz";
+        sha512 = "OnEfCLofQVJ5zgKwGk55GaqosqKjaR6khQlJY3dBAA+hM25Bc5CmX5rKUfVut+rYA3uidA7zb7AvcglU87rPRg==";
       };
     };
     "make-fetch-happen-9.1.0" = {
@@ -43391,6 +43931,15 @@ let
         sha512 = "TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==";
       };
     };
+    "markdown-it-13.0.1" = {
+      name = "markdown-it";
+      packageName = "markdown-it";
+      version = "13.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.1.tgz";
+        sha512 = "lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==";
+      };
+    };
     "markdown-it-8.4.2" = {
       name = "markdown-it";
       packageName = "markdown-it";
@@ -43490,13 +44039,13 @@ let
         sha512 = "HyxjAu6BRsdt6Xcv6TKVQnkz/E70TdGXEFHRYBGLncRE9lBFwDNLVtFojKxjJWgJ+5XxUwLaHXy+2sGBbDn+4A==";
       };
     };
-    "markdown-it-multimd-table-4.1.3" = {
+    "markdown-it-multimd-table-4.2.0" = {
       name = "markdown-it-multimd-table";
       packageName = "markdown-it-multimd-table";
-      version = "4.1.3";
+      version = "4.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/markdown-it-multimd-table/-/markdown-it-multimd-table-4.1.3.tgz";
-        sha512 = "cXvJ+l8dMRmUZLrn34W/8tfLYjC40R7S0wRwcb95emuvQ3uiWNf9vB/IyeRh6XqEq95eXh70+UDNZ29qcOI+Dg==";
+        url = "https://registry.npmjs.org/markdown-it-multimd-table/-/markdown-it-multimd-table-4.2.0.tgz";
+        sha512 = "wFpb8TSQ9josQrAlOg1toEAHHSGYQZ4krBKfpejPQ+lq3oudnxCNW4S6gYMcRbkrtrfX/ND2njr4belnKt3fBg==";
       };
     };
     "markdown-it-sub-1.0.0" = {
@@ -43580,13 +44129,13 @@ let
         sha512 = "y8j3a5/DkJCmS5x4dMCQL+OR0+2EAq3DOtio1COSHsmW2BGXnNCK3v12hJt1LrUz5iZH5g0LmuYOjDdI+czghA==";
       };
     };
-    "markdownlint-0.25.1" = {
+    "markdownlint-0.26.1" = {
       name = "markdownlint";
       packageName = "markdownlint";
-      version = "0.25.1";
+      version = "0.26.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/markdownlint/-/markdownlint-0.25.1.tgz";
-        sha512 = "AG7UkLzNa1fxiOv5B+owPsPhtM4D6DoODhsJgiaNg1xowXovrYgOnLqAgOOFQpWOlHFVQUzjMY5ypNNTeov92g==";
+        url = "https://registry.npmjs.org/markdownlint/-/markdownlint-0.26.1.tgz";
+        sha512 = "8sLz1ktz5s4E0IDum2H9aiWLQU7RA5Eket9HUW5IRwfFnW2RD2ZyqYePW+z71tMc7lrFZc1+yPmlN9lirbJnlg==";
       };
     };
     "markdownlint-cli2-formatter-default-0.0.3" = {
@@ -43598,13 +44147,13 @@ let
         sha512 = "QEAJitT5eqX1SNboOD+SO/LNBpu4P4je8JlR02ug2cLQAqmIhh8IJnSK7AcaHBHhNADqdGydnPpQOpsNcEEqCw==";
       };
     };
-    "markdownlint-rule-helpers-0.16.0" = {
+    "markdownlint-rule-helpers-0.17.1" = {
       name = "markdownlint-rule-helpers";
       packageName = "markdownlint-rule-helpers";
-      version = "0.16.0";
+      version = "0.17.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/markdownlint-rule-helpers/-/markdownlint-rule-helpers-0.16.0.tgz";
-        sha512 = "oEacRUVeTJ5D5hW1UYd2qExYI0oELdYK72k1TKGvIeYJIbqQWAz476NAc7LNixSySUhcNl++d02DvX0ccDk9/w==";
+        url = "https://registry.npmjs.org/markdownlint-rule-helpers/-/markdownlint-rule-helpers-0.17.1.tgz";
+        sha512 = "Djc5IjJt7VA5sZRisISsJC/rQXR7hr8JS9u6Q9/ce3mjPZdzw535cFGG0U6Mag+ldRTRmRwCcTfivOh57KUP4w==";
       };
     };
     "marked-0.3.19" = {
@@ -43616,13 +44165,13 @@ let
         sha512 = "ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==";
       };
     };
-    "marked-4.0.17" = {
+    "marked-4.0.18" = {
       name = "marked";
       packageName = "marked";
-      version = "4.0.17";
+      version = "4.0.18";
       src = fetchurl {
-        url = "https://registry.npmjs.org/marked/-/marked-4.0.17.tgz";
-        sha512 = "Wfk0ATOK5iPxM4ptrORkFemqroz0ZDxp5MWfYA7H/F+wO17NRWV5Ypxi6p3g2Xmw2bKeiYOl6oVnLHKxBA0VhA==";
+        url = "https://registry.npmjs.org/marked/-/marked-4.0.18.tgz";
+        sha512 = "wbLDJ7Zh0sqA0Vdg6aqlbT+yPxqLblpAZh1mK2+AO2twQkPywvvqQNfEPVwSSRjZ7dZcdeVBIAgiO7MMp3Dszw==";
       };
     };
     "marked-terminal-5.1.1" = {
@@ -43634,13 +44183,13 @@ let
         sha512 = "+cKTOx9P4l7HwINYhzbrBSyzgxO2HaHKGZGuB1orZsMIgXYaJyfidT81VXRdpelW/PcHEWxywscePVgI/oUF6g==";
       };
     };
-    "marky-1.2.4" = {
+    "marky-1.2.5" = {
       name = "marky";
       packageName = "marky";
-      version = "1.2.4";
+      version = "1.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/marky/-/marky-1.2.4.tgz";
-        sha512 = "zd2/GiSn6U3/jeFVZ0J9CA1LzQ8RfIVvXkb/U0swFHF/zT+dVohTAWjmo2DcIuofmIIIROlwTbd+shSeXmxr0w==";
+        url = "https://registry.npmjs.org/marky/-/marky-1.2.5.tgz";
+        sha512 = "q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==";
       };
     };
     "mastodon-api-1.3.0" = {
@@ -43823,13 +44372,13 @@ let
         sha512 = "9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA==";
       };
     };
-    "mdast-util-find-and-replace-2.2.0" = {
+    "mdast-util-find-and-replace-2.2.1" = {
       name = "mdast-util-find-and-replace";
       packageName = "mdast-util-find-and-replace";
-      version = "2.2.0";
+      version = "2.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.0.tgz";
-        sha512 = "bz8hUWkMX7UcasORORcyBEsTKJ+dBiFwRPrm43hHC9NMRylIMLbfO5rwfeCN+UtY4AAi7s8WqXftb9eX6ZsqCg==";
+        url = "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.1.tgz";
+        sha512 = "SobxkQXFAdd4b5WmEakmkVoh18icjQRxGy5OWTCzgsLRm1Fu/KCtwD1HIQSsmq5ZRjVH0Ehwg6/Fn3xIUk+nKw==";
       };
     };
     "mdast-util-footnote-0.1.7" = {
@@ -43994,13 +44543,13 @@ let
         sha512 = "leKb9uG7laXdyFlTleYV4ZEaCpsxeU1LlkkR/xp35pgKrfV1Y0fNCuOw9vaRc2a9YDpH22wd145Wt7UY5yzeZw==";
       };
     };
-    "mdast-util-mdx-expression-1.2.1" = {
+    "mdast-util-mdx-expression-1.3.0" = {
       name = "mdast-util-mdx-expression";
       packageName = "mdast-util-mdx-expression";
-      version = "1.2.1";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.2.1.tgz";
-        sha512 = "BtQwyalaq6jRjx0pagtuAwGrmzL1yInrfA4EJv7GOoiPOUbR4gr6h65I+G3WTh1/Cag2Eda4ip400Ch6CFmWiA==";
+        url = "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.0.tgz";
+        sha512 = "9kTO13HaL/ChfzVCIEfDRdp1m5hsvsm6+R8yr67mH+KS2ikzZ0ISGLPTbTswOFpLLlgVHO9id3cul4ajutCvCA==";
       };
     };
     "mdast-util-mdx-jsx-1.2.0" = {
@@ -44012,13 +44561,13 @@ let
         sha512 = "5+ot/kfxYd3ChgEMwsMUO71oAfYjyRI3pADEK4I7xTmWLGQ8Y7ghm1CG36zUoUvDPxMlIYwQV/9DYHAUWdG4dA==";
       };
     };
-    "mdast-util-mdxjs-esm-1.2.0" = {
+    "mdast-util-mdxjs-esm-1.3.0" = {
       name = "mdast-util-mdxjs-esm";
       packageName = "mdast-util-mdxjs-esm";
-      version = "1.2.0";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.2.0.tgz";
-        sha512 = "IPpX9GBzAIbIRCjbyeLDpMhACFb0wxTIujuR3YElB8LWbducUdMgRJuqs/Vg8xQ1bIAMm7lw8L+YNtua0xKXRw==";
+        url = "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.0.tgz";
+        sha512 = "7N5ihsOkAEGjFotIX9p/YPdl4TqUoMxL4ajNz7PbT89BqsdWJuBC9rvgt6wpbwTZqWWR0jKWqQbwsOWDBUZv4g==";
       };
     };
     "mdast-util-to-markdown-0.6.5" = {
@@ -44237,22 +44786,22 @@ let
         sha512 = "yiAivd4xFOH/WXlUi6v/nKopBh1QLzwjFi36NK88cGt/PRXI8WeBASqY+YSjIVWvQTx3hR8zHKDBMV6hWmglNA==";
       };
     };
-    "mem-fs-editor-9.4.0" = {
+    "mem-fs-editor-9.5.0" = {
       name = "mem-fs-editor";
       packageName = "mem-fs-editor";
-      version = "9.4.0";
+      version = "9.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-9.4.0.tgz";
-        sha512 = "HSSOLSVRrsDdui9I6i96dDtG+oAez/4EB2g4cjSrNhgNQ3M+L57/+22NuPdORSoxvOHjIg/xeOE+C0wwF91D2g==";
+        url = "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-9.5.0.tgz";
+        sha512 = "7p+bBDqsSisO20YIZf2ntYvST27fFJINn7CKE21XdPUQDcLV62b/yB5sTOooQeEoiZ3rldZQ+4RfONgL/gbRoA==";
       };
     };
-    "memfs-3.4.6" = {
+    "memfs-3.4.7" = {
       name = "memfs";
       packageName = "memfs";
-      version = "3.4.6";
+      version = "3.4.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/memfs/-/memfs-3.4.6.tgz";
-        sha512 = "rH9mjopto6Wkr7RFuH9l9dk3qb2XGOcYKr7xMhaYqfzuJqOqhRrcFvfD7JMuPj6SLmPreh5+6eAuv36NFAU+Mw==";
+        url = "https://registry.npmjs.org/memfs/-/memfs-3.4.7.tgz";
+        sha512 = "ygaiUSNalBX85388uskeCyhSAoOSgzBbtVCr9jA2RROssFL9Q19/ZXFqS+2Th2sr1ewNIWgFdLzLC3Yl1Zv+lw==";
       };
     };
     "memoize-one-5.2.1" = {
@@ -44363,13 +44912,13 @@ let
         sha512 = "S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==";
       };
     };
-    "meow-10.1.2" = {
+    "meow-10.1.3" = {
       name = "meow";
       packageName = "meow";
-      version = "10.1.2";
+      version = "10.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/meow/-/meow-10.1.2.tgz";
-        sha512 = "zbuAlN+V/sXlbGchNS9WTWjUzeamwMt/BApKCJi7B0QyZstZaMx0n4Unll/fg0njGtMdC9UP5SAscvOCLYdM+Q==";
+        url = "https://registry.npmjs.org/meow/-/meow-10.1.3.tgz";
+        sha512 = "0WL7RMCPPdUTE00+GxJjL4d5Dm6eUbmAzxlzywJWiRUKCW093owmZ7/q74tH9VI91vxw9KJJNxAcvdpxb2G4iA==";
       };
     };
     "meow-3.7.0" = {
@@ -44507,15 +45056,6 @@ let
         sha512 = "ITSHjwVaby1Li738sxhF48sLTxcNyUAoWfoqyztL1f7J6JOLpHOuQPNLBb6lxGPUA0u7xP9IRULgvod0dKu35A==";
       };
     };
-    "mermaid-9.1.2" = {
-      name = "mermaid";
-      packageName = "mermaid";
-      version = "9.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mermaid/-/mermaid-9.1.2.tgz";
-        sha512 = "RVf3hBKqiMfyORHboCaEjOAK1TomLO50hYRPvlTrZCXlCniM5pRpe8UlkHBjjpaLtioZnbdYv/vEVj7iKnwkJQ==";
-      };
-    };
     "meros-1.1.4" = {
       name = "meros";
       packageName = "meros";
@@ -44957,13 +45497,13 @@ let
         sha512 = "U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==";
       };
     };
-    "micromark-util-events-to-acorn-1.1.0" = {
+    "micromark-util-events-to-acorn-1.2.0" = {
       name = "micromark-util-events-to-acorn";
       packageName = "micromark-util-events-to-acorn";
-      version = "1.1.0";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.1.0.tgz";
-        sha512 = "hB8HzidNt/Us5q2BvqXj8eeEm0U9rRfnZxcA9T65JRUMAY4MbfJRAFm7m9fXMAdSHJiVPmajsp8/rp6/FlHL8A==";
+        url = "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.0.tgz";
+        sha512 = "WWp3bf7xT9MppNuw3yPjpnOxa8cj5ACivEzXJKu0WwnjBYfzaBvIAT9KfeyI0Qkll+bfQtfftSwdgTH6QhTOKw==";
       };
     };
     "micromark-util-html-tag-name-1.1.0" = {
@@ -45047,15 +45587,6 @@ let
         sha512 = "MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==";
       };
     };
-    "micromatch-4.0.4" = {
-      name = "micromatch";
-      packageName = "micromatch";
-      version = "4.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz";
-        sha512 = "pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==";
-      };
-    };
     "micromatch-4.0.5" = {
       name = "micromatch";
       packageName = "micromatch";
@@ -45434,6 +45965,15 @@ let
         sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==";
       };
     };
+    "minimatch-3.0.5" = {
+      name = "minimatch";
+      packageName = "minimatch";
+      version = "3.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz";
+        sha512 = "tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==";
+      };
+    };
     "minimatch-3.0.8" = {
       name = "minimatch";
       packageName = "minimatch";
@@ -45569,13 +46109,13 @@ let
         sha512 = "rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==";
       };
     };
-    "minipass-3.3.3" = {
+    "minipass-3.3.5" = {
       name = "minipass";
       packageName = "minipass";
-      version = "3.3.3";
+      version = "3.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/minipass/-/minipass-3.3.3.tgz";
-        sha512 = "N0BOsdFAlNRfmwMhjAsLVWOk7Ljmeb39iqFlsV1At+jqRhSUP9yeof8FyJu4imaJiSUp8vQebWD/guZwGQC8iA==";
+        url = "https://registry.npmjs.org/minipass/-/minipass-3.3.5.tgz";
+        sha512 = "rQ/p+KfKBkeNwo04U15i+hOwoVBVmekmm/HcfTkTN2t9pbQKCMm4eN5gFeqgrrSp/kH/7BYYhTIHOxGqzbBPaA==";
       };
     };
     "minipass-collect-1.0.2" = {
@@ -45803,22 +46343,22 @@ let
         sha512 = "sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw==";
       };
     };
-    "mobx-6.6.0" = {
+    "mobx-6.6.1" = {
       name = "mobx";
       packageName = "mobx";
-      version = "6.6.0";
+      version = "6.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mobx/-/mobx-6.6.0.tgz";
-        sha512 = "MNTKevLH/6DShLZcmSL351+JgiJPO56A4GUpoiDQ3/yZ0mAtclNLdHK9q4BcQhibx8/JSDupfTpbX2NZPemlRg==";
+        url = "https://registry.npmjs.org/mobx/-/mobx-6.6.1.tgz";
+        sha512 = "7su3UZv5JF+ohLr2opabjbUAERfXstMY+wiBtey8yNAPoB8H187RaQXuhFjNkH8aE4iHbDWnhDFZw0+5ic4nGQ==";
       };
     };
-    "mobx-react-7.5.0" = {
+    "mobx-react-7.5.2" = {
       name = "mobx-react";
       packageName = "mobx-react";
-      version = "7.5.0";
+      version = "7.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mobx-react/-/mobx-react-7.5.0.tgz";
-        sha512 = "riHu0XZJA6f64L1iXZoAaDjVt6suYoy8I2HIfuz2tX3O4FFaAe4lVA2CoObttmUQTTFPM7j3Df6T4re0cHkghQ==";
+        url = "https://registry.npmjs.org/mobx-react/-/mobx-react-7.5.2.tgz";
+        sha512 = "NP44ONwSqTy+3KlD7y9k7xbsuGD+8mgUj3IeI65SbxF1IOB42/j9TbosgUEDn//CCuU6OmQ7k9oiu9eSpRBHnw==";
       };
     };
     "mobx-react-lite-3.4.0" = {
@@ -45911,13 +46451,13 @@ let
         sha512 = "kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==";
       };
     };
-    "moment-2.29.3" = {
+    "moment-2.29.4" = {
       name = "moment";
       packageName = "moment";
-      version = "2.29.3";
+      version = "2.29.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz";
-        sha512 = "c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==";
+        url = "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz";
+        sha512 = "5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==";
       };
     };
     "moment-2.7.0" = {
@@ -45956,22 +46496,22 @@ let
         sha512 = "3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==";
       };
     };
-    "mongodb-4.7.0" = {
+    "mongodb-4.8.1" = {
       name = "mongodb";
       packageName = "mongodb";
-      version = "4.7.0";
+      version = "4.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mongodb/-/mongodb-4.7.0.tgz";
-        sha512 = "HhVar6hsUeMAVlIbwQwWtV36iyjKd9qdhY+s4wcU8K6TOj4Q331iiMy+FoPuxEntDIijTYWivwFJkLv8q/ZgvA==";
+        url = "https://registry.npmjs.org/mongodb/-/mongodb-4.8.1.tgz";
+        sha512 = "/NyiM3Ox9AwP5zrfT9TXjRKDJbXlLaUDQ9Rg//2lbg8D2A8GXV0VidYYnA/gfdK6uwbnL4FnAflH7FbGw3TS7w==";
       };
     };
-    "mongodb-connection-string-url-2.5.2" = {
+    "mongodb-connection-string-url-2.5.3" = {
       name = "mongodb-connection-string-url";
       packageName = "mongodb-connection-string-url";
-      version = "2.5.2";
+      version = "2.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.5.2.tgz";
-        sha512 = "tWDyIG8cQlI5k3skB6ywaEA5F9f5OntrKKsT/Lteub2zgwSUlhqEN2inGgBTm8bpYJf8QYBdA/5naz65XDpczA==";
+        url = "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.5.3.tgz";
+        sha512 = "f+/WsED+xF4B74l3k9V/XkTVj5/fxFH2o5ToKXd8Iyi5UhM+sO9u0Ape17Mvl/GkZaFtM0HQnzAG5OTmhKw+tQ==";
       };
     };
     "moniker-0.1.2" = {
@@ -46100,13 +46640,13 @@ let
         sha512 = "ZgX4b93cWk+EazOFRV4lekLqmc4rV7P+WMisG8N0F2M4/EiluPMNNWjuaurQfitak++AIc/ZVQ3IgM3cBcH7WA==";
       };
     };
-    "mqtt-4.3.5" = {
+    "mqtt-4.3.7" = {
       name = "mqtt";
       packageName = "mqtt";
-      version = "4.3.5";
+      version = "4.3.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mqtt/-/mqtt-4.3.5.tgz";
-        sha512 = "l29WGHAc0EayK1cjb6moozc+rlgK6YRCPbP3zB1CrJw84Bjk4kG9EJCXojdn4r29lA80SCqxRKq1QJ87+Xevng==";
+        url = "https://registry.npmjs.org/mqtt/-/mqtt-4.3.7.tgz";
+        sha512 = "ew3qwG/TJRorTz47eW46vZ5oBw5MEYbQZVaEji44j5lAUSQSqIEoul7Kua/BatBW0H0kKQcC9kwUHa1qzaWHSw==";
       };
     };
     "mqtt-packet-6.10.0" = {
@@ -46217,22 +46757,22 @@ let
         sha512 = "VoY2AaoowHZLLKyEb5FRzuhdSzXn5quGjcMKJOJHJPxp9baYZx5t6jiHUhp5aNRlqqlt+5GXQGovMLNKsrm1hg==";
       };
     };
-    "msgpackr-1.6.1" = {
+    "msgpackr-1.6.2" = {
       name = "msgpackr";
       packageName = "msgpackr";
-      version = "1.6.1";
+      version = "1.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/msgpackr/-/msgpackr-1.6.1.tgz";
-        sha512 = "Je+xBEfdjtvA4bKaOv8iRhjC8qX2oJwpYH4f7JrG4uMVJVmnmkAT4pjKdbztKprGj3iwjcxPzb5umVZ02Qq3tA==";
+        url = "https://registry.npmjs.org/msgpackr/-/msgpackr-1.6.2.tgz";
+        sha512 = "bqSQ0DYJbXbrJcrZFmMygUZmqQiDfI2ewFVWcrZY12w5XHWtPuW4WppDT/e63Uu311ajwkRRXSoF0uILroBeTA==";
       };
     };
-    "msgpackr-extract-2.0.2" = {
+    "msgpackr-extract-2.1.2" = {
       name = "msgpackr-extract";
       packageName = "msgpackr-extract";
-      version = "2.0.2";
+      version = "2.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-2.0.2.tgz";
-        sha512 = "coskCeJG2KDny23zWeu+6tNy7BLnAiOGgiwzlgdm4oeSsTpqEJJPguHIuKZcCdB7tzhZbXNYSg6jZAXkZErkJA==";
+        url = "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-2.1.2.tgz";
+        sha512 = "cmrmERQFb19NX2JABOGtrKdHMyI6RUyceaPBQ2iRz9GnDkjBWFjNJC0jyyoOfZl2U/LZE3tQCCQc4dlRyA8mcA==";
       };
     };
     "multer-1.4.3" = {
@@ -46253,6 +46793,15 @@ let
         sha512 = "2wY2+xD4udX612aMqMcB8Ws2Voq6NIUPEtD1be6m411T4uDH/VtL9i//xvcyFlTVfRdaBsk7hV5tgrGQqhuBiw==";
       };
     };
+    "multer-1.4.5-lts.1" = {
+      name = "multer";
+      packageName = "multer";
+      version = "1.4.5-lts.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/multer/-/multer-1.4.5-lts.1.tgz";
+        sha512 = "ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ==";
+      };
+    };
     "multi-progress-4.0.0" = {
       name = "multi-progress";
       packageName = "multi-progress";
@@ -46874,13 +47423,13 @@ let
         sha512 = "p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==";
       };
     };
-    "ncjsm-4.3.0" = {
+    "ncjsm-4.3.1" = {
       name = "ncjsm";
       packageName = "ncjsm";
-      version = "4.3.0";
+      version = "4.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ncjsm/-/ncjsm-4.3.0.tgz";
-        sha512 = "oah6YGwb4Ern2alojiMFcjPhE4wvQBw1Ur/kUr2P0ovKdzaF5pCIsGjs0f2y+iZeej0/5Y6OOhQ8j30cTDMEGw==";
+        url = "https://registry.npmjs.org/ncjsm/-/ncjsm-4.3.1.tgz";
+        sha512 = "5hy/Mr7KKLS/AFyY4Be8q0aXz8wYd2PN3cSSMBeQHfcrK6Sbd0EGoQxiNrUoKMAYhl67v4A975f6Gy1oEqfJlA==";
       };
     };
     "nconf-0.10.0" = {
@@ -47262,6 +47811,15 @@ let
         sha512 = "+I10J3wKNoKddNxn0CNpoZ3eTZuqxjNM3b1GImVx22+ePI+Y15P8g/j3WsbP0fhzzrFzrtjOAoq5NCCucswXOQ==";
       };
     };
+    "next-tick-1.0.0" = {
+      name = "next-tick";
+      packageName = "next-tick";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz";
+        sha512 = "mc/caHeUcdjnC/boPWJefDr4KUIWQNv+tlnFnJd38QMou86QtxQzBJfxgGRzvx8jazYRqrVlaHarfO72uNxPOg==";
+      };
+    };
     "next-tick-1.1.0" = {
       name = "next-tick";
       packageName = "next-tick";
@@ -47406,13 +47964,13 @@ let
         sha512 = "/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==";
       };
     };
-    "node-abi-3.22.0" = {
+    "node-abi-3.24.0" = {
       name = "node-abi";
       packageName = "node-abi";
-      version = "3.22.0";
+      version = "3.24.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-abi/-/node-abi-3.22.0.tgz";
-        sha512 = "u4uAs/4Zzmp/jjsD9cyFYDXeISfUWaAVWshPmDZOFOv4Xl4SbzTXm53I04C2uRueYJ+0t5PEtLH/owbn2Npf/w==";
+        url = "https://registry.npmjs.org/node-abi/-/node-abi-3.24.0.tgz";
+        sha512 = "YPG3Co0luSu6GwOBsmIdGW6Wx0NyNDLg/hriIyDllVsNwnI6UeqaWShxC3lbH4LtEQUgoLP3XR1ndXiDAWvmRw==";
       };
     };
     "node-abort-controller-3.0.1" = {
@@ -47604,13 +48162,13 @@ let
         sha512 = "ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==";
       };
     };
-    "node-fetch-3.2.6" = {
+    "node-fetch-3.2.8" = {
       name = "node-fetch";
       packageName = "node-fetch";
-      version = "3.2.6";
+      version = "3.2.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.6.tgz";
-        sha512 = "LAy/HZnLADOVkVPubaxHDft29booGglPFDr2Hw0J1AercRh01UiVFm++KMDnJeH9sHgNB4hsXPii7Sgym/sTbw==";
+        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.8.tgz";
+        sha512 = "KtpD1YhGszhntMpBDyp5lyagk8KIMopC1LEb7cQUAh7zcosaX5uK8HnbNb2i3NTQK3sIawCItS0uFC3QzcLHdg==";
       };
     };
     "node-fetch-h2-2.3.0" = {
@@ -47703,13 +48261,13 @@ let
         sha512 = "olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==";
       };
     };
-    "node-gyp-9.0.0" = {
+    "node-gyp-9.1.0" = {
       name = "node-gyp";
       packageName = "node-gyp";
-      version = "9.0.0";
+      version = "9.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-gyp/-/node-gyp-9.0.0.tgz";
-        sha512 = "Ma6p4s+XCTPxCuAMrOA/IJRmVy16R8Sdhtwl4PrCr7IBlj4cPawF0vg/l7nOT1jPbuNS7lIRJpBSvVsXwEZuzw==";
+        url = "https://registry.npmjs.org/node-gyp/-/node-gyp-9.1.0.tgz";
+        sha512 = "HkmN0ZpQJU7FLbJauJTHkHlSVAXlNGDAzH/VYFZGDOnFyn/Na3GlNJfkudmufOdS6/jNFhy88ObzL7ERz9es1g==";
       };
     };
     "node-gyp-build-4.1.1" = {
@@ -47721,22 +48279,13 @@ let
         sha512 = "dSq1xmcPDKPZ2EED2S6zw/b9NKsqzXRE6dVr8TVQnI3FJOTteUMuqF3Qqs6LZg+mLGYJWqQzMbIjMtJqTv87nQ==";
       };
     };
-    "node-gyp-build-4.4.0" = {
+    "node-gyp-build-4.5.0" = {
       name = "node-gyp-build";
       packageName = "node-gyp-build";
-      version = "4.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.4.0.tgz";
-        sha512 = "amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==";
-      };
-    };
-    "node-gyp-build-optional-packages-5.0.2" = {
-      name = "node-gyp-build-optional-packages";
-      packageName = "node-gyp-build-optional-packages";
-      version = "5.0.2";
+      version = "4.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.2.tgz";
-        sha512 = "PiN4NWmlQPqvbEFcH/omQsswWQbe5Z9YK/zdB23irp5j2XibaA2IrGvpSWmVVG4qMZdmPdwPctSy4a86rOMn6g==";
+        url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz";
+        sha512 = "2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==";
       };
     };
     "node-gyp-build-optional-packages-5.0.3" = {
@@ -47856,15 +48405,6 @@ let
         sha512 = "TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==";
       };
     };
-    "node-pre-gyp-0.13.0" = {
-      name = "node-pre-gyp";
-      packageName = "node-pre-gyp";
-      version = "0.13.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.13.0.tgz";
-        sha512 = "Md1D3xnEne8b/HGVQkZZwV27WUi1ZRuZBij24TNaZwUPU3ZAFtvT6xxJGaUVillfmMKnn5oD1HoGsp2Ftik7SQ==";
-      };
-    };
     "node-pre-gyp-0.6.39" = {
       name = "node-pre-gyp";
       packageName = "node-pre-gyp";
@@ -47883,13 +48423,13 @@ let
         sha512 = "SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==";
       };
     };
-    "node-red-admin-2.2.4" = {
+    "node-red-admin-3.0.0" = {
       name = "node-red-admin";
       packageName = "node-red-admin";
-      version = "2.2.4";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-red-admin/-/node-red-admin-2.2.4.tgz";
-        sha512 = "DlJpMFopqBNj10k5rGGI9ZNBi+whAIS+IHrSZH1xllfuJKZxQBZgR+o+rJeufDyc0OBRgHRqmX776HrBrlDtMA==";
+        url = "https://registry.npmjs.org/node-red-admin/-/node-red-admin-3.0.0.tgz";
+        sha512 = "1J1tcV+zkCIy24n0rcJ/DSPSCziEgLGld+QBYk1rNESIo+gFyL5RMkCOcII2IrBTZF/kcDTElepMTCILXbMDfQ==";
       };
     };
     "node-redis-pubsub-5.0.0" = {
@@ -47910,13 +48450,13 @@ let
         sha512 = "rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ==";
       };
     };
-    "node-releases-2.0.5" = {
+    "node-releases-2.0.6" = {
       name = "node-releases";
       packageName = "node-releases";
-      version = "2.0.5";
+      version = "2.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz";
-        sha512 = "U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==";
+        url = "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz";
+        sha512 = "PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==";
       };
     };
     "node-rsa-1.1.1" = {
@@ -48459,6 +48999,15 @@ let
         sha512 = "xXxr8y5U0kl8dVkz2oK7yZjPBvqM2fwaO5l3Yg13p03v8+E3qQcD0JNhHzjL1vyGgxcKkD0cco+NLR72iuPk3g==";
       };
     };
+    "npm-package-arg-8.1.1" = {
+      name = "npm-package-arg";
+      packageName = "npm-package-arg";
+      version = "8.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz";
+        sha512 = "CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==";
+      };
+    };
     "npm-package-arg-8.1.5" = {
       name = "npm-package-arg";
       packageName = "npm-package-arg";
@@ -48468,13 +49017,13 @@ let
         sha512 = "LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==";
       };
     };
-    "npm-package-arg-9.0.2" = {
+    "npm-package-arg-9.1.0" = {
       name = "npm-package-arg";
       packageName = "npm-package-arg";
-      version = "9.0.2";
+      version = "9.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.0.2.tgz";
-        sha512 = "v/miORuX8cndiOheW8p2moNuPJ7QhcFh9WGlTorruG8hXSA23vMTEp5hTCmDxic0nD8KHhj/NQgFuySD3GYY3g==";
+        url = "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.0.tgz";
+        sha512 = "4J0GL+u2Nh6OnhvUKXRr2ZMG4lR8qtLp+kv7UiV00Y+nGiSxtttCyIRHCt5L5BNkXQld/RceYItau3MDOoGiBw==";
       };
     };
     "npm-packlist-1.4.8" = {
@@ -48504,13 +49053,13 @@ let
         sha512 = "L/cbzmutAwII5glUcf2DBRNY/d0TFd4e/FnaZigJV6JD85RHZXJFGwCndjMWiiViiWSsWt3tiOLpI3ByTnIdFQ==";
       };
     };
-    "npm-packlist-5.1.0" = {
+    "npm-packlist-5.1.1" = {
       name = "npm-packlist";
       packageName = "npm-packlist";
-      version = "5.1.0";
+      version = "5.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-5.1.0.tgz";
-        sha512 = "a04sqF6FbkyOAFA19AA0e94gS7Et5T2/IMj3VOT9nOF2RaRdVPQ1Q17Fb/HaDRFs+gbC7HOmhVZ29adpWgmDZg==";
+        url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-5.1.1.tgz";
+        sha512 = "UfpSvQ5YKwctmodvPPkK6Fwk603aoVsf8AEbmVKAEECrfvL8SSe1A2YIwrJ6xmTHAITKPwwZsWo7WwEbNk0kxw==";
       };
     };
     "npm-pick-manifest-6.1.1" = {
@@ -48567,22 +49116,13 @@ let
         sha512 = "Df5QT3RaJnXYuOwtXBXS9BWs+tHH2olvkCLh6jcR/b/u3DvPMlp3J0TvvYwplPKxHMOwfg287PYih9QqaVFoKA==";
       };
     };
-    "npm-registry-fetch-13.1.1" = {
+    "npm-registry-fetch-13.3.0" = {
       name = "npm-registry-fetch";
       packageName = "npm-registry-fetch";
-      version = "13.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-13.1.1.tgz";
-        sha512 = "5p8rwe6wQPLJ8dMqeTnA57Dp9Ox6GH9H60xkyJup07FmVlu3Mk7pf/kIIpl9gaN5bM8NM+UUx3emUWvDNTt39w==";
-      };
-    };
-    "npm-registry-fetch-9.0.0" = {
-      name = "npm-registry-fetch";
-      packageName = "npm-registry-fetch";
-      version = "9.0.0";
+      version = "13.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-9.0.0.tgz";
-        sha512 = "PuFYYtnQ8IyVl6ib9d3PepeehcUeHN9IO5N/iCRhyg9tStQcqGQBRVHmfmMWPDERU3KwZoHFvbJ4FPXPspvzbA==";
+        url = "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-13.3.0.tgz";
+        sha512 = "10LJQ/1+VhKrZjIuY9I/+gQTvumqqlgnsCufoXETHAPFTS3+M+Z5CFhZRDHGavmJ6rOye3UvNga88vl8n1r6gg==";
       };
     };
     "npm-registry-utilities-1.0.0" = {
@@ -48711,15 +49251,6 @@ let
         sha512 = "lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==";
       };
     };
-    "nugget-2.0.2" = {
-      name = "nugget";
-      packageName = "nugget";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nugget/-/nugget-2.0.2.tgz";
-        sha512 = "A8A8+PtlH937KWXJnfct6ubGPfgHOe3lwFkkmrT5xW8+aRBnDWqSiW5NRuiVuh/k/auLGsZdu+WrIU2epL/FHg==";
-      };
-    };
     "null-loader-4.0.1" = {
       name = "null-loader";
       packageName = "null-loader";
@@ -48819,13 +49350,22 @@ let
         sha512 = "3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ==";
       };
     };
-    "nwsapi-2.2.0" = {
+    "nwsapi-2.2.1" = {
       name = "nwsapi";
       packageName = "nwsapi";
-      version = "2.2.0";
+      version = "2.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz";
-        sha512 = "h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==";
+        url = "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.1.tgz";
+        sha512 = "JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg==";
+      };
+    };
+    "nx-14.5.2" = {
+      name = "nx";
+      packageName = "nx";
+      version = "14.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nx/-/nx-14.5.2.tgz";
+        sha512 = "I6KWVMR5Ksj/HgderkcmJmyaqHdWblQeFUeVq9to263Wr3QCIRigbvdDI3rq3ZQCBMyhUSOVP9MFXROoRVtJXQ==";
       };
     };
     "o3-1.0.3" = {
@@ -48894,11 +49434,11 @@ let
     "oauth-https://github.com/ciaranj/node-oauth/tarball/master" = {
       name = "oauth";
       packageName = "oauth";
-      version = "0.9.15";
+      version = "0.10.0";
       src = fetchurl {
-        name = "oauth-0.9.15.tar.gz";
+        name = "oauth-0.10.0.tar.gz";
         url = "https://codeload.github.com/ciaranj/node-oauth/legacy.tar.gz/refs/heads/master";
-        sha256 = "9341c28772841acde618c778e85e381976f425824b816100792f697e68aec947";
+        sha256 = "4b05b98a9e756a859411991488c1156a2e35c3fa1062c0ae43d3011cc143580c";
       };
     };
     "oauth-sign-0.8.2" = {
@@ -49063,15 +49603,6 @@ let
         sha512 = "NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==";
       };
     };
-    "object-path-0.11.8" = {
-      name = "object-path";
-      packageName = "object-path";
-      version = "0.11.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-path/-/object-path-0.11.8.tgz";
-        sha512 = "YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==";
-      };
-    };
     "object-sizeof-1.6.3" = {
       name = "object-sizeof";
       packageName = "object-sizeof";
@@ -49306,13 +49837,13 @@ let
         sha512 = "dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==";
       };
     };
-    "on-exit-leak-free-1.0.0" = {
+    "on-exit-leak-free-2.1.0" = {
       name = "on-exit-leak-free";
       packageName = "on-exit-leak-free";
-      version = "1.0.0";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-1.0.0.tgz";
-        sha512 = "Ve8ubhrXRdnuCJ5bQSQpP3uaV43K1PMcOfSRC1pqHgRZommXCgsXwh08jVC5NpjwScE23BPDwDvVg4cov3mwjw==";
+        url = "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.0.tgz";
+        sha512 = "VuCaZZAjReZ3vUwgOB8LxAosIurDiAW0s13rI1YwmaP++jvcxP77AWoQvenZebpCA2m8WC1/EosPYPMjnRAp/w==";
       };
     };
     "on-finished-2.2.1" = {
@@ -49459,13 +49990,13 @@ let
         sha512 = "fvaSZRzprpwLFge/mcwE0CItfniNisVNamDdMK1FQUjh4ArQZ8ZWSkDaJbZc3XaANKZHq0xIa8NJpZ2HSe3oXA==";
       };
     };
-    "oo-ascii-tree-1.61.0" = {
+    "oo-ascii-tree-1.63.2" = {
       name = "oo-ascii-tree";
       packageName = "oo-ascii-tree";
-      version = "1.61.0";
+      version = "1.63.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/oo-ascii-tree/-/oo-ascii-tree-1.61.0.tgz";
-        sha512 = "/7aCOm8qkHUdr4iy9qPs3ZbRoWN8FaShpII56LgSFy/YitvskT3SOx92KwcsE5Mipu/X43YcUYFWCS8nUlR3Xw==";
+        url = "https://registry.npmjs.org/oo-ascii-tree/-/oo-ascii-tree-1.63.2.tgz";
+        sha512 = "2bfZc5i6X1jt+ecaYdsr3Sl5LBnDhe32LXR6+UrHcqr3kG2JW4KIHpTP/Au6oksJnTXIgON1rJcbscVCVtR0cg==";
       };
     };
     "open-0.0.2" = {
@@ -49765,13 +50296,13 @@ let
         sha512 = "EFTQ61/OUVhCeq78Y3rBpdKSuvgb0lwkU8nN4QTdcv0afc5MT7e4IVuZwgkMsgE993dmhbIhkxHFP3iTVJXWmw==";
       };
     };
-    "openpgp-5.3.0" = {
+    "openpgp-5.3.1" = {
       name = "openpgp";
       packageName = "openpgp";
-      version = "5.3.0";
+      version = "5.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openpgp/-/openpgp-5.3.0.tgz";
-        sha512 = "qjCj0vYpV3dmmkE+vURiJ5kVAJwrMk8BPukvpWJiHcTNWKwPVsRS810plIe4klIcHVf1ScgUQwqtBbv99ff+kQ==";
+        url = "https://registry.npmjs.org/openpgp/-/openpgp-5.3.1.tgz";
+        sha512 = "CxjY4gZ3D0pp6dJUmcM6EgjvDv0u+LsY+3ymULPZYRUPa0tmigDXHNUm5EX+omqmU401DTQNO6ud+QA6UpCdEA==";
       };
     };
     "opentracing-0.14.7" = {
@@ -49999,22 +50530,22 @@ let
         sha512 = "5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==";
       };
     };
-    "ora-6.1.0" = {
+    "ora-6.1.2" = {
       name = "ora";
       packageName = "ora";
-      version = "6.1.0";
+      version = "6.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ora/-/ora-6.1.0.tgz";
-        sha512 = "CxEP6845hLK+NHFWZ+LplGO4zfw4QSfxTlqMfvlJ988GoiUeZDMzCvqsZkFHv69sPICmJH1MDxZoQFOKXerAVw==";
+        url = "https://registry.npmjs.org/ora/-/ora-6.1.2.tgz";
+        sha512 = "EJQ3NiP5Xo94wJXIzAyOtSb0QEIAUu7m8t6UZ9krbz0vAJqr92JpcK/lEXg91q6B9pEGqrykkd2EQplnifDSBw==";
       };
     };
-    "ordered-binary-1.2.5" = {
+    "ordered-binary-1.3.0" = {
       name = "ordered-binary";
       packageName = "ordered-binary";
-      version = "1.2.5";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.2.5.tgz";
-        sha512 = "djRmZoEpOGvIRW7ufsCDHtvcUa18UC9TxnPbHhSVFZHsoyg0dtut1bWtBZ/fmxdPN62oWXrV6adM7NoWU+CneA==";
+        url = "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.3.0.tgz";
+        sha512 = "knIeYepTI6BDAzGxqFEDGtI/iGqs57H32CInAIxEvAHG46vk1Di0CEpyc1A7iY39B1mfik3g3KLYwOTNnnMHLA==";
       };
     };
     "ordered-read-streams-1.0.1" = {
@@ -50134,22 +50665,22 @@ let
         sha512 = "0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==";
       };
     };
-    "ot-builder-1.5.2" = {
+    "ot-builder-1.5.4" = {
       name = "ot-builder";
       packageName = "ot-builder";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ot-builder/-/ot-builder-1.5.2.tgz";
-        sha512 = "WAcfUKnBSM7Sf5wAbguIjtEffkca5hFCYTw2W84DcGid5SrSyxxOzWAXFRoxaPli8X9gmeTdx773nYqmnAjNgA==";
+        url = "https://registry.npmjs.org/ot-builder/-/ot-builder-1.5.4.tgz";
+        sha512 = "+GFI9JS6RfudrYmo+mlLd0irWFrtpeVq+Jrj+afvKp5f4Iubi1xArjxXcg/ItXFu3XGvvJZOdFpfnN+3KZQkuA==";
       };
     };
-    "otb-ttc-bundle-1.5.2" = {
+    "otb-ttc-bundle-1.5.4" = {
       name = "otb-ttc-bundle";
       packageName = "otb-ttc-bundle";
-      version = "1.5.2";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/otb-ttc-bundle/-/otb-ttc-bundle-1.5.2.tgz";
-        sha512 = "9h7WMtCauJeg74puwZF6W1ahyhewY/7shjsoiEqfLjX7dwCR/WgbIwx7DnpQ3acTwOzfsaBfgmq+XDMUz+TPrg==";
+        url = "https://registry.npmjs.org/otb-ttc-bundle/-/otb-ttc-bundle-1.5.4.tgz";
+        sha512 = "vDxDfZjMOOWTpwT9qW5pJSS2SM3uyPcOItQczSkEhCwMet0ch+LS2CkPQrdfvsDXAhiX3nCYgEHrsNanYvn9Pw==";
       };
     };
     "ow-0.21.0" = {
@@ -50215,6 +50746,15 @@ let
         sha512 = "BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==";
       };
     };
+    "p-cancelable-3.0.0" = {
+      name = "p-cancelable";
+      packageName = "p-cancelable";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz";
+        sha512 = "mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==";
+      };
+    };
     "p-debounce-2.1.0" = {
       name = "p-debounce";
       packageName = "p-debounce";
@@ -50746,6 +51286,15 @@ let
         sha512 = "CHJqc94AA8YfSLHGQT3DbvSIuE12NLFekpM4n7LRrAd3dOJtA911+4xe9q6nC3/jcKraq7nNS9VxgtT0KC+diA==";
       };
     };
+    "package-json-8.1.0" = {
+      name = "package-json";
+      packageName = "package-json";
+      version = "8.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/package-json/-/package-json-8.1.0.tgz";
+        sha512 = "hySwcV8RAWeAfPsXb9/HGSPn8lwDnv6fabH+obUZKX169QknRkRhPxd1yMubpKDskLFATkl3jHpNtVtDPFA0Wg==";
+      };
+    };
     "package-json-versionify-1.0.4" = {
       name = "package-json-versionify";
       packageName = "package-json-versionify";
@@ -50791,22 +51340,13 @@ let
         sha512 = "CdYEl03JDrRO3x18uHjBYA9TyoW8gy+ThVcypcDkxPtKlw76e4ejhYB6i9lJ+/cebbjpqPW/CijjqxwDTts8Ow==";
       };
     };
-    "pacote-13.3.0" = {
-      name = "pacote";
-      packageName = "pacote";
-      version = "13.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pacote/-/pacote-13.3.0.tgz";
-        sha512 = "auhJAUlfC2TALo6I0s1vFoPvVFgWGx+uz/PnIojTTgkGwlK3Np8sGJ0ghfFhiuzJXTZoTycMLk8uLskdntPbDw==";
-      };
-    };
-    "pacote-13.6.0" = {
+    "pacote-13.6.1" = {
       name = "pacote";
       packageName = "pacote";
-      version = "13.6.0";
+      version = "13.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pacote/-/pacote-13.6.0.tgz";
-        sha512 = "zHmuCwG4+QKnj47LFlW3LmArwKoglx2k5xtADiMCivVWPgNRP5QyLDGOIjGjwOe61lhl1rO63m/VxT16pEHLWg==";
+        url = "https://registry.npmjs.org/pacote/-/pacote-13.6.1.tgz";
+        sha512 = "L+2BI1ougAPsFjXRyBhcKmfT016NscRFLv6Pz5EiNf1CCFJFU0pSKKQwsZTyAQB+sTuUL4TyFyp6J1Ork3dOqw==";
       };
     };
     "pad-0.0.5" = {
@@ -50827,22 +51367,22 @@ let
         sha512 = "8EKVBxCRSvLnsX1p2LlSFSH3c2/wuhY9/BXXWu8boL78FbVKqn2L5SpURt1x5iw6Gq8PTqJ7MdPoe5nCtX3I+g==";
       };
     };
-    "paid-services-3.16.2" = {
+    "paid-services-3.16.3" = {
       name = "paid-services";
       packageName = "paid-services";
-      version = "3.16.2";
+      version = "3.16.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/paid-services/-/paid-services-3.16.2.tgz";
-        sha512 = "4KmT09JNTk9RMOXVZiaQCiiUbgf0ucmFqKzAV8H5iwOH2dRk8QWlmrWRmvZdwTbjjNePnhuy/QvJMXki9ox0sw==";
+        url = "https://registry.npmjs.org/paid-services/-/paid-services-3.16.3.tgz";
+        sha512 = "LmthAiL2EP/iYorDmSZFpi8ocQmciYWAirzPYWGhIPOLs409btO2tfjM/fY839qFzxzHpONRVx8CwuyqKLtolg==";
       };
     };
-    "paid-services-3.16.3" = {
+    "paid-services-3.19.1" = {
       name = "paid-services";
       packageName = "paid-services";
-      version = "3.16.3";
+      version = "3.19.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/paid-services/-/paid-services-3.16.3.tgz";
-        sha512 = "LmthAiL2EP/iYorDmSZFpi8ocQmciYWAirzPYWGhIPOLs409btO2tfjM/fY839qFzxzHpONRVx8CwuyqKLtolg==";
+        url = "https://registry.npmjs.org/paid-services/-/paid-services-3.19.1.tgz";
+        sha512 = "7RFUtAsvUXvN+sDDCANiZyzjpZQB5f9h15qJAsrn3Q7aAEQgfGnbH6bEaYzpNqWU4SrKuMx34BzdfAx9p6Ec5g==";
       };
     };
     "pako-0.2.9" = {
@@ -51187,6 +51727,15 @@ let
         sha512 = "Z2lWUis7jlmXC1jeOG9giRO2+FsuyNipeQ43HAjqAZjwSe3SEf+q/84FGPHoso3kyntbxa4c4i77t3m6fGf8cw==";
       };
     };
+    "parse-path-5.0.0" = {
+      name = "parse-path";
+      packageName = "parse-path";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-path/-/parse-path-5.0.0.tgz";
+        sha512 = "qOpH55/+ZJ4jUu/oLO+ifUKjFPNZGfnPJtzvGzKN/4oLMil5m9OH4VpOj6++9/ytJcfks4kzH2hhi87GL/OU9A==";
+      };
+    };
     "parse-png-2.1.0" = {
       name = "parse-png";
       packageName = "parse-png";
@@ -51250,13 +51799,22 @@ let
         sha512 = "u2MgLOjZPDDer1oRg1c+H/+54iIQYY5TKgQ5G8KrGLT1Dcwdo7Lj+QfQR123+u8J0AMSFGbQUvsBlSB7uIJcCA==";
       };
     };
-    "parse-url-6.0.0" = {
+    "parse-url-6.0.5" = {
       name = "parse-url";
       packageName = "parse-url";
-      version = "6.0.0";
+      version = "6.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/parse-url/-/parse-url-6.0.0.tgz";
-        sha512 = "cYyojeX7yIIwuJzledIHeLUBVJ6COVLeT4eF+2P6aKVzwvgKQPndCBv3+yQ7pcWjqToYwaligxzSYNNmGoMAvw==";
+        url = "https://registry.npmjs.org/parse-url/-/parse-url-6.0.5.tgz";
+        sha512 = "e35AeLTSIlkw/5GFq70IN7po8fmDUjpDPY1rIK+VubRfsUvBonjQ+PBZG+vWMACnQSmNlvl524IucoDmcioMxA==";
+      };
+    };
+    "parse-url-7.0.2" = {
+      name = "parse-url";
+      packageName = "parse-url";
+      version = "7.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-url/-/parse-url-7.0.2.tgz";
+        sha512 = "PqO4Z0eCiQ08Wj6QQmrmp5YTTxpYfONdOEamrtvK63AmzXpcavIVQubGHxOEwiIoDZFb8uDOoQFS0NCcjqIYQg==";
       };
     };
     "parse5-1.5.1" = {
@@ -51466,22 +52024,13 @@ let
         sha512 = "aqgxMQxuRz79M4LVo8fl3/bsh6Ozcb34G8MVDs7Oavy88ROLSVvTgYoWnX3TpxdQg66HiXvpb+lcuFPnDrmiOA==";
       };
     };
-    "passport-0.5.2" = {
+    "passport-0.6.0" = {
       name = "passport";
       packageName = "passport";
-      version = "0.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/passport/-/passport-0.5.2.tgz";
-        sha512 = "w9n/Ot5I7orGD4y+7V3EFJCQEznE5RxHamUxcqLT2QoJY0f2JdN8GyHonYFvN0Vz+L6lUJfVhrk2aZz2LbuREw==";
-      };
-    };
-    "passport-0.5.3" = {
-      name = "passport";
-      packageName = "passport";
-      version = "0.5.3";
+      version = "0.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/passport/-/passport-0.5.3.tgz";
-        sha512 = "gGc+70h4gGdBWNsR3FuV3byLDY6KBTJAIExGFXTpQaYfbbcHCBlRRKx7RBQSpqEqc5Hh2qVzRs7ssvSfOpkUEA==";
+        url = "https://registry.npmjs.org/passport/-/passport-0.6.0.tgz";
+        sha512 = "0fe+p3ZnrWRW74fe8+SvCyf4a3Pb2/h7gFkQ8yTJpAO50gDzlfjZUZTO1k5Eg9kUct22OxHLqDZoKUWRHOh9ug==";
       };
     };
     "passport-http-bearer-1.0.1" = {
@@ -52168,13 +52717,13 @@ let
         sha512 = "38tAwlJ7HevMENHD5FZE+yxSlAH5Wg3FoOjbB3MX2j3/kgpOEkmDHhTVKkecR57qxD5doHo2yi9nac94gqqbiQ==";
       };
     };
-    "pino-8.0.0" = {
+    "pino-8.1.0" = {
       name = "pino";
       packageName = "pino";
-      version = "8.0.0";
+      version = "8.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pino/-/pino-8.0.0.tgz";
-        sha512 = "EvZh9ZUoLGkrhqhoF9UBxw2/ZiAhXHUKlGrI4WUT/wLu0sfu8Wr3NJaZ6lxcy/S51W0PMSon5KE7ujPAhc/G6g==";
+        url = "https://registry.npmjs.org/pino/-/pino-8.1.0.tgz";
+        sha512 = "53jlxs+02UNTtF1XwVWfa0dHipBiM5GK73XhkHn8M2hUl9y3L94dNwB8BwQhpd5WdHjBkyJiO7v0LRt4SGgsPg==";
       };
     };
     "pino-abstract-transport-0.5.0" = {
@@ -52186,6 +52735,15 @@ let
         sha512 = "+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==";
       };
     };
+    "pino-abstract-transport-1.0.0" = {
+      name = "pino-abstract-transport";
+      packageName = "pino-abstract-transport";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.0.0.tgz";
+        sha512 = "c7vo5OpW4wIS42hUVcT5REsL8ZljsUfBjqV/e2sFxmFEFZiq1XLUp5EYLtuDH6PEHq9W1egWqRbnLUP5FuZmOA==";
+      };
+    };
     "pino-pretty-7.3.0" = {
       name = "pino-pretty";
       packageName = "pino-pretty";
@@ -52258,13 +52816,13 @@ let
         sha512 = "IWo0HwnxUEH9OtQ3qEZsKUbpdStRSomS18Gx4UV5JT1fj/E/opYGZMgpcdzC1+3ouBJECV1evzt0778S2RJ+/Q==";
       };
     };
-    "pkg-5.7.0" = {
+    "pkg-5.8.0" = {
       name = "pkg";
       packageName = "pkg";
-      version = "5.7.0";
+      version = "5.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pkg/-/pkg-5.7.0.tgz";
-        sha512 = "PTiAjNq/CGAtK5qUBR6pjheqnipTFjeecgSgIKEcAOJA4GpmZeOZC8pMOoT0rfes5vHsmcFo7wbSRTAmXQurrg==";
+        url = "https://registry.npmjs.org/pkg/-/pkg-5.8.0.tgz";
+        sha512 = "8h9PUDYFi+LOMLbIyGRdP21g08mAtHidSpofSrf8LWhxUWGHymaRzcopEGiynB5EhQmZUKM6PQ9kCImV2TpdjQ==";
       };
     };
     "pkg-conf-1.1.3" = {
@@ -52312,13 +52870,13 @@ let
         sha512 = "NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==";
       };
     };
-    "pkg-fetch-3.4.1" = {
+    "pkg-fetch-3.4.2" = {
       name = "pkg-fetch";
       packageName = "pkg-fetch";
-      version = "3.4.1";
+      version = "3.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pkg-fetch/-/pkg-fetch-3.4.1.tgz";
-        sha512 = "fS4cdayCa1r4jHkOKGPJKnS9PEs6OWZst+s+m0+CmhmPZObMnxoRnf9T9yUWl+lzM2b5aJF7cnQIySCT7Hq8Dg==";
+        url = "https://registry.npmjs.org/pkg-fetch/-/pkg-fetch-3.4.2.tgz";
+        sha512 = "0+uijmzYcnhC0hStDjm/cl2VYdrmVVBpe7Q8k9YBojxmR5tG8mvR9/nooQq3QSXiQqORDVOTY3XqMEqJVIzkHA==";
       };
     };
     "pkg-up-2.0.0" = {
@@ -52411,13 +52969,13 @@ let
         sha512 = "dL9Xc2Aj3YyBnwvCNuHmFl2LWvQacm/HEAsoVwLiuu0POboMChETt5wexpU1P6F6MnibIucXlVsMFFgNUT2IyA==";
       };
     };
-    "plist-3.0.5" = {
+    "plist-3.0.6" = {
       name = "plist";
       packageName = "plist";
-      version = "3.0.5";
+      version = "3.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/plist/-/plist-3.0.5.tgz";
-        sha512 = "83vX4eYdQp3vP9SxuYgEM/G/pJQqLUz/V/xzPrzruLs7fz7jxGQ1msZ/mg1nwZxUSuOp4sb+/bEIbRrbzZRxDA==";
+        url = "https://registry.npmjs.org/plist/-/plist-3.0.6.tgz";
+        sha512 = "WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA==";
       };
     };
     "plist-with-patches-0.5.1" = {
@@ -52600,6 +53158,15 @@ let
         sha512 = "40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==";
       };
     };
+    "pngjs-6.0.0" = {
+      name = "pngjs";
+      packageName = "pngjs";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz";
+        sha512 = "TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==";
+      };
+    };
     "pnp-webpack-plugin-1.7.0" = {
       name = "pnp-webpack-plugin";
       packageName = "pnp-webpack-plugin";
@@ -52843,6 +53410,15 @@ let
         sha512 = "6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==";
       };
     };
+    "postcss-load-config-4.0.1" = {
+      name = "postcss-load-config";
+      packageName = "postcss-load-config";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz";
+        sha512 = "vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==";
+      };
+    };
     "postcss-loader-3.0.0" = {
       name = "postcss-loader";
       packageName = "postcss-loader";
@@ -54058,15 +54634,6 @@ let
         sha512 = "7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==";
       };
     };
-    "progress-stream-1.2.0" = {
-      name = "progress-stream";
-      packageName = "progress-stream";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/progress-stream/-/progress-stream-1.2.0.tgz";
-        sha512 = "MIBPjZz6oGNSw5rn2mSp+nP9FGoaVo6QsPyPVEaD4puilz5hZNa3kfnrlqRNYFsugslbU3An4mnkLLtZOaWvrA==";
-      };
-    };
     "progress-stream-2.0.0" = {
       name = "progress-stream";
       packageName = "progress-stream";
@@ -54319,6 +54886,15 @@ let
         sha512 = "NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==";
       };
     };
+    "prompts-ncu-2.5.1" = {
+      name = "prompts-ncu";
+      packageName = "prompts-ncu";
+      version = "2.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prompts-ncu/-/prompts-ncu-2.5.1.tgz";
+        sha512 = "Hdd7GgV7b76Yh9FP9HL1D9xqtJCJdVPpiM2vDtuoc8W1KfweJe15gutFYmxkq83ViFaagFM8K0UcPCQ/tZq8bA==";
+      };
+    };
     "promzard-0.3.0" = {
       name = "promzard";
       packageName = "promzard";
@@ -54382,13 +54958,13 @@ let
         sha512 = "vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==";
       };
     };
-    "proto3-json-serializer-1.0.2" = {
+    "proto3-json-serializer-1.0.3" = {
       name = "proto3-json-serializer";
       packageName = "proto3-json-serializer";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/proto3-json-serializer/-/proto3-json-serializer-1.0.2.tgz";
-        sha512 = "wHxf8jYZ/LUP3M7XmULDKnbxBn+Bvk6SM+tDCPVTp9vraIzUi9hHsOBb1n2Y0VV0ukx4zBN/2vzMQYs4KWwRpg==";
+        url = "https://registry.npmjs.org/proto3-json-serializer/-/proto3-json-serializer-1.0.3.tgz";
+        sha512 = "4Xo7uzbTfc8ur9R8VgI0pJpI6aHix76cc7DHJEfZKrZ6vOUbOddxBrsMzAGG2s6b3iHknl4Gn50dA2Y3AoCdow==";
       };
     };
     "protobufjs-3.8.2" = {
@@ -54418,6 +54994,24 @@ let
         sha512 = "xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==";
       };
     };
+    "protobufjs-7.0.0" = {
+      name = "protobufjs";
+      packageName = "protobufjs";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/protobufjs/-/protobufjs-7.0.0.tgz";
+        sha512 = "ffNIEm+quOcYtQvHdW406v1NQmZSuqVklxsXk076BtuFnlYZfigLU+JOMrTD8TUOyqHYbRI/fSVNvgd25YeN3w==";
+      };
+    };
+    "protobufjs-cli-1.0.0" = {
+      name = "protobufjs-cli";
+      packageName = "protobufjs-cli";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/protobufjs-cli/-/protobufjs-cli-1.0.0.tgz";
+        sha512 = "7NZEBrFuuU2ZdzlhmAmvh8fdU7A4OFhzYX9AB7a5vXjopAeiks6ZgUSjOlOO7ItCDJQm3y9RWjk7spUbHc4X0w==";
+      };
+    };
     "protocol-buffers-4.2.0" = {
       name = "protocol-buffers";
       packageName = "protocol-buffers";
@@ -54427,13 +55021,13 @@ let
         sha512 = "hNp56d5uuREVde7UqP+dmBkwzxrhJwYU5nL/mdivyFfkRZdgAgojkyBeU3jKo7ZHrjdSx6Q1CwUmYJI6INt20g==";
       };
     };
-    "protocol-buffers-encodings-1.1.1" = {
+    "protocol-buffers-encodings-1.2.0" = {
       name = "protocol-buffers-encodings";
       packageName = "protocol-buffers-encodings";
-      version = "1.1.1";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/protocol-buffers-encodings/-/protocol-buffers-encodings-1.1.1.tgz";
-        sha512 = "5aFshI9SbhtcMiDiZZu3g2tMlZeS5lhni//AGJ7V34PQLU5JA91Cva7TIs6inZhYikS3OpnUzAUuL6YtS0CyDA==";
+        url = "https://registry.npmjs.org/protocol-buffers-encodings/-/protocol-buffers-encodings-1.2.0.tgz";
+        sha512 = "daeNPuKh1NlLD1uDfbLpD+xyUTc07nEtfHwmBZmt/vH0B7VOM+JOCOpDcx9ZRpqHjAiIkGqyTDi+wfGSl17R9w==";
       };
     };
     "protocol-buffers-schema-3.6.0" = {
@@ -54454,6 +55048,15 @@ let
         sha512 = "IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==";
       };
     };
+    "protocols-2.0.1" = {
+      name = "protocols";
+      packageName = "protocols";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/protocols/-/protocols-2.0.1.tgz";
+        sha512 = "/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==";
+      };
+    };
     "proxy-addr-1.1.5" = {
       name = "proxy-addr";
       packageName = "proxy-addr";
@@ -54580,6 +55183,24 @@ let
         sha512 = "z2ca00AMwZ6PfVETQNvXRumZdRwGuQzApIH/hKNp2o6Qo8N8TW7Ug2V+aSH2w/eC1b/bOOMZIE57V3jYN+kB4A==";
       };
     };
+    "psbt-2.7.0" = {
+      name = "psbt";
+      packageName = "psbt";
+      version = "2.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/psbt/-/psbt-2.7.0.tgz";
+        sha512 = "8a+XPz7+GO8brUqqXhyVPV9tPEt3RovZg1amHx6Asbb5FLQUIWJnxBysQGxmI4myDaaxlwd10bk26M5MwpCVYQ==";
+      };
+    };
+    "psbt-2.7.1" = {
+      name = "psbt";
+      packageName = "psbt";
+      version = "2.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/psbt/-/psbt-2.7.1.tgz";
+        sha512 = "qFnvwdQcDoQBHHi3jYVVX+W98CRTbyeQs3RlUdAIzdEVbwBHEcv1+xhVaEJHrYiF75n7L+i6roDmZHIXT6tDSQ==";
+      };
+    };
     "pseudomap-1.0.2" = {
       name = "pseudomap";
       packageName = "pseudomap";
@@ -54589,13 +55210,13 @@ let
         sha512 = "b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==";
       };
     };
-    "psl-1.8.0" = {
+    "psl-1.9.0" = {
       name = "psl";
       packageName = "psl";
-      version = "1.8.0";
+      version = "1.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz";
-        sha512 = "RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==";
+        url = "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz";
+        sha512 = "E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==";
       };
     };
     "pstree.remy-1.1.8" = {
@@ -55462,6 +56083,15 @@ let
         sha512 = "l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==";
       };
     };
+    "pupa-3.1.0" = {
+      name = "pupa";
+      packageName = "pupa";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz";
+        sha512 = "FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==";
+      };
+    };
     "puppeteer-1.20.0" = {
       name = "puppeteer";
       packageName = "puppeteer";
@@ -55489,13 +56119,13 @@ let
         sha512 = "U1uufzBjz3+PkpCxFrWzh4OrMIdIb2ztzCu0YEPfRHjHswcSwHZswnK+WdsOQJsRV8WeTg3jLhJR4D867+fjsA==";
       };
     };
-    "puppeteer-14.4.1" = {
+    "puppeteer-15.5.0" = {
       name = "puppeteer";
       packageName = "puppeteer";
-      version = "14.4.1";
+      version = "15.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/puppeteer/-/puppeteer-14.4.1.tgz";
-        sha512 = "+H0Gm84aXUvSLdSiDROtLlOofftClgw2TdceMvvCU9UvMryappoeS3+eOLfKvoy4sm8B8MWnYmPhWxVFudAOFQ==";
+        url = "https://registry.npmjs.org/puppeteer/-/puppeteer-15.5.0.tgz";
+        sha512 = "+vZPU8iBSdCx1Kn5hHas80fyo0TiVyMeqLGv/1dygX2HKhAZjO9YThadbRTCoTYq0yWw+w/CysldPsEekDtjDQ==";
       };
     };
     "purest-3.1.0" = {
@@ -55570,13 +56200,13 @@ let
         sha512 = "pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==";
       };
     };
-    "pyright-1.1.255" = {
+    "pyright-1.1.265" = {
       name = "pyright";
       packageName = "pyright";
-      version = "1.1.255";
+      version = "1.1.265";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pyright/-/pyright-1.1.255.tgz";
-        sha512 = "pAec1Mqyq0l0+C6JH7o7Va0oWyZVACEFgP2cWD9DU/C1epoqZAt/PCRbae/7fFfn7ZGew5tiTMdtO/2RZO/cRg==";
+        url = "https://registry.npmjs.org/pyright/-/pyright-1.1.265.tgz";
+        sha512 = "CHUV46qHE4AKjMXLzBGDvOO9pEDzpQKgnPx3vC/JVEfvvu/RRUGR27GSTDTVVRNXbTjmnWjhRKku1gPPNdDSyg==";
       };
     };
     "q-0.9.7" = {
@@ -55624,13 +56254,13 @@ let
         sha512 = "8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==";
       };
     };
-    "qrcode-1.5.0" = {
+    "qrcode-1.5.1" = {
       name = "qrcode";
       packageName = "qrcode";
-      version = "1.5.0";
+      version = "1.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/qrcode/-/qrcode-1.5.0.tgz";
-        sha512 = "9MgRpgVc+/+47dFvQeD6U2s0Z92EsKzcHogtum4QB+UNd025WOJSHvn/hjk9xmzj7Stj95CyUAs31mrjxliEsQ==";
+        url = "https://registry.npmjs.org/qrcode/-/qrcode-1.5.1.tgz";
+        sha512 = "nS8NJ1Z3md8uTjKtP+SGGhfqmTCs5flU/xR623oI0JX+Wepz9R8UrRVCTBTJm3qGw3rH6jJ6MUHjkDx15cxSSg==";
       };
     };
     "qrcode-terminal-0.11.0" = {
@@ -55714,13 +56344,13 @@ let
         sha512 = "wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==";
       };
     };
-    "qs-6.10.5" = {
+    "qs-6.11.0" = {
       name = "qs";
       packageName = "qs";
-      version = "6.10.5";
+      version = "6.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.10.5.tgz";
-        sha512 = "O5RlPh0VFtR78y79rgcgKK4wbAI0C5zGVLztOIdpWX6ep368q5Hv6XRxDvXuZ9q3C6v+e3n8UfZZJw7IIG27eQ==";
+        url = "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz";
+        sha512 = "MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==";
       };
     };
     "qs-6.2.3" = {
@@ -55795,15 +56425,6 @@ let
         sha512 = "EbZYNarm6138UKKq46tdx08Yo/q9ZhFoAXAI1meAFd2GtbRDhbZY2WQSICskT0c5q99aFzLG1D4nvTk9tqfXIw==";
       };
     };
-    "qs-6.9.6" = {
-      name = "qs";
-      packageName = "qs";
-      version = "6.9.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz";
-        sha512 = "TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==";
-      };
-    };
     "qs-6.9.7" = {
       name = "qs";
       packageName = "qs";
@@ -56254,13 +56875,13 @@ let
         sha512 = "PPYLwZ63lXi6Tv2EZ8w3M4FzC0rVqvxivaOVS8pXSp5FMIHFnvi4MWHL3UdFLhwSy50aNtJsgjY0mBC6oFL26Q==";
       };
     };
-    "rate-limiter-flexible-2.3.7" = {
+    "rate-limiter-flexible-2.3.8" = {
       name = "rate-limiter-flexible";
       packageName = "rate-limiter-flexible";
-      version = "2.3.7";
+      version = "2.3.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rate-limiter-flexible/-/rate-limiter-flexible-2.3.7.tgz";
-        sha512 = "dmc+J/IffVBvHlqq5/XClsdLdkOdQV/tjrz00cwneHUbEDYVrf4aUDAyR4Jybcf2+Vpn4NwoVrnnAyt/D0ciWw==";
+        url = "https://registry.npmjs.org/rate-limiter-flexible/-/rate-limiter-flexible-2.3.8.tgz";
+        sha512 = "ENCiteaxQKSFhTPxNq3Trb2dtyVoO2/PyewCicUoRi/ewmNyPdW6nowSYGUZhSE0r7udmf6FaU+tOUIOmVUKGg==";
       };
     };
     "raven-js-3.27.2" = {
@@ -56317,15 +56938,6 @@ let
         sha512 = "4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==";
       };
     };
-    "raw-body-2.4.2" = {
-      name = "raw-body";
-      packageName = "raw-body";
-      version = "2.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz";
-        sha512 = "RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==";
-      };
-    };
     "raw-body-2.4.3" = {
       name = "raw-body";
       packageName = "raw-body";
@@ -56416,13 +57028,13 @@ let
         sha512 = "C0SIXdXDSus2yqqvV7qifnb4NoWP7mEBXJq3axci301mXHCZb8Djwm4hrEZo4UeXRaEnfjH98uQ8EBppk2oNWA==";
       };
     };
-    "re-reselect-4.0.0" = {
+    "re-reselect-4.0.1" = {
       name = "re-reselect";
       packageName = "re-reselect";
-      version = "4.0.0";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/re-reselect/-/re-reselect-4.0.0.tgz";
-        sha512 = "wuygyq8TXUlSdVXv2kigXxQNOgdb9m7LbIjwfTNGSpaY1riLd5e+VeQjlQMyUtrk0oiyhi1AqIVynworl3qxHA==";
+        url = "https://registry.npmjs.org/re-reselect/-/re-reselect-4.0.1.tgz";
+        sha512 = "xVTNGQy/dAxOolunBLmVMGZ49VUUR1s8jZUiJQb+g1sI63GAv9+a5Jas9yHvdxeUgiZkU9r3gDExDorxHzOgRA==";
       };
     };
     "re2-1.17.7" = {
@@ -56470,13 +57082,13 @@ let
         sha512 = "dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A==";
       };
     };
-    "react-devtools-core-4.24.7" = {
+    "react-devtools-core-4.25.0" = {
       name = "react-devtools-core";
       packageName = "react-devtools-core";
-      version = "4.24.7";
+      version = "4.25.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.24.7.tgz";
-        sha512 = "OFB1cp8bsh5Kc6oOJ3ZzH++zMBtydwD53yBYa50FKEGyOOdgdbJ4VsCsZhN/6F5T4gJfrZraU6EKda8P+tMLtg==";
+        url = "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.25.0.tgz";
+        sha512 = "iewRrnu0ZnmfL+jJayKphXj04CFh6i3ezVnpCtcnZbTPSQgN09XqHAzXbKbqNDl7aTg9QLNkQRP6M3DvdrinWA==";
       };
     };
     "react-dom-17.0.2" = {
@@ -56587,31 +57199,13 @@ let
         sha512 = "Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ==";
       };
     };
-    "react-router-6.3.0" = {
-      name = "react-router";
-      packageName = "react-router";
-      version = "6.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-router/-/react-router-6.3.0.tgz";
-        sha512 = "7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ==";
-      };
-    };
-    "react-router-dom-6.3.0" = {
-      name = "react-router-dom";
-      packageName = "react-router-dom";
-      version = "6.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.3.0.tgz";
-        sha512 = "uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==";
-      };
-    };
-    "react-side-effect-2.1.1" = {
+    "react-side-effect-2.1.2" = {
       name = "react-side-effect";
       packageName = "react-side-effect";
-      version = "2.1.1";
+      version = "2.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.1.tgz";
-        sha512 = "2FoTQzRNTncBVtnzxFOk2mCpcfxQpenBMbk5kSVBg5UcPqV9fRbgY2zhb7GTWWOlpFmAxhClBDlIq8Rsubz1yQ==";
+        url = "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.2.tgz";
+        sha512 = "PVjOcvVOyIILrYoyGEpDN3vmYNLdy1CajSFNt4TDsVQC5KpTijDvWVoR+/7Rz2xT978D8/ZtFceXxzsPwZEDvw==";
       };
     };
     "react-string-replace-1.1.0" = {
@@ -56632,13 +57226,13 @@ let
         sha512 = "jx325RhRVnS9DdFbeF511z0T0WEqEoMl1uCE3LoZ6VaZZm7ytatxbum0B8bCTmaiV0KsU+4TtLGTGevCic7SWg==";
       };
     };
-    "react-transition-group-4.4.2" = {
+    "react-transition-group-4.4.5" = {
       name = "react-transition-group";
       packageName = "react-transition-group";
-      version = "4.4.2";
+      version = "4.4.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz";
-        sha512 = "/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==";
+        url = "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz";
+        sha512 = "pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==";
       };
     };
     "react-universal-component-4.5.0" = {
@@ -56740,15 +57334,6 @@ let
         sha512 = "CEjy9LCzhmD7nUpJ1oVOE6s/hBkejlcJEgLQHVnQznOSilOPb+kpKktlLfFDK3/WP43+F80xkUTM2VOkYoSYvQ==";
       };
     };
-    "read-cmd-shim-2.0.0" = {
-      name = "read-cmd-shim";
-      packageName = "read-cmd-shim";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-2.0.0.tgz";
-        sha512 = "HJpV9bQpkl6KwjxlJcBoqu9Ba0PQg8TqSNIOrulGt54a0uup0HtevreFHzYzkm0lpnleRdNBzXznKrgxglEHQw==";
-      };
-    };
     "read-cmd-shim-3.0.0" = {
       name = "read-cmd-shim";
       packageName = "read-cmd-shim";
@@ -56785,15 +57370,6 @@ let
         sha512 = "3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==";
       };
     };
-    "read-package-json-3.0.1" = {
-      name = "read-package-json";
-      packageName = "read-package-json";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/read-package-json/-/read-package-json-3.0.1.tgz";
-        sha512 = "aLcPqxovhJTVJcsnROuuzQvv6oziQx4zd3JvG0vGCL5MjTONUc4uJ90zCBC6R7W7oUKBNoR/F8pkyfVwlbxqng==";
-      };
-    };
     "read-package-json-4.1.2" = {
       name = "read-package-json";
       packageName = "read-package-json";
@@ -57001,13 +57577,13 @@ let
         sha512 = "BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==";
       };
     };
-    "readable-stream-4.0.0" = {
+    "readable-stream-4.1.0" = {
       name = "readable-stream";
       packageName = "readable-stream";
-      version = "4.0.0";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-4.0.0.tgz";
-        sha512 = "Mf7ilWBP6AV3tF3MjtBrHMH3roso7wIrpgzCwt9ybvqiJQVWIEBMnp/W+S//yvYSsUUi2cJIwD7q7m57l0AqZw==";
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-4.1.0.tgz";
+        sha512 = "sVisi3+P2lJ2t0BPbpK629j8wRW06yKGJUcaLAGXPAUhyUxVJm7VsCTit1PFgT4JHUDMrGNR+ZjSKpzGaRF3zw==";
       };
     };
     "readable-web-to-node-stream-2.0.0" = {
@@ -57028,13 +57604,13 @@ let
         sha512 = "ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==";
       };
     };
-    "readdir-glob-1.1.1" = {
+    "readdir-glob-1.1.2" = {
       name = "readdir-glob";
       packageName = "readdir-glob";
-      version = "1.1.1";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.1.tgz";
-        sha512 = "91/k1EzZwDx6HbERR+zucygRFfiPl2zkIYZtv3Jjr6Mn7SkKcVct8aVO+sSRiGMc6fLf72du3d92/uY63YPdEA==";
+        url = "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.2.tgz";
+        sha512 = "6RLVvwJtVwEDfPdn6X6Ille4/lxGl0ATOY4FN/B9nxQcgOazvvI0nodiD19ScKq0PvA/29VpaOQML36o5IzZWA==";
       };
     };
     "readdir-scoped-modules-1.1.0" = {
@@ -57298,13 +57874,13 @@ let
         sha512 = "DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==";
       };
     };
-    "redoc-2.0.0-rc.72" = {
+    "redoc-2.0.0-rc.74" = {
       name = "redoc";
       packageName = "redoc";
-      version = "2.0.0-rc.72";
+      version = "2.0.0-rc.74";
       src = fetchurl {
-        url = "https://registry.npmjs.org/redoc/-/redoc-2.0.0-rc.72.tgz";
-        sha512 = "IX/WvVh4N3zwo4sAjnQFz6ffIUd6G47hcflxPtrpxblJaeOy0MBSzzY8f179WjssWPYcSmmndP5v0hgEXFiimg==";
+        url = "https://registry.npmjs.org/redoc/-/redoc-2.0.0-rc.74.tgz";
+        sha512 = "OeOWGcbmVdfVgN//7ispiRX0fhD7Gk3tWcERugyFfP8QX/1Pttw3jRYSXmiB0i+H48zFn20K1cMppBp/qzm5xQ==";
       };
     };
     "reduce-component-1.0.1" = {
@@ -57478,13 +58054,13 @@ let
         sha512 = "pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==";
       };
     };
-    "regexpu-core-5.0.1" = {
+    "regexpu-core-5.1.0" = {
       name = "regexpu-core";
       packageName = "regexpu-core";
-      version = "5.0.1";
+      version = "5.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz";
-        sha512 = "CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==";
+        url = "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz";
+        sha512 = "bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==";
       };
     };
     "register-protocol-win32-1.1.0" = {
@@ -57523,6 +58099,15 @@ let
         sha512 = "PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==";
       };
     };
+    "registry-auth-token-5.0.1" = {
+      name = "registry-auth-token";
+      packageName = "registry-auth-token";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.1.tgz";
+        sha512 = "UfxVOj8seK1yaIOiieV4FIP01vfBDLsY0H9sQzi9EbbUdJiuuBjJgLa1DpImXMNPnVkBD4eVxTEXcrZA6kfpJA==";
+      };
+    };
     "registry-url-3.1.0" = {
       name = "registry-url";
       packageName = "registry-url";
@@ -57541,6 +58126,15 @@ let
         sha512 = "8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==";
       };
     };
+    "registry-url-6.0.1" = {
+      name = "registry-url";
+      packageName = "registry-url";
+      version = "6.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz";
+        sha512 = "+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==";
+      };
+    };
     "regjsgen-0.6.0" = {
       name = "regjsgen";
       packageName = "regjsgen";
@@ -58702,15 +59296,6 @@ let
         sha512 = "LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==";
       };
     };
-    "resolve-1.22.0" = {
-      name = "resolve";
-      packageName = "resolve";
-      version = "1.22.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz";
-        sha512 = "Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==";
-      };
-    };
     "resolve-1.22.1" = {
       name = "resolve";
       packageName = "resolve";
@@ -58882,13 +59467,13 @@ let
         sha512 = "/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==";
       };
     };
-    "responselike-2.0.0" = {
+    "responselike-2.0.1" = {
       name = "responselike";
       packageName = "responselike";
-      version = "2.0.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz";
-        sha512 = "xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==";
+        url = "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz";
+        sha512 = "4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==";
       };
     };
     "restify-4.0.3" = {
@@ -59089,15 +59674,6 @@ let
         sha512 = "XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==";
       };
     };
-    "retry-0.6.1" = {
-      name = "retry";
-      packageName = "retry";
-      version = "0.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/retry/-/retry-0.6.1.tgz";
-        sha512 = "txv1qsctZq8ei9J/uCXgaKKFPjlBB0H2hvtnzw9rjKWFNUFtKh59WprXxpAeAey3/QeWwHdxMFqStPaOAgy+dA==";
-      };
-    };
     "retry-0.9.0" = {
       name = "retry";
       packageName = "retry";
@@ -59467,13 +60043,13 @@ let
         sha512 = "tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==";
       };
     };
-    "run-con-1.2.10" = {
+    "run-con-1.2.11" = {
       name = "run-con";
       packageName = "run-con";
-      version = "1.2.10";
+      version = "1.2.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/run-con/-/run-con-1.2.10.tgz";
-        sha512 = "n7PZpYmMM26ZO21dd8y3Yw1TRtGABjRtgPSgFS/nhzfvbJMXFtJhJVyEgayMiP+w/23craJjsnfDvx4W4ue/HQ==";
+        url = "https://registry.npmjs.org/run-con/-/run-con-1.2.11.tgz";
+        sha512 = "NEMGsUT+cglWkzEr4IFK21P4Jca45HqiAbIIZIBdX5+UZTB24Mb/21iNGgz9xZa8tL6vbW7CXmq7MFN42+VjNQ==";
       };
     };
     "run-parallel-1.2.0" = {
@@ -59611,13 +60187,13 @@ let
         sha512 = "hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==";
       };
     };
-    "rxjs-7.5.5" = {
+    "rxjs-7.5.6" = {
       name = "rxjs";
       packageName = "rxjs";
-      version = "7.5.5";
+      version = "7.5.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz";
-        sha512 = "sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==";
+        url = "https://registry.npmjs.org/rxjs/-/rxjs-7.5.6.tgz";
+        sha512 = "dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==";
       };
     };
     "s3-stream-upload-2.0.2" = {
@@ -59818,13 +60394,13 @@ let
         sha512 = "zmXn03k3hN0KaiVTjohgkg98C3UowhL1/VSGdj4/VAAiMKGQOE80PFPxFP2Kyq0OUskPKcY5lImkhBKEHlypJA==";
       };
     };
-    "sass-1.52.3" = {
+    "sass-1.54.2" = {
       name = "sass";
       packageName = "sass";
-      version = "1.52.3";
+      version = "1.54.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sass/-/sass-1.52.3.tgz";
-        sha512 = "LNNPJ9lafx+j1ArtA7GyEJm9eawXN8KlA1+5dF6IZyoONg1Tyo/g+muOsENWJH/2Q1FHbbV4UwliU0cXMa/VIA==";
+        url = "https://registry.npmjs.org/sass/-/sass-1.54.2.tgz";
+        sha512 = "wbVV26sejsCIbBScZZtNkvnrB/bVCQ8hSlZ01D9nzsVh9zLqCkWrlpvTb3YEb6xsuNi9cx75hncqwikHFSz7tw==";
       };
     };
     "sass-loader-10.2.0" = {
@@ -60034,13 +60610,13 @@ let
         sha512 = "AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==";
       };
     };
-    "secure-json-parse-2.4.0" = {
+    "secure-json-parse-2.5.0" = {
       name = "secure-json-parse";
       packageName = "secure-json-parse";
-      version = "2.4.0";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.4.0.tgz";
-        sha512 = "Q5Z/97nbON5t/L/sH6mY2EacfjVGwrCcSi5D3btRO2GZ8pf1K1UN7Z9H5J57hjVU2Qzxr1xO+FmBhOvEkzCMmg==";
+        url = "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.5.0.tgz";
+        sha512 = "ZQruFgZnIWH+WyO9t5rWt4ZEGqCKPwhiw+YbzTwpmT9elgLrLcfuyUiSnwwjUiVy9r4VM3urtbNF1xmEh9IL2w==";
       };
     };
     "secure-keys-1.0.0" = {
@@ -60223,6 +60799,15 @@ let
         sha512 = "OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==";
       };
     };
+    "semver-7.3.4" = {
+      name = "semver";
+      packageName = "semver";
+      version = "7.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz";
+        sha512 = "tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==";
+      };
+    };
     "semver-7.3.5" = {
       name = "semver";
       packageName = "semver";
@@ -60268,6 +60853,15 @@ let
         sha512 = "GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==";
       };
     };
+    "semver-diff-4.0.0" = {
+      name = "semver-diff";
+      packageName = "semver-diff";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz";
+        sha512 = "0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==";
+      };
+    };
     "semver-greatest-satisfied-range-1.1.0" = {
       name = "semver-greatest-satisfied-range";
       packageName = "semver-greatest-satisfied-range";
@@ -60376,15 +60970,6 @@ let
         sha512 = "8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==";
       };
     };
-    "sentence-splitter-2.3.2" = {
-      name = "sentence-splitter";
-      packageName = "sentence-splitter";
-      version = "2.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sentence-splitter/-/sentence-splitter-2.3.2.tgz";
-        sha512 = "QnpHNykm4nI4T6mT+NoVayh9Ixl5DohYCSVqMgPJsO2WejOcqaYTh4HQOkmzaDzXH3NO5pif4z/hpo2NGtgNlg==";
-      };
-    };
     "sentence-splitter-3.2.2" = {
       name = "sentence-splitter";
       packageName = "sentence-splitter";
@@ -60583,15 +61168,6 @@ let
         sha512 = "KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==";
       };
     };
-    "set-cookie-parser-2.5.0" = {
-      name = "set-cookie-parser";
-      packageName = "set-cookie-parser";
-      version = "2.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.5.0.tgz";
-        sha512 = "cHMAtSXilfyBePduZEBVPTCftTQWz6ehWJD5YNUg4mqvRosrrjKbo4WS8JkB0/RxonMoohHm7cOGH60mDkRQ9w==";
-      };
-    };
     "set-value-2.0.1" = {
       name = "set-value";
       packageName = "set-value";
@@ -60961,13 +61537,13 @@ let
         sha512 = "xhdh7fHyMsr0m/w2kDfRJuBFRS96b9l8ZPNWGaQ+PMvnUnZ/Eh+gJJ9NsHBd7P9k0399WYlCLzsy18EaMfyadA==";
       };
     };
-    "shush-1.0.1" = {
+    "shush-1.0.2" = {
       name = "shush";
       packageName = "shush";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/shush/-/shush-1.0.1.tgz";
-        sha512 = "baDDBPaPcFwVeQNfj1lYkE/NkqQr1WkXUlOePHnA5I8hw9Fz0Tu72ZC0XENeV4tM9tesaGA/Wi2mW07EOeKRuQ==";
+        url = "https://registry.npmjs.org/shush/-/shush-1.0.2.tgz";
+        sha512 = "dA7YOFK3a2Ra2SVOucZIDi6qjllTEw3ri7eexmyxyJCYFpYZe0Ja4ZWUqX0NG6DKkC2rw1FEtsrCakERwGQR2g==";
       };
     };
     "side-channel-1.0.4" = {
@@ -61096,13 +61672,13 @@ let
         sha512 = "z4qtrRuaAFJS4PUd0g+xy7aN4y+RvEt/QTJpR184lhJguBA1S/LsVlvE/CM95RsYMOFJG3NGGDjqFCzKU19S/A==";
       };
     };
-    "simple-git-3.8.0" = {
+    "simple-git-3.11.0" = {
       name = "simple-git";
       packageName = "simple-git";
-      version = "3.8.0";
+      version = "3.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-git/-/simple-git-3.8.0.tgz";
-        sha512 = "nbR1PufcbvCaW90CiAXC1mM7OnEqLzjSOnySnq7Sd2kcVG6GxSa+DhxhFmCgxLv4kWCKmZagkCZSjfNAQTZwaw==";
+        url = "https://registry.npmjs.org/simple-git/-/simple-git-3.11.0.tgz";
+        sha512 = "XULamN/hxviH/ABjDbxJqUTpH59Pn3fHRtwZZZ6v7KWTLE3wKl6CLB0SPXFfzjalQ5hUp+R5DWX2X8rKm4crvw==";
       };
     };
     "simple-handshake-3.0.0" = {
@@ -61159,13 +61735,13 @@ let
         sha512 = "D1SaWpOW8afq1CZGWB8xTfrT3FekjQmPValrqncJMX7QFl8YwhrPTZvMCANLtgBwwdS+7zURyqxDDEmY558tTw==";
       };
     };
-    "simple-plist-1.3.1" = {
+    "simple-plist-1.4.0" = {
       name = "simple-plist";
       packageName = "simple-plist";
-      version = "1.3.1";
+      version = "1.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-plist/-/simple-plist-1.3.1.tgz";
-        sha512 = "iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw==";
+        url = "https://registry.npmjs.org/simple-plist/-/simple-plist-1.4.0.tgz";
+        sha512 = "Emr2CR0T6cfQlbXxk7KtpU183WpJXWdl9c7D8uTtduX7bzVO1A6yTO6BauGzbWQhdOfpggcc9s0PN8+JyG/2gQ==";
       };
     };
     "simple-sha1-2.1.2" = {
@@ -61195,6 +61771,15 @@ let
         sha512 = "JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==";
       };
     };
+    "simple-update-notifier-1.0.7" = {
+      name = "simple-update-notifier";
+      packageName = "simple-update-notifier";
+      version = "1.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.0.7.tgz";
+        sha512 = "BBKgR84BJQJm6WjWFMHgLVuo61FBDSj1z/xSFUIozqO6wO7ii0JxCqlIud7Enr/+LhlbNI0whErq96P2qHNWew==";
+      };
+    };
     "simple-websocket-4.3.1" = {
       name = "simple-websocket";
       packageName = "simple-websocket";
@@ -61591,13 +62176,13 @@ let
         sha512 = "2A892lrj0GcgR/9Qk81EaY2gYhCBxurV0PfmmESO6p27QPrUK1J3zdns+5QPqvUYK2q657nSj0guoIil9+7eFg==";
       };
     };
-    "socket.io-2.4.1" = {
+    "socket.io-2.5.0" = {
       name = "socket.io";
       packageName = "socket.io";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/socket.io/-/socket.io-2.4.1.tgz";
-        sha512 = "Si18v0mMXGAqLqCVpTxBa8MGqriHGQh8ccEOhmsmNS3thNCGBwO8WGrwMibANsWtQQ5NStdZwHqZR3naJVFc3w==";
+        url = "https://registry.npmjs.org/socket.io/-/socket.io-2.5.0.tgz";
+        sha512 = "gGunfS0od3VpwDBpGwVkzSZx6Aqo9uOcf1afJj2cKnKFAoyl16fvhpsUhmUFd4Ldbvl5JvRQed6eQw6oQp6n8w==";
       };
     };
     "socket.io-4.3.1" = {
@@ -61690,13 +62275,13 @@ let
         sha512 = "cEQQf24gET3rfhxZ2jJ5xzAOo/xhZwK+mOqtGRg5IowZsMgwvHwnf/mCRapAAkadhM26y+iydgwsXGObBB5ZdA==";
       };
     };
-    "socket.io-client-2.4.0" = {
+    "socket.io-client-2.5.0" = {
       name = "socket.io-client";
       packageName = "socket.io-client";
-      version = "2.4.0";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.4.0.tgz";
-        sha512 = "M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ==";
+        url = "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.5.0.tgz";
+        sha512 = "lOO9clmdgssDykiOmVQQitwBAF3I6mYcQAo7hQ7AM6Ny5X7fp8hIJ3HcQs3Rjz4SoggoxA1OgrQyY8EgTbcPYw==";
       };
     };
     "socket.io-client-4.3.2" = {
@@ -61762,13 +62347,13 @@ let
         sha512 = "11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A==";
       };
     };
-    "socket.io-parser-4.0.4" = {
+    "socket.io-parser-4.0.5" = {
       name = "socket.io-parser";
       packageName = "socket.io-parser";
-      version = "4.0.4";
+      version = "4.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz";
-        sha512 = "t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==";
+        url = "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.5.tgz";
+        sha512 = "sNjbT9dX63nqUFIOv95tTVm6elyIU4RvB1m8dOeZt+IgWwcWklFDOdmGcfo3zSiRsnR/3pJkjY5lfoGqEe4Eig==";
       };
     };
     "socket.io-parser-4.1.2" = {
@@ -61780,13 +62365,13 @@ let
         sha512 = "j3kk71QLJuyQ/hh5F/L2t1goqzdTL0gvDzuhTuNSwihfuFUrcSji0qFZmJJPtG6Rmug153eOPsUizeirf1IIog==";
       };
     };
-    "socket.io-parser-4.2.0" = {
+    "socket.io-parser-4.2.1" = {
       name = "socket.io-parser";
       packageName = "socket.io-parser";
-      version = "4.2.0";
+      version = "4.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.0.tgz";
-        sha512 = "tLfmEwcEwnlQTxFB7jibL/q2+q8dlVQzj4JdRLJ/W/G1+Fu9VSxCx1Lo+n1HvXxKnM//dUuD0xgiA7tQf57Vng==";
+        url = "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz";
+        sha512 = "V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==";
       };
     };
     "sockjs-0.3.20" = {
@@ -61825,13 +62410,13 @@ let
         sha512 = "2g0tjOR+fRs0amxENLi/q5TiJTqY+WXFOzb5UwXndlK6TO3U/mirZznpx6w34HVMoc3g7cY24yC/ZMIYnDlfkw==";
       };
     };
-    "socks-2.6.2" = {
+    "socks-2.7.0" = {
       name = "socks";
       packageName = "socks";
-      version = "2.6.2";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz";
-        sha512 = "zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==";
+        url = "https://registry.npmjs.org/socks/-/socks-2.7.0.tgz";
+        sha512 = "scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA==";
       };
     };
     "socks-proxy-agent-5.0.1" = {
@@ -61987,13 +62572,13 @@ let
         sha512 = "zlOmAKFLJzTI+MbvmkWhnOOJ++NYo0Iy7F93ARNPmvZvpWG2l8Ff3uwM3CkpHqRw8v3pcRROScM5E+vbeTeOKw==";
       };
     };
-    "sonic-boom-3.0.0" = {
+    "sonic-boom-3.2.0" = {
       name = "sonic-boom";
       packageName = "sonic-boom";
-      version = "3.0.0";
+      version = "3.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.0.0.tgz";
-        sha512 = "p5DiZOZHbJ2ZO5MADczp5qrfOd3W5Vr2vHxfCpe7G4AzPwVOweIjbfgku8wSQUuk+Y5Yuo8W7JqRe6XKmKistg==";
+        url = "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.2.0.tgz";
+        sha512 = "SbbZ+Kqj/XIunvIAgUZRlqd6CGQYq71tRRbXR92Za8J/R3Yh4Av+TWENiSiEgnlwckYLyP0YZQWVfyNC0dzLaA==";
       };
     };
     "sorcery-0.10.0" = {
@@ -62680,22 +63265,22 @@ let
         sha512 = "rjvqHFUaSGnzxDy2AHCwhHy6Zp6MNJzCPGYju4kD8yi6bze4d1/zMTg6C7JI49b7/EM7jKMTvyfN/4ylBKdwfw==";
       };
     };
-    "sqlite3-5.0.2" = {
+    "sqlite3-5.0.11" = {
       name = "sqlite3";
       packageName = "sqlite3";
-      version = "5.0.2";
+      version = "5.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-5.0.2.tgz";
-        sha512 = "1SdTNo+BVU211Xj1csWa8lV6KM0CtucDwRyA0VHl91wEH1Mgh7RxUpI4rVvG7OhHrzCSGaVyW5g8vKvlrk9DJA==";
+        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-5.0.11.tgz";
+        sha512 = "4akFOr7u9lJEeAWLJxmwiV43DJcGV7w3ab7SjQFAFaTVyknY3rZjvXTKIVtWqUoY4xwhjwoHKYs2HDW2SoHVsA==";
       };
     };
-    "sqlite3-5.0.8" = {
+    "sqlite3-5.0.2" = {
       name = "sqlite3";
       packageName = "sqlite3";
-      version = "5.0.8";
+      version = "5.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-5.0.8.tgz";
-        sha512 = "f2ACsbSyb2D1qFFcqIXPfFscLtPVOWJr5GmUzYxf4W+0qelu5MWrR+FAQE1d5IUArEltBrzSDxDORG8P/IkqyQ==";
+        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-5.0.2.tgz";
+        sha512 = "1SdTNo+BVU211Xj1csWa8lV6KM0CtucDwRyA0VHl91wEH1Mgh7RxUpI4rVvG7OhHrzCSGaVyW5g8vKvlrk9DJA==";
       };
     };
     "sqlite3-git+https://github.com/mapbox/node-sqlite3.git#918052b538b0effe6c4a44c74a16b2749c08a0d2" = {
@@ -62753,13 +63338,13 @@ let
         sha512 = "8K3qi9fIr6PYQCWWPDTijDThZ89tYRkIKO7xpS/kM8dDuDfx4FsBoMsBkgl8VOV3TB24UnAF0IbcxRBNL5Pf4w==";
       };
     };
-    "ssb-bfe-3.3.0" = {
+    "ssb-bfe-3.5.0" = {
       name = "ssb-bfe";
       packageName = "ssb-bfe";
-      version = "3.3.0";
+      version = "3.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-bfe/-/ssb-bfe-3.3.0.tgz";
-        sha512 = "cFMNLHdUlvdIp0lUYlTkCBD6+fp/xwaWOxTTTu7QP+I6B4SRV50yWw/rgAIgw/afkUR0mmUysQ0SJ6cGnEV0QA==";
+        url = "https://registry.npmjs.org/ssb-bfe/-/ssb-bfe-3.5.0.tgz";
+        sha512 = "+ADruC6EESvo6HOb6c4jH9Ogz/ZI2+Zj7m6WVOmp2cEtdYpYbB4UcfuxXp82Gi653O+x8t0XGrfelAoRHtfnwQ==";
       };
     };
     "ssb-bfe-spec-0.6.0" = {
@@ -62906,13 +63491,13 @@ let
         sha512 = "FPeyYU/3LpxcagnbmVWE+Q/qzg6keqeOBPbD7sEH9UKixUASeufPKiORDgh8nVX7J9Z+0vUaHt/WG999kGjvVQ==";
       };
     };
-    "ssb-keys-8.4.0" = {
+    "ssb-keys-8.4.1" = {
       name = "ssb-keys";
       packageName = "ssb-keys";
-      version = "8.4.0";
+      version = "8.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-keys/-/ssb-keys-8.4.0.tgz";
-        sha512 = "Jf7iCEwmQ1f1XGllv+di5NBIV3luzF9T3l1MtYoWp7Mveb5go6nb8qjWvn3sgQzh5zpIyQLi1cjTmqp2CxIeCA==";
+        url = "https://registry.npmjs.org/ssb-keys/-/ssb-keys-8.4.1.tgz";
+        sha512 = "1HnP80HaBoCawYOBYk6b91NWmrBULVDTbhfnuVfRmGUiT9vwlWKKvJmp2b7dthkHWpaQcI7Wu6+nGQK/YOFUJw==";
       };
     };
     "ssb-links-3.0.10" = {
@@ -63095,6 +63680,15 @@ let
         sha512 = "HkgRbZeFe3YhBLfv5C6AgJaz1ESlQ5MP7sAdRTpCYwU4wo0U+d/irvVUsnUimPq6FO/Zn6gmW8BiCk+JBv3rGw==";
       };
     };
+    "ssb-uri2-2.0.2" = {
+      name = "ssb-uri2";
+      packageName = "ssb-uri2";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ssb-uri2/-/ssb-uri2-2.0.2.tgz";
+        sha512 = "epjRE0lNfpfTPh2HeGQrIObdMHs6CJwYqPHJ8lVkM8irdGomcp9hU5eNUVzOrwqfFMeW36trNIRtDHEcMtJZQA==";
+      };
+    };
     "ssb-validate-4.1.4" = {
       name = "ssb-validate";
       packageName = "ssb-validate";
@@ -63824,13 +64418,13 @@ let
         sha512 = "OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ==";
       };
     };
-    "streamroller-3.1.1" = {
+    "streamroller-3.1.2" = {
       name = "streamroller";
       packageName = "streamroller";
-      version = "3.1.1";
+      version = "3.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/streamroller/-/streamroller-3.1.1.tgz";
-        sha512 = "iPhtd9unZ6zKdWgMeYGfSBuqCngyJy1B/GPi/lTpwGpa3bajuX30GjUVd0/Tn/Xhg0mr4DOSENozz9Y06qyonQ==";
+        url = "https://registry.npmjs.org/streamroller/-/streamroller-3.1.2.tgz";
+        sha512 = "wZswqzbgGGsXYIrBYhOE0yP+nQ6XRk7xDcYwuQAGTYXdyAUmvgVFE0YU1g5pvQT0m7GBaQfYcSnlHbapuK0H0A==";
       };
     };
     "streamsearch-0.1.2" = {
@@ -64481,6 +65075,15 @@ let
         sha512 = "LzWcbfMbAsEDTRmhjWIioe8GcDRl0fa35YMXFoJKDdiD/quGFmjJjdgPjFJJNwCMaLyQqFIDqCdHD2V4HfLgYA==";
       };
     };
+    "strip-json-comments-5.0.0" = {
+      name = "strip-json-comments";
+      packageName = "strip-json-comments";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-5.0.0.tgz";
+        sha512 = "V1LGY4UUo0jgwC+ELQ2BNWfPa17TIuwBLg+j1AA/9RPzKINl1lhxVEu2r+ZTTO8aetIsUzE5Qj6LMSBkoGYKKw==";
+      };
+    };
     "strip-outer-1.0.1" = {
       name = "strip-outer";
       packageName = "strip-outer";
@@ -64670,6 +65273,15 @@ let
         sha512 = "cVqd/URpp7si1HWu5YqQ3vqQkjuolAwHypY1B4itPlS71/lsf6TQPZ2Y0ijT22EYVkvH5ove9JFJf4u7VGPuZw==";
       };
     };
+    "subscriptions-transport-ws-0.11.0" = {
+      name = "subscriptions-transport-ws";
+      packageName = "subscriptions-transport-ws";
+      version = "0.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/subscriptions-transport-ws/-/subscriptions-transport-ws-0.11.0.tgz";
+        sha512 = "8D4C6DIH5tGiAIpp5I0wD/xRlNiZAPGHygzCe7VzyzUoxHtawzjNAY9SUTXU05/EY2NMY9/9GF0ycizkXr1CWQ==";
+      };
+    };
     "subscriptions-transport-ws-0.9.18" = {
       name = "subscriptions-transport-ws";
       packageName = "subscriptions-transport-ws";
@@ -64688,22 +65300,13 @@ let
         sha512 = "dxdemxFFB0ppCLg10FTtRqH/31FNRL1y1BQv8209MK5I4CwALb7iihQg+7p65lFcIl8MHatINWBLOqpgU4Kyyw==";
       };
     };
-    "subscriptions-transport-ws-0.9.8" = {
-      name = "subscriptions-transport-ws";
-      packageName = "subscriptions-transport-ws";
-      version = "0.9.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.8.tgz";
-        sha512 = "scTO/WQOTkZp3fIhglMg8A+7D1+Ua1DJnSG0MRWx2s9kSdW1+D53YqJ81iqHw0YttVF6ZHcKqOhXwRzn+QsihQ==";
-      };
-    };
-    "sucrase-3.21.0" = {
+    "sucrase-3.25.0" = {
       name = "sucrase";
       packageName = "sucrase";
-      version = "3.21.0";
+      version = "3.25.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sucrase/-/sucrase-3.21.0.tgz";
-        sha512 = "FjAhMJjDcifARI7bZej0Bi1yekjWQHoEvWIXhLPwDhC6O4iZ5PtGb86WV56riW87hzpgB13wwBKO9vKAiWu5VQ==";
+        url = "https://registry.npmjs.org/sucrase/-/sucrase-3.25.0.tgz";
+        sha512 = "WxTtwEYXSmZArPGStGBicyRsg5TBEFhT5b7N+tF+zauImP0Acy+CoUK0/byJ8JNPK/5lbpWIVuFagI4+0l85QQ==";
       };
     };
     "sudo-block-1.2.0" = {
@@ -64958,13 +65561,13 @@ let
         sha512 = "ay4MPFjfiQzDsyTidljJLXQi22l2AwjcuamYnJWj/LdhaHdKmDJxRox52WXimdcLpMuLDtkQvv4+jEu+wu9eSw==";
       };
     };
-    "svelte-3.48.0" = {
+    "svelte-3.49.0" = {
       name = "svelte";
       packageName = "svelte";
-      version = "3.48.0";
+      version = "3.49.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/svelte/-/svelte-3.48.0.tgz";
-        sha512 = "fN2YRm/bGumvjUpu6yI3BpvZnpIm9I6A7HR4oUNYd7ggYyIwSA/BX7DJ+UXXffLp6XNcUijyLvttbPVCYa/3xQ==";
+        url = "https://registry.npmjs.org/svelte/-/svelte-3.49.0.tgz";
+        sha512 = "+lmjic1pApJWDfPCpUUTc1m8azDqYCG1JN9YEngrx/hUyIcFJo6VZhj0A1Ai0wqoHcEIuQy+e9tk+4uDgdtsFA==";
       };
     };
     "svelte-preprocess-4.10.7" = {
@@ -64976,13 +65579,13 @@ let
         sha512 = "sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==";
       };
     };
-    "svelte2tsx-0.5.10" = {
+    "svelte2tsx-0.5.13" = {
       name = "svelte2tsx";
       packageName = "svelte2tsx";
-      version = "0.5.10";
+      version = "0.5.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.5.10.tgz";
-        sha512 = "nokQ0HTTWMcNX6tLrDLiOmJCuqjKZU9nCZ6/mVuCL3nusXdbp+9nv69VG2pCy7uQC66kV4Ls+j0WfvvJuGVnkg==";
+        url = "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.5.13.tgz";
+        sha512 = "JAwln2Gd6gQk8q/Qz91rk8msSqe4M2ABrku8YeDMsFnrqjPTWLnHYvxlXLAlHE5el1Q8sfExTePHF3xAZPh/mw==";
       };
     };
     "sver-compat-1.5.0" = {
@@ -65138,13 +65741,13 @@ let
         sha512 = "8z18eX8G/jbTXYzyNIaobrnD7PSN7yU/YkSasMmajrXtw0FGS64XjrKn5v37d36qmU3o1xLeuYnktshRr7uIFw==";
       };
     };
-    "swagger-ui-dist-4.12.0" = {
+    "swagger-ui-dist-4.13.2" = {
       name = "swagger-ui-dist";
       packageName = "swagger-ui-dist";
-      version = "4.12.0";
+      version = "4.13.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-4.12.0.tgz";
-        sha512 = "B0Iy2ueXtbByE6OOyHTi3lFQkpPi/L7kFOKFeKTr44za7dJIELa9kzaca6GkndCgpK1QTjArnoXG+aUy0XQp1w==";
+        url = "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-4.13.2.tgz";
+        sha512 = "jHL6UyIYpvEI7NsuWd0R3hJaPQTg6Oo4qSBo+oVfOEkv6rrQm/475RGSMmZgV6ajp+Sgrp9CqrDjQYAgQqiv1A==";
       };
     };
     "swagger2openapi-7.0.8" = {
@@ -65264,15 +65867,6 @@ let
         sha512 = "dJp4qg+x4JwSEW1HibAuMi0IIrBI3wuQr2GimmqB7OXR50wmwzfdusG+p39R9w3R6aFtZ2mzvxvWKQ3Bd/vx3g==";
       };
     };
-    "sync-fetch-0.4.1" = {
-      name = "sync-fetch";
-      packageName = "sync-fetch";
-      version = "0.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sync-fetch/-/sync-fetch-0.4.1.tgz";
-        sha512 = "JDtyFEvnKUzt1CxRtzzsGgkBanEv8XRmLyJo0F0nGkpCR8EjYmpOJJXz8GA/SWtlPU0nAYh0+CNMNnFworGyOA==";
-      };
-    };
     "syntax-error-1.4.0" = {
       name = "syntax-error";
       packageName = "syntax-error";
@@ -65282,13 +65876,13 @@ let
         sha512 = "YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==";
       };
     };
-    "systeminformation-5.11.21" = {
+    "systeminformation-5.12.2" = {
       name = "systeminformation";
       packageName = "systeminformation";
-      version = "5.11.21";
+      version = "5.12.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-5.11.21.tgz";
-        sha512 = "aYuoelPUEItkeFi9d2EgGYZur6CgGaPAOUv9K5h1rJn5EyAYIXtonxJN3Dn58zQ3BFbj9FggaxaVBGg/pNRngA==";
+        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-5.12.2.tgz";
+        sha512 = "j0Ix2l69jcoEerA9jAAr6CYWGKFbn1mB6Uw7m8xnOXs6XGvMKA4etZpsqyWnr8H/8SvVePzTae3y5CC8q+mC5w==";
       };
     };
     "sywac-1.3.0" = {
@@ -65589,13 +66183,13 @@ let
         sha512 = "+G0LLgjjo9BZX2MfdvPfH+MKLCrxlXSYec5DaPYP1fe6Iyhf0/fSmJ0bFiZ1F8BT6cGXl2LpltQptzjXKWEkKA==";
       };
     };
-    "telegraf-3.39.0" = {
+    "telegraf-3.40.0" = {
       name = "telegraf";
       packageName = "telegraf";
-      version = "3.39.0";
+      version = "3.40.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/telegraf/-/telegraf-3.39.0.tgz";
-        sha512 = "6u5UyW2KpMS/hwC4DKLGlicK/rVSYCahPFgF14ioP6BzwcDwQlciHCB/oWguvxLJaYGrvY6crzLHfjupFTBPXw==";
+        url = "https://registry.npmjs.org/telegraf/-/telegraf-3.40.0.tgz";
+        sha512 = "wulVjRHrX2zQwbk1/jzg3Ll9Kr0xC7ofXsRPJgcV2yoCFx5oSU41ZaDKNRPsLhjXxW4s9iNM2S2N/ESyiZxTMQ==";
       };
     };
     "temp-0.8.3" = {
@@ -65769,22 +66363,22 @@ let
         sha512 = "/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==";
       };
     };
-    "terser-4.8.0" = {
+    "terser-4.8.1" = {
       name = "terser";
       packageName = "terser";
-      version = "4.8.0";
+      version = "4.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz";
-        sha512 = "EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==";
+        url = "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz";
+        sha512 = "4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==";
       };
     };
-    "terser-5.14.1" = {
+    "terser-5.14.2" = {
       name = "terser";
       packageName = "terser";
-      version = "5.14.1";
+      version = "5.14.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/terser/-/terser-5.14.1.tgz";
-        sha512 = "+ahUAE+iheqBTDxXhTisdA8hgvbEG1hHOQ9xmNjeUJSoi6DU/gMrKNcfZjHkyY6Alnuyc+ikYJaxxfHkT3+WuQ==";
+        url = "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz";
+        sha512 = "oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==";
       };
     };
     "terser-webpack-plugin-1.4.5" = {
@@ -65886,6 +66480,15 @@ let
         sha512 = "MeqZRHLuaGamUXGuVn2ivtU3LA3mLCCIO5kUGoohTCoGmCBg/+8yPhWVX9WSl9telvVd8erftjFk9Fwb2dD6rw==";
       };
     };
+    "textlint-12.2.1" = {
+      name = "textlint";
+      packageName = "textlint";
+      version = "12.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/textlint/-/textlint-12.2.1.tgz";
+        sha512 = "e6xKNLbTt10KbnG0x3eVE7l8A7uOC9bj0Hc8cWk6VoLffjrdw4o8kJjWVIspNzfb0kUEs2dBKgXZo0ob4tMWAg==";
+      };
+    };
     "textlint-rule-helper-1.2.0" = {
       name = "textlint-rule-helper";
       packageName = "textlint-rule-helper";
@@ -65904,13 +66507,13 @@ let
         sha512 = "pdX3uNbFzQTgINamaBpEHRT/MgROHev5wCnQnUTXRLT5DaRjls0Rmpi5d1MPZG6HT5NKVL++Q2J0FUbh5shi3Q==";
       };
     };
-    "textlint-util-to-string-2.1.1" = {
-      name = "textlint-util-to-string";
-      packageName = "textlint-util-to-string";
-      version = "2.1.1";
+    "textlint-tester-12.2.1" = {
+      name = "textlint-tester";
+      packageName = "textlint-tester";
+      version = "12.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/textlint-util-to-string/-/textlint-util-to-string-2.1.1.tgz";
-        sha512 = "PW6rXqLNGL3xZ6d5/INrX+pt8qbffmeDPLcvkBOlfNpDRFhVvNNjFmZXH86ZQjrOz9t/nNZDBXqnzqJuioJbSQ==";
+        url = "https://registry.npmjs.org/textlint-tester/-/textlint-tester-12.2.1.tgz";
+        sha512 = "rrmNdOWoi1Zt7Hksm061mRwfn2LPi+ILKfz1wpUAP6636KrJD6LaCNCQfVgplH6I3ZIkbYGAbgynzoAVhdEKaQ==";
       };
     };
     "textlint-util-to-string-3.1.1" = {
@@ -66030,13 +66633,13 @@ let
         sha512 = "woZFt0cLFkPdhsa+IGpRo1jiSouaHxMIljzTgt30CMjBWoUYbbcHqnunW5Yv+BXko9H05MVIcxMipI3Jblallw==";
       };
     };
-    "thread-stream-1.0.0" = {
+    "thread-stream-1.0.1" = {
       name = "thread-stream";
       packageName = "thread-stream";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/thread-stream/-/thread-stream-1.0.0.tgz";
-        sha512 = "2Sw29jWubQWOcVa7MhLHJ51wjksUD/GHN4Fy3hP9w9DYTujifoZGSKBl54CMLRXWoD5h2pD707kY3fAdzhcwAg==";
+        url = "https://registry.npmjs.org/thread-stream/-/thread-stream-1.0.1.tgz";
+        sha512 = "JuZyfzx81e5MBk8uIr8ZH76bXyjEQvbRDEkSdlV1JFBdq/rbby2RuvzBYlTBd/xCljxy6lPxrTLXzB9Jl1bNrw==";
       };
     };
     "thriftrw-3.12.0" = {
@@ -66066,15 +66669,6 @@ let
         sha512 = "VYINSQFQeFdmhCds0tTqvQmLmdAjzGX1D6GnRQa4zlq8OpTtWSMddNyRq8Z4Snw/d6QZrWt9cM/cH8xTiGUkYA==";
       };
     };
-    "throttleit-0.0.2" = {
-      name = "throttleit";
-      packageName = "throttleit";
-      version = "0.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz";
-        sha512 = "HtlTFeyYs1elDM2txiIGsdXHaq8kffVaZH/QEBRbo95zQqzlsBx5ELKhkPOZVad9OK9oxzwx6UrQN8Vfh/+yag==";
-      };
-    };
     "throttleit-1.0.0" = {
       name = "throttleit";
       packageName = "throttleit";
@@ -66102,15 +66696,6 @@ let
         sha512 = "w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==";
       };
     };
-    "through2-0.2.3" = {
-      name = "through2";
-      packageName = "through2";
-      version = "0.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/through2/-/through2-0.2.3.tgz";
-        sha512 = "mLa8Bn2mZurjyomGKWRu3Bo2mvoQojFks9NvOK8H+k4kDJNkdEqG522KFZsEFBEl6rKkxTgFbE5+OPcgfvPEHA==";
-      };
-    };
     "through2-0.4.2" = {
       name = "through2";
       packageName = "through2";
@@ -66237,6 +66822,15 @@ let
         sha512 = "vGO99JkxvgX+u+LtOKQEpYf31Kj3i/GNwVstfnh4dyINakMgeZCpew1e3Aj+06hEslhtHEd52g7m5IV+o1K8Mw==";
       };
     };
+    "time-span-4.0.0" = {
+      name = "time-span";
+      packageName = "time-span";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/time-span/-/time-span-4.0.0.tgz";
+        sha512 = "MyqZCTGLDZ77u4k+jqg4UlrzPTPZ49NDlaekU6uuFaJLzPIN1woaRXCbGeqOfxwc3Y37ZROGAJ614Rdv7Olt+g==";
+      };
+    };
     "time-stamp-1.1.0" = {
       name = "time-stamp";
       packageName = "time-stamp";
@@ -66741,22 +67335,22 @@ let
         sha512 = "wnQcqlreS6VjthyHO3Y/kpK/emflxDBNhlNUPfh7wE39KnuDdOituXomIbyI79vBtF0Ninpkh72mcuRHo+RG3Q==";
       };
     };
-    "token-types-4.2.0" = {
+    "token-types-4.2.1" = {
       name = "token-types";
       packageName = "token-types";
-      version = "4.2.0";
+      version = "4.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/token-types/-/token-types-4.2.0.tgz";
-        sha512 = "P0rrp4wUpefLncNamWIef62J0v0kQR/GfDVji9WKY7GDCWy5YbVSrKUTam07iWPZQGy0zWNOfstYTykMmPNR7w==";
+        url = "https://registry.npmjs.org/token-types/-/token-types-4.2.1.tgz";
+        sha512 = "6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==";
       };
     };
-    "too-hot-1.0.0" = {
+    "too-hot-1.0.1" = {
       name = "too-hot";
       packageName = "too-hot";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/too-hot/-/too-hot-1.0.0.tgz";
-        sha512 = "RqtHvVffaf+ORMlpFjEWh3czDy6Q5wFfdGq9JXVBXu2L8/ssjDTnong8f1+I2xWGlKslXUkHU7m1HBj6MyoLqw==";
+        url = "https://registry.npmjs.org/too-hot/-/too-hot-1.0.1.tgz";
+        sha512 = "ymyiJ8bM8e2wKfJpxbq4Fi7GwLy9w7P8PKHnsWlDgbRIampbMtjv8eFrvpMIC0bK5dKybYrYqvbLUVu5/sDQbw==";
       };
     };
     "too-wordy-0.3.4" = {
@@ -66804,13 +67398,13 @@ let
         sha512 = "bPTDIA7XEjRlw6vQyt7kM/h1mg1INBsibjbujISITonx4POENZgxfyCSEXZpDhbAkluSPH4HKRKs4/YTmNLC6w==";
       };
     };
-    "torrent-discovery-9.4.12" = {
+    "torrent-discovery-9.4.13" = {
       name = "torrent-discovery";
       packageName = "torrent-discovery";
-      version = "9.4.12";
+      version = "9.4.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/torrent-discovery/-/torrent-discovery-9.4.12.tgz";
-        sha512 = "Des49BZggopAXc/rF8+MqDd4NGe9iwT4g7LGzithHUYocTax5wFFnVXkUh6N5U9sGZN4RZ1dr7bVIkD3xCfxIA==";
+        url = "https://registry.npmjs.org/torrent-discovery/-/torrent-discovery-9.4.13.tgz";
+        sha512 = "HZD8nAxIejcGnzUyXRMhBnK0rYQCQ85vaaCzmzl2r3/vmj0M/b6JuO6yNhe1vyLOU3ZngzDYaHxCJjmAIa4wwg==";
       };
     };
     "torrent-piece-1.1.2" = {
@@ -67200,15 +67794,6 @@ let
         sha512 = "Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==";
       };
     };
-    "ts-invariant-0.4.4" = {
-      name = "ts-invariant";
-      packageName = "ts-invariant";
-      version = "0.4.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.4.4.tgz";
-        sha512 = "uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==";
-      };
-    };
     "ts-loader-6.2.2" = {
       name = "ts-loader";
       packageName = "ts-loader";
@@ -67236,13 +67821,13 @@ let
         sha512 = "QMTC4UFzHmu9wU2VHZEmWWE9cUajjfcdcws+Gh7FhiO+Dy0RnR1bNz0YCHqhI0yRowCE9arVnNxYHqELOy9Hjw==";
       };
     };
-    "ts-loader-9.3.0" = {
+    "ts-loader-9.3.1" = {
       name = "ts-loader";
       packageName = "ts-loader";
-      version = "9.3.0";
+      version = "9.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ts-loader/-/ts-loader-9.3.0.tgz";
-        sha512 = "2kLLAdAD+FCKijvGKi9sS0OzoqxLCF3CxHpok7rVgCZ5UldRzH0TkbwG9XECKjBzHsAewntC5oDaI/FwKzEUog==";
+        url = "https://registry.npmjs.org/ts-loader/-/ts-loader-9.3.1.tgz";
+        sha512 = "OkyShkcZTsTwyS3Kt7a4rsT/t2qvEVQuKCTg4LJmpj9fhFR7ukGdZwV6Qq3tRUkqcXtfGpPR7+hFKHCG/0d3Lw==";
       };
     };
     "ts-log-2.2.4" = {
@@ -67254,6 +67839,15 @@ let
         sha512 = "DEQrfv6l7IvN2jlzc/VTdZJYsWUnQNCsueYjMkC/iXoEoi5fNan6MjeDqkvhfzbmHgdz9UxDUluX3V5HdjTydQ==";
       };
     };
+    "ts-morph-12.0.0" = {
+      name = "ts-morph";
+      packageName = "ts-morph";
+      version = "12.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ts-morph/-/ts-morph-12.0.0.tgz";
+        sha512 = "VHC8XgU2fFW7yO1f/b3mxKDje1vmyzFXHWzOYmKEkCEwcLjDtbdLgBQviqj4ZwP4MJkQtRo6Ha2I29lq/B+VxA==";
+      };
+    };
     "ts-node-10.4.0" = {
       name = "ts-node";
       packageName = "ts-node";
@@ -67263,13 +67857,13 @@ let
         sha512 = "g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==";
       };
     };
-    "ts-node-10.8.1" = {
+    "ts-node-10.9.1" = {
       name = "ts-node";
       packageName = "ts-node";
-      version = "10.8.1";
+      version = "10.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ts-node/-/ts-node-10.8.1.tgz";
-        sha512 = "Wwsnao4DQoJsN034wePSg5nZiw4YKXf56mPIAeD6wVmiv+RytNSWqc2f3fKvcUoV+Yn2+yocD71VOfQHbmVX4g==";
+        url = "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz";
+        sha512 = "NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==";
       };
     };
     "ts-node-8.9.1" = {
@@ -67281,15 +67875,6 @@ let
         sha512 = "yrq6ODsxEFTLz0R3BX2myf0WBCSQh9A+py8PBo1dCzWIOcvisbyH6akNKqDHMgXePF2kir5mm5JXJTH3OUJYOQ==";
       };
     };
-    "ts-node-9.1.1" = {
-      name = "ts-node";
-      packageName = "ts-node";
-      version = "9.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz";
-        sha512 = "hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==";
-      };
-    };
     "ts-pnp-1.2.0" = {
       name = "ts-pnp";
       packageName = "ts-pnp";
@@ -67299,6 +67884,15 @@ let
         sha512 = "csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==";
       };
     };
+    "ts-toolbelt-6.15.5" = {
+      name = "ts-toolbelt";
+      packageName = "ts-toolbelt";
+      version = "6.15.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ts-toolbelt/-/ts-toolbelt-6.15.5.tgz";
+        sha512 = "FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==";
+      };
+    };
     "ts2gas-4.2.0" = {
       name = "ts2gas";
       packageName = "ts2gas";
@@ -67641,13 +68235,13 @@ let
         sha512 = "+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==";
       };
     };
-    "type-2.6.0" = {
+    "type-2.7.0" = {
       name = "type";
       packageName = "type";
-      version = "2.6.0";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/type/-/type-2.6.0.tgz";
-        sha512 = "eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ==";
+        url = "https://registry.npmjs.org/type/-/type-2.7.0.tgz";
+        sha512 = "NybX0NBIssNEj1efLf1mqKAtO4Q/Np5mqpa57be81ud7/tNHIXn48FDVXiyGMBF90FfXc5o7RPsuRQrPzgMOMA==";
       };
     };
     "type-check-0.3.2" = {
@@ -67812,13 +68406,13 @@ let
         sha512 = "lPfAm42MxE4/456+QyIaaVBAwgpJb6xZ8PRu09utnhPdWwcyj9vgy6Sq0Z5yNbJ21EdxB5dRU/Qg8bsyAMtlcw==";
       };
     };
-    "type-fest-2.13.1" = {
+    "type-fest-2.18.0" = {
       name = "type-fest";
       packageName = "type-fest";
-      version = "2.13.1";
+      version = "2.18.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/type-fest/-/type-fest-2.13.1.tgz";
-        sha512 = "hXYyrPFwETT2swFLHeoKtJrvSF/ftG/sA15/8nGaLuaDGfVAaq8DYFpu4yOyV4tzp082WqnTEoMsm3flKMI2FQ==";
+        url = "https://registry.npmjs.org/type-fest/-/type-fest-2.18.0.tgz";
+        sha512 = "pRS+/yrW5TjPPHNOvxhbNZexr2bS63WjrMU8a+VzEBhUi9Tz1pZeD+vQz3ut0svZ46P+SRqMEPnJmk2XnvNzTw==";
       };
     };
     "type-is-1.6.18" = {
@@ -67947,15 +68541,6 @@ let
         sha512 = "0RNDbSdEokBeEAkgNbxJ+BLwSManFy9TeXz8uW+48j/xhEXv1ePME60olyzw2XzUqUBNAYFeJadIqAgNqIACwg==";
       };
     };
-    "typescript-3.9-3.9.10" = {
-      name = "typescript-3.9";
-      packageName = "typescript-3.9";
-      version = "3.9.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz";
-        sha512 = "w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==";
-      };
-    };
     "typescript-3.9.10" = {
       name = "typescript";
       packageName = "typescript";
@@ -68145,22 +68730,22 @@ let
         sha512 = "qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w==";
       };
     };
-    "uglify-js-3.15.1" = {
+    "uglify-js-3.16.2" = {
       name = "uglify-js";
       packageName = "uglify-js";
-      version = "3.15.1";
+      version = "3.16.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.1.tgz";
-        sha512 = "FAGKF12fWdkpvNJZENacOH0e/83eG6JyVQyanIJaBXCN1J11TUQv1T1/z8S+Z0CG0ZPk1nPcreF/c7lrTd0TEQ==";
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.16.2.tgz";
+        sha512 = "AaQNokTNgExWrkEYA24BTNMSjyqEXPSfhqoS0AxmHkCJ4U+Dyy5AvbGV/sqxuxficEfGGoX3zWw9R7QpLFfEsg==";
       };
     };
-    "uglify-js-3.16.1" = {
+    "uglify-js-3.16.3" = {
       name = "uglify-js";
       packageName = "uglify-js";
-      version = "3.16.1";
+      version = "3.16.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.16.1.tgz";
-        sha512 = "X5BGTIDH8U6IQ1TIRP62YC36k+ULAa1d59BxlWvPUJ1NkW5L3FwcGfEzuVvGmhJFBu0YJ5Ge25tmRISqCmLiRQ==";
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.16.3.tgz";
+        sha512 = "uVbFqx9vvLhQg0iBaau9Z75AxWJ8tqM9AV890dIZCLApF4rTcyHwmAvLeEdYRs+BzYWu8Iw81F79ah0EfTXbaw==";
       };
     };
     "uglify-js-3.4.10" = {
@@ -68469,13 +69054,13 @@ let
         sha512 = "UR1khWeAjugW3548EfQmL9Z7pGMlBgXteQpr1IZeZBtnkCJQJIJ1Scj0mb9wQaPvUZ9Q17XqW6TIaPchJkyfqw==";
       };
     };
-    "undici-5.5.1" = {
+    "undici-5.8.1" = {
       name = "undici";
       packageName = "undici";
-      version = "5.5.1";
+      version = "5.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/undici/-/undici-5.5.1.tgz";
-        sha512 = "MEvryPLf18HvlCbLSzCW0U00IMftKGI5udnjrQbC5D4P0Hodwffhv+iGfWuJwg16Y/TK11ZFK8i+BPVW2z/eAw==";
+        url = "https://registry.npmjs.org/undici/-/undici-5.8.1.tgz";
+        sha512 = "iDRmWX4Zar/4A/t+1LrKQRm102zw2l9Wgat3LtTlTn8ykvMZmAmpq9tjyHEigx18FsY7IfATvyN3xSw9BDz0eA==";
       };
     };
     "unherit-1.1.3" = {
@@ -68631,13 +69216,13 @@ let
         sha512 = "qiI0GaHi/50NVrChnmZOBeB0aNhHRMG6VnjKEAikaQD/I3gxjTsDp8gycCOUxyVCJrV/Rv3y6zEWMZczO+o3Lw==";
       };
     };
-    "unified-engine-10.0.0" = {
+    "unified-engine-10.0.1" = {
       name = "unified-engine";
       packageName = "unified-engine";
-      version = "10.0.0";
+      version = "10.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unified-engine/-/unified-engine-10.0.0.tgz";
-        sha512 = "FW9CWaMe3ehIh74rrElNG7sidYHVYxfLIYM+R2FGo+garAAj9xybXpH5qbMN63mrvQldjm20ArFVcPKqs63ckw==";
+        url = "https://registry.npmjs.org/unified-engine/-/unified-engine-10.0.1.tgz";
+        sha512 = "lsj7VC8kNWhK87rGBhidklk4llgrEdJoOZHoQFbTZQ/fA22JqowUPM10bEf05eSZOR6UnUSrZ/mPWHrQsHGm7g==";
       };
     };
     "unified-engine-6.0.1" = {
@@ -68658,13 +69243,13 @@ let
         sha512 = "ZlMm62ejrf+tJHdyOjQfljszngQjRor95q2XZMGk6rpJUYi7ZIHY/EXEhOcj9PZkMKKdLIM+dqL4s0ceyk9wbA==";
       };
     };
-    "unified-engine-9.1.0" = {
+    "unified-engine-9.1.1" = {
       name = "unified-engine";
       packageName = "unified-engine";
-      version = "9.1.0";
+      version = "9.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unified-engine/-/unified-engine-9.1.0.tgz";
-        sha512 = "V3UAUsVSAPSNsAdGeYHjtM6FWKIXUt6fPZovbBI5L6WsQIRkRkuFfllquTGCvtu0RckrzdOC7jGaV/tKkokwDw==";
+        url = "https://registry.npmjs.org/unified-engine/-/unified-engine-9.1.1.tgz";
+        sha512 = "yfXfc9zkoCileXE2lyj58AKQr6JK2HeBE8PxEG1U+P6opNSN4lAPPXEyBxL+ITyOQo0ZRDQmXQD04RwdwMovVg==";
       };
     };
     "unified-lint-rule-1.0.6" = {
@@ -68784,6 +69369,15 @@ let
         sha512 = "uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==";
       };
     };
+    "unique-string-3.0.0" = {
+      name = "unique-string";
+      packageName = "unique-string";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz";
+        sha512 = "VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==";
+      };
+    };
     "unist-util-filter-2.0.3" = {
       name = "unist-util-filter";
       packageName = "unist-util-filter";
@@ -68856,13 +69450,13 @@ let
         sha512 = "fPNWewS593JSmg49HbnE86BJKuBi1/nMWhDSccBvbARfxezEuJV85EaARR9/VplveiwCoLm2kWq+DhP8TBaDpw==";
       };
     };
-    "unist-util-inspect-7.0.0" = {
+    "unist-util-inspect-7.0.1" = {
       name = "unist-util-inspect";
       packageName = "unist-util-inspect";
-      version = "7.0.0";
+      version = "7.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-inspect/-/unist-util-inspect-7.0.0.tgz";
-        sha512 = "2Utgv78I7PUu461Y9cdo+IUiiKSKpDV5CE/XD6vTj849a3xlpDAScvSJ6cQmtFBGgAmCn2wR7jLuXhpg1XLlJw==";
+        url = "https://registry.npmjs.org/unist-util-inspect/-/unist-util-inspect-7.0.1.tgz";
+        sha512 = "gEPeSrsYXus8012VJ00p9uZC8D0iogtLLiHlBgvS61hU22KNKduQhMKezJm83viHlLf3TYS2y9SDEFglWPDMKw==";
       };
     };
     "unist-util-is-2.1.3" = {
@@ -69324,6 +69918,15 @@ let
         sha512 = "1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==";
       };
     };
+    "update-browserslist-db-1.0.5" = {
+      name = "update-browserslist-db";
+      packageName = "update-browserslist-db";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz";
+        sha512 = "dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==";
+      };
+    };
     "update-check-1.5.2" = {
       name = "update-check";
       packageName = "update-check";
@@ -69342,6 +69945,15 @@ let
         sha512 = "6KLU4/dd0Tg/l0xwL+f9V7kEIPSL1vOIbnNnhSLiRDlj4AVG6Ks9Zoc9Jgt9kIgWFPZ/wp2AHgmG7xNf15TJOA==";
       };
     };
+    "update-check-1.5.4" = {
+      name = "update-check";
+      packageName = "update-check";
+      version = "1.5.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz";
+        sha512 = "5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==";
+      };
+    };
     "update-notifier-0.5.0" = {
       name = "update-notifier";
       packageName = "update-notifier";
@@ -69396,6 +70008,15 @@ let
         sha512 = "ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==";
       };
     };
+    "update-notifier-6.0.2" = {
+      name = "update-notifier";
+      packageName = "update-notifier";
+      version = "6.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/update-notifier/-/update-notifier-6.0.2.tgz";
+        sha512 = "EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==";
+      };
+    };
     "upnp-device-client-1.0.2" = {
       name = "upnp-device-client";
       packageName = "upnp-device-client";
@@ -69477,13 +70098,13 @@ let
         sha512 = "Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==";
       };
     };
-    "urkel-0.7.0" = {
+    "urkel-1.0.2" = {
       name = "urkel";
       packageName = "urkel";
-      version = "0.7.0";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/urkel/-/urkel-0.7.0.tgz";
-        sha512 = "7Z3Gor4DkKKi0Ehp6H9xehWXqyL12+PA4JM41dcVc1LWks4zI4PGWv6DWgxaLCC+otpEuGdq3Vh5ayD/Mvzfbg==";
+        url = "https://registry.npmjs.org/urkel/-/urkel-1.0.2.tgz";
+        sha512 = "Y5UXbgBr6pczrD08N0SYJkWjtdtTTpmZsOvuftdrEHLnTjuxwSNjKsXYLQkICTptvnHAJ2OjI6XdAxtYTyOHew==";
       };
     };
     "url-0.10.3" = {
@@ -69855,15 +70476,6 @@ let
         sha512 = "g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==";
       };
     };
-    "util.promisify-1.1.1" = {
-      name = "util.promisify";
-      packageName = "util.promisify";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz";
-        sha512 = "/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==";
-      };
-    };
     "utila-0.4.0" = {
       name = "utila";
       packageName = "utila";
@@ -70017,13 +70629,13 @@ let
         sha512 = "+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==";
       };
     };
-    "uvu-0.5.3" = {
+    "uvu-0.5.6" = {
       name = "uvu";
       packageName = "uvu";
-      version = "0.5.3";
+      version = "0.5.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uvu/-/uvu-0.5.3.tgz";
-        sha512 = "brFwqA3FXzilmtnIyJ+CxdkInkY/i4ErvP7uV0DnUVxQcQ55reuHphorpF+tZoVHK2MniZ/VJzI7zJQoc9T9Yw==";
+        url = "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz";
+        sha512 = "+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==";
       };
     };
     "uws-9.148.0" = {
@@ -70584,13 +71196,13 @@ let
         sha512 = "/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==";
       };
     };
-    "verda-1.6.0" = {
+    "verda-1.10.0" = {
       name = "verda";
       packageName = "verda";
-      version = "1.6.0";
+      version = "1.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/verda/-/verda-1.6.0.tgz";
-        sha512 = "r7YP2FG7AbV/BjnvIqpHZRokkZlWzP6SCJNh0Oq9LsMzEBM9Vx3HqUz2gTV49LKY6/e7yCWAA/aDgWgFkKXdbA==";
+        url = "https://registry.npmjs.org/verda/-/verda-1.10.0.tgz";
+        sha512 = "euo21L72IMCzrQ9GrYGEI1kmQT6bgKcfJaa0zr4a+FpODsOrszDk55SYsvAqKUMzgXJHAGh4LvE9ytu45E79OA==";
       };
     };
     "verror-1.1.0" = {
@@ -70971,13 +71583,13 @@ let
         sha512 = "2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==";
       };
     };
-    "vm2-3.9.9" = {
+    "vm2-3.9.10" = {
       name = "vm2";
       packageName = "vm2";
-      version = "3.9.9";
+      version = "3.9.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vm2/-/vm2-3.9.9.tgz";
-        sha512 = "xwTm7NLh/uOjARRBs8/95H0e8fT3Ukw5D/JJWhxMbhKzNh1Nu981jQKvkep9iKYNxzlVrdzD0mlBGkDKZWprlw==";
+        url = "https://registry.npmjs.org/vm2/-/vm2-3.9.10.tgz";
+        sha512 = "AuECTSvwu2OHLAZYhG716YzwodKCIJxB6u1zG7PgSQwIgAlEaoXH52bxdcvT8GkGjnYK7r7yWDW0m0sOsPuBjQ==";
       };
     };
     "voc-1.2.0" = {
@@ -71016,13 +71628,13 @@ let
         sha512 = "FS5ou3G+WRnPPr/tWVs8b/jVzeDacgZHy/y7/QQW7maSPFEAmRt2bFGUJtJVEUDLBqtDm/3VGMJ7D31cF2U1tw==";
       };
     };
-    "vsce-2.9.2" = {
+    "vsce-2.10.0" = {
       name = "vsce";
       packageName = "vsce";
-      version = "2.9.2";
+      version = "2.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vsce/-/vsce-2.9.2.tgz";
-        sha512 = "xyLqL4U82BilUX1t6Ym2opQEa2tLGWYjbgB7+ETeNVXlIJz5sWBJjQJSYJVFOKJSpiOtQclolu88cj7oY6vvPQ==";
+        url = "https://registry.npmjs.org/vsce/-/vsce-2.10.0.tgz";
+        sha512 = "b+wB3XMapEi368g64klSM6uylllZdNutseqbNY+tUoHYSy6g2NwnlWuAGKDQTYc0IqfDUjUFRQBpPgA89Q+Fyw==";
       };
     };
     "vscode-css-languageservice-3.0.13" = {
@@ -71133,13 +71745,13 @@ let
         sha512 = "dbr10KHabB9EaK8lI0XZW7SqOsTfrNyT3Nuj0GoPi4LjGKUmMiLtsqzfedIzRTzqY+w0FiLdh0/kQrnQ0tLxrw==";
       };
     };
-    "vscode-html-languageservice-5.0.0" = {
+    "vscode-html-languageservice-5.0.1" = {
       name = "vscode-html-languageservice";
       packageName = "vscode-html-languageservice";
-      version = "5.0.0";
+      version = "5.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.0.0.tgz";
-        sha512 = "KJG13z54aLszskp3ETf8b1EKDypr2Sf5RUsfR6OXmKqEl2ZUfyIxsWz4gbJWjPzoJZx/bGH0ZXVwxJ1rg8OKRQ==";
+        url = "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.0.1.tgz";
+        sha512 = "OYsyn5HGAhxs0OIG+M0jc34WnftLtD67Wg7+TfrYwvf0waOkkr13zUqtdrVm2JPNQ6fJx+qnuM+vTbq7o1dCdQ==";
       };
     };
     "vscode-json-languageservice-3.11.0" = {
@@ -71169,6 +71781,15 @@ let
         sha512 = "xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA==";
       };
     };
+    "vscode-json-languageservice-5.1.0" = {
+      name = "vscode-json-languageservice";
+      packageName = "vscode-json-languageservice";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-5.1.0.tgz";
+        sha512 = "D5612D7h/Gh4A0JmdttPveWzT9dur21WXvBHWKPdOt0sLO6ILz8vN6+IzWnvwDOVAEFTpzIAMVMZwbKZkwGGiA==";
+      };
+    };
     "vscode-jsonrpc-3.5.0" = {
       name = "vscode-jsonrpc";
       packageName = "vscode-jsonrpc";
@@ -71241,13 +71862,13 @@ let
         sha512 = "JX/F31LEsims0dAlOTKFE4E+AJMiJvdRSRViifFJSqSN7EzeYyWlfuDchF7g91oRNPZOIWfibTkDf3/UMsQGzQ==";
       };
     };
-    "vscode-jsonrpc-8.0.1" = {
+    "vscode-jsonrpc-8.0.2" = {
       name = "vscode-jsonrpc";
       packageName = "vscode-jsonrpc";
-      version = "8.0.1";
+      version = "8.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.0.1.tgz";
-        sha512 = "N/WKvghIajmEvXpatSzvTvOIz61ZSmOSa4BRA4pTLi+1+jozquQKP/MkaylP9iB68k73Oua1feLQvH3xQuigiQ==";
+        url = "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.0.2.tgz";
+        sha512 = "RY7HwI/ydoC1Wwg4gJ3y6LpU9FJRZAUnTYMXthqhFXXu77ErDd/xkREpGuk4MyYkk4a+XDWAMqe0S3KkelYQEQ==";
       };
     };
     "vscode-languageclient-4.0.1" = {
@@ -71349,13 +71970,13 @@ let
         sha512 = "/65lxR/CuLJoOdzTjOTYUPWS7k5qzaWese4PObnWc6jwLryUrSa7DslYfaRXigh5/xr1nlaUZCcJwkpgM0wFvw==";
       };
     };
-    "vscode-languageserver-8.0.1" = {
+    "vscode-languageserver-8.0.2" = {
       name = "vscode-languageserver";
       packageName = "vscode-languageserver";
-      version = "8.0.1";
+      version = "8.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-8.0.1.tgz";
-        sha512 = "sn7SjBwWm3OlmLtgg7jbM0wBULppyL60rj8K5HF0ny/MzN+GzPBX1kCvYdybhl7UW63V5V5tRVnyB8iwC73lSQ==";
+        url = "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-8.0.2.tgz";
+        sha512 = "bpEt2ggPxKzsAOZlXmCJ50bV7VrxwCS5BI4+egUmure/oI/t4OlFzi/YNtVvY24A2UDOZAgwFGgnZPwqSJubkA==";
       };
     };
     "vscode-languageserver-protocol-3.14.1" = {
@@ -71412,13 +72033,13 @@ let
         sha512 = "LFZ6WMB3iPezQAU9OnGoERzcIVKhcs0OLfD/NHcqSj3g1wgxuLUL5kSlZbbjFySQCmhzm6b0yb3hjTSeBtq1+w==";
       };
     };
-    "vscode-languageserver-protocol-3.17.1" = {
+    "vscode-languageserver-protocol-3.17.2" = {
       name = "vscode-languageserver-protocol";
       packageName = "vscode-languageserver-protocol";
-      version = "3.17.1";
+      version = "3.17.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.1.tgz";
-        sha512 = "BNlAYgQoYwlSgDLJhSG+DeA8G1JyECqRzM2YO6tMmMji3Ad9Mw6AW7vnZMti90qlAKb0LqAlJfSVGEdqMMNzKg==";
+        url = "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.2.tgz";
+        sha512 = "8kYisQ3z/SQ2kyjlNeQxbkkTNmVFoQCqkmGrzLH6A9ecPlgTbp3wDTnUNqaUxYr4vlAcloxx8zwy7G5WdguYNg==";
       };
     };
     "vscode-languageserver-protocol-3.5.1" = {
@@ -71448,15 +72069,6 @@ let
         sha512 = "N8bOS8i0xuQMn/y0bijyefDbOsMl6hiH6LDREYWavTLTM5jbj44EiQfStsbmAv/0eaFKkL/jf5hW7nWwBy2HBw==";
       };
     };
-    "vscode-languageserver-textdocument-1.0.4" = {
-      name = "vscode-languageserver-textdocument";
-      packageName = "vscode-languageserver-textdocument";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.4.tgz";
-        sha512 = "/xhqXP/2A2RSs+J8JNXpiiNVvvNM0oTosNVmQnunlKvq9o4mupHOBAnnzH0lwIPKazXKvAKsVp1kr+H/K4lgoQ==";
-      };
-    };
     "vscode-languageserver-textdocument-1.0.5" = {
       name = "vscode-languageserver-textdocument";
       packageName = "vscode-languageserver-textdocument";
@@ -71538,13 +72150,13 @@ let
         sha512 = "9/PeDNPYduaoXRUzYpqmu4ZV9L01HGo0wH9FUt+sSHR7IXwA7xoXBfNUlv8gB9H0D2WwEmMomSy1NmhjKQyn3A==";
       };
     };
-    "vscode-languageserver-types-3.17.1" = {
+    "vscode-languageserver-types-3.17.2" = {
       name = "vscode-languageserver-types";
       packageName = "vscode-languageserver-types";
-      version = "3.17.1";
+      version = "3.17.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.1.tgz";
-        sha512 = "K3HqVRPElLZVVPtMeKlsyL9aK0GxGQpvtAUTfX4k7+iJ4mc1M+JM+zQwkgGy2LzY0f0IAafe8MKqIkJrxfGGjQ==";
+        url = "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.2.tgz";
+        sha512 = "zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA==";
       };
     };
     "vscode-languageserver-types-3.5.0" = {
@@ -71556,6 +72168,15 @@ let
         sha512 = "D4rUfu/oKYdc9Tmec0nEfedj+uXO2tZHR+eoHs9rE9G/QpRyZaHuug8ZUNGTGdO+ALLGgenL6bRpY8y3J9acHg==";
       };
     };
+    "vscode-markdown-languageservice-0.0.0-alpha.13" = {
+      name = "vscode-markdown-languageservice";
+      packageName = "vscode-markdown-languageservice";
+      version = "0.0.0-alpha.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-markdown-languageservice/-/vscode-markdown-languageservice-0.0.0-alpha.13.tgz";
+        sha512 = "jgRVBQmdO0aC5Svap1RcAd3x2XOSNWla01GF/rzaVx9M5pEcel4SPz+2H9PYXul6jRKe1oKJF9OOciaiE7pSXQ==";
+      };
+    };
     "vscode-nls-2.0.2" = {
       name = "vscode-nls";
       packageName = "vscode-nls";
@@ -71664,6 +72285,15 @@ let
         sha512 = "x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==";
       };
     };
+    "vue-2.7.8" = {
+      name = "vue";
+      packageName = "vue";
+      version = "2.7.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue/-/vue-2.7.8.tgz";
+        sha512 = "ncwlZx5qOcn754bCu5/tS/IWPhXHopfit79cx+uIlLMyt3vCMGcXai5yCG5y+I6cDmEj4ukRYyZail9FTQh7lQ==";
+      };
+    };
     "vue-class-component-7.2.6" = {
       name = "vue-class-component";
       packageName = "vue-class-component";
@@ -71727,13 +72357,13 @@ let
         sha512 = "BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==";
       };
     };
-    "vue-loader-15.9.8" = {
+    "vue-loader-15.10.0" = {
       name = "vue-loader";
       packageName = "vue-loader";
-      version = "15.9.8";
+      version = "15.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.8.tgz";
-        sha512 = "GwSkxPrihfLR69/dSV3+5CdMQ0D+jXg8Ma1S4nQXKJAznYFX14vHdc/NetQc34Dw+rBbIJyP7JOuVb9Fhprvog==";
+        url = "https://registry.npmjs.org/vue-loader/-/vue-loader-15.10.0.tgz";
+        sha512 = "VU6tuO8eKajrFeBzMssFUP9SvakEeeSi1BxdTH5o3+1yUyrldp8IERkSdXlMI2t4kxF2sqYUDsQY+WJBxzBmZg==";
       };
     };
     "vue-loader-v16-16.8.3" = {
@@ -72015,15 +72645,6 @@ let
         sha512 = "rWkTAGqs4TN6qreS06+irmFUMrQVx5KoFjD8CxMHUsAwmxw/upDcfleaEYOLsonUbornahg+VJ9xrWxp4udyJA==";
       };
     };
-    "web-encoding-1.1.5" = {
-      name = "web-encoding";
-      packageName = "web-encoding";
-      version = "1.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/web-encoding/-/web-encoding-1.1.5.tgz";
-        sha512 = "HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA==";
-      };
-    };
     "web-namespaces-1.1.4" = {
       name = "web-namespaces";
       packageName = "web-namespaces";
@@ -72096,13 +72717,13 @@ let
         sha512 = "mpXlqIeEBE5Q71cnBnt8w6XKhIiKmllPECqsIFBtMvzcfCxA8+614iyMJXBCQo95Vs3y1zORLqiLJn25pYZ4Tw==";
       };
     };
-    "web3-utils-1.7.3" = {
+    "web3-utils-1.7.5" = {
       name = "web3-utils";
       packageName = "web3-utils";
-      version = "1.7.3";
+      version = "1.7.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.3.tgz";
-        sha512 = "g6nQgvb/bUpVUIxJE+ezVN+rYwYmlFyMvMIRSuqpi1dk6ApDD00YNArrk7sPcZnjvxOJ76813Xs2vIN2rgh4lg==";
+        url = "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.5.tgz";
+        sha512 = "9AqNOziQky4wNQadEwEfHiBdOZqopIHzQQVzmvvv6fJwDSMhP+khqmAZC7YTiGjs0MboyZ8tWNivqSO1699XQw==";
       };
     };
     "webassemblyjs-1.11.1" = {
@@ -72204,22 +72825,22 @@ let
         sha512 = "6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==";
       };
     };
-    "webpack-5.72.1" = {
+    "webpack-5.73.0" = {
       name = "webpack";
       packageName = "webpack";
-      version = "5.72.1";
+      version = "5.73.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack/-/webpack-5.72.1.tgz";
-        sha512 = "dXG5zXCLspQR4krZVR6QgajnZOjW2K/djHvdcRaDQvsjV9z9vaW6+ja5dZOYbqBBjF6kGXka/2ZyxNdc+8Jung==";
+        url = "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz";
+        sha512 = "svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==";
       };
     };
-    "webpack-5.73.0" = {
+    "webpack-5.74.0" = {
       name = "webpack";
       packageName = "webpack";
-      version = "5.73.0";
+      version = "5.74.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz";
-        sha512 = "svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==";
+        url = "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz";
+        sha512 = "A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==";
       };
     };
     "webpack-bundle-analyzer-3.9.0" = {
@@ -72411,13 +73032,13 @@ let
         sha512 = "7iZ+u28Ljw5hCnMiq0BCOeSYf0vCFQe/ORY0HgscTiKjQed8WqugpBUggJ2NTnB9fahn1kEnPRX2jf8Px5PhJw==";
       };
     };
-    "webtorrent-1.8.22" = {
+    "webtorrent-1.8.26" = {
       name = "webtorrent";
       packageName = "webtorrent";
-      version = "1.8.22";
+      version = "1.8.26";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webtorrent/-/webtorrent-1.8.22.tgz";
-        sha512 = "gJv4RBpas5L5KyDvhq4HpHgnwdwKQtqBEkDAgqGzSVqq74DY5/9yz3Y+YdnddmlDh3WKlInOXRfIYRR9ZyaRXg==";
+        url = "https://registry.npmjs.org/webtorrent/-/webtorrent-1.8.26.tgz";
+        sha512 = "1bbCIDtbk4OA7xXmT87t6jDhnng6RNC9d7HNpRyvxF0GQTrIz1fB3oDnNcbOim9Upjy1GDqxAOe0Mejmc86TUg==";
       };
     };
     "webworkify-webpack-2.1.5" = {
@@ -72681,6 +73302,15 @@ let
         sha512 = "NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==";
       };
     };
+    "widest-line-4.0.1" = {
+      name = "widest-line";
+      packageName = "widest-line";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz";
+        sha512 = "o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==";
+      };
+    };
     "wif-2.0.6" = {
       name = "wif";
       packageName = "wif";
@@ -72870,15 +73500,6 @@ let
         sha512 = "CPXrr+LD3DBeCEAnhPYS7DYbdq8kwhnkrVY7Px0vEROil9iZWaz0VHZHg41pNcUJc+1/PDm2obR1Lb2QGto1ZQ==";
       };
     };
-    "winston-2.4.5" = {
-      name = "winston";
-      packageName = "winston";
-      version = "2.4.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/winston/-/winston-2.4.5.tgz";
-        sha512 = "TWoamHt5yYvsMarGlGEQE59SbJHqGsZV8/lwC+iCcGeAe0vUaOh+Lv6SYM17ouzC/a/LB1/hz/7sxFBtlu1l4A==";
-      };
-    };
     "winston-2.4.6" = {
       name = "winston";
       packageName = "winston";
@@ -72906,22 +73527,22 @@ let
         sha512 = "tbRtVy+vsSSCLcZq/8nXZaOie/S2tPXPFt4be/Q3vI/WtYwm7rrwidxVw2GRa38FIXcJ1kUM6MOZ9Jmnk3F3UA==";
       };
     };
-    "winston-3.6.0" = {
+    "winston-3.7.2" = {
       name = "winston";
       packageName = "winston";
-      version = "3.6.0";
+      version = "3.7.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/winston/-/winston-3.6.0.tgz";
-        sha512 = "9j8T75p+bcN6D00sF/zjFVmPp+t8KMPB1MzbbzYjeN9VWxdsYnTB40TkbNUEXAmILEfChMvAMgidlX64OG3p6w==";
+        url = "https://registry.npmjs.org/winston/-/winston-3.7.2.tgz";
+        sha512 = "QziIqtojHBoyzUOdQvQiar1DH0Xp9nF1A1y7NVy2DGEsz82SBDtOalS0ulTRGVT14xPX3WRWkCsdcJKqNflKng==";
       };
     };
-    "winston-3.7.2" = {
+    "winston-3.8.1" = {
       name = "winston";
       packageName = "winston";
-      version = "3.7.2";
+      version = "3.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/winston/-/winston-3.7.2.tgz";
-        sha512 = "QziIqtojHBoyzUOdQvQiar1DH0Xp9nF1A1y7NVy2DGEsz82SBDtOalS0ulTRGVT14xPX3WRWkCsdcJKqNflKng==";
+        url = "https://registry.npmjs.org/winston/-/winston-3.8.1.tgz";
+        sha512 = "r+6YAiCR4uI3N8eQNOg8k3P3PqwAm20cLKlzVD9E66Ch39+LZC+VH1UKf9JemQj2B3QoUHfKD7Poewn0Pr3Y1w==";
       };
     };
     "winston-transport-4.5.0" = {
@@ -73320,13 +73941,13 @@ let
         sha512 = "6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==";
       };
     };
-    "ws-7.5.8" = {
+    "ws-7.5.9" = {
       name = "ws";
       packageName = "ws";
-      version = "7.5.8";
+      version = "7.5.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-7.5.8.tgz";
-        sha512 = "ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw==";
+        url = "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz";
+        sha512 = "F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==";
       };
     };
     "ws-8.2.3" = {
@@ -73374,6 +73995,15 @@ let
         sha512 = "JDAgSYQ1ksuwqfChJusw1LSJ8BizJ2e/vVu5Lxjq3YvNJNlROv1ui4i+c/kUUrPheBvQl4c5UbERhTwKa6QBJQ==";
       };
     };
+    "ws-8.8.1" = {
+      name = "ws";
+      packageName = "ws";
+      version = "8.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz";
+        sha512 = "bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==";
+      };
+    };
     "wtfnode-0.8.4" = {
       name = "wtfnode";
       packageName = "wtfnode";
@@ -73464,6 +74094,15 @@ let
         sha512 = "PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==";
       };
     };
+    "xdg-basedir-5.1.0" = {
+      name = "xdg-basedir";
+      packageName = "xdg-basedir";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz";
+        sha512 = "GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==";
+      };
+    };
     "xdg-trashdir-3.1.0" = {
       name = "xdg-trashdir";
       packageName = "xdg-trashdir";
@@ -73473,13 +74112,13 @@ let
         sha512 = "N1XQngeqMBoj9wM4ZFadVV2MymImeiFfYD+fJrNlcVcOHsJFFQe7n3b+aBoTPwARuq2HQxukfzVpQmAk1gN4sQ==";
       };
     };
-    "xdl-59.2.41" = {
+    "xdl-59.2.49" = {
       name = "xdl";
       packageName = "xdl";
-      version = "59.2.41";
+      version = "59.2.49";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xdl/-/xdl-59.2.41.tgz";
-        sha512 = "tACOq+f2bis8OyEQFsf1b5TromvSwaPVfiX7XsdKF6BVyXhmFb5H7GByu+VQr8hDYR6oHWXSd6oHiYHDufMkJw==";
+        url = "https://registry.npmjs.org/xdl/-/xdl-59.2.49.tgz";
+        sha512 = "k2QTBnpD97Alm2VDZ9Y5b+t/9R75lc1JPfqXfC6f03wA5gntn62z9WUmio91KKIXif3X4+PweYq/hwy9z4eBTw==";
       };
     };
     "xenvar-0.5.1" = {
@@ -74140,33 +74779,6 @@ let
         sha512 = "c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ==";
       };
     };
-    "yargs-17.2.1" = {
-      name = "yargs";
-      packageName = "yargs";
-      version = "17.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-17.2.1.tgz";
-        sha512 = "XfR8du6ua4K6uLGm5S6fA+FIJom/MdJcFNVY8geLlp2v8GYbOXD4EB1tPNZsRn4vBzKGMgb5DRZMeWuFc2GO8Q==";
-      };
-    };
-    "yargs-17.3.1" = {
-      name = "yargs";
-      packageName = "yargs";
-      version = "17.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz";
-        sha512 = "WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==";
-      };
-    };
-    "yargs-17.4.1" = {
-      name = "yargs";
-      packageName = "yargs";
-      version = "17.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz";
-        sha512 = "WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==";
-      };
-    };
     "yargs-17.5.1" = {
       name = "yargs";
       packageName = "yargs";
@@ -74311,6 +74923,15 @@ let
         sha512 = "9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==";
       };
     };
+    "yargs-parser-21.1.0" = {
+      name = "yargs-parser";
+      packageName = "yargs-parser";
+      version = "21.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.0.tgz";
+        sha512 = "xzm2t63xTV/f7+bGMSRzLhUNk1ajv/tDoaD5OeGyC3cFo2fl7My9Z4hS3q2VdQ7JaLvTxErO8Jp5pRIFGMD/zg==";
+      };
+    };
     "yargs-parser-4.2.1" = {
       name = "yargs-parser";
       packageName = "yargs-parser";
@@ -74437,22 +75058,22 @@ let
         sha512 = "9Ni+uXWeFix9+1t7s1q40zZdbcpdi/OwgD4N4cVaqI+bppPciOOXQ/RSggannwZu8m8zrSWELn6/93G7308jgg==";
       };
     };
-    "yeoman-environment-3.9.1" = {
+    "yeoman-environment-3.10.0" = {
       name = "yeoman-environment";
       packageName = "yeoman-environment";
-      version = "3.9.1";
+      version = "3.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-3.9.1.tgz";
-        sha512 = "IdRnbQt/DSOSnao0oD9c+or1X2UrL+fx9eC0O7Lq/MGZV68nhv9k77MqG+hEAySPSlyCpocVlhfQwV62hczk5Q==";
+        url = "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-3.10.0.tgz";
+        sha512 = "sYtSxBK9daq21QjoskJTHKLQ1xEsRPURkmFV/aM8HS8ZlQVzwx57Rz1zCs8EGPhK4vqsmTE8H92Gp1jg1fT3EA==";
       };
     };
-    "yeoman-generator-5.6.1" = {
+    "yeoman-generator-5.7.0" = {
       name = "yeoman-generator";
       packageName = "yeoman-generator";
-      version = "5.6.1";
+      version = "5.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-5.6.1.tgz";
-        sha512 = "XllgFvmDEwoPMq2rKtL4/N52WlINJW6a3I3XtlCrMb3/dqO5dW0nPNgR0L3IIUIdf9y1EHb1ZFMs2Qp3ZEEFxg==";
+        url = "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-5.7.0.tgz";
+        sha512 = "z9ZwgKoDOd+llPDCwn8Ax2l4In5FMhlslxdeByW4AMxhT+HbTExXKEAahsClHSbwZz1i5OzRwLwRIUdOJBr5Bw==";
       };
     };
     "yesno-0.3.1" = {
@@ -74554,15 +75175,6 @@ let
         sha512 = "PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==";
       };
     };
-    "zen-observable-ts-0.8.21" = {
-      name = "zen-observable-ts";
-      packageName = "zen-observable-ts";
-      version = "0.8.21";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.8.21.tgz";
-        sha512 = "Yj3yXweRc8LdRMrCC8nIc4kkjWecPAUVh0TI0OUrWXx6aX790vLcDlWca6I4vsyCGH3LpWxq0dJRcMOFoVqmeg==";
-      };
-    };
     "zen-observable-ts-1.2.5" = {
       name = "zen-observable-ts";
       packageName = "zen-observable-ts";
@@ -74668,25 +75280,25 @@ in
   "@angular/cli" = nodeEnv.buildNodePackage {
     name = "_at_angular_slash_cli";
     packageName = "@angular/cli";
-    version = "14.0.2";
+    version = "14.1.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@angular/cli/-/cli-14.0.2.tgz";
-      sha512 = "cCQr5KMLlr7JER8CtrYLBTQUT4g22CTh3f0D9cdSjpBOhmEq62ZXApbmHNgPoHrTNub+7+FwANleIuqyN7nojg==";
+      url = "https://registry.npmjs.org/@angular/cli/-/cli-14.1.1.tgz";
+      sha512 = "Kzx+aUkAi8wx6m2e34Ekvyj9U46w7A3CHn6Zv+//TeplQitoMAzBOE8OiFVEcGJpi5gQ+NLDu0egfh2D+CC+ug==";
     };
     dependencies = [
-      sources."@angular-devkit/architect-0.1400.2"
-      sources."@angular-devkit/core-14.0.2"
-      sources."@angular-devkit/schematics-14.0.2"
+      sources."@angular-devkit/architect-0.1401.1"
+      sources."@angular-devkit/core-14.1.1"
+      sources."@angular-devkit/schematics-14.1.1"
       sources."@gar/promisify-1.1.3"
-      sources."@npmcli/fs-1.1.1"
+      sources."@npmcli/fs-2.1.1"
       sources."@npmcli/git-3.0.1"
       sources."@npmcli/installed-package-contents-1.0.7"
-      sources."@npmcli/move-file-1.1.2"
+      sources."@npmcli/move-file-2.0.0"
       sources."@npmcli/node-gyp-2.0.0"
       sources."@npmcli/promise-spawn-3.0.0"
-      sources."@npmcli/run-script-3.0.3"
-      sources."@schematics/angular-14.0.2"
-      sources."@tootallnate/once-1.1.2"
+      sources."@npmcli/run-script-4.2.0"
+      sources."@schematics/angular-14.1.1"
+      sources."@tootallnate/once-2.0.0"
       sources."@yarnpkg/lockfile-1.1.0"
       sources."abbrev-1.1.1"
       sources."agent-base-6.0.2"
@@ -74694,12 +75306,12 @@ in
       sources."aggregate-error-3.1.0"
       sources."ajv-8.11.0"
       sources."ajv-formats-2.1.1"
-      sources."ansi-colors-4.1.1"
+      sources."ansi-colors-4.1.3"
       sources."ansi-escapes-4.3.2"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
       sources."aproba-2.0.0"
-      sources."are-we-there-yet-3.0.0"
+      sources."are-we-there-yet-3.0.1"
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
       sources."bl-4.1.0"
@@ -74708,8 +75320,6 @@ in
       sources."builtins-5.0.1"
       (sources."cacache-16.1.1" // {
         dependencies = [
-          sources."@npmcli/fs-2.1.0"
-          sources."@npmcli/move-file-2.0.0"
           sources."brace-expansion-2.0.1"
           sources."glob-8.0.3"
           sources."minimatch-5.1.0"
@@ -74720,7 +75330,7 @@ in
       sources."chownr-2.0.0"
       sources."clean-stack-2.2.0"
       sources."cli-cursor-3.1.0"
-      sources."cli-spinners-2.6.1"
+      sources."cli-spinners-2.7.0"
       sources."cli-width-3.0.0"
       sources."cliui-7.0.4"
       sources."clone-1.0.4"
@@ -74759,7 +75369,7 @@ in
       sources."has-unicode-2.0.1"
       sources."hosted-git-info-5.0.0"
       sources."http-cache-semantics-4.1.0"
-      sources."http-proxy-agent-4.0.1"
+      sources."http-proxy-agent-5.0.0"
       sources."https-proxy-agent-5.0.1"
       sources."humanize-ms-1.2.1"
       sources."iconv-lite-0.4.24"
@@ -74778,11 +75388,11 @@ in
       sources."ini-3.0.0"
       (sources."inquirer-8.2.4" // {
         dependencies = [
-          sources."rxjs-7.5.5"
+          sources."rxjs-7.5.6"
           sources."tslib-2.4.0"
         ];
       })
-      sources."ip-1.1.8"
+      sources."ip-2.0.0"
       sources."is-core-module-2.9.0"
       sources."is-docker-2.2.1"
       sources."is-fullwidth-code-point-3.0.0"
@@ -74793,24 +75403,18 @@ in
       sources."isexe-2.0.0"
       sources."json-parse-even-better-errors-2.3.1"
       sources."json-schema-traverse-1.0.0"
-      sources."jsonc-parser-3.0.0"
+      sources."jsonc-parser-3.1.0"
       sources."jsonparse-1.3.1"
       sources."lodash-4.17.21"
       sources."log-symbols-4.1.0"
-      sources."lru-cache-7.10.1"
-      sources."magic-string-0.26.1"
-      (sources."make-fetch-happen-9.1.0" // {
-        dependencies = [
-          sources."cacache-15.3.0"
-          sources."lru-cache-6.0.0"
-          sources."ssri-8.0.1"
-        ];
-      })
+      sources."lru-cache-7.13.2"
+      sources."magic-string-0.26.2"
+      sources."make-fetch-happen-10.2.0"
       sources."mimic-fn-2.1.0"
       sources."minimatch-3.1.2"
-      sources."minipass-3.3.3"
+      sources."minipass-3.3.5"
       sources."minipass-collect-1.0.2"
-      sources."minipass-fetch-1.4.1"
+      sources."minipass-fetch-2.1.0"
       sources."minipass-flush-1.0.5"
       sources."minipass-json-stream-1.0.1"
       sources."minipass-pipeline-1.2.4"
@@ -74820,14 +75424,14 @@ in
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
       sources."negotiator-0.6.3"
-      sources."node-gyp-8.4.1"
+      sources."node-gyp-9.1.0"
       sources."nopt-5.0.0"
       sources."normalize-package-data-4.0.0"
       sources."npm-bundled-1.1.2"
       sources."npm-install-checks-5.0.0"
       sources."npm-normalize-package-bin-1.0.1"
-      sources."npm-package-arg-9.0.2"
-      (sources."npm-packlist-5.1.0" // {
+      sources."npm-package-arg-9.1.0"
+      (sources."npm-packlist-5.1.1" // {
         dependencies = [
           sources."brace-expansion-2.0.1"
           sources."glob-8.0.3"
@@ -74835,15 +75439,7 @@ in
         ];
       })
       sources."npm-pick-manifest-7.0.1"
-      (sources."npm-registry-fetch-13.1.1" // {
-        dependencies = [
-          sources."@tootallnate/once-2.0.0"
-          sources."http-proxy-agent-5.0.0"
-          sources."make-fetch-happen-10.1.8"
-          sources."minipass-fetch-2.1.0"
-          sources."socks-proxy-agent-7.0.0"
-        ];
-      })
+      sources."npm-registry-fetch-13.3.0"
       sources."npmlog-6.0.2"
       sources."once-1.4.0"
       sources."onetime-5.1.2"
@@ -74851,7 +75447,7 @@ in
       sources."ora-5.4.1"
       sources."os-tmpdir-1.0.2"
       sources."p-map-4.0.0"
-      sources."pacote-13.3.0"
+      sources."pacote-13.6.1"
       sources."path-is-absolute-1.0.1"
       sources."path-parse-1.0.7"
       sources."proc-log-2.0.1"
@@ -74869,7 +75465,7 @@ in
       sources."readable-stream-3.6.0"
       sources."require-directory-2.1.1"
       sources."require-from-string-2.0.2"
-      sources."resolve-1.22.0"
+      sources."resolve-1.22.1"
       sources."restore-cursor-3.1.0"
       sources."retry-0.12.0"
       sources."rimraf-3.0.2"
@@ -74885,9 +75481,9 @@ in
       sources."set-blocking-2.0.0"
       sources."signal-exit-3.0.7"
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.2"
-      sources."socks-proxy-agent-6.2.1"
-      sources."source-map-0.7.3"
+      sources."socks-2.7.0"
+      sources."socks-proxy-agent-7.0.0"
+      sources."source-map-0.7.4"
       sources."sourcemap-codec-1.4.8"
       sources."spdx-correct-3.1.1"
       sources."spdx-exceptions-2.3.0"
@@ -74919,8 +75515,8 @@ in
       sources."wrappy-1.0.2"
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
-      sources."yargs-17.4.1"
-      sources."yargs-parser-21.0.1"
+      sources."yargs-17.5.1"
+      sources."yargs-parser-21.1.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -74935,10 +75531,10 @@ in
   "@antfu/ni" = nodeEnv.buildNodePackage {
     name = "_at_antfu_slash_ni";
     packageName = "@antfu/ni";
-    version = "0.16.2";
+    version = "0.17.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@antfu/ni/-/ni-0.16.2.tgz";
-      sha512 = "HZH4I07EYKU4KZLtUYm/zEmaDIhaq51H/qu45uH1AcUPWqMGbB7evE/TnSr0SGInEA+oQs4Is5Vn/PmQhfuU5w==";
+      url = "https://registry.npmjs.org/@antfu/ni/-/ni-0.17.2.tgz";
+      sha512 = "uYsmcsQzylpMiRB4gJRwcEJMIrKyeHZO0CJct8MmqkT3B7HTFU6oSZhDB50E/XvQw7FW8oT/tKsq3NFplRgG2Q==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -74953,15 +75549,15 @@ in
   "@antora/cli" = nodeEnv.buildNodePackage {
     name = "_at_antora_slash_cli";
     packageName = "@antora/cli";
-    version = "3.0.1";
+    version = "3.0.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@antora/cli/-/cli-3.0.1.tgz";
-      sha512 = "6qIPh31Z9VznWMHTi2/40Yx3OcHTGcXf9FaPcWsK4TVjLZtGlfqWccwb4P9ZzQPr+CaFDQFPTB8xwnP7c9GxNw==";
+      url = "https://registry.npmjs.org/@antora/cli/-/cli-3.0.3.tgz";
+      sha512 = "tY+gGI23sUViRhXweIjTU/J51NclZ6TNbsbXMnDev1RsaEnIaWR0QOOej8Wf/asbcA5ZORkPqB1pPfUblEhODw==";
     };
     dependencies = [
       sources."@antora/expand-path-helper-2.0.0"
-      sources."@antora/logger-3.0.1"
-      sources."@antora/playbook-builder-3.0.1"
+      sources."@antora/logger-3.0.3"
+      sources."@antora/playbook-builder-3.0.3"
       sources."@antora/user-require-helper-2.0.0"
       sources."@iarna/toml-2.2.5"
       sources."ansi-styles-3.2.1"
@@ -75010,7 +75606,7 @@ in
       sources."rfdc-1.3.0"
       sources."safe-buffer-5.2.1"
       sources."safe-stable-stringify-2.3.1"
-      sources."secure-json-parse-2.4.0"
+      sources."secure-json-parse-2.5.0"
       sources."sonic-boom-2.4.2"
       sources."split2-4.1.0"
       sources."stream-shift-1.0.1"
@@ -75036,27 +75632,27 @@ in
   "@antora/site-generator-default" = nodeEnv.buildNodePackage {
     name = "_at_antora_slash_site-generator-default";
     packageName = "@antora/site-generator-default";
-    version = "3.0.1";
+    version = "3.0.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@antora/site-generator-default/-/site-generator-default-3.0.1.tgz";
-      sha512 = "ZuN2LQfgMgW7f+VwlNUC/6fr7MGgCMWnFTy3hA8naQcJpnjKQ2Suv0BO2RvTqkBPX/SzNlnowyHfkJkEUITr4A==";
+      url = "https://registry.npmjs.org/@antora/site-generator-default/-/site-generator-default-3.0.3.tgz";
+      sha512 = "SlCuWg3Dlf7Uk7YZ1yYwHh/Lb1Dom+cEzB7wpzZkmoSfcR9Rms751qS06sUINVPA4y04ka2ugjbXDCafPmAZcg==";
     };
     dependencies = [
-      sources."@antora/asciidoc-loader-3.0.1"
-      sources."@antora/content-aggregator-3.0.1"
-      sources."@antora/content-classifier-3.0.1"
-      sources."@antora/document-converter-3.0.1"
+      sources."@antora/asciidoc-loader-3.0.3"
+      sources."@antora/content-aggregator-3.0.3"
+      sources."@antora/content-classifier-3.0.3"
+      sources."@antora/document-converter-3.0.3"
       sources."@antora/expand-path-helper-2.0.0"
-      sources."@antora/file-publisher-3.0.1"
-      sources."@antora/logger-3.0.1"
-      sources."@antora/navigation-builder-3.0.1"
-      sources."@antora/page-composer-3.0.1"
-      sources."@antora/playbook-builder-3.0.1"
-      sources."@antora/redirect-producer-3.0.1"
-      sources."@antora/site-generator-3.0.1"
-      sources."@antora/site-mapper-3.0.1"
-      sources."@antora/site-publisher-3.0.1"
-      sources."@antora/ui-loader-3.0.1"
+      sources."@antora/file-publisher-3.0.3"
+      sources."@antora/logger-3.0.3"
+      sources."@antora/navigation-builder-3.0.3"
+      sources."@antora/page-composer-3.0.3"
+      sources."@antora/playbook-builder-3.0.3"
+      sources."@antora/redirect-producer-3.0.3"
+      sources."@antora/site-generator-3.0.3"
+      sources."@antora/site-mapper-3.0.3"
+      sources."@antora/site-publisher-3.0.3"
+      sources."@antora/ui-loader-3.0.3"
       sources."@antora/user-require-helper-2.0.0"
       sources."@asciidoctor/core-2.2.6"
       sources."@iarna/toml-2.2.5"
@@ -75069,7 +75665,7 @@ in
         ];
       })
       sources."asciidoctor-opal-runtime-0.3.3"
-      sources."async-lock-1.3.1"
+      sources."async-lock-1.3.2"
       sources."atomic-sleep-1.0.0"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
@@ -75216,7 +75812,7 @@ in
       sources."rfdc-1.3.0"
       sources."safe-buffer-5.1.2"
       sources."safe-stable-stringify-2.3.1"
-      sources."secure-json-parse-2.4.0"
+      sources."secure-json-parse-2.5.0"
       sources."sha.js-2.4.11"
       sources."should-proxy-1.0.4"
       sources."simple-concat-1.0.1"
@@ -75245,7 +75841,7 @@ in
       sources."to-regex-range-5.0.1"
       sources."to-through-2.0.0"
       sources."type-fest-1.4.0"
-      sources."uglify-js-3.16.1"
+      sources."uglify-js-3.16.3"
       sources."unc-path-regex-0.1.2"
       sources."unique-stream-2.3.1"
       sources."unxhr-1.0.1"
@@ -75285,15 +75881,12 @@ in
   "@astrojs/language-server" = nodeEnv.buildNodePackage {
     name = "_at_astrojs_slash_language-server";
     packageName = "@astrojs/language-server";
-    version = "0.19.3";
+    version = "0.20.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@astrojs/language-server/-/language-server-0.19.3.tgz";
-      sha512 = "oaGiJadSxzbnl60jA5OssenbTvefd1pc2Cx4eT0FbVI1XkjNM6KURLJilg0lzN12kQFphkg9TkSS6KzR4YnbGQ==";
+      url = "https://registry.npmjs.org/@astrojs/language-server/-/language-server-0.20.3.tgz";
+      sha512 = "MuzTsSpUjtmMXfrBThtZwgO39Jc+Bbl5hLevumkp01N/YCKE+Iipd3ELSdbk7+TPiuBV+/SKrVmaQPvJBnWPkA==";
     };
     dependencies = [
-      sources."@astrojs/svelte-language-integration-0.1.6"
-      sources."@astrojs/vue-language-integration-0.1.1"
-      sources."@babel/parser-7.18.5"
       sources."@emmetio/abbreviation-2.2.3"
       sources."@emmetio/css-abbreviation-2.1.4"
       sources."@emmetio/scanner-1.0.0"
@@ -75302,48 +75895,17 @@ in
           sources."vscode-uri-2.1.2"
         ];
       })
-      (sources."@vue/compiler-core-3.2.37" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."@vue/compiler-dom-3.2.37"
-      (sources."@vue/compiler-sfc-3.2.37" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."@vue/compiler-ssr-3.2.37"
-      sources."@vue/reactivity-3.2.37"
-      sources."@vue/reactivity-transform-3.2.37"
-      sources."@vue/runtime-core-3.2.37"
-      sources."@vue/shared-3.2.37"
-      sources."dedent-js-1.0.1"
       sources."emmet-2.3.6"
-      sources."estree-walker-2.0.2"
       sources."jsonc-parser-2.3.1"
-      sources."lodash-4.17.21"
-      sources."lower-case-2.0.2"
-      sources."magic-string-0.25.9"
-      sources."nanoid-3.3.4"
-      sources."no-case-3.0.4"
-      sources."pascal-case-3.1.2"
-      sources."picocolors-1.0.0"
-      sources."postcss-8.4.14"
       sources."source-map-0.7.4"
-      sources."source-map-js-1.0.2"
-      sources."sourcemap-codec-1.4.8"
-      sources."svelte-3.48.0"
-      sources."svelte2tsx-0.5.10"
-      sources."tslib-2.4.0"
       sources."typescript-4.6.4"
       sources."vscode-css-languageservice-6.0.1"
-      sources."vscode-html-languageservice-5.0.0"
-      sources."vscode-jsonrpc-8.0.1"
-      sources."vscode-languageserver-8.0.1"
-      sources."vscode-languageserver-protocol-3.17.1"
+      sources."vscode-html-languageservice-5.0.1"
+      sources."vscode-jsonrpc-8.0.2"
+      sources."vscode-languageserver-8.0.2"
+      sources."vscode-languageserver-protocol-3.17.2"
       sources."vscode-languageserver-textdocument-1.0.5"
-      sources."vscode-languageserver-types-3.17.1"
+      sources."vscode-languageserver-types-3.17.2"
       sources."vscode-nls-5.0.1"
       sources."vscode-uri-3.0.3"
     ];
@@ -75359,10 +75921,10 @@ in
   "@bitwarden/cli" = nodeEnv.buildNodePackage {
     name = "_at_bitwarden_slash_cli";
     packageName = "@bitwarden/cli";
-    version = "1.22.1";
+    version = "2022.6.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@bitwarden/cli/-/cli-1.22.1.tgz";
-      sha512 = "tjRig3vs+tS6zBXZPqei8EEzFLtGJAaqPz2GUIbZWCfKoPTUhDZFGjKVwUFaVbfadYBms4QW8NB/7FPtlBcVRw==";
+      url = "https://registry.npmjs.org/@bitwarden/cli/-/cli-2022.6.2.tgz";
+      sha512 = "ub3T4RTaTk6cUTbegQPNotSrdKhnx32byD9KYK8QJXEXSDrPWGALIdwen1uFj81711+6cFi75BS+6Yqk3ctS6w==";
     };
     dependencies = [
       sources."@koa/multer-3.0.0"
@@ -75370,7 +75932,7 @@ in
       sources."@tootallnate/once-1.1.2"
       sources."abab-2.0.6"
       sources."accepts-1.3.8"
-      sources."acorn-8.7.1"
+      sources."acorn-8.8.0"
       (sources."acorn-globals-6.0.0" // {
         dependencies = [
           sources."acorn-7.4.1"
@@ -75493,7 +76055,7 @@ in
         ];
       })
       sources."json-stringify-safe-5.0.1"
-      sources."jszip-3.10.0"
+      sources."jszip-3.10.1"
       sources."keygrip-1.1.0"
       (sources."koa-2.13.4" // {
         dependencies = [
@@ -75528,8 +76090,8 @@ in
           sources."whatwg-url-5.0.0"
         ];
       })
-      sources."node-forge-0.10.0"
-      sources."nwsapi-2.2.0"
+      sources."node-forge-1.3.1"
+      sources."nwsapi-2.2.1"
       sources."object-assign-4.1.1"
       sources."object-inspect-1.12.2"
       sources."on-finished-2.4.1"
@@ -75547,9 +76109,9 @@ in
       sources."prelude-ls-1.1.2"
       sources."process-nextick-args-2.0.1"
       sources."proper-lockfile-4.1.2"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."punycode-2.1.1"
-      sources."qs-6.10.5"
+      sources."qs-6.11.0"
       (sources."raw-body-2.5.1" // {
         dependencies = [
           sources."depd-2.0.0"
@@ -75606,7 +76168,7 @@ in
       sources."whatwg-mimetype-2.3.0"
       sources."whatwg-url-8.7.0"
       sources."word-wrap-1.2.3"
-      sources."ws-7.5.8"
+      sources."ws-7.5.9"
       sources."xml-name-validator-3.0.0"
       sources."xmlchars-2.2.0"
       sources."xtend-4.0.2"
@@ -75626,15 +76188,15 @@ in
   "@commitlint/cli" = nodeEnv.buildNodePackage {
     name = "_at_commitlint_slash_cli";
     packageName = "@commitlint/cli";
-    version = "17.0.2";
+    version = "17.0.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@commitlint/cli/-/cli-17.0.2.tgz";
-      sha512 = "Axe89Js0YzGGd4gxo3JLlF7yIdjOVpG1LbOorGc6PfYF+drBh14PvarSDLzyd2TNqdylUCq9wb9/A88ZjIdyhA==";
+      url = "https://registry.npmjs.org/@commitlint/cli/-/cli-17.0.3.tgz";
+      sha512 = "oAo2vi5d8QZnAbtU5+0cR2j+A7PO8zuccux65R/EycwvsZrDVyW518FFrnJK2UQxbRtHFFIG+NjQ6vOiJV0Q8A==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      (sources."@babel/highlight-7.17.12" // {
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      (sources."@babel/highlight-7.18.6" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
@@ -75644,17 +76206,17 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      sources."@commitlint/config-validator-17.0.0"
+      sources."@commitlint/config-validator-17.0.3"
       sources."@commitlint/ensure-17.0.0"
       sources."@commitlint/execute-rule-17.0.0"
       sources."@commitlint/format-17.0.0"
-      sources."@commitlint/is-ignored-17.0.0"
-      sources."@commitlint/lint-17.0.0"
-      sources."@commitlint/load-17.0.0"
+      sources."@commitlint/is-ignored-17.0.3"
+      sources."@commitlint/lint-17.0.3"
+      sources."@commitlint/load-17.0.3"
       sources."@commitlint/message-17.0.0"
       sources."@commitlint/parse-17.0.0"
       sources."@commitlint/read-17.0.0"
-      sources."@commitlint/resolve-extends-17.0.0"
+      sources."@commitlint/resolve-extends-17.0.3"
       sources."@commitlint/rules-17.0.0"
       sources."@commitlint/to-lines-17.0.0"
       (sources."@commitlint/top-level-17.0.0" // {
@@ -75667,21 +76229,21 @@ in
       })
       sources."@commitlint/types-17.0.0"
       sources."@cspotcode/source-map-support-0.8.1"
-      sources."@jridgewell/resolve-uri-3.0.7"
-      sources."@jridgewell/sourcemap-codec-1.4.13"
+      sources."@jridgewell/resolve-uri-3.1.0"
+      sources."@jridgewell/sourcemap-codec-1.4.14"
       sources."@jridgewell/trace-mapping-0.3.9"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
       sources."@tsconfig/node14-1.0.3"
       sources."@tsconfig/node16-1.0.3"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse-json-4.0.0"
       sources."JSONStream-1.3.5"
-      sources."acorn-8.7.1"
+      sources."acorn-8.8.0"
       sources."acorn-walk-8.2.0"
-      sources."ajv-6.12.6"
+      sources."ajv-8.11.0"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
       sources."arg-4.1.3"
@@ -75698,7 +76260,7 @@ in
       sources."conventional-changelog-angular-5.0.13"
       sources."conventional-commits-parser-3.2.4"
       sources."cosmiconfig-7.0.1"
-      sources."cosmiconfig-typescript-loader-2.0.1"
+      sources."cosmiconfig-typescript-loader-2.0.2"
       sources."create-require-1.1.1"
       sources."cross-spawn-7.0.3"
       sources."dargs-7.0.0"
@@ -75716,7 +76278,6 @@ in
       sources."escape-string-regexp-1.0.5"
       sources."execa-5.1.1"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-json-stable-stringify-2.1.0"
       sources."find-up-4.1.0"
       sources."fs-extra-10.1.0"
       sources."function-bind-1.1.1"
@@ -75748,7 +76309,7 @@ in
       sources."isexe-2.0.0"
       sources."js-tokens-4.0.0"
       sources."json-parse-even-better-errors-2.3.1"
-      sources."json-schema-traverse-0.4.1"
+      sources."json-schema-traverse-1.0.0"
       sources."jsonfile-6.1.0"
       sources."jsonparse-1.3.1"
       sources."kind-of-6.0.3"
@@ -75794,6 +76355,7 @@ in
       sources."readable-stream-3.6.0"
       sources."redent-3.0.0"
       sources."require-directory-2.1.1"
+      sources."require-from-string-2.0.2"
       sources."resolve-1.22.1"
       sources."resolve-from-5.0.0"
       sources."resolve-global-1.0.0"
@@ -75818,7 +76380,7 @@ in
       sources."through-2.3.8"
       sources."through2-4.0.2"
       sources."trim-newlines-3.0.1"
-      sources."ts-node-10.8.1"
+      sources."ts-node-10.9.1"
       sources."type-fest-0.18.1"
       sources."typescript-4.7.4"
       sources."universalify-2.0.0"
@@ -75833,7 +76395,7 @@ in
       sources."yaml-1.10.2"
       (sources."yargs-17.5.1" // {
         dependencies = [
-          sources."yargs-parser-21.0.1"
+          sources."yargs-parser-21.1.0"
         ];
       })
       sources."yargs-parser-20.2.9"
@@ -75853,10 +76415,10 @@ in
   "@commitlint/config-conventional" = nodeEnv.buildNodePackage {
     name = "_at_commitlint_slash_config-conventional";
     packageName = "@commitlint/config-conventional";
-    version = "17.0.2";
+    version = "17.0.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-17.0.2.tgz";
-      sha512 = "MfP0I/JbxKkzo+HXWB7B3WstGS4BiniotU3d3xQ9gK8cR0DbeZ4MuyGCWF65YDyrcDTS3WlrJ3ndSPA1pqhoPw==";
+      url = "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-17.0.3.tgz";
+      sha512 = "HCnzTm5ATwwwzNVq5Y57poS0a1oOOcd5pc1MmBpLbGmSysc4i7F/++JuwtdFPu16sgM3H9J/j2zznRLOSGVO2A==";
     };
     dependencies = [
       sources."array-ify-1.0.0"
@@ -75880,10 +76442,10 @@ in
   "@forge/cli" = nodeEnv.buildNodePackage {
     name = "_at_forge_slash_cli";
     packageName = "@forge/cli";
-    version = "4.4.1";
+    version = "4.5.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@forge/cli/-/cli-4.4.1.tgz";
-      sha512 = "AIlSXdRYv4TkAuQSABUQnTpUqWJ4OvHO0xI9+HMjMzrEWTDka8JjN2kr+qlxXqdthC222V38jxsJ0ejLvJraQg==";
+      url = "https://registry.npmjs.org/@forge/cli/-/cli-4.5.1.tgz";
+      sha512 = "Z6ic0gv0toD//dXHvmGXuRJHKlch8H/zC2NVTaw3M3+8c2OwhSMVjo96YrovLg86i4WuvlY29UzKcDxAnTBriw==";
     };
     dependencies = [
       sources."@ampproject/remapping-2.2.0"
@@ -75893,76 +76455,77 @@ in
           sources."js-yaml-4.1.0"
         ];
       })
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.18.5"
-      sources."@babel/core-7.18.5"
-      (sources."@babel/generator-7.18.2" // {
-        dependencies = [
-          sources."@jridgewell/gen-mapping-0.3.1"
-        ];
-      })
-      sources."@babel/helper-annotate-as-pure-7.16.7"
-      sources."@babel/helper-compilation-targets-7.18.2"
-      sources."@babel/helper-create-class-features-plugin-7.18.0"
-      sources."@babel/helper-environment-visitor-7.18.2"
-      sources."@babel/helper-function-name-7.17.9"
-      sources."@babel/helper-hoist-variables-7.16.7"
-      sources."@babel/helper-member-expression-to-functions-7.17.7"
-      sources."@babel/helper-module-imports-7.16.7"
-      sources."@babel/helper-module-transforms-7.18.0"
-      sources."@babel/helper-optimise-call-expression-7.16.7"
-      sources."@babel/helper-plugin-utils-7.17.12"
-      sources."@babel/helper-replace-supers-7.18.2"
-      sources."@babel/helper-simple-access-7.18.2"
-      sources."@babel/helper-skip-transparent-expression-wrappers-7.16.0"
-      sources."@babel/helper-split-export-declaration-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/helper-validator-option-7.16.7"
-      sources."@babel/helpers-7.18.2"
-      sources."@babel/highlight-7.17.12"
-      sources."@babel/parser-7.18.5"
-      sources."@babel/plugin-proposal-class-properties-7.17.12"
-      sources."@babel/plugin-proposal-numeric-separator-7.16.7"
-      sources."@babel/plugin-proposal-optional-chaining-7.17.12"
-      sources."@babel/plugin-syntax-jsx-7.17.12"
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/compat-data-7.18.8"
+      sources."@babel/core-7.18.10"
+      (sources."@babel/generator-7.18.10" // {
+        dependencies = [
+          sources."@jridgewell/gen-mapping-0.3.2"
+        ];
+      })
+      sources."@babel/helper-annotate-as-pure-7.18.6"
+      sources."@babel/helper-compilation-targets-7.18.9"
+      sources."@babel/helper-create-class-features-plugin-7.18.9"
+      sources."@babel/helper-environment-visitor-7.18.9"
+      sources."@babel/helper-function-name-7.18.9"
+      sources."@babel/helper-hoist-variables-7.18.6"
+      sources."@babel/helper-member-expression-to-functions-7.18.9"
+      sources."@babel/helper-module-imports-7.18.6"
+      sources."@babel/helper-module-transforms-7.18.9"
+      sources."@babel/helper-optimise-call-expression-7.18.6"
+      sources."@babel/helper-plugin-utils-7.18.9"
+      sources."@babel/helper-replace-supers-7.18.9"
+      sources."@babel/helper-simple-access-7.18.6"
+      sources."@babel/helper-skip-transparent-expression-wrappers-7.18.9"
+      sources."@babel/helper-split-export-declaration-7.18.6"
+      sources."@babel/helper-string-parser-7.18.10"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      sources."@babel/helper-validator-option-7.18.6"
+      sources."@babel/helpers-7.18.9"
+      sources."@babel/highlight-7.18.6"
+      sources."@babel/parser-7.18.10"
+      sources."@babel/plugin-proposal-class-properties-7.18.6"
+      sources."@babel/plugin-proposal-numeric-separator-7.18.6"
+      sources."@babel/plugin-proposal-optional-chaining-7.18.9"
+      sources."@babel/plugin-syntax-jsx-7.18.6"
       sources."@babel/plugin-syntax-numeric-separator-7.10.4"
       sources."@babel/plugin-syntax-optional-chaining-7.8.3"
-      sources."@babel/plugin-syntax-typescript-7.17.12"
-      sources."@babel/plugin-transform-react-jsx-7.17.12"
-      sources."@babel/plugin-transform-typescript-7.18.4"
-      sources."@babel/preset-typescript-7.17.12"
-      sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.18.5"
-      sources."@babel/types-7.18.4"
+      sources."@babel/plugin-syntax-typescript-7.18.6"
+      sources."@babel/plugin-transform-react-jsx-7.18.10"
+      sources."@babel/plugin-transform-typescript-7.18.10"
+      sources."@babel/preset-typescript-7.18.6"
+      sources."@babel/template-7.18.10"
+      sources."@babel/traverse-7.18.10"
+      sources."@babel/types-7.18.10"
       sources."@discoveryjs/json-ext-0.5.7"
       sources."@forge/api-2.7.0"
       sources."@forge/auth-0.0.1"
       sources."@forge/babel-plugin-transform-ui-1.1.0"
-      sources."@forge/bundler-3.0.8"
-      sources."@forge/cli-shared-2.5.1"
+      sources."@forge/bundler-3.0.10"
+      sources."@forge/cli-shared-2.6.1"
       sources."@forge/csp-1.11.0"
-      sources."@forge/lint-3.1.2"
-      sources."@forge/manifest-3.8.1"
+      sources."@forge/lint-3.2.1"
+      sources."@forge/manifest-3.10.0"
       sources."@forge/storage-1.3.0"
       sources."@forge/util-1.2.0"
       sources."@jridgewell/gen-mapping-0.1.1"
-      sources."@jridgewell/resolve-uri-3.0.7"
-      sources."@jridgewell/set-array-1.1.1"
+      sources."@jridgewell/resolve-uri-3.1.0"
+      sources."@jridgewell/set-array-1.1.2"
       (sources."@jridgewell/source-map-0.3.2" // {
         dependencies = [
-          sources."@jridgewell/gen-mapping-0.3.1"
+          sources."@jridgewell/gen-mapping-0.3.2"
         ];
       })
-      sources."@jridgewell/sourcemap-codec-1.4.13"
-      sources."@jridgewell/trace-mapping-0.3.13"
+      sources."@jridgewell/sourcemap-codec-1.4.14"
+      sources."@jridgewell/trace-mapping-0.3.14"
       sources."@jsdevtools/ono-7.1.3"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/eslint-8.4.3"
-      sources."@types/eslint-scope-3.7.3"
+      sources."@types/eslint-8.4.5"
+      sources."@types/eslint-scope-3.7.4"
       sources."@types/estree-0.0.51"
       sources."@types/json-schema-7.0.11"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/node-fetch-2.6.2"
       sources."@typescript-eslint/types-3.10.1"
       (sources."@typescript-eslint/typescript-estree-3.10.1" // {
@@ -75991,7 +76554,7 @@ in
       sources."@webpack-cli/serve-1.7.0"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
-      sources."acorn-8.7.1"
+      sources."acorn-8.8.0"
       sources."acorn-import-assertions-1.8.0"
       (sources."ajv-6.12.6" // {
         dependencies = [
@@ -76055,7 +76618,7 @@ in
         ];
       })
       sources."browserify-zlib-0.2.0"
-      sources."browserslist-4.20.4"
+      sources."browserslist-4.21.3"
       sources."buffer-4.9.2"
       sources."buffer-crc32-0.2.13"
       sources."buffer-from-1.1.2"
@@ -76070,7 +76633,7 @@ in
       })
       sources."call-bind-1.0.2"
       sources."call-me-maybe-1.0.1"
-      sources."caniuse-lite-1.0.30001358"
+      sources."caniuse-lite-1.0.30001373"
       sources."case-1.6.3"
       sources."chainsaw-0.1.0"
       sources."chalk-2.4.2"
@@ -76079,15 +76642,15 @@ in
       sources."chownr-1.1.4"
       sources."chrome-trace-event-1.0.3"
       sources."cipher-base-1.0.4"
-      sources."cli-color-2.0.2"
+      sources."cli-color-2.0.3"
       sources."cli-cursor-3.1.0"
-      sources."cli-spinners-2.6.1"
+      sources."cli-spinners-2.7.0"
       sources."cli-table3-0.6.2"
       sources."cli-width-3.0.0"
       sources."cliui-7.0.4"
       sources."clone-1.0.4"
       sources."clone-deep-4.0.1"
-      sources."clone-response-1.0.2"
+      sources."clone-response-1.0.3"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."colorette-2.0.19"
@@ -76124,7 +76687,7 @@ in
       sources."css-select-1.2.0"
       sources."css-what-2.1.3"
       sources."d-1.0.1"
-      sources."dayjs-1.11.3"
+      sources."dayjs-1.11.4"
       sources."debounce-fn-3.0.1"
       sources."debug-4.3.4"
       sources."decompress-response-3.3.0"
@@ -76153,8 +76716,8 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."duplexer3-0.1.4"
-      sources."electron-to-chromium-1.4.164"
+      sources."duplexer3-0.1.5"
+      sources."electron-to-chromium-1.4.211"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -76164,7 +76727,7 @@ in
       sources."emoji-regex-8.0.0"
       sources."emojis-list-3.0.0"
       sources."end-of-stream-1.4.4"
-      sources."enhanced-resolve-5.9.3"
+      sources."enhanced-resolve-5.10.0"
       sources."entities-1.1.2"
       sources."env-paths-2.2.1"
       sources."envinfo-7.8.1"
@@ -76172,7 +76735,7 @@ in
       sources."es-module-lexer-0.9.3"
       sources."es-shim-unscopables-1.0.0"
       sources."es-to-primitive-1.2.1"
-      sources."es5-ext-0.10.61"
+      sources."es5-ext-0.10.62"
       sources."es6-iterator-2.0.3"
       sources."es6-symbol-3.1.3"
       sources."es6-weak-map-2.0.3"
@@ -76193,7 +76756,7 @@ in
       sources."expand-template-2.0.3"
       (sources."ext-1.6.0" // {
         dependencies = [
-          sources."type-2.6.0"
+          sources."type-2.7.0"
         ];
       })
       (sources."external-editor-3.1.0" // {
@@ -76204,13 +76767,13 @@ in
       sources."extract-files-9.0.0"
       sources."fast-deep-equal-2.0.1"
       sources."fast-json-stable-stringify-2.1.0"
-      sources."fastest-levenshtein-1.0.12"
+      sources."fastest-levenshtein-1.0.16"
       sources."figures-3.2.0"
       sources."fill-range-7.0.1"
       sources."find-cache-dir-3.3.2"
       sources."find-up-4.1.0"
       sources."form-data-3.0.1"
-      sources."fp-ts-2.12.1"
+      sources."fp-ts-2.12.2"
       sources."fs-constants-1.0.0"
       sources."fs-extra-8.1.0"
       sources."fs-monkey-1.0.3"
@@ -76280,7 +76843,7 @@ in
       })
       sources."internal-slot-1.0.3"
       sources."interpret-2.2.0"
-      sources."io-ts-2.2.16"
+      sources."io-ts-2.2.17"
       sources."is-bigint-1.0.4"
       sources."is-boolean-object-1.1.2"
       sources."is-callable-1.2.4"
@@ -76325,7 +76888,7 @@ in
       sources."json5-2.2.1"
       sources."jsonfile-4.0.0"
       sources."jsonify-0.0.0"
-      sources."jsonpointer-5.0.0"
+      sources."jsonpointer-5.0.1"
       sources."keytar-7.9.0"
       sources."keyv-3.1.0"
       sources."kind-of-6.0.3"
@@ -76371,7 +76934,7 @@ in
       sources."lru-queue-0.1.0"
       sources."make-dir-3.1.0"
       sources."md5.js-1.3.5"
-      sources."memfs-3.4.6"
+      sources."memfs-3.4.7"
       sources."memoizee-0.4.15"
       sources."merge-stream-2.0.0"
       sources."micromatch-4.0.5"
@@ -76396,7 +76959,7 @@ in
       sources."napi-build-utils-1.0.2"
       sources."neo-async-2.6.2"
       sources."next-tick-1.1.0"
-      (sources."node-abi-3.22.0" // {
+      (sources."node-abi-3.24.0" // {
         dependencies = [
           sources."semver-7.3.7"
         ];
@@ -76409,7 +76972,7 @@ in
         ];
       })
       sources."node-machine-id-1.1.12"
-      sources."node-releases-2.0.5"
+      sources."node-releases-2.0.6"
       sources."normalize-path-3.0.0"
       sources."normalize-url-4.5.1"
       sources."nth-check-1.0.2"
@@ -76487,7 +77050,12 @@ in
           sources."inherits-2.0.4"
         ];
       })
-      sources."readdir-glob-1.1.1"
+      (sources."readdir-glob-1.1.2" // {
+        dependencies = [
+          sources."brace-expansion-2.0.1"
+          sources."minimatch-5.1.0"
+        ];
+      })
       sources."rechoir-0.7.1"
       (sources."recursive-readdir-2.2.2" // {
         dependencies = [
@@ -76559,7 +77127,7 @@ in
         ];
       })
       sources."terminal-link-2.1.1"
-      (sources."terser-5.14.1" // {
+      (sources."terser-5.14.2" // {
         dependencies = [
           sources."commander-2.20.3"
         ];
@@ -76587,7 +77155,7 @@ in
       })
       sources."traverse-0.3.9"
       sources."truncate-utf8-bytes-1.0.2"
-      (sources."ts-loader-9.3.0" // {
+      (sources."ts-loader-9.3.1" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -76619,6 +77187,7 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
+      sources."update-browserslist-db-1.0.5"
       (sources."uri-js-4.4.1" // {
         dependencies = [
           sources."punycode-2.1.1"
@@ -76643,7 +77212,7 @@ in
       sources."watchpack-2.4.0"
       sources."wcwidth-1.0.1"
       sources."webidl-conversions-4.0.2"
-      (sources."webpack-5.73.0" // {
+      (sources."webpack-5.74.0" // {
         dependencies = [
           sources."schema-utils-3.1.1"
         ];
@@ -76691,9 +77260,9 @@ in
       sha512 = "csjufiygKXa845N04Mp8DWxHx2GiGp2RviuKAvvanC/+NoU4Fmxo9aLKATpC7XL5mNSYqy+VhTikFTZEP2u9Kg==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      (sources."@babel/highlight-7.17.12" // {
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      (sources."@babel/highlight-7.18.6" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
@@ -76710,7 +77279,7 @@ in
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/responselike-1.0.0"
       sources."abort-controller-3.0.0"
@@ -76742,11 +77311,11 @@ in
       sources."chokidar-3.5.3"
       sources."clean-stack-2.2.0"
       sources."cli-cursor-3.1.0"
-      sources."cli-spinners-2.6.1"
+      sources."cli-spinners-2.7.0"
       sources."cli-truncate-2.1.0"
       sources."cli-width-3.0.0"
       sources."clone-1.0.4"
-      sources."clone-response-1.0.2"
+      sources."clone-response-1.0.3"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."commander-7.2.0"
@@ -76837,7 +77406,7 @@ in
       sources."jsonfile-6.1.0"
       sources."jwa-2.0.0"
       sources."jws-4.0.0"
-      sources."keyv-4.3.1"
+      sources."keyv-4.3.3"
       sources."lines-and-columns-1.2.4"
       sources."locate-path-6.0.0"
       sources."lodash-4.17.21"
@@ -76897,7 +77466,7 @@ in
       sources."picomatch-2.3.1"
       sources."prepend-http-3.0.1"
       sources."pump-3.0.0"
-      sources."qs-6.10.5"
+      sources."qs-6.11.0"
       sources."querystringify-2.2.0"
       sources."quick-lru-5.1.1"
       (sources."read-pkg-6.0.0" // {
@@ -76920,11 +77489,11 @@ in
       sources."replace-buffer-1.2.1"
       sources."requires-port-1.0.0"
       sources."resolve-alpn-1.2.1"
-      sources."responselike-2.0.0"
+      sources."responselike-2.0.1"
       sources."restore-cursor-3.1.0"
       sources."router-ips-1.0.0"
       sources."run-async-2.4.1"
-      sources."rxjs-7.5.5"
+      sources."rxjs-7.5.6"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."semver-6.3.0"
@@ -76948,7 +77517,7 @@ in
       sources."tr46-0.0.3"
       (sources."ts2gas-4.2.0" // {
         dependencies = [
-          sources."type-fest-2.13.1"
+          sources."type-fest-2.18.0"
         ];
       })
       sources."tslib-2.4.0"
@@ -76997,10 +77566,10 @@ in
       sources."@hyperswarm/hypersign-2.1.1"
       sources."@hyperswarm/network-2.1.0"
       sources."@leichtgewicht/ip-codec-2.0.4"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."abstract-extension-3.1.1"
       sources."abstract-leveldown-6.2.3"
-      sources."acorn-8.7.1"
+      sources."acorn-8.8.0"
       sources."acorn-walk-8.2.0"
       (sources."ansi-diff-stream-1.2.1" // {
         dependencies = [
@@ -77014,7 +77583,7 @@ in
       sources."array-lru-1.1.1"
       sources."atomic-batcher-1.0.2"
       sources."await-lock-2.2.2"
-      sources."b4a-1.5.3"
+      sources."b4a-1.6.0"
       sources."base64-js-1.5.1"
       sources."binary-extensions-2.2.0"
       (sources."bitfield-rle-2.2.1" // {
@@ -77190,7 +77759,7 @@ in
       sources."minimist-1.2.6"
       sources."mkdirp-1.0.4"
       sources."mkdirp-classic-0.5.3"
-      sources."moment-2.29.3"
+      sources."moment-2.29.4"
       sources."mountable-hypertrie-2.8.0"
       sources."ms-2.0.0"
       sources."multicast-dns-7.2.5"
@@ -77201,7 +77770,7 @@ in
       sources."nanoresource-1.3.0"
       sources."nanoresource-promise-1.2.2"
       sources."napi-macros-2.0.0"
-      sources."node-gyp-build-4.4.0"
+      sources."node-gyp-build-4.5.0"
       (sources."noise-peer-2.1.1" // {
         dependencies = [
           sources."readable-stream-3.6.0"
@@ -77222,7 +77791,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."progress-string-1.2.2"
       sources."protocol-buffers-4.2.0"
-      sources."protocol-buffers-encodings-1.1.1"
+      sources."protocol-buffers-encodings-1.2.0"
       sources."protocol-buffers-schema-3.6.0"
       sources."prr-1.0.1"
       sources."pseudomap-1.0.2"
@@ -77322,7 +77891,7 @@ in
         ];
       })
       sources."varint-5.0.0"
-      sources."vm2-3.9.9"
+      sources."vm2-3.9.10"
       sources."which-1.3.1"
       (sources."wrap-ansi-7.0.0" // {
         dependencies = [
@@ -77352,13 +77921,13 @@ in
   "@medable/mdctl-cli" = nodeEnv.buildNodePackage {
     name = "_at_medable_slash_mdctl-cli";
     packageName = "@medable/mdctl-cli";
-    version = "1.0.64";
+    version = "1.0.65";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@medable/mdctl-cli/-/mdctl-cli-1.0.64.tgz";
-      sha512 = "hV1PG20mLFmYbSJvV+JIGVLUT3zzDt2snR9T7tKMBAVvGQBAfzodylbTZe+b20hNz3Max2Z4zsKVksRu71x1+A==";
+      url = "https://registry.npmjs.org/@medable/mdctl-cli/-/mdctl-cli-1.0.65.tgz";
+      sha512 = "tCI9Znr2FdQJREIvAFLpznskYOGigICd9wEA71Q7xHEka4RNlhKBZwzVCBH4NAPZoCLZbLYCDzW/7ursgi87Ew==";
     };
     dependencies = [
-      sources."@babel/parser-7.18.5"
+      sources."@babel/parser-7.18.10"
       sources."@medable/mdctl-api-1.0.66"
       sources."@medable/mdctl-api-driver-1.0.66"
       sources."@medable/mdctl-axon-tools-1.0.66"
@@ -77393,7 +77962,7 @@ in
       sources."@types/markdown-it-12.2.3"
       sources."@types/mdurl-1.0.2"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/tough-cookie-2.3.8"
       sources."abbrev-1.1.1"
       sources."abort-controller-3.0.0"
@@ -77751,7 +78320,7 @@ in
       })
       sources."js2xmlparser-4.0.2"
       sources."jsbn-0.1.1"
-      (sources."jsdoc-3.6.10" // {
+      (sources."jsdoc-3.6.11" // {
         dependencies = [
           sources."mkdirp-1.0.4"
           sources."strip-json-comments-3.1.1"
@@ -77777,7 +78346,7 @@ in
       sources."jws-3.2.2"
       sources."keytar-4.13.0"
       sources."kind-of-6.0.3"
-      sources."klaw-4.0.1"
+      sources."klaw-3.0.0"
       sources."lcid-2.0.0"
       sources."levn-0.3.0"
       sources."lie-3.0.4"
@@ -77801,7 +78370,7 @@ in
       sources."map-visit-1.0.0"
       sources."markdown-it-12.3.2"
       sources."markdown-it-anchor-8.6.4"
-      sources."marked-4.0.17"
+      sources."marked-4.0.18"
       sources."md5.js-1.3.5"
       sources."mdurl-1.0.1"
       (sources."mem-4.3.0" // {
@@ -77826,7 +78395,7 @@ in
         ];
       })
       sources."mkdirp-0.5.6"
-      sources."moment-2.29.3"
+      sources."moment-2.29.4"
       sources."ms-2.1.2"
       sources."mute-stream-0.0.7"
       sources."nan-2.14.0"
@@ -78014,7 +78583,7 @@ in
       sources."private-0.1.8"
       sources."process-nextick-args-2.0.1"
       sources."promise-nodify-1.0.2"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."q-1.5.1"
@@ -78197,7 +78766,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."type-check-0.3.2"
       sources."uc.micro-1.0.6"
-      sources."uglify-js-3.16.1"
+      sources."uglify-js-3.16.3"
       sources."underscore-1.13.4"
       sources."union-value-1.0.1"
       (sources."universal-url-2.0.0" // {
@@ -78288,16 +78857,16 @@ in
       sources."@octokit/core-3.6.0"
       sources."@octokit/endpoint-6.0.12"
       sources."@octokit/graphql-4.8.0"
-      sources."@octokit/openapi-types-12.4.0"
-      sources."@octokit/plugin-paginate-rest-2.19.0"
+      sources."@octokit/openapi-types-12.11.0"
+      sources."@octokit/plugin-paginate-rest-2.21.3"
       sources."@octokit/plugin-request-log-1.0.4"
-      sources."@octokit/plugin-rest-endpoint-methods-5.15.0"
+      sources."@octokit/plugin-rest-endpoint-methods-5.16.2"
       sources."@octokit/plugin-retry-3.0.9"
       sources."@octokit/plugin-throttling-3.7.0"
       sources."@octokit/request-5.6.3"
       sources."@octokit/request-error-2.1.0"
       sources."@octokit/rest-18.12.0"
-      sources."@octokit/types-6.37.0"
+      sources."@octokit/types-6.41.0"
       sources."@sideway/address-4.1.4"
       sources."@sideway/formula-3.0.0"
       sources."@sideway/pinpoint-2.0.0"
@@ -78314,7 +78883,7 @@ in
       sources."chalk-4.1.2"
       sources."child-process-promise-2.2.1"
       sources."cli-cursor-3.1.0"
-      sources."cli-spinners-2.6.1"
+      sources."cli-spinners-2.7.0"
       sources."clone-1.0.4"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
@@ -78384,25 +78953,25 @@ in
   "@nestjs/cli" = nodeEnv.buildNodePackage {
     name = "_at_nestjs_slash_cli";
     packageName = "@nestjs/cli";
-    version = "8.2.6";
+    version = "9.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@nestjs/cli/-/cli-8.2.6.tgz";
-      sha512 = "uvwKbUZJmgdJu1D24e+uUqHnwoB/0R9hLfUJjr5pTvLlP/RJugHAdJr7m1dQe92Xzdyi36kBN4Id3RXHgfz1UA==";
+      url = "https://registry.npmjs.org/@nestjs/cli/-/cli-9.0.0.tgz";
+      sha512 = "xT5uOoIEcaB/Fn6UeF7atfKqKiEEsTeRKPiM55p+e5H9WVw8FC2r4ceZgaINJbsw0QWskVj/ZQadMo6dA6hXxw==";
     };
     dependencies = [
-      sources."@angular-devkit/core-13.3.5"
-      sources."@angular-devkit/schematics-13.3.5"
-      (sources."@angular-devkit/schematics-cli-13.3.5" // {
+      sources."@angular-devkit/core-14.0.5"
+      sources."@angular-devkit/schematics-14.0.5"
+      (sources."@angular-devkit/schematics-cli-14.0.5" // {
         dependencies = [
           sources."chalk-4.1.2"
-          sources."inquirer-8.2.0"
-          sources."rxjs-7.5.5"
+          sources."inquirer-8.2.4"
+          sources."rxjs-7.5.6"
           sources."tslib-2.4.0"
         ];
       })
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      (sources."@babel/highlight-7.17.12" // {
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      (sources."@babel/highlight-7.18.6" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
@@ -78412,19 +78981,19 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      sources."@jridgewell/gen-mapping-0.3.1"
-      sources."@jridgewell/resolve-uri-3.0.7"
-      sources."@jridgewell/set-array-1.1.1"
+      sources."@jridgewell/gen-mapping-0.3.2"
+      sources."@jridgewell/resolve-uri-3.1.0"
+      sources."@jridgewell/set-array-1.1.2"
       sources."@jridgewell/source-map-0.3.2"
-      sources."@jridgewell/sourcemap-codec-1.4.13"
-      sources."@jridgewell/trace-mapping-0.3.13"
-      sources."@nestjs/schematics-8.0.11"
-      sources."@types/eslint-8.4.3"
-      sources."@types/eslint-scope-3.7.3"
+      sources."@jridgewell/sourcemap-codec-1.4.14"
+      sources."@jridgewell/trace-mapping-0.3.14"
+      sources."@nestjs/schematics-9.0.1"
+      sources."@types/eslint-8.4.5"
+      sources."@types/eslint-scope-3.7.4"
       sources."@types/estree-0.0.51"
       sources."@types/json-schema-7.0.11"
       sources."@types/json5-0.0.29"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/parse-json-4.0.0"
       sources."@webassemblyjs/ast-1.11.1"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.1"
@@ -78443,9 +79012,9 @@ in
       sources."@webassemblyjs/wast-printer-1.11.1"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
-      sources."acorn-8.7.1"
+      sources."acorn-8.8.0"
       sources."acorn-import-assertions-1.8.0"
-      sources."ajv-8.9.0"
+      sources."ajv-8.11.0"
       sources."ajv-formats-2.1.1"
       sources."ajv-keywords-3.5.2"
       sources."ansi-colors-4.1.1"
@@ -78459,17 +79028,17 @@ in
       sources."bl-4.1.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."browserslist-4.20.4"
+      sources."browserslist-4.21.3"
       sources."buffer-5.7.1"
       sources."buffer-from-1.1.2"
       sources."callsites-3.1.0"
-      sources."caniuse-lite-1.0.30001358"
+      sources."caniuse-lite-1.0.30001373"
       sources."chalk-3.0.0"
       sources."chardet-0.7.0"
       sources."chokidar-3.5.3"
       sources."chrome-trace-event-1.0.3"
       sources."cli-cursor-3.1.0"
-      sources."cli-spinners-2.6.1"
+      sources."cli-spinners-2.7.0"
       sources."cli-table3-0.6.2"
       sources."cli-width-3.0.0"
       sources."clone-1.0.4"
@@ -78481,10 +79050,10 @@ in
       sources."cross-spawn-7.0.3"
       sources."deepmerge-4.2.2"
       sources."defaults-1.0.3"
-      sources."electron-to-chromium-1.4.164"
+      sources."electron-to-chromium-1.4.211"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
-      sources."enhanced-resolve-5.9.3"
+      sources."enhanced-resolve-5.10.0"
       sources."error-ex-1.3.2"
       sources."es-module-lexer-0.9.3"
       sources."escalade-3.1.1"
@@ -78564,8 +79133,8 @@ in
       })
       sources."lru-cache-6.0.0"
       sources."macos-release-2.5.0"
-      sources."magic-string-0.25.7"
-      sources."memfs-3.4.6"
+      sources."magic-string-0.26.1"
+      sources."memfs-3.4.7"
       sources."merge-stream-2.0.0"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
@@ -78575,7 +79144,7 @@ in
       sources."mute-stream-0.0.8"
       sources."neo-async-2.6.2"
       sources."node-emoji-1.11.0"
-      sources."node-releases-2.0.5"
+      sources."node-releases-2.0.6"
       sources."normalize-path-3.0.0"
       sources."npm-run-path-4.0.1"
       sources."once-1.4.0"
@@ -78639,7 +79208,7 @@ in
       sources."supports-preserve-symlinks-flag-1.0.0"
       sources."symbol-observable-4.0.0"
       sources."tapable-2.2.1"
-      (sources."terser-5.14.1" // {
+      (sources."terser-5.14.2" // {
         dependencies = [
           sources."commander-2.20.3"
         ];
@@ -78657,20 +79226,23 @@ in
       })
       sources."tslib-1.14.1"
       sources."type-fest-0.21.3"
-      sources."typescript-4.6.4"
+      sources."typescript-4.7.4"
       sources."universalify-2.0.0"
+      sources."update-browserslist-db-1.0.5"
       sources."uri-js-4.4.1"
       sources."util-deprecate-1.0.2"
       sources."watchpack-2.4.0"
       sources."wcwidth-1.0.1"
-      sources."webpack-5.72.1"
+      sources."webpack-5.73.0"
       sources."webpack-node-externals-3.0.0"
       sources."webpack-sources-3.2.3"
       sources."which-2.0.2"
       sources."windows-release-4.0.0"
+      sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
       sources."yallist-4.0.0"
       sources."yaml-1.10.2"
+      sources."yargs-parser-21.0.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -78699,7 +79271,7 @@ in
       sources."buffer-5.7.1"
       sources."chalk-4.1.2"
       sources."cli-cursor-3.1.0"
-      sources."cli-spinners-2.6.1"
+      sources."cli-spinners-2.7.0"
       sources."clone-1.0.4"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
@@ -78711,7 +79283,7 @@ in
       sources."is-interactive-1.0.0"
       sources."is-unicode-supported-0.1.0"
       sources."json5-2.2.1"
-      sources."kleur-4.1.4"
+      sources."kleur-4.1.5"
       sources."log-symbols-4.1.0"
       sources."mimic-fn-2.1.0"
       sources."onetime-5.1.2"
@@ -78815,10 +79387,10 @@ in
   "@tailwindcss/typography" = nodeEnv.buildNodePackage {
     name = "_at_tailwindcss_slash_typography";
     packageName = "@tailwindcss/typography";
-    version = "0.5.2";
+    version = "0.5.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.2.tgz";
-      sha512 = "coq8DBABRPFcVhVIk6IbKyyHUt7YTEC/C992tatFB+yEx5WGBQrCgsSFjxHUr8AWXphWckadVJbominEduYBqw==";
+      url = "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.4.tgz";
+      sha512 = "QEdg40EmGvE7kKoDei8zr5sf4D1pIayHj4R31bH3lX8x2BtTiR+jNejYPOkhbmy3DXgkMF9jC8xqNiGFAuL9Sg==";
     };
     dependencies = [
       sources."lodash.castarray-4.4.0"
@@ -78838,10 +79410,10 @@ in
   "@uppy/companion" = nodeEnv.buildNodePackage {
     name = "_at_uppy_slash_companion";
     packageName = "@uppy/companion";
-    version = "3.6.0";
+    version = "3.7.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@uppy/companion/-/companion-3.6.0.tgz";
-      sha512 = "7mb/ZoUUw10swgmHx2j2Lk1hZrrL5wm22uHBmCCkVMkEghjELRQYa8VDPCXE7ipmBrXBnDbkoVHxTEgZg6SXeg==";
+      url = "https://registry.npmjs.org/@uppy/companion/-/companion-3.7.1.tgz";
+      sha512 = "65SEw4rsjqE/9RFe5rMqjbO9Kcw+QCgPn7+FCQ5p4xHUzHFj0ZKKxvEow+ih9GAxZ+Fb0VHtbbYh9Pz9P3sLWw==";
     };
     dependencies = [
       sources."@purest/config-1.0.1"
@@ -78861,7 +79433,8 @@ in
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
-      (sources."aws-sdk-2.1158.0" // {
+      sources."available-typed-arrays-1.0.5"
+      (sources."aws-sdk-2.1188.0" // {
         dependencies = [
           sources."uuid-8.0.0"
         ];
@@ -78869,7 +79442,11 @@ in
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
       sources."base64-js-1.5.1"
-      sources."basic-auth-2.0.1"
+      (sources."basic-auth-2.0.1" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
       sources."bcrypt-pbkdf-1.0.2"
       sources."bintrees-1.0.2"
       sources."body-parser-1.19.0"
@@ -78890,7 +79467,11 @@ in
       sources."combined-stream-1.0.8"
       sources."common-tags-1.8.0"
       sources."connect-redis-4.0.3"
-      sources."content-disposition-0.5.3"
+      (sources."content-disposition-0.5.3" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
       sources."content-type-1.0.4"
       sources."cookie-0.4.1"
       sources."cookie-parser-1.4.6"
@@ -78915,6 +79496,8 @@ in
       sources."ecdsa-sig-formatter-1.0.11"
       sources."ee-first-1.1.1"
       sources."encodeurl-1.0.2"
+      sources."es-abstract-1.20.1"
+      sources."es-to-primitive-1.2.1"
       sources."escape-goat-3.0.0"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-2.0.0"
@@ -78923,6 +79506,7 @@ in
       (sources."express-4.17.1" // {
         dependencies = [
           sources."cookie-0.4.0"
+          sources."safe-buffer-5.1.2"
         ];
       })
       sources."express-interceptor-1.2.0"
@@ -78944,34 +79528,59 @@ in
       sources."fast-deep-equal-3.1.3"
       sources."fast-json-stable-stringify-2.1.0"
       sources."finalhandler-1.1.2"
+      sources."for-each-0.3.3"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
       sources."function-bind-1.1.1"
+      sources."function.prototype.name-1.1.5"
+      sources."functions-have-names-1.2.3"
       sources."get-intrinsic-1.1.2"
+      sources."get-symbol-description-1.0.0"
       sources."getpass-0.1.7"
       sources."graceful-fs-4.2.10"
       (sources."grant-4.7.0" // {
         dependencies = [
-          sources."qs-6.10.5"
+          sources."qs-6.11.0"
         ];
       })
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-1.0.3"
+      sources."has-bigints-1.0.2"
       sources."has-flag-3.0.0"
       sources."has-property-descriptors-1.0.0"
       sources."has-symbols-1.0.3"
+      sources."has-tostringtag-1.0.0"
       sources."helmet-4.6.0"
-      sources."http-errors-1.7.2"
+      (sources."http-errors-1.7.2" // {
+        dependencies = [
+          sources."inherits-2.0.3"
+        ];
+      })
       sources."http-signature-1.2.0"
       sources."iconv-lite-0.4.24"
       sources."ieee754-1.1.13"
-      sources."inherits-2.0.3"
+      sources."inherits-2.0.4"
+      sources."internal-slot-1.0.3"
       sources."ipaddr.js-2.0.1"
+      sources."is-arguments-1.1.1"
+      sources."is-bigint-1.0.4"
+      sources."is-boolean-object-1.1.2"
+      sources."is-callable-1.2.4"
+      sources."is-date-object-1.0.5"
+      sources."is-generator-function-1.0.10"
       sources."is-nan-1.3.2"
+      sources."is-negative-zero-2.0.2"
+      sources."is-number-object-1.0.7"
+      sources."is-regex-1.1.4"
+      sources."is-shared-array-buffer-1.0.2"
+      sources."is-string-1.0.7"
+      sources."is-symbol-1.0.4"
+      sources."is-typed-array-1.1.9"
       sources."is-typedarray-1.0.0"
+      sources."is-weakref-1.0.2"
       sources."isarray-1.0.0"
       sources."isobject-3.0.1"
       sources."isstream-0.1.2"
@@ -79016,7 +79625,7 @@ in
           sources."mime-db-1.42.0"
         ];
       })
-      sources."moment-2.29.3"
+      sources."moment-2.29.4"
       sources."moment-timezone-0.5.34"
       (sources."morgan-1.10.0" // {
         dependencies = [
@@ -79031,6 +79640,7 @@ in
       sources."object-assign-4.1.1"
       sources."object-inspect-1.12.2"
       sources."object-keys-1.1.1"
+      sources."object.assign-4.1.2"
       sources."on-finished-2.3.0"
       sources."on-headers-1.0.2"
       sources."parseurl-1.3.3"
@@ -79043,7 +79653,7 @@ in
           sources."ipaddr.js-1.9.1"
         ];
       })
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."punycode-1.3.2"
       sources."purest-3.1.0"
       sources."qs-6.7.0"
@@ -79057,6 +79667,7 @@ in
       sources."redis-commands-1.7.0"
       sources."redis-errors-1.2.0"
       sources."redis-parser-3.0.0"
+      sources."regexp.prototype.flags-1.4.3"
       (sources."request-2.88.2" // {
         dependencies = [
           sources."oauth-sign-0.9.0"
@@ -79072,7 +79683,7 @@ in
       })
       sources."requires-port-1.0.0"
       sources."retry-0.10.1"
-      sources."safe-buffer-5.1.2"
+      sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.1"
       sources."semver-6.3.0"
@@ -79089,6 +79700,8 @@ in
       sources."sorted-array-functions-1.3.0"
       sources."sshpk-1.17.0"
       sources."statuses-1.5.0"
+      sources."string.prototype.trimend-1.0.5"
+      sources."string.prototype.trimstart-1.0.5"
       sources."supports-color-5.5.0"
       sources."tdigest-0.1.2"
       sources."toidentifier-1.0.0"
@@ -79102,6 +79715,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."type-is-1.6.18"
       sources."uid-safe-2.1.5"
+      sources."unbox-primitive-1.0.2"
       sources."unpipe-1.0.0"
       (sources."uri-js-4.4.1" // {
         dependencies = [
@@ -79111,11 +79725,14 @@ in
       sources."url-0.10.3"
       sources."url-parse-1.5.10"
       sources."url-value-parser-2.1.0"
+      sources."util-0.12.4"
       sources."utils-merge-1.0.1"
       sources."uuid-8.1.0"
       sources."validator-12.2.0"
       sources."vary-1.1.2"
       sources."verror-1.10.0"
+      sources."which-boxed-primitive-1.0.2"
+      sources."which-typed-array-1.1.8"
       sources."ws-6.2.2"
       sources."xml2js-0.4.19"
       sources."xmlbuilder-9.0.7"
@@ -79133,68 +79750,80 @@ in
   "@vue/cli" = nodeEnv.buildNodePackage {
     name = "_at_vue_slash_cli";
     packageName = "@vue/cli";
-    version = "5.0.6";
+    version = "5.0.8";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@vue/cli/-/cli-5.0.6.tgz";
-      sha512 = "iWvWCupn/bM+qxjYUo2vYcMu2KUARfMSqA2Zl1wC6e+BsMu2Qr2GdV6dpaGwCJrsYPfdmc2zOXTwCdPLede2vQ==";
+      url = "https://registry.npmjs.org/@vue/cli/-/cli-5.0.8.tgz";
+      sha512 = "c/QKPdC09bYkW22m/boXkLaiz10z0Z2WHZO7zEeNdfSduqyWINZhKc6hVQU3Vk0NXW7BJAd7zWmcUrC8L9TuAA==";
     };
     dependencies = [
       sources."@achrinza/node-ipc-9.2.5"
       sources."@akryum/winattr-3.0.0"
       sources."@ampproject/remapping-2.2.0"
-      (sources."@apollo/protobufjs-1.2.2" // {
+      (sources."@apollo/protobufjs-1.2.4" // {
         dependencies = [
           sources."@types/node-10.17.60"
         ];
       })
+      sources."@apollo/utils.dropunuseddefinitions-1.1.0"
+      (sources."@apollo/utils.keyvaluecache-1.0.1" // {
+        dependencies = [
+          sources."lru-cache-7.13.2"
+        ];
+      })
+      sources."@apollo/utils.logger-1.0.0"
+      sources."@apollo/utils.printwithreducedwhitespace-1.1.0"
+      sources."@apollo/utils.removealiases-1.0.0"
+      sources."@apollo/utils.sortast-1.1.0"
+      sources."@apollo/utils.stripsensitiveliterals-1.2.0"
+      sources."@apollo/utils.usagereporting-1.0.0"
       sources."@apollographql/apollo-tools-0.5.4"
-      sources."@apollographql/graphql-playground-html-1.6.27"
-      sources."@apollographql/graphql-upload-8-fork-8.1.3"
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.18.5"
-      (sources."@babel/core-7.18.5" // {
+      sources."@apollographql/graphql-playground-html-1.6.29"
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/compat-data-7.18.8"
+      (sources."@babel/core-7.18.10" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      (sources."@babel/generator-7.18.2" // {
+      (sources."@babel/generator-7.18.10" // {
         dependencies = [
-          sources."@jridgewell/gen-mapping-0.3.1"
+          sources."@jridgewell/gen-mapping-0.3.2"
         ];
       })
-      sources."@babel/helper-annotate-as-pure-7.16.7"
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.16.7"
-      (sources."@babel/helper-compilation-targets-7.18.2" // {
+      sources."@babel/helper-annotate-as-pure-7.18.6"
+      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.18.9"
+      (sources."@babel/helper-compilation-targets-7.18.9" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-create-class-features-plugin-7.18.0"
-      sources."@babel/helper-create-regexp-features-plugin-7.17.12"
-      (sources."@babel/helper-define-polyfill-provider-0.3.1" // {
+      sources."@babel/helper-create-class-features-plugin-7.18.9"
+      sources."@babel/helper-create-regexp-features-plugin-7.18.6"
+      (sources."@babel/helper-define-polyfill-provider-0.3.2" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-environment-visitor-7.18.2"
-      sources."@babel/helper-explode-assignable-expression-7.16.7"
-      sources."@babel/helper-function-name-7.17.9"
-      sources."@babel/helper-hoist-variables-7.16.7"
-      sources."@babel/helper-member-expression-to-functions-7.17.7"
-      sources."@babel/helper-module-imports-7.16.7"
-      sources."@babel/helper-module-transforms-7.18.0"
-      sources."@babel/helper-optimise-call-expression-7.16.7"
-      sources."@babel/helper-plugin-utils-7.17.12"
-      sources."@babel/helper-remap-async-to-generator-7.16.8"
-      sources."@babel/helper-replace-supers-7.18.2"
-      sources."@babel/helper-simple-access-7.18.2"
-      sources."@babel/helper-skip-transparent-expression-wrappers-7.16.0"
-      sources."@babel/helper-split-export-declaration-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/helper-validator-option-7.16.7"
-      sources."@babel/helper-wrap-function-7.16.8"
-      sources."@babel/helpers-7.18.2"
-      (sources."@babel/highlight-7.17.12" // {
+      sources."@babel/helper-environment-visitor-7.18.9"
+      sources."@babel/helper-explode-assignable-expression-7.18.6"
+      sources."@babel/helper-function-name-7.18.9"
+      sources."@babel/helper-hoist-variables-7.18.6"
+      sources."@babel/helper-member-expression-to-functions-7.18.9"
+      sources."@babel/helper-module-imports-7.18.6"
+      sources."@babel/helper-module-transforms-7.18.9"
+      sources."@babel/helper-optimise-call-expression-7.18.6"
+      sources."@babel/helper-plugin-utils-7.18.9"
+      sources."@babel/helper-remap-async-to-generator-7.18.9"
+      sources."@babel/helper-replace-supers-7.18.9"
+      sources."@babel/helper-simple-access-7.18.6"
+      sources."@babel/helper-skip-transparent-expression-wrappers-7.18.9"
+      sources."@babel/helper-split-export-declaration-7.18.6"
+      sources."@babel/helper-string-parser-7.18.10"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      sources."@babel/helper-validator-option-7.18.6"
+      sources."@babel/helper-wrap-function-7.18.10"
+      sources."@babel/helpers-7.18.9"
+      (sources."@babel/highlight-7.18.6" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
@@ -79204,31 +79833,31 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      sources."@babel/parser-7.18.5"
-      sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12"
-      sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12"
-      sources."@babel/plugin-proposal-async-generator-functions-7.17.12"
-      sources."@babel/plugin-proposal-class-properties-7.17.12"
-      sources."@babel/plugin-proposal-class-static-block-7.18.0"
-      sources."@babel/plugin-proposal-dynamic-import-7.16.7"
-      sources."@babel/plugin-proposal-export-namespace-from-7.17.12"
-      sources."@babel/plugin-proposal-json-strings-7.17.12"
-      sources."@babel/plugin-proposal-logical-assignment-operators-7.17.12"
-      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.17.12"
-      sources."@babel/plugin-proposal-numeric-separator-7.16.7"
-      sources."@babel/plugin-proposal-object-rest-spread-7.18.0"
-      sources."@babel/plugin-proposal-optional-catch-binding-7.16.7"
-      sources."@babel/plugin-proposal-optional-chaining-7.17.12"
-      sources."@babel/plugin-proposal-private-methods-7.17.12"
-      sources."@babel/plugin-proposal-private-property-in-object-7.17.12"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.17.12"
+      sources."@babel/parser-7.18.10"
+      sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6"
+      sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9"
+      sources."@babel/plugin-proposal-async-generator-functions-7.18.10"
+      sources."@babel/plugin-proposal-class-properties-7.18.6"
+      sources."@babel/plugin-proposal-class-static-block-7.18.6"
+      sources."@babel/plugin-proposal-dynamic-import-7.18.6"
+      sources."@babel/plugin-proposal-export-namespace-from-7.18.9"
+      sources."@babel/plugin-proposal-json-strings-7.18.6"
+      sources."@babel/plugin-proposal-logical-assignment-operators-7.18.9"
+      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.18.6"
+      sources."@babel/plugin-proposal-numeric-separator-7.18.6"
+      sources."@babel/plugin-proposal-object-rest-spread-7.18.9"
+      sources."@babel/plugin-proposal-optional-catch-binding-7.18.6"
+      sources."@babel/plugin-proposal-optional-chaining-7.18.9"
+      sources."@babel/plugin-proposal-private-methods-7.18.6"
+      sources."@babel/plugin-proposal-private-property-in-object-7.18.6"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.18.6"
       sources."@babel/plugin-syntax-async-generators-7.8.4"
       sources."@babel/plugin-syntax-class-properties-7.12.13"
       sources."@babel/plugin-syntax-class-static-block-7.14.5"
       sources."@babel/plugin-syntax-dynamic-import-7.8.3"
       sources."@babel/plugin-syntax-export-namespace-from-7.8.3"
-      sources."@babel/plugin-syntax-flow-7.17.12"
-      sources."@babel/plugin-syntax-import-assertions-7.17.12"
+      sources."@babel/plugin-syntax-flow-7.18.6"
+      sources."@babel/plugin-syntax-import-assertions-7.18.6"
       sources."@babel/plugin-syntax-json-strings-7.8.3"
       sources."@babel/plugin-syntax-logical-assignment-operators-7.10.4"
       sources."@babel/plugin-syntax-nullish-coalescing-operator-7.8.3"
@@ -79238,68 +79867,72 @@ in
       sources."@babel/plugin-syntax-optional-chaining-7.8.3"
       sources."@babel/plugin-syntax-private-property-in-object-7.14.5"
       sources."@babel/plugin-syntax-top-level-await-7.14.5"
-      sources."@babel/plugin-syntax-typescript-7.17.12"
-      sources."@babel/plugin-transform-arrow-functions-7.17.12"
-      sources."@babel/plugin-transform-async-to-generator-7.17.12"
-      sources."@babel/plugin-transform-block-scoped-functions-7.16.7"
-      sources."@babel/plugin-transform-block-scoping-7.18.4"
-      sources."@babel/plugin-transform-classes-7.18.4"
-      sources."@babel/plugin-transform-computed-properties-7.17.12"
-      sources."@babel/plugin-transform-destructuring-7.18.0"
-      sources."@babel/plugin-transform-dotall-regex-7.16.7"
-      sources."@babel/plugin-transform-duplicate-keys-7.17.12"
-      sources."@babel/plugin-transform-exponentiation-operator-7.16.7"
-      sources."@babel/plugin-transform-flow-strip-types-7.17.12"
-      sources."@babel/plugin-transform-for-of-7.18.1"
-      sources."@babel/plugin-transform-function-name-7.16.7"
-      sources."@babel/plugin-transform-literals-7.17.12"
-      sources."@babel/plugin-transform-member-expression-literals-7.16.7"
-      sources."@babel/plugin-transform-modules-amd-7.18.0"
-      sources."@babel/plugin-transform-modules-commonjs-7.18.2"
-      sources."@babel/plugin-transform-modules-systemjs-7.18.5"
-      sources."@babel/plugin-transform-modules-umd-7.18.0"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.17.12"
-      sources."@babel/plugin-transform-new-target-7.18.5"
-      sources."@babel/plugin-transform-object-super-7.16.7"
-      sources."@babel/plugin-transform-parameters-7.17.12"
-      sources."@babel/plugin-transform-property-literals-7.16.7"
-      sources."@babel/plugin-transform-regenerator-7.18.0"
-      sources."@babel/plugin-transform-reserved-words-7.17.12"
-      sources."@babel/plugin-transform-shorthand-properties-7.16.7"
-      sources."@babel/plugin-transform-spread-7.17.12"
-      sources."@babel/plugin-transform-sticky-regex-7.16.7"
-      sources."@babel/plugin-transform-template-literals-7.18.2"
-      sources."@babel/plugin-transform-typeof-symbol-7.17.12"
-      sources."@babel/plugin-transform-typescript-7.18.4"
-      sources."@babel/plugin-transform-unicode-escapes-7.16.7"
-      sources."@babel/plugin-transform-unicode-regex-7.16.7"
-      (sources."@babel/preset-env-7.18.2" // {
+      sources."@babel/plugin-syntax-typescript-7.18.6"
+      sources."@babel/plugin-transform-arrow-functions-7.18.6"
+      sources."@babel/plugin-transform-async-to-generator-7.18.6"
+      sources."@babel/plugin-transform-block-scoped-functions-7.18.6"
+      sources."@babel/plugin-transform-block-scoping-7.18.9"
+      sources."@babel/plugin-transform-classes-7.18.9"
+      sources."@babel/plugin-transform-computed-properties-7.18.9"
+      sources."@babel/plugin-transform-destructuring-7.18.9"
+      sources."@babel/plugin-transform-dotall-regex-7.18.6"
+      sources."@babel/plugin-transform-duplicate-keys-7.18.9"
+      sources."@babel/plugin-transform-exponentiation-operator-7.18.6"
+      sources."@babel/plugin-transform-flow-strip-types-7.18.9"
+      sources."@babel/plugin-transform-for-of-7.18.8"
+      sources."@babel/plugin-transform-function-name-7.18.9"
+      sources."@babel/plugin-transform-literals-7.18.9"
+      sources."@babel/plugin-transform-member-expression-literals-7.18.6"
+      sources."@babel/plugin-transform-modules-amd-7.18.6"
+      sources."@babel/plugin-transform-modules-commonjs-7.18.6"
+      sources."@babel/plugin-transform-modules-systemjs-7.18.9"
+      sources."@babel/plugin-transform-modules-umd-7.18.6"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.18.6"
+      sources."@babel/plugin-transform-new-target-7.18.6"
+      sources."@babel/plugin-transform-object-super-7.18.6"
+      sources."@babel/plugin-transform-parameters-7.18.8"
+      sources."@babel/plugin-transform-property-literals-7.18.6"
+      sources."@babel/plugin-transform-regenerator-7.18.6"
+      sources."@babel/plugin-transform-reserved-words-7.18.6"
+      sources."@babel/plugin-transform-shorthand-properties-7.18.6"
+      sources."@babel/plugin-transform-spread-7.18.9"
+      sources."@babel/plugin-transform-sticky-regex-7.18.6"
+      sources."@babel/plugin-transform-template-literals-7.18.9"
+      sources."@babel/plugin-transform-typeof-symbol-7.18.9"
+      sources."@babel/plugin-transform-typescript-7.18.10"
+      sources."@babel/plugin-transform-unicode-escapes-7.18.10"
+      sources."@babel/plugin-transform-unicode-regex-7.18.6"
+      (sources."@babel/preset-env-7.18.10" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/preset-flow-7.17.12"
+      sources."@babel/preset-flow-7.18.6"
       sources."@babel/preset-modules-0.1.5"
-      sources."@babel/preset-typescript-7.17.12"
-      (sources."@babel/register-7.17.7" // {
+      sources."@babel/preset-typescript-7.18.6"
+      (sources."@babel/register-7.18.9" // {
         dependencies = [
           sources."make-dir-2.1.0"
           sources."pify-4.0.1"
           sources."semver-5.7.1"
         ];
       })
-      sources."@babel/runtime-7.18.3"
-      sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.18.5"
-      sources."@babel/types-7.18.4"
+      sources."@babel/runtime-7.18.9"
+      sources."@babel/template-7.18.10"
+      sources."@babel/traverse-7.18.10"
+      sources."@babel/types-7.18.10"
+      sources."@graphql-tools/merge-8.3.1"
+      sources."@graphql-tools/mock-8.7.1"
+      sources."@graphql-tools/schema-8.5.1"
+      sources."@graphql-tools/utils-8.9.0"
       sources."@hapi/hoek-9.3.0"
       sources."@hapi/topo-5.1.0"
       sources."@josephg/resolvable-1.0.1"
       sources."@jridgewell/gen-mapping-0.1.1"
-      sources."@jridgewell/resolve-uri-3.0.7"
-      sources."@jridgewell/set-array-1.1.1"
-      sources."@jridgewell/sourcemap-codec-1.4.13"
-      sources."@jridgewell/trace-mapping-0.3.13"
+      sources."@jridgewell/resolve-uri-3.1.0"
+      sources."@jridgewell/set-array-1.1.2"
+      sources."@jridgewell/sourcemap-codec-1.4.14"
+      sources."@jridgewell/trace-mapping-0.3.14"
       sources."@node-ipc/js-queue-2.0.3"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
@@ -79319,17 +79952,12 @@ in
       sources."@sideway/pinpoint-2.0.0"
       sources."@sindresorhus/is-0.7.0"
       sources."@types/accepts-1.3.5"
-      sources."@types/body-parser-1.19.0"
+      sources."@types/body-parser-1.19.2"
       sources."@types/connect-3.4.35"
-      sources."@types/content-disposition-0.5.5"
-      sources."@types/cookies-0.7.7"
-      sources."@types/cors-2.8.10"
+      sources."@types/cors-2.8.12"
       sources."@types/ejs-3.1.1"
       sources."@types/express-4.17.13"
       sources."@types/express-serve-static-core-4.17.29"
-      sources."@types/fs-capacitor-2.0.0"
-      sources."@types/http-assert-1.5.3"
-      sources."@types/http-errors-1.8.2"
       sources."@types/inquirer-8.2.1"
       (sources."@types/jscodeshift-0.7.2" // {
         dependencies = [
@@ -79337,34 +79965,26 @@ in
           sources."recast-0.17.2"
         ];
       })
-      sources."@types/keygrip-1.0.2"
-      sources."@types/koa-2.13.4"
-      sources."@types/koa-compose-3.2.5"
       sources."@types/long-4.0.2"
-      sources."@types/mime-1.3.2"
-      sources."@types/node-18.0.0"
+      sources."@types/mime-3.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
-      sources."@types/serve-static-1.13.10"
+      sources."@types/serve-static-1.15.0"
       sources."@types/through-0.0.30"
-      sources."@types/ws-7.4.7"
-      sources."@vue/cli-shared-utils-5.0.6"
-      (sources."@vue/cli-ui-5.0.6" // {
+      sources."@vue/cli-shared-utils-5.0.8"
+      (sources."@vue/cli-ui-5.0.8" // {
         dependencies = [
           sources."clone-2.1.2"
         ];
       })
-      sources."@vue/cli-ui-addon-webpack-5.0.6"
-      sources."@vue/cli-ui-addon-widgets-5.0.6"
+      sources."@vue/cli-ui-addon-webpack-5.0.8"
+      sources."@vue/cli-ui-addon-widgets-5.0.8"
       sources."@vue/compiler-core-3.2.37"
       sources."@vue/compiler-dom-3.2.37"
+      sources."@vue/compiler-sfc-2.7.8"
       sources."@vue/shared-3.2.37"
-      (sources."@wry/equality-0.1.11" // {
-        dependencies = [
-          sources."tslib-1.14.1"
-        ];
-      })
       sources."accepts-1.3.8"
       sources."aggregate-error-3.1.0"
       sources."ansi-align-3.0.1"
@@ -79375,28 +79995,14 @@ in
       })
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
-      sources."apollo-cache-control-0.14.0"
-      sources."apollo-datasource-0.9.0"
-      sources."apollo-graphql-0.9.7"
-      (sources."apollo-link-1.2.14" // {
-        dependencies = [
-          sources."tslib-1.14.1"
-        ];
-      })
-      sources."apollo-reporting-protobuf-0.8.0"
-      sources."apollo-server-caching-0.7.0"
-      sources."apollo-server-core-2.25.4"
-      sources."apollo-server-env-3.1.0"
-      sources."apollo-server-errors-2.5.0"
-      sources."apollo-server-express-2.25.4"
-      sources."apollo-server-plugin-base-0.13.0"
-      sources."apollo-server-types-0.9.0"
-      sources."apollo-tracing-0.15.0"
-      (sources."apollo-utilities-1.3.4" // {
-        dependencies = [
-          sources."tslib-1.14.1"
-        ];
-      })
+      sources."apollo-datasource-3.3.2"
+      sources."apollo-reporting-protobuf-3.3.2"
+      sources."apollo-server-core-3.10.0"
+      sources."apollo-server-env-4.2.1"
+      sources."apollo-server-errors-3.3.1"
+      sources."apollo-server-express-3.10.0"
+      sources."apollo-server-plugin-base-3.6.2"
+      sources."apollo-server-types-3.6.2"
       (sources."archive-type-4.0.0" // {
         dependencies = [
           sources."file-type-4.4.0"
@@ -79409,7 +80015,6 @@ in
       sources."array-flatten-1.1.1"
       sources."array-union-2.1.0"
       sources."array-unique-0.3.2"
-      sources."array.prototype.reduce-1.0.4"
       sources."arrify-2.0.1"
       sources."assign-symbols-1.0.0"
       sources."ast-types-0.14.2"
@@ -79419,13 +80024,13 @@ in
       sources."atob-2.1.2"
       sources."babel-core-7.0.0-bridge.0"
       sources."babel-plugin-dynamic-import-node-2.3.3"
-      (sources."babel-plugin-polyfill-corejs2-0.3.1" // {
+      (sources."babel-plugin-polyfill-corejs2-0.3.2" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."babel-plugin-polyfill-corejs3-0.5.2"
-      sources."babel-plugin-polyfill-regenerator-0.3.1"
+      sources."babel-plugin-polyfill-corejs3-0.5.3"
+      sources."babel-plugin-polyfill-regenerator-0.4.0"
       sources."backo2-1.0.2"
       sources."balanced-match-1.0.2"
       (sources."base-0.11.2" // {
@@ -79438,9 +80043,6 @@ in
       (sources."body-parser-1.20.0" // {
         dependencies = [
           sources."debug-2.6.9"
-          sources."depd-2.0.0"
-          sources."http-errors-2.0.0"
-          sources."statuses-2.0.1"
         ];
       })
       (sources."boxen-5.1.2" // {
@@ -79450,7 +80052,7 @@ in
       })
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."browserslist-4.20.4"
+      sources."browserslist-4.21.3"
       sources."buffer-5.7.1"
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
@@ -79458,7 +80060,6 @@ in
       sources."buffer-fill-1.0.0"
       sources."buffer-from-1.1.2"
       sources."builtins-1.0.3"
-      sources."busboy-0.3.1"
       sources."bytes-3.1.2"
       sources."cache-base-1.0.1"
       (sources."cacheable-request-2.1.4" // {
@@ -79469,7 +80070,7 @@ in
       })
       sources."call-bind-1.0.2"
       sources."camelcase-6.3.0"
-      sources."caniuse-lite-1.0.30001358"
+      sources."caniuse-lite-1.0.30001373"
       sources."caw-2.0.1"
       sources."chalk-4.1.2"
       sources."chardet-0.7.0"
@@ -79493,7 +80094,7 @@ in
       sources."clean-stack-2.2.0"
       sources."cli-boxes-2.2.1"
       sources."cli-cursor-3.1.0"
-      sources."cli-spinners-2.6.1"
+      sources."cli-spinners-2.7.0"
       sources."cli-width-3.0.0"
       sources."cliui-7.0.4"
       sources."clone-1.0.4"
@@ -79522,12 +80123,11 @@ in
       sources."cookie-0.5.0"
       sources."cookie-signature-1.0.6"
       sources."copy-descriptor-0.1.1"
-      (sources."core-js-compat-3.23.2" // {
+      (sources."core-js-compat-3.24.1" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
       })
-      sources."core-js-pure-3.23.2"
       sources."core-util-is-1.0.3"
       sources."cors-2.8.5"
       (sources."cross-spawn-6.0.5" // {
@@ -79536,6 +80136,7 @@ in
         ];
       })
       sources."cssfilter-0.0.10"
+      sources."csstype-3.1.0"
       (sources."debug-4.3.4" // {
         dependencies = [
           sources."ms-2.1.2"
@@ -79575,10 +80176,8 @@ in
       sources."define-lazy-prop-2.0.0"
       sources."define-properties-1.1.4"
       sources."define-property-2.0.2"
-      sources."depd-1.1.2"
-      sources."deprecated-decorator-0.1.6"
+      sources."depd-2.0.0"
       sources."destroy-1.2.0"
-      sources."dicer-0.3.0"
       sources."dir-glob-3.0.1"
       (sources."download-7.1.0" // {
         dependencies = [
@@ -79586,20 +80185,17 @@ in
         ];
       })
       sources."download-git-repo-3.0.2"
-      sources."duplexer3-0.1.4"
+      sources."duplexer3-0.1.5"
       sources."easy-stack-1.0.1"
       sources."ee-first-1.1.1"
       sources."ejs-3.1.8"
-      sources."electron-to-chromium-1.4.164"
+      sources."electron-to-chromium-1.4.211"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
       sources."entities-2.2.0"
       sources."envinfo-7.8.1"
       sources."error-ex-1.3.2"
-      sources."es-abstract-1.20.1"
-      sources."es-array-method-boxes-properly-1.0.0"
-      sources."es-to-primitive-1.2.1"
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
@@ -79632,9 +80228,6 @@ in
       (sources."express-4.18.1" // {
         dependencies = [
           sources."debug-2.6.9"
-          sources."depd-2.0.0"
-          sources."http-errors-2.0.0"
-          sources."statuses-2.0.1"
         ];
       })
       sources."express-history-api-fallback-2.2.1"
@@ -79670,7 +80263,6 @@ in
       (sources."finalhandler-1.2.0" // {
         dependencies = [
           sources."debug-2.6.9"
-          sources."statuses-2.0.1"
         ];
       })
       (sources."find-cache-dir-2.1.0" // {
@@ -79700,8 +80292,7 @@ in
           sources."which-2.0.2"
         ];
       })
-      sources."flow-parser-0.180.1"
-      sources."for-each-0.3.3"
+      sources."flow-parser-0.184.0"
       sources."for-in-1.0.2"
       sources."forwarded-0.2.0"
       sources."fragment-cache-0.2.1"
@@ -79713,20 +80304,16 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."fs-capacitor-2.0.4"
       sources."fs-constants-1.0.0"
       sources."fs-extra-9.1.0"
       sources."fs.realpath-1.0.0"
       sources."fswin-2.17.1227"
       sources."function-bind-1.1.1"
-      sources."function.prototype.name-1.1.5"
-      sources."functions-have-names-1.2.3"
       sources."gensync-1.0.0-beta.2"
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.2"
       sources."get-proxy-2.1.0"
       sources."get-stream-4.1.0"
-      sources."get-symbol-description-1.0.0"
       sources."get-value-2.0.6"
       sources."git-clone-0.1.0"
       sources."git-config-path-2.0.0"
@@ -79746,24 +80333,16 @@ in
       })
       sources."graceful-fs-4.2.10"
       sources."graphql-15.8.0"
-      sources."graphql-extensions-0.15.0"
       sources."graphql-subscriptions-1.2.1"
       sources."graphql-tag-2.12.6"
-      (sources."graphql-tools-4.0.8" // {
-        dependencies = [
-          sources."uuid-3.4.0"
-        ];
-      })
       sources."graphql-type-json-0.3.2"
       sources."growly-1.3.0"
       sources."has-1.0.3"
-      sources."has-bigints-1.0.2"
       sources."has-flag-4.0.0"
       sources."has-property-descriptors-1.0.0"
       sources."has-symbol-support-x-1.4.2"
       sources."has-symbols-1.0.3"
       sources."has-to-string-tag-x-1.4.1"
-      sources."has-tostringtag-1.0.0"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -79777,7 +80356,7 @@ in
       })
       sources."hosted-git-info-2.8.9"
       sources."http-cache-semantics-3.8.1"
-      sources."http-errors-1.8.1"
+      sources."http-errors-2.0.0"
       sources."human-signals-2.1.0"
       sources."iconv-lite-0.4.24"
       sources."ieee754-1.2.1"
@@ -79789,18 +80368,13 @@ in
       sources."inherits-2.0.4"
       sources."ini-2.0.0"
       sources."inquirer-8.2.4"
-      sources."internal-slot-1.0.3"
       sources."into-stream-3.1.0"
       sources."ipaddr.js-1.9.1"
       sources."is-accessor-descriptor-1.0.0"
       sources."is-arrayish-0.2.1"
-      sources."is-bigint-1.0.4"
-      sources."is-boolean-object-1.1.2"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.2.4"
       sources."is-core-module-2.9.0"
       sources."is-data-descriptor-1.0.0"
-      sources."is-date-object-1.0.5"
       sources."is-descriptor-1.0.2"
       sources."is-docker-2.2.1"
       sources."is-extendable-0.1.1"
@@ -79809,21 +80383,14 @@ in
       sources."is-glob-4.0.3"
       sources."is-interactive-1.0.0"
       sources."is-natural-number-4.0.1"
-      sources."is-negative-zero-2.0.2"
       sources."is-number-7.0.0"
-      sources."is-number-object-1.0.7"
       sources."is-object-1.0.2"
       sources."is-plain-obj-1.1.0"
       sources."is-plain-object-2.0.4"
       sources."is-promise-2.2.2"
-      sources."is-regex-1.1.4"
       sources."is-retry-allowed-1.2.0"
-      sources."is-shared-array-buffer-1.0.2"
       sources."is-stream-1.1.0"
-      sources."is-string-1.0.7"
-      sources."is-symbol-1.0.4"
       sources."is-unicode-supported-0.1.0"
-      sources."is-weakref-1.0.2"
       sources."is-windows-1.0.2"
       sources."is-wsl-2.2.0"
       sources."isarray-1.0.0"
@@ -79918,7 +80485,7 @@ in
           sources."which-2.0.2"
         ];
       })
-      sources."node-releases-2.0.5"
+      sources."node-releases-2.0.6"
       (sources."normalize-package-data-2.5.0" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -79947,10 +80514,8 @@ in
       })
       sources."object-inspect-1.12.2"
       sources."object-keys-1.1.1"
-      sources."object-path-0.11.8"
       sources."object-visit-1.0.1"
       sources."object.assign-4.1.2"
-      sources."object.getownpropertydescriptors-2.1.4"
       sources."object.pick-1.3.0"
       sources."on-finished-2.4.1"
       sources."once-1.4.0"
@@ -80008,6 +80573,11 @@ in
         ];
       })
       sources."posix-character-classes-0.1.1"
+      (sources."postcss-8.4.14" // {
+        dependencies = [
+          sources."nanoid-3.3.4"
+        ];
+      })
       sources."prepend-http-2.0.0"
       sources."prismjs-1.28.0"
       sources."private-0.1.8"
@@ -80025,13 +80595,7 @@ in
       sources."query-string-5.1.1"
       sources."queue-microtask-1.2.3"
       sources."range-parser-1.2.1"
-      (sources."raw-body-2.5.1" // {
-        dependencies = [
-          sources."depd-2.0.0"
-          sources."http-errors-2.0.0"
-          sources."statuses-2.0.1"
-        ];
-      })
+      sources."raw-body-2.5.1"
       sources."read-pkg-5.2.0"
       sources."readable-stream-3.6.0"
       sources."recast-0.20.5"
@@ -80040,8 +80604,7 @@ in
       sources."regenerator-runtime-0.13.9"
       sources."regenerator-transform-0.15.0"
       sources."regex-not-1.0.2"
-      sources."regexp.prototype.flags-1.4.3"
-      sources."regexpu-core-5.0.1"
+      sources."regexpu-core-5.1.0"
       sources."regjsgen-0.6.0"
       (sources."regjsparser-0.8.4" // {
         dependencies = [
@@ -80062,7 +80625,7 @@ in
       sources."rss-parser-3.12.0"
       sources."run-async-2.4.1"
       sources."run-parallel-1.2.0"
-      sources."rxjs-7.5.5"
+      sources."rxjs-7.5.6"
       sources."safe-buffer-5.2.1"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
@@ -80080,10 +80643,7 @@ in
               sources."ms-2.0.0"
             ];
           })
-          sources."depd-2.0.0"
-          sources."http-errors-2.0.0"
           sources."ms-2.1.3"
-          sources."statuses-2.0.1"
         ];
       })
       sources."serve-static-1.15.0"
@@ -80136,6 +80696,7 @@ in
       sources."sort-keys-1.1.2"
       sources."sort-keys-length-1.0.1"
       sources."source-map-0.6.1"
+      sources."source-map-js-1.0.2"
       sources."source-map-resolve-0.5.3"
       sources."source-map-support-0.5.21"
       sources."source-map-url-0.4.1"
@@ -80162,20 +80723,17 @@ in
           sources."kind-of-5.1.0"
         ];
       })
-      sources."statuses-1.5.0"
+      sources."statuses-2.0.1"
       sources."steno-0.4.4"
-      sources."streamsearch-0.1.2"
       sources."strict-uri-encode-1.1.0"
       sources."string-width-4.2.3"
-      sources."string.prototype.trimend-1.0.5"
-      sources."string.prototype.trimstart-1.0.5"
       sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.1"
       sources."strip-dirs-2.1.0"
       sources."strip-eof-1.0.0"
       sources."strip-final-newline-2.0.0"
       sources."strip-outer-1.0.1"
-      sources."subscriptions-transport-ws-0.9.19"
+      sources."subscriptions-transport-ws-0.11.0"
       sources."supports-color-7.2.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
       sources."symbol-observable-1.2.0"
@@ -80222,17 +80780,11 @@ in
       sources."toidentifier-1.0.1"
       sources."tr46-0.0.3"
       sources."trim-repeated-1.0.0"
-      (sources."ts-invariant-0.4.4" // {
-        dependencies = [
-          sources."tslib-1.14.1"
-        ];
-      })
       sources."tslib-2.4.0"
       sources."tunnel-agent-0.6.0"
       sources."type-fest-0.6.0"
       sources."type-is-1.6.18"
       sources."typescript-4.5.5"
-      sources."unbox-primitive-1.0.2"
       sources."unbzip2-stream-1.4.3"
       sources."unicode-canonical-property-names-ecmascript-2.0.0"
       sources."unicode-match-property-ecmascript-2.0.0"
@@ -80251,18 +80803,19 @@ in
           sources."has-values-0.1.4"
         ];
       })
+      sources."update-browserslist-db-1.0.5"
       sources."urix-0.1.0"
       sources."url-parse-lax-3.0.0"
       sources."url-to-options-1.0.1"
       sources."use-3.1.1"
       sources."util-deprecate-1.0.2"
-      sources."util.promisify-1.1.1"
       sources."utils-merge-1.0.1"
       sources."uuid-8.3.2"
       sources."validate-npm-package-license-3.0.4"
       sources."validate-npm-package-name-3.0.0"
+      sources."value-or-promise-1.0.11"
       sources."vary-1.1.2"
-      sources."vue-2.6.14"
+      sources."vue-2.7.8"
       (sources."vue-codemod-0.0.5" // {
         dependencies = [
           sources."inquirer-7.3.3"
@@ -80272,14 +80825,14 @@ in
       })
       sources."wcwidth-1.0.1"
       sources."webidl-conversions-3.0.1"
+      sources."whatwg-mimetype-3.0.0"
       sources."whatwg-url-5.0.0"
       sources."which-1.3.1"
-      sources."which-boxed-primitive-1.0.2"
       sources."widest-line-3.1.0"
       sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
       sources."write-file-atomic-2.4.3"
-      sources."ws-7.5.8"
+      sources."ws-7.5.9"
       sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
       (sources."xss-1.0.13" // {
@@ -80301,12 +80854,6 @@ in
       sources."yargs-parser-20.2.9"
       sources."yauzl-2.10.0"
       sources."yocto-queue-0.1.0"
-      sources."zen-observable-0.8.15"
-      (sources."zen-observable-ts-0.8.21" // {
-        dependencies = [
-          sources."tslib-1.14.1"
-        ];
-      })
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -80318,7 +80865,7 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-  "@webassemblyjs/cli" = nodeEnv.buildNodePackage {
+  "@webassemblyjs/cli-1.11.1" = nodeEnv.buildNodePackage {
     name = "_at_webassemblyjs_slash_cli";
     packageName = "@webassemblyjs/cli";
     version = "1.11.1";
@@ -80357,7 +80904,7 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-  "@webassemblyjs/repl" = nodeEnv.buildNodePackage {
+  "@webassemblyjs/repl-1.11.1" = nodeEnv.buildNodePackage {
     name = "_at_webassemblyjs_slash_repl";
     packageName = "@webassemblyjs/repl";
     version = "1.11.1";
@@ -80433,7 +80980,7 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-  "@webassemblyjs/wasm-text-gen" = nodeEnv.buildNodePackage {
+  "@webassemblyjs/wasm-text-gen-1.11.1" = nodeEnv.buildNodePackage {
     name = "_at_webassemblyjs_slash_wasm-text-gen";
     packageName = "@webassemblyjs/wasm-text-gen";
     version = "1.11.1";
@@ -80442,18 +80989,19 @@ in
       sha512 = "7SWOLN+1eZ5e9gohQPVdA8XQstGIYei/70T5kmLP6vC41zy8BBYNt35OgLZmbpg3iOQ1vWT17ZMhVikSJySSRg==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/generator-7.18.2"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/highlight-7.17.12"
-      sources."@babel/parser-7.18.5"
-      sources."@babel/template-7.16.7"
-      sources."@babel/types-7.18.4"
-      sources."@jridgewell/gen-mapping-0.3.1"
-      sources."@jridgewell/resolve-uri-3.0.7"
-      sources."@jridgewell/set-array-1.1.1"
-      sources."@jridgewell/sourcemap-codec-1.4.13"
-      sources."@jridgewell/trace-mapping-0.3.13"
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/generator-7.18.10"
+      sources."@babel/helper-string-parser-7.18.10"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      sources."@babel/highlight-7.18.6"
+      sources."@babel/parser-7.18.10"
+      sources."@babel/template-7.18.10"
+      sources."@babel/types-7.18.10"
+      sources."@jridgewell/gen-mapping-0.3.2"
+      sources."@jridgewell/resolve-uri-3.1.0"
+      sources."@jridgewell/set-array-1.1.2"
+      sources."@jridgewell/sourcemap-codec-1.4.14"
+      sources."@jridgewell/trace-mapping-0.3.14"
       sources."@webassemblyjs/ast-1.11.1"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.1"
       sources."@webassemblyjs/helper-api-error-1.11.1"
@@ -80487,7 +81035,7 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-  "@webassemblyjs/wast-refmt" = nodeEnv.buildNodePackage {
+  "@webassemblyjs/wast-refmt-1.11.1" = nodeEnv.buildNodePackage {
     name = "_at_webassemblyjs_slash_wast-refmt";
     packageName = "@webassemblyjs/wast-refmt";
     version = "1.11.1";
@@ -80526,16 +81074,16 @@ in
       sha512 = "yTKA5M514WOTpZZkK6pusBbtvVbNTavKS3nI4Z9ceH7RdNGII9S8p8mrcA38S8T0QGxp+EK3l/61XLBj0LTdhQ==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/highlight-7.17.12"
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      sources."@babel/highlight-7.18.6"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@types/acorn-4.0.6"
       sources."@types/concat-stream-2.0.0"
       sources."@types/debug-4.1.7"
-      sources."@types/estree-0.0.51"
-      sources."@types/estree-jsx-0.0.1"
+      sources."@types/estree-1.0.0"
+      sources."@types/estree-jsx-1.0.0"
       sources."@types/hast-2.3.4"
       sources."@types/is-empty-1.2.1"
       sources."@types/js-yaml-4.0.5"
@@ -80548,7 +81096,7 @@ in
       sources."@types/parse5-6.0.3"
       sources."@types/supports-color-8.1.1"
       sources."@types/unist-2.0.6"
-      sources."acorn-8.7.1"
+      sources."acorn-8.8.0"
       sources."acorn-jsx-5.3.2"
       sources."ansi-align-3.0.1"
       sources."ansi-regex-5.0.1"
@@ -80584,13 +81132,13 @@ in
       sources."camelcase-keys-7.0.2"
       sources."ccount-2.0.1"
       sources."chalk-2.4.2"
-      sources."character-entities-2.0.1"
+      sources."character-entities-2.0.2"
       sources."character-entities-html4-2.1.0"
       sources."character-entities-legacy-3.0.0"
       sources."character-reference-invalid-2.0.1"
       sources."ci-info-2.0.0"
       sources."cli-boxes-2.2.1"
-      sources."clone-response-1.0.2"
+      sources."clone-response-1.0.3"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."comma-separated-tokens-2.0.2"
@@ -80617,11 +81165,11 @@ in
       sources."decompress-response-3.3.0"
       sources."deep-extend-0.6.0"
       sources."defer-to-connect-1.1.3"
-      sources."dequal-2.0.2"
+      sources."dequal-2.0.3"
       sources."diff-5.1.0"
       sources."dot-prop-5.3.0"
       sources."duplexer-0.1.2"
-      sources."duplexer3-0.1.4"
+      sources."duplexer3-0.1.5"
       sources."eastasianwidth-0.2.0"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
@@ -80629,7 +81177,7 @@ in
       sources."escape-goat-2.1.1"
       sources."escape-string-regexp-1.0.5"
       sources."estree-util-is-identifier-name-2.0.1"
-      sources."estree-util-visit-1.1.0"
+      sources."estree-util-visit-1.2.0"
       sources."event-stream-3.1.7"
       sources."extend-3.0.2"
       sources."fault-2.0.1"
@@ -80703,7 +81251,7 @@ in
       sources."json-parse-even-better-errors-2.3.1"
       sources."keyv-3.1.0"
       sources."kind-of-6.0.3"
-      sources."kleur-4.1.4"
+      sources."kleur-4.1.5"
       sources."latest-version-5.1.0"
       (sources."libnpmconfig-1.2.1" // {
         dependencies = [
@@ -80730,7 +81278,7 @@ in
       sources."map-stream-0.1.0"
       sources."markdown-table-3.0.2"
       sources."mdast-comment-marker-2.1.0"
-      (sources."mdast-util-find-and-replace-2.2.0" // {
+      (sources."mdast-util-find-and-replace-2.2.1" // {
         dependencies = [
           sources."escape-string-regexp-5.0.0"
         ];
@@ -80744,13 +81292,17 @@ in
       sources."mdast-util-gfm-table-1.0.4"
       sources."mdast-util-gfm-task-list-item-1.0.1"
       sources."mdast-util-mdx-1.1.0"
-      sources."mdast-util-mdx-expression-1.2.1"
-      sources."mdast-util-mdx-jsx-1.2.0"
-      sources."mdast-util-mdxjs-esm-1.2.0"
+      sources."mdast-util-mdx-expression-1.3.0"
+      (sources."mdast-util-mdx-jsx-1.2.0" // {
+        dependencies = [
+          sources."@types/estree-jsx-0.0.1"
+        ];
+      })
+      sources."mdast-util-mdxjs-esm-1.3.0"
       sources."mdast-util-to-markdown-1.3.0"
       sources."mdast-util-to-nlcst-5.2.1"
       sources."mdast-util-to-string-3.1.0"
-      sources."meow-10.1.2"
+      sources."meow-10.1.3"
       sources."micromark-3.0.10"
       sources."micromark-core-commonmark-1.0.6"
       sources."micromark-extension-frontmatter-1.0.0"
@@ -80779,7 +81331,7 @@ in
       sources."micromark-util-decode-numeric-character-reference-1.0.0"
       sources."micromark-util-decode-string-1.0.2"
       sources."micromark-util-encode-1.0.1"
-      sources."micromark-util-events-to-acorn-1.1.0"
+      sources."micromark-util-events-to-acorn-1.2.0"
       sources."micromark-util-html-tag-name-1.1.0"
       sources."micromark-util-normalize-identifier-1.0.0"
       sources."micromark-util-resolve-all-1.0.0"
@@ -80912,7 +81464,7 @@ in
         ];
       })
       sources."unified-diff-4.0.1"
-      (sources."unified-engine-9.1.0" // {
+      (sources."unified-engine-9.1.1" // {
         dependencies = [
           sources."is-plain-obj-4.1.0"
           sources."lines-and-columns-2.0.3"
@@ -80926,7 +81478,7 @@ in
         ];
       })
       sources."unique-string-2.0.0"
-      sources."unist-util-inspect-7.0.0"
+      sources."unist-util-inspect-7.0.1"
       sources."unist-util-is-5.1.1"
       sources."unist-util-modify-children-2.0.0"
       sources."unist-util-position-4.0.3"
@@ -80948,7 +81500,7 @@ in
       })
       sources."url-parse-lax-3.0.0"
       sources."util-deprecate-1.0.2"
-      sources."uvu-0.5.3"
+      sources."uvu-0.5.6"
       sources."validate-npm-package-license-3.0.4"
       sources."vfile-5.3.4"
       sources."vfile-find-up-6.0.0"
@@ -81003,35 +81555,36 @@ in
     };
     dependencies = [
       sources."@ampproject/remapping-2.2.0"
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.18.5"
-      sources."@babel/core-7.18.5"
-      (sources."@babel/generator-7.18.2" // {
-        dependencies = [
-          sources."@jridgewell/gen-mapping-0.3.1"
-        ];
-      })
-      sources."@babel/helper-compilation-targets-7.18.2"
-      sources."@babel/helper-environment-visitor-7.18.2"
-      sources."@babel/helper-function-name-7.17.9"
-      sources."@babel/helper-hoist-variables-7.16.7"
-      sources."@babel/helper-module-imports-7.16.7"
-      sources."@babel/helper-module-transforms-7.18.0"
-      sources."@babel/helper-simple-access-7.18.2"
-      sources."@babel/helper-split-export-declaration-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/helper-validator-option-7.16.7"
-      sources."@babel/helpers-7.18.2"
-      sources."@babel/highlight-7.17.12"
-      sources."@babel/parser-7.18.5"
-      sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.18.5"
-      sources."@babel/types-7.18.4"
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/compat-data-7.18.8"
+      sources."@babel/core-7.18.10"
+      (sources."@babel/generator-7.18.10" // {
+        dependencies = [
+          sources."@jridgewell/gen-mapping-0.3.2"
+        ];
+      })
+      sources."@babel/helper-compilation-targets-7.18.9"
+      sources."@babel/helper-environment-visitor-7.18.9"
+      sources."@babel/helper-function-name-7.18.9"
+      sources."@babel/helper-hoist-variables-7.18.6"
+      sources."@babel/helper-module-imports-7.18.6"
+      sources."@babel/helper-module-transforms-7.18.9"
+      sources."@babel/helper-simple-access-7.18.6"
+      sources."@babel/helper-split-export-declaration-7.18.6"
+      sources."@babel/helper-string-parser-7.18.10"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      sources."@babel/helper-validator-option-7.18.6"
+      sources."@babel/helpers-7.18.9"
+      sources."@babel/highlight-7.18.6"
+      sources."@babel/parser-7.18.10"
+      sources."@babel/template-7.18.10"
+      sources."@babel/traverse-7.18.10"
+      sources."@babel/types-7.18.10"
       sources."@jridgewell/gen-mapping-0.1.1"
-      sources."@jridgewell/resolve-uri-3.0.7"
-      sources."@jridgewell/set-array-1.1.1"
-      sources."@jridgewell/sourcemap-codec-1.4.13"
-      sources."@jridgewell/trace-mapping-0.3.13"
+      sources."@jridgewell/resolve-uri-3.1.0"
+      sources."@jridgewell/set-array-1.1.2"
+      sources."@jridgewell/sourcemap-codec-1.4.14"
+      sources."@jridgewell/trace-mapping-0.3.14"
       sources."@xmldom/xmldom-0.8.2"
       sources."JSV-4.0.2"
       sources."ansi-styles-3.2.1"
@@ -81039,8 +81592,8 @@ in
       sources."async-3.2.4"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-2.0.1"
-      sources."browserslist-4.20.4"
-      sources."caniuse-lite-1.0.30001358"
+      sources."browserslist-4.21.3"
+      sources."caniuse-lite-1.0.30001373"
       sources."chalk-2.4.2"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
@@ -81050,7 +81603,7 @@ in
       sources."convert-source-map-1.8.0"
       sources."debug-4.3.4"
       sources."ejs-3.1.6"
-      sources."electron-to-chromium-1.4.164"
+      sources."electron-to-chromium-1.4.211"
       sources."ensure-posix-path-1.1.1"
       sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
@@ -81108,7 +81661,7 @@ in
       })
       sources."moment-2.29.1"
       sources."ms-2.1.2"
-      sources."node-releases-2.0.5"
+      sources."node-releases-2.0.6"
       sources."node.extend-2.0.2"
       (sources."nomnom-1.8.1" // {
         dependencies = [
@@ -81131,6 +81684,7 @@ in
       sources."to-fast-properties-2.0.0"
       sources."underscore-1.6.0"
       sources."universalify-0.1.2"
+      sources."update-browserslist-db-1.0.5"
       sources."walk-sync-0.3.4"
       sources."which-1.3.1"
       sources."xml2js-0.2.8"
@@ -81283,7 +81837,7 @@ in
       sources."path-is-absolute-1.0.1"
       sources."path-to-regexp-1.8.0"
       sources."performance-now-2.1.0"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.3"
       sources."request-2.88.2"
@@ -81327,7 +81881,7 @@ in
       })
       sources."y18n-5.0.8"
       sources."yargs-17.5.1"
-      sources."yargs-parser-21.0.1"
+      sources."yargs-parser-21.1.0"
       sources."ylru-1.3.2"
     ];
     buildInputs = globalBuildInputs;
@@ -81343,15 +81897,15 @@ in
   asar = nodeEnv.buildNodePackage {
     name = "asar";
     packageName = "asar";
-    version = "3.1.0";
+    version = "3.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/asar/-/asar-3.1.0.tgz";
-      sha512 = "vyxPxP5arcAqN4F/ebHd/HhwnAiZtwhglvdmc7BR2f0ywbVNTOpSeyhLDbGXtE/y58hv1oC75TaNIXutnsOZsQ==";
+      url = "https://registry.npmjs.org/asar/-/asar-3.2.0.tgz";
+      sha512 = "COdw2ZQvKdFGFxXwX3oYh2/sOsJWJegrdJCGxnN4MZ7IULgRBp9P6665aqj9z1v9VwP4oP1hRBojRDQ//IGgAg==";
     };
     dependencies = [
       sources."@types/glob-7.2.0"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
       sources."chromium-pickle-js-0.2.0"
@@ -81429,21 +81983,22 @@ in
   autoprefixer = nodeEnv.buildNodePackage {
     name = "autoprefixer";
     packageName = "autoprefixer";
-    version = "10.4.7";
+    version = "10.4.8";
     src = fetchurl {
-      url = "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz";
-      sha512 = "ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==";
+      url = "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.8.tgz";
+      sha512 = "75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw==";
     };
     dependencies = [
-      sources."browserslist-4.20.4"
-      sources."caniuse-lite-1.0.30001358"
-      sources."electron-to-chromium-1.4.164"
+      sources."browserslist-4.21.3"
+      sources."caniuse-lite-1.0.30001373"
+      sources."electron-to-chromium-1.4.211"
       sources."escalade-3.1.1"
       sources."fraction.js-4.2.0"
-      sources."node-releases-2.0.5"
+      sources."node-releases-2.0.6"
       sources."normalize-range-0.1.2"
       sources."picocolors-1.0.0"
       sources."postcss-value-parser-4.2.0"
+      sources."update-browserslist-db-1.0.5"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -81465,14 +82020,15 @@ in
     };
     dependencies = [
       sources."@tootallnate/once-1.1.2"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/yauzl-2.10.0"
       sources."agent-base-6.0.2"
       sources."ansi-escapes-4.3.2"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
       sources."ast-types-0.13.4"
-      (sources."aws-sdk-2.1158.0" // {
+      sources."available-typed-arrays-1.0.5"
+      (sources."aws-sdk-2.1188.0" // {
         dependencies = [
           sources."uuid-8.0.0"
         ];
@@ -81490,13 +82046,14 @@ in
       sources."buffer-4.9.2"
       sources."buffer-crc32-0.2.13"
       sources."bytes-3.1.2"
+      sources."call-bind-1.0.2"
       sources."chalk-4.1.2"
       sources."chardet-0.7.0"
       sources."cheerio-1.0.0-rc.10"
       sources."cheerio-select-1.6.0"
       sources."chownr-1.1.4"
       sources."cli-cursor-3.1.0"
-      sources."cli-spinners-2.6.1"
+      sources."cli-spinners-2.7.0"
       sources."cli-width-3.0.0"
       sources."clone-1.0.4"
       sources."color-convert-2.0.1"
@@ -81510,6 +82067,7 @@ in
       sources."debug-4.3.4"
       sources."deep-is-0.1.4"
       sources."defaults-1.0.3"
+      sources."define-properties-1.1.4"
       sources."degenerator-2.2.0"
       sources."depd-2.0.0"
       sources."devtools-protocol-0.0.901419"
@@ -81520,6 +82078,8 @@ in
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."entities-2.2.0"
+      sources."es-abstract-1.20.1"
+      sources."es-to-primitive-1.2.1"
       sources."escape-string-regexp-1.0.5"
       sources."escodegen-1.14.3"
       sources."esprima-4.0.1"
@@ -81533,6 +82093,7 @@ in
       sources."figures-3.2.0"
       sources."file-uri-to-path-2.0.0"
       sources."find-up-4.1.0"
+      sources."for-each-0.3.3"
       sources."fs-constants-1.0.0"
       sources."fs-extra-8.1.0"
       sources."fs.realpath-1.0.0"
@@ -81543,11 +82104,21 @@ in
           sources."string_decoder-0.10.31"
         ];
       })
+      sources."function-bind-1.1.1"
+      sources."function.prototype.name-1.1.5"
+      sources."functions-have-names-1.2.3"
+      sources."get-intrinsic-1.1.2"
       sources."get-stream-5.2.0"
+      sources."get-symbol-description-1.0.0"
       sources."get-uri-3.0.2"
       sources."glob-7.2.3"
       sources."graceful-fs-4.2.10"
+      sources."has-1.0.3"
+      sources."has-bigints-1.0.2"
       sources."has-flag-4.0.0"
+      sources."has-property-descriptors-1.0.0"
+      sources."has-symbols-1.0.3"
+      sources."has-tostringtag-1.0.0"
       sources."htmlparser2-6.1.0"
       sources."http-errors-2.0.0"
       sources."http-proxy-agent-4.0.1"
@@ -81558,10 +82129,25 @@ in
       sources."inherits-2.0.4"
       sources."ini-2.0.0"
       sources."inquirer-8.2.4"
+      sources."internal-slot-1.0.3"
       sources."ip-1.1.8"
+      sources."is-arguments-1.1.1"
+      sources."is-bigint-1.0.4"
+      sources."is-boolean-object-1.1.2"
+      sources."is-callable-1.2.4"
+      sources."is-date-object-1.0.5"
       sources."is-fullwidth-code-point-3.0.0"
+      sources."is-generator-function-1.0.10"
       sources."is-interactive-1.0.0"
+      sources."is-negative-zero-2.0.2"
+      sources."is-number-object-1.0.7"
+      sources."is-regex-1.1.4"
+      sources."is-shared-array-buffer-1.0.2"
+      sources."is-string-1.0.7"
+      sources."is-symbol-1.0.4"
+      sources."is-typed-array-1.1.9"
       sources."is-unicode-supported-0.1.0"
+      sources."is-weakref-1.0.2"
       sources."isarray-1.0.0"
       sources."jmespath-0.16.0"
       sources."jsonfile-4.0.0"
@@ -81579,6 +82165,9 @@ in
       sources."netmask-2.0.2"
       sources."node-fetch-2.6.1"
       sources."nth-check-2.1.1"
+      sources."object-inspect-1.12.2"
+      sources."object-keys-1.1.1"
+      sources."object.assign-4.1.2"
       sources."once-1.4.0"
       sources."onetime-5.1.2"
       sources."optionator-0.8.3"
@@ -81610,21 +82199,29 @@ in
       sources."querystring-0.2.0"
       sources."raw-body-2.5.1"
       sources."readable-stream-3.6.0"
+      sources."regexp.prototype.flags-1.4.3"
       sources."restore-cursor-3.1.0"
       sources."rimraf-3.0.2"
       sources."run-async-2.4.1"
-      sources."rxjs-7.5.5"
+      sources."rxjs-7.5.6"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.1"
       sources."setprototypeof-1.2.0"
+      sources."side-channel-1.0.4"
       sources."signal-exit-3.0.7"
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.2"
+      (sources."socks-2.7.0" // {
+        dependencies = [
+          sources."ip-2.0.0"
+        ];
+      })
       sources."socks-proxy-agent-5.0.1"
       sources."source-map-0.6.1"
       sources."statuses-2.0.1"
       sources."string-width-4.2.3"
+      sources."string.prototype.trimend-1.0.5"
+      sources."string.prototype.trimstart-1.0.5"
       sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.1"
       sources."supports-color-7.2.0"
@@ -81640,6 +82237,7 @@ in
       sources."tslib-2.4.0"
       sources."type-check-0.3.2"
       sources."type-fest-0.21.3"
+      sources."unbox-primitive-1.0.2"
       (sources."unbzip2-stream-1.3.3" // {
         dependencies = [
           sources."buffer-5.7.1"
@@ -81648,9 +82246,12 @@ in
       sources."universalify-0.1.2"
       sources."unpipe-1.0.0"
       sources."url-0.10.3"
+      sources."util-0.12.4"
       sources."util-deprecate-1.0.2"
       sources."uuid-8.3.2"
       sources."wcwidth-1.0.1"
+      sources."which-boxed-primitive-1.0.2"
+      sources."which-typed-array-1.1.8"
       sources."word-wrap-1.2.3"
       sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
@@ -81674,10 +82275,10 @@ in
   aws-cdk = nodeEnv.buildNodePackage {
     name = "aws-cdk";
     packageName = "aws-cdk";
-    version = "2.28.1";
+    version = "2.35.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/aws-cdk/-/aws-cdk-2.28.1.tgz";
-      sha512 = "0Kklrj9HHg6HkYZQuTnJ+2+RLTqlVcxECUmlDudBxbPxJQcc5pEA9stfo8wwh1CtoWYuF4A4moP7B19Yvw4nJg==";
+      url = "https://registry.npmjs.org/aws-cdk/-/aws-cdk-2.35.0.tgz";
+      sha512 = "H8S/tEfnqeHq5aqKHXhZjSm3ck472Nwnw6CJYkzHg5tsV6KB5EludP18SYb1h9pu8ZGWmBQ8vJ82yK9XXxFQvw==";
     };
     dependencies = [
       sources."fsevents-2.3.2"
@@ -81701,9 +82302,9 @@ in
       sha512 = "Jc5aV6fjaAnx5Rmgk26lSUAreSU4UAFrRdedTYK1x2yXB5348X5bHN7J0xUf70AUw5ujloYVkZPCw4mwuVXllg==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      (sources."@babel/highlight-7.17.12" // {
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      (sources."@babel/highlight-7.18.6" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
@@ -81719,7 +82320,7 @@ in
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@types/eslint-7.29.0"
-      sources."@types/estree-0.0.51"
+      sources."@types/estree-1.0.0"
       sources."@types/json-schema-7.0.11"
       sources."@types/mdast-3.0.10"
       sources."@types/minimist-1.2.2"
@@ -81760,9 +82361,9 @@ in
       sources."character-reference-invalid-1.1.4"
       sources."clean-stack-2.2.0"
       sources."cli-cursor-3.1.0"
-      sources."cli-spinners-2.6.1"
+      sources."cli-spinners-2.7.0"
       sources."clone-1.0.4"
-      sources."clone-response-1.0.2"
+      sources."clone-response-1.0.3"
       sources."co-3.1.0"
       sources."collapse-white-space-1.0.6"
       sources."color-convert-2.0.1"
@@ -81786,7 +82387,7 @@ in
         ];
       })
       sources."dir-glob-3.0.1"
-      sources."duplexer3-0.1.4"
+      sources."duplexer3-0.1.5"
       sources."emoji-regex-9.2.2"
       sources."end-of-stream-1.4.4"
       sources."error-ex-1.3.2"
@@ -82113,10 +82714,10 @@ in
   balanceofsatoshis = nodeEnv.buildNodePackage {
     name = "balanceofsatoshis";
     packageName = "balanceofsatoshis";
-    version = "12.13.2";
+    version = "12.16.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/balanceofsatoshis/-/balanceofsatoshis-12.13.2.tgz";
-      sha512 = "B0npHfggvMlrBadnd/FZSX+dOT/GsgoNkOzLQsmt5J/qJxg/tqE0Z0bUhTJkWmNCkfE7/1ZgacWvPUD1t6BRyw==";
+      url = "https://registry.npmjs.org/balanceofsatoshis/-/balanceofsatoshis-12.16.3.tgz";
+      sha512 = "bBflCYO0qYFiFcWnZ5CjcQq/Fyx9OEUwa8nKWVTmDyK9rDZOnSA39d5kukXcrmnyVoWP8xBtoJ5rdzpl4FolCA==";
     };
     dependencies = [
       (sources."@alexbosworth/caporal-1.4.4" // {
@@ -82142,7 +82743,7 @@ in
       })
       sources."@colors/colors-1.5.0"
       sources."@dabh/diagnostics-2.0.3"
-      sources."@grammyjs/types-2.8.0"
+      sources."@grammyjs/types-2.8.2"
       sources."@grpc/grpc-js-1.6.7"
       sources."@grpc/proto-loader-0.6.13"
       sources."@handsontable/formulajs-2.0.2"
@@ -82158,20 +82759,18 @@ in
       sources."@protobufjs/path-1.1.2"
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
-      sources."@sindresorhus/is-0.14.0"
-      sources."@szmarczak/http-timer-1.1.2"
       sources."@types/body-parser-1.19.2"
       sources."@types/caseless-0.12.2"
       sources."@types/connect-3.4.35"
       sources."@types/express-4.17.13"
-      sources."@types/express-serve-static-core-4.17.29"
+      sources."@types/express-serve-static-core-4.17.30"
       sources."@types/long-4.0.2"
-      sources."@types/mime-1.3.2"
-      sources."@types/node-18.0.0"
+      sources."@types/mime-3.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
       sources."@types/request-2.48.8"
-      sources."@types/serve-static-1.13.10"
+      sources."@types/serve-static-1.15.0"
       sources."@types/tough-cookie-4.0.2"
       sources."@types/ws-8.5.3"
       sources."abort-controller-3.0.0"
@@ -82184,7 +82783,6 @@ in
       })
       sources."ajv-8.11.0"
       sources."ansi-0.3.1"
-      sources."ansi-align-3.0.1"
       sources."ansi-escapes-1.4.0"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-2.2.1"
@@ -82205,8 +82803,8 @@ in
       sources."bip66-1.1.5"
       sources."bip68-1.0.4"
       sources."bitcoin-ops-1.4.1"
-      sources."bitcoinjs-lib-6.0.1"
-      (sources."bl-4.1.0" // {
+      sources."bitcoinjs-lib-6.0.2"
+      (sources."bl-5.0.0" // {
         dependencies = [
           sources."readable-stream-3.6.0"
         ];
@@ -82215,32 +82813,19 @@ in
       sources."bn.js-5.2.1"
       sources."body-parser-1.20.0"
       sources."bolt01-1.2.5"
-      sources."bolt03-1.2.14"
-      sources."bolt07-1.8.2"
-      sources."bolt09-0.2.3"
-      (sources."boxen-5.1.2" // {
+      (sources."bolt03-1.2.14" // {
         dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."supports-color-7.2.0"
-          sources."type-fest-0.20.2"
+          sources."bitcoinjs-lib-6.0.1"
         ];
       })
+      sources."bolt07-1.8.2"
+      sources."bolt09-0.2.3"
       sources."bs58-4.0.1"
       sources."bs58check-2.1.2"
-      sources."buffer-5.7.1"
+      sources."buffer-6.0.3"
       sources."buffer-from-1.1.2"
       sources."bytes-3.1.2"
-      (sources."cacheable-request-6.1.0" // {
-        dependencies = [
-          sources."get-stream-5.2.0"
-          sources."lowercase-keys-2.0.0"
-        ];
-      })
       sources."call-bind-1.0.2"
-      sources."camelcase-6.3.0"
       sources."cbor-8.1.0"
       (sources."chalk-1.1.3" // {
         dependencies = [
@@ -82249,15 +82834,12 @@ in
         ];
       })
       sources."chardet-0.7.0"
-      sources."ci-info-2.0.0"
       sources."cipher-base-1.0.4"
-      sources."cli-boxes-2.2.1"
       sources."cli-cursor-1.0.2"
-      sources."cli-spinners-2.6.1"
+      sources."cli-spinners-2.7.0"
       sources."cli-width-2.2.1"
       sources."cliui-7.0.4"
       sources."clone-1.0.4"
-      sources."clone-response-1.0.2"
       sources."code-point-at-1.1.0"
       sources."color-3.2.1"
       sources."color-convert-1.9.3"
@@ -82269,7 +82851,6 @@ in
       sources."combined-stream-1.0.8"
       sources."commander-6.2.1"
       sources."concat-stream-1.6.2"
-      sources."configstore-5.0.1"
       (sources."content-disposition-0.5.4" // {
         dependencies = [
           sources."safe-buffer-5.2.1"
@@ -82282,28 +82863,21 @@ in
       sources."cors-2.8.5"
       sources."create-hash-1.2.0"
       sources."crypto-js-4.1.1"
-      sources."crypto-random-string-2.0.0"
-      sources."csv-parse-5.2.0"
+      sources."csv-parse-5.3.0"
       sources."debug-2.6.9"
-      sources."decompress-response-3.3.0"
-      sources."deep-extend-0.6.0"
       sources."defaults-1.0.3"
-      sources."defer-to-connect-1.1.3"
       sources."define-property-1.0.0"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
       sources."depd-2.0.0"
       sources."destroy-1.2.0"
-      sources."dot-prop-5.3.0"
-      sources."duplexer3-0.1.4"
+      sources."eastasianwidth-0.2.0"
       sources."ecpair-2.0.1"
       sources."ee-first-1.1.1"
       sources."emoji-regex-8.0.0"
       sources."enabled-2.0.0"
       sources."encodeurl-1.0.2"
-      sources."end-of-stream-1.4.4"
       sources."escalade-3.1.1"
-      sources."escape-goat-2.1.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
       sources."etag-1.8.1"
@@ -82329,21 +82903,16 @@ in
       sources."gauge-1.2.7"
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.2"
-      sources."get-stream-4.1.0"
-      (sources."global-dirs-3.0.0" // {
-        dependencies = [
-          sources."ini-2.0.0"
-        ];
-      })
       (sources."goldengate-11.2.3" // {
         dependencies = [
+          sources."bitcoinjs-lib-6.0.1"
           sources."colorette-2.0.17"
+          sources."ln-service-53.17.3"
           sources."ln-sync-3.12.2"
+          sources."psbt-2.6.0"
         ];
       })
-      sources."got-9.6.0"
-      sources."graceful-fs-4.2.10"
-      (sources."grammy-1.8.3" // {
+      (sources."grammy-1.9.2" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
@@ -82355,10 +82924,8 @@ in
           sources."ansi-regex-2.1.1"
         ];
       })
-      sources."has-flag-4.0.0"
       sources."has-symbols-1.0.3"
       sources."has-unicode-2.0.1"
-      sources."has-yarn-2.1.0"
       (sources."hash-base-3.1.0" // {
         dependencies = [
           sources."readable-stream-3.6.0"
@@ -82366,99 +82933,99 @@ in
         ];
       })
       sources."hot-formula-parser-4.0.0"
-      sources."http-cache-semantics-4.1.0"
       sources."http-errors-2.0.0"
       sources."iconv-lite-0.4.24"
       sources."ieee754-1.2.1"
       sources."import-lazy-4.0.0"
-      sources."imurmurhash-0.1.4"
       sources."inherits-2.0.4"
       sources."ini-3.0.0"
-      (sources."inquirer-8.2.4" // {
+      (sources."inquirer-9.0.2" // {
         dependencies = [
-          sources."ansi-escapes-4.3.2"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."cli-cursor-3.1.0"
-          sources."cli-width-3.0.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
+          sources."ansi-escapes-5.0.0"
+          sources."ansi-regex-6.0.1"
+          sources."ansi-styles-6.1.0"
+          sources."chalk-5.0.1"
+          sources."cli-cursor-4.0.0"
+          sources."cli-width-4.0.0"
+          sources."emoji-regex-9.2.2"
+          sources."escape-string-regexp-5.0.0"
           sources."external-editor-3.1.0"
-          sources."figures-3.2.0"
+          sources."figures-4.0.1"
           sources."mute-stream-0.0.8"
           sources."onetime-5.1.2"
-          sources."restore-cursor-3.1.0"
-          sources."supports-color-7.2.0"
+          sources."restore-cursor-4.0.0"
+          sources."string-width-5.1.2"
+          sources."strip-ansi-7.0.1"
           sources."tmp-0.0.33"
+          sources."type-fest-1.4.0"
+          sources."wrap-ansi-8.0.1"
         ];
       })
-      (sources."invoices-2.0.6" // {
+      (sources."invoices-2.0.7" // {
         dependencies = [
-          sources."bn.js-5.2.0"
-          sources."bolt07-1.8.1"
+          sources."bitcoinjs-lib-6.0.1"
         ];
       })
-      sources."ip-1.1.8"
+      sources."ip-2.0.0"
       sources."ipaddr.js-1.9.1"
       sources."is-accessor-descriptor-1.0.0"
       sources."is-arrayish-0.3.2"
       sources."is-buffer-1.1.6"
-      sources."is-ci-2.0.0"
       sources."is-data-descriptor-1.0.0"
       sources."is-descriptor-1.0.2"
       sources."is-fullwidth-code-point-3.0.0"
-      sources."is-installed-globally-0.4.0"
-      sources."is-interactive-1.0.0"
-      sources."is-npm-5.0.0"
+      sources."is-interactive-2.0.0"
       (sources."is-number-3.0.0" // {
         dependencies = [
           sources."kind-of-3.2.2"
         ];
       })
-      sources."is-obj-2.0.0"
-      sources."is-path-inside-3.0.3"
       sources."is-stream-2.0.1"
-      sources."is-typedarray-1.0.0"
-      sources."is-unicode-supported-0.1.0"
-      sources."is-yarn-global-0.3.0"
+      sources."is-unicode-supported-1.2.0"
       sources."isarray-1.0.0"
-      sources."json-buffer-3.0.0"
       sources."json-schema-traverse-1.0.0"
       sources."json2csv-5.0.7"
       sources."jsonparse-1.3.1"
       sources."jstat-1.9.5"
-      sources."keyv-3.1.0"
       sources."kind-of-6.0.3"
       sources."kuler-2.0.0"
-      sources."latest-version-5.1.0"
-      (sources."lightning-5.16.0" // {
+      (sources."lightning-5.16.3" // {
         dependencies = [
-          sources."@grpc/proto-loader-0.6.12"
-          sources."@types/node-17.0.33"
-          sources."async-3.2.3"
-          sources."asyncjs-util-1.2.9"
-          sources."bn.js-5.2.0"
-          sources."bolt07-1.8.1"
-          sources."psbt-2.0.1"
-          sources."type-fest-2.12.2"
+          sources."@types/node-17.0.41"
+          (sources."asyncjs-util-1.2.9" // {
+            dependencies = [
+              sources."async-3.2.3"
+            ];
+          })
+          sources."bitcoinjs-lib-6.0.1"
+          sources."psbt-2.6.0"
         ];
       })
       (sources."ln-accounting-5.0.7" // {
         dependencies = [
           sources."@grpc/proto-loader-0.6.12"
-          sources."@types/node-17.0.38"
+          sources."@types/node-17.0.33"
           sources."async-3.2.3"
           sources."asyncjs-util-1.2.9"
+          sources."bitcoinjs-lib-6.0.1"
           sources."bn.js-5.2.0"
           sources."bolt01-1.2.4"
           sources."bolt07-1.8.1"
           sources."colorette-2.0.16"
           sources."goldengate-11.2.2"
+          sources."invoices-2.0.6"
+          (sources."lightning-5.16.0" // {
+            dependencies = [
+              sources."psbt-2.0.1"
+            ];
+          })
           (sources."ln-service-53.17.1" // {
             dependencies = [
+              sources."@types/node-17.0.38"
               sources."bn.js-5.2.1"
               sources."lightning-5.16.1"
               sources."psbt-2.3.0"
+              sources."type-fest-2.13.0"
               sources."ws-8.7.0"
             ];
           })
@@ -82474,104 +83041,30 @@ in
               sources."bn.js-5.2.1"
             ];
           })
-          sources."type-fest-2.13.0"
-        ];
-      })
-      (sources."ln-service-53.17.3" // {
-        dependencies = [
-          sources."@types/node-17.0.41"
-          sources."async-3.2.3"
-          sources."asyncjs-util-1.2.9"
-          sources."invoices-2.0.7"
-          sources."lightning-5.16.3"
-          sources."type-fest-2.13.0"
-          sources."ws-8.8.0"
+          sources."type-fest-2.12.2"
+          sources."ws-8.6.0"
         ];
       })
-      (sources."ln-sync-3.13.0" // {
+      sources."ln-service-53.17.4"
+      sources."ln-sync-3.13.1"
+      (sources."ln-telegram-3.22.3" // {
         dependencies = [
+          sources."bitcoinjs-lib-6.0.1"
           sources."colorette-2.0.17"
-        ];
-      })
-      (sources."ln-telegram-3.22.2" // {
-        dependencies = [
-          (sources."@alexbosworth/fiat-1.0.2" // {
+          sources."debug-4.3.4"
+          sources."grammy-1.9.0"
+          (sources."ln-sync-3.13.0" // {
             dependencies = [
-              sources."async-3.2.3"
-              sources."asyncjs-util-1.2.9"
+              sources."ln-service-53.17.3"
             ];
           })
-          sources."@grpc/proto-loader-0.6.12"
-          sources."@types/node-17.0.38"
-          sources."bn.js-5.2.0"
-          sources."colorette-2.0.16"
-          sources."invoices-2.0.7"
-          (sources."lightning-5.16.1" // {
+          sources."ms-2.1.2"
+          (sources."paid-services-3.16.3" // {
             dependencies = [
-              sources."async-3.2.3"
-              sources."asyncjs-util-1.2.9"
-              (sources."bolt07-1.8.1" // {
-                dependencies = [
-                  sources."bn.js-5.2.0"
-                ];
-              })
-              (sources."invoices-2.0.6" // {
-                dependencies = [
-                  sources."bn.js-5.2.0"
-                ];
-              })
+              sources."ln-service-53.17.3"
             ];
           })
-          (sources."paid-services-3.16.2" // {
-            dependencies = [
-              sources."@types/node-17.0.33"
-              (sources."asyncjs-util-1.2.9" // {
-                dependencies = [
-                  sources."async-3.2.3"
-                ];
-              })
-              (sources."goldengate-11.2.2" // {
-                dependencies = [
-                  sources."async-3.2.3"
-                  (sources."bolt01-1.2.4" // {
-                    dependencies = [
-                      sources."bn.js-5.2.0"
-                    ];
-                  })
-                  (sources."bolt07-1.8.1" // {
-                    dependencies = [
-                      sources."bn.js-5.2.0"
-                    ];
-                  })
-                  (sources."invoices-2.0.6" // {
-                    dependencies = [
-                      sources."bn.js-5.2.0"
-                    ];
-                  })
-                  sources."ln-service-53.17.1"
-                  sources."psbt-2.4.0"
-                ];
-              })
-              (sources."ln-sync-3.12.1" // {
-                dependencies = [
-                  sources."async-3.2.3"
-                  sources."bolt07-1.8.1"
-                  sources."invoices-2.0.6"
-                  (sources."lightning-5.16.0" // {
-                    dependencies = [
-                      sources."psbt-2.0.1"
-                    ];
-                  })
-                  sources."ln-service-53.17.0"
-                  sources."ws-8.6.0"
-                ];
-              })
-              sources."type-fest-2.12.2"
-            ];
-          })
-          sources."psbt-2.3.0"
-          sources."type-fest-2.13.0"
-          sources."ws-8.7.0"
+          sources."psbt-2.6.0"
         ];
       })
       sources."lodash-4.17.21"
@@ -82583,30 +83076,19 @@ in
       sources."lodash.padstart-4.6.1"
       sources."lodash.truncate-4.4.2"
       sources."lodash.uniq-4.5.0"
-      (sources."log-symbols-4.1.0" // {
+      (sources."log-symbols-5.1.0" // {
         dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."supports-color-7.2.0"
+          sources."chalk-5.0.1"
         ];
       })
-      (sources."logform-2.4.0" // {
+      (sources."logform-2.4.2" // {
         dependencies = [
           sources."ms-2.1.3"
         ];
       })
       sources."long-4.0.0"
-      sources."lowercase-keys-1.0.1"
-      sources."lru-cache-6.0.0"
       sources."luxon-2.4.0"
       sources."macaroon-3.0.4"
-      (sources."make-dir-3.1.0" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
       sources."md5.js-1.3.5"
       sources."media-typer-0.3.0"
       sources."merge-descriptors-1.0.1"
@@ -82616,10 +83098,9 @@ in
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."mimic-fn-2.1.0"
-      sources."mimic-response-1.0.1"
       sources."minimist-1.2.6"
       sources."mkdirp-0.5.6"
-      sources."moment-2.29.3"
+      sources."moment-2.29.4"
       (sources."morgan-1.10.0" // {
         dependencies = [
           sources."on-finished-2.3.0"
@@ -82630,54 +83111,59 @@ in
       sources."negotiator-0.6.3"
       sources."node-fetch-2.6.7"
       sources."nofilter-3.1.0"
-      sources."normalize-url-4.5.1"
       sources."npmlog-2.0.4"
       sources."number-is-nan-1.0.1"
       sources."object-assign-4.1.1"
       sources."object-inspect-1.12.2"
       sources."on-finished-2.4.1"
       sources."on-headers-1.0.2"
-      sources."once-1.4.0"
       sources."one-time-1.0.0"
       sources."onetime-1.1.0"
-      (sources."ora-5.4.1" // {
+      (sources."ora-6.1.2" // {
         dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."cli-cursor-3.1.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
+          sources."ansi-regex-6.0.1"
+          sources."chalk-5.0.1"
+          sources."cli-cursor-4.0.0"
           sources."onetime-5.1.2"
-          sources."restore-cursor-3.1.0"
-          sources."supports-color-7.2.0"
+          sources."restore-cursor-4.0.0"
+          sources."strip-ansi-7.0.1"
         ];
       })
       sources."os-shim-0.1.3"
       sources."os-tmpdir-1.0.2"
-      sources."p-cancelable-1.1.0"
       sources."p2tr-1.3.1"
-      (sources."package-json-6.5.0" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      (sources."paid-services-3.16.3" // {
+      (sources."paid-services-3.19.1" // {
         dependencies = [
-          sources."invoices-2.0.7"
+          sources."bitcoinjs-lib-6.0.1"
+          sources."colorette-2.0.17"
+          sources."invoices-2.1.0"
+          (sources."ln-sync-3.13.0" // {
+            dependencies = [
+              sources."invoices-2.0.7"
+              sources."ln-service-53.17.3"
+              sources."psbt-2.6.0"
+            ];
+          })
+          sources."psbt-2.7.0"
         ];
       })
       sources."parseurl-1.3.3"
       sources."path-to-regexp-0.1.7"
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
-      sources."prepend-http-2.0.0"
       (sources."probing-2.0.6" // {
         dependencies = [
           sources."@grpc/proto-loader-0.6.12"
           sources."@types/node-17.0.38"
           sources."async-3.2.3"
           sources."asyncjs-util-1.2.9"
+          sources."bitcoinjs-lib-6.0.1"
           sources."bn.js-5.2.0"
+          (sources."invoices-2.0.6" // {
+            dependencies = [
+              sources."bolt07-1.8.1"
+            ];
+          })
           (sources."lightning-5.16.1" // {
             dependencies = [
               sources."bn.js-5.2.1"
@@ -82698,49 +83184,32 @@ in
               sources."bn.js-5.2.1"
             ];
           })
-          sources."type-fest-2.13.0"
           sources."ws-8.7.0"
         ];
       })
       sources."process-nextick-args-2.0.1"
       sources."protobufjs-6.11.3"
       sources."proxy-addr-2.0.7"
-      sources."psbt-2.6.0"
-      sources."pump-3.0.0"
+      sources."psbt-2.7.1"
       sources."punycode-2.1.1"
-      sources."pupa-2.1.1"
       sources."pushdata-bitcoin-1.0.1"
       sources."qrcode-terminal-0.12.0"
       sources."qs-6.10.3"
       sources."randombytes-2.1.0"
       sources."range-parser-1.2.1"
       sources."raw-body-2.5.1"
-      (sources."rc-1.2.8" // {
-        dependencies = [
-          sources."ini-1.3.8"
-        ];
-      })
       sources."readable-stream-2.3.7"
-      sources."registry-auth-token-4.2.2"
-      sources."registry-url-5.1.0"
       sources."require-directory-2.1.1"
       sources."require-from-string-2.0.2"
-      sources."responselike-1.0.2"
       sources."restore-cursor-1.0.1"
       sources."ripemd160-2.0.2"
       sources."run-async-2.4.1"
       sources."rx-4.1.0"
-      sources."rxjs-7.5.5"
+      sources."rxjs-7.5.6"
       sources."safe-buffer-5.1.2"
       sources."safe-stable-stringify-2.3.1"
       sources."safer-buffer-2.1.2"
       sources."sanitize-filename-1.6.3"
-      sources."semver-7.3.7"
-      (sources."semver-diff-3.1.1" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
       (sources."send-0.18.0" // {
         dependencies = [
           sources."ms-2.1.3"
@@ -82761,7 +83230,7 @@ in
         ];
       })
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.2"
+      sources."socks-2.7.0"
       (sources."socks-proxy-agent-7.0.0" // {
         dependencies = [
           sources."debug-4.3.4"
@@ -82774,7 +83243,6 @@ in
       sources."string-width-4.2.3"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-6.0.1"
-      sources."strip-json-comments-2.0.1"
       sources."supports-color-2.0.0"
       sources."table-6.8.0"
       (sources."tabtab-2.2.2" // {
@@ -82791,7 +83259,6 @@ in
       sources."tiny-emitter-2.1.0"
       sources."tiny-secp256k1-2.2.1"
       sources."tmp-0.0.29"
-      sources."to-readable-stream-1.0.0"
       sources."toidentifier-1.0.1"
       sources."tr46-0.0.3"
       sources."triple-beam-1.3.0"
@@ -82799,26 +83266,13 @@ in
       sources."tslib-2.4.0"
       sources."tweetnacl-1.0.3"
       sources."tweetnacl-util-0.15.1"
-      sources."type-fest-0.21.3"
+      sources."type-fest-2.13.0"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
-      sources."typedarray-to-buffer-3.1.5"
       sources."typeforce-1.18.0"
       sources."uint8array-tools-0.0.7"
-      sources."unique-string-2.0.0"
       sources."unpipe-1.0.0"
-      (sources."update-notifier-5.1.0" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."import-lazy-2.1.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
       sources."uri-js-4.4.1"
-      sources."url-parse-lax-3.0.0"
       sources."utf8-byte-length-1.0.4"
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
@@ -82827,7 +83281,6 @@ in
       sources."wcwidth-1.0.1"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
-      sources."widest-line-3.1.0"
       sources."wif-2.0.6"
       sources."window-size-1.1.1"
       (sources."winston-3.7.2" // {
@@ -82847,12 +83300,8 @@ in
           sources."color-name-1.1.4"
         ];
       })
-      sources."wrappy-1.0.2"
-      sources."write-file-atomic-3.0.3"
-      sources."ws-8.6.0"
-      sources."xdg-basedir-4.0.0"
+      sources."ws-8.8.0"
       sources."y18n-5.0.8"
-      sources."yallist-4.0.0"
       sources."yargs-16.2.0"
       sources."yargs-parser-20.2.9"
     ];
@@ -82869,10 +83318,10 @@ in
   bash-language-server = nodeEnv.buildNodePackage {
     name = "bash-language-server";
     packageName = "bash-language-server";
-    version = "3.0.4";
+    version = "3.0.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/bash-language-server/-/bash-language-server-3.0.4.tgz";
-      sha512 = "LMaBSmXuPfPkMjOZzI9zEgiInEBE2Ok2p1/cnGOPW/sG07pVysweXkHaUy10dl+kof+x2kklZlAMMD5CluA5fQ==";
+      url = "https://registry.npmjs.org/bash-language-server/-/bash-language-server-3.0.5.tgz";
+      sha512 = "2rkjU29BL5ZjmLI6WZ/yiFO0duef0lOg0lnLqNGqt6xUDuxfgbRvV1JysLTOKWZt0yBL8W52V+2XisF1UnRcWA==";
     };
     dependencies = [
       sources."ajv-6.12.6"
@@ -82920,7 +83369,7 @@ in
       sources."oauth-sign-0.9.0"
       sources."once-1.4.0"
       sources."performance-now-2.1.0"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.3"
       sources."request-2.88.2"
@@ -82938,11 +83387,11 @@ in
       sources."urijs-1.19.11"
       sources."uuid-3.4.0"
       sources."verror-1.10.0"
-      sources."vscode-jsonrpc-8.0.1"
+      sources."vscode-jsonrpc-8.0.2"
       sources."vscode-languageserver-6.1.1"
-      sources."vscode-languageserver-protocol-3.17.1"
+      sources."vscode-languageserver-protocol-3.17.2"
       sources."vscode-languageserver-textdocument-1.0.5"
-      sources."vscode-languageserver-types-3.17.1"
+      sources."vscode-languageserver-types-3.17.2"
       sources."web-tree-sitter-0.20.5"
       sources."wrappy-1.0.2"
     ];
@@ -83362,7 +83811,7 @@ in
       sources."@types/component-emitter-1.2.11"
       sources."@types/cookie-0.4.1"
       sources."@types/cors-2.8.12"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."accepts-1.3.8"
       sources."ansi-regex-2.1.1"
       sources."ansi-styles-2.2.1"
@@ -83520,12 +83969,12 @@ in
       sources."setprototypeof-1.2.0"
       (sources."socket.io-4.5.1" // {
         dependencies = [
-          sources."socket.io-parser-4.0.4"
+          sources."socket.io-parser-4.0.5"
         ];
       })
       sources."socket.io-adapter-2.4.0"
       sources."socket.io-client-4.5.1"
-      sources."socket.io-parser-4.2.0"
+      sources."socket.io-parser-4.2.1"
       sources."statuses-1.3.1"
       sources."stream-throttle-0.1.3"
       (sources."string-width-4.2.3" // {
@@ -83558,7 +84007,7 @@ in
       sources."y18n-5.0.8"
       (sources."yargs-17.5.1" // {
         dependencies = [
-          sources."yargs-parser-21.0.1"
+          sources."yargs-parser-21.1.0"
         ];
       })
       sources."yargs-parser-20.2.9"
@@ -83582,11 +84031,12 @@ in
       sha512 = "lGrnNrAGb+SjksV92nG2zvm0Mxt7q9bTMNIqQXGTf/AsdrxQDjV097izcRnrBoy41fRS1//J7TuNCH/oAsOteg==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/highlight-7.17.12"
-      sources."@babel/parser-7.18.5"
-      sources."@babel/types-7.18.4"
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/helper-string-parser-7.18.10"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      sources."@babel/highlight-7.18.6"
+      sources."@babel/parser-7.18.10"
+      sources."@babel/types-7.18.10"
       sources."@kwsites/file-exists-1.1.1"
       sources."@kwsites/promise-deferred-1.1.1"
       sources."@types/minimist-1.2.2"
@@ -83634,7 +84084,7 @@ in
           sources."debug-2.6.9"
         ];
       })
-      sources."bootstrap-5.1.3"
+      sources."bootstrap-5.2.0"
       sources."brace-expansion-1.1.11"
       sources."brorand-1.1.0"
       sources."bs58-4.0.1"
@@ -83649,7 +84099,7 @@ in
       sources."chalk-2.4.2"
       sources."character-parser-2.2.0"
       sources."charenc-0.0.2"
-      sources."chart.js-3.8.0"
+      sources."chart.js-3.9.1"
       sources."cipher-base-1.0.4"
       sources."cliui-6.0.0"
       sources."color-convert-1.9.3"
@@ -83843,7 +84293,7 @@ in
       sources."minimist-1.2.6"
       sources."minimist-options-4.1.0"
       sources."mkdirp-0.5.6"
-      sources."moment-2.29.3"
+      sources."moment-2.29.4"
       sources."moment-duration-format-2.3.2"
       (sources."morgan-1.10.0" // {
         dependencies = [
@@ -83881,7 +84331,7 @@ in
       sources."pngjs-5.0.0"
       sources."promise-7.3.1"
       sources."proxy-addr-2.0.7"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."pug-3.0.2"
       sources."pug-attrs-3.0.0"
       sources."pug-code-gen-3.0.2"
@@ -83896,7 +84346,7 @@ in
       sources."pug-walk-2.0.0"
       sources."punycode-2.1.1"
       sources."pushdata-bitcoin-1.0.1"
-      sources."qrcode-1.5.0"
+      sources."qrcode-1.5.1"
       sources."qs-6.10.3"
       sources."quick-lru-4.0.1"
       sources."random-bytes-1.0.0"
@@ -84051,7 +84501,7 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/long-4.0.2"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."addr-to-ip-port-1.5.4"
       sources."airplay-js-0.2.16"
       sources."ajv-6.12.6"
@@ -84113,7 +84563,7 @@ in
       sources."co-3.1.0"
       sources."codepage-1.4.0"
       sources."combined-stream-1.0.8"
-      sources."commander-9.3.0"
+      sources."commander-9.4.0"
       sources."compact2string-1.4.1"
       sources."concat-map-0.0.1"
       (sources."concat-stream-2.0.0" // {
@@ -84294,11 +84744,11 @@ in
           sources."supports-color-0.2.0"
         ];
       })
-      sources."plist-3.0.5"
+      sources."plist-3.0.6"
       sources."process-nextick-args-2.0.1"
       sources."promiscuous-0.6.0"
       sources."protobufjs-6.11.3"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       (sources."pump-0.3.5" // {
         dependencies = [
           sources."once-1.2.0"
@@ -84442,7 +84892,7 @@ in
           sources."xmlbuilder-11.0.1"
         ];
       })
-      sources."xmlbuilder-9.0.7"
+      sources."xmlbuilder-15.1.1"
       sources."xspfr-0.3.1"
       sources."xtend-4.0.2"
     ];
@@ -84596,7 +85046,7 @@ in
       sources."dir-glob-2.0.0"
       sources."dom-walk-0.1.2"
       sources."dot-prop-4.2.1"
-      sources."duplexer3-0.1.4"
+      sources."duplexer3-0.1.5"
       sources."elegant-spinner-1.0.1"
       sources."error-ex-1.3.2"
       sources."es6-promise-4.2.8"
@@ -84849,9 +85299,9 @@ in
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
       sources."pixelmatch-4.0.2"
-      (sources."plist-3.0.5" // {
+      (sources."plist-3.0.6" // {
         dependencies = [
-          sources."xmlbuilder-9.0.7"
+          sources."xmlbuilder-15.1.1"
         ];
       })
       sources."pngjs-3.4.0"
@@ -85058,14 +85508,14 @@ in
   cdk8s-cli = nodeEnv.buildNodePackage {
     name = "cdk8s-cli";
     packageName = "cdk8s-cli";
-    version = "2.0.27";
+    version = "2.0.73";
     src = fetchurl {
-      url = "https://registry.npmjs.org/cdk8s-cli/-/cdk8s-cli-2.0.27.tgz";
-      sha512 = "yHbf+UtmKrMBS8WoXvZ1uXXha+PV3tsahqTRNyf6rqnBy2pQQl2KZyPv9l7m71ukUG5KH2OhdJ7Kg1BJa0JixQ==";
+      url = "https://registry.npmjs.org/cdk8s-cli/-/cdk8s-cli-2.0.73.tgz";
+      sha512 = "BtXUCJaXegW6wodWd9MaAJUAWl6pmIFnYAFZgQ1YuX7EE9jC0phKCObdWBnl0iKJmLmsVbVDZu0yTmJcmHDFTg==";
     };
     dependencies = [
-      sources."@jsii/check-node-1.61.0"
-      sources."@jsii/spec-1.61.0"
+      sources."@jsii/check-node-1.63.2"
+      sources."@jsii/spec-1.63.2"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
@@ -85078,12 +85528,12 @@ in
       sources."braces-3.0.2"
       sources."camelcase-6.3.0"
       sources."case-1.6.3"
-      sources."cdk8s-2.3.32"
-      sources."cdk8s-plus-22-2.0.0-rc.25"
+      sources."cdk8s-2.3.74"
+      sources."cdk8s-plus-22-2.0.0-rc.72"
       sources."chalk-4.1.2"
       sources."cliui-7.0.4"
       sources."clone-2.1.2"
-      (sources."codemaker-1.61.0" // {
+      (sources."codemaker-1.63.2" // {
         dependencies = [
           sources."fs-extra-10.1.0"
         ];
@@ -85092,8 +85542,8 @@ in
       sources."color-name-1.1.4"
       sources."colors-1.4.0"
       sources."commonmark-0.30.0"
-      sources."constructs-10.1.42"
-      sources."date-format-4.0.11"
+      sources."constructs-10.1.66"
+      sources."date-format-4.0.13"
       sources."debug-4.3.4"
       sources."decamelize-5.0.1"
       sources."detect-indent-5.0.0"
@@ -85108,7 +85558,7 @@ in
       sources."fastq-1.13.0"
       sources."fill-range-7.0.1"
       sources."find-up-4.1.0"
-      sources."flatted-3.2.5"
+      sources."flatted-3.2.6"
       (sources."fs-extra-8.1.0" // {
         dependencies = [
           sources."jsonfile-4.0.0"
@@ -85123,42 +85573,41 @@ in
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.3"
       sources."is-number-7.0.0"
-      (sources."jsii-1.61.0" // {
+      (sources."jsii-1.63.2" // {
         dependencies = [
           sources."fs-extra-10.1.0"
-          sources."typescript-3.9-3.9.10"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-pacmak-1.61.0" // {
+      (sources."jsii-pacmak-1.63.2" // {
         dependencies = [
           sources."fs-extra-10.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-reflect-1.61.0" // {
+      (sources."jsii-reflect-1.63.2" // {
         dependencies = [
           sources."fs-extra-10.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-rosetta-1.61.0" // {
+      (sources."jsii-rosetta-1.63.2" // {
         dependencies = [
           sources."fs-extra-10.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-srcmak-0.1.595" // {
+      (sources."jsii-srcmak-0.1.637" // {
         dependencies = [
           sources."fs-extra-9.1.0"
         ];
       })
       sources."json-schema-0.4.0"
       sources."json-schema-traverse-1.0.0"
-      sources."json2jsii-0.3.45"
+      sources."json2jsii-0.3.86"
       sources."jsonfile-6.1.0"
       sources."locate-path-5.0.0"
-      sources."log4js-6.5.2"
+      sources."log4js-6.6.1"
       sources."lower-case-2.0.2"
       sources."lru-cache-6.0.0"
       sources."mdurl-1.0.1"
@@ -85168,7 +85617,7 @@ in
       sources."ms-2.1.2"
       sources."ncp-2.0.0"
       sources."no-case-3.0.4"
-      sources."oo-ascii-tree-1.61.0"
+      sources."oo-ascii-tree-1.63.2"
       sources."p-limit-2.3.0"
       sources."p-locate-4.1.0"
       sources."p-try-2.2.0"
@@ -85193,18 +85642,14 @@ in
       sources."sort-json-2.0.1"
       sources."spdx-license-list-6.6.0"
       sources."sscaff-1.2.274"
-      (sources."streamroller-3.1.1" // {
-        dependencies = [
-          sources."fs-extra-10.1.0"
-        ];
-      })
+      sources."streamroller-3.1.2"
       sources."string-width-4.2.3"
       sources."string.prototype.repeat-0.2.0"
       sources."strip-ansi-6.0.1"
       sources."supports-color-7.2.0"
       sources."to-regex-range-5.0.1"
       sources."tslib-2.4.0"
-      sources."typescript-3.9-3.9.10"
+      sources."typescript-3.9.10"
       sources."universalify-2.0.0"
       sources."uri-js-4.4.1"
       sources."which-module-2.0.0"
@@ -85238,33 +85683,29 @@ in
   cdktf-cli = nodeEnv.buildNodePackage {
     name = "cdktf-cli";
     packageName = "cdktf-cli";
-    version = "0.11.2";
+    version = "0.12.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/cdktf-cli/-/cdktf-cli-0.11.2.tgz";
-      sha512 = "p2VIfIxVqxWAMHhaqWsiEwJbE96bkHxaJzudlvj2aIC0TPz2PJfOWLLt2x1FQYsULzkG7U5M1WNCOeEeQTLJIQ==";
+      url = "https://registry.npmjs.org/cdktf-cli/-/cdktf-cli-0.12.0.tgz";
+      sha512 = "wtHAZDdzV5LE8RIAXHV6AVFV5hrP9Wk0HjgEMngWqeHYJqLhH8BBTxwziZxMFdT0JbCkDAg83RMSxyfRqRPqYQ==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/generator-7.18.2"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/highlight-7.17.12"
-      sources."@babel/parser-7.18.5"
-      sources."@babel/template-7.16.7"
-      sources."@babel/types-7.18.4"
-      sources."@cdktf/hcl2cdk-0.11.2"
-      sources."@cdktf/hcl2json-0.11.2"
-      (sources."@cdktf/provider-generator-0.11.2" // {
-        dependencies = [
-          sources."camelcase-5.3.1"
-          sources."codemaker-0.22.0"
-        ];
-      })
-      sources."@jridgewell/gen-mapping-0.3.1"
-      sources."@jridgewell/resolve-uri-3.0.7"
-      sources."@jridgewell/set-array-1.1.1"
-      sources."@jridgewell/sourcemap-codec-1.4.13"
-      sources."@jridgewell/trace-mapping-0.3.13"
-      (sources."@jsii/check-node-1.61.0" // {
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/generator-7.18.10"
+      sources."@babel/helper-string-parser-7.18.10"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      sources."@babel/highlight-7.18.6"
+      sources."@babel/parser-7.18.10"
+      sources."@babel/template-7.18.10"
+      sources."@babel/types-7.18.10"
+      sources."@cdktf/hcl2cdk-0.12.0"
+      sources."@cdktf/hcl2json-0.12.0"
+      sources."@cdktf/provider-generator-0.12.0"
+      sources."@jridgewell/gen-mapping-0.3.2"
+      sources."@jridgewell/resolve-uri-3.1.0"
+      sources."@jridgewell/set-array-1.1.2"
+      sources."@jridgewell/sourcemap-codec-1.4.14"
+      sources."@jridgewell/trace-mapping-0.3.14"
+      (sources."@jsii/check-node-1.63.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -85274,7 +85715,7 @@ in
           sources."supports-color-7.2.0"
         ];
       })
-      sources."@jsii/spec-1.61.0"
+      sources."@jsii/spec-1.63.2"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
@@ -85284,10 +85725,11 @@ in
       sources."@sentry/node-6.19.7"
       sources."@sentry/types-6.19.7"
       sources."@sentry/utils-6.19.7"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/node-fetch-2.6.2"
       sources."@types/yargs-17.0.10"
       sources."@types/yargs-parser-21.0.0"
+      sources."@types/yoga-layout-1.9.2"
       sources."@xmldom/xmldom-0.8.2"
       sources."agent-base-6.0.2"
       sources."ajv-8.11.0"
@@ -85301,11 +85743,11 @@ in
       sources."braces-3.0.2"
       sources."camelcase-6.3.0"
       sources."case-1.6.3"
-      sources."cdktf-0.11.2"
+      sources."cdktf-0.12.0"
       sources."chalk-2.4.2"
       sources."cliui-6.0.0"
       sources."clone-2.1.2"
-      (sources."codemaker-1.61.0" // {
+      (sources."codemaker-1.63.2" // {
         dependencies = [
           sources."decamelize-5.0.1"
           sources."fs-extra-10.1.0"
@@ -85318,10 +85760,10 @@ in
       sources."combined-stream-1.0.8"
       sources."commonmark-0.30.0"
       sources."concat-map-0.0.1"
-      sources."constructs-10.1.42"
+      sources."constructs-10.1.66"
       sources."cookie-0.4.2"
       sources."cross-spawn-7.0.3"
-      sources."date-format-4.0.11"
+      sources."date-format-4.0.13"
       sources."debug-4.3.4"
       sources."decamelize-1.2.0"
       sources."delayed-stream-1.0.0"
@@ -85338,12 +85780,12 @@ in
       sources."figures-3.2.0"
       sources."fill-range-7.0.1"
       sources."find-up-4.1.0"
-      sources."flatted-3.2.5"
+      sources."flatted-3.2.6"
       sources."form-data-3.0.1"
       sources."fs-extra-8.1.0"
       sources."fs.realpath-1.0.0"
       sources."get-caller-file-2.0.5"
-      (sources."glob-7.2.0" // {
+      (sources."glob-7.2.3" // {
         dependencies = [
           sources."minimatch-3.1.2"
         ];
@@ -85365,7 +85807,7 @@ in
       sources."isexe-2.0.0"
       sources."js-tokens-4.0.0"
       sources."jsesc-2.5.2"
-      (sources."jsii-1.61.0" // {
+      (sources."jsii-1.63.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -85376,7 +85818,6 @@ in
           sources."has-flag-4.0.0"
           sources."jsonfile-6.1.0"
           sources."supports-color-7.2.0"
-          sources."typescript-3.9-3.9.10"
           sources."universalify-2.0.0"
           sources."wrap-ansi-7.0.0"
           sources."y18n-5.0.8"
@@ -85384,7 +85825,7 @@ in
           sources."yargs-parser-20.2.9"
         ];
       })
-      (sources."jsii-pacmak-1.61.0" // {
+      (sources."jsii-pacmak-1.63.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."cliui-7.0.4"
@@ -85400,7 +85841,7 @@ in
           sources."yargs-parser-20.2.9"
         ];
       })
-      (sources."jsii-reflect-1.61.0" // {
+      (sources."jsii-reflect-1.63.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -85418,7 +85859,7 @@ in
           sources."yargs-parser-20.2.9"
         ];
       })
-      (sources."jsii-rosetta-1.61.0" // {
+      (sources."jsii-rosetta-1.63.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."cliui-7.0.4"
@@ -85433,7 +85874,7 @@ in
           sources."yargs-parser-20.2.9"
         ];
       })
-      (sources."jsii-srcmak-0.1.595" // {
+      (sources."jsii-srcmak-0.1.637" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."jsonfile-6.1.0"
@@ -85445,7 +85886,7 @@ in
       sources."jsonfile-4.0.0"
       sources."locate-path-5.0.0"
       sources."lodash.isequal-4.5.0"
-      sources."log4js-6.5.2"
+      sources."log4js-6.6.1"
       sources."lru-cache-6.0.0"
       sources."lru_map-0.3.3"
       sources."mdurl-1.0.1"
@@ -85465,7 +85906,7 @@ in
       sources."node-fetch-2.6.7"
       sources."obliterator-2.0.4"
       sources."once-1.4.0"
-      sources."oo-ascii-tree-1.61.0"
+      sources."oo-ascii-tree-1.63.2"
       sources."p-limit-2.3.0"
       sources."p-locate-4.1.0"
       sources."p-try-2.2.0"
@@ -85496,13 +85937,7 @@ in
       sources."shebang-regex-3.0.0"
       sources."sort-json-2.0.1"
       sources."spdx-license-list-6.6.0"
-      (sources."streamroller-3.1.1" // {
-        dependencies = [
-          sources."fs-extra-10.1.0"
-          sources."jsonfile-6.1.0"
-          sources."universalify-2.0.0"
-        ];
-      })
+      sources."streamroller-3.1.2"
       sources."string-width-4.2.3"
       sources."string.prototype.repeat-0.2.0"
       sources."strip-ansi-6.0.1"
@@ -85512,7 +85947,7 @@ in
       sources."tr46-0.0.3"
       sources."tslib-1.14.1"
       sources."tunnel-agent-0.6.0"
-      sources."typescript-3.9-3.9.10"
+      sources."typescript-3.9.10"
       sources."universalify-0.1.2"
       sources."uri-js-4.4.1"
       sources."webidl-conversions-3.0.1"
@@ -85540,7 +85975,7 @@ in
           sources."color-name-1.1.4"
           sources."wrap-ansi-7.0.0"
           sources."y18n-5.0.8"
-          sources."yargs-parser-21.0.1"
+          sources."yargs-parser-21.1.0"
         ];
       })
       (sources."yargs-parser-18.1.3" // {
@@ -85548,6 +85983,7 @@ in
           sources."camelcase-5.3.1"
         ];
       })
+      sources."yoga-layout-prebuilt-1.10.0"
       sources."zod-1.11.17"
     ];
     buildInputs = globalBuildInputs;
@@ -85563,10 +85999,10 @@ in
   clean-css-cli = nodeEnv.buildNodePackage {
     name = "clean-css-cli";
     packageName = "clean-css-cli";
-    version = "5.6.0";
+    version = "5.6.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/clean-css-cli/-/clean-css-cli-5.6.0.tgz";
-      sha512 = "68vorNEG808D1QzeerO9AlwQVTuaR8YSK4aqwIsjJq0wDSyPH11ApHY0O+EQrdEGUZcN+d72v+Nn/gpxjAFewQ==";
+      url = "https://registry.npmjs.org/clean-css-cli/-/clean-css-cli-5.6.1.tgz";
+      sha512 = "/StJu1YODZY6cOwkBx5FMhSoc9YmvEJXtwNN+udGg1GIKrr4PkdsCdUqC26GfdPdt5IuZnu+5y9/3mrdIJa40Q==";
     };
     dependencies = [
       sources."anymatch-3.1.2"
@@ -85575,7 +86011,7 @@ in
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."chokidar-3.5.3"
-      sources."clean-css-5.3.0"
+      sources."clean-css-5.3.1"
       sources."commander-7.2.0"
       sources."concat-map-0.0.1"
       sources."fill-range-7.0.1"
@@ -85618,9 +86054,9 @@ in
       sha512 = "DbwDqv+O4AIbUqLmT3w7J/Fo8uT9bNmy7oRzykTUEIcrEL0DozGNOjxjiwwcKSLLf1fXKmjdLolui+OB3j1vYg==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/highlight-7.17.12"
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      sources."@babel/highlight-7.18.6"
       sources."@types/minimist-1.2.2"
       sources."@types/normalize-package-data-2.4.1"
       sources."ansi-styles-3.2.1"
@@ -85667,7 +86103,7 @@ in
       sources."locate-path-6.0.0"
       sources."lru-cache-6.0.0"
       sources."map-obj-4.3.0"
-      sources."meow-10.1.2"
+      sources."meow-10.1.3"
       sources."merge-stream-2.0.0"
       sources."mimic-fn-2.1.0"
       sources."min-indent-1.0.1"
@@ -85779,10 +86215,10 @@ in
   coc-clangd = nodeEnv.buildNodePackage {
     name = "coc-clangd";
     packageName = "coc-clangd";
-    version = "0.22.0";
+    version = "0.23.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-clangd/-/coc-clangd-0.22.0.tgz";
-      sha512 = "74LmEiI3uxTGhkJsZjQJpqZCbKf2qx6K3DpkA0zmdauAMo3Y1Spnth+RfeMVNKUkdxRKO6JLbCPc4iYOaYO/rA==";
+      url = "https://registry.npmjs.org/coc-clangd/-/coc-clangd-0.23.0.tgz";
+      sha512 = "beFU2td+ZLtieKXmNlFd23VQQW84xqijS0IlFR+NuqYOeCbblfSKdLc36BSjGk4FEL9Eh9tCppt1IHCo/1OrcA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -85861,7 +86297,7 @@ in
       sources."dockerfile-language-service-0.1.1"
       sources."dockerfile-utils-0.1.1"
       sources."tslib-2.4.0"
-      sources."vscode-jsonrpc-8.0.1"
+      sources."vscode-jsonrpc-8.0.2"
       (sources."vscode-languageserver-7.0.0" // {
         dependencies = [
           sources."vscode-jsonrpc-6.0.0"
@@ -85869,8 +86305,8 @@ in
           sources."vscode-languageserver-types-3.16.0"
         ];
       })
-      sources."vscode-languageserver-protocol-3.17.1"
-      sources."vscode-languageserver-types-3.17.1"
+      sources."vscode-languageserver-protocol-3.17.2"
+      sources."vscode-languageserver-types-3.17.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -85893,7 +86329,7 @@ in
       sources."@emmetio/extract-abbreviation-0.1.6"
       sources."jsonc-parser-1.0.3"
       sources."vscode-emmet-helper-1.2.17"
-      sources."vscode-languageserver-types-3.17.1"
+      sources."vscode-languageserver-types-3.17.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -85925,10 +86361,10 @@ in
   coc-explorer = nodeEnv.buildNodePackage {
     name = "coc-explorer";
     packageName = "coc-explorer";
-    version = "0.24.3";
+    version = "0.24.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-explorer/-/coc-explorer-0.24.3.tgz";
-      sha512 = "VRj7DQXqlAyIMZPmF9XMqWw+PoXLcEMCIjFtBnEf9Zpca1eiXIfMPw7xASXaS60B3mqR9FwKB1QtYxSXraN8rQ==";
+      url = "https://registry.npmjs.org/coc-explorer/-/coc-explorer-0.24.4.tgz";
+      sha512 = "au+zPzOwAAY0lOOIUT9UZ+RNP1uCOqPuC88M1WTtehloJziXtxmw3PrjY+aPe4uGNUyyzvDWG90bKUE2lre87w==";
     };
     dependencies = [
       sources."@sindresorhus/df-3.1.1"
@@ -86024,10 +86460,10 @@ in
   coc-git = nodeEnv.buildNodePackage {
     name = "coc-git";
     packageName = "coc-git";
-    version = "2.4.10";
+    version = "2.5.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-git/-/coc-git-2.4.10.tgz";
-      sha512 = "DoG6YD+bsdaw6P7NUZh/ke7avLZy7OkBJccr6PTF5veAOO1v9mwee5P6Yu0DmGN7Yl91N8H0LVgmQ54nGzVOlA==";
+      url = "https://registry.npmjs.org/coc-git/-/coc-git-2.5.0.tgz";
+      sha512 = "1j7zB45gumew3vBI3MUvlHzXUnA3vIR6llAi3vdxEWLxmneLOsbeHorY95WEXmFgBLtWfdBRoeRRdF7JekUA0g==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -86175,10 +86611,10 @@ in
   coc-json = nodeEnv.buildNodePackage {
     name = "coc-json";
     packageName = "coc-json";
-    version = "1.4.2";
+    version = "1.5.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-json/-/coc-json-1.4.2.tgz";
-      sha512 = "o39cHt6BxsIEaAcd9bC8Smgej0mtYBWXG2vORGuBFFPylTqRzu96nUwlzVh+cPrPfpmrM5tv3LEtXo/urFNhSA==";
+      url = "https://registry.npmjs.org/coc-json/-/coc-json-1.5.0.tgz";
+      sha512 = "+WBEUb9hhxJtjlX3Kdc7ltQU4OXEPVmsMfD1m/zz5rFZtNoZfbjW/dGTm9wIPcdrw8jkWRX5ZyhYxdURJ6RixA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -86192,10 +86628,10 @@ in
   coc-lists = nodeEnv.buildNodePackage {
     name = "coc-lists";
     packageName = "coc-lists";
-    version = "1.4.3";
+    version = "1.4.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-lists/-/coc-lists-1.4.3.tgz";
-      sha512 = "rxW5xMOWbMLxeIZZ02As6eHtQl10HIXIkmLUYY6xDIcoXKfI9+TCNNrgBRJjnPKW/fQxcje7Nqbx9viB0JDiGw==";
+      url = "https://registry.npmjs.org/coc-lists/-/coc-lists-1.4.4.tgz";
+      sha512 = "CBg8Spjj9GSqpusWblIWDIQqbpQec3+i5fhgapBq+VouoPDXZ8dW4r8UEmNS6czTrGIaoxruyhQ7o3nCGeDUZQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -86210,10 +86646,10 @@ in
   coc-markdownlint = nodeEnv.buildNodePackage {
     name = "coc-markdownlint";
     packageName = "coc-markdownlint";
-    version = "1.12.4";
+    version = "1.12.7";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-markdownlint/-/coc-markdownlint-1.12.4.tgz";
-      sha512 = "b7gBEE0pHp6GnkQYMEsI1Xdn8tqP7QbRpVMuSQ3AJzj0PIflBbk8v1HnriBfDPJBqU+9OQZyU2cm2rmKBw/8yA==";
+      url = "https://registry.npmjs.org/coc-markdownlint/-/coc-markdownlint-1.12.7.tgz";
+      sha512 = "9xfE/HcVGsH3EdotpyuCNCHG5jpVvc++m488FLAQpi/JlNidgzXtQG5BpPy41cAaFMcy2e6xJ5VwHyJXBGg0rg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -86263,7 +86699,7 @@ in
           sources."which-1.3.1"
         ];
       })
-      sources."date-format-4.0.11"
+      sources."date-format-4.0.13"
       sources."debounce-1.2.1"
       sources."debug-4.3.4"
       sources."deep-extend-0.6.0"
@@ -86276,10 +86712,10 @@ in
       sources."execa-1.0.0"
       sources."fast-diff-1.2.0"
       sources."fb-watchman-2.0.1"
-      sources."flatted-3.2.5"
+      sources."flatted-3.2.6"
       sources."follow-redirects-1.15.1"
-      sources."fp-ts-2.12.1"
-      sources."fs-extra-10.1.0"
+      sources."fp-ts-2.12.2"
+      sources."fs-extra-8.1.0"
       sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
       (sources."fstream-1.0.12" // {
@@ -86327,7 +86763,7 @@ in
       sources."isexe-2.0.0"
       sources."isuri-2.0.3"
       sources."jsonc-parser-2.3.1"
-      sources."jsonfile-6.1.0"
+      sources."jsonfile-4.0.0"
       sources."listenercount-1.0.1"
       (sources."locate-java-home-1.1.2" // {
         dependencies = [
@@ -86335,12 +86771,12 @@ in
         ];
       })
       sources."lodash-4.17.21"
-      sources."log4js-6.5.2"
+      sources."log4js-6.6.1"
       sources."lru-cache-6.0.0"
       sources."metals-languageclient-0.4.2"
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
-      sources."minipass-3.3.3"
+      sources."minipass-3.3.5"
       sources."minizlib-2.1.2"
       sources."mkdirp-1.0.4"
       sources."ms-2.1.2"
@@ -86386,7 +86822,7 @@ in
       sources."shell-quote-1.7.3"
       sources."side-channel-1.0.4"
       sources."signal-exit-3.0.7"
-      sources."streamroller-3.1.1"
+      sources."streamroller-3.1.2"
       sources."string.prototype.trimend-1.0.5"
       sources."string.prototype.trimstart-1.0.5"
       (sources."string_decoder-1.1.1" // {
@@ -86401,7 +86837,7 @@ in
       sources."traverse-0.3.9"
       sources."tslib-2.4.0"
       sources."unbox-primitive-1.0.2"
-      sources."universalify-2.0.0"
+      sources."universalify-0.1.2"
       sources."unzipper-0.10.11"
       sources."util-deprecate-1.0.2"
       sources."uuid-7.0.3"
@@ -86412,7 +86848,7 @@ in
         ];
       })
       sources."vscode-languageserver-textdocument-1.0.5"
-      sources."vscode-languageserver-types-3.17.1"
+      sources."vscode-languageserver-types-3.17.2"
       sources."vscode-uri-2.1.2"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
@@ -86472,13 +86908,13 @@ in
   coc-pyright = nodeEnv.buildNodePackage {
     name = "coc-pyright";
     packageName = "coc-pyright";
-    version = "1.1.255";
+    version = "1.1.265";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-pyright/-/coc-pyright-1.1.255.tgz";
-      sha512 = "EY0CD9B+niaca81hxiGG/Kvt3Z5zIB1Xs6QyUrbxpOmSDSk9F0HAzypgaK+B4NRLlxS0UtDwVZziCnK4ma1riw==";
+      url = "https://registry.npmjs.org/coc-pyright/-/coc-pyright-1.1.265.tgz";
+      sha512 = "nFC61zn7rBhgNqM/PsBcfTz+Lsy3G+4iGL7pI7lSNXMQoZ2/JJ8L2CTMsnf2jw+0oAjFPp48HNZ3G+jWPlG11Q==";
     };
     dependencies = [
-      sources."pyright-1.1.255"
+      sources."pyright-1.1.265"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -86517,10 +86953,10 @@ in
       sha512 = "SOsCwIuQeE4eiX/Scgs2nL1WnR0JwFZ2/Edh3dx5ijmZSlEPxdc0PnMUN0hT9y96jK5/ZHAByC3qEperpWqPUA==";
     };
     dependencies = [
-      sources."vscode-jsonrpc-8.0.1"
-      sources."vscode-languageserver-protocol-3.17.1"
+      sources."vscode-jsonrpc-8.0.2"
+      sources."vscode-languageserver-protocol-3.17.2"
       sources."vscode-languageserver-textdocument-1.0.5"
-      sources."vscode-languageserver-types-3.17.1"
+      sources."vscode-languageserver-types-3.17.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -86552,10 +86988,10 @@ in
   coc-rust-analyzer = nodeEnv.buildNodePackage {
     name = "coc-rust-analyzer";
     packageName = "coc-rust-analyzer";
-    version = "0.64.0";
+    version = "0.65.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-rust-analyzer/-/coc-rust-analyzer-0.64.0.tgz";
-      sha512 = "H7+gWEJgEa9HZq7l8sJuVL8KsfFQMk5IaOaBnJcv7IeJNAG7LxsD28HCxMRzJhVxYECU7NMOCgn4j5D0p1rE4A==";
+      url = "https://registry.npmjs.org/coc-rust-analyzer/-/coc-rust-analyzer-0.65.3.tgz";
+      sha512 = "uXpvXBQyS182KH8UBFvptolus+0BaLdl4iSmIifMy5IYNNnj7EJrBwQOz5kt/G1r8jAcYLVq0TVSkNHm8qoz3Q==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -86622,7 +87058,7 @@ in
       sources."oauth-sign-0.9.0"
       sources."once-1.4.0"
       sources."performance-now-2.1.0"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.3"
       sources."request-2.88.2"
@@ -86641,11 +87077,11 @@ in
       sources."urijs-1.19.11"
       sources."uuid-3.4.0"
       sources."verror-1.10.0"
-      sources."vscode-jsonrpc-8.0.1"
+      sources."vscode-jsonrpc-8.0.2"
       sources."vscode-languageserver-6.1.1"
-      sources."vscode-languageserver-protocol-3.17.1"
+      sources."vscode-languageserver-protocol-3.17.2"
       sources."vscode-languageserver-textdocument-1.0.5"
-      sources."vscode-languageserver-types-3.17.1"
+      sources."vscode-languageserver-types-3.17.2"
       sources."web-tree-sitter-0.20.5"
       sources."wrappy-1.0.2"
     ];
@@ -86679,10 +87115,10 @@ in
   coc-snippets = nodeEnv.buildNodePackage {
     name = "coc-snippets";
     packageName = "coc-snippets";
-    version = "3.0.14";
+    version = "3.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-snippets/-/coc-snippets-3.0.14.tgz";
-      sha512 = "aYlupbhcFlm03c4yGE8cv1x+s8Ur9VluA050QLzvEynbjHnzOGYZS97qwqgvWVRH0hKsU1dl50CG3XlF4T9vaA==";
+      url = "https://registry.npmjs.org/coc-snippets/-/coc-snippets-3.1.0.tgz";
+      sha512 = "6O6ITjywn4NVwfvejju0+bAgCs57Fw3Okml51nMiHi9dyBR/8jZJjLx0Hq6HRcudydFd8P+13tEm9BLgb3WzBw==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -86720,39 +87156,40 @@ in
     };
     dependencies = [
       sources."@ampproject/remapping-2.2.0"
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.18.5"
-      sources."@babel/core-7.18.5"
-      (sources."@babel/generator-7.18.2" // {
-        dependencies = [
-          sources."@jridgewell/gen-mapping-0.3.1"
-        ];
-      })
-      sources."@babel/helper-compilation-targets-7.18.2"
-      sources."@babel/helper-environment-visitor-7.18.2"
-      sources."@babel/helper-function-name-7.17.9"
-      sources."@babel/helper-hoist-variables-7.16.7"
-      sources."@babel/helper-module-imports-7.16.7"
-      sources."@babel/helper-module-transforms-7.18.0"
-      sources."@babel/helper-simple-access-7.18.2"
-      sources."@babel/helper-split-export-declaration-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/helper-validator-option-7.16.7"
-      sources."@babel/helpers-7.18.2"
-      (sources."@babel/highlight-7.17.12" // {
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/compat-data-7.18.8"
+      sources."@babel/core-7.18.10"
+      (sources."@babel/generator-7.18.10" // {
+        dependencies = [
+          sources."@jridgewell/gen-mapping-0.3.2"
+        ];
+      })
+      sources."@babel/helper-compilation-targets-7.18.9"
+      sources."@babel/helper-environment-visitor-7.18.9"
+      sources."@babel/helper-function-name-7.18.9"
+      sources."@babel/helper-hoist-variables-7.18.6"
+      sources."@babel/helper-module-imports-7.18.6"
+      sources."@babel/helper-module-transforms-7.18.9"
+      sources."@babel/helper-simple-access-7.18.6"
+      sources."@babel/helper-split-export-declaration-7.18.6"
+      sources."@babel/helper-string-parser-7.18.10"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      sources."@babel/helper-validator-option-7.18.6"
+      sources."@babel/helpers-7.18.9"
+      (sources."@babel/highlight-7.18.6" // {
         dependencies = [
           sources."chalk-2.4.2"
         ];
       })
-      sources."@babel/parser-7.18.5"
-      sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.18.5"
-      sources."@babel/types-7.18.4"
+      sources."@babel/parser-7.18.10"
+      sources."@babel/template-7.18.10"
+      sources."@babel/traverse-7.18.10"
+      sources."@babel/types-7.18.10"
       sources."@jridgewell/gen-mapping-0.1.1"
-      sources."@jridgewell/resolve-uri-3.0.7"
-      sources."@jridgewell/set-array-1.1.1"
-      sources."@jridgewell/sourcemap-codec-1.4.13"
-      sources."@jridgewell/trace-mapping-0.3.13"
+      sources."@jridgewell/resolve-uri-3.1.0"
+      sources."@jridgewell/set-array-1.1.2"
+      sources."@jridgewell/sourcemap-codec-1.4.14"
+      sources."@jridgewell/trace-mapping-0.3.14"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
@@ -86782,11 +87219,11 @@ in
         ];
       })
       sources."braces-3.0.2"
-      sources."browserslist-4.20.4"
+      sources."browserslist-4.21.3"
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001358"
+      sources."caniuse-lite-1.0.30001373"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -86823,7 +87260,7 @@ in
       sources."domelementtype-1.3.1"
       sources."domhandler-2.4.2"
       sources."domutils-1.7.0"
-      sources."electron-to-chromium-1.4.164"
+      sources."electron-to-chromium-1.4.211"
       sources."emoji-regex-8.0.0"
       sources."entities-1.1.2"
       sources."error-ex-1.3.2"
@@ -86834,13 +87271,13 @@ in
       sources."fast-deep-equal-3.1.3"
       sources."fast-diff-1.2.0"
       sources."fast-glob-3.2.11"
-      sources."fastest-levenshtein-1.0.12"
+      sources."fastest-levenshtein-1.0.16"
       sources."fastq-1.13.0"
       sources."file-entry-cache-6.0.1"
       sources."fill-range-7.0.1"
       sources."find-up-4.1.0"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.2.5"
+      sources."flatted-3.2.6"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."gensync-1.0.0-beta.2"
@@ -86919,7 +87356,7 @@ in
         ];
       })
       sources."ms-2.1.2"
-      sources."node-releases-2.0.5"
+      sources."node-releases-2.0.6"
       (sources."normalize-package-data-3.0.3" // {
         dependencies = [
           sources."semver-7.3.7"
@@ -87027,6 +87464,7 @@ in
       sources."unist-util-find-all-after-3.0.2"
       sources."unist-util-is-4.1.0"
       sources."unist-util-stringify-position-2.0.3"
+      sources."update-browserslist-db-1.0.5"
       sources."uri-js-4.4.1"
       sources."util-deprecate-1.0.2"
       sources."v8-compile-cache-2.3.0"
@@ -87041,7 +87479,7 @@ in
         ];
       })
       sources."vscode-languageserver-textdocument-1.0.5"
-      sources."vscode-languageserver-types-3.17.1"
+      sources."vscode-languageserver-types-3.17.2"
       sources."vscode-uri-2.1.2"
       sources."which-1.3.1"
       sources."wrappy-1.0.2"
@@ -87063,10 +87501,10 @@ in
   coc-sumneko-lua = nodeEnv.buildNodePackage {
     name = "coc-sumneko-lua";
     packageName = "coc-sumneko-lua";
-    version = "0.0.29";
+    version = "0.0.31";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-sumneko-lua/-/coc-sumneko-lua-0.0.29.tgz";
-      sha512 = "3Xy0czldGeMy2Ic4taPwI3myKU27SpywmSaFTa2UM6E3/F5DHb7fSBQ/mvk0c9/LweTgv3Pm/mBU83PKRSZDtA==";
+      url = "https://registry.npmjs.org/coc-sumneko-lua/-/coc-sumneko-lua-0.0.31.tgz";
+      sha512 = "8O9H8JxMFiLHNRDPEfQbw1an669wyXjjkO/xdNYN75wbabiphhvsDPQF6b99LzRYu50TqnqdIkJgcKU/kSPbCA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -87080,10 +87518,10 @@ in
   coc-sqlfluff = nodeEnv.buildNodePackage {
     name = "coc-sqlfluff";
     packageName = "coc-sqlfluff";
-    version = "0.9.0";
+    version = "0.10.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-sqlfluff/-/coc-sqlfluff-0.9.0.tgz";
-      sha512 = "Fzny9JBJw5zIK6GwSh1s3Q3t2ylt2dg9QYURhaGihm6gqmUdRMO0DokHLt10TFqe8tjFbOUIriEx7Qb6mASnfQ==";
+      url = "https://registry.npmjs.org/coc-sqlfluff/-/coc-sqlfluff-0.10.1.tgz";
+      sha512 = "pxsueyglm1R0I6eGvO/geN2rnJV6gCTCqUg8KZ+geyeWiFDLC2a9fnJTqG5XCsyTaRBIjrZBA6rqCZd1SulwxQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -87164,9 +87602,9 @@ in
       sha512 = "5Zxv2Adtb6Mlpv2YdKErhf8ntxiBl1UyrbEqo7gR9nFIAfi3o0Ue6TJTpZfOhQViFQxLjJAS65IQVRaNlbhkxw==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/highlight-7.17.12"
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      sources."@babel/highlight-7.18.6"
       sources."ansi-styles-3.2.1"
       sources."argparse-1.0.10"
       sources."balanced-match-1.0.2"
@@ -87253,10 +87691,10 @@ in
   coc-tsserver = nodeEnv.buildNodePackage {
     name = "coc-tsserver";
     packageName = "coc-tsserver";
-    version = "1.10.5";
+    version = "1.11.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-tsserver/-/coc-tsserver-1.10.5.tgz";
-      sha512 = "XU+kNQLtKpEcjnf5KYXO+FdLJPrMJXU+FzZrXhniN3Zatv3z58BZr07dY01sG3LGV2of/9o58EZNs7rdSst1Pg==";
+      url = "https://registry.npmjs.org/coc-tsserver/-/coc-tsserver-1.11.1.tgz";
+      sha512 = "ZzjLErb6RIBX1G00VPnHm5rqQHIxa5OfUFKcubirfjuz2cFhpBZ+TX3CKxIgs3C/LwHsQiOsuJ4ZedLb5b/uaQ==";
     };
     dependencies = [
       sources."typescript-4.7.4"
@@ -87299,8 +87737,8 @@ in
     };
     dependencies = [
       sources."@babel/code-frame-7.12.11"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      (sources."@babel/highlight-7.17.12" // {
+      sources."@babel/helper-validator-identifier-7.18.6"
+      (sources."@babel/highlight-7.18.6" // {
         dependencies = [
           sources."chalk-2.4.2"
           sources."escape-string-regexp-1.0.5"
@@ -87380,14 +87818,14 @@ in
       sources."fast-levenshtein-2.0.6"
       sources."file-entry-cache-6.0.1"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.2.5"
+      sources."flatted-3.2.6"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."functional-red-black-tree-1.0.1"
       sources."get-intrinsic-1.1.2"
       sources."glob-7.2.3"
       sources."glob-parent-5.1.2"
-      sources."globals-13.15.0"
+      sources."globals-13.17.0"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
       sources."has-symbols-1.0.3"
@@ -87551,10 +87989,10 @@ in
   coc-yaml = nodeEnv.buildNodePackage {
     name = "coc-yaml";
     packageName = "coc-yaml";
-    version = "1.7.5";
+    version = "1.8.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-yaml/-/coc-yaml-1.7.5.tgz";
-      sha512 = "1wNDsQB4YwJJLJxzDOyqu2edjwf+KHGM0co63t3N6L6k+XBB4rOenfkN+HgnX0wfRglAmKbMnOKA677XycGReA==";
+      url = "https://registry.npmjs.org/coc-yaml/-/coc-yaml-1.8.0.tgz";
+      sha512 = "ttTi8SSoFPcKOWgY7H7E91zOYcycfsZdvA7jmZJOr+iWYGqR2LdvMvBpWpuV7oWSOF5a88zM/vb8P8aNefE04Q==";
     };
     dependencies = [
       sources."prettier-2.0.5"
@@ -87634,7 +88072,7 @@ in
       })
       sources."download-5.0.3"
       sources."download-git-repo-1.1.0"
-      sources."duplexer3-0.1.4"
+      sources."duplexer3-0.1.5"
       sources."end-of-stream-1.4.4"
       sources."escape-string-regexp-1.0.5"
       (sources."execa-1.0.0" // {
@@ -87698,7 +88136,7 @@ in
       sources."pify-2.3.0"
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
-      sources."plist-3.0.5"
+      sources."plist-3.0.6"
       sources."prepend-http-1.0.4"
       sources."process-nextick-args-2.0.1"
       sources."proto-list-1.2.4"
@@ -87745,7 +88183,7 @@ in
       sources."uuid-3.4.0"
       sources."which-1.3.1"
       sources."wrappy-1.0.2"
-      sources."xmlbuilder-9.0.7"
+      sources."xmlbuilder-15.1.1"
       sources."xmlcreate-2.0.4"
       sources."xtend-4.0.2"
       sources."yauzl-2.10.0"
@@ -87825,10 +88263,10 @@ in
   concurrently = nodeEnv.buildNodePackage {
     name = "concurrently";
     packageName = "concurrently";
-    version = "7.2.2";
+    version = "7.3.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/concurrently/-/concurrently-7.2.2.tgz";
-      sha512 = "DcQkI0ruil5BA/g7Xy3EWySGrFJovF5RYAYxwGvv9Jf9q9B1v3jPFP2tl6axExNf1qgF30kjoNYrangZ0ey4Aw==";
+      url = "https://registry.npmjs.org/concurrently/-/concurrently-7.3.0.tgz";
+      sha512 = "IiDwm+8DOcFEInca494A8V402tNTQlJaYq78RF2rijOrKEk/AOHTxhN4U1cp7GYKYX5Q6Ymh1dLTBlzIMN0ikA==";
     };
     dependencies = [
       sources."ansi-regex-5.0.1"
@@ -87841,7 +88279,7 @@ in
       sources."cliui-7.0.4"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."date-fns-2.28.0"
+      sources."date-fns-2.29.1"
       sources."emoji-regex-8.0.0"
       sources."escalade-3.1.1"
       sources."get-caller-file-2.0.5"
@@ -87849,7 +88287,7 @@ in
       sources."is-fullwidth-code-point-3.0.0"
       sources."lodash-4.17.21"
       sources."require-directory-2.1.1"
-      sources."rxjs-7.5.5"
+      sources."rxjs-7.5.6"
       sources."shell-quote-1.7.3"
       sources."spawn-command-0.0.2"
       sources."string-width-4.2.3"
@@ -87860,7 +88298,7 @@ in
       sources."wrap-ansi-7.0.0"
       sources."y18n-5.0.8"
       sources."yargs-17.5.1"
-      sources."yargs-parser-21.0.1"
+      sources."yargs-parser-21.1.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -87901,7 +88339,7 @@ in
       sources."is-arrayish-0.3.2"
       sources."is-stream-2.0.1"
       sources."kuler-2.0.0"
-      sources."logform-2.4.1"
+      sources."logform-2.4.2"
       sources."ms-2.1.3"
       sources."one-time-1.0.0"
       sources."prom-client-14.0.1"
@@ -87939,9 +88377,9 @@ in
       sha512 = "8grMV5Jo8S0kP3yoMeJxV2P5R6VJOqK72IiSV9t/4H5r/HiRqEBQ83bYGuz4Yzfdj4bjaAEhZN/FFbsFXr5bOA==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/highlight-7.17.12"
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      sources."@babel/highlight-7.18.6"
       sources."@hutson/parse-repository-url-3.0.2"
       sources."@types/minimist-1.2.2"
       sources."@types/normalize-package-data-2.4.1"
@@ -88125,7 +88563,7 @@ in
       sources."through2-4.0.2"
       sources."trim-newlines-3.0.1"
       sources."type-fest-0.18.1"
-      sources."uglify-js-3.16.1"
+      sources."uglify-js-3.16.3"
       sources."util-deprecate-1.0.2"
       sources."uuid-3.4.0"
       sources."validate-npm-package-license-3.0.4"
@@ -88255,7 +88693,7 @@ in
       sources."cli-boxes-2.2.1"
       sources."cli-cursor-2.1.0"
       sources."cli-width-2.2.1"
-      sources."clone-response-1.0.2"
+      sources."clone-response-1.0.3"
       sources."code-point-at-1.1.0"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
@@ -88268,7 +88706,7 @@ in
         ];
       })
       sources."concat-map-0.0.1"
-      (sources."conf-10.1.2" // {
+      (sources."conf-10.2.0" // {
         dependencies = [
           sources."ajv-8.11.0"
           sources."dot-prop-6.0.1"
@@ -88332,7 +88770,7 @@ in
       sources."detect-newline-3.1.0"
       sources."dir-glob-3.0.1"
       sources."dot-prop-5.3.0"
-      sources."duplexer3-0.1.4"
+      sources."duplexer3-0.1.5"
       sources."ecc-jsbn-0.1.2"
       sources."editor-1.0.0"
       sources."ee-first-1.1.1"
@@ -88464,7 +88902,7 @@ in
           sources."uuid-8.3.2"
         ];
       })
-      sources."ip-1.1.8"
+      sources."ip-2.0.0"
       sources."ipaddr.js-1.9.1"
       sources."is-ci-2.0.0"
       sources."is-core-module-2.9.0"
@@ -88529,7 +88967,7 @@ in
       sources."mimic-response-1.0.1"
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
-      sources."minipass-3.3.3"
+      sources."minipass-3.3.5"
       sources."minipass-collect-1.0.2"
       sources."minipass-fetch-1.4.1"
       sources."minipass-flush-1.0.5"
@@ -88591,14 +89029,14 @@ in
       sources."picomatch-2.3.1"
       sources."pify-4.0.1"
       sources."pkg-up-3.1.0"
-      sources."plist-3.0.5"
+      sources."plist-3.0.6"
       sources."prepend-http-2.0.0"
       sources."process-nextick-args-2.0.1"
       sources."promise-inflight-1.0.1"
       sources."promise-retry-2.0.1"
       sources."promzard-0.3.0"
       sources."proxy-addr-2.0.7"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."pupa-2.1.1"
@@ -88670,7 +89108,7 @@ in
       sources."signal-exit-3.0.7"
       sources."slash-3.0.0"
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.2"
+      sources."socks-2.7.0"
       sources."socks-proxy-agent-6.2.1"
       sources."spdx-correct-3.1.1"
       sources."spdx-exceptions-2.3.0"
@@ -88688,7 +89126,7 @@ in
       sources."strip-json-comments-2.0.1"
       sources."supports-color-7.2.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
-      sources."systeminformation-5.11.21"
+      sources."systeminformation-5.12.2"
       sources."tar-6.1.11"
       sources."through-2.3.8"
       sources."tmp-0.2.1"
@@ -88756,7 +89194,7 @@ in
       sources."wrappy-1.0.2"
       sources."write-file-atomic-3.0.3"
       sources."xdg-basedir-4.0.0"
-      sources."xmlbuilder-9.0.7"
+      sources."xmlbuilder-15.1.1"
       sources."yallist-4.0.0"
     ];
     buildInputs = globalBuildInputs;
@@ -88777,9 +89215,9 @@ in
       sha512 = "JA6bth6/mxPCa19SrWkIuPEBrea8vO9g1v0qhmCLnAKOfTcsNk5/X3W1o9aZuOHgugRcxdyR67rO4Gw/DA+4Qg==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/highlight-7.17.12"
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      sources."@babel/highlight-7.18.6"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
@@ -88840,7 +89278,7 @@ in
       sources."lru-cache-6.0.0"
       sources."make-dir-3.1.0"
       sources."map-obj-4.3.0"
-      sources."meow-10.1.2"
+      sources."meow-10.1.3"
       sources."merge2-1.4.1"
       sources."micromatch-4.0.5"
       sources."min-indent-1.0.1"
@@ -88918,7 +89356,7 @@ in
       sources."@cycle/run-3.4.0"
       sources."@cycle/time-0.10.1"
       sources."@types/cookiejar-2.1.2"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/superagent-3.8.2"
       sources."ansi-escapes-3.2.0"
       sources."ansi-regex-2.1.1"
@@ -88949,7 +89387,7 @@ in
       sources."debug-3.2.7"
       sources."define-properties-1.1.4"
       sources."delayed-stream-1.0.0"
-      sources."es5-ext-0.10.61"
+      sources."es5-ext-0.10.62"
       sources."es6-iterator-2.0.3"
       sources."es6-map-0.1.5"
       (sources."es6-set-0.1.5" // {
@@ -88962,7 +89400,7 @@ in
       sources."event-emitter-0.3.5"
       (sources."ext-1.6.0" // {
         dependencies = [
-          sources."type-2.6.0"
+          sources."type-2.7.0"
         ];
       })
       sources."extend-3.0.2"
@@ -89015,7 +89453,7 @@ in
       sources."performance-now-2.1.0"
       sources."process-nextick-args-2.0.1"
       sources."pseudomap-1.0.2"
-      sources."qs-6.10.5"
+      sources."qs-6.11.0"
       sources."quicktask-1.1.0"
       sources."raf-3.3.2"
       sources."readable-stream-2.3.7"
@@ -89183,15 +89621,15 @@ in
   cspell = nodeEnv.buildNodePackage {
     name = "cspell";
     packageName = "cspell";
-    version = "6.1.2";
+    version = "6.5.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/cspell/-/cspell-6.1.2.tgz";
-      sha512 = "w4lGfzNl3m1dfagyZvr28V1nK/E+y8zoKVlE158JI/iVNGO/R2okrcNB1s+9xXSmYjJ8Xx6dhupO0XxKuagDSQ==";
+      url = "https://registry.npmjs.org/cspell/-/cspell-6.5.0.tgz";
+      sha512 = "xdEs8e4X2bPgrZBfM5L/0f7TRY7/3SnYwMlPOVvbswb+gJ+hUkZkxRmv8F+IMKW0tKWdoHZH6bCiYrmV0Y8Hdg==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      (sources."@babel/highlight-7.17.12" // {
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      (sources."@babel/highlight-7.18.6" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
@@ -89201,14 +89639,15 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      sources."@cspell/cspell-bundled-dicts-6.1.2"
-      sources."@cspell/cspell-pipe-6.1.2"
-      sources."@cspell/cspell-types-6.1.2"
-      sources."@cspell/dict-ada-2.0.0"
+      sources."@cspell/cspell-bundled-dicts-6.5.0"
+      sources."@cspell/cspell-pipe-6.4.2"
+      sources."@cspell/cspell-service-bus-6.5.0"
+      sources."@cspell/cspell-types-6.5.0"
+      sources."@cspell/dict-ada-2.0.1"
       sources."@cspell/dict-aws-2.0.0"
-      sources."@cspell/dict-bash-2.0.3"
-      sources."@cspell/dict-companies-2.0.6"
-      sources."@cspell/dict-cpp-3.1.0"
+      sources."@cspell/dict-bash-2.0.4"
+      sources."@cspell/dict-companies-2.0.10"
+      sources."@cspell/dict-cpp-3.2.1"
       sources."@cspell/dict-cryptocurrencies-2.0.0"
       sources."@cspell/dict-csharp-3.0.1"
       sources."@cspell/dict-css-2.0.0"
@@ -89218,37 +89657,41 @@ in
       sources."@cspell/dict-dotnet-2.0.1"
       sources."@cspell/dict-elixir-2.0.1"
       sources."@cspell/dict-en-gb-1.1.33"
-      sources."@cspell/dict-en_us-2.2.6"
-      sources."@cspell/dict-filetypes-2.0.2"
+      sources."@cspell/dict-en_us-2.3.0"
+      sources."@cspell/dict-filetypes-2.1.1"
       sources."@cspell/dict-fonts-2.0.1"
       sources."@cspell/dict-fullstack-2.0.6"
       sources."@cspell/dict-git-1.0.1"
       sources."@cspell/dict-golang-3.0.1"
-      sources."@cspell/dict-haskell-2.0.0"
+      sources."@cspell/dict-haskell-2.0.1"
       sources."@cspell/dict-html-3.0.2"
       sources."@cspell/dict-html-symbol-entities-3.0.0"
-      sources."@cspell/dict-java-3.0.3"
-      sources."@cspell/dict-latex-2.0.6"
+      sources."@cspell/dict-java-3.0.7"
+      sources."@cspell/dict-latex-2.0.9"
       sources."@cspell/dict-lorem-ipsum-2.0.0"
       sources."@cspell/dict-lua-2.0.0"
       sources."@cspell/dict-node-3.0.1"
-      sources."@cspell/dict-npm-3.0.1"
+      sources."@cspell/dict-npm-3.1.1"
       sources."@cspell/dict-php-2.0.0"
       sources."@cspell/dict-powershell-2.0.0"
       sources."@cspell/dict-public-licenses-1.0.5"
       sources."@cspell/dict-python-3.0.6"
       sources."@cspell/dict-r-1.0.3"
-      sources."@cspell/dict-ruby-2.0.1"
+      sources."@cspell/dict-ruby-2.0.2"
       sources."@cspell/dict-rust-2.0.1"
       sources."@cspell/dict-scala-2.0.0"
-      sources."@cspell/dict-software-terms-2.1.8"
+      sources."@cspell/dict-software-terms-2.2.2"
+      sources."@cspell/dict-sql-1.0.4"
       sources."@cspell/dict-swift-1.0.3"
-      sources."@cspell/dict-typescript-2.0.0"
+      sources."@cspell/dict-typescript-2.0.1"
       sources."@cspell/dict-vue-2.0.2"
+      sources."@types/node-18.6.3"
+      sources."@types/node-fetch-2.6.2"
       sources."@types/parse-json-4.0.0"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
       sources."array-timsort-1.0.3"
+      sources."asynckit-0.4.0"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
@@ -89257,18 +89700,21 @@ in
       sources."clear-module-4.1.2"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."commander-9.3.0"
+      sources."combined-stream-1.0.8"
+      sources."commander-9.4.0"
       sources."comment-json-4.2.2"
       sources."concat-map-0.0.1"
       sources."configstore-5.0.1"
       sources."core-util-is-1.0.3"
       sources."cosmiconfig-7.0.1"
       sources."crypto-random-string-2.0.0"
-      sources."cspell-gitignore-6.1.2"
-      sources."cspell-glob-6.1.2"
-      sources."cspell-io-6.1.2"
-      sources."cspell-lib-6.1.2"
-      sources."cspell-trie-lib-6.1.2"
+      sources."cspell-gitignore-6.5.0"
+      sources."cspell-glob-6.4.2"
+      sources."cspell-grammar-6.5.0"
+      sources."cspell-io-6.5.0"
+      sources."cspell-lib-6.5.0"
+      sources."cspell-trie-lib-6.5.0"
+      sources."delayed-stream-1.0.0"
       sources."dot-prop-5.3.0"
       sources."error-ex-1.3.2"
       sources."escape-string-regexp-1.0.5"
@@ -89279,7 +89725,8 @@ in
       sources."fill-range-7.0.1"
       sources."find-up-5.0.0"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.2.5"
+      sources."flatted-3.2.6"
+      sources."form-data-3.0.1"
       sources."fs-extra-10.1.0"
       sources."fs.realpath-1.0.0"
       sources."gensequence-3.1.1"
@@ -89320,7 +89767,10 @@ in
         ];
       })
       sources."micromatch-4.0.5"
+      sources."mime-db-1.52.0"
+      sources."mime-types-2.1.35"
       sources."minimatch-3.1.2"
+      sources."node-fetch-2.6.7"
       sources."once-1.4.0"
       sources."p-limit-3.1.0"
       sources."p-locate-5.0.0"
@@ -89343,11 +89793,14 @@ in
       sources."strip-ansi-6.0.1"
       sources."supports-color-7.2.0"
       sources."to-regex-range-5.0.1"
+      sources."tr46-0.0.3"
       sources."typedarray-to-buffer-3.1.5"
       sources."unique-string-2.0.0"
       sources."universalify-2.0.0"
       sources."vscode-languageserver-textdocument-1.0.5"
       sources."vscode-uri-3.0.3"
+      sources."webidl-conversions-3.0.1"
+      sources."whatwg-url-5.0.0"
       sources."wrappy-1.0.2"
       sources."write-file-atomic-3.0.3"
       sources."xdg-basedir-4.0.0"
@@ -89438,7 +89891,7 @@ in
       sources."atomic-batcher-1.0.2"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
-      sources."b4a-1.5.3"
+      sources."b4a-1.6.0"
       sources."balanced-match-1.0.2"
       (sources."base-0.11.2" // {
         dependencies = [
@@ -89562,7 +90015,7 @@ in
       sources."dns-packet-5.4.0"
       sources."dom-walk-0.1.2"
       sources."dot-prop-4.2.1"
-      sources."duplexer3-0.1.4"
+      sources."duplexer3-0.1.5"
       sources."duplexify-3.7.1"
       sources."ecc-jsbn-0.1.2"
       sources."end-of-stream-1.4.4"
@@ -89745,7 +90198,7 @@ in
       sources."neat-input-1.11.1"
       sources."neat-log-3.1.0"
       sources."nets-3.2.0"
-      sources."node-gyp-build-4.4.0"
+      sources."node-gyp-build-4.5.0"
       sources."normalize-path-2.1.1"
       sources."npm-run-path-2.0.2"
       sources."oauth-sign-0.9.0"
@@ -89783,13 +90236,13 @@ in
       sources."process-nextick-args-2.0.1"
       sources."progress-string-1.2.2"
       sources."prompt-1.3.0"
-      (sources."protocol-buffers-encodings-1.1.1" // {
+      (sources."protocol-buffers-encodings-1.2.0" // {
         dependencies = [
           sources."varint-5.0.0"
         ];
       })
       sources."pseudomap-1.0.2"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.3"
@@ -90033,65 +90486,66 @@ in
     src = ../../applications/networking/instant-messengers/deltachat-desktop;
     dependencies = [
       sources."@ampproject/remapping-2.2.0"
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.18.5"
-      sources."@babel/core-7.18.5"
-      (sources."@babel/generator-7.18.2" // {
-        dependencies = [
-          sources."@jridgewell/gen-mapping-0.3.1"
-        ];
-      })
-      sources."@babel/helper-annotate-as-pure-7.16.7"
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.16.7"
-      sources."@babel/helper-compilation-targets-7.18.2"
-      sources."@babel/helper-create-class-features-plugin-7.18.0"
-      sources."@babel/helper-create-regexp-features-plugin-7.17.12"
-      sources."@babel/helper-define-polyfill-provider-0.3.1"
-      sources."@babel/helper-environment-visitor-7.18.2"
-      sources."@babel/helper-explode-assignable-expression-7.16.7"
-      sources."@babel/helper-function-name-7.17.9"
-      sources."@babel/helper-hoist-variables-7.16.7"
-      sources."@babel/helper-member-expression-to-functions-7.17.7"
-      sources."@babel/helper-module-imports-7.16.7"
-      sources."@babel/helper-module-transforms-7.18.0"
-      sources."@babel/helper-optimise-call-expression-7.16.7"
-      sources."@babel/helper-plugin-utils-7.17.12"
-      sources."@babel/helper-remap-async-to-generator-7.16.8"
-      sources."@babel/helper-replace-supers-7.18.2"
-      sources."@babel/helper-simple-access-7.18.2"
-      sources."@babel/helper-skip-transparent-expression-wrappers-7.16.0"
-      sources."@babel/helper-split-export-declaration-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/helper-validator-option-7.16.7"
-      sources."@babel/helper-wrap-function-7.16.8"
-      sources."@babel/helpers-7.18.2"
-      sources."@babel/highlight-7.17.12"
-      sources."@babel/parser-7.18.5"
-      sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12"
-      sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12"
-      sources."@babel/plugin-proposal-async-generator-functions-7.17.12"
-      sources."@babel/plugin-proposal-class-properties-7.17.12"
-      sources."@babel/plugin-proposal-class-static-block-7.18.0"
-      sources."@babel/plugin-proposal-dynamic-import-7.16.7"
-      sources."@babel/plugin-proposal-export-namespace-from-7.17.12"
-      sources."@babel/plugin-proposal-json-strings-7.17.12"
-      sources."@babel/plugin-proposal-logical-assignment-operators-7.17.12"
-      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.17.12"
-      sources."@babel/plugin-proposal-numeric-separator-7.16.7"
-      sources."@babel/plugin-proposal-object-rest-spread-7.18.0"
-      sources."@babel/plugin-proposal-optional-catch-binding-7.16.7"
-      sources."@babel/plugin-proposal-optional-chaining-7.17.12"
-      sources."@babel/plugin-proposal-private-methods-7.17.12"
-      sources."@babel/plugin-proposal-private-property-in-object-7.17.12"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.17.12"
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/compat-data-7.18.8"
+      sources."@babel/core-7.18.10"
+      (sources."@babel/generator-7.18.10" // {
+        dependencies = [
+          sources."@jridgewell/gen-mapping-0.3.2"
+        ];
+      })
+      sources."@babel/helper-annotate-as-pure-7.18.6"
+      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.18.9"
+      sources."@babel/helper-compilation-targets-7.18.9"
+      sources."@babel/helper-create-class-features-plugin-7.18.9"
+      sources."@babel/helper-create-regexp-features-plugin-7.18.6"
+      sources."@babel/helper-define-polyfill-provider-0.3.2"
+      sources."@babel/helper-environment-visitor-7.18.9"
+      sources."@babel/helper-explode-assignable-expression-7.18.6"
+      sources."@babel/helper-function-name-7.18.9"
+      sources."@babel/helper-hoist-variables-7.18.6"
+      sources."@babel/helper-member-expression-to-functions-7.18.9"
+      sources."@babel/helper-module-imports-7.18.6"
+      sources."@babel/helper-module-transforms-7.18.9"
+      sources."@babel/helper-optimise-call-expression-7.18.6"
+      sources."@babel/helper-plugin-utils-7.18.9"
+      sources."@babel/helper-remap-async-to-generator-7.18.9"
+      sources."@babel/helper-replace-supers-7.18.9"
+      sources."@babel/helper-simple-access-7.18.6"
+      sources."@babel/helper-skip-transparent-expression-wrappers-7.18.9"
+      sources."@babel/helper-split-export-declaration-7.18.6"
+      sources."@babel/helper-string-parser-7.18.10"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      sources."@babel/helper-validator-option-7.18.6"
+      sources."@babel/helper-wrap-function-7.18.10"
+      sources."@babel/helpers-7.18.9"
+      sources."@babel/highlight-7.18.6"
+      sources."@babel/parser-7.18.10"
+      sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6"
+      sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9"
+      sources."@babel/plugin-proposal-async-generator-functions-7.18.10"
+      sources."@babel/plugin-proposal-class-properties-7.18.6"
+      sources."@babel/plugin-proposal-class-static-block-7.18.6"
+      sources."@babel/plugin-proposal-dynamic-import-7.18.6"
+      sources."@babel/plugin-proposal-export-namespace-from-7.18.9"
+      sources."@babel/plugin-proposal-json-strings-7.18.6"
+      sources."@babel/plugin-proposal-logical-assignment-operators-7.18.9"
+      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.18.6"
+      sources."@babel/plugin-proposal-numeric-separator-7.18.6"
+      sources."@babel/plugin-proposal-object-rest-spread-7.18.9"
+      sources."@babel/plugin-proposal-optional-catch-binding-7.18.6"
+      sources."@babel/plugin-proposal-optional-chaining-7.18.9"
+      sources."@babel/plugin-proposal-private-methods-7.18.6"
+      sources."@babel/plugin-proposal-private-property-in-object-7.18.6"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.18.6"
       sources."@babel/plugin-syntax-async-generators-7.8.4"
       sources."@babel/plugin-syntax-class-properties-7.12.13"
       sources."@babel/plugin-syntax-class-static-block-7.14.5"
       sources."@babel/plugin-syntax-dynamic-import-7.8.3"
       sources."@babel/plugin-syntax-export-namespace-from-7.8.3"
-      sources."@babel/plugin-syntax-import-assertions-7.17.12"
+      sources."@babel/plugin-syntax-import-assertions-7.18.6"
       sources."@babel/plugin-syntax-json-strings-7.8.3"
-      sources."@babel/plugin-syntax-jsx-7.17.12"
+      sources."@babel/plugin-syntax-jsx-7.18.6"
       sources."@babel/plugin-syntax-logical-assignment-operators-7.10.4"
       sources."@babel/plugin-syntax-nullish-coalescing-operator-7.8.3"
       sources."@babel/plugin-syntax-numeric-separator-7.10.4"
@@ -90100,61 +90554,61 @@ in
       sources."@babel/plugin-syntax-optional-chaining-7.8.3"
       sources."@babel/plugin-syntax-private-property-in-object-7.14.5"
       sources."@babel/plugin-syntax-top-level-await-7.14.5"
-      sources."@babel/plugin-transform-arrow-functions-7.17.12"
-      sources."@babel/plugin-transform-async-to-generator-7.17.12"
-      sources."@babel/plugin-transform-block-scoped-functions-7.16.7"
-      sources."@babel/plugin-transform-block-scoping-7.18.4"
-      sources."@babel/plugin-transform-classes-7.18.4"
-      sources."@babel/plugin-transform-computed-properties-7.17.12"
-      sources."@babel/plugin-transform-destructuring-7.18.0"
-      sources."@babel/plugin-transform-dotall-regex-7.16.7"
-      sources."@babel/plugin-transform-duplicate-keys-7.17.12"
-      sources."@babel/plugin-transform-exponentiation-operator-7.16.7"
-      sources."@babel/plugin-transform-for-of-7.18.1"
-      sources."@babel/plugin-transform-function-name-7.16.7"
-      sources."@babel/plugin-transform-literals-7.17.12"
-      sources."@babel/plugin-transform-member-expression-literals-7.16.7"
-      sources."@babel/plugin-transform-modules-amd-7.18.0"
-      sources."@babel/plugin-transform-modules-commonjs-7.18.2"
-      sources."@babel/plugin-transform-modules-systemjs-7.18.5"
-      sources."@babel/plugin-transform-modules-umd-7.18.0"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.17.12"
-      sources."@babel/plugin-transform-new-target-7.18.5"
-      sources."@babel/plugin-transform-object-super-7.16.7"
-      sources."@babel/plugin-transform-parameters-7.17.12"
-      sources."@babel/plugin-transform-property-literals-7.16.7"
-      sources."@babel/plugin-transform-react-display-name-7.16.7"
-      sources."@babel/plugin-transform-react-jsx-7.17.12"
-      sources."@babel/plugin-transform-react-jsx-development-7.16.7"
-      sources."@babel/plugin-transform-react-pure-annotations-7.18.0"
-      sources."@babel/plugin-transform-regenerator-7.18.0"
-      sources."@babel/plugin-transform-reserved-words-7.17.12"
-      sources."@babel/plugin-transform-shorthand-properties-7.16.7"
-      sources."@babel/plugin-transform-spread-7.17.12"
-      sources."@babel/plugin-transform-sticky-regex-7.16.7"
-      sources."@babel/plugin-transform-template-literals-7.18.2"
-      sources."@babel/plugin-transform-typeof-symbol-7.17.12"
-      sources."@babel/plugin-transform-unicode-escapes-7.16.7"
-      sources."@babel/plugin-transform-unicode-regex-7.16.7"
-      sources."@babel/preset-env-7.18.2"
+      sources."@babel/plugin-transform-arrow-functions-7.18.6"
+      sources."@babel/plugin-transform-async-to-generator-7.18.6"
+      sources."@babel/plugin-transform-block-scoped-functions-7.18.6"
+      sources."@babel/plugin-transform-block-scoping-7.18.9"
+      sources."@babel/plugin-transform-classes-7.18.9"
+      sources."@babel/plugin-transform-computed-properties-7.18.9"
+      sources."@babel/plugin-transform-destructuring-7.18.9"
+      sources."@babel/plugin-transform-dotall-regex-7.18.6"
+      sources."@babel/plugin-transform-duplicate-keys-7.18.9"
+      sources."@babel/plugin-transform-exponentiation-operator-7.18.6"
+      sources."@babel/plugin-transform-for-of-7.18.8"
+      sources."@babel/plugin-transform-function-name-7.18.9"
+      sources."@babel/plugin-transform-literals-7.18.9"
+      sources."@babel/plugin-transform-member-expression-literals-7.18.6"
+      sources."@babel/plugin-transform-modules-amd-7.18.6"
+      sources."@babel/plugin-transform-modules-commonjs-7.18.6"
+      sources."@babel/plugin-transform-modules-systemjs-7.18.9"
+      sources."@babel/plugin-transform-modules-umd-7.18.6"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.18.6"
+      sources."@babel/plugin-transform-new-target-7.18.6"
+      sources."@babel/plugin-transform-object-super-7.18.6"
+      sources."@babel/plugin-transform-parameters-7.18.8"
+      sources."@babel/plugin-transform-property-literals-7.18.6"
+      sources."@babel/plugin-transform-react-display-name-7.18.6"
+      sources."@babel/plugin-transform-react-jsx-7.18.10"
+      sources."@babel/plugin-transform-react-jsx-development-7.18.6"
+      sources."@babel/plugin-transform-react-pure-annotations-7.18.6"
+      sources."@babel/plugin-transform-regenerator-7.18.6"
+      sources."@babel/plugin-transform-reserved-words-7.18.6"
+      sources."@babel/plugin-transform-shorthand-properties-7.18.6"
+      sources."@babel/plugin-transform-spread-7.18.9"
+      sources."@babel/plugin-transform-sticky-regex-7.18.6"
+      sources."@babel/plugin-transform-template-literals-7.18.9"
+      sources."@babel/plugin-transform-typeof-symbol-7.18.9"
+      sources."@babel/plugin-transform-unicode-escapes-7.18.10"
+      sources."@babel/plugin-transform-unicode-regex-7.18.6"
+      sources."@babel/preset-env-7.18.10"
       sources."@babel/preset-modules-0.1.5"
-      sources."@babel/preset-react-7.17.12"
-      sources."@babel/runtime-7.18.3"
-      sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.18.5"
-      sources."@babel/types-7.18.4"
-      sources."@blueprintjs/colors-4.1.3"
-      sources."@blueprintjs/core-4.5.1"
-      sources."@blueprintjs/icons-4.3.0"
+      sources."@babel/preset-react-7.18.6"
+      sources."@babel/runtime-7.18.9"
+      sources."@babel/template-7.18.10"
+      sources."@babel/traverse-7.18.10"
+      sources."@babel/types-7.18.10"
+      sources."@blueprintjs/colors-4.1.4"
+      sources."@blueprintjs/core-4.7.0"
+      sources."@blueprintjs/icons-4.4.0"
       sources."@deltachat/message_parser_wasm-0.4.0"
       sources."@deltachat/react-qr-reader-4.0.0"
       sources."@electron/get-1.14.1"
       sources."@hypnosphi/create-react-context-0.3.1"
       sources."@jridgewell/gen-mapping-0.1.1"
-      sources."@jridgewell/resolve-uri-3.0.7"
-      sources."@jridgewell/set-array-1.1.1"
-      sources."@jridgewell/sourcemap-codec-1.4.13"
-      sources."@jridgewell/trace-mapping-0.3.13"
+      sources."@jridgewell/resolve-uri-3.1.0"
+      sources."@jridgewell/set-array-1.1.2"
+      sources."@jridgewell/sourcemap-codec-1.4.14"
+      sources."@jridgewell/trace-mapping-0.3.14"
       sources."@juggle/resize-observer-3.3.1"
       sources."@mapbox/extent-0.4.0"
       sources."@mapbox/geojson-coords-0.0.2"
@@ -90174,14 +90628,14 @@ in
       sources."@types/debounce-1.2.1"
       sources."@types/dom4-2.0.2"
       sources."@types/emoji-mart-3.0.9"
-      sources."@types/geojson-7946.0.8"
+      sources."@types/geojson-7946.0.10"
       sources."@types/mapbox-gl-0.54.5"
       sources."@types/mime-types-2.1.1"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-14.18.21"
+      sources."@types/node-14.18.23"
       sources."@types/prop-types-15.7.5"
       sources."@types/rc-1.2.1"
-      sources."@types/react-17.0.47"
+      sources."@types/react-17.0.48"
       sources."@types/react-dom-17.0.17"
       sources."@types/react-window-1.8.5"
       sources."@types/react-window-infinite-loader-1.0.6"
@@ -90206,9 +90660,9 @@ in
       sources."async-each-1.0.3"
       sources."atob-2.1.2"
       sources."babel-plugin-dynamic-import-node-2.3.3"
-      sources."babel-plugin-polyfill-corejs2-0.3.1"
-      sources."babel-plugin-polyfill-corejs3-0.5.2"
-      sources."babel-plugin-polyfill-regenerator-0.3.1"
+      sources."babel-plugin-polyfill-corejs2-0.3.2"
+      sources."babel-plugin-polyfill-corejs3-0.5.3"
+      sources."babel-plugin-polyfill-regenerator-0.4.0"
       (sources."base-0.11.2" // {
         dependencies = [
           sources."define-property-1.0.0"
@@ -90222,7 +90676,7 @@ in
           sources."extend-shallow-2.0.1"
         ];
       })
-      sources."browserslist-4.20.4"
+      sources."browserslist-4.21.3"
       sources."buffer-crc32-0.2.13"
       sources."buffer-from-1.1.2"
       sources."cache-base-1.0.1"
@@ -90234,7 +90688,7 @@ in
       })
       sources."call-bind-1.0.2"
       sources."camel-case-4.1.2"
-      sources."caniuse-lite-1.0.30001358"
+      sources."caniuse-lite-1.0.30001373"
       sources."capital-case-1.0.4"
       sources."chalk-2.4.2"
       sources."change-case-4.1.2"
@@ -90257,7 +90711,7 @@ in
         ];
       })
       sources."classnames-2.3.1"
-      sources."clone-response-1.0.2"
+      sources."clone-response-1.0.3"
       sources."collection-visit-1.0.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
@@ -90267,7 +90721,7 @@ in
       sources."constant-case-3.0.4"
       sources."convert-source-map-1.8.0"
       sources."copy-descriptor-0.1.1"
-      (sources."core-js-compat-3.23.2" // {
+      (sources."core-js-compat-3.24.1" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -90289,14 +90743,14 @@ in
       sources."dom-helpers-5.2.1"
       sources."dom4-2.1.6"
       sources."dot-case-3.0.4"
-      sources."duplexer3-0.1.4"
-      sources."earcut-2.2.3"
-      (sources."electron-18.3.4" // {
+      sources."duplexer3-0.1.5"
+      sources."earcut-2.2.4"
+      (sources."electron-18.3.7" // {
         dependencies = [
-          sources."@types/node-16.11.41"
+          sources."@types/node-16.11.47"
         ];
       })
-      sources."electron-to-chromium-1.4.164"
+      sources."electron-to-chromium-1.4.211"
       sources."emoji-js-clean-4.0.0"
       sources."emoji-mart-3.0.1"
       sources."emoji-regex-9.2.2"
@@ -90471,15 +90925,15 @@ in
         ];
       })
       sources."mkdirp-0.5.6"
-      sources."moment-2.29.3"
+      sources."moment-2.29.4"
       sources."ms-2.1.2"
       sources."murmurhash-js-1.0.0"
       sources."nan-2.16.0"
       sources."nanomatch-1.2.13"
       sources."napi-macros-2.0.0"
       sources."no-case-3.0.4"
-      sources."node-gyp-build-4.4.0"
-      sources."node-releases-2.0.5"
+      sources."node-gyp-build-4.5.0"
+      sources."node-releases-2.0.6"
       sources."normalize-path-3.0.0"
       sources."normalize-url-4.5.1"
       sources."normalize.css-8.0.1"
@@ -90537,7 +90991,7 @@ in
       sources."react-is-16.13.1"
       sources."react-popper-1.3.11"
       sources."react-string-replace-1.1.0"
-      sources."react-transition-group-4.4.2"
+      sources."react-transition-group-4.4.5"
       sources."react-virtualized-auto-sizer-1.0.6"
       sources."react-window-1.8.7"
       sources."react-window-infinite-loader-1.0.8"
@@ -90550,7 +91004,7 @@ in
       sources."regenerator-transform-0.15.0"
       sources."regex-not-1.0.2"
       sources."regexp.prototype.flags-1.4.3"
-      sources."regexpu-core-5.0.1"
+      sources."regexpu-core-5.1.0"
       sources."regjsgen-0.6.0"
       (sources."regjsparser-0.8.4" // {
         dependencies = [
@@ -90571,7 +91025,7 @@ in
       sources."rw-0.1.4"
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
-      (sources."sass-1.52.3" // {
+      (sources."sass-1.54.2" // {
         dependencies = [
           sources."anymatch-3.1.2"
           sources."binary-extensions-2.2.0"
@@ -90696,6 +91150,7 @@ in
         ];
       })
       sources."upath-1.2.0"
+      sources."update-browserslist-db-1.0.5"
       sources."upper-case-2.0.2"
       sources."upper-case-first-2.0.2"
       sources."urix-0.1.0"
@@ -90808,11 +91263,11 @@ in
       sources."tslib-1.14.1"
       sources."type-fest-0.16.0"
       sources."unique-string-2.0.0"
-      sources."vscode-jsonrpc-8.0.1"
+      sources."vscode-jsonrpc-8.0.2"
       sources."vscode-languageserver-6.1.1"
-      sources."vscode-languageserver-protocol-3.17.1"
+      sources."vscode-languageserver-protocol-3.17.2"
       sources."vscode-languageserver-textdocument-1.0.5"
-      sources."vscode-languageserver-types-3.17.1"
+      sources."vscode-languageserver-types-3.17.2"
       sources."vscode-uri-2.1.2"
       sources."wrappy-1.0.2"
     ];
@@ -90838,11 +91293,11 @@ in
       sources."dockerfile-ast-0.4.2"
       sources."dockerfile-language-service-0.9.0"
       sources."dockerfile-utils-0.10.0"
-      sources."vscode-jsonrpc-8.0.1"
-      sources."vscode-languageserver-8.0.1"
-      (sources."vscode-languageserver-protocol-3.17.1" // {
+      sources."vscode-jsonrpc-8.0.2"
+      sources."vscode-languageserver-8.0.2"
+      (sources."vscode-languageserver-protocol-3.17.2" // {
         dependencies = [
-          sources."vscode-languageserver-types-3.17.1"
+          sources."vscode-languageserver-types-3.17.2"
         ];
       })
       sources."vscode-languageserver-textdocument-1.0.5"
@@ -90861,15 +91316,15 @@ in
   elasticdump = nodeEnv.buildNodePackage {
     name = "elasticdump";
     packageName = "elasticdump";
-    version = "6.84.1";
+    version = "6.87.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elasticdump/-/elasticdump-6.84.1.tgz";
-      sha512 = "qgHJeGGNMJFwGMpidCOCKZsbq6bUth2cvns1QdrJnCIoojv5x0J4C6Xm5zh8sZCYr7y5nrwfgMUkrbMNLHdGwQ==";
+      url = "https://registry.npmjs.org/elasticdump/-/elasticdump-6.87.1.tgz";
+      sha512 = "9FZtfWyUl9Ro7o7MDWaJoYHed/WxrHfpA5ma7GhhtQPWdNWrrWXurm0WpXsoM/p99V9KsNEU5QUjVHcnmnDfCQ==";
     };
     dependencies = [
       sources."@fast-csv/format-4.3.5"
       sources."@fast-csv/parse-4.3.6"
-      sources."@types/node-14.18.21"
+      sources."@types/node-14.18.23"
       sources."JSONStream-1.3.5"
       sources."ajv-6.12.6"
       sources."asn1-0.2.6"
@@ -90945,7 +91400,7 @@ in
       sources."p-timeout-3.2.0"
       sources."performance-now-2.1.0"
       sources."process-nextick-args-2.0.1"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."punycode-1.3.2"
       sources."qs-6.5.3"
       sources."querystring-0.2.0"
@@ -91006,30 +91461,30 @@ in
   "@electron-forge/cli" = nodeEnv.buildNodePackage {
     name = "_at_electron-forge_slash_cli";
     packageName = "@electron-forge/cli";
-    version = "6.0.0-beta.64";
+    version = "6.0.0-beta.65";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@electron-forge/cli/-/cli-6.0.0-beta.64.tgz";
-      sha512 = "EvI2Ie2ywj5lKZC3CttwRbraLBq84Gh2iwkrge5Q/T4wqvundTT1CyxNLUuSx+lsw3kE8Atmwefl5G6rf+E7Mg==";
+      url = "https://registry.npmjs.org/@electron-forge/cli/-/cli-6.0.0-beta.65.tgz";
+      sha512 = "PQ6axjSVl5AIYf1g1+Qn1QHbVyjp+fpTRzwMJ9bMM91cA7of2d92c4IF96Q6T9Zvn4aeAsxx/fvDLikobptucQ==";
     };
     dependencies = [
-      sources."@electron-forge/async-ora-6.0.0-beta.64"
-      sources."@electron-forge/core-6.0.0-beta.64"
-      sources."@electron-forge/installer-base-6.0.0-beta.64"
-      sources."@electron-forge/installer-darwin-6.0.0-beta.64"
-      sources."@electron-forge/installer-deb-6.0.0-beta.64"
-      sources."@electron-forge/installer-dmg-6.0.0-beta.64"
-      sources."@electron-forge/installer-exe-6.0.0-beta.64"
-      sources."@electron-forge/installer-linux-6.0.0-beta.64"
-      sources."@electron-forge/installer-rpm-6.0.0-beta.64"
-      sources."@electron-forge/installer-zip-6.0.0-beta.64"
-      sources."@electron-forge/maker-base-6.0.0-beta.64"
-      sources."@electron-forge/plugin-base-6.0.0-beta.64"
-      sources."@electron-forge/publisher-base-6.0.0-beta.64"
-      sources."@electron-forge/shared-types-6.0.0-beta.64"
-      sources."@electron-forge/template-base-6.0.0-beta.64"
-      sources."@electron-forge/template-typescript-6.0.0-beta.64"
-      sources."@electron-forge/template-typescript-webpack-6.0.0-beta.64"
-      sources."@electron-forge/template-webpack-6.0.0-beta.64"
+      sources."@electron-forge/async-ora-6.0.0-beta.65"
+      sources."@electron-forge/core-6.0.0-beta.65"
+      sources."@electron-forge/installer-base-6.0.0-beta.65"
+      sources."@electron-forge/installer-darwin-6.0.0-beta.65"
+      sources."@electron-forge/installer-deb-6.0.0-beta.65"
+      sources."@electron-forge/installer-dmg-6.0.0-beta.65"
+      sources."@electron-forge/installer-exe-6.0.0-beta.65"
+      sources."@electron-forge/installer-linux-6.0.0-beta.65"
+      sources."@electron-forge/installer-rpm-6.0.0-beta.65"
+      sources."@electron-forge/installer-zip-6.0.0-beta.65"
+      sources."@electron-forge/maker-base-6.0.0-beta.65"
+      sources."@electron-forge/plugin-base-6.0.0-beta.65"
+      sources."@electron-forge/publisher-base-6.0.0-beta.65"
+      sources."@electron-forge/shared-types-6.0.0-beta.65"
+      sources."@electron-forge/template-base-6.0.0-beta.65"
+      sources."@electron-forge/template-typescript-6.0.0-beta.65"
+      sources."@electron-forge/template-typescript-webpack-6.0.0-beta.65"
+      sources."@electron-forge/template-webpack-6.0.0-beta.65"
       (sources."@electron/get-1.14.1" // {
         dependencies = [
           sources."@sindresorhus/is-0.14.0"
@@ -91067,25 +91522,24 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@npmcli/fs-1.1.1"
-      sources."@npmcli/move-file-1.1.2"
+      sources."@npmcli/fs-2.1.1"
+      sources."@npmcli/move-file-2.0.0"
       sources."@sindresorhus/is-4.6.0"
       sources."@szmarczak/http-timer-4.0.6"
-      sources."@tootallnate/once-1.1.2"
+      sources."@tootallnate/once-2.0.0"
       sources."@types/cacheable-request-6.0.2"
       sources."@types/glob-7.2.0"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/responselike-1.0.0"
       sources."@types/yauzl-2.10.0"
       sources."abbrev-1.1.1"
       sources."agent-base-6.0.2"
       sources."agentkeepalive-4.2.1"
       sources."aggregate-error-3.1.0"
-      sources."ajv-6.12.6"
       (sources."ansi-escapes-4.3.2" // {
         dependencies = [
           sources."type-fest-0.21.3"
@@ -91094,22 +91548,16 @@ in
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
       sources."aproba-2.0.0"
-      sources."are-we-there-yet-3.0.0"
-      (sources."asar-3.1.0" // {
+      sources."are-we-there-yet-3.0.1"
+      (sources."asar-3.2.0" // {
         dependencies = [
           sources."commander-5.1.0"
         ];
       })
-      sources."asn1-0.2.6"
-      sources."assert-plus-1.0.0"
-      sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
       sources."author-regex-1.0.0"
-      sources."aws-sign2-0.7.0"
-      sources."aws4-1.11.0"
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
-      sources."bcrypt-pbkdf-1.0.2"
       sources."bl-4.1.0"
       sources."bluebird-3.7.2"
       sources."boolean-3.2.0"
@@ -91122,41 +91570,42 @@ in
       sources."buffer-equal-1.0.0"
       sources."buffer-fill-1.0.0"
       sources."buffer-from-1.1.2"
-      sources."cacache-15.3.0"
+      (sources."cacache-16.1.1" // {
+        dependencies = [
+          sources."brace-expansion-2.0.1"
+          sources."glob-8.0.3"
+          sources."minimatch-5.1.0"
+        ];
+      })
       sources."cacheable-lookup-5.0.4"
       sources."cacheable-request-7.0.2"
-      sources."caseless-0.12.0"
       sources."chalk-4.1.2"
       sources."chardet-0.7.0"
       sources."chownr-2.0.0"
       sources."chromium-pickle-js-0.2.0"
       sources."clean-stack-2.2.0"
       sources."cli-cursor-3.1.0"
-      sources."cli-spinners-2.6.1"
+      sources."cli-spinners-2.7.0"
       sources."cli-width-3.0.0"
       sources."cliui-7.0.4"
       sources."clone-1.0.4"
-      sources."clone-response-1.0.2"
-      sources."code-point-at-1.1.0"
+      sources."clone-response-1.0.3"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."color-support-1.1.3"
       sources."colors-1.0.3"
-      sources."combined-stream-1.0.8"
       sources."commander-4.1.1"
       sources."compare-version-0.1.2"
       sources."compress-brotli-1.3.8"
       sources."concat-map-0.0.1"
       sources."config-chain-1.1.13"
       sources."console-control-strings-1.1.0"
-      sources."core-util-is-1.0.3"
       sources."cross-spawn-7.0.3"
       (sources."cross-spawn-windows-exe-1.2.0" // {
         dependencies = [
           sources."@malept/cross-spawn-promise-1.1.1"
         ];
       })
-      sources."dashdash-1.14.1"
       (sources."debug-4.3.4" // {
         dependencies = [
           sources."ms-2.1.2"
@@ -91170,15 +91619,10 @@ in
       sources."defaults-1.0.3"
       sources."defer-to-connect-2.0.1"
       sources."define-lazy-prop-2.0.0"
-      (sources."define-properties-1.1.4" // {
-        dependencies = [
-          sources."object-keys-1.1.1"
-        ];
-      })
-      sources."delayed-stream-1.0.0"
+      sources."define-properties-1.1.4"
       sources."delegates-1.0.0"
       sources."depd-1.1.2"
-      sources."detect-libc-1.0.3"
+      sources."detect-libc-2.0.1"
       sources."detect-node-2.1.0"
       (sources."dir-compare-2.4.0" // {
         dependencies = [
@@ -91186,8 +91630,7 @@ in
           sources."minimatch-3.0.4"
         ];
       })
-      sources."duplexer3-0.1.4"
-      sources."ecc-jsbn-0.1.2"
+      sources."duplexer3-0.1.5"
       (sources."electron-notarize-1.2.1" // {
         dependencies = [
           sources."fs-extra-9.1.0"
@@ -91203,7 +91646,7 @@ in
           sources."fs-extra-9.1.0"
         ];
       })
-      sources."electron-rebuild-3.2.7"
+      sources."electron-rebuild-3.2.9"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
       sources."encoding-0.1.13"
@@ -91226,17 +91669,13 @@ in
         ];
       })
       sources."expand-tilde-2.0.2"
-      sources."extend-3.0.2"
       (sources."external-editor-3.1.0" // {
         dependencies = [
           sources."iconv-lite-0.4.24"
         ];
       })
       sources."extract-zip-2.0.1"
-      sources."extsprintf-1.3.0"
-      sources."fast-deep-equal-3.1.3"
       sources."fast-glob-3.2.11"
-      sources."fast-json-stable-stringify-2.1.0"
       sources."fastq-1.13.0"
       sources."fd-slicer-1.1.0"
       sources."figures-3.2.0"
@@ -91258,8 +91697,6 @@ in
           sources."universalify-0.1.2"
         ];
       })
-      sources."forever-agent-0.6.1"
-      sources."form-data-2.3.3"
       sources."fs-extra-10.1.0"
       sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
@@ -91283,7 +91720,6 @@ in
         ];
       })
       sources."get-stream-5.2.0"
-      sources."getpass-0.1.7"
       sources."glob-7.2.3"
       sources."glob-parent-5.1.2"
       sources."global-agent-3.0.0"
@@ -91298,8 +91734,6 @@ in
       sources."got-11.8.5"
       sources."graceful-fs-4.2.10"
       sources."graceful-readlink-1.0.1"
-      sources."har-schema-2.0.0"
-      sources."har-validator-5.1.5"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
       sources."has-property-descriptors-1.0.0"
@@ -91308,8 +91742,7 @@ in
       sources."homedir-polyfill-1.0.3"
       sources."hosted-git-info-2.8.9"
       sources."http-cache-semantics-4.1.0"
-      sources."http-proxy-agent-4.0.1"
-      sources."http-signature-1.2.0"
+      sources."http-proxy-agent-5.0.0"
       sources."http2-wrapper-1.0.3"
       sources."https-proxy-agent-5.0.1"
       sources."humanize-ms-1.2.1"
@@ -91322,7 +91755,7 @@ in
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
       sources."inquirer-8.2.4"
-      sources."ip-1.1.8"
+      sources."ip-2.0.0"
       sources."is-arrayish-0.2.1"
       sources."is-core-module-2.9.0"
       sources."is-docker-2.2.1"
@@ -91333,32 +91766,25 @@ in
       sources."is-lambda-1.0.1"
       sources."is-number-7.0.0"
       sources."is-stream-1.1.0"
-      sources."is-typedarray-1.0.0"
       sources."is-unicode-supported-0.1.0"
       sources."is-windows-1.0.2"
       sources."is-wsl-2.2.0"
-      sources."isarray-0.0.1"
       sources."isbinaryfile-3.0.3"
       sources."isexe-2.0.0"
-      sources."isstream-0.1.2"
-      sources."jsbn-0.1.1"
       sources."json-buffer-3.0.1"
-      sources."json-schema-0.4.0"
-      sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-6.1.0"
-      sources."jsprim-1.4.2"
       sources."junk-3.1.0"
-      sources."keyv-4.3.1"
+      sources."keyv-4.3.3"
       sources."load-json-file-2.0.0"
       sources."locate-path-2.0.0"
       sources."lodash-4.17.21"
       sources."lodash.get-4.4.2"
       sources."log-symbols-4.1.0"
       sources."lowercase-keys-2.0.0"
-      sources."lru-cache-6.0.0"
+      sources."lru-cache-7.13.2"
       sources."lzma-native-8.0.6"
-      sources."make-fetch-happen-9.1.0"
+      sources."make-fetch-happen-10.2.0"
       sources."map-age-cleaner-0.1.3"
       (sources."matcher-3.0.0" // {
         dependencies = [
@@ -91368,15 +91794,13 @@ in
       sources."mem-4.3.0"
       sources."merge2-1.4.1"
       sources."micromatch-4.0.5"
-      sources."mime-db-1.52.0"
-      sources."mime-types-2.1.35"
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
-      sources."minipass-3.3.3"
+      sources."minipass-3.3.5"
       sources."minipass-collect-1.0.2"
-      sources."minipass-fetch-1.4.1"
+      sources."minipass-fetch-2.1.0"
       sources."minipass-flush-1.0.5"
       sources."minipass-pipeline-1.2.4"
       sources."minipass-sized-1.0.3"
@@ -91386,12 +91810,12 @@ in
       sources."mute-stream-0.0.8"
       sources."negotiator-0.6.3"
       sources."nice-try-1.0.5"
-      sources."node-abi-3.22.0"
+      sources."node-abi-3.24.0"
       sources."node-addon-api-3.2.1"
       sources."node-api-version-0.1.4"
       sources."node-fetch-2.6.7"
-      sources."node-gyp-8.4.1"
-      sources."node-gyp-build-4.4.0"
+      sources."node-gyp-9.1.0"
+      sources."node-gyp-build-4.5.0"
       sources."nopt-5.0.0"
       (sources."normalize-package-data-2.5.0" // {
         dependencies = [
@@ -91410,14 +91834,7 @@ in
         ];
       })
       sources."npmlog-6.0.2"
-      (sources."nugget-2.0.2" // {
-        dependencies = [
-          sources."debug-2.6.9"
-        ];
-      })
-      sources."number-is-nan-1.0.1"
-      sources."oauth-sign-0.9.0"
-      sources."object-keys-0.4.0"
+      sources."object-keys-1.1.1"
       sources."once-1.4.0"
       sources."onetime-5.1.2"
       sources."open-8.4.0"
@@ -91441,7 +91858,6 @@ in
       sources."path-parse-1.0.7"
       sources."path-type-2.0.0"
       sources."pend-1.2.0"
-      sources."performance-now-2.1.0"
       sources."picomatch-2.3.1"
       sources."pify-2.3.0"
       (sources."pkg-dir-4.2.0" // {
@@ -91454,19 +91870,14 @@ in
           sources."path-exists-4.0.0"
         ];
       })
-      sources."plist-3.0.5"
+      sources."plist-3.0.6"
       sources."prepend-http-2.0.0"
-      sources."pretty-bytes-4.0.2"
       sources."pretty-ms-7.0.1"
       sources."progress-2.0.3"
-      sources."progress-stream-1.2.0"
       sources."promise-inflight-1.0.1"
       sources."promise-retry-2.0.1"
       sources."proto-list-1.2.4"
-      sources."psl-1.8.0"
       sources."pump-3.0.0"
-      sources."punycode-2.1.1"
-      sources."qs-6.5.3"
       sources."queue-microtask-1.2.3"
       sources."quick-lru-5.1.1"
       sources."rcedit-3.0.1"
@@ -91477,13 +91888,12 @@ in
         ];
       })
       sources."readable-stream-3.6.0"
-      sources."request-2.88.2"
       sources."require-directory-2.1.1"
       sources."resolve-1.22.1"
       sources."resolve-alpn-1.2.1"
       sources."resolve-dir-1.0.1"
       sources."resolve-package-1.0.1"
-      sources."responselike-2.0.0"
+      sources."responselike-2.0.1"
       sources."restore-cursor-3.1.0"
       sources."retry-0.12.0"
       sources."reusify-1.0.4"
@@ -91491,37 +91901,31 @@ in
       sources."roarr-2.15.4"
       sources."run-async-2.4.1"
       sources."run-parallel-1.2.0"
-      sources."rxjs-7.5.5"
+      sources."rxjs-7.5.6"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
-      sources."semver-7.3.7"
+      (sources."semver-7.3.7" // {
+        dependencies = [
+          sources."lru-cache-6.0.0"
+        ];
+      })
       sources."semver-compare-1.0.0"
       sources."serialize-error-7.0.1"
       sources."set-blocking-2.0.0"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
       sources."signal-exit-3.0.7"
-      (sources."single-line-log-1.1.2" // {
-        dependencies = [
-          sources."ansi-regex-2.1.1"
-          sources."is-fullwidth-code-point-1.0.0"
-          sources."string-width-1.0.2"
-          sources."strip-ansi-3.0.1"
-        ];
-      })
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.2"
-      sources."socks-proxy-agent-6.2.1"
+      sources."socks-2.7.0"
+      sources."socks-proxy-agent-7.0.0"
       sources."source-map-0.6.1"
       sources."source-map-support-0.5.21"
       sources."spdx-correct-3.1.1"
       sources."spdx-exceptions-2.3.0"
       sources."spdx-expression-parse-3.0.1"
       sources."spdx-license-ids-3.0.11"
-      sources."speedometer-0.1.4"
       sources."sprintf-js-1.1.2"
-      sources."sshpk-1.17.0"
-      sources."ssri-8.0.1"
+      sources."ssri-9.0.1"
       sources."string-width-4.2.3"
       sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.1"
@@ -91533,39 +91937,22 @@ in
       sources."supports-color-7.2.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
       sources."tar-6.1.11"
-      sources."throttleit-0.0.2"
       sources."through-2.3.8"
-      (sources."through2-0.2.3" // {
-        dependencies = [
-          sources."readable-stream-1.1.14"
-          sources."string_decoder-0.10.31"
-        ];
-      })
       sources."tmp-0.0.33"
       sources."to-readable-stream-1.0.0"
       sources."to-regex-range-5.0.1"
-      sources."tough-cookie-2.5.0"
       sources."tr46-0.0.3"
       sources."trim-repeated-1.0.0"
       sources."tslib-2.4.0"
       sources."tunnel-0.0.6"
-      sources."tunnel-agent-0.6.0"
-      sources."tweetnacl-0.14.5"
       sources."type-fest-0.13.1"
       sources."unique-filename-1.1.1"
       sources."unique-slug-2.0.2"
       sources."universalify-2.0.0"
-      sources."uri-js-4.4.1"
       sources."url-parse-lax-3.0.0"
       sources."username-5.1.0"
       sources."util-deprecate-1.0.2"
-      sources."uuid-3.4.0"
       sources."validate-npm-package-license-3.0.4"
-      (sources."verror-1.10.0" // {
-        dependencies = [
-          sources."core-util-is-1.0.2"
-        ];
-      })
       sources."wcwidth-1.0.1"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
@@ -91573,13 +91960,12 @@ in
       sources."wide-align-1.1.5"
       sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
-      sources."xmlbuilder-9.0.7"
-      sources."xtend-2.1.2"
+      sources."xmlbuilder-15.1.1"
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
       (sources."yargs-17.5.1" // {
         dependencies = [
-          sources."yargs-parser-21.0.1"
+          sources."yargs-parser-21.1.0"
         ];
       })
       sources."yargs-parser-20.2.9"
@@ -91634,51 +92020,52 @@ in
     };
     dependencies = [
       sources."@ampproject/remapping-2.2.0"
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.18.5"
-      (sources."@babel/core-7.18.5" // {
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/compat-data-7.18.8"
+      (sources."@babel/core-7.18.10" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      (sources."@babel/generator-7.18.2" // {
+      (sources."@babel/generator-7.18.10" // {
         dependencies = [
-          sources."@jridgewell/gen-mapping-0.3.1"
+          sources."@jridgewell/gen-mapping-0.3.2"
         ];
       })
-      sources."@babel/helper-annotate-as-pure-7.16.7"
-      (sources."@babel/helper-compilation-targets-7.18.2" // {
+      sources."@babel/helper-annotate-as-pure-7.18.6"
+      (sources."@babel/helper-compilation-targets-7.18.9" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-environment-visitor-7.18.2"
-      sources."@babel/helper-function-name-7.17.9"
-      sources."@babel/helper-hoist-variables-7.16.7"
-      sources."@babel/helper-module-imports-7.16.7"
-      sources."@babel/helper-module-transforms-7.18.0"
-      sources."@babel/helper-plugin-utils-7.17.12"
-      sources."@babel/helper-simple-access-7.18.2"
-      sources."@babel/helper-split-export-declaration-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/helper-validator-option-7.16.7"
-      sources."@babel/helpers-7.18.2"
-      sources."@babel/highlight-7.17.12"
-      sources."@babel/parser-7.18.5"
-      sources."@babel/plugin-proposal-object-rest-spread-7.18.0"
-      sources."@babel/plugin-syntax-jsx-7.17.12"
+      sources."@babel/helper-environment-visitor-7.18.9"
+      sources."@babel/helper-function-name-7.18.9"
+      sources."@babel/helper-hoist-variables-7.18.6"
+      sources."@babel/helper-module-imports-7.18.6"
+      sources."@babel/helper-module-transforms-7.18.9"
+      sources."@babel/helper-plugin-utils-7.18.9"
+      sources."@babel/helper-simple-access-7.18.6"
+      sources."@babel/helper-split-export-declaration-7.18.6"
+      sources."@babel/helper-string-parser-7.18.10"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      sources."@babel/helper-validator-option-7.18.6"
+      sources."@babel/helpers-7.18.9"
+      sources."@babel/highlight-7.18.6"
+      sources."@babel/parser-7.18.10"
+      sources."@babel/plugin-proposal-object-rest-spread-7.18.9"
+      sources."@babel/plugin-syntax-jsx-7.18.6"
       sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
-      sources."@babel/plugin-transform-destructuring-7.18.0"
-      sources."@babel/plugin-transform-parameters-7.17.12"
-      sources."@babel/plugin-transform-react-jsx-7.17.12"
-      sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.18.5"
-      sources."@babel/types-7.18.4"
+      sources."@babel/plugin-transform-destructuring-7.18.9"
+      sources."@babel/plugin-transform-parameters-7.18.8"
+      sources."@babel/plugin-transform-react-jsx-7.18.10"
+      sources."@babel/template-7.18.10"
+      sources."@babel/traverse-7.18.10"
+      sources."@babel/types-7.18.10"
       sources."@jridgewell/gen-mapping-0.1.1"
-      sources."@jridgewell/resolve-uri-3.0.7"
-      sources."@jridgewell/set-array-1.1.1"
-      sources."@jridgewell/sourcemap-codec-1.4.13"
-      sources."@jridgewell/trace-mapping-0.3.13"
+      sources."@jridgewell/resolve-uri-3.1.0"
+      sources."@jridgewell/set-array-1.1.2"
+      sources."@jridgewell/sourcemap-codec-1.4.14"
+      sources."@jridgewell/trace-mapping-0.3.14"
       sources."@types/minimist-1.2.2"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/yoga-layout-1.9.2"
@@ -91697,13 +92084,13 @@ in
       sources."auto-bind-4.0.0"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
-      sources."browserslist-4.20.4"
+      sources."browserslist-4.21.3"
       sources."caller-callsite-4.1.0"
       sources."caller-path-3.0.1"
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001358"
+      sources."caniuse-lite-1.0.30001373"
       sources."chalk-2.4.2"
       sources."ci-info-2.0.0"
       sources."cli-boxes-2.2.1"
@@ -91732,7 +92119,7 @@ in
         ];
       })
       sources."dot-prop-5.3.0"
-      sources."electron-to-chromium-1.4.164"
+      sources."electron-to-chromium-1.4.211"
       sources."emoji-regex-8.0.0"
       sources."emojilib-2.4.0"
       sources."end-of-stream-1.4.4"
@@ -91821,7 +92208,7 @@ in
       sources."minimist-options-4.1.0"
       sources."ms-2.1.2"
       sources."nice-try-1.0.5"
-      sources."node-releases-2.0.5"
+      sources."node-releases-2.0.6"
       sources."normalize-package-data-2.5.0"
       sources."npm-run-path-2.0.2"
       sources."object-assign-4.1.1"
@@ -91857,7 +92244,7 @@ in
       sources."punycode-2.1.1"
       sources."quick-lru-4.0.1"
       sources."react-16.14.0"
-      sources."react-devtools-core-4.24.7"
+      sources."react-devtools-core-4.25.0"
       sources."react-is-16.13.1"
       sources."react-reconciler-0.26.2"
       (sources."read-pkg-5.2.0" // {
@@ -91913,6 +92300,7 @@ in
       sources."trim-newlines-3.0.1"
       sources."type-fest-0.12.0"
       sources."unicode-emoji-modifier-base-1.0.0"
+      sources."update-browserslist-db-1.0.5"
       sources."uri-js-4.4.1"
       sources."validate-npm-package-license-3.0.4"
       sources."which-1.3.1"
@@ -91925,7 +92313,7 @@ in
         ];
       })
       sources."wrappy-1.0.2"
-      sources."ws-7.5.8"
+      sources."ws-7.5.9"
       sources."yallist-4.0.0"
       sources."yargs-parser-18.1.3"
       sources."yoga-layout-prebuilt-1.10.0"
@@ -91964,8 +92352,8 @@ in
     src = ../../applications/video/epgstation;
     dependencies = [
       sources."@babel/code-frame-7.12.11"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      (sources."@babel/highlight-7.17.12" // {
+      sources."@babel/helper-validator-identifier-7.18.6"
+      (sources."@babel/highlight-7.18.6" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
@@ -91997,19 +92385,19 @@ in
       })
       sources."@fluentui/date-time-utilities-8.5.1"
       sources."@fluentui/dom-utilities-2.2.1"
-      sources."@fluentui/font-icons-mdl2-8.4.1"
-      sources."@fluentui/foundation-legacy-8.2.8"
+      sources."@fluentui/font-icons-mdl2-8.4.5"
+      sources."@fluentui/foundation-legacy-8.2.12"
       sources."@fluentui/keyboard-key-0.4.1"
       sources."@fluentui/merge-styles-8.5.2"
-      sources."@fluentui/react-8.77.0"
-      sources."@fluentui/react-focus-8.7.0"
-      sources."@fluentui/react-hooks-8.6.0"
-      sources."@fluentui/react-portal-compat-context-9.0.0-rc.2"
+      sources."@fluentui/react-8.86.3"
+      sources."@fluentui/react-focus-8.7.6"
+      sources."@fluentui/react-hooks-8.6.4"
+      sources."@fluentui/react-portal-compat-context-9.0.1"
       sources."@fluentui/react-window-provider-2.2.1"
       sources."@fluentui/set-version-8.2.1"
-      sources."@fluentui/style-utilities-8.7.0"
-      sources."@fluentui/theme-2.6.6"
-      sources."@fluentui/utilities-8.8.3"
+      sources."@fluentui/style-utilities-8.7.4"
+      sources."@fluentui/theme-2.6.9"
+      sources."@fluentui/utilities-8.10.1"
       (sources."@gulp-sourcemaps/identity-map-2.0.1" // {
         dependencies = [
           sources."acorn-6.4.2"
@@ -92031,7 +92419,7 @@ in
         ];
       })
       sources."@humanwhocodes/object-schema-1.2.1"
-      sources."@microsoft/load-themed-styles-1.10.270"
+      sources."@microsoft/load-themed-styles-1.10.285"
       sources."@node-rs/crc32-1.5.1"
       sources."@node-rs/crc32-android-arm-eabi-1.5.1"
       sources."@node-rs/crc32-android-arm64-1.5.1"
@@ -92063,12 +92451,12 @@ in
       sources."@types/cookie-0.4.1"
       sources."@types/cors-2.8.12"
       sources."@types/express-4.17.13"
-      sources."@types/express-serve-static-core-4.17.29"
+      sources."@types/express-serve-static-core-4.17.30"
       sources."@types/file-type-10.9.1"
       sources."@types/js-yaml-4.0.4"
       sources."@types/json-schema-7.0.11"
       sources."@types/lodash-4.14.176"
-      sources."@types/mime-1.3.2"
+      sources."@types/mime-3.0.0"
       sources."@types/minimist-1.2.2"
       sources."@types/mkdirp-1.0.2"
       sources."@types/mongodb-4.0.6"
@@ -92076,14 +92464,14 @@ in
       sources."@types/node-16.11.6"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
-      sources."@types/serve-static-1.13.10"
+      sources."@types/serve-static-1.15.0"
       sources."@types/socket.io-3.0.1"
       sources."@types/source-map-support-0.5.4"
       sources."@types/sqlite3-3.1.7"
       sources."@types/url-join-4.0.1"
       sources."@types/uuid-3.4.10"
       sources."@types/webidl-conversions-6.1.1"
-      sources."@types/whatwg-url-8.2.1"
+      sources."@types/whatwg-url-8.2.2"
       sources."@types/ws-6.0.4"
       (sources."@typescript-eslint/eslint-plugin-4.33.0" // {
         dependencies = [
@@ -92224,7 +92612,7 @@ in
       sources."body-parser-1.19.0"
       sources."brace-expansion-2.0.1"
       sources."braces-3.0.2"
-      sources."bson-4.6.4"
+      sources."bson-4.6.5"
       sources."buffer-5.7.1"
       sources."buffer-equal-1.0.0"
       sources."buffer-from-1.1.2"
@@ -92304,7 +92692,7 @@ in
       })
       sources."clone-2.1.2"
       sources."clone-buffer-1.0.0"
-      sources."clone-response-1.0.2"
+      sources."clone-response-1.0.3"
       sources."clone-stats-1.0.0"
       (sources."cloneable-readable-1.1.3" // {
         dependencies = [
@@ -92391,7 +92779,7 @@ in
       })
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
-      sources."denque-2.0.1"
+      sources."denque-2.1.0"
       sources."depd-1.1.2"
       sources."destroy-1.0.4"
       sources."detect-file-1.0.0"
@@ -92409,7 +92797,7 @@ in
       sources."diskusage-ng-1.0.2"
       sources."doctrine-3.0.0"
       sources."dotenv-8.6.0"
-      sources."duplexer3-0.1.4"
+      sources."duplexer3-0.1.5"
       (sources."duplexify-3.7.1" // {
         dependencies = [
           sources."isarray-1.0.0"
@@ -92432,10 +92820,10 @@ in
         ];
       })
       sources."engine.io-parser-5.0.4"
-      sources."enhanced-resolve-5.9.3"
+      sources."enhanced-resolve-5.10.0"
       sources."enquirer-2.3.6"
       sources."error-ex-1.3.2"
-      sources."es5-ext-0.10.61"
+      sources."es5-ext-0.10.62"
       sources."es6-iterator-2.0.3"
       sources."es6-symbol-3.1.3"
       sources."es6-weak-map-2.0.3"
@@ -92513,7 +92901,7 @@ in
       sources."express-openapi-9.3.0"
       (sources."ext-1.6.0" // {
         dependencies = [
-          sources."type-2.6.0"
+          sources."type-2.7.0"
         ];
       })
       sources."extend-3.0.2"
@@ -92561,7 +92949,7 @@ in
       (sources."flat-cache-3.0.4" // {
         dependencies = [
           sources."brace-expansion-1.1.11"
-          sources."flatted-3.2.5"
+          sources."flatted-3.2.6"
           sources."glob-7.2.3"
           sources."minimatch-3.1.2"
           sources."rimraf-3.0.2"
@@ -92620,7 +93008,7 @@ in
       sources."glob-watcher-5.0.5"
       sources."global-modules-1.0.0"
       sources."global-prefix-1.0.2"
-      sources."globals-13.15.0"
+      sources."globals-13.17.0"
       sources."globby-11.1.0"
       sources."glogg-1.0.2"
       sources."got-9.6.0"
@@ -92773,7 +93161,7 @@ in
       sources."interpret-1.4.0"
       sources."inversify-5.1.1"
       sources."invert-kv-1.0.0"
-      sources."ip-1.1.8"
+      sources."ip-2.0.0"
       sources."ip-num-1.4.0"
       sources."ipaddr.js-1.9.1"
       sources."is-absolute-1.0.0"
@@ -92948,7 +93336,7 @@ in
             ];
           })
           sources."openapi-types-7.2.3"
-          sources."swagger-ui-dist-4.12.0"
+          sources."swagger-ui-dist-4.13.2"
         ];
       })
       (sources."mixin-deep-1.3.2" // {
@@ -92957,8 +93345,8 @@ in
         ];
       })
       sources."mkdirp-1.0.4"
-      sources."mongodb-4.7.0"
-      sources."mongodb-connection-string-url-2.5.2"
+      sources."mongodb-4.8.1"
+      sources."mongodb-connection-string-url-2.5.3"
       (sources."morgan-1.10.0" // {
         dependencies = [
           sources."depd-2.0.0"
@@ -93006,7 +93394,7 @@ in
           sources."tar-2.2.2"
         ];
       })
-      sources."node-gyp-build-4.4.0"
+      sources."node-gyp-build-4.5.0"
       (sources."node-pre-gyp-0.11.0" // {
         dependencies = [
           sources."minimist-1.2.6"
@@ -93161,7 +93549,7 @@ in
       sources."progress-2.0.3"
       sources."promise-queue-2.2.5"
       sources."proxy-addr-2.0.7"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."pump-3.0.0"
       (sources."pumpify-1.5.1" // {
         dependencies = [
@@ -93312,13 +93700,13 @@ in
         ];
       })
       sources."socket.io-adapter-2.3.3"
-      (sources."socket.io-parser-4.0.4" // {
+      (sources."socket.io-parser-4.0.5" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
         ];
       })
-      sources."socks-2.6.2"
+      sources."socks-2.7.0"
       sources."source-map-0.6.1"
       sources."source-map-resolve-0.5.3"
       sources."source-map-support-0.5.20"
@@ -93423,14 +93811,14 @@ in
       sources."to-regex-range-5.0.1"
       sources."to-through-2.0.0"
       sources."toidentifier-1.0.0"
-      sources."token-types-4.2.0"
+      sources."token-types-4.2.1"
       sources."tough-cookie-2.5.0"
       sources."tr46-3.0.0"
       sources."ts-loader-9.2.6"
       sources."ts-log-2.2.4"
       (sources."ts-node-10.4.0" // {
         dependencies = [
-          sources."acorn-8.7.1"
+          sources."acorn-8.8.0"
         ];
       })
       sources."tslib-2.4.0"
@@ -93553,7 +93941,7 @@ in
           sources."is-fullwidth-code-point-3.0.0"
           sources."string-width-4.2.3"
           sources."strip-ansi-6.0.1"
-          sources."yargs-parser-21.0.1"
+          sources."yargs-parser-21.1.0"
         ];
       })
       sources."yargs-parser-20.2.9"
@@ -93578,9 +93966,9 @@ in
     src = ../../applications/video/epgstation/client;
     dependencies = [
       sources."@achrinza/node-ipc-9.2.2"
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/highlight-7.17.12"
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      sources."@babel/highlight-7.18.6"
       (sources."@eslint/eslintrc-0.4.3" // {
         dependencies = [
           sources."acorn-7.4.1"
@@ -93619,23 +94007,23 @@ in
       sources."@types/connect-3.4.35"
       sources."@types/connect-history-api-fallback-1.3.5"
       sources."@types/express-4.17.13"
-      sources."@types/express-serve-static-core-4.17.29"
+      sources."@types/express-serve-static-core-4.17.30"
       sources."@types/glob-7.2.0"
       sources."@types/hls.js-0.13.3"
       sources."@types/http-proxy-1.17.9"
       sources."@types/json-schema-7.0.11"
       sources."@types/json-stable-stringify-1.0.33"
       sources."@types/lodash-4.14.178"
-      sources."@types/mime-1.3.2"
+      sources."@types/mime-3.0.0"
       sources."@types/minimatch-3.0.5"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse-json-4.0.0"
       sources."@types/q-1.5.5"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
-      sources."@types/serve-static-1.13.10"
+      sources."@types/serve-static-1.15.0"
       sources."@types/smoothscroll-polyfill-0.3.1"
       sources."@types/socket.io-client-1.4.36"
       sources."@types/source-list-map-0.1.2"
@@ -93664,7 +94052,7 @@ in
       sources."@typescript-eslint/types-4.33.0"
       sources."@typescript-eslint/typescript-estree-4.33.0"
       sources."@typescript-eslint/visitor-keys-4.33.0"
-      sources."@vue/cli-overlay-4.5.18"
+      sources."@vue/cli-overlay-4.5.19"
       (sources."@vue/cli-plugin-eslint-4.5.12" // {
         dependencies = [
           sources."@nodelib/fs.stat-1.1.3"
@@ -93700,7 +94088,7 @@ in
           sources."to-regex-range-2.1.1"
         ];
       })
-      sources."@vue/cli-plugin-router-4.5.18"
+      sources."@vue/cli-plugin-router-4.5.19"
       (sources."@vue/cli-plugin-typescript-4.5.13" // {
         dependencies = [
           sources."@nodelib/fs.stat-1.1.3"
@@ -93751,7 +94139,7 @@ in
           sources."universalify-0.1.2"
         ];
       })
-      (sources."@vue/cli-shared-utils-4.5.18" // {
+      (sources."@vue/cli-shared-utils-4.5.19" // {
         dependencies = [
           sources."lru-cache-5.1.1"
           sources."semver-6.3.0"
@@ -93903,7 +94291,7 @@ in
         ];
       })
       sources."browserify-zlib-0.2.0"
-      sources."browserslist-4.20.4"
+      sources."browserslist-4.21.3"
       sources."buffer-4.9.2"
       sources."buffer-from-1.1.2"
       sources."buffer-indexof-1.1.1"
@@ -93945,7 +94333,7 @@ in
       sources."camel-case-3.0.0"
       sources."camelcase-5.3.1"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001358"
+      sources."caniuse-lite-1.0.30001373"
       sources."case-sensitive-paths-webpack-plugin-2.4.0"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
@@ -93989,7 +94377,7 @@ in
           sources."supports-color-7.2.0"
         ];
       })
-      sources."cli-spinners-2.6.1"
+      sources."cli-spinners-2.7.0"
       sources."cli-width-3.0.0"
       (sources."clipboardy-2.3.0" // {
         dependencies = [
@@ -94109,7 +94497,7 @@ in
       })
       sources."cyclist-1.0.1"
       sources."dashdash-1.14.1"
-      sources."date-fns-2.28.0"
+      sources."date-fns-2.29.1"
       sources."de-indent-1.0.2"
       sources."debug-4.3.4"
       sources."decache-4.6.1"
@@ -94186,7 +94574,7 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
       sources."ejs-2.7.4"
-      sources."electron-to-chromium-1.4.164"
+      sources."electron-to-chromium-1.4.211"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -94360,7 +94748,7 @@ in
           sources."rimraf-3.0.2"
         ];
       })
-      sources."flatted-3.2.5"
+      sources."flatted-3.2.6"
       sources."flush-write-stream-1.1.1"
       sources."follow-redirects-1.15.1"
       sources."for-in-1.0.2"
@@ -94412,7 +94800,7 @@ in
       sources."glob-7.2.3"
       sources."glob-parent-5.1.2"
       sources."glob-to-regexp-0.3.0"
-      (sources."globals-13.15.0" // {
+      (sources."globals-13.17.0" // {
         dependencies = [
           sources."type-fest-0.20.2"
         ];
@@ -94487,7 +94875,7 @@ in
       })
       sources."http-deceiver-1.2.7"
       sources."http-errors-2.0.0"
-      sources."http-parser-js-0.5.6"
+      sources."http-parser-js-0.5.8"
       sources."http-proxy-1.18.1"
       sources."http-proxy-middleware-1.3.1"
       sources."http-signature-1.2.0"
@@ -94639,7 +95027,7 @@ in
       sources."md5.js-1.3.5"
       sources."mdn-data-2.0.4"
       sources."media-typer-0.3.0"
-      sources."memfs-3.4.6"
+      sources."memfs-3.4.7"
       sources."memory-fs-0.4.1"
       sources."merge-descriptors-1.0.1"
       (sources."merge-source-map-1.1.0" // {
@@ -94670,7 +95058,7 @@ in
       sources."minimalistic-crypto-utils-1.0.1"
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
-      sources."minipass-3.3.3"
+      sources."minipass-3.3.5"
       sources."mississippi-3.0.0"
       (sources."mixin-deep-1.3.2" // {
         dependencies = [
@@ -94698,7 +95086,7 @@ in
           sources."punycode-1.4.1"
         ];
       })
-      sources."node-releases-2.0.5"
+      sources."node-releases-2.0.6"
       (sources."normalize-package-data-2.5.0" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -94939,7 +95327,7 @@ in
       sources."proxy-addr-2.0.7"
       sources."prr-1.0.1"
       sources."pseudomap-1.0.2"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       (sources."public-encrypt-4.0.3" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -95215,7 +95603,7 @@ in
         ];
       })
       sources."tapable-1.1.3"
-      (sources."terser-4.8.0" // {
+      (sources."terser-4.8.1" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -95299,6 +95687,7 @@ in
         ];
       })
       sources."upath-1.2.0"
+      sources."update-browserslist-db-1.0.5"
       sources."upper-case-1.1.3"
       sources."uri-js-4.4.1"
       sources."urix-0.1.0"
@@ -95340,7 +95729,7 @@ in
         ];
       })
       sources."vue-hot-reload-api-2.3.4"
-      (sources."vue-loader-15.9.8" // {
+      (sources."vue-loader-15.10.0" // {
         dependencies = [
           sources."hash-sum-1.0.2"
         ];
@@ -95554,23 +95943,29 @@ in
   eslint = nodeEnv.buildNodePackage {
     name = "eslint";
     packageName = "eslint";
-    version = "8.18.0";
+    version = "8.21.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/eslint/-/eslint-8.18.0.tgz";
-      sha512 = "As1EfFMVk7Xc6/CvhssHUjsAQSkpfXvUGMFC3ce8JDe6WvqCgRrLOBQbVpsBFr1X1V+RACOadnzVvcUS5ni2bA==";
+      url = "https://registry.npmjs.org/eslint/-/eslint-8.21.0.tgz";
+      sha512 = "/XJ1+Qurf1T9G2M5IHrsjp+xrGT73RZf23xA1z5wB1ZzzEAWSZKvRwhWxTFp1rvkvCfwcvAUNAP31bhKTTGfDA==";
     };
     dependencies = [
       sources."@eslint/eslintrc-1.3.0"
-      sources."@humanwhocodes/config-array-0.9.5"
+      sources."@humanwhocodes/config-array-0.10.4"
+      sources."@humanwhocodes/gitignore-to-minimatch-1.0.2"
       sources."@humanwhocodes/object-schema-1.2.1"
-      sources."acorn-8.7.1"
+      sources."@nodelib/fs.scandir-2.1.5"
+      sources."@nodelib/fs.stat-2.0.5"
+      sources."@nodelib/fs.walk-1.2.8"
+      sources."acorn-8.8.0"
       sources."acorn-jsx-5.3.2"
       sources."ajv-6.12.6"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
       sources."argparse-2.0.1"
+      sources."array-union-2.1.0"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
+      sources."braces-3.0.2"
       sources."callsites-3.1.0"
       sources."chalk-4.1.2"
       sources."color-convert-2.0.1"
@@ -95579,6 +95974,7 @@ in
       sources."cross-spawn-7.0.3"
       sources."debug-4.3.4"
       sources."deep-is-0.1.4"
+      sources."dir-glob-3.0.1"
       sources."doctrine-3.0.0"
       sources."escape-string-regexp-4.0.0"
       sources."eslint-scope-7.1.1"
@@ -95588,22 +95984,32 @@ in
         ];
       })
       sources."eslint-visitor-keys-3.3.0"
-      sources."espree-9.3.2"
+      sources."espree-9.3.3"
       sources."esquery-1.4.0"
       sources."esrecurse-4.3.0"
       sources."estraverse-5.3.0"
       sources."esutils-2.0.3"
       sources."fast-deep-equal-3.1.3"
+      (sources."fast-glob-3.2.11" // {
+        dependencies = [
+          sources."glob-parent-5.1.2"
+        ];
+      })
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
+      sources."fastq-1.13.0"
       sources."file-entry-cache-6.0.1"
+      sources."fill-range-7.0.1"
+      sources."find-up-5.0.0"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.2.5"
+      sources."flatted-3.2.6"
       sources."fs.realpath-1.0.0"
       sources."functional-red-black-tree-1.0.1"
       sources."glob-7.2.3"
       sources."glob-parent-6.0.2"
-      sources."globals-13.15.0"
+      sources."globals-13.17.0"
+      sources."globby-11.1.0"
+      sources."grapheme-splitter-1.0.4"
       sources."has-flag-4.0.0"
       sources."ignore-5.2.0"
       sources."import-fresh-3.3.0"
@@ -95612,31 +96018,45 @@ in
       sources."inherits-2.0.4"
       sources."is-extglob-2.1.1"
       sources."is-glob-4.0.3"
+      sources."is-number-7.0.0"
       sources."isexe-2.0.0"
       sources."js-yaml-4.1.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stable-stringify-without-jsonify-1.0.1"
       sources."levn-0.4.1"
+      sources."locate-path-6.0.0"
       sources."lodash.merge-4.6.2"
+      sources."merge2-1.4.1"
+      sources."micromatch-4.0.5"
       sources."minimatch-3.1.2"
       sources."ms-2.1.2"
       sources."natural-compare-1.4.0"
       sources."once-1.4.0"
       sources."optionator-0.9.1"
+      sources."p-limit-3.1.0"
+      sources."p-locate-5.0.0"
       sources."parent-module-1.0.1"
+      sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-key-3.1.1"
+      sources."path-type-4.0.0"
+      sources."picomatch-2.3.1"
       sources."prelude-ls-1.2.1"
       sources."punycode-2.1.1"
+      sources."queue-microtask-1.2.3"
       sources."regexpp-3.2.0"
       sources."resolve-from-4.0.0"
+      sources."reusify-1.0.4"
       sources."rimraf-3.0.2"
+      sources."run-parallel-1.2.0"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
+      sources."slash-3.0.0"
       sources."strip-ansi-6.0.1"
       sources."strip-json-comments-3.1.1"
       sources."supports-color-7.2.0"
       sources."text-table-0.2.0"
+      sources."to-regex-range-5.0.1"
       sources."type-check-0.4.0"
       sources."type-fest-0.20.2"
       sources."uri-js-4.4.1"
@@ -95644,6 +96064,7 @@ in
       sources."which-2.0.2"
       sources."word-wrap-1.2.3"
       sources."wrappy-1.0.2"
+      sources."yocto-queue-0.1.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -95665,16 +96086,22 @@ in
     };
     dependencies = [
       sources."@eslint/eslintrc-1.3.0"
-      sources."@humanwhocodes/config-array-0.9.5"
+      sources."@humanwhocodes/config-array-0.10.4"
+      sources."@humanwhocodes/gitignore-to-minimatch-1.0.2"
       sources."@humanwhocodes/object-schema-1.2.1"
-      sources."acorn-8.7.1"
+      sources."@nodelib/fs.scandir-2.1.5"
+      sources."@nodelib/fs.stat-2.0.5"
+      sources."@nodelib/fs.walk-1.2.8"
+      sources."acorn-8.8.0"
       sources."acorn-jsx-5.3.2"
       sources."ajv-6.12.6"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
       sources."argparse-2.0.1"
+      sources."array-union-2.1.0"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
+      sources."braces-3.0.2"
       sources."callsites-3.1.0"
       (sources."chalk-4.1.2" // {
         dependencies = [
@@ -95688,9 +96115,10 @@ in
       sources."cross-spawn-7.0.3"
       sources."debug-4.3.4"
       sources."deep-is-0.1.4"
+      sources."dir-glob-3.0.1"
       sources."doctrine-3.0.0"
       sources."escape-string-regexp-4.0.0"
-      sources."eslint-8.18.0"
+      sources."eslint-8.21.0"
       sources."eslint-scope-7.1.1"
       (sources."eslint-utils-3.0.0" // {
         dependencies = [
@@ -95698,22 +96126,32 @@ in
         ];
       })
       sources."eslint-visitor-keys-3.3.0"
-      sources."espree-9.3.2"
+      sources."espree-9.3.3"
       sources."esquery-1.4.0"
       sources."esrecurse-4.3.0"
       sources."estraverse-5.3.0"
       sources."esutils-2.0.3"
       sources."fast-deep-equal-3.1.3"
+      (sources."fast-glob-3.2.11" // {
+        dependencies = [
+          sources."glob-parent-5.1.2"
+        ];
+      })
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
+      sources."fastq-1.13.0"
       sources."file-entry-cache-6.0.1"
+      sources."fill-range-7.0.1"
+      sources."find-up-5.0.0"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.2.5"
+      sources."flatted-3.2.6"
       sources."fs.realpath-1.0.0"
       sources."functional-red-black-tree-1.0.1"
       sources."glob-7.2.3"
       sources."glob-parent-6.0.2"
-      sources."globals-13.15.0"
+      sources."globals-13.17.0"
+      sources."globby-11.1.0"
+      sources."grapheme-splitter-1.0.4"
       sources."has-flag-4.0.0"
       sources."ignore-5.2.0"
       sources."import-fresh-3.3.0"
@@ -95722,32 +96160,46 @@ in
       sources."inherits-2.0.4"
       sources."is-extglob-2.1.1"
       sources."is-glob-4.0.3"
+      sources."is-number-7.0.0"
       sources."isexe-2.0.0"
       sources."js-yaml-4.1.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stable-stringify-without-jsonify-1.0.1"
       sources."levn-0.4.1"
+      sources."locate-path-6.0.0"
       sources."lodash.merge-4.6.2"
+      sources."merge2-1.4.1"
+      sources."micromatch-4.0.5"
       sources."minimatch-3.1.2"
       sources."ms-2.1.2"
       sources."nanolru-1.0.0"
       sources."natural-compare-1.4.0"
       sources."once-1.4.0"
       sources."optionator-0.9.1"
+      sources."p-limit-3.1.0"
+      sources."p-locate-5.0.0"
       sources."parent-module-1.0.1"
+      sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-key-3.1.1"
+      sources."path-type-4.0.0"
+      sources."picomatch-2.3.1"
       sources."prelude-ls-1.2.1"
       sources."punycode-2.1.1"
+      sources."queue-microtask-1.2.3"
       sources."regexpp-3.2.0"
       sources."resolve-from-4.0.0"
+      sources."reusify-1.0.4"
       sources."rimraf-3.0.2"
+      sources."run-parallel-1.2.0"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
+      sources."slash-3.0.0"
       sources."strip-ansi-6.0.1"
       sources."strip-json-comments-3.1.1"
       sources."supports-color-8.1.1"
       sources."text-table-0.2.0"
+      sources."to-regex-range-5.0.1"
       sources."type-check-0.4.0"
       sources."type-fest-0.20.2"
       sources."uri-js-4.4.1"
@@ -95755,6 +96207,7 @@ in
       sources."which-2.0.2"
       sources."word-wrap-1.2.3"
       sources."wrappy-1.0.2"
+      sources."yocto-queue-0.1.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -95786,10 +96239,10 @@ in
   expo-cli = nodeEnv.buildNodePackage {
     name = "expo-cli";
     packageName = "expo-cli";
-    version = "5.4.11";
+    version = "6.0.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/expo-cli/-/expo-cli-5.4.11.tgz";
-      sha512 = "AWx0Zr3YYnnAQkVLxL98zBgj7CLyiTlKtiRMeexYkW0o4O85udfokF4FSCDFWf7YHrGg17PfNGKzlNya0Ths7w==";
+      url = "https://registry.npmjs.org/expo-cli/-/expo-cli-6.0.1.tgz";
+      sha512 = "p9eQapTdhOg2JmTSY6RwX31LSyWjrQJrit+G44jSAlYI/3G8nJkIOdNDLWHPjA2USJPArAuPChFwn3uT0ggBzQ==";
     };
     dependencies = [
       sources."@babel/code-frame-7.10.4"
@@ -95799,34 +96252,35 @@ in
           sources."semver-5.7.1"
         ];
       })
-      sources."@babel/generator-7.18.2"
-      sources."@babel/helper-environment-visitor-7.18.2"
-      sources."@babel/helper-function-name-7.17.9"
-      sources."@babel/helper-hoist-variables-7.16.7"
-      sources."@babel/helper-module-imports-7.16.7"
-      sources."@babel/helper-module-transforms-7.18.0"
-      sources."@babel/helper-simple-access-7.18.2"
-      sources."@babel/helper-split-export-declaration-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/helpers-7.18.2"
-      (sources."@babel/highlight-7.17.12" // {
+      sources."@babel/generator-7.18.10"
+      sources."@babel/helper-environment-visitor-7.18.9"
+      sources."@babel/helper-function-name-7.18.9"
+      sources."@babel/helper-hoist-variables-7.18.6"
+      sources."@babel/helper-module-imports-7.18.6"
+      sources."@babel/helper-module-transforms-7.18.9"
+      sources."@babel/helper-simple-access-7.18.6"
+      sources."@babel/helper-split-export-declaration-7.18.6"
+      sources."@babel/helper-string-parser-7.18.10"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      sources."@babel/helpers-7.18.9"
+      (sources."@babel/highlight-7.18.6" // {
         dependencies = [
           sources."chalk-2.4.2"
         ];
       })
-      sources."@babel/parser-7.18.5"
+      sources."@babel/parser-7.18.10"
       sources."@babel/runtime-7.9.0"
-      (sources."@babel/template-7.16.7" // {
+      (sources."@babel/template-7.18.10" // {
         dependencies = [
-          sources."@babel/code-frame-7.16.7"
+          sources."@babel/code-frame-7.18.6"
         ];
       })
-      (sources."@babel/traverse-7.18.5" // {
+      (sources."@babel/traverse-7.18.10" // {
         dependencies = [
-          sources."@babel/code-frame-7.16.7"
+          sources."@babel/code-frame-7.18.6"
         ];
       })
-      sources."@babel/types-7.18.4"
+      sources."@babel/types-7.18.10"
       sources."@expo/apple-utils-0.0.0-alpha.31"
       sources."@expo/bunyan-4.0.0"
       sources."@expo/config-6.0.24"
@@ -95836,8 +96290,7 @@ in
         ];
       })
       sources."@expo/config-types-45.0.0"
-      sources."@expo/dev-server-0.1.113"
-      sources."@expo/dev-tools-0.13.158"
+      sources."@expo/dev-server-0.1.115"
       (sources."@expo/devcert-1.0.0" // {
         dependencies = [
           sources."debug-3.2.7"
@@ -95845,9 +96298,8 @@ in
           sources."sudo-prompt-8.2.5"
         ];
       })
-      (sources."@expo/image-utils-0.3.20" // {
+      (sources."@expo/image-utils-0.3.21" // {
         dependencies = [
-          sources."mime-2.6.0"
           sources."temp-dir-1.0.0"
           sources."tempy-0.3.0"
           sources."type-fest-0.3.1"
@@ -95856,7 +96308,7 @@ in
       sources."@expo/json-file-8.2.36"
       sources."@expo/metro-config-0.3.18"
       sources."@expo/osascript-2.0.33"
-      (sources."@expo/package-manager-0.0.55" // {
+      (sources."@expo/package-manager-0.0.56" // {
         dependencies = [
           sources."npm-package-arg-7.0.0"
           sources."rimraf-3.0.2"
@@ -95868,13 +96320,13 @@ in
           sources."xmlbuilder-14.0.0"
         ];
       })
-      sources."@expo/prebuild-config-4.0.2"
+      sources."@expo/prebuild-config-4.0.3"
       sources."@expo/rudder-sdk-node-1.1.1"
-      sources."@expo/schemer-1.4.2"
+      sources."@expo/schemer-1.4.3"
       sources."@expo/sdk-runtime-versions-1.0.0"
       sources."@expo/spawn-async-1.5.0"
-      sources."@expo/webpack-config-0.16.24"
-      (sources."@expo/xcpretty-4.1.3" // {
+      sources."@expo/webpack-config-0.17.0"
+      (sources."@expo/xcpretty-4.2.2" // {
         dependencies = [
           sources."js-yaml-4.1.0"
         ];
@@ -95882,11 +96334,11 @@ in
       sources."@gar/promisify-1.1.3"
       sources."@hapi/hoek-9.3.0"
       sources."@hapi/topo-5.1.0"
-      sources."@jridgewell/gen-mapping-0.3.1"
-      sources."@jridgewell/resolve-uri-3.0.7"
-      sources."@jridgewell/set-array-1.1.1"
-      sources."@jridgewell/sourcemap-codec-1.4.13"
-      sources."@jridgewell/trace-mapping-0.3.13"
+      sources."@jridgewell/gen-mapping-0.3.2"
+      sources."@jridgewell/resolve-uri-3.1.0"
+      sources."@jridgewell/set-array-1.1.2"
+      sources."@jridgewell/sourcemap-codec-1.4.14"
+      sources."@jridgewell/trace-mapping-0.3.14"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
@@ -95916,7 +96368,7 @@ in
       sources."@types/json-schema-7.0.11"
       sources."@types/keyv-3.1.4"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-9.6.61"
+      sources."@types/node-18.6.3"
       sources."@types/q-1.5.5"
       sources."@types/responselike-1.0.0"
       sources."@types/retry-0.12.2"
@@ -95955,7 +96407,6 @@ in
       sources."@webassemblyjs/wasm-parser-1.9.0"
       sources."@webassemblyjs/wast-parser-1.9.0"
       sources."@webassemblyjs/wast-printer-1.9.0"
-      sources."@wry/equality-0.1.11"
       sources."@xmldom/xmldom-0.7.5"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
@@ -95983,8 +96434,6 @@ in
       sources."ansi-styles-3.2.1"
       sources."any-promise-1.3.0"
       sources."anymatch-3.1.2"
-      sources."apollo-link-1.2.1"
-      sources."apollo-utilities-1.3.4"
       sources."application-config-path-0.1.0"
       sources."aproba-1.2.0"
       sources."argparse-2.0.1"
@@ -96022,7 +96471,6 @@ in
           sources."schema-utils-2.7.1"
         ];
       })
-      sources."backo2-1.0.2"
       sources."balanced-match-1.0.2"
       (sources."base-0.11.2" // {
         dependencies = [
@@ -96030,7 +96478,6 @@ in
         ];
       })
       sources."base64-js-1.5.1"
-      sources."base64url-3.0.1"
       sources."batch-0.6.1"
       sources."better-opn-3.0.2"
       sources."big-integer-1.6.51"
@@ -96056,7 +96503,7 @@ in
           sources."type-fest-0.20.2"
         ];
       })
-      sources."bplist-creator-0.1.0"
+      sources."bplist-creator-0.1.1"
       sources."bplist-parser-0.2.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
@@ -96072,11 +96519,7 @@ in
         ];
       })
       sources."browserify-zlib-0.2.0"
-      (sources."browserslist-4.20.4" // {
-        dependencies = [
-          sources."picocolors-1.0.0"
-        ];
-      })
+      sources."browserslist-4.21.3"
       sources."buffer-4.9.2"
       sources."buffer-from-1.1.2"
       sources."buffer-indexof-1.1.1"
@@ -96105,7 +96548,7 @@ in
       })
       sources."camelcase-6.3.0"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001358"
+      sources."caniuse-lite-1.0.30001373"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -96155,7 +96598,7 @@ in
       })
       sources."cli-boxes-2.2.1"
       sources."cli-cursor-2.1.0"
-      sources."cli-spinners-2.6.1"
+      sources."cli-spinners-2.7.0"
       sources."cli-table3-0.6.2"
       (sources."cliui-5.0.0" // {
         dependencies = [
@@ -96168,7 +96611,7 @@ in
         ];
       })
       sources."clone-1.0.4"
-      sources."clone-response-1.0.2"
+      sources."clone-response-1.0.3"
       (sources."coa-2.0.2" // {
         dependencies = [
           sources."chalk-2.4.2"
@@ -96313,7 +96756,6 @@ in
       })
       sources."delayed-stream-1.0.0"
       sources."depd-1.1.2"
-      sources."deprecated-decorator-0.1.6"
       sources."des.js-1.0.1"
       sources."destroy-1.0.4"
       sources."detect-node-2.1.0"
@@ -96354,10 +96796,10 @@ in
       })
       sources."dot-prop-5.3.0"
       sources."duplexer-0.1.2"
-      sources."duplexer3-0.1.4"
+      sources."duplexer3-0.1.5"
       sources."duplexify-3.7.1"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.164"
+      sources."electron-to-chromium-1.4.211"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -96392,7 +96834,7 @@ in
       })
       sources."estraverse-4.3.0"
       sources."etag-1.8.1"
-      sources."eventemitter3-2.0.3"
+      sources."eventemitter3-4.0.7"
       sources."events-3.3.0"
       sources."eventsource-1.1.2"
       sources."evp_bytestokey-1.0.3"
@@ -96429,9 +96871,13 @@ in
           sources."fs-extra-9.1.0"
         ];
       })
-      (sources."expo-pwa-0.0.119" // {
+      (sources."expo-pwa-0.0.122" // {
         dependencies = [
+          sources."@expo/image-utils-0.3.22"
           sources."commander-2.20.0"
+          sources."temp-dir-1.0.0"
+          sources."tempy-0.3.0"
+          sources."type-fest-0.3.1"
         ];
       })
       (sources."express-4.16.4" // {
@@ -96545,12 +96991,6 @@ in
       sources."globby-11.1.0"
       sources."got-11.8.5"
       sources."graceful-fs-4.2.10"
-      sources."graphql-0.13.2"
-      (sources."graphql-tools-3.0.0" // {
-        dependencies = [
-          sources."uuid-3.4.0"
-        ];
-      })
       sources."gzip-size-5.1.1"
       sources."handle-thing-2.0.1"
       sources."has-1.0.3"
@@ -96610,11 +97050,7 @@ in
           sources."inherits-2.0.3"
         ];
       })
-      (sources."http-proxy-1.18.1" // {
-        dependencies = [
-          sources."eventemitter3-4.0.7"
-        ];
-      })
+      sources."http-proxy-1.18.1"
       (sources."http-proxy-middleware-0.19.1" // {
         dependencies = [
           sources."braces-2.3.2"
@@ -96633,7 +97069,7 @@ in
       sources."ieee754-1.2.1"
       sources."iferr-0.1.5"
       sources."ignore-5.2.0"
-      sources."image-size-1.0.1"
+      sources."image-size-1.0.2"
       sources."immer-8.0.1"
       (sources."import-fresh-2.0.0" // {
         dependencies = [
@@ -96729,7 +97165,6 @@ in
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."isobject-3.0.1"
-      sources."iterall-1.2.2"
       (sources."jest-worker-26.6.2" // {
         dependencies = [
           sources."has-flag-4.0.0"
@@ -96759,7 +97194,7 @@ in
       sources."json5-1.0.1"
       sources."jsonfile-6.1.0"
       sources."keychain-1.3.0"
-      sources."keyv-4.3.1"
+      sources."keyv-4.3.3"
       sources."killable-1.0.1"
       sources."kind-of-6.0.3"
       sources."kleur-3.0.3"
@@ -96775,9 +97210,6 @@ in
       })
       sources."locate-path-6.0.0"
       sources."lodash-4.17.21"
-      sources."lodash.assign-4.2.0"
-      sources."lodash.isobject-3.0.2"
-      sources."lodash.isstring-4.0.1"
       sources."lodash.memoize-4.1.2"
       sources."lodash.uniq-4.5.0"
       (sources."log-symbols-2.2.0" // {
@@ -96818,7 +97250,7 @@ in
           sources."bn.js-4.12.0"
         ];
       })
-      sources."mime-1.4.1"
+      sources."mime-2.6.0"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."mimic-fn-1.2.0"
@@ -96880,7 +97312,7 @@ in
           sources."punycode-1.4.1"
         ];
       })
-      sources."node-releases-2.0.5"
+      sources."node-releases-2.0.6"
       sources."normalize-path-3.0.0"
       sources."normalize-url-6.1.0"
       (sources."npm-package-arg-6.1.0" // {
@@ -97034,7 +97466,7 @@ in
           sources."path-exists-3.0.0"
         ];
       })
-      sources."plist-3.0.5"
+      sources."plist-3.0.6"
       sources."pngjs-3.4.0"
       sources."pnp-webpack-plugin-1.7.0"
       (sources."portfinder-1.0.28" // {
@@ -97270,7 +97702,7 @@ in
       })
       sources."resolve-from-5.0.0"
       sources."resolve-url-0.2.1"
-      sources."responselike-2.0.0"
+      sources."responselike-2.0.1"
       sources."restore-cursor-2.0.0"
       sources."ret-0.1.15"
       sources."retry-0.12.0"
@@ -97300,6 +97732,7 @@ in
           sources."debug-2.6.9"
           sources."http-errors-1.6.3"
           sources."inherits-2.0.3"
+          sources."mime-1.4.1"
           sources."ms-2.0.0"
           sources."setprototypeof-1.1.0"
           sources."statuses-1.4.0"
@@ -97331,9 +97764,9 @@ in
       sources."shell-quote-1.7.2"
       sources."side-channel-1.0.4"
       sources."signal-exit-3.0.7"
-      (sources."simple-plist-1.3.1" // {
+      (sources."simple-plist-1.4.0" // {
         dependencies = [
-          sources."bplist-parser-0.3.1"
+          sources."bplist-parser-0.3.2"
         ];
       })
       (sources."simple-swizzle-0.2.2" // {
@@ -97447,8 +97880,7 @@ in
           sources."postcss-selector-parser-3.1.2"
         ];
       })
-      sources."subscriptions-transport-ws-0.9.8"
-      (sources."sucrase-3.21.0" // {
+      (sources."sucrase-3.25.0" // {
         dependencies = [
           sources."commander-4.1.1"
         ];
@@ -97477,7 +97909,6 @@ in
           sources."nth-check-1.0.2"
         ];
       })
-      sources."symbol-observable-1.2.0"
       sources."tapable-1.1.3"
       (sources."tar-6.1.11" // {
         dependencies = [
@@ -97493,7 +97924,7 @@ in
         ];
       })
       sources."terminal-link-2.1.1"
-      (sources."terser-4.8.0" // {
+      (sources."terser-4.8.1" // {
         dependencies = [
           sources."commander-2.20.3"
           sources."source-map-0.6.1"
@@ -97541,7 +97972,6 @@ in
       sources."traverse-0.6.6"
       sources."tree-kill-1.2.2"
       sources."ts-interface-checker-0.1.13"
-      sources."ts-invariant-0.4.4"
       sources."ts-pnp-1.2.0"
       sources."tslib-1.14.1"
       sources."tty-browserify-0.0.0"
@@ -97549,7 +97979,6 @@ in
       sources."type-fest-0.12.0"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
-      sources."ultron-1.1.1"
       sources."unbox-primitive-1.0.2"
       sources."union-value-1.0.1"
       sources."uniq-1.0.1"
@@ -97572,6 +98001,11 @@ in
       })
       sources."untildify-3.0.3"
       sources."upath-1.2.0"
+      (sources."update-browserslist-db-1.0.5" // {
+        dependencies = [
+          sources."picocolors-1.0.0"
+        ];
+      })
       sources."update-check-1.5.3"
       sources."uri-js-4.4.1"
       sources."urix-0.1.0"
@@ -97650,11 +98084,7 @@ in
           sources."yallist-3.1.1"
         ];
       })
-      (sources."webpack-dev-middleware-3.7.3" // {
-        dependencies = [
-          sources."mime-2.6.0"
-        ];
-      })
+      sources."webpack-dev-middleware-3.7.3"
       (sources."webpack-dev-server-3.11.0" // {
         dependencies = [
           sources."ansi-regex-2.1.1"
@@ -97727,7 +98157,6 @@ in
           sources."supports-color-6.1.0"
           sources."to-regex-range-2.1.1"
           sources."toidentifier-1.0.1"
-          sources."ws-6.2.2"
         ];
       })
       (sources."webpack-log-2.0.0" // {
@@ -97766,13 +98195,13 @@ in
       })
       sources."wrappy-1.0.2"
       sources."write-file-atomic-2.4.3"
-      sources."ws-3.3.3"
+      sources."ws-6.2.2"
       (sources."xcode-3.0.1" // {
         dependencies = [
           sources."uuid-7.0.3"
         ];
       })
-      (sources."xdl-59.2.41" // {
+      (sources."xdl-59.2.49" // {
         dependencies = [
           sources."bplist-parser-0.3.2"
           sources."minimatch-3.0.4"
@@ -97784,7 +98213,7 @@ in
           sources."xmlbuilder-11.0.1"
         ];
       })
-      sources."xmlbuilder-9.0.7"
+      sources."xmlbuilder-15.1.1"
       sources."xtend-4.0.2"
       sources."y18n-4.0.3"
       sources."yallist-4.0.0"
@@ -97808,8 +98237,6 @@ in
         ];
       })
       sources."yocto-queue-0.1.0"
-      sources."zen-observable-0.8.15"
-      sources."zen-observable-ts-0.8.21"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -97831,45 +98258,46 @@ in
     };
     dependencies = [
       sources."@ampproject/remapping-2.2.0"
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.18.5"
-      sources."@babel/core-7.18.5"
-      (sources."@babel/generator-7.18.2" // {
-        dependencies = [
-          sources."@jridgewell/gen-mapping-0.3.1"
-        ];
-      })
-      sources."@babel/helper-annotate-as-pure-7.16.7"
-      sources."@babel/helper-compilation-targets-7.18.2"
-      sources."@babel/helper-environment-visitor-7.18.2"
-      sources."@babel/helper-function-name-7.17.9"
-      sources."@babel/helper-hoist-variables-7.16.7"
-      sources."@babel/helper-module-imports-7.16.7"
-      sources."@babel/helper-module-transforms-7.18.0"
-      sources."@babel/helper-plugin-utils-7.17.12"
-      sources."@babel/helper-simple-access-7.18.2"
-      sources."@babel/helper-split-export-declaration-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/helper-validator-option-7.16.7"
-      sources."@babel/helpers-7.18.2"
-      sources."@babel/highlight-7.17.12"
-      sources."@babel/parser-7.18.5"
-      sources."@babel/plugin-proposal-object-rest-spread-7.18.0"
-      sources."@babel/plugin-syntax-jsx-7.17.12"
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/compat-data-7.18.8"
+      sources."@babel/core-7.18.10"
+      (sources."@babel/generator-7.18.10" // {
+        dependencies = [
+          sources."@jridgewell/gen-mapping-0.3.2"
+        ];
+      })
+      sources."@babel/helper-annotate-as-pure-7.18.6"
+      sources."@babel/helper-compilation-targets-7.18.9"
+      sources."@babel/helper-environment-visitor-7.18.9"
+      sources."@babel/helper-function-name-7.18.9"
+      sources."@babel/helper-hoist-variables-7.18.6"
+      sources."@babel/helper-module-imports-7.18.6"
+      sources."@babel/helper-module-transforms-7.18.9"
+      sources."@babel/helper-plugin-utils-7.18.9"
+      sources."@babel/helper-simple-access-7.18.6"
+      sources."@babel/helper-split-export-declaration-7.18.6"
+      sources."@babel/helper-string-parser-7.18.10"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      sources."@babel/helper-validator-option-7.18.6"
+      sources."@babel/helpers-7.18.9"
+      sources."@babel/highlight-7.18.6"
+      sources."@babel/parser-7.18.10"
+      sources."@babel/plugin-proposal-object-rest-spread-7.18.9"
+      sources."@babel/plugin-syntax-jsx-7.18.6"
       sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
-      sources."@babel/plugin-transform-destructuring-7.18.0"
-      sources."@babel/plugin-transform-parameters-7.17.12"
-      sources."@babel/plugin-transform-react-jsx-7.17.12"
-      sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.18.5"
-      sources."@babel/types-7.18.4"
+      sources."@babel/plugin-transform-destructuring-7.18.9"
+      sources."@babel/plugin-transform-parameters-7.18.8"
+      sources."@babel/plugin-transform-react-jsx-7.18.10"
+      sources."@babel/template-7.18.10"
+      sources."@babel/traverse-7.18.10"
+      sources."@babel/types-7.18.10"
       sources."@jridgewell/gen-mapping-0.1.1"
-      sources."@jridgewell/resolve-uri-3.0.7"
-      sources."@jridgewell/set-array-1.1.1"
-      sources."@jridgewell/sourcemap-codec-1.4.13"
-      sources."@jridgewell/trace-mapping-0.3.13"
+      sources."@jridgewell/resolve-uri-3.1.0"
+      sources."@jridgewell/set-array-1.1.2"
+      sources."@jridgewell/sourcemap-codec-1.4.14"
+      sources."@jridgewell/trace-mapping-0.3.14"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/yauzl-2.10.0"
       sources."@types/yoga-layout-1.9.2"
@@ -97888,7 +98316,7 @@ in
       sources."base64-js-1.5.1"
       sources."bl-4.1.0"
       sources."brace-expansion-1.1.11"
-      sources."browserslist-4.20.4"
+      sources."browserslist-4.21.3"
       sources."buffer-5.7.1"
       sources."buffer-crc32-0.2.13"
       sources."caller-callsite-4.1.0"
@@ -97896,13 +98324,13 @@ in
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001358"
+      sources."caniuse-lite-1.0.30001373"
       sources."chalk-2.4.2"
       sources."chownr-1.1.4"
       sources."ci-info-2.0.0"
       sources."cli-boxes-2.2.1"
       sources."cli-cursor-3.1.0"
-      sources."cli-spinners-2.6.1"
+      sources."cli-spinners-2.7.0"
       sources."cli-truncate-2.1.0"
       sources."code-excerpt-3.0.0"
       sources."color-convert-1.9.3"
@@ -97921,7 +98349,7 @@ in
       })
       sources."delay-5.0.0"
       sources."devtools-protocol-0.0.981744"
-      sources."electron-to-chromium-1.4.164"
+      sources."electron-to-chromium-1.4.211"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."error-ex-1.3.2"
@@ -97988,7 +98416,7 @@ in
       sources."mkdirp-classic-0.5.3"
       sources."ms-2.1.2"
       sources."node-fetch-2.6.7"
-      sources."node-releases-2.0.5"
+      sources."node-releases-2.0.6"
       (sources."normalize-package-data-3.0.3" // {
         dependencies = [
           sources."semver-7.3.7"
@@ -98018,7 +98446,7 @@ in
       })
       sources."quick-lru-4.0.1"
       sources."react-17.0.2"
-      sources."react-devtools-core-4.24.7"
+      sources."react-devtools-core-4.25.0"
       sources."react-reconciler-0.26.2"
       (sources."read-pkg-5.2.0" // {
         dependencies = [
@@ -98078,6 +98506,7 @@ in
       sources."trim-newlines-3.0.1"
       sources."type-fest-0.12.0"
       sources."unbzip2-stream-1.4.3"
+      sources."update-browserslist-db-1.0.5"
       sources."util-deprecate-1.0.2"
       sources."validate-npm-package-license-3.0.4"
       sources."webidl-conversions-3.0.1"
@@ -98091,7 +98520,7 @@ in
         ];
       })
       sources."wrappy-1.0.2"
-      sources."ws-7.5.8"
+      sources."ws-7.5.9"
       sources."yallist-4.0.0"
       sources."yargs-parser-20.2.9"
       sources."yauzl-2.10.0"
@@ -98214,7 +98643,7 @@ in
       sources."clean-stack-3.0.1"
       sources."cli-boxes-2.2.1"
       sources."cli-cursor-3.1.0"
-      sources."cli-spinners-2.6.1"
+      sources."cli-spinners-2.7.0"
       sources."cli-table-0.3.11"
       (sources."cli-ux-4.9.3" // {
         dependencies = [
@@ -98248,7 +98677,7 @@ in
           sources."semver-5.7.1"
         ];
       })
-      sources."csv-parse-5.2.0"
+      sources."csv-parse-5.3.0"
       sources."csv-stream-0.2.0"
       sources."dashdash-1.14.1"
       sources."debug-4.3.4"
@@ -98259,7 +98688,7 @@ in
       sources."delayed-stream-1.0.0"
       sources."dir-glob-3.0.1"
       sources."dotenv-8.6.0"
-      sources."duplexer3-0.1.4"
+      sources."duplexer3-0.1.5"
       sources."ecc-jsbn-0.1.2"
       sources."emoji-regex-8.0.0"
       sources."escape-string-regexp-4.0.0"
@@ -98369,7 +98798,7 @@ in
       sources."mime-types-2.1.35"
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
-      sources."moment-2.29.3"
+      sources."moment-2.29.4"
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
       (sources."netrc-parser-3.1.6" // {
@@ -98404,12 +98833,12 @@ in
       sources."prepend-http-2.0.0"
       sources."prettier-2.7.1"
       sources."process-nextick-args-2.0.1"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.3"
       sources."query-string-5.1.1"
       sources."queue-microtask-1.2.3"
-      sources."rate-limiter-flexible-2.3.7"
+      sources."rate-limiter-flexible-2.3.8"
       (sources."readable-stream-2.3.7" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
@@ -98424,7 +98853,7 @@ in
       sources."reusify-1.0.4"
       sources."run-async-2.4.1"
       sources."run-parallel-1.2.0"
-      sources."rxjs-7.5.5"
+      sources."rxjs-7.5.6"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."semver-7.3.7"
@@ -98498,10 +98927,10 @@ in
   firebase-tools = nodeEnv.buildNodePackage {
     name = "firebase-tools";
     packageName = "firebase-tools";
-    version = "11.1.0";
+    version = "11.4.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/firebase-tools/-/firebase-tools-11.1.0.tgz";
-      sha512 = "6nBFOiuxsKl8AbPnsiBck7HT682cHzMuoRrXzajuNWjwTYvh4oW25BF/iLGP7MAGzI4Xuo2NDXwjDLg6HIR78Q==";
+      url = "https://registry.npmjs.org/firebase-tools/-/firebase-tools-11.4.2.tgz";
+      sha512 = "qNFFDwyzRe8kwJwYIOjfV1OIa2+DbJ6jXfAXEhmEx2fgQZ0EwVjkJB5kWo+K4Mt+Qc0SItLyFvz8GSYWSg+mpQ==";
     };
     dependencies = [
       (sources."@apidevtools/json-schema-ref-parser-9.0.9" // {
@@ -98509,31 +98938,28 @@ in
           sources."js-yaml-4.1.0"
         ];
       })
+      sources."@babel/parser-7.18.10"
       sources."@colors/colors-1.5.0"
       sources."@dabh/diagnostics-2.0.3"
       sources."@gar/promisify-1.1.3"
       sources."@google-cloud/paginator-4.0.0"
-      sources."@google-cloud/precise-date-2.0.4"
-      sources."@google-cloud/projectify-2.1.1"
+      sources."@google-cloud/precise-date-3.0.0"
+      sources."@google-cloud/projectify-3.0.0"
       sources."@google-cloud/promisify-2.0.4"
-      (sources."@google-cloud/pubsub-3.0.1" // {
+      (sources."@google-cloud/pubsub-3.1.0" // {
         dependencies = [
-          sources."google-auth-library-8.0.2"
+          sources."google-auth-library-8.1.1"
         ];
       })
-      sources."@grpc/grpc-js-1.6.7"
-      sources."@grpc/proto-loader-0.6.13"
+      sources."@grpc/grpc-js-1.6.8"
+      sources."@grpc/proto-loader-0.7.0"
       sources."@jsdevtools/ono-7.1.3"
-      (sources."@npmcli/fs-2.1.0" // {
+      (sources."@npmcli/fs-2.1.1" // {
         dependencies = [
           sources."semver-7.3.7"
         ];
       })
-      (sources."@npmcli/move-file-2.0.0" // {
-        dependencies = [
-          sources."mkdirp-1.0.4"
-        ];
-      })
+      sources."@npmcli/move-file-2.0.0"
       sources."@opentelemetry/api-1.1.0"
       sources."@opentelemetry/semantic-conventions-1.3.1"
       sources."@protobufjs/aspromise-1.1.2"
@@ -98551,12 +98977,16 @@ in
       sources."@tootallnate/once-1.1.2"
       sources."@types/duplexify-3.6.1"
       sources."@types/json-schema-7.0.11"
+      sources."@types/linkify-it-3.0.2"
       sources."@types/long-4.0.2"
-      sources."@types/node-18.0.0"
+      sources."@types/markdown-it-12.2.3"
+      sources."@types/mdurl-1.0.2"
+      sources."@types/node-18.6.3"
       sources."abbrev-1.1.1"
       sources."abort-controller-3.0.0"
       sources."accepts-1.3.8"
-      sources."acorn-8.7.1"
+      sources."acorn-8.8.0"
+      sources."acorn-jsx-5.3.2"
       sources."acorn-walk-8.2.0"
       sources."agent-base-6.0.2"
       (sources."agentkeepalive-4.2.1" // {
@@ -98587,7 +99017,7 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."are-we-there-yet-3.0.0"
+      sources."are-we-there-yet-3.0.1"
       sources."argparse-2.0.1"
       sources."array-flatten-1.1.1"
       sources."arrify-2.0.1"
@@ -98613,7 +99043,7 @@ in
       sources."binary-0.3.0"
       sources."binary-extensions-2.2.0"
       sources."bl-4.1.0"
-      sources."bluebird-3.4.7"
+      sources."bluebird-3.7.2"
       (sources."body-parser-1.20.0" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -98626,7 +99056,7 @@ in
           sources."type-fest-0.8.1"
         ];
       })
-      sources."brace-expansion-1.1.11"
+      sources."brace-expansion-2.0.1"
       sources."braces-3.0.2"
       sources."buffer-5.7.1"
       sources."buffer-crc32-0.2.13"
@@ -98636,11 +99066,9 @@ in
       sources."bytes-3.1.2"
       (sources."cacache-16.1.1" // {
         dependencies = [
-          sources."brace-expansion-2.0.1"
           sources."glob-8.0.3"
-          sources."lru-cache-7.10.1"
+          sources."lru-cache-7.13.2"
           sources."minimatch-5.1.0"
-          sources."mkdirp-1.0.4"
         ];
       })
       (sources."cacheable-request-6.1.0" // {
@@ -98654,6 +99082,7 @@ in
       sources."camelcase-5.3.1"
       sources."cardinal-2.1.1"
       sources."caseless-0.12.0"
+      sources."catharsis-0.9.0"
       sources."chainsaw-0.1.0"
       sources."chalk-4.1.2"
       sources."chardet-0.7.0"
@@ -98663,15 +99092,15 @@ in
       sources."cjson-0.3.3"
       sources."clean-stack-2.2.0"
       sources."cli-boxes-2.2.1"
-      sources."cli-color-2.0.2"
+      sources."cli-color-2.0.1"
       sources."cli-cursor-3.1.0"
-      sources."cli-spinners-2.6.1"
+      sources."cli-spinners-2.7.0"
       sources."cli-table-0.3.11"
       sources."cli-table3-0.6.2"
       sources."cli-width-3.0.0"
       sources."cliui-7.0.4"
       sources."clone-1.0.4"
-      sources."clone-response-1.0.2"
+      sources."clone-response-1.0.3"
       (sources."color-3.2.1" // {
         dependencies = [
           sources."color-convert-1.9.3"
@@ -98731,7 +99160,7 @@ in
         ];
       })
       sources."crypto-random-string-2.0.0"
-      sources."csv-parse-5.2.0"
+      sources."csv-parse-5.3.0"
       sources."d-1.0.1"
       sources."dashdash-1.14.1"
       sources."data-uri-to-buffer-3.0.1"
@@ -98755,7 +99184,7 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."duplexer3-0.1.4"
+      sources."duplexer3-0.1.5"
       sources."duplexify-4.1.2"
       sources."ecc-jsbn-0.1.2"
       sources."ecdsa-sig-formatter-1.0.11"
@@ -98769,19 +99198,30 @@ in
         ];
       })
       sources."end-of-stream-1.4.4"
+      sources."entities-2.1.0"
       sources."env-paths-2.2.1"
       sources."err-code-2.0.3"
-      sources."es5-ext-0.10.61"
+      (sources."es5-ext-0.10.53" // {
+        dependencies = [
+          sources."next-tick-1.0.0"
+        ];
+      })
       sources."es6-iterator-2.0.3"
       sources."es6-symbol-3.1.3"
       sources."es6-weak-map-2.0.3"
       sources."escalade-3.1.1"
       sources."escape-goat-2.1.1"
       sources."escape-html-1.0.3"
-      sources."escape-string-regexp-1.0.5"
-      sources."escodegen-1.14.3"
+      sources."escape-string-regexp-2.0.0"
+      (sources."escodegen-1.14.3" // {
+        dependencies = [
+          sources."estraverse-4.3.0"
+        ];
+      })
+      sources."eslint-visitor-keys-3.3.0"
+      sources."espree-9.3.3"
       sources."esprima-4.0.1"
-      sources."estraverse-4.3.0"
+      sources."estraverse-5.3.0"
       sources."esutils-2.0.3"
       sources."etag-1.8.1"
       sources."event-emitter-0.3.5"
@@ -98803,7 +99243,7 @@ in
       })
       (sources."ext-1.6.0" // {
         dependencies = [
-          sources."type-2.6.0"
+          sources."type-2.7.0"
         ];
       })
       sources."extend-3.0.2"
@@ -98823,7 +99263,11 @@ in
         ];
       })
       sources."fecha-4.2.3"
-      sources."figures-3.2.0"
+      (sources."figures-3.2.0" // {
+        dependencies = [
+          sources."escape-string-regexp-1.0.5"
+        ];
+      })
       sources."file-uri-to-path-2.0.0"
       sources."filesize-6.4.0"
       sources."fill-range-7.0.1"
@@ -98850,6 +99294,7 @@ in
       sources."fsevents-2.3.2"
       (sources."fstream-1.0.12" // {
         dependencies = [
+          sources."mkdirp-0.5.6"
           sources."rimraf-2.7.1"
         ];
       })
@@ -98862,7 +99307,7 @@ in
       })
       sources."function-bind-1.1.1"
       sources."gauge-4.0.4"
-      sources."gaxios-5.0.0"
+      sources."gaxios-5.0.1"
       sources."gcp-metadata-5.0.0"
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.2"
@@ -98884,17 +99329,19 @@ in
         dependencies = [
           sources."gaxios-4.3.3"
           sources."gcp-metadata-4.3.1"
+          sources."google-p12-pem-3.1.4"
+          sources."gtoken-5.3.2"
         ];
       })
-      (sources."google-gax-3.1.1" // {
+      (sources."google-gax-3.1.4" // {
         dependencies = [
-          sources."google-auth-library-8.0.2"
+          sources."google-auth-library-8.1.1"
         ];
       })
-      sources."google-p12-pem-3.1.4"
+      sources."google-p12-pem-4.0.0"
       sources."got-9.6.0"
       sources."graceful-fs-4.2.10"
-      (sources."gtoken-5.3.2" // {
+      (sources."gtoken-6.1.0" // {
         dependencies = [
           sources."gaxios-4.3.3"
         ];
@@ -98963,15 +99410,17 @@ in
           sources."argparse-1.0.10"
         ];
       })
+      sources."js2xmlparser-4.0.2"
       sources."jsbn-0.1.1"
+      sources."jsdoc-3.6.11"
       sources."json-bigint-1.0.0"
       sources."json-buffer-3.0.0"
       sources."json-parse-helpfulerror-1.0.3"
-      sources."json-ptr-3.1.0"
+      sources."json-ptr-3.1.1"
       sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
-      sources."jsonc-parser-3.0.0"
+      sources."jsonc-parser-3.1.0"
       sources."jsonfile-6.1.0"
       (sources."jsonwebtoken-8.5.1" // {
         dependencies = [
@@ -98983,6 +99432,7 @@ in
       sources."jwa-2.0.0"
       sources."jws-4.0.0"
       sources."keyv-3.1.0"
+      sources."klaw-3.0.0"
       sources."kuler-2.0.0"
       sources."latest-version-5.1.0"
       (sources."lazystream-1.0.1" // {
@@ -98996,6 +99446,7 @@ in
       sources."levn-0.3.0"
       sources."libsodium-0.7.10"
       sources."libsodium-wrappers-0.7.10"
+      sources."linkify-it-3.0.3"
       sources."listenercount-1.0.1"
       sources."lodash-4.17.21"
       sources."lodash._objecttypes-2.4.1"
@@ -99014,7 +99465,7 @@ in
       sources."lodash.snakecase-4.1.1"
       sources."lodash.union-4.6.0"
       sources."log-symbols-4.1.0"
-      sources."logform-2.4.1"
+      sources."logform-2.4.2"
       sources."long-4.0.0"
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-6.0.0"
@@ -99024,15 +99475,17 @@ in
           sources."semver-6.3.0"
         ];
       })
-      (sources."make-fetch-happen-10.1.8" // {
+      (sources."make-fetch-happen-10.2.0" // {
         dependencies = [
           sources."@tootallnate/once-2.0.0"
           sources."http-proxy-agent-5.0.0"
-          sources."lru-cache-7.10.1"
+          sources."lru-cache-7.13.2"
           sources."socks-proxy-agent-7.0.0"
         ];
       })
-      sources."marked-4.0.17"
+      sources."markdown-it-12.3.2"
+      sources."markdown-it-anchor-8.6.4"
+      sources."marked-4.0.18"
       (sources."marked-terminal-5.1.1" // {
         dependencies = [
           sources."ansi-escapes-5.0.0"
@@ -99040,6 +99493,7 @@ in
           sources."type-fest-1.4.0"
         ];
       })
+      sources."mdurl-1.0.1"
       sources."media-typer-0.3.0"
       sources."memoizee-0.4.15"
       sources."merge-descriptors-1.0.1"
@@ -99049,16 +99503,20 @@ in
       sources."mime-types-2.1.35"
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
-      sources."minimatch-3.1.2"
+      (sources."minimatch-3.1.2" // {
+        dependencies = [
+          sources."brace-expansion-1.1.11"
+        ];
+      })
       sources."minimist-1.2.6"
-      sources."minipass-3.3.3"
+      sources."minipass-3.3.5"
       sources."minipass-collect-1.0.2"
       sources."minipass-fetch-2.1.0"
       sources."minipass-flush-1.0.5"
       sources."minipass-pipeline-1.2.4"
       sources."minipass-sized-1.0.3"
       sources."minizlib-2.1.2"
-      sources."mkdirp-0.5.6"
+      sources."mkdirp-1.0.4"
       (sources."morgan-1.10.0" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -99076,7 +99534,7 @@ in
       sources."node-emoji-1.11.0"
       sources."node-fetch-2.6.7"
       sources."node-forge-1.3.1"
-      (sources."node-gyp-9.0.0" // {
+      (sources."node-gyp-9.1.0" // {
         dependencies = [
           sources."semver-7.3.7"
           sources."which-2.0.2"
@@ -99120,6 +99578,7 @@ in
         dependencies = [
           sources."async-2.6.4"
           sources."debug-3.2.7"
+          sources."mkdirp-0.5.6"
         ];
       })
       sources."prelude-ls-1.1.2"
@@ -99133,8 +99592,19 @@ in
           sources."retry-0.12.0"
         ];
       })
-      sources."proto3-json-serializer-1.0.2"
-      sources."protobufjs-6.11.3"
+      sources."proto3-json-serializer-1.0.3"
+      (sources."protobufjs-7.0.0" // {
+        dependencies = [
+          sources."long-5.2.0"
+        ];
+      })
+      (sources."protobufjs-cli-1.0.0" // {
+        dependencies = [
+          sources."glob-8.0.3"
+          sources."minimatch-5.1.0"
+          sources."semver-7.3.7"
+        ];
+      })
       sources."proxy-addr-2.0.7"
       (sources."proxy-agent-5.0.0" // {
         dependencies = [
@@ -99143,17 +99613,25 @@ in
         ];
       })
       sources."proxy-from-env-1.1.0"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."pupa-2.1.1"
       sources."qs-6.10.3"
       sources."range-parser-1.2.1"
       sources."raw-body-2.5.1"
-      sources."rc-1.2.8"
+      (sources."rc-1.2.8" // {
+        dependencies = [
+          sources."strip-json-comments-2.0.1"
+        ];
+      })
       sources."re2-1.17.7"
       sources."readable-stream-3.6.0"
-      sources."readdir-glob-1.1.1"
+      (sources."readdir-glob-1.1.2" // {
+        dependencies = [
+          sources."minimatch-5.1.0"
+        ];
+      })
       sources."readdirp-3.6.0"
       sources."redeyed-2.1.1"
       sources."registry-auth-token-4.2.2"
@@ -99167,6 +99645,7 @@ in
       })
       sources."require-directory-2.1.1"
       sources."require-from-string-2.0.2"
+      sources."requizzle-0.2.3"
       sources."responselike-1.0.2"
       sources."restore-cursor-3.1.0"
       sources."retry-0.13.1"
@@ -99180,7 +99659,7 @@ in
         ];
       })
       sources."run-async-2.4.1"
-      sources."rxjs-7.5.5"
+      sources."rxjs-7.5.6"
       sources."safe-buffer-5.2.1"
       sources."safe-stable-stringify-2.3.1"
       sources."safer-buffer-2.1.2"
@@ -99211,7 +99690,11 @@ in
       sources."signal-exit-3.0.7"
       sources."simple-swizzle-0.2.2"
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.2"
+      (sources."socks-2.7.0" // {
+        dependencies = [
+          sources."ip-2.0.0"
+        ];
+      })
       sources."socks-proxy-agent-5.0.1"
       sources."source-map-0.6.1"
       sources."sprintf-js-1.0.3"
@@ -99231,13 +99714,14 @@ in
       sources."string-width-4.2.3"
       sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.1"
-      sources."strip-json-comments-2.0.1"
+      sources."strip-json-comments-3.1.1"
       (sources."superstatic-8.0.0" // {
         dependencies = [
           sources."ansi-regex-2.1.1"
           sources."ansi-styles-2.2.1"
           sources."chalk-1.1.3"
-          sources."commander-9.3.0"
+          sources."commander-9.4.0"
+          sources."escape-string-regexp-1.0.5"
           sources."isarray-0.0.1"
           sources."path-to-regexp-1.8.0"
           sources."strip-ansi-3.0.1"
@@ -99253,11 +99737,8 @@ in
       })
       sources."supports-color-7.2.0"
       sources."supports-hyperlinks-2.2.0"
-      (sources."tar-6.1.11" // {
-        dependencies = [
-          sources."mkdirp-1.0.4"
-        ];
-      })
+      sources."taffydb-2.6.2"
+      sources."tar-6.1.11"
       sources."tar-stream-2.2.0"
       (sources."tcp-port-used-1.0.2" // {
         dependencies = [
@@ -99285,6 +99766,9 @@ in
       sources."type-fest-0.21.3"
       sources."type-is-1.6.18"
       sources."typedarray-to-buffer-3.1.5"
+      sources."uc.micro-1.0.6"
+      sources."uglify-js-3.16.3"
+      sources."underscore-1.13.4"
       sources."unique-filename-1.1.1"
       sources."unique-slug-2.0.2"
       sources."unique-string-2.0.0"
@@ -99293,6 +99777,7 @@ in
       sources."unpipe-1.0.0"
       (sources."unzipper-0.10.11" // {
         dependencies = [
+          sources."bluebird-3.4.7"
           sources."readable-stream-2.3.7"
           sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
@@ -99323,21 +99808,22 @@ in
           sources."core-util-is-1.0.2"
         ];
       })
-      sources."vm2-3.9.9"
+      sources."vm2-3.9.10"
       sources."wcwidth-1.0.1"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
       sources."which-1.3.1"
       sources."wide-align-1.1.5"
       sources."widest-line-3.1.0"
-      sources."winston-3.7.2"
+      sources."winston-3.8.1"
       sources."winston-transport-4.5.0"
       sources."word-wrap-1.2.3"
       sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
       sources."write-file-atomic-3.0.3"
-      sources."ws-7.5.8"
+      sources."ws-7.5.9"
       sources."xdg-basedir-4.0.0"
+      sources."xmlcreate-2.0.4"
       sources."xregexp-2.0.0"
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
@@ -99414,9 +99900,9 @@ in
       sha512 = "EkJbYwI1Wt3oujxNlFF0Mq3hqdkDtQz7cPhZnXzUxmNhaxVopDqiwnB3zZmVvt2t6uKvplh21kLTTJ11hWH+0w==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      (sources."@babel/highlight-7.17.12" // {
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      (sources."@babel/highlight-7.18.6" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
@@ -99447,7 +99933,7 @@ in
       sources."chardet-0.7.0"
       sources."clean-stack-4.2.0"
       sources."cli-cursor-3.1.0"
-      sources."cli-spinners-2.6.1"
+      sources."cli-spinners-2.7.0"
       sources."cli-truncate-3.1.0"
       sources."cli-width-3.0.0"
       sources."clone-1.0.4"
@@ -99520,7 +100006,7 @@ in
       sources."log-symbols-4.1.0"
       sources."lru-cache-6.0.0"
       sources."map-obj-4.3.0"
-      (sources."meow-10.1.2" // {
+      (sources."meow-10.1.3" // {
         dependencies = [
           sources."type-fest-1.4.0"
         ];
@@ -99572,7 +100058,7 @@ in
       sources."redent-4.0.0"
       sources."restore-cursor-3.1.0"
       sources."run-async-2.4.1"
-      sources."rxjs-7.5.5"
+      sources."rxjs-7.5.6"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."semver-7.3.7"
@@ -99639,7 +100125,7 @@ in
       sources."@types/atob-2.1.2"
       sources."@types/bn.js-5.1.0"
       sources."@types/inquirer-6.5.0"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/pbkdf2-3.1.0"
       sources."@types/secp256k1-4.0.3"
       sources."@types/through-0.0.30"
@@ -99661,7 +100147,7 @@ in
       sources."binary-search-tree-0.2.5"
       sources."blakejs-1.2.1"
       sources."bluebird-3.7.2"
-      sources."bn.js-4.12.0"
+      sources."bn.js-5.2.1"
       sources."brorand-1.1.0"
       sources."browserify-aes-1.2.0"
       sources."bs58-4.0.1"
@@ -99688,17 +100174,17 @@ in
       sources."delayed-stream-1.0.0"
       sources."dotenv-8.6.0"
       sources."ecc-jsbn-0.1.2"
-      sources."elliptic-6.5.4"
+      (sources."elliptic-6.5.4" // {
+        dependencies = [
+          sources."bn.js-4.12.0"
+        ];
+      })
       sources."emoji-regex-8.0.0"
       sources."escape-string-regexp-1.0.5"
       sources."esprima-4.0.1"
       sources."ethereum-bloom-filters-1.0.10"
       sources."ethereum-cryptography-0.1.3"
-      (sources."ethereumjs-util-7.1.5" // {
-        dependencies = [
-          sources."bn.js-5.2.1"
-        ];
-      })
+      sources."ethereumjs-util-7.1.5"
       (sources."ethjs-unit-0.1.6" // {
         dependencies = [
           sources."bn.js-4.11.6"
@@ -99762,7 +100248,7 @@ in
       sources."nedb-1.8.0"
       sources."node-addon-api-2.0.2"
       sources."node-fetch-2.6.7"
-      sources."node-gyp-build-4.4.0"
+      sources."node-gyp-build-4.5.0"
       (sources."number-to-bn-1.7.0" // {
         dependencies = [
           sources."bn.js-4.11.6"
@@ -99778,7 +100264,7 @@ in
       sources."path-exists-4.0.0"
       sources."pbkdf2-3.1.2"
       sources."performance-now-2.1.0"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.3"
       sources."querystring-0.2.1"
@@ -99792,11 +100278,7 @@ in
       sources."require-main-filename-2.0.0"
       sources."restore-cursor-3.1.0"
       sources."ripemd160-2.0.2"
-      (sources."rlp-2.2.7" // {
-        dependencies = [
-          sources."bn.js-5.2.1"
-        ];
-      })
+      sources."rlp-2.2.7"
       sources."run-async-2.4.1"
       sources."rxjs-6.6.7"
       sources."safe-buffer-5.2.1"
@@ -99831,7 +100313,7 @@ in
       sources."util-deprecate-1.0.2"
       sources."uuid-3.4.0"
       sources."verror-1.10.0"
-      sources."web3-utils-1.7.3"
+      sources."web3-utils-1.7.5"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
       sources."which-module-2.0.0"
@@ -99918,7 +100400,7 @@ in
       })
       sources."cache-base-1.0.1"
       sources."call-bind-1.0.2"
-      sources."caller-1.0.1"
+      sources."caller-1.1.0"
       sources."chokidar-2.1.8"
       (sources."class-utils-0.3.6" // {
         dependencies = [
@@ -100093,7 +100575,7 @@ in
       sources."kind-of-6.0.3"
       sources."kuler-2.0.0"
       sources."lazy-1.0.11"
-      (sources."logform-2.4.1" // {
+      (sources."logform-2.4.2" // {
         dependencies = [
           sources."ms-2.1.3"
         ];
@@ -100196,7 +100678,7 @@ in
           sources."is-extendable-0.1.1"
         ];
       })
-      sources."shush-1.0.1"
+      sources."shush-1.0.2"
       sources."side-channel-1.0.4"
       sources."signal-exit-3.0.7"
       sources."simple-swizzle-0.2.2"
@@ -100297,7 +100779,7 @@ in
       sources."which-boxed-primitive-1.0.2"
       sources."which-collection-1.0.1"
       sources."which-typed-array-1.1.8"
-      (sources."winston-3.7.2" // {
+      (sources."winston-3.8.1" // {
         dependencies = [
           sources."async-3.2.4"
           sources."readable-stream-3.6.0"
@@ -100360,14 +100842,14 @@ in
   ganache = nodeEnv.buildNodePackage {
     name = "ganache";
     packageName = "ganache";
-    version = "7.3.1";
+    version = "7.4.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/ganache/-/ganache-7.3.1.tgz";
-      sha512 = "+IZPlCj1Tl019TIXgAAyDRLn0HDfx6Rg1TuiPPiNScVxRvz8EtQrlHc2yui8+oqjkZjYonW1Y5HvYSwifAQS6g==";
+      url = "https://registry.npmjs.org/ganache/-/ganache-7.4.0.tgz";
+      sha512 = "e1x0ZJsJ5zUP+hWtpSNv+FaavRdcrQhQwe+QZ4kVon5mDm6RgFpe3PzNDJXg82AeqqslohJeK9UinZbZzjewjQ==";
     };
     dependencies = [
       sources."bufferutil-4.0.5"
-      sources."node-gyp-build-4.4.0"
+      sources."node-gyp-build-4.5.0"
       sources."utf-8-validate-5.0.7"
     ];
     buildInputs = globalBuildInputs;
@@ -100383,78 +100865,79 @@ in
   gatsby-cli = nodeEnv.buildNodePackage {
     name = "gatsby-cli";
     packageName = "gatsby-cli";
-    version = "4.17.0";
+    version = "4.20.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-4.17.0.tgz";
-      sha512 = "x1oxUVSWYEDxYl8sNTDTakMnCYKIbjwIAfGBhp1v3wK8WvqKz2+ICho6vvd2rXSkGGbwAg/gJ5g4/p78WOdRLw==";
+      url = "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-4.20.0.tgz";
+      sha512 = "PinzwqJOf27MGxhc8kqNplCYIYKpXF1dgYMXH0cEQVJVS9VsRKioW8bugvbxiTio9zqn58yyAUF41xVPnc3Yyg==";
     };
     dependencies = [
       sources."@ampproject/remapping-2.2.0"
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.18.5"
-      (sources."@babel/core-7.18.5" // {
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/compat-data-7.18.8"
+      (sources."@babel/core-7.18.10" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      (sources."@babel/generator-7.18.2" // {
+      (sources."@babel/generator-7.18.10" // {
         dependencies = [
-          sources."@jridgewell/gen-mapping-0.3.1"
+          sources."@jridgewell/gen-mapping-0.3.2"
         ];
       })
-      sources."@babel/helper-annotate-as-pure-7.16.7"
-      (sources."@babel/helper-compilation-targets-7.18.2" // {
+      sources."@babel/helper-annotate-as-pure-7.18.6"
+      (sources."@babel/helper-compilation-targets-7.18.9" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-create-class-features-plugin-7.18.0"
-      sources."@babel/helper-environment-visitor-7.18.2"
-      sources."@babel/helper-function-name-7.17.9"
-      sources."@babel/helper-hoist-variables-7.16.7"
-      sources."@babel/helper-member-expression-to-functions-7.17.7"
-      sources."@babel/helper-module-imports-7.16.7"
-      sources."@babel/helper-module-transforms-7.18.0"
-      sources."@babel/helper-optimise-call-expression-7.16.7"
-      sources."@babel/helper-plugin-utils-7.17.12"
-      sources."@babel/helper-replace-supers-7.18.2"
-      sources."@babel/helper-simple-access-7.18.2"
-      sources."@babel/helper-split-export-declaration-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/helper-validator-option-7.16.7"
-      sources."@babel/helpers-7.18.2"
-      (sources."@babel/highlight-7.17.12" // {
+      sources."@babel/helper-create-class-features-plugin-7.18.9"
+      sources."@babel/helper-environment-visitor-7.18.9"
+      sources."@babel/helper-function-name-7.18.9"
+      sources."@babel/helper-hoist-variables-7.18.6"
+      sources."@babel/helper-member-expression-to-functions-7.18.9"
+      sources."@babel/helper-module-imports-7.18.6"
+      sources."@babel/helper-module-transforms-7.18.9"
+      sources."@babel/helper-optimise-call-expression-7.18.6"
+      sources."@babel/helper-plugin-utils-7.18.9"
+      sources."@babel/helper-replace-supers-7.18.9"
+      sources."@babel/helper-simple-access-7.18.6"
+      sources."@babel/helper-split-export-declaration-7.18.6"
+      sources."@babel/helper-string-parser-7.18.10"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      sources."@babel/helper-validator-option-7.18.6"
+      sources."@babel/helpers-7.18.9"
+      (sources."@babel/highlight-7.18.6" // {
         dependencies = [
           sources."chalk-2.4.2"
         ];
       })
-      sources."@babel/parser-7.18.5"
-      sources."@babel/plugin-syntax-typescript-7.17.12"
-      sources."@babel/plugin-transform-typescript-7.18.4"
-      sources."@babel/preset-typescript-7.17.12"
-      sources."@babel/runtime-7.18.3"
-      sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.18.5"
-      sources."@babel/types-7.18.4"
+      sources."@babel/parser-7.18.10"
+      sources."@babel/plugin-syntax-typescript-7.18.6"
+      sources."@babel/plugin-transform-typescript-7.18.10"
+      sources."@babel/preset-typescript-7.18.6"
+      sources."@babel/runtime-7.18.9"
+      sources."@babel/template-7.18.10"
+      sources."@babel/traverse-7.18.10"
+      sources."@babel/types-7.18.10"
       sources."@hapi/hoek-9.3.0"
       sources."@hapi/topo-5.1.0"
       sources."@jridgewell/gen-mapping-0.1.1"
-      sources."@jridgewell/resolve-uri-3.0.7"
-      sources."@jridgewell/set-array-1.1.1"
-      sources."@jridgewell/sourcemap-codec-1.4.13"
-      sources."@jridgewell/trace-mapping-0.3.13"
-      sources."@lmdb/lmdb-darwin-arm64-2.5.2"
-      sources."@lmdb/lmdb-darwin-x64-2.5.2"
-      sources."@lmdb/lmdb-linux-arm-2.5.2"
-      sources."@lmdb/lmdb-linux-arm64-2.5.2"
-      sources."@lmdb/lmdb-linux-x64-2.5.2"
-      sources."@lmdb/lmdb-win32-x64-2.5.2"
-      sources."@msgpackr-extract/msgpackr-extract-darwin-arm64-2.0.2"
-      sources."@msgpackr-extract/msgpackr-extract-darwin-x64-2.0.2"
-      sources."@msgpackr-extract/msgpackr-extract-linux-arm-2.0.2"
-      sources."@msgpackr-extract/msgpackr-extract-linux-arm64-2.0.2"
-      sources."@msgpackr-extract/msgpackr-extract-linux-x64-2.0.2"
-      sources."@msgpackr-extract/msgpackr-extract-win32-x64-2.0.2"
+      sources."@jridgewell/resolve-uri-3.1.0"
+      sources."@jridgewell/set-array-1.1.2"
+      sources."@jridgewell/sourcemap-codec-1.4.14"
+      sources."@jridgewell/trace-mapping-0.3.14"
+      sources."@lmdb/lmdb-darwin-arm64-2.5.3"
+      sources."@lmdb/lmdb-darwin-x64-2.5.3"
+      sources."@lmdb/lmdb-linux-arm-2.5.3"
+      sources."@lmdb/lmdb-linux-arm64-2.5.3"
+      sources."@lmdb/lmdb-linux-x64-2.5.3"
+      sources."@lmdb/lmdb-win32-x64-2.5.3"
+      sources."@msgpackr-extract/msgpackr-extract-darwin-arm64-2.1.2"
+      sources."@msgpackr-extract/msgpackr-extract-darwin-x64-2.1.2"
+      sources."@msgpackr-extract/msgpackr-extract-linux-arm-2.1.2"
+      sources."@msgpackr-extract/msgpackr-extract-linux-arm64-2.1.2"
+      sources."@msgpackr-extract/msgpackr-extract-linux-x64-2.1.2"
+      sources."@msgpackr-extract/msgpackr-extract-win32-x64-2.1.2"
       sources."@sideway/address-4.1.4"
       sources."@sideway/formula-3.0.0"
       sources."@sideway/pinpoint-2.0.0"
@@ -100468,7 +100951,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/node-fetch-2.6.2"
       sources."@types/responselike-1.0.0"
       sources."@types/yoga-layout-1.9.2"
@@ -100488,7 +100971,7 @@ in
       sources."boolbase-1.0.0"
       sources."boxen-5.1.2"
       sources."brace-expansion-1.1.11"
-      sources."browserslist-4.20.4"
+      sources."browserslist-4.21.3"
       sources."cacheable-lookup-5.0.4"
       (sources."cacheable-request-7.0.2" // {
         dependencies = [
@@ -100497,7 +100980,7 @@ in
       })
       sources."call-bind-1.0.2"
       sources."camelcase-6.3.0"
-      sources."caniuse-lite-1.0.30001358"
+      sources."caniuse-lite-1.0.30001373"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -100525,7 +101008,7 @@ in
           sources."wrap-ansi-6.2.0"
         ];
       })
-      sources."clone-response-1.0.2"
+      sources."clone-response-1.0.3"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."combined-stream-1.0.8"
@@ -100535,7 +101018,7 @@ in
       sources."configstore-5.0.1"
       sources."convert-hrtime-3.0.0"
       sources."convert-source-map-1.8.0"
-      sources."create-gatsby-2.17.0"
+      sources."create-gatsby-2.20.0"
       (sources."cross-spawn-6.0.5" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -100561,8 +101044,8 @@ in
       sources."domhandler-4.3.1"
       sources."domutils-2.8.0"
       sources."dot-prop-5.3.0"
-      sources."duplexer3-0.1.4"
-      sources."electron-to-chromium-1.4.164"
+      sources."duplexer3-0.1.5"
+      sources."electron-to-chromium-1.4.211"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."entities-2.2.0"
@@ -100589,7 +101072,7 @@ in
       })
       sources."fastq-1.13.0"
       sources."figures-3.2.0"
-      sources."file-type-16.5.3"
+      sources."file-type-16.5.4"
       sources."filter-obj-1.1.0"
       sources."find-up-4.1.0"
       sources."form-data-3.0.1"
@@ -100597,8 +101080,8 @@ in
       sources."fs-extra-10.1.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
-      sources."gatsby-core-utils-3.17.0"
-      (sources."gatsby-telemetry-3.17.0" // {
+      sources."gatsby-core-utils-3.20.0"
+      (sources."gatsby-telemetry-3.20.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."boxen-4.2.0"
@@ -100649,7 +101132,7 @@ in
       sources."is-npm-5.0.0"
       sources."is-obj-2.0.0"
       sources."is-path-inside-3.0.3"
-      sources."is-ssh-1.3.3"
+      sources."is-ssh-1.4.0"
       sources."is-stream-1.1.0"
       sources."is-typedarray-1.0.0"
       sources."is-valid-path-0.1.1"
@@ -100662,10 +101145,10 @@ in
       sources."json-buffer-3.0.1"
       sources."json5-2.2.1"
       sources."jsonfile-6.1.0"
-      sources."keyv-4.3.1"
+      sources."keyv-4.3.3"
       sources."kleur-3.0.3"
       sources."latest-version-5.1.0"
-      sources."lmdb-2.5.2"
+      sources."lmdb-2.5.3"
       sources."locate-path-5.0.0"
       sources."lock-1.1.0"
       sources."lodash-4.17.21"
@@ -100685,19 +101168,15 @@ in
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
       sources."ms-2.1.2"
-      sources."msgpackr-1.6.1"
-      (sources."msgpackr-extract-2.0.2" // {
-        dependencies = [
-          sources."node-gyp-build-optional-packages-5.0.2"
-        ];
-      })
+      sources."msgpackr-1.6.2"
+      sources."msgpackr-extract-2.1.2"
       sources."mute-stream-0.0.8"
       sources."nice-try-1.0.5"
       sources."node-addon-api-4.3.0"
       sources."node-fetch-2.6.7"
       sources."node-gyp-build-optional-packages-5.0.3"
       sources."node-object-hash-2.3.10"
-      sources."node-releases-2.0.5"
+      sources."node-releases-2.0.6"
       sources."normalize-url-6.1.0"
       sources."npm-run-path-2.0.2"
       sources."nth-check-2.1.1"
@@ -100706,7 +101185,7 @@ in
       sources."onetime-5.1.2"
       sources."open-7.4.2"
       sources."opentracing-0.14.7"
-      sources."ordered-binary-1.2.5"
+      sources."ordered-binary-1.3.0"
       sources."os-tmpdir-1.0.2"
       sources."p-cancelable-2.1.1"
       sources."p-finally-1.0.0"
@@ -100735,8 +101214,16 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."parse-path-4.0.4"
-      sources."parse-url-6.0.0"
+      (sources."parse-path-4.0.4" // {
+        dependencies = [
+          sources."protocols-1.4.8"
+        ];
+      })
+      (sources."parse-url-6.0.5" // {
+        dependencies = [
+          sources."protocols-1.4.8"
+        ];
+      })
       sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-key-2.0.1"
@@ -100747,10 +101234,10 @@ in
       sources."progress-2.0.3"
       sources."prompts-2.4.2"
       sources."proper-lockfile-4.1.2"
-      sources."protocols-1.4.8"
+      sources."protocols-2.0.1"
       sources."pump-3.0.0"
       sources."pupa-2.1.1"
-      sources."qs-6.10.5"
+      sources."qs-6.11.0"
       sources."query-string-6.14.1"
       sources."quick-lru-5.1.1"
       (sources."rc-1.2.8" // {
@@ -100775,7 +101262,7 @@ in
       sources."resolve-alpn-1.2.1"
       sources."resolve-cwd-3.0.0"
       sources."resolve-from-5.0.0"
-      sources."responselike-2.0.0"
+      sources."responselike-2.0.1"
       sources."restore-cursor-3.1.0"
       sources."retry-0.12.0"
       sources."reusify-1.0.4"
@@ -100820,13 +101307,14 @@ in
       sources."tmp-0.2.1"
       sources."to-fast-properties-2.0.0"
       sources."to-readable-stream-1.0.0"
-      sources."token-types-4.2.0"
+      sources."token-types-4.2.1"
       sources."tr46-0.0.3"
       sources."tslib-1.14.1"
       sources."type-fest-0.20.2"
       sources."typedarray-to-buffer-3.1.5"
       sources."unique-string-2.0.0"
       sources."universalify-2.0.0"
+      sources."update-browserslist-db-1.0.5"
       sources."update-notifier-5.1.0"
       sources."url-parse-lax-3.0.0"
       sources."util-deprecate-1.0.2"
@@ -100877,15 +101365,15 @@ in
   generator-code = nodeEnv.buildNodePackage {
     name = "generator-code";
     packageName = "generator-code";
-    version = "1.6.11";
+    version = "1.6.13";
     src = fetchurl {
-      url = "https://registry.npmjs.org/generator-code/-/generator-code-1.6.11.tgz";
-      sha512 = "GogfUIZy1h9AHByAi9MRDXXfzN4qXCyKeLPWGDdGihOmij1NUy3FhIs95Kp6gn02FIdjLJhi/rElf2UsPF2DnA==";
+      url = "https://registry.npmjs.org/generator-code/-/generator-code-1.6.13.tgz";
+      sha512 = "kNZ6lVa292qu3IN3XtJuG2L1OAkHLVui/Ckew1noX/3/+TW3dq+vcxVLGjZ+weyTOesCtgZKNf6WD9qCaS8F/A==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      (sources."@babel/highlight-7.17.12" // {
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      (sources."@babel/highlight-7.18.6" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
@@ -100899,14 +101387,14 @@ in
       sources."@octokit/core-3.6.0"
       sources."@octokit/endpoint-6.0.12"
       sources."@octokit/graphql-4.8.0"
-      sources."@octokit/openapi-types-12.4.0"
-      sources."@octokit/plugin-paginate-rest-2.19.0"
+      sources."@octokit/openapi-types-12.11.0"
+      sources."@octokit/plugin-paginate-rest-2.21.3"
       sources."@octokit/plugin-request-log-1.0.4"
-      sources."@octokit/plugin-rest-endpoint-methods-5.15.0"
+      sources."@octokit/plugin-rest-endpoint-methods-5.16.2"
       sources."@octokit/request-5.6.3"
       sources."@octokit/request-error-2.1.0"
       sources."@octokit/rest-18.12.0"
-      sources."@octokit/types-6.37.0"
+      sources."@octokit/types-6.41.0"
       sources."@types/normalize-package-data-2.4.1"
       sources."ansi-regex-2.1.1"
       sources."ansi-styles-4.3.0"
@@ -100923,23 +101411,22 @@ in
       sources."dargs-7.0.0"
       sources."debug-4.3.4"
       sources."deprecation-2.3.1"
-      sources."end-of-stream-1.4.4"
       sources."error-ex-1.3.2"
       sources."escape-string-regexp-1.0.5"
-      sources."execa-4.1.0"
+      sources."execa-5.1.1"
       sources."fast-plist-0.1.2"
       sources."find-up-4.1.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."get-stdin-4.0.1"
-      sources."get-stream-5.2.0"
+      sources."get-stream-6.0.1"
       sources."github-username-6.0.0"
       sources."glob-7.2.3"
       sources."has-1.0.3"
       sources."has-ansi-2.0.0"
       sources."has-flag-4.0.0"
       sources."hosted-git-info-2.8.9"
-      sources."human-signals-1.1.1"
+      sources."human-signals-2.1.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."interpret-1.4.0"
@@ -100980,7 +101467,6 @@ in
       sources."path-is-absolute-1.0.1"
       sources."path-key-3.1.1"
       sources."path-parse-1.0.7"
-      sources."pump-3.0.0"
       (sources."read-pkg-5.2.0" // {
         dependencies = [
           sources."type-fest-0.6.0"
@@ -101031,7 +101517,7 @@ in
       })
       sources."wrappy-1.0.2"
       sources."yallist-4.0.0"
-      sources."yeoman-generator-5.6.1"
+      sources."yeoman-generator-5.7.0"
       (sources."yosay-2.0.2" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
@@ -101048,7 +101534,7 @@ in
     ];
     buildInputs = globalBuildInputs;
     meta = {
-      description = "Yeoman generator for Visual Studio Code Extensions";
+      description = "Yeoman generator for Visual Studio Code extensions.";
       homepage = "http://code.visualstudio.com";
       license = "MIT";
     };
@@ -101157,7 +101643,7 @@ in
       sources."is-property-1.0.2"
       sources."is-valid-domain-0.0.20"
       sources."json-buffer-2.0.11"
-      sources."jsonpointer-5.0.0"
+      sources."jsonpointer-5.0.1"
       sources."kvgraph-0.1.0"
       sources."kvset-1.0.0"
       sources."libsodium-0.7.10"
@@ -101169,7 +101655,7 @@ in
       sources."mime-types-2.1.35"
       sources."minimist-1.2.6"
       sources."mkdirp-0.5.6"
-      sources."moment-2.29.3"
+      sources."moment-2.29.4"
       sources."moo-0.5.1"
       sources."ms-2.1.2"
       sources."multicb-1.2.2"
@@ -101178,7 +101664,7 @@ in
       sources."multiserver-scopes-2.0.0"
       sources."muxrpc-6.7.2"
       sources."nearley-2.20.1"
-      sources."node-gyp-build-4.4.0"
+      sources."node-gyp-build-4.5.0"
       sources."node-polyglot-1.0.0"
       sources."non-private-ip-2.2.0"
       sources."os-homedir-1.0.2"
@@ -101240,7 +101726,11 @@ in
       sources."separator-escape-0.0.1"
       sources."sha.js-2.4.5"
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.2"
+      (sources."socks-2.7.0" // {
+        dependencies = [
+          sources."ip-2.0.0"
+        ];
+      })
       sources."sodium-browserify-1.3.0"
       (sources."sodium-browserify-tweetnacl-0.2.6" // {
         dependencies = [
@@ -101257,7 +101747,7 @@ in
         dependencies = [
           (sources."ssb-config-3.4.6" // {
             dependencies = [
-              sources."ssb-keys-8.4.0"
+              sources."ssb-keys-8.4.1"
             ];
           })
         ];
@@ -101286,7 +101776,7 @@ in
       sources."ssb-pull-requests-1.0.0"
       sources."ssb-ref-2.16.0"
       sources."ssb-typescript-2.8.0"
-      sources."ssb-uri2-1.9.0"
+      sources."ssb-uri2-2.0.2"
       (sources."stream-to-pull-stream-1.7.3" // {
         dependencies = [
           sources."looper-3.0.0"
@@ -101297,7 +101787,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."tweetnacl-auth-0.3.1"
       sources."typedarray-to-buffer-4.0.0"
-      sources."ws-7.5.8"
+      sources."ws-7.5.9"
       sources."xtend-4.0.2"
     ];
     buildInputs = globalBuildInputs;
@@ -101331,22 +101821,22 @@ in
   "@gitbeaker/cli" = nodeEnv.buildNodePackage {
     name = "_at_gitbeaker_slash_cli";
     packageName = "@gitbeaker/cli";
-    version = "35.6.0";
+    version = "35.7.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@gitbeaker/cli/-/cli-35.6.0.tgz";
-      sha512 = "MWt3cRIRbKGZj+ebwPp3W/hdIcyfKYfzt6bz/YSOcR4Z5swpMmZmGWoWiM9AERdZJYRxrImb9Id/lyyu8gtIiw==";
+      url = "https://registry.npmjs.org/@gitbeaker/cli/-/cli-35.7.0.tgz";
+      sha512 = "j6j/Mnc17h1XWH1PrjUhX5GxrZGwtqZkzn5Nxm164Al23HO5JfieWJ7Pbg2/fPIT1IRovEzeWA893dkuDxjQmg==";
     };
     dependencies = [
-      sources."@gitbeaker/core-35.6.0"
-      sources."@gitbeaker/node-35.6.0"
-      sources."@gitbeaker/requester-utils-35.6.0"
+      sources."@gitbeaker/core-35.7.0"
+      sources."@gitbeaker/node-35.7.0"
+      sources."@gitbeaker/requester-utils-35.7.0"
       sources."@sindresorhus/is-4.6.0"
       sources."@szmarczak/http-timer-4.0.6"
       sources."@types/cacheable-request-6.0.2"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/responselike-1.0.0"
       sources."ansi-regex-6.0.1"
       sources."ansi-styles-4.3.0"
@@ -101359,9 +101849,9 @@ in
       sources."call-bind-1.0.2"
       sources."chalk-4.1.2"
       sources."cli-cursor-4.0.0"
-      sources."cli-spinners-2.6.1"
+      sources."cli-spinners-2.7.0"
       sources."clone-1.0.4"
-      sources."clone-response-1.0.2"
+      sources."clone-response-1.0.3"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."combined-stream-1.0.8"
@@ -101382,7 +101872,7 @@ in
       sources."function-bind-1.1.1"
       sources."get-intrinsic-1.1.2"
       sources."get-stream-5.2.0"
-      sources."got-11.8.3"
+      sources."got-11.8.5"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
       sources."has-symbols-1.0.3"
@@ -101393,7 +101883,7 @@ in
       sources."is-interactive-2.0.0"
       sources."is-unicode-supported-1.2.0"
       sources."json-buffer-3.0.1"
-      sources."keyv-4.3.1"
+      sources."keyv-4.3.3"
       sources."li-1.3.0"
       (sources."log-symbols-5.1.0" // {
         dependencies = [
@@ -101410,19 +101900,19 @@ in
       sources."object-inspect-1.12.2"
       sources."once-1.4.0"
       sources."onetime-5.1.2"
-      (sources."ora-6.1.0" // {
+      (sources."ora-6.1.2" // {
         dependencies = [
           sources."chalk-5.0.1"
         ];
       })
       sources."p-cancelable-2.1.1"
       sources."pump-3.0.0"
-      sources."qs-6.10.5"
+      sources."qs-6.11.0"
       sources."query-string-7.1.1"
       sources."quick-lru-5.1.1"
       sources."readable-stream-3.6.0"
       sources."resolve-alpn-1.2.1"
-      sources."responselike-2.0.0"
+      sources."responselike-2.0.1"
       sources."restore-cursor-4.0.0"
       sources."safe-buffer-5.2.1"
       sources."side-channel-1.0.4"
@@ -101451,15 +101941,15 @@ in
   gitmoji-cli = nodeEnv.buildNodePackage {
     name = "gitmoji-cli";
     packageName = "gitmoji-cli";
-    version = "5.0.1";
+    version = "5.0.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/gitmoji-cli/-/gitmoji-cli-5.0.1.tgz";
-      sha512 = "+uivild4BxNtPJhPU/iArWJx2cEcOqzwNmzca567AAiWB8RhDxTeXwoTPxbg15P6W1ykyWnfGKKvvfSuUNL++Q==";
+      url = "https://registry.npmjs.org/gitmoji-cli/-/gitmoji-cli-5.0.3.tgz";
+      sha512 = "tXni37GZ1tx3iiv7QhPGQcEkaRop71tUU0e3g9JcGY9t6FroJACD/QMwaefOFj1FjzX/kKbVoKG6qsKL1c8b7g==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      (sources."@babel/highlight-7.17.12" // {
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      (sources."@babel/highlight-7.18.6" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
@@ -101474,7 +101964,7 @@ in
       sources."@tootallnate/once-1.1.2"
       sources."@types/minimist-1.2.2"
       sources."@types/normalize-package-data-2.4.1"
-      sources."acorn-8.7.1"
+      sources."acorn-8.8.0"
       sources."acorn-walk-8.2.0"
       sources."agent-base-6.0.2"
       sources."ajv-8.11.0"
@@ -101509,10 +101999,10 @@ in
       sources."ci-info-2.0.0"
       sources."cli-boxes-2.2.1"
       sources."cli-cursor-3.1.0"
-      sources."cli-spinners-2.6.1"
+      sources."cli-spinners-2.7.0"
       sources."cli-width-3.0.0"
       sources."clone-1.0.4"
-      sources."clone-response-1.0.2"
+      sources."clone-response-1.0.3"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."conf-10.1.2"
@@ -101541,7 +102031,7 @@ in
       sources."degenerator-3.0.2"
       sources."depd-2.0.0"
       sources."dot-prop-6.0.1"
-      sources."duplexer3-0.1.4"
+      sources."duplexer3-0.1.5"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."env-paths-2.2.1"
@@ -101731,7 +102221,7 @@ in
       sources."responselike-1.0.2"
       sources."restore-cursor-3.1.0"
       sources."run-async-2.4.1"
-      sources."rxjs-7.5.5"
+      sources."rxjs-7.5.6"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."semver-7.3.7"
@@ -101745,7 +102235,11 @@ in
       sources."shebang-regex-3.0.0"
       sources."signal-exit-3.0.7"
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.2"
+      (sources."socks-2.7.0" // {
+        dependencies = [
+          sources."ip-2.0.0"
+        ];
+      })
       sources."socks-proxy-agent-5.0.1"
       sources."source-map-0.6.1"
       sources."spdx-correct-3.1.1"
@@ -101779,7 +102273,7 @@ in
       sources."url-parse-lax-3.0.0"
       sources."util-deprecate-1.0.2"
       sources."validate-npm-package-license-3.0.4"
-      sources."vm2-3.9.9"
+      sources."vm2-3.9.10"
       sources."wcwidth-1.0.1"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
@@ -101853,7 +102347,7 @@ in
       sources."buffer-alloc-unsafe-1.1.0"
       sources."buffer-crc32-0.2.13"
       sources."buffer-fill-1.0.0"
-      sources."cli-progress-3.11.1"
+      sources."cli-progress-3.11.2"
       sources."cliui-7.0.4"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
@@ -101901,7 +102395,7 @@ in
       sources."is2-2.0.7"
       sources."isarray-1.0.0"
       sources."isomorphic-fetch-3.0.0"
-      sources."kleur-4.1.4"
+      sources."kleur-4.1.5"
       sources."lodash-4.17.21"
       sources."lodash._arraycopy-3.0.0"
       sources."lodash._basevalues-3.0.0"
@@ -101978,7 +102472,7 @@ in
       sources."xtend-4.0.2"
       sources."y18n-5.0.8"
       sources."yargs-17.5.1"
-      sources."yargs-parser-21.0.1"
+      sources."yargs-parser-21.1.0"
       sources."yauzl-2.10.0"
     ];
     buildInputs = globalBuildInputs;
@@ -102019,9 +102513,9 @@ in
     };
     dependencies = [
       sources."@ardatan/aggregate-error-0.0.6"
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      (sources."@babel/highlight-7.17.12" // {
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      (sources."@babel/highlight-7.18.6" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
@@ -102031,7 +102525,7 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      sources."@exodus/schemasafe-1.0.0-rc.6"
+      sources."@exodus/schemasafe-1.0.0-rc.7"
       sources."@graphql-cli/common-4.1.0"
       sources."@graphql-cli/init-4.1.0"
       (sources."@graphql-tools/batch-execute-7.1.2" // {
@@ -102062,9 +102556,9 @@ in
           sources."tslib-2.1.0"
         ];
       })
-      (sources."@graphql-tools/import-6.6.17" // {
+      (sources."@graphql-tools/import-6.7.1" // {
         dependencies = [
-          sources."@graphql-tools/utils-8.6.13"
+          sources."@graphql-tools/utils-8.9.0"
           sources."tslib-2.4.0"
         ];
       })
@@ -102089,10 +102583,10 @@ in
           sources."tslib-2.3.1"
         ];
       })
-      (sources."@graphql-tools/schema-8.3.14" // {
+      (sources."@graphql-tools/schema-8.5.1" // {
         dependencies = [
-          sources."@graphql-tools/merge-8.2.14"
-          sources."@graphql-tools/utils-8.6.13"
+          sources."@graphql-tools/merge-8.3.1"
+          sources."@graphql-tools/utils-8.9.0"
           sources."tslib-2.4.0"
         ];
       })
@@ -102123,7 +102617,7 @@ in
       sources."@nodelib/fs.walk-1.2.8"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/parse-json-4.0.0"
       sources."@types/websocket-1.0.2"
       sources."abort-controller-3.0.0"
@@ -102172,7 +102666,7 @@ in
       sources."chownr-2.0.0"
       sources."clean-stack-2.2.0"
       sources."cli-cursor-2.1.0"
-      sources."cli-spinners-2.6.1"
+      sources."cli-spinners-2.7.0"
       sources."cli-width-3.0.0"
       (sources."cliui-7.0.4" // {
         dependencies = [
@@ -102181,7 +102675,7 @@ in
         ];
       })
       sources."clone-1.0.4"
-      sources."clone-response-1.0.2"
+      sources."clone-response-1.0.3"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."combined-stream-1.0.8"
@@ -102212,7 +102706,7 @@ in
       sources."define-properties-1.1.4"
       sources."delayed-stream-1.0.0"
       sources."dir-glob-3.0.1"
-      sources."duplexer3-0.1.4"
+      sources."duplexer3-0.1.5"
       sources."ecc-jsbn-0.1.2"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
@@ -102400,7 +102894,7 @@ in
       sources."mimic-response-1.0.1"
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
-      sources."minipass-3.3.3"
+      sources."minipass-3.3.5"
       sources."minizlib-2.1.2"
       sources."mkdirp-1.0.4"
       sources."ms-2.1.2"
@@ -102477,7 +102971,7 @@ in
       sources."picomatch-2.3.1"
       sources."pluralize-8.0.0"
       sources."prepend-http-2.0.0"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.3"
@@ -102580,7 +103074,7 @@ in
           sources."yargs-parser-20.2.9"
         ];
       })
-      sources."yargs-parser-21.0.1"
+      sources."yargs-parser-21.1.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -102595,49 +103089,62 @@ in
   graphql-language-service-cli = nodeEnv.buildNodePackage {
     name = "graphql-language-service-cli";
     packageName = "graphql-language-service-cli";
-    version = "3.2.28";
+    version = "3.3.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/graphql-language-service-cli/-/graphql-language-service-cli-3.2.28.tgz";
-      sha512 = "ofp4GwXdMR/0VhcpCfNPmL3vAx2NAMP0qVh7t5InUnpwcLp8qoPD5oOCLAAPp4Jd+CUYXkfOjtCtvtEmFS5Abg==";
+      url = "https://registry.npmjs.org/graphql-language-service-cli/-/graphql-language-service-cli-3.3.0.tgz";
+      sha512 = "vSn7DfdOvwUxti5G6KN8EGoZccVIua6o4bXGgHQQo0pLuB4OTNwZLPdhq9dJUXA+0yKQLwehS8lwI4k6LbR+Tg==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/highlight-7.17.12"
-      sources."@babel/parser-7.18.5"
+      sources."@ardatan/sync-fetch-0.0.1"
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/helper-string-parser-7.18.10"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      sources."@babel/highlight-7.18.6"
+      sources."@babel/parser-7.18.10"
       sources."@babel/polyfill-7.12.1"
-      sources."@babel/types-7.18.4"
-      sources."@endemolshinegroup/cosmiconfig-typescript-loader-3.0.2"
-      sources."@graphql-tools/batch-execute-8.4.10"
-      sources."@graphql-tools/delegate-8.7.11"
-      sources."@graphql-tools/graphql-file-loader-7.3.15"
-      sources."@graphql-tools/import-6.6.17"
-      sources."@graphql-tools/json-file-loader-7.3.15"
-      sources."@graphql-tools/load-7.5.14"
-      sources."@graphql-tools/merge-8.2.14"
-      sources."@graphql-tools/schema-8.3.14"
-      sources."@graphql-tools/url-loader-7.9.25"
-      sources."@graphql-tools/utils-8.6.13"
-      sources."@graphql-tools/wrap-8.4.20"
+      sources."@babel/types-7.18.10"
+      sources."@cspotcode/source-map-support-0.8.1"
+      sources."@graphql-tools/batch-execute-8.5.1"
+      sources."@graphql-tools/delegate-8.8.1"
+      sources."@graphql-tools/graphql-file-loader-7.5.0"
+      sources."@graphql-tools/import-6.7.1"
+      sources."@graphql-tools/json-file-loader-7.4.1"
+      sources."@graphql-tools/load-7.7.1"
+      sources."@graphql-tools/merge-8.3.1"
+      sources."@graphql-tools/schema-8.5.1"
+      sources."@graphql-tools/url-loader-7.13.3"
+      sources."@graphql-tools/utils-8.9.0"
+      sources."@graphql-tools/wrap-8.5.1"
       sources."@iarna/toml-2.2.5"
-      sources."@n1ru4l/graphql-live-query-0.9.0"
+      sources."@jridgewell/resolve-uri-3.1.0"
+      sources."@jridgewell/sourcemap-codec-1.4.14"
+      sources."@jridgewell/trace-mapping-0.3.9"
+      sources."@n1ru4l/graphql-live-query-0.10.0"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@types/node-18.0.0"
+      sources."@peculiar/asn1-schema-2.2.0"
+      sources."@peculiar/json-schema-1.1.12"
+      sources."@peculiar/webcrypto-1.4.0"
+      sources."@tsconfig/node10-1.0.9"
+      sources."@tsconfig/node12-1.0.11"
+      sources."@tsconfig/node14-1.0.3"
+      sources."@tsconfig/node16-1.0.3"
+      sources."@types/node-18.6.3"
       sources."@types/parse-json-4.0.0"
       sources."@types/ws-8.5.3"
+      sources."@whatwg-node/fetch-0.2.7"
       sources."abort-controller-3.0.0"
+      sources."acorn-8.8.0"
+      sources."acorn-walk-8.2.0"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-3.2.1"
       sources."arg-4.1.3"
       sources."array-union-2.1.0"
+      sources."asn1js-3.0.5"
       sources."balanced-match-1.0.2"
-      sources."base64-js-1.5.1"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."buffer-5.7.1"
-      sources."buffer-from-1.1.2"
       sources."busboy-1.6.0"
       sources."callsites-3.1.0"
       sources."chalk-2.4.2"
@@ -102648,8 +103155,8 @@ in
       sources."core-js-2.6.12"
       sources."cosmiconfig-7.0.1"
       sources."cosmiconfig-toml-loader-1.0.0"
+      sources."cosmiconfig-typescript-loader-3.1.1"
       sources."create-require-1.1.1"
-      sources."cross-undici-fetch-0.4.7"
       sources."dataloader-2.1.0"
       sources."diff-4.0.2"
       sources."dir-glob-3.0.1"
@@ -102659,6 +103166,7 @@ in
       sources."error-ex-1.3.2"
       sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
+      sources."event-target-polyfill-0.0.3"
       sources."event-target-shim-5.0.1"
       sources."extract-files-11.0.0"
       sources."fast-glob-3.2.11"
@@ -102679,13 +103187,11 @@ in
       })
       sources."glob-parent-5.1.2"
       sources."globby-11.1.0"
-      sources."graphql-config-4.3.1"
-      sources."graphql-executor-0.0.23"
+      sources."graphql-config-4.3.3"
       sources."graphql-language-service-5.0.6"
-      sources."graphql-language-service-server-2.7.27"
-      sources."graphql-ws-5.9.0"
+      sources."graphql-language-service-server-2.8.0"
+      sources."graphql-ws-5.9.1"
       sources."has-flag-3.0.0"
-      sources."ieee754-1.2.1"
       sources."ignore-5.2.0"
       (sources."import-fresh-3.3.0" // {
         dependencies = [
@@ -102699,11 +103205,10 @@ in
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.3"
       sources."is-number-7.0.0"
-      sources."isomorphic-ws-4.0.1"
+      sources."isomorphic-ws-5.0.0"
       sources."js-tokens-4.0.0"
       sources."json-parse-even-better-errors-2.3.1"
       sources."lines-and-columns-1.2.4"
-      sources."lodash.get-4.4.2"
       sources."make-error-1.3.6"
       sources."merge2-1.4.1"
       sources."meros-1.2.0"
@@ -102721,6 +103226,8 @@ in
       sources."path-is-absolute-1.0.1"
       sources."path-type-4.0.0"
       sources."picomatch-2.3.1"
+      sources."pvtsutils-1.3.2"
+      sources."pvutils-1.1.3"
       sources."queue-microtask-1.2.3"
       sources."regenerator-runtime-0.13.9"
       sources."remove-trailing-separator-1.1.0"
@@ -102729,32 +103236,27 @@ in
       sources."reusify-1.0.4"
       sources."run-parallel-1.2.0"
       sources."slash-3.0.0"
-      sources."source-map-0.6.1"
-      sources."source-map-support-0.5.21"
       sources."streamsearch-1.1.0"
       sources."string-env-interpolation-1.0.1"
       sources."string-width-4.2.3"
       sources."strip-ansi-6.0.1"
       sources."supports-color-5.5.0"
-      sources."sync-fetch-0.4.1"
       sources."to-fast-properties-2.0.0"
       sources."to-regex-range-5.0.1"
       sources."tr46-0.0.3"
-      sources."ts-node-9.1.1"
+      sources."ts-node-10.9.1"
       sources."tslib-2.4.0"
-      sources."undici-5.5.1"
+      sources."undici-5.8.1"
       sources."unixify-1.0.0"
+      sources."v8-compile-cache-lib-3.0.1"
       sources."value-or-promise-1.0.11"
-      sources."vscode-jsonrpc-5.0.1"
-      sources."vscode-languageserver-6.1.1"
-      (sources."vscode-languageserver-protocol-3.17.1" // {
-        dependencies = [
-          sources."vscode-jsonrpc-8.0.1"
-        ];
-      })
-      sources."vscode-languageserver-types-3.17.1"
+      sources."vscode-jsonrpc-8.0.2"
+      sources."vscode-languageserver-8.0.2"
+      sources."vscode-languageserver-protocol-3.17.2"
+      sources."vscode-languageserver-types-3.17.2"
       sources."vscode-uri-3.0.3"
       sources."web-streams-polyfill-3.2.1"
+      sources."webcrypto-core-1.7.5"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
       (sources."wrap-ansi-7.0.0" // {
@@ -102765,7 +103267,7 @@ in
         ];
       })
       sources."wrappy-1.0.2"
-      sources."ws-8.8.0"
+      sources."ws-8.8.1"
       sources."y18n-5.0.8"
       sources."yaml-1.10.2"
       sources."yargs-16.2.0"
@@ -102792,9 +103294,10 @@ in
       sha512 = "97Chda90OBIHCpH6iQHNYc9qTTADN0LOFbiMcRws3V5SottC/0yTDIQDgBzncZYVCkttyjAnT6YmVuNId7ymQA==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      (sources."@babel/highlight-7.17.12" // {
+      sources."@ardatan/sync-fetch-0.0.1"
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      (sources."@babel/highlight-7.18.6" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
@@ -102805,25 +103308,29 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      sources."@cronvel/get-pixels-3.4.0"
-      sources."@endemolshinegroup/cosmiconfig-typescript-loader-3.0.2"
-      sources."@graphql-tools/batch-execute-8.4.10"
-      sources."@graphql-tools/delegate-8.7.11"
-      sources."@graphql-tools/graphql-file-loader-7.3.15"
-      sources."@graphql-tools/import-6.6.17"
-      sources."@graphql-tools/json-file-loader-7.3.15"
-      sources."@graphql-tools/load-7.5.14"
-      sources."@graphql-tools/merge-8.2.14"
-      sources."@graphql-tools/schema-8.3.14"
-      (sources."@graphql-tools/url-loader-7.9.25" // {
-        dependencies = [
-          sources."ws-8.8.0"
-        ];
-      })
-      sources."@graphql-tools/utils-8.6.13"
-      sources."@graphql-tools/wrap-8.4.20"
+      sources."@cronvel/get-pixels-3.4.1"
+      sources."@cspotcode/source-map-support-0.8.1"
+      sources."@graphql-tools/batch-execute-8.5.1"
+      sources."@graphql-tools/delegate-8.8.1"
+      sources."@graphql-tools/graphql-file-loader-7.5.0"
+      sources."@graphql-tools/import-6.7.1"
+      sources."@graphql-tools/json-file-loader-7.4.1"
+      sources."@graphql-tools/load-7.7.1"
+      sources."@graphql-tools/merge-8.3.1"
+      sources."@graphql-tools/schema-8.5.1"
+      (sources."@graphql-tools/url-loader-7.13.3" // {
+        dependencies = [
+          sources."isomorphic-ws-5.0.0"
+          sources."ws-8.8.1"
+        ];
+      })
+      sources."@graphql-tools/utils-8.9.0"
+      sources."@graphql-tools/wrap-8.5.1"
       sources."@iarna/toml-2.2.5"
-      sources."@n1ru4l/graphql-live-query-0.9.0"
+      sources."@jridgewell/resolve-uri-3.1.0"
+      sources."@jridgewell/sourcemap-codec-1.4.14"
+      sources."@jridgewell/trace-mapping-0.3.9"
+      sources."@n1ru4l/graphql-live-query-0.10.0"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
@@ -102856,12 +103363,22 @@ in
         ];
       })
       sources."@oclif/screen-1.0.4"
+      sources."@peculiar/asn1-schema-2.2.0"
+      sources."@peculiar/json-schema-1.1.12"
+      sources."@peculiar/webcrypto-1.4.0"
+      sources."@tsconfig/node10-1.0.9"
+      sources."@tsconfig/node12-1.0.11"
+      sources."@tsconfig/node14-1.0.3"
+      sources."@tsconfig/node16-1.0.3"
       sources."@types/json-schema-7.0.9"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/parse-json-4.0.0"
       sources."@types/ws-8.5.3"
+      sources."@whatwg-node/fetch-0.2.7"
       sources."abort-controller-3.0.0"
       sources."accepts-1.3.8"
+      sources."acorn-8.8.0"
+      sources."acorn-walk-8.2.0"
       sources."ansi-escapes-3.2.0"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
@@ -102869,10 +103386,10 @@ in
       sources."arg-4.1.3"
       sources."array-flatten-1.1.1"
       sources."array-union-2.1.0"
+      sources."asn1js-3.0.5"
       sources."async-limiter-1.0.1"
       sources."backo2-1.0.2"
       sources."balanced-match-1.0.2"
-      sources."base64-js-1.5.1"
       (sources."body-parser-1.18.2" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -102881,8 +103398,6 @@ in
       })
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."buffer-5.7.1"
-      sources."buffer-from-1.1.2"
       sources."busboy-1.6.0"
       sources."bytes-3.0.0"
       sources."callsites-3.1.0"
@@ -102918,13 +103433,13 @@ in
       sources."cookie-signature-1.0.6"
       sources."cosmiconfig-7.0.1"
       sources."cosmiconfig-toml-loader-1.0.0"
+      sources."cosmiconfig-typescript-loader-3.1.1"
       sources."create-require-1.1.1"
       (sources."cross-spawn-6.0.5" // {
         dependencies = [
           sources."semver-5.7.1"
         ];
       })
-      sources."cross-undici-fetch-0.4.7"
       sources."cwise-compiler-1.1.3"
       sources."dataloader-2.1.0"
       sources."debug-4.3.4"
@@ -102941,6 +103456,7 @@ in
       sources."escape-string-regexp-4.0.0"
       sources."esprima-4.0.1"
       sources."etag-1.8.1"
+      sources."event-target-polyfill-0.0.3"
       sources."event-target-shim-5.0.1"
       sources."eventemitter3-3.1.2"
       (sources."express-4.16.3" // {
@@ -102973,8 +103489,7 @@ in
       sources."globby-11.1.0"
       sources."graceful-fs-4.2.10"
       sources."graphql-15.4.0"
-      sources."graphql-config-4.3.1"
-      sources."graphql-executor-0.0.23"
+      sources."graphql-config-4.3.3"
       (sources."graphql-language-service-interface-2.10.2" // {
         dependencies = [
           sources."graphql-language-service-utils-2.7.1"
@@ -102983,12 +103498,11 @@ in
       sources."graphql-language-service-parser-1.10.4"
       sources."graphql-language-service-types-1.8.7"
       sources."graphql-language-service-utils-2.5.1"
-      sources."graphql-ws-5.9.0"
+      sources."graphql-ws-5.9.1"
       sources."has-flag-4.0.0"
       sources."http-errors-1.6.3"
       sources."hyperlinker-1.0.0"
       sources."iconv-lite-0.4.19"
-      sources."ieee754-1.2.1"
       sources."ignore-5.2.0"
       (sources."import-fresh-3.3.0" // {
         dependencies = [
@@ -103019,7 +103533,6 @@ in
       sources."lines-and-columns-1.2.4"
       sources."lodash-4.17.21"
       sources."lodash._reinterpolate-3.0.0"
-      sources."lodash.get-4.4.2"
       sources."lodash.template-4.5.0"
       sources."lodash.templatesettings-4.2.0"
       sources."lru-cache-6.0.0"
@@ -103057,8 +103570,10 @@ in
       sources."path-to-regexp-0.1.7"
       sources."path-type-4.0.0"
       sources."picomatch-2.3.1"
-      sources."pngjs-5.0.0"
+      sources."pngjs-6.0.0"
       sources."proxy-addr-2.0.7"
+      sources."pvtsutils-1.3.2"
+      sources."pvutils-1.1.3"
       sources."qs-6.5.1"
       sources."queue-microtask-1.2.3"
       sources."range-parser-1.2.1"
@@ -103089,8 +103604,6 @@ in
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."slash-3.0.0"
-      sources."source-map-0.6.1"
-      sources."source-map-support-0.5.21"
       sources."statuses-1.4.0"
       sources."streamsearch-1.1.0"
       sources."string-env-interpolation-1.0.1"
@@ -103114,25 +103627,26 @@ in
         ];
       })
       sources."symbol-observable-1.2.0"
-      sources."sync-fetch-0.4.1"
       sources."terminal-kit-1.49.4"
       sources."to-regex-range-5.0.1"
       sources."tr46-0.0.3"
       sources."tree-kit-0.7.4"
       sources."treeify-1.1.0"
-      sources."ts-node-9.1.1"
+      sources."ts-node-10.9.1"
       sources."tslib-2.4.0"
       sources."type-is-1.6.18"
-      sources."undici-5.5.1"
+      sources."undici-5.8.1"
       sources."uniq-1.0.1"
       sources."universalify-0.1.2"
       sources."unixify-1.0.0"
       sources."unpipe-1.0.0"
       sources."utils-merge-1.0.1"
+      sources."v8-compile-cache-lib-3.0.1"
       sources."value-or-promise-1.0.11"
       sources."vary-1.1.2"
-      sources."vscode-languageserver-types-3.17.1"
+      sources."vscode-languageserver-types-3.17.2"
       sources."web-streams-polyfill-3.2.1"
+      sources."webcrypto-core-1.7.5"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-fetch-3.6.2"
       sources."whatwg-url-5.0.0"
@@ -103423,7 +103937,7 @@ in
       sources."isarray-0.0.1"
       sources."lodash-4.17.21"
       sources."map-canvas-0.1.5"
-      sources."marked-4.0.17"
+      sources."marked-4.0.18"
       (sources."marked-terminal-5.1.1" // {
         dependencies = [
           sources."chalk-5.0.1"
@@ -103454,7 +103968,7 @@ in
           sources."supports-color-7.2.0"
         ];
       })
-      sources."systeminformation-5.11.21"
+      sources."systeminformation-5.12.2"
       sources."term-canvas-0.0.5"
       sources."type-fest-1.4.0"
       sources."wordwrap-0.0.3"
@@ -103595,7 +104109,7 @@ in
       sources."each-props-1.3.2"
       sources."end-of-stream-1.4.4"
       sources."error-ex-1.3.2"
-      sources."es5-ext-0.10.61"
+      sources."es5-ext-0.10.62"
       sources."es6-iterator-2.0.3"
       sources."es6-symbol-3.1.3"
       sources."es6-weak-map-2.0.3"
@@ -103620,7 +104134,7 @@ in
       sources."expand-tilde-2.0.2"
       (sources."ext-1.6.0" // {
         dependencies = [
-          sources."type-2.6.0"
+          sources."type-2.7.0"
         ];
       })
       sources."extend-3.0.2"
@@ -104016,7 +104530,7 @@ in
         ];
       })
       sources."error-ex-1.3.2"
-      sources."es5-ext-0.10.61"
+      sources."es5-ext-0.10.62"
       sources."es6-iterator-2.0.3"
       sources."es6-symbol-3.1.3"
       (sources."expand-brackets-2.1.4" // {
@@ -104032,7 +104546,7 @@ in
       sources."expand-tilde-2.0.2"
       (sources."ext-1.6.0" // {
         dependencies = [
-          sources."type-2.6.0"
+          sources."type-2.7.0"
         ];
       })
       sources."extend-3.0.2"
@@ -104354,7 +104868,7 @@ in
       sources."param-case-2.1.1"
       sources."relateurl-0.2.7"
       sources."source-map-0.6.1"
-      sources."uglify-js-3.16.1"
+      sources."uglify-js-3.16.3"
       sources."upper-case-1.1.3"
     ];
     buildInputs = globalBuildInputs;
@@ -104383,7 +104897,7 @@ in
       sources."chalk-4.1.2"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."commander-9.3.0"
+      sources."commander-9.4.0"
       sources."concat-map-0.0.1"
       sources."fs.realpath-1.0.0"
       sources."glob-7.2.3"
@@ -104451,7 +104965,7 @@ in
       sources."object-inspect-1.12.2"
       sources."opener-1.5.2"
       sources."portfinder-1.0.28"
-      sources."qs-6.10.5"
+      sources."qs-6.11.0"
       sources."requires-port-1.0.0"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
@@ -104475,16 +104989,16 @@ in
   hsd = nodeEnv.buildNodePackage {
     name = "hsd";
     packageName = "hsd";
-    version = "3.0.1";
+    version = "4.0.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/hsd/-/hsd-3.0.1.tgz";
-      sha512 = "AI7ruyDhxyzKQzaDdEj0N2zjjYXjEPwQGlWQTootg85ByNKWQsAfZChvWqi2ek0FLPuNlM1toaDT+jcYi+UmqA==";
+      url = "https://registry.npmjs.org/hsd/-/hsd-4.0.1.tgz";
+      sha512 = "5kb4Cp3/XjrFLmUZxl0tQxqVfmFxfrfys1sT9jmUK/Aq/tw+6/GkRGJjgrdTuzRL48zLrczOwL7/Q2e3Ufg2vA==";
     };
     dependencies = [
       sources."bcfg-0.1.7"
       sources."bcrypto-5.4.0"
       sources."bcurl-0.2.0"
-      sources."bdb-1.3.0"
+      sources."bdb-1.4.0"
       sources."bdns-0.1.5"
       sources."bevent-0.1.5"
       sources."bfile-0.2.2"
@@ -104514,7 +105028,7 @@ in
       sources."mrmr-0.1.10"
       sources."n64-0.2.10"
       sources."unbound-0.4.3"
-      sources."urkel-0.7.0"
+      sources."urkel-1.0.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -104616,7 +105130,7 @@ in
       sources."npm-2.15.12"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
-      sources."readable-stream-4.0.0"
+      sources."readable-stream-4.1.0"
       sources."sprintf-js-1.0.3"
       sources."tabula-1.10.0"
       sources."verror-1.10.1"
@@ -104645,7 +105159,7 @@ in
       sources."@colors/colors-1.5.0"
       sources."@fast-csv/format-4.3.5"
       sources."@fast-csv/parse-4.3.6"
-      sources."@types/node-14.18.21"
+      sources."@types/node-14.18.23"
       sources."ajv-6.12.6"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
@@ -104654,7 +105168,8 @@ in
       sources."assert-plus-1.0.0"
       sources."async-2.6.4"
       sources."asynckit-0.4.0"
-      sources."aws-sdk-2.1158.0"
+      sources."available-typed-arrays-1.0.5"
+      sources."aws-sdk-2.1188.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
       sources."base64-js-1.5.1"
@@ -104663,6 +105178,7 @@ in
       sources."boolbase-1.0.0"
       sources."buffer-4.9.2"
       sources."calfinated-1.4.1"
+      sources."call-bind-1.0.2"
       sources."caseless-0.12.0"
       sources."cheerio-0.22.0"
       sources."cliui-7.0.4"
@@ -104677,6 +105193,7 @@ in
       sources."dashdash-1.14.1"
       sources."debug-4.3.4"
       sources."deep-is-0.1.4"
+      sources."define-properties-1.1.4"
       sources."delayed-stream-1.0.0"
       sources."dom-serializer-0.1.1"
       sources."domelementtype-1.3.1"
@@ -104685,6 +105202,8 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."emoji-regex-8.0.0"
       sources."entities-1.1.2"
+      sources."es-abstract-1.20.1"
+      sources."es-to-primitive-1.2.1"
       sources."escalade-3.1.1"
       sources."escodegen-1.14.3"
       sources."esprima-4.0.1"
@@ -104698,24 +105217,50 @@ in
       sources."fast-deep-equal-3.1.3"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
+      sources."for-each-0.3.3"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
+      sources."function-bind-1.1.1"
+      sources."function.prototype.name-1.1.5"
+      sources."functions-have-names-1.2.3"
       sources."get-caller-file-2.0.5"
+      sources."get-intrinsic-1.1.2"
+      sources."get-symbol-description-1.0.0"
       sources."getpass-0.1.7"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
+      sources."has-1.0.3"
+      sources."has-bigints-1.0.2"
+      sources."has-property-descriptors-1.0.0"
+      sources."has-symbols-1.0.3"
+      sources."has-tostringtag-1.0.0"
       sources."htmlparser2-3.10.1"
       sources."http-signature-1.2.0"
       sources."ieee754-1.1.13"
       sources."inherits-2.0.4"
+      sources."internal-slot-1.0.3"
       (sources."ip-address-6.1.0" // {
         dependencies = [
           sources."jsbn-1.1.0"
           sources."sprintf-js-1.1.2"
         ];
       })
+      sources."is-arguments-1.1.1"
+      sources."is-bigint-1.0.4"
+      sources."is-boolean-object-1.1.2"
+      sources."is-callable-1.2.4"
+      sources."is-date-object-1.0.5"
       sources."is-fullwidth-code-point-3.0.0"
+      sources."is-generator-function-1.0.10"
+      sources."is-negative-zero-2.0.2"
+      sources."is-number-object-1.0.7"
+      sources."is-regex-1.1.4"
+      sources."is-shared-array-buffer-1.0.2"
+      sources."is-string-1.0.7"
+      sources."is-symbol-1.0.4"
+      sources."is-typed-array-1.1.9"
       sources."is-typedarray-1.0.0"
+      sources."is-weakref-1.0.2"
       sources."isarray-1.0.0"
       sources."isstream-0.1.2"
       sources."jmespath-0.16.0"
@@ -104756,18 +105301,21 @@ in
       sources."lodash.reject-4.6.0"
       sources."lodash.some-4.6.0"
       sources."lodash.uniq-4.5.0"
-      sources."marked-4.0.17"
+      sources."marked-4.0.18"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."minimist-1.2.6"
       sources."mkdirp-0.5.6"
-      sources."moment-2.29.3"
+      sources."moment-2.29.4"
       sources."moment-timezone-0.5.34"
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
       sources."named-regexp-0.1.1"
       sources."nth-check-1.0.2"
       sources."oauth-sign-0.9.0"
+      sources."object-inspect-1.12.2"
+      sources."object-keys-1.1.1"
+      sources."object.assign-4.1.2"
       sources."optionator-0.8.3"
       sources."performance-now-2.1.0"
       sources."prelude-ls-1.1.2"
@@ -104776,13 +105324,14 @@ in
           sources."async-3.2.3"
         ];
       })
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."punycode-1.3.2"
       sources."qs-6.5.3"
       sources."querystring-0.2.0"
       sources."read-1.0.7"
       sources."readable-stream-3.6.0"
       sources."recursive-readdir-sync-1.0.6"
+      sources."regexp.prototype.flags-1.4.3"
       (sources."request-2.88.2" // {
         dependencies = [
           sources."uuid-3.4.0"
@@ -104795,6 +105344,7 @@ in
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.1"
       sources."semver-5.7.1"
+      sources."side-channel-1.0.4"
       sources."socks5-client-1.2.8"
       sources."socks5-http-client-1.0.4"
       sources."source-map-0.6.1"
@@ -104803,6 +105353,8 @@ in
       sources."stack-trace-0.0.10"
       sources."static-eval-2.0.2"
       sources."string-width-4.2.3"
+      sources."string.prototype.trimend-1.0.5"
+      sources."string.prototype.trimstart-1.0.5"
       sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.1"
       (sources."tough-cookie-2.5.0" // {
@@ -104813,6 +105365,7 @@ in
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-check-0.3.2"
+      sources."unbox-primitive-1.0.2"
       sources."underscore-1.12.1"
       (sources."uri-js-4.4.1" // {
         dependencies = [
@@ -104820,9 +105373,12 @@ in
         ];
       })
       sources."url-0.10.3"
+      sources."util-0.12.4"
       sources."util-deprecate-1.0.2"
       sources."uuid-8.0.0"
       sources."verror-1.10.1"
+      sources."which-boxed-primitive-1.0.2"
+      sources."which-typed-array-1.1.8"
       (sources."winston-2.4.6" // {
         dependencies = [
           sources."async-3.2.4"
@@ -104863,7 +105419,7 @@ in
       sources."jp-kernel-2.0.0"
       sources."nan-2.14.2"
       sources."nel-1.3.0"
-      sources."node-gyp-build-4.4.0"
+      sources."node-gyp-build-4.5.0"
       sources."uuid-3.4.0"
       sources."zeromq-5.2.8"
     ];
@@ -105028,7 +105584,7 @@ in
       sources."prepend-http-1.0.4"
       sources."process-nextick-args-2.0.1"
       sources."promise-7.3.1"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."punycode-2.1.1"
       sources."q-1.5.1"
       sources."qs-6.5.3"
@@ -105129,7 +105685,7 @@ in
           sources."minimist-1.2.6"
         ];
       })
-      sources."moment-2.29.3"
+      sources."moment-2.29.4"
       sources."mv-2.1.1"
       sources."nan-2.16.0"
       sources."ncp-2.0.0"
@@ -105229,7 +105785,7 @@ in
       sources."is-wsl-2.2.0"
       sources."isexe-2.0.0"
       sources."jquery-3.6.0"
-      sources."jquery.terminal-2.33.3"
+      sources."jquery.terminal-2.34.0"
       sources."jsonfile-2.4.0"
       sources."keyboardevent-key-polyfill-1.1.0"
       sources."line-reader-0.4.0"
@@ -105415,7 +105971,7 @@ in
       sources."proto-list-1.2.4"
       sources."protobufjs-6.10.3"
       sources."pseudomap-1.0.2"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.3"
       sources."queue-microtask-1.2.3"
@@ -105444,12 +106000,12 @@ in
       sources."verror-1.10.0"
       (sources."vscode-css-languageservice-5.4.2" // {
         dependencies = [
-          sources."vscode-languageserver-types-3.17.1"
+          sources."vscode-languageserver-types-3.17.2"
         ];
       })
       (sources."vscode-html-languageservice-4.2.5" // {
         dependencies = [
-          sources."vscode-languageserver-types-3.17.1"
+          sources."vscode-languageserver-types-3.17.2"
         ];
       })
       sources."vscode-jsonrpc-6.0.0"
@@ -105690,7 +106246,7 @@ in
       sources."proxy-agent-4.0.1"
       sources."proxy-from-env-1.1.0"
       sources."pump-3.0.0"
-      sources."qs-6.10.5"
+      sources."qs-6.11.0"
       sources."raw-body-2.5.1"
       sources."readable-stream-3.6.0"
       sources."restore-cursor-2.0.0"
@@ -105716,7 +106272,11 @@ in
         ];
       })
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.2"
+      (sources."socks-2.7.0" // {
+        dependencies = [
+          sources."ip-2.0.0"
+        ];
+      })
       sources."socks-proxy-agent-5.0.1"
       sources."source-map-0.6.1"
       sources."split2-3.2.2"
@@ -105776,7 +106336,7 @@ in
       })
       sources."wrappy-1.0.2"
       sources."write-file-atomic-3.0.3"
-      sources."ws-7.5.8"
+      sources."ws-7.5.9"
       sources."xregexp-2.0.0"
       sources."yallist-3.1.1"
     ];
@@ -105790,55 +106350,55 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-  "iosevka-https://github.com/be5invis/Iosevka/archive/v15.5.0.tar.gz" = nodeEnv.buildNodePackage {
+  "iosevka-https://github.com/be5invis/Iosevka/archive/v15.5.2.tar.gz" = nodeEnv.buildNodePackage {
     name = "iosevka";
     packageName = "iosevka";
-    version = "15.5.0";
+    version = "15.5.2";
     src = fetchurl {
-      name = "iosevka-15.5.0.tar.gz";
-      url = "https://codeload.github.com/be5invis/Iosevka/tar.gz/refs/tags/v15.5.0";
-      sha256 = "2ed250bb32837e87be0d4c6c17600d7e57b49223371c17e6764ee7ccc83f97a1";
+      name = "iosevka-15.5.2.tar.gz";
+      url = "https://codeload.github.com/be5invis/Iosevka/tar.gz/refs/tags/v15.5.2";
+      sha256 = "41d5fea642aeff7555608f0e6286a9cc0ebd59bfaa49e278d3cfcd3caed29603";
     };
     dependencies = [
       sources."@iarna/toml-2.2.5"
       sources."@msgpack/msgpack-2.7.2"
-      sources."@ot-builder/bin-composite-types-1.5.2"
-      sources."@ot-builder/bin-util-1.5.2"
-      sources."@ot-builder/cli-help-shower-1.5.2"
-      sources."@ot-builder/cli-proc-1.5.2"
-      sources."@ot-builder/cli-shared-1.5.2"
-      sources."@ot-builder/common-impl-1.5.2"
-      sources."@ot-builder/errors-1.5.2"
-      sources."@ot-builder/io-bin-cff-1.5.2"
-      sources."@ot-builder/io-bin-encoding-1.5.2"
-      sources."@ot-builder/io-bin-ext-private-1.5.2"
-      sources."@ot-builder/io-bin-font-1.5.2"
-      sources."@ot-builder/io-bin-glyph-store-1.5.2"
-      sources."@ot-builder/io-bin-layout-1.5.2"
-      sources."@ot-builder/io-bin-metadata-1.5.2"
-      sources."@ot-builder/io-bin-metric-1.5.2"
-      sources."@ot-builder/io-bin-name-1.5.2"
-      sources."@ot-builder/io-bin-sfnt-1.5.2"
-      sources."@ot-builder/io-bin-ttf-1.5.2"
-      sources."@ot-builder/io-bin-vtt-private-1.5.2"
-      sources."@ot-builder/ot-1.5.2"
-      sources."@ot-builder/ot-encoding-1.5.2"
-      sources."@ot-builder/ot-ext-private-1.5.2"
-      sources."@ot-builder/ot-glyphs-1.5.2"
-      sources."@ot-builder/ot-layout-1.5.2"
-      sources."@ot-builder/ot-metadata-1.5.2"
-      sources."@ot-builder/ot-name-1.5.2"
-      sources."@ot-builder/ot-sfnt-1.5.2"
-      sources."@ot-builder/ot-standard-glyph-namer-1.5.2"
-      sources."@ot-builder/ot-vtt-private-1.5.2"
-      sources."@ot-builder/prelude-1.5.2"
-      sources."@ot-builder/primitive-1.5.2"
-      sources."@ot-builder/rectify-1.5.2"
-      sources."@ot-builder/stat-glyphs-1.5.2"
-      sources."@ot-builder/trace-1.5.2"
-      sources."@ot-builder/var-store-1.5.2"
-      sources."@ot-builder/variance-1.5.2"
-      sources."@unicode/unicode-14.0.0-1.2.2"
+      sources."@ot-builder/bin-composite-types-1.5.4"
+      sources."@ot-builder/bin-util-1.5.4"
+      sources."@ot-builder/cli-help-shower-1.5.4"
+      sources."@ot-builder/cli-proc-1.5.4"
+      sources."@ot-builder/cli-shared-1.5.4"
+      sources."@ot-builder/common-impl-1.5.4"
+      sources."@ot-builder/errors-1.5.4"
+      sources."@ot-builder/io-bin-cff-1.5.4"
+      sources."@ot-builder/io-bin-encoding-1.5.4"
+      sources."@ot-builder/io-bin-ext-private-1.5.4"
+      sources."@ot-builder/io-bin-font-1.5.4"
+      sources."@ot-builder/io-bin-glyph-store-1.5.4"
+      sources."@ot-builder/io-bin-layout-1.5.4"
+      sources."@ot-builder/io-bin-metadata-1.5.4"
+      sources."@ot-builder/io-bin-metric-1.5.4"
+      sources."@ot-builder/io-bin-name-1.5.4"
+      sources."@ot-builder/io-bin-sfnt-1.5.4"
+      sources."@ot-builder/io-bin-ttf-1.5.4"
+      sources."@ot-builder/io-bin-vtt-private-1.5.4"
+      sources."@ot-builder/ot-1.5.4"
+      sources."@ot-builder/ot-encoding-1.5.4"
+      sources."@ot-builder/ot-ext-private-1.5.4"
+      sources."@ot-builder/ot-glyphs-1.5.4"
+      sources."@ot-builder/ot-layout-1.5.4"
+      sources."@ot-builder/ot-metadata-1.5.4"
+      sources."@ot-builder/ot-name-1.5.4"
+      sources."@ot-builder/ot-sfnt-1.5.4"
+      sources."@ot-builder/ot-standard-glyph-namer-1.5.4"
+      sources."@ot-builder/ot-vtt-private-1.5.4"
+      sources."@ot-builder/prelude-1.5.4"
+      sources."@ot-builder/primitive-1.5.4"
+      sources."@ot-builder/rectify-1.5.4"
+      sources."@ot-builder/stat-glyphs-1.5.4"
+      sources."@ot-builder/trace-1.5.4"
+      sources."@ot-builder/var-store-1.5.4"
+      sources."@ot-builder/variance-1.5.4"
+      sources."@unicode/unicode-14.0.0-1.3.0"
       sources."@xmldom/xmldom-0.8.2"
       sources."aglfn-1.0.2"
       sources."amdefine-1.0.1"
@@ -105899,8 +106459,8 @@ in
       sources."mimic-fn-2.1.0"
       sources."onetime-5.1.2"
       sources."optionator-0.8.3"
-      sources."ot-builder-1.5.2"
-      sources."otb-ttc-bundle-1.5.2"
+      sources."ot-builder-1.5.4"
+      sources."otb-ttc-bundle-1.5.4"
       sources."passerror-1.1.1"
       sources."patel-0.37.1"
       sources."patrisika-0.24.0"
@@ -105933,10 +106493,10 @@ in
       sources."unicoderegexp-0.4.1"
       sources."universalify-2.0.0"
       sources."uuid-8.3.2"
-      (sources."verda-1.6.0" // {
+      (sources."verda-1.10.0" // {
         dependencies = [
           sources."yargs-17.5.1"
-          sources."yargs-parser-21.0.1"
+          sources."yargs-parser-21.1.0"
         ];
       })
       sources."wawoff2-2.0.1"
@@ -106068,7 +106628,7 @@ in
           sources."vscode-languageserver-types-3.14.0"
         ];
       })
-      sources."vscode-languageserver-types-3.17.1"
+      sources."vscode-languageserver-types-3.17.2"
       sources."vscode-uri-1.0.8"
       sources."wrappy-1.0.2"
       sources."xorshift-1.2.0"
@@ -106133,74 +106693,74 @@ in
           sources."tslib-1.14.1"
         ];
       })
-      sources."@aws-sdk/abort-controller-3.110.0"
+      sources."@aws-sdk/abort-controller-3.127.0"
       sources."@aws-sdk/chunked-blob-reader-3.55.0"
       sources."@aws-sdk/chunked-blob-reader-native-3.109.0"
-      (sources."@aws-sdk/client-s3-3.113.0" // {
+      (sources."@aws-sdk/client-s3-3.142.0" // {
         dependencies = [
           sources."fast-xml-parser-3.19.0"
         ];
       })
-      sources."@aws-sdk/client-sso-3.112.0"
-      (sources."@aws-sdk/client-sts-3.112.0" // {
+      sources."@aws-sdk/client-sso-3.142.0"
+      (sources."@aws-sdk/client-sts-3.142.0" // {
         dependencies = [
           sources."fast-xml-parser-3.19.0"
         ];
       })
-      sources."@aws-sdk/config-resolver-3.110.0"
-      sources."@aws-sdk/credential-provider-env-3.110.0"
-      sources."@aws-sdk/credential-provider-imds-3.110.0"
-      sources."@aws-sdk/credential-provider-ini-3.112.0"
-      sources."@aws-sdk/credential-provider-node-3.112.0"
-      sources."@aws-sdk/credential-provider-process-3.110.0"
-      sources."@aws-sdk/credential-provider-sso-3.112.0"
-      sources."@aws-sdk/credential-provider-web-identity-3.110.0"
-      sources."@aws-sdk/eventstream-marshaller-3.110.0"
-      sources."@aws-sdk/eventstream-serde-browser-3.110.0"
-      sources."@aws-sdk/eventstream-serde-config-resolver-3.110.0"
-      sources."@aws-sdk/eventstream-serde-node-3.110.0"
-      sources."@aws-sdk/eventstream-serde-universal-3.110.0"
-      sources."@aws-sdk/fetch-http-handler-3.110.0"
-      sources."@aws-sdk/hash-blob-browser-3.110.0"
-      sources."@aws-sdk/hash-node-3.110.0"
-      sources."@aws-sdk/hash-stream-node-3.110.0"
-      sources."@aws-sdk/invalid-dependency-3.110.0"
+      sources."@aws-sdk/config-resolver-3.130.0"
+      sources."@aws-sdk/credential-provider-env-3.127.0"
+      sources."@aws-sdk/credential-provider-imds-3.127.0"
+      sources."@aws-sdk/credential-provider-ini-3.142.0"
+      sources."@aws-sdk/credential-provider-node-3.142.0"
+      sources."@aws-sdk/credential-provider-process-3.127.0"
+      sources."@aws-sdk/credential-provider-sso-3.142.0"
+      sources."@aws-sdk/credential-provider-web-identity-3.127.0"
+      sources."@aws-sdk/eventstream-codec-3.127.0"
+      sources."@aws-sdk/eventstream-serde-browser-3.127.0"
+      sources."@aws-sdk/eventstream-serde-config-resolver-3.127.0"
+      sources."@aws-sdk/eventstream-serde-node-3.127.0"
+      sources."@aws-sdk/eventstream-serde-universal-3.127.0"
+      sources."@aws-sdk/fetch-http-handler-3.131.0"
+      sources."@aws-sdk/hash-blob-browser-3.127.0"
+      sources."@aws-sdk/hash-node-3.127.0"
+      sources."@aws-sdk/hash-stream-node-3.127.0"
+      sources."@aws-sdk/invalid-dependency-3.127.0"
       sources."@aws-sdk/is-array-buffer-3.55.0"
-      sources."@aws-sdk/md5-js-3.110.0"
-      sources."@aws-sdk/middleware-bucket-endpoint-3.110.0"
-      sources."@aws-sdk/middleware-content-length-3.110.0"
-      sources."@aws-sdk/middleware-expect-continue-3.113.0"
-      sources."@aws-sdk/middleware-flexible-checksums-3.110.0"
-      sources."@aws-sdk/middleware-host-header-3.110.0"
-      sources."@aws-sdk/middleware-location-constraint-3.110.0"
-      sources."@aws-sdk/middleware-logger-3.110.0"
-      sources."@aws-sdk/middleware-recursion-detection-3.110.0"
-      (sources."@aws-sdk/middleware-retry-3.110.0" // {
+      sources."@aws-sdk/md5-js-3.127.0"
+      sources."@aws-sdk/middleware-bucket-endpoint-3.127.0"
+      sources."@aws-sdk/middleware-content-length-3.127.0"
+      sources."@aws-sdk/middleware-expect-continue-3.127.0"
+      sources."@aws-sdk/middleware-flexible-checksums-3.127.0"
+      sources."@aws-sdk/middleware-host-header-3.127.0"
+      sources."@aws-sdk/middleware-location-constraint-3.127.0"
+      sources."@aws-sdk/middleware-logger-3.127.0"
+      sources."@aws-sdk/middleware-recursion-detection-3.127.0"
+      (sources."@aws-sdk/middleware-retry-3.127.0" // {
         dependencies = [
           sources."uuid-8.3.2"
         ];
       })
-      sources."@aws-sdk/middleware-sdk-s3-3.110.0"
-      sources."@aws-sdk/middleware-sdk-sts-3.110.0"
-      sources."@aws-sdk/middleware-serde-3.110.0"
-      sources."@aws-sdk/middleware-signing-3.110.0"
-      sources."@aws-sdk/middleware-ssec-3.110.0"
-      sources."@aws-sdk/middleware-stack-3.110.0"
-      sources."@aws-sdk/middleware-user-agent-3.110.0"
-      sources."@aws-sdk/node-config-provider-3.110.0"
-      sources."@aws-sdk/node-http-handler-3.110.0"
-      sources."@aws-sdk/property-provider-3.110.0"
-      sources."@aws-sdk/protocol-http-3.110.0"
-      sources."@aws-sdk/querystring-builder-3.110.0"
-      sources."@aws-sdk/querystring-parser-3.110.0"
-      sources."@aws-sdk/s3-request-presigner-3.113.0"
-      sources."@aws-sdk/service-error-classification-3.110.0"
-      sources."@aws-sdk/shared-ini-file-loader-3.110.0"
-      sources."@aws-sdk/signature-v4-3.110.0"
-      sources."@aws-sdk/signature-v4-multi-region-3.110.0"
-      sources."@aws-sdk/smithy-client-3.110.0"
-      sources."@aws-sdk/types-3.110.0"
-      sources."@aws-sdk/url-parser-3.110.0"
+      sources."@aws-sdk/middleware-sdk-s3-3.127.0"
+      sources."@aws-sdk/middleware-sdk-sts-3.130.0"
+      sources."@aws-sdk/middleware-serde-3.127.0"
+      sources."@aws-sdk/middleware-signing-3.130.0"
+      sources."@aws-sdk/middleware-ssec-3.127.0"
+      sources."@aws-sdk/middleware-stack-3.127.0"
+      sources."@aws-sdk/middleware-user-agent-3.127.0"
+      sources."@aws-sdk/node-config-provider-3.127.0"
+      sources."@aws-sdk/node-http-handler-3.127.0"
+      sources."@aws-sdk/property-provider-3.127.0"
+      sources."@aws-sdk/protocol-http-3.127.0"
+      sources."@aws-sdk/querystring-builder-3.127.0"
+      sources."@aws-sdk/querystring-parser-3.127.0"
+      sources."@aws-sdk/s3-request-presigner-3.142.0"
+      sources."@aws-sdk/service-error-classification-3.127.0"
+      sources."@aws-sdk/shared-ini-file-loader-3.127.0"
+      sources."@aws-sdk/signature-v4-3.130.0"
+      sources."@aws-sdk/signature-v4-multi-region-3.130.0"
+      sources."@aws-sdk/smithy-client-3.142.0"
+      sources."@aws-sdk/types-3.127.0"
+      sources."@aws-sdk/url-parser-3.127.0"
       sources."@aws-sdk/util-arn-parser-3.55.0"
       sources."@aws-sdk/util-base64-browser-3.109.0"
       sources."@aws-sdk/util-base64-node-3.55.0"
@@ -106208,24 +106768,24 @@ in
       sources."@aws-sdk/util-body-length-node-3.55.0"
       sources."@aws-sdk/util-buffer-from-3.55.0"
       sources."@aws-sdk/util-config-provider-3.109.0"
-      sources."@aws-sdk/util-create-request-3.110.0"
-      sources."@aws-sdk/util-defaults-mode-browser-3.110.0"
-      sources."@aws-sdk/util-defaults-mode-node-3.110.0"
-      sources."@aws-sdk/util-format-url-3.110.0"
+      sources."@aws-sdk/util-create-request-3.142.0"
+      sources."@aws-sdk/util-defaults-mode-browser-3.142.0"
+      sources."@aws-sdk/util-defaults-mode-node-3.142.0"
+      sources."@aws-sdk/util-format-url-3.127.0"
       sources."@aws-sdk/util-hex-encoding-3.109.0"
       sources."@aws-sdk/util-locate-window-3.55.0"
-      sources."@aws-sdk/util-middleware-3.110.0"
-      sources."@aws-sdk/util-stream-browser-3.110.0"
-      sources."@aws-sdk/util-stream-node-3.110.0"
+      sources."@aws-sdk/util-middleware-3.127.0"
+      sources."@aws-sdk/util-stream-browser-3.131.0"
+      sources."@aws-sdk/util-stream-node-3.129.0"
       sources."@aws-sdk/util-uri-escape-3.55.0"
-      sources."@aws-sdk/util-user-agent-browser-3.110.0"
-      sources."@aws-sdk/util-user-agent-node-3.110.0"
+      sources."@aws-sdk/util-user-agent-browser-3.127.0"
+      sources."@aws-sdk/util-user-agent-node-3.127.0"
       sources."@aws-sdk/util-utf8-browser-3.109.0"
       sources."@aws-sdk/util-utf8-node-3.109.0"
-      sources."@aws-sdk/util-waiter-3.110.0"
-      sources."@aws-sdk/xml-builder-3.109.0"
+      sources."@aws-sdk/util-waiter-3.127.0"
+      sources."@aws-sdk/xml-builder-3.142.0"
       sources."@braintree/sanitize-url-3.1.0"
-      sources."@cronvel/get-pixels-3.4.0"
+      sources."@cronvel/get-pixels-3.4.1"
       sources."@gar/promisify-1.1.3"
       sources."@joplin/fork-htmlparser2-4.1.40"
       sources."@joplin/fork-sax-1.2.44"
@@ -106262,7 +106822,7 @@ in
           sources."fs-minipass-2.1.0"
           sources."gauge-3.0.2"
           sources."is-fullwidth-code-point-3.0.0"
-          sources."minipass-3.3.3"
+          sources."minipass-3.3.5"
           sources."minizlib-2.1.2"
           sources."mkdirp-1.0.4"
           sources."node-fetch-2.6.7"
@@ -106332,7 +106892,8 @@ in
       sources."async-mutex-0.1.4"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
-      (sources."aws-sdk-2.1158.0" // {
+      sources."available-typed-arrays-1.0.5"
+      (sources."aws-sdk-2.1188.0" // {
         dependencies = [
           sources."sax-1.2.1"
           sources."uuid-8.0.0"
@@ -106364,13 +106925,14 @@ in
         dependencies = [
           sources."chownr-2.0.0"
           sources."fs-minipass-2.1.0"
-          sources."minipass-3.3.3"
+          sources."minipass-3.3.5"
           sources."minizlib-2.1.2"
           sources."mkdirp-1.0.4"
           sources."rimraf-3.0.2"
           sources."tar-6.1.11"
         ];
       })
+      sources."call-bind-1.0.2"
       sources."camel-case-3.0.0"
       sources."camelcase-4.1.0"
       sources."caseless-0.12.0"
@@ -106409,14 +106971,14 @@ in
         ];
       })
       sources."cwise-compiler-1.1.3"
-      sources."d3-7.4.4"
-      sources."d3-array-3.1.6"
+      sources."d3-7.6.1"
+      sources."d3-array-3.2.0"
       sources."d3-axis-3.0.0"
       sources."d3-brush-3.0.0"
       sources."d3-chord-3.0.1"
       sources."d3-collection-1.0.7"
       sources."d3-color-3.1.0"
-      sources."d3-contour-3.0.1"
+      sources."d3-contour-4.0.0"
       sources."d3-delaunay-6.0.2"
       sources."d3-dispatch-3.0.1"
       sources."d3-drag-3.0.0"
@@ -106491,6 +107053,7 @@ in
       sources."deep-extend-0.6.0"
       sources."deep-is-0.1.4"
       sources."deepmerge-2.2.1"
+      sources."define-properties-1.1.4"
       sources."delaunator-5.0.0"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
@@ -106531,6 +107094,8 @@ in
       sources."entities-2.2.0"
       sources."env-paths-2.2.1"
       sources."err-code-2.0.3"
+      sources."es-abstract-1.20.1"
+      sources."es-to-primitive-1.2.1"
       sources."es6-promise-pool-2.5.0"
       sources."escape-string-regexp-1.0.5"
       sources."escodegen-1.14.3"
@@ -106551,6 +107116,7 @@ in
       sources."find-up-2.1.0"
       sources."follow-redirects-1.15.1"
       sources."font-awesome-filetypes-2.1.0"
+      sources."for-each-0.3.3"
       sources."for-each-property-0.0.4"
       sources."for-each-property-deep-0.0.3"
       sources."forever-agent-0.6.1"
@@ -106566,13 +107132,18 @@ in
       sources."fs-minipass-1.2.7"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
+      sources."function-bind-1.1.1"
+      sources."function.prototype.name-1.1.5"
+      sources."functions-have-names-1.2.3"
       (sources."gauge-2.7.4" // {
         dependencies = [
           sources."strip-ansi-3.0.1"
         ];
       })
+      sources."get-intrinsic-1.1.2"
       sources."get-prototype-chain-1.0.1"
       sources."get-stdin-5.0.1"
+      sources."get-symbol-description-1.0.0"
       sources."getpass-0.1.7"
       sources."github-from-package-0.0.0"
       sources."glob-7.2.3"
@@ -106582,8 +107153,13 @@ in
       sources."growly-1.3.0"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
+      sources."has-1.0.3"
       sources."has-ansi-2.0.0"
+      sources."has-bigints-1.0.2"
       sources."has-flag-4.0.0"
+      sources."has-property-descriptors-1.0.0"
+      sources."has-symbols-1.0.3"
+      sources."has-tostringtag-1.0.0"
       sources."has-unicode-2.0.1"
       sources."he-1.2.0"
       sources."highlight.js-11.1.0"
@@ -106647,25 +107223,40 @@ in
           sources."split-skip-0.0.1"
         ];
       })
+      sources."internal-slot-1.0.3"
       sources."internmap-2.0.3"
       sources."iota-array-1.0.0"
-      sources."ip-1.1.8"
+      sources."ip-2.0.0"
       sources."ip-regex-2.1.0"
       sources."is-absolute-0.2.6"
+      sources."is-arguments-1.1.1"
       sources."is-arrayish-0.3.2"
+      sources."is-bigint-1.0.4"
       sources."is-binary-path-2.1.0"
+      sources."is-boolean-object-1.1.2"
       sources."is-buffer-1.1.6"
+      sources."is-callable-1.2.4"
+      sources."is-date-object-1.0.5"
       sources."is-docker-2.2.1"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-1.0.0"
+      sources."is-generator-function-1.0.10"
       sources."is-glob-4.0.3"
       sources."is-lambda-1.0.1"
+      sources."is-negative-zero-2.0.2"
       sources."is-number-7.0.0"
+      sources."is-number-object-1.0.7"
+      sources."is-regex-1.1.4"
       sources."is-relative-0.2.1"
+      sources."is-shared-array-buffer-1.0.2"
       sources."is-stream-1.1.0"
+      sources."is-string-1.0.7"
+      sources."is-symbol-1.0.4"
+      sources."is-typed-array-1.1.9"
       sources."is-typedarray-1.0.0"
       sources."is-unc-path-0.1.2"
       sources."is-url-1.2.4"
+      sources."is-weakref-1.0.2"
       sources."is-windows-0.2.0"
       sources."is-wsl-2.2.0"
       (sources."is2-0.0.9" // {
@@ -106722,7 +107313,7 @@ in
       })
       (sources."make-fetch-happen-9.1.0" // {
         dependencies = [
-          sources."minipass-3.3.3"
+          sources."minipass-3.3.5"
         ];
       })
       (sources."markdown-it-10.0.0" // {
@@ -106740,7 +107331,7 @@ in
       sources."markdown-it-footnote-3.0.3"
       sources."markdown-it-ins-3.0.1"
       sources."markdown-it-mark-3.0.1"
-      sources."markdown-it-multimd-table-4.1.3"
+      sources."markdown-it-multimd-table-4.2.0"
       sources."markdown-it-sub-1.0.0"
       sources."markdown-it-sup-1.0.0"
       sources."markdown-it-toc-done-right-4.2.0"
@@ -106761,34 +107352,34 @@ in
       })
       (sources."minipass-collect-1.0.2" // {
         dependencies = [
-          sources."minipass-3.3.3"
+          sources."minipass-3.3.5"
         ];
       })
       (sources."minipass-fetch-1.4.1" // {
         dependencies = [
-          sources."minipass-3.3.3"
+          sources."minipass-3.3.5"
           sources."minizlib-2.1.2"
         ];
       })
       (sources."minipass-flush-1.0.5" // {
         dependencies = [
-          sources."minipass-3.3.3"
+          sources."minipass-3.3.5"
         ];
       })
       (sources."minipass-pipeline-1.2.4" // {
         dependencies = [
-          sources."minipass-3.3.3"
+          sources."minipass-3.3.5"
         ];
       })
       (sources."minipass-sized-1.0.3" // {
         dependencies = [
-          sources."minipass-3.3.3"
+          sources."minipass-3.3.5"
         ];
       })
       sources."minizlib-1.3.3"
       sources."mkdirp-0.5.6"
       sources."mkdirp-classic-0.5.3"
-      sources."moment-2.29.3"
+      sources."moment-2.29.4"
       sources."moment-mini-2.24.0"
       sources."ms-2.1.2"
       sources."multiparty-4.2.3"
@@ -106800,7 +107391,7 @@ in
       sources."negotiator-0.6.3"
       sources."nextgen-events-1.5.2"
       sources."no-case-2.3.2"
-      sources."node-abi-3.22.0"
+      sources."node-abi-3.24.0"
       sources."node-addon-api-4.3.0"
       sources."node-bitmap-0.0.1"
       sources."node-emoji-1.11.0"
@@ -106808,12 +107399,12 @@ in
       (sources."node-gyp-8.4.1" // {
         dependencies = [
           sources."ansi-regex-5.0.1"
-          sources."are-we-there-yet-3.0.0"
+          sources."are-we-there-yet-3.0.1"
           sources."chownr-2.0.0"
           sources."fs-minipass-2.1.0"
           sources."gauge-4.0.4"
           sources."is-fullwidth-code-point-3.0.0"
-          sources."minipass-3.3.3"
+          sources."minipass-3.3.5"
           sources."minizlib-2.1.2"
           sources."mkdirp-1.0.4"
           sources."npmlog-6.0.2"
@@ -106835,15 +107426,18 @@ in
       sources."normalize-path-3.0.0"
       sources."npmlog-4.1.2"
       sources."number-is-nan-1.0.1"
-      sources."nwsapi-2.2.0"
+      sources."nwsapi-2.2.1"
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
+      sources."object-inspect-1.12.2"
+      sources."object-keys-1.1.1"
       (sources."object-to-arguments-0.0.8" // {
         dependencies = [
           sources."inspect-parameters-declaration-0.0.10"
           sources."magicli-0.0.5"
         ];
       })
+      sources."object.assign-4.1.2"
       sources."omggif-1.0.10"
       sources."once-1.4.0"
       sources."open-7.4.2"
@@ -106861,7 +107455,7 @@ in
       sources."pify-3.0.0"
       sources."pipe-functions-1.3.0"
       sources."pn-1.1.0"
-      sources."pngjs-5.0.0"
+      sources."pngjs-6.0.0"
       sources."prebuild-install-7.1.1"
       sources."prelude-ls-1.1.2"
       sources."process-nextick-args-2.0.1"
@@ -106873,7 +107467,7 @@ in
         ];
       })
       sources."proper-lockfile-2.0.1"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."q-1.1.2"
@@ -106884,7 +107478,7 @@ in
       sources."queue-6.0.2"
       sources."random-bytes-1.0.0"
       sources."rc-1.2.8"
-      sources."re-reselect-4.0.0"
+      sources."re-reselect-4.0.1"
       sources."read-chunk-2.1.0"
       (sources."readable-stream-2.3.7" // {
         dependencies = [
@@ -106894,6 +107488,7 @@ in
       sources."readdirp-3.6.0"
       sources."reduce-flatten-1.0.1"
       sources."redux-3.7.2"
+      sources."regexp.prototype.flags-1.4.3"
       sources."relateurl-0.2.7"
       sources."relative-3.0.2"
       (sources."request-2.88.2" // {
@@ -106945,6 +107540,7 @@ in
         ];
       })
       sources."shellwords-0.1.1"
+      sources."side-channel-1.0.4"
       sources."signal-exit-3.0.7"
       sources."simple-concat-1.0.1"
       sources."simple-get-4.0.1"
@@ -106955,7 +107551,7 @@ in
         ];
       })
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.2"
+      sources."socks-2.7.0"
       (sources."socks-proxy-agent-6.2.1" // {
         dependencies = [
           sources."debug-4.3.4"
@@ -106966,11 +107562,11 @@ in
       sources."source-map-url-0.4.1"
       sources."split-skip-0.0.2"
       sources."sprintf-js-1.1.2"
-      (sources."sqlite3-5.0.8" // {
+      (sources."sqlite3-5.0.11" // {
         dependencies = [
           sources."chownr-2.0.0"
           sources."fs-minipass-2.1.0"
-          sources."minipass-3.3.3"
+          sources."minipass-3.3.5"
           sources."minizlib-2.1.2"
           sources."mkdirp-1.0.4"
           sources."tar-6.1.11"
@@ -106979,7 +107575,7 @@ in
       sources."sshpk-1.17.0"
       (sources."ssri-8.0.1" // {
         dependencies = [
-          sources."minipass-3.3.3"
+          sources."minipass-3.3.5"
         ];
       })
       sources."statuses-1.5.0"
@@ -106993,6 +107589,8 @@ in
           sources."strip-ansi-3.0.1"
         ];
       })
+      sources."string.prototype.trimend-1.0.5"
+      sources."string.prototype.trimstart-1.0.5"
       (sources."string_decoder-1.1.1" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
@@ -107062,6 +107660,7 @@ in
       })
       sources."uglifycss-0.0.29"
       sources."uid-safe-2.1.5"
+      sources."unbox-primitive-1.0.2"
       sources."unc-path-regex-0.1.2"
       sources."uniq-1.0.1"
       sources."unique-filename-1.1.1"
@@ -107078,6 +107677,7 @@ in
         ];
       })
       sources."url-parse-1.5.10"
+      sources."util-0.12.4"
       sources."util-deprecate-1.0.2"
       sources."uuid-3.4.0"
       sources."valid-url-1.0.9"
@@ -107089,6 +107689,8 @@ in
       sources."whatwg-mimetype-2.3.0"
       sources."whatwg-url-7.1.0"
       sources."which-2.0.2"
+      sources."which-boxed-primitive-1.0.2"
+      sources."which-typed-array-1.1.8"
       sources."wide-align-1.1.5"
       sources."word-wrap-1.2.3"
       sources."wordwrapjs-3.0.0"
@@ -107099,7 +107701,7 @@ in
         ];
       })
       sources."wrappy-1.0.2"
-      sources."ws-7.5.8"
+      sources."ws-7.5.9"
       sources."xml-name-validator-3.0.0"
       sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
@@ -107184,13 +107786,13 @@ in
   jsdoc = nodeEnv.buildNodePackage {
     name = "jsdoc";
     packageName = "jsdoc";
-    version = "3.6.10";
+    version = "3.6.11";
     src = fetchurl {
-      url = "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.10.tgz";
-      sha512 = "IdQ8ppSo5LKZ9o3M+LKIIK8i00DIe5msDvG3G81Km+1dhy0XrOWD0Ji8H61ElgyEj/O9KRLokgKbAM9XX9CJAg==";
+      url = "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.11.tgz";
+      sha512 = "8UCU0TYeIYD9KeLzEcAu2q8N/mx9O3phAGl32nmHlE0LpaJL71mMkP4d+QE5zWfNt50qheHtOZ0qoxVrsX5TUg==";
     };
     dependencies = [
-      sources."@babel/parser-7.18.5"
+      sources."@babel/parser-7.18.10"
       sources."@types/linkify-it-3.0.2"
       sources."@types/markdown-it-12.2.3"
       sources."@types/mdurl-1.0.2"
@@ -107199,13 +107801,14 @@ in
       sources."catharsis-0.9.0"
       sources."entities-2.1.0"
       sources."escape-string-regexp-2.0.0"
+      sources."graceful-fs-4.2.10"
       sources."js2xmlparser-4.0.2"
-      sources."klaw-4.0.1"
+      sources."klaw-3.0.0"
       sources."linkify-it-3.0.3"
       sources."lodash-4.17.21"
       sources."markdown-it-12.3.2"
       sources."markdown-it-anchor-8.6.4"
-      sources."marked-4.0.17"
+      sources."marked-4.0.18"
       sources."mdurl-1.0.1"
       sources."mkdirp-1.0.4"
       sources."requizzle-0.2.3"
@@ -107228,10 +107831,10 @@ in
   jshint = nodeEnv.buildNodePackage {
     name = "jshint";
     packageName = "jshint";
-    version = "2.13.4";
+    version = "2.13.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/jshint/-/jshint-2.13.4.tgz";
-      sha512 = "HO3bosL84b2qWqI0q+kpT/OpRJwo0R4ivgmxaO848+bo10rc50SkPnrtwSFXttW0ym4np8jbJvLwk5NziB7jIw==";
+      url = "https://registry.npmjs.org/jshint/-/jshint-2.13.5.tgz";
+      sha512 = "dB2n1w3OaQ35PLcBGIWXlszjbPZwsgZoxsg6G8PtNf2cFMC1l0fObkYLUuXqTTdi6tKw4sAjfUseTdmDMHQRcg==";
     };
     dependencies = [
       sources."balanced-match-1.0.2"
@@ -107307,18 +107910,18 @@ in
       sha512 = "cVnggDrVkAAA3OvFfHpFEhOnmcsUpleEKq4d4O8sQWWSH40MBrWstKigVB1kGrgLWzuom+7rRdaCsnBD6VyObQ==";
     };
     dependencies = [
-      sources."cli-color-2.0.2"
+      sources."cli-color-2.0.3"
       sources."d-1.0.1"
       sources."difflib-0.2.4"
       sources."dreamopt-0.8.0"
-      sources."es5-ext-0.10.61"
+      sources."es5-ext-0.10.62"
       sources."es6-iterator-2.0.3"
       sources."es6-symbol-3.1.3"
       sources."es6-weak-map-2.0.3"
       sources."event-emitter-0.3.5"
       (sources."ext-1.6.0" // {
         dependencies = [
-          sources."type-2.6.0"
+          sources."type-2.7.0"
         ];
       })
       sources."heap-0.2.7"
@@ -107388,7 +107991,7 @@ in
       sources."once-1.4.0"
       sources."path-loader-1.0.12"
       sources."punycode-2.1.1"
-      sources."qs-6.10.5"
+      sources."qs-6.11.0"
       sources."readable-stream-3.6.0"
       sources."safe-buffer-5.2.1"
       sources."semver-7.3.7"
@@ -107444,7 +108047,7 @@ in
       sources."ci-info-2.0.0"
       sources."cli-boxes-2.2.1"
       sources."cliui-7.0.4"
-      sources."clone-response-1.0.2"
+      sources."clone-response-1.0.3"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."compressible-2.0.18"
@@ -107472,7 +108075,7 @@ in
       sources."depd-2.0.0"
       sources."destroy-1.2.0"
       sources."dot-prop-5.3.0"
-      sources."duplexer3-0.1.4"
+      sources."duplexer3-0.1.5"
       sources."ee-first-1.1.1"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
@@ -107637,7 +108240,7 @@ in
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
       sources."yargs-17.5.1"
-      sources."yargs-parser-21.0.1"
+      sources."yargs-parser-21.1.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -108022,7 +108625,7 @@ in
       sources."preserve-0.2.0"
       sources."process-nextick-args-2.0.1"
       sources."proxy-addr-2.0.7"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."punycode-2.1.1"
       sources."qs-6.10.3"
       (sources."randomatic-3.1.1" // {
@@ -108312,7 +108915,7 @@ in
       sources."chardet-0.7.0"
       sources."clean-stack-3.0.1"
       sources."cli-cursor-3.1.0"
-      sources."cli-progress-3.11.1"
+      sources."cli-progress-3.11.2"
       (sources."cli-ux-5.6.7" // {
         dependencies = [
           sources."supports-color-8.1.1"
@@ -108345,7 +108948,7 @@ in
       sources."dotenv-8.6.0"
       sources."emoji-regex-8.0.0"
       sources."env-paths-2.2.1"
-      sources."es5-ext-0.10.61"
+      sources."es5-ext-0.10.62"
       sources."es6-iterator-2.0.3"
       sources."es6-symbol-3.1.3"
       sources."escape-string-regexp-4.0.0"
@@ -108409,7 +109012,7 @@ in
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."mimic-fn-2.1.0"
-      sources."moment-2.29.3"
+      sources."moment-2.29.4"
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
       sources."natural-orderby-2.0.3"
@@ -108434,7 +109037,7 @@ in
       sources."picomatch-2.3.1"
       sources."pkg-up-3.1.0"
       sources."punycode-2.1.1"
-      sources."qs-6.10.5"
+      sources."qs-6.11.0"
       sources."queue-microtask-1.2.3"
       sources."redeyed-2.1.1"
       sources."restore-cursor-3.1.0"
@@ -108462,7 +109065,7 @@ in
       sources."tmp-0.0.33"
       sources."to-regex-range-5.0.1"
       sources."tslib-2.4.0"
-      sources."type-2.6.0"
+      sources."type-2.7.0"
       sources."type-fest-0.21.3"
       sources."typedarray-to-buffer-3.1.5"
       sources."universalify-0.1.2"
@@ -108519,7 +109122,7 @@ in
       sources."@types/component-emitter-1.2.11"
       sources."@types/cookie-0.4.1"
       sources."@types/cors-2.8.12"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."accepts-1.3.8"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
@@ -108543,7 +109146,7 @@ in
       sources."cookie-0.4.2"
       sources."cors-2.8.5"
       sources."custom-event-1.0.1"
-      sources."date-format-4.0.11"
+      sources."date-format-4.0.13"
       sources."debug-2.6.9"
       sources."depd-2.0.0"
       sources."destroy-1.2.0"
@@ -108571,9 +109174,9 @@ in
           sources."statuses-1.5.0"
         ];
       })
-      sources."flatted-3.2.5"
+      sources."flatted-3.2.6"
       sources."follow-redirects-1.15.1"
-      sources."fs-extra-10.1.0"
+      sources."fs-extra-8.1.0"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
@@ -108595,9 +109198,9 @@ in
       sources."is-glob-4.0.3"
       sources."is-number-7.0.0"
       sources."isbinaryfile-4.0.10"
-      sources."jsonfile-6.1.0"
+      sources."jsonfile-4.0.0"
       sources."lodash-4.17.21"
-      (sources."log4js-6.5.2" // {
+      (sources."log4js-6.6.1" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
@@ -108639,7 +109242,7 @@ in
         ];
       })
       sources."socket.io-adapter-2.4.0"
-      (sources."socket.io-parser-4.0.4" // {
+      (sources."socket.io-parser-4.0.5" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
@@ -108647,7 +109250,7 @@ in
       })
       sources."source-map-0.6.1"
       sources."statuses-2.0.1"
-      (sources."streamroller-3.1.1" // {
+      (sources."streamroller-3.1.2" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
@@ -108660,7 +109263,7 @@ in
       sources."toidentifier-1.0.1"
       sources."type-is-1.6.18"
       sources."ua-parser-js-0.7.31"
-      sources."universalify-2.0.0"
+      sources."universalify-0.1.2"
       sources."unpipe-1.0.0"
       sources."utils-merge-1.0.1"
       sources."vary-1.1.2"
@@ -108692,56 +109295,57 @@ in
     };
     dependencies = [
       sources."@ampproject/remapping-2.2.0"
-      sources."@babel/cli-7.17.10"
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.18.5"
-      (sources."@babel/core-7.18.5" // {
+      sources."@babel/cli-7.18.10"
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/compat-data-7.18.8"
+      (sources."@babel/core-7.18.10" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      (sources."@babel/generator-7.18.2" // {
+      (sources."@babel/generator-7.18.10" // {
         dependencies = [
-          sources."@jridgewell/gen-mapping-0.3.1"
+          sources."@jridgewell/gen-mapping-0.3.2"
         ];
       })
-      sources."@babel/helper-annotate-as-pure-7.16.7"
-      (sources."@babel/helper-compilation-targets-7.18.2" // {
+      sources."@babel/helper-annotate-as-pure-7.18.6"
+      (sources."@babel/helper-compilation-targets-7.18.9" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-environment-visitor-7.18.2"
-      sources."@babel/helper-function-name-7.17.9"
-      sources."@babel/helper-hoist-variables-7.16.7"
-      sources."@babel/helper-module-imports-7.16.7"
-      sources."@babel/helper-module-transforms-7.18.0"
-      sources."@babel/helper-plugin-utils-7.17.12"
-      sources."@babel/helper-simple-access-7.18.2"
-      sources."@babel/helper-split-export-declaration-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/helper-validator-option-7.16.7"
-      sources."@babel/helpers-7.18.2"
-      sources."@babel/highlight-7.17.12"
-      sources."@babel/node-7.18.5"
-      sources."@babel/parser-7.18.5"
-      sources."@babel/plugin-syntax-jsx-7.17.12"
-      sources."@babel/plugin-transform-react-jsx-7.17.12"
-      sources."@babel/register-7.17.7"
-      sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.18.5"
-      sources."@babel/types-7.18.4"
+      sources."@babel/helper-environment-visitor-7.18.9"
+      sources."@babel/helper-function-name-7.18.9"
+      sources."@babel/helper-hoist-variables-7.18.6"
+      sources."@babel/helper-module-imports-7.18.6"
+      sources."@babel/helper-module-transforms-7.18.9"
+      sources."@babel/helper-plugin-utils-7.18.9"
+      sources."@babel/helper-simple-access-7.18.6"
+      sources."@babel/helper-split-export-declaration-7.18.6"
+      sources."@babel/helper-string-parser-7.18.10"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      sources."@babel/helper-validator-option-7.18.6"
+      sources."@babel/helpers-7.18.9"
+      sources."@babel/highlight-7.18.6"
+      sources."@babel/node-7.18.10"
+      sources."@babel/parser-7.18.10"
+      sources."@babel/plugin-syntax-jsx-7.18.6"
+      sources."@babel/plugin-transform-react-jsx-7.18.10"
+      sources."@babel/register-7.18.9"
+      sources."@babel/template-7.18.10"
+      sources."@babel/traverse-7.18.10"
+      sources."@babel/types-7.18.10"
       sources."@jridgewell/gen-mapping-0.1.1"
-      sources."@jridgewell/resolve-uri-3.0.7"
-      sources."@jridgewell/set-array-1.1.1"
-      sources."@jridgewell/sourcemap-codec-1.4.13"
-      sources."@jridgewell/trace-mapping-0.3.13"
+      sources."@jridgewell/resolve-uri-3.1.0"
+      sources."@jridgewell/set-array-1.1.2"
+      sources."@jridgewell/sourcemap-codec-1.4.14"
+      sources."@jridgewell/trace-mapping-0.3.14"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
       sources."@openpgp/hkp-client-0.0.2"
       sources."@openpgp/wkd-client-0.0.3"
-      sources."@peculiar/asn1-schema-2.1.9"
+      sources."@peculiar/asn1-schema-2.2.0"
       sources."@peculiar/json-schema-1.1.12"
       sources."@peculiar/webcrypto-1.4.0"
       sources."@tootallnate/once-1.1.2"
@@ -108774,7 +109378,7 @@ in
       sources."@xmpp/xml-0.13.1"
       sources."abab-2.0.6"
       sources."accepts-1.3.8"
-      sources."acorn-8.7.1"
+      sources."acorn-8.8.0"
       (sources."acorn-globals-6.0.0" // {
         dependencies = [
           sources."acorn-7.4.1"
@@ -108818,12 +109422,12 @@ in
       sources."braces-3.0.2"
       sources."browser-or-node-1.3.0"
       sources."browser-process-hrtime-1.0.0"
-      sources."browserslist-4.20.4"
+      sources."browserslist-4.21.3"
       sources."buffer-5.7.1"
       sources."buffer-from-1.1.2"
       sources."bytes-3.1.2"
       sources."call-bind-1.0.2"
-      sources."caniuse-lite-1.0.30001358"
+      sources."caniuse-lite-1.0.30001373"
       sources."chalk-2.4.2"
       sources."chardet-1.4.0"
       sources."chownr-1.1.4"
@@ -108852,7 +109456,7 @@ in
       sources."convert-source-map-1.8.0"
       sources."cookie-0.5.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.23.2"
+      sources."core-js-3.24.1"
       sources."core-util-is-1.0.3"
       sources."cors-2.8.5"
       sources."create-hash-1.2.0"
@@ -108891,7 +109495,7 @@ in
       })
       sources."dotenv-8.6.0"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.164"
+      sources."electron-to-chromium-1.4.211"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
@@ -109029,7 +109633,7 @@ in
           sources."tr46-2.1.0"
           sources."webidl-conversions-6.1.0"
           sources."whatwg-url-8.7.0"
-          sources."ws-7.5.8"
+          sources."ws-7.5.9"
         ];
       })
       sources."jsesc-2.5.2"
@@ -109069,10 +109673,10 @@ in
       sources."node-abi-2.30.1"
       sources."node-environment-flags-1.0.6"
       sources."node-fetch-2.6.7"
-      sources."node-releases-2.0.5"
+      sources."node-releases-2.0.6"
       sources."npmlog-4.1.2"
       sources."number-is-nan-1.0.1"
-      sources."nwsapi-2.2.0"
+      sources."nwsapi-2.2.1"
       sources."object-assign-4.1.1"
       sources."object-inspect-1.12.2"
       sources."object-keys-1.1.1"
@@ -109080,7 +109684,7 @@ in
       sources."object.getownpropertydescriptors-2.1.4"
       sources."on-finished-2.4.1"
       sources."once-1.4.0"
-      sources."openpgp-5.3.0"
+      sources."openpgp-5.3.1"
       sources."optionator-0.8.3"
       sources."p-is-promise-3.0.0"
       sources."p-limit-2.3.0"
@@ -109098,10 +109702,12 @@ in
       sources."picomatch-2.3.1"
       sources."pify-4.0.1"
       sources."pirates-4.0.5"
-      (sources."pkg-5.7.0" // {
+      (sources."pkg-5.8.0" // {
         dependencies = [
-          sources."@babel/parser-7.17.10"
-          sources."@babel/types-7.17.10"
+          sources."@babel/generator-7.18.2"
+          sources."@babel/parser-7.18.4"
+          sources."@babel/types-7.18.4"
+          sources."@jridgewell/gen-mapping-0.3.2"
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
           sources."color-convert-2.0.1"
@@ -109111,7 +109717,7 @@ in
         ];
       })
       sources."pkg-dir-3.0.0"
-      (sources."pkg-fetch-3.4.1" // {
+      (sources."pkg-fetch-3.4.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -109127,7 +109733,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."progress-2.0.3"
       sources."proxy-addr-2.0.7"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."pvtsutils-1.3.2"
@@ -109221,6 +109827,7 @@ in
       sources."unbox-primitive-1.0.2"
       sources."universalify-0.1.2"
       sources."unpipe-1.0.0"
+      sources."update-browserslist-db-1.0.5"
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
       sources."v8flags-3.2.0"
@@ -109247,7 +109854,7 @@ in
         ];
       })
       sources."wrappy-1.0.2"
-      sources."ws-8.8.0"
+      sources."ws-8.8.1"
       sources."xml-name-validator-3.0.0"
       sources."xmlchars-2.2.0"
       sources."y18n-5.0.8"
@@ -109507,7 +110114,7 @@ in
       sources."minimatch-3.1.2"
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
-      sources."moment-2.29.3"
+      sources."moment-2.29.4"
       sources."mute-stream-0.0.8"
       (sources."nconf-0.10.0" // {
         dependencies = [
@@ -109545,7 +110152,7 @@ in
       sources."pkginfo-0.4.1"
       sources."prelude-ls-1.1.2"
       sources."prompt-1.0.0"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.3"
@@ -109755,7 +110362,7 @@ in
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
       sources."mkdirp-1.0.4"
-      sources."moment-2.29.3"
+      sources."moment-2.29.4"
       sources."mute-stream-0.0.8"
       (sources."nconf-0.11.4" // {
         dependencies = [
@@ -109785,7 +110392,7 @@ in
       sources."pkginfo-0.4.1"
       sources."prelude-ls-1.1.2"
       sources."prompt-1.0.0"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.3"
       sources."read-1.0.7"
@@ -109883,15 +110490,15 @@ in
   lerna = nodeEnv.buildNodePackage {
     name = "lerna";
     packageName = "lerna";
-    version = "5.1.4";
+    version = "5.3.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/lerna/-/lerna-5.1.4.tgz";
-      sha512 = "WwSbMslPxWSV7ARsGzkhJAFC1uQcuNGgiy2vZho4bpXVC+A7ZLXy8FngDbcAn7hCGC3ZDnl/4jdY6d84j63Y4g==";
+      url = "https://registry.npmjs.org/lerna/-/lerna-5.3.0.tgz";
+      sha512 = "0Y9xJqleVu0ExGmsw2WM/GkVmxOwtA7OLQFS5ERPKJfnsxH9roTX3a7NPaGQRI2E+tSJLJJGgNSf3WYEqinOqA==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      (sources."@babel/highlight-7.17.12" // {
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      (sources."@babel/highlight-7.18.6" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
@@ -109904,176 +110511,153 @@ in
       sources."@gar/promisify-1.1.3"
       sources."@hutson/parse-repository-url-3.0.2"
       sources."@isaacs/string-locale-compare-1.1.0"
-      sources."@lerna/add-5.1.4"
-      sources."@lerna/bootstrap-5.1.4"
-      sources."@lerna/changed-5.1.4"
-      sources."@lerna/check-working-tree-5.1.4"
-      sources."@lerna/child-process-5.1.4"
-      sources."@lerna/clean-5.1.4"
-      sources."@lerna/cli-5.1.4"
-      sources."@lerna/collect-uncommitted-5.1.4"
-      sources."@lerna/collect-updates-5.1.4"
-      sources."@lerna/command-5.1.4"
-      (sources."@lerna/conventional-commits-5.1.4" // {
+      sources."@lerna/add-5.3.0"
+      sources."@lerna/bootstrap-5.3.0"
+      sources."@lerna/changed-5.3.0"
+      sources."@lerna/check-working-tree-5.3.0"
+      sources."@lerna/child-process-5.3.0"
+      sources."@lerna/clean-5.3.0"
+      sources."@lerna/cli-5.3.0"
+      sources."@lerna/collect-uncommitted-5.3.0"
+      sources."@lerna/collect-updates-5.3.0"
+      sources."@lerna/command-5.3.0"
+      (sources."@lerna/conventional-commits-5.3.0" // {
         dependencies = [
           sources."pify-5.0.0"
         ];
       })
-      (sources."@lerna/create-5.1.4" // {
+      (sources."@lerna/create-5.3.0" // {
         dependencies = [
+          sources."builtins-5.0.1"
           sources."pify-5.0.0"
+          sources."validate-npm-package-name-4.0.0"
           sources."yargs-parser-20.2.4"
         ];
       })
-      sources."@lerna/create-symlink-5.1.4"
-      sources."@lerna/describe-ref-5.1.4"
-      sources."@lerna/diff-5.1.4"
-      sources."@lerna/exec-5.1.4"
-      sources."@lerna/filter-options-5.1.4"
-      sources."@lerna/filter-packages-5.1.4"
-      sources."@lerna/get-npm-exec-opts-5.1.4"
-      (sources."@lerna/get-packed-5.1.4" // {
-        dependencies = [
-          sources."ssri-8.0.1"
-        ];
-      })
-      sources."@lerna/github-client-5.1.4"
-      sources."@lerna/gitlab-client-5.1.4"
-      sources."@lerna/global-options-5.1.4"
-      sources."@lerna/has-npm-version-5.1.4"
-      sources."@lerna/import-5.1.4"
-      sources."@lerna/info-5.1.4"
-      sources."@lerna/init-5.1.4"
-      sources."@lerna/link-5.1.4"
-      sources."@lerna/list-5.1.4"
-      sources."@lerna/listable-5.1.4"
-      sources."@lerna/log-packed-5.1.4"
-      (sources."@lerna/npm-conf-5.1.4" // {
+      sources."@lerna/create-symlink-5.3.0"
+      sources."@lerna/describe-ref-5.3.0"
+      sources."@lerna/diff-5.3.0"
+      sources."@lerna/exec-5.3.0"
+      sources."@lerna/filter-options-5.3.0"
+      sources."@lerna/filter-packages-5.3.0"
+      sources."@lerna/get-npm-exec-opts-5.3.0"
+      sources."@lerna/get-packed-5.3.0"
+      sources."@lerna/github-client-5.3.0"
+      sources."@lerna/gitlab-client-5.3.0"
+      sources."@lerna/global-options-5.3.0"
+      sources."@lerna/has-npm-version-5.3.0"
+      sources."@lerna/import-5.3.0"
+      sources."@lerna/info-5.3.0"
+      sources."@lerna/init-5.3.0"
+      sources."@lerna/link-5.3.0"
+      sources."@lerna/list-5.3.0"
+      sources."@lerna/listable-5.3.0"
+      sources."@lerna/log-packed-5.3.0"
+      (sources."@lerna/npm-conf-5.3.0" // {
         dependencies = [
           sources."pify-5.0.0"
         ];
       })
-      (sources."@lerna/npm-dist-tag-5.1.4" // {
+      sources."@lerna/npm-dist-tag-5.3.0"
+      sources."@lerna/npm-install-5.3.0"
+      (sources."@lerna/npm-publish-5.3.0" // {
         dependencies = [
-          sources."cacache-15.3.0"
-          sources."make-fetch-happen-8.0.14"
-          sources."npm-registry-fetch-9.0.0"
-          sources."socks-proxy-agent-5.0.1"
-          sources."ssri-8.0.1"
-        ];
-      })
-      sources."@lerna/npm-install-5.1.4"
-      (sources."@lerna/npm-publish-5.1.4" // {
-        dependencies = [
-          sources."normalize-package-data-3.0.3"
           sources."pify-5.0.0"
-          sources."read-package-json-3.0.1"
         ];
       })
-      sources."@lerna/npm-run-script-5.1.4"
-      sources."@lerna/otplease-5.1.4"
-      sources."@lerna/output-5.1.4"
-      (sources."@lerna/pack-directory-5.1.4" // {
-        dependencies = [
-          sources."ignore-walk-3.0.4"
-          sources."npm-packlist-2.2.2"
-        ];
-      })
-      sources."@lerna/package-5.1.4"
-      sources."@lerna/package-graph-5.1.4"
-      sources."@lerna/prerelease-id-from-version-5.1.4"
-      sources."@lerna/profiler-5.1.4"
-      sources."@lerna/project-5.1.4"
-      sources."@lerna/prompt-5.1.4"
-      (sources."@lerna/publish-5.1.4" // {
-        dependencies = [
-          sources."cacache-15.3.0"
-          sources."make-fetch-happen-8.0.14"
-          sources."npm-registry-fetch-9.0.0"
-          sources."socks-proxy-agent-5.0.1"
-          sources."ssri-8.0.1"
-        ];
-      })
-      sources."@lerna/pulse-till-done-5.1.4"
-      sources."@lerna/query-graph-5.1.4"
-      sources."@lerna/resolve-symlink-5.1.4"
-      sources."@lerna/rimraf-dir-5.1.4"
-      sources."@lerna/run-5.1.4"
-      sources."@lerna/run-lifecycle-5.1.4"
-      sources."@lerna/run-topologically-5.1.4"
-      sources."@lerna/symlink-binary-5.1.4"
-      sources."@lerna/symlink-dependencies-5.1.4"
-      (sources."@lerna/temp-write-5.1.4" // {
+      sources."@lerna/npm-run-script-5.3.0"
+      sources."@lerna/otplease-5.3.0"
+      sources."@lerna/output-5.3.0"
+      sources."@lerna/pack-directory-5.3.0"
+      sources."@lerna/package-5.3.0"
+      sources."@lerna/package-graph-5.3.0"
+      sources."@lerna/prerelease-id-from-version-5.3.0"
+      sources."@lerna/profiler-5.3.0"
+      sources."@lerna/project-5.3.0"
+      sources."@lerna/prompt-5.3.0"
+      sources."@lerna/publish-5.3.0"
+      sources."@lerna/pulse-till-done-5.3.0"
+      sources."@lerna/query-graph-5.3.0"
+      sources."@lerna/resolve-symlink-5.3.0"
+      sources."@lerna/rimraf-dir-5.3.0"
+      sources."@lerna/run-5.3.0"
+      sources."@lerna/run-lifecycle-5.3.0"
+      sources."@lerna/run-topologically-5.3.0"
+      sources."@lerna/symlink-binary-5.3.0"
+      sources."@lerna/symlink-dependencies-5.3.0"
+      (sources."@lerna/temp-write-5.3.0" // {
         dependencies = [
           sources."make-dir-3.1.0"
           sources."semver-6.3.0"
         ];
       })
-      sources."@lerna/timer-5.1.4"
-      sources."@lerna/validation-error-5.1.4"
-      sources."@lerna/version-5.1.4"
-      (sources."@lerna/write-log-file-5.1.4" // {
+      sources."@lerna/timer-5.3.0"
+      sources."@lerna/validation-error-5.3.0"
+      sources."@lerna/version-5.3.0"
+      (sources."@lerna/write-log-file-5.3.0" // {
         dependencies = [
-          sources."write-file-atomic-3.0.3"
+          sources."write-file-atomic-4.0.1"
         ];
       })
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      (sources."@npmcli/arborist-5.2.0" // {
+      (sources."@npmcli/arborist-5.3.0" // {
         dependencies = [
-          sources."@npmcli/move-file-2.0.0"
           sources."builtins-5.0.1"
           sources."hosted-git-info-5.0.0"
-          sources."lru-cache-7.10.1"
-          sources."npm-package-arg-9.0.2"
+          sources."lru-cache-7.13.2"
+          sources."npm-package-arg-9.1.0"
           sources."validate-npm-package-name-4.0.0"
         ];
       })
-      sources."@npmcli/ci-detect-1.4.0"
-      sources."@npmcli/fs-1.1.1"
+      sources."@npmcli/fs-2.1.1"
       (sources."@npmcli/git-3.0.1" // {
         dependencies = [
-          sources."lru-cache-7.10.1"
+          sources."lru-cache-7.13.2"
         ];
       })
       sources."@npmcli/installed-package-contents-1.0.7"
-      (sources."@npmcli/map-workspaces-2.0.3" // {
+      (sources."@npmcli/map-workspaces-2.0.4" // {
         dependencies = [
           sources."brace-expansion-2.0.1"
           sources."glob-8.0.3"
           sources."minimatch-5.1.0"
         ];
       })
-      sources."@npmcli/metavuln-calculator-3.1.0"
-      sources."@npmcli/move-file-1.1.2"
+      sources."@npmcli/metavuln-calculator-3.1.1"
+      sources."@npmcli/move-file-2.0.0"
       sources."@npmcli/name-from-folder-1.0.1"
       sources."@npmcli/node-gyp-2.0.0"
       sources."@npmcli/package-json-2.0.0"
       sources."@npmcli/promise-spawn-3.0.0"
-      sources."@npmcli/run-script-3.0.3"
-      sources."@octokit/auth-token-2.5.0"
-      sources."@octokit/core-3.6.0"
-      (sources."@octokit/endpoint-6.0.12" // {
+      sources."@npmcli/run-script-4.2.0"
+      sources."@nrwl/cli-14.5.2"
+      sources."@nrwl/tao-14.5.2"
+      sources."@octokit/auth-token-3.0.0"
+      sources."@octokit/core-4.0.4"
+      (sources."@octokit/endpoint-7.0.0" // {
         dependencies = [
           sources."is-plain-object-5.0.0"
         ];
       })
-      sources."@octokit/graphql-4.8.0"
-      sources."@octokit/openapi-types-12.4.0"
+      sources."@octokit/graphql-5.0.0"
+      sources."@octokit/openapi-types-12.11.0"
       sources."@octokit/plugin-enterprise-rest-6.0.1"
-      sources."@octokit/plugin-paginate-rest-2.19.0"
+      sources."@octokit/plugin-paginate-rest-3.1.0"
       sources."@octokit/plugin-request-log-1.0.4"
-      sources."@octokit/plugin-rest-endpoint-methods-5.15.0"
-      (sources."@octokit/request-5.6.3" // {
+      sources."@octokit/plugin-rest-endpoint-methods-6.2.0"
+      (sources."@octokit/request-6.2.0" // {
         dependencies = [
           sources."is-plain-object-5.0.0"
         ];
       })
-      sources."@octokit/request-error-2.1.0"
-      sources."@octokit/rest-18.12.0"
-      sources."@octokit/types-6.37.0"
-      sources."@tootallnate/once-1.1.2"
+      sources."@octokit/request-error-3.0.0"
+      sources."@octokit/rest-19.0.3"
+      sources."@octokit/types-6.41.0"
+      sources."@parcel/watcher-2.0.4"
+      sources."@tootallnate/once-2.0.0"
+      sources."@types/json5-0.0.29"
       sources."@types/minimatch-3.0.5"
       sources."@types/minimist-1.2.2"
       sources."@types/normalize-package-data-2.4.1"
@@ -110084,6 +110668,7 @@ in
       sources."agent-base-6.0.2"
       sources."agentkeepalive-4.2.1"
       sources."aggregate-error-3.1.0"
+      sources."ansi-colors-4.1.3"
       (sources."ansi-escapes-4.3.2" // {
         dependencies = [
           sources."type-fest-0.21.3"
@@ -110091,8 +110676,10 @@ in
       })
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
+      sources."anymatch-3.1.2"
       sources."aproba-2.0.0"
-      sources."are-we-there-yet-3.0.0"
+      sources."are-we-there-yet-3.0.1"
+      sources."argparse-2.0.1"
       sources."array-differ-3.0.0"
       sources."array-ify-1.0.0"
       sources."array-union-2.1.0"
@@ -110100,44 +110687,45 @@ in
       sources."asap-2.0.6"
       sources."at-least-node-1.0.0"
       sources."balanced-match-1.0.2"
+      sources."base64-js-1.5.1"
       sources."before-after-hook-2.2.2"
       (sources."bin-links-3.0.1" // {
         dependencies = [
-          sources."cmd-shim-5.0.0"
-          sources."read-cmd-shim-3.0.0"
           sources."write-file-atomic-4.0.1"
         ];
       })
+      sources."binary-extensions-2.2.0"
+      sources."bl-4.1.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
+      sources."buffer-5.7.1"
       sources."buffer-from-1.1.2"
       sources."builtins-1.0.3"
       sources."byte-size-7.0.1"
       (sources."cacache-16.1.1" // {
         dependencies = [
-          sources."@npmcli/fs-2.1.0"
-          sources."@npmcli/move-file-2.0.0"
           sources."brace-expansion-2.0.1"
           sources."glob-8.0.3"
-          sources."lru-cache-7.10.1"
+          sources."lru-cache-7.13.2"
           sources."minimatch-5.1.0"
         ];
       })
-      sources."call-bind-1.0.2"
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
       sources."chalk-4.1.2"
       sources."chardet-0.7.0"
+      sources."chokidar-3.5.3"
       sources."chownr-2.0.0"
       sources."ci-info-2.0.0"
       sources."clean-stack-2.2.0"
       sources."cli-cursor-3.1.0"
+      sources."cli-spinners-2.7.0"
       sources."cli-width-3.0.0"
       sources."cliui-7.0.4"
       sources."clone-1.0.4"
       sources."clone-deep-4.0.1"
-      sources."cmd-shim-4.1.0"
+      sources."cmd-shim-5.0.0"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."color-support-1.1.3"
@@ -110155,6 +110743,7 @@ in
       sources."conventional-changelog-angular-5.0.13"
       (sources."conventional-changelog-core-4.2.4" // {
         dependencies = [
+          sources."hosted-git-info-4.1.0"
           sources."normalize-package-data-3.0.3"
         ];
       })
@@ -110180,9 +110769,9 @@ in
           sources."map-obj-1.0.1"
         ];
       })
-      sources."decode-uri-component-0.2.0"
       sources."dedent-0.7.0"
       sources."defaults-1.0.3"
+      sources."define-lazy-prop-2.0.0"
       sources."delegates-1.0.0"
       sources."depd-1.1.2"
       sources."deprecation-2.3.1"
@@ -110190,9 +110779,12 @@ in
       sources."dezalgo-1.0.4"
       sources."dir-glob-3.0.1"
       sources."dot-prop-6.0.1"
+      sources."dotenv-10.0.0"
       sources."duplexer-0.1.2"
       sources."emoji-regex-8.0.0"
       sources."encoding-0.1.13"
+      sources."end-of-stream-1.4.4"
+      sources."enquirer-2.3.6"
       sources."env-paths-2.2.1"
       sources."envinfo-7.8.1"
       sources."err-code-2.0.3"
@@ -110210,17 +110802,19 @@ in
       sources."fastq-1.13.0"
       sources."figures-3.2.0"
       sources."fill-range-7.0.1"
-      sources."filter-obj-1.1.0"
       sources."find-up-4.1.0"
+      sources."flat-5.0.2"
+      sources."fs-constants-1.0.0"
       sources."fs-extra-9.1.0"
       sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
+      sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
       sources."gauge-4.0.4"
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.2"
       (sources."get-pkg-repo-4.2.1" // {
         dependencies = [
+          sources."hosted-git-info-4.1.0"
           sources."readable-stream-2.3.7"
           sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
@@ -110240,8 +110834,8 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."git-up-4.0.5"
-      sources."git-url-parse-11.6.0"
+      sources."git-up-6.0.0"
+      sources."git-url-parse-12.0.0"
       sources."gitconfiglocal-1.0.0"
       sources."glob-7.2.3"
       sources."glob-parent-5.1.2"
@@ -110251,15 +110845,15 @@ in
       sources."hard-rejection-2.1.0"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
-      sources."has-symbols-1.0.3"
       sources."has-unicode-2.0.1"
-      sources."hosted-git-info-4.1.0"
+      sources."hosted-git-info-3.0.8"
       sources."http-cache-semantics-4.1.0"
-      sources."http-proxy-agent-4.0.1"
+      sources."http-proxy-agent-5.0.0"
       sources."https-proxy-agent-5.0.1"
       sources."human-signals-2.1.0"
       sources."humanize-ms-1.2.1"
       sources."iconv-lite-0.6.3"
+      sources."ieee754-1.2.1"
       sources."ignore-5.2.0"
       (sources."ignore-walk-5.0.1" // {
         dependencies = [
@@ -110279,52 +110873,69 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
-      (sources."init-package-json-2.0.5" // {
+      (sources."init-package-json-3.0.2" // {
         dependencies = [
-          sources."normalize-package-data-3.0.3"
-          sources."read-package-json-4.1.2"
+          sources."builtins-5.0.1"
+          sources."hosted-git-info-5.0.0"
+          sources."lru-cache-7.13.2"
+          sources."npm-package-arg-9.1.0"
+          sources."validate-npm-package-name-4.0.0"
         ];
       })
-      sources."inquirer-7.3.3"
-      sources."ip-1.1.8"
+      sources."inquirer-8.2.4"
+      sources."ip-2.0.0"
       sources."is-arrayish-0.2.1"
+      sources."is-binary-path-2.1.0"
       sources."is-ci-2.0.0"
       sources."is-core-module-2.9.0"
+      sources."is-docker-2.2.1"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.3"
+      sources."is-interactive-1.0.0"
       sources."is-lambda-1.0.1"
       sources."is-number-7.0.0"
       sources."is-obj-2.0.0"
       sources."is-plain-obj-1.1.0"
       sources."is-plain-object-2.0.4"
-      sources."is-ssh-1.3.3"
+      sources."is-ssh-1.4.0"
       sources."is-stream-2.0.1"
       sources."is-text-path-1.0.1"
       sources."is-typedarray-1.0.0"
+      sources."is-unicode-supported-0.1.0"
+      sources."is-wsl-2.2.0"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."isobject-3.0.1"
       sources."js-tokens-4.0.0"
+      sources."js-yaml-4.1.0"
       sources."json-parse-better-errors-1.0.2"
       sources."json-parse-even-better-errors-2.3.1"
       sources."json-stringify-nice-1.1.4"
       sources."json-stringify-safe-5.0.1"
+      sources."json5-1.0.1"
+      sources."jsonc-parser-3.0.0"
       sources."jsonfile-6.1.0"
       sources."jsonparse-1.3.1"
       sources."just-diff-5.0.3"
       sources."just-diff-apply-5.3.1"
       sources."kind-of-6.0.3"
-      (sources."libnpmaccess-4.0.3" // {
+      (sources."libnpmaccess-6.0.3" // {
         dependencies = [
-          sources."npm-registry-fetch-11.0.0"
+          sources."builtins-5.0.1"
+          sources."hosted-git-info-5.0.0"
+          sources."lru-cache-7.13.2"
+          sources."npm-package-arg-9.1.0"
+          sources."validate-npm-package-name-4.0.0"
         ];
       })
-      (sources."libnpmpublish-4.0.2" // {
+      (sources."libnpmpublish-6.0.4" // {
         dependencies = [
-          sources."normalize-package-data-3.0.3"
-          sources."npm-registry-fetch-11.0.0"
-          sources."ssri-8.0.1"
+          sources."builtins-5.0.1"
+          sources."hosted-git-info-5.0.0"
+          sources."lru-cache-7.13.2"
+          sources."npm-package-arg-9.1.0"
+          sources."validate-npm-package-name-4.0.0"
         ];
       })
       sources."lines-and-columns-1.2.4"
@@ -110336,25 +110947,26 @@ in
       sources."locate-path-5.0.0"
       sources."lodash-4.17.21"
       sources."lodash.ismatch-4.4.0"
+      sources."log-symbols-4.1.0"
       sources."lru-cache-6.0.0"
       (sources."make-dir-2.1.0" // {
         dependencies = [
           sources."semver-5.7.1"
         ];
       })
-      (sources."make-fetch-happen-9.1.0" // {
+      (sources."make-fetch-happen-10.2.0" // {
         dependencies = [
-          sources."cacache-15.3.0"
-          sources."ssri-8.0.1"
+          sources."lru-cache-7.13.2"
         ];
       })
       sources."map-obj-4.3.0"
       (sources."meow-8.1.2" // {
         dependencies = [
-          sources."hosted-git-info-2.8.9"
+          sources."hosted-git-info-4.1.0"
           sources."normalize-package-data-3.0.3"
           (sources."read-pkg-5.2.0" // {
             dependencies = [
+              sources."hosted-git-info-2.8.9"
               sources."normalize-package-data-2.5.0"
               sources."type-fest-0.6.0"
             ];
@@ -110380,9 +110992,9 @@ in
           sources."arrify-1.0.1"
         ];
       })
-      sources."minipass-3.3.3"
+      sources."minipass-3.3.5"
       sources."minipass-collect-1.0.2"
-      sources."minipass-fetch-1.4.1"
+      sources."minipass-fetch-2.1.0"
       sources."minipass-flush-1.0.5"
       sources."minipass-json-stream-1.0.1"
       sources."minipass-pipeline-1.2.4"
@@ -110396,6 +111008,7 @@ in
       sources."mute-stream-0.0.8"
       sources."negotiator-0.6.3"
       sources."neo-async-2.6.2"
+      sources."node-addon-api-3.2.1"
       (sources."node-fetch-2.6.7" // {
         dependencies = [
           sources."tr46-0.0.3"
@@ -110403,20 +111016,22 @@ in
           sources."whatwg-url-5.0.0"
         ];
       })
-      sources."node-gyp-8.4.1"
+      sources."node-gyp-9.1.0"
+      sources."node-gyp-build-4.5.0"
       sources."nopt-5.0.0"
       (sources."normalize-package-data-4.0.0" // {
         dependencies = [
           sources."hosted-git-info-5.0.0"
-          sources."lru-cache-7.10.1"
+          sources."lru-cache-7.13.2"
         ];
       })
+      sources."normalize-path-3.0.0"
       sources."normalize-url-6.1.0"
       sources."npm-bundled-1.1.2"
       sources."npm-install-checks-5.0.0"
       sources."npm-normalize-package-bin-1.0.1"
-      sources."npm-package-arg-8.1.5"
-      (sources."npm-packlist-5.1.0" // {
+      sources."npm-package-arg-8.1.1"
+      (sources."npm-packlist-5.1.1" // {
         dependencies = [
           sources."brace-expansion-2.0.1"
           sources."glob-8.0.3"
@@ -110427,30 +111042,40 @@ in
         dependencies = [
           sources."builtins-5.0.1"
           sources."hosted-git-info-5.0.0"
-          sources."lru-cache-7.10.1"
-          sources."npm-package-arg-9.0.2"
+          sources."lru-cache-7.13.2"
+          sources."npm-package-arg-9.1.0"
           sources."validate-npm-package-name-4.0.0"
         ];
       })
-      (sources."npm-registry-fetch-13.1.1" // {
+      (sources."npm-registry-fetch-13.3.0" // {
         dependencies = [
-          sources."@tootallnate/once-2.0.0"
           sources."builtins-5.0.1"
           sources."hosted-git-info-5.0.0"
-          sources."http-proxy-agent-5.0.0"
-          sources."lru-cache-7.10.1"
-          sources."make-fetch-happen-10.1.8"
-          sources."minipass-fetch-2.1.0"
-          sources."npm-package-arg-9.0.2"
-          sources."socks-proxy-agent-7.0.0"
+          sources."lru-cache-7.13.2"
+          sources."npm-package-arg-9.1.0"
           sources."validate-npm-package-name-4.0.0"
         ];
       })
       sources."npm-run-path-4.0.1"
       sources."npmlog-6.0.2"
-      sources."object-inspect-1.12.2"
+      (sources."nx-14.5.2" // {
+        dependencies = [
+          sources."chalk-4.1.0"
+          sources."cli-spinners-2.6.1"
+          sources."fast-glob-3.2.7"
+          sources."fs-extra-10.1.0"
+          sources."glob-7.1.4"
+          sources."minimatch-3.0.5"
+          sources."semver-7.3.4"
+          sources."tmp-0.2.1"
+          sources."yargs-17.5.1"
+          sources."yargs-parser-21.0.1"
+        ];
+      })
       sources."once-1.4.0"
       sources."onetime-5.1.2"
+      sources."open-8.4.0"
+      sources."ora-5.4.1"
       sources."os-tmpdir-1.0.2"
       sources."p-finally-1.0.0"
       sources."p-limit-2.3.0"
@@ -110463,20 +111088,20 @@ in
       sources."p-timeout-3.2.0"
       sources."p-try-2.2.0"
       sources."p-waterfall-2.1.1"
-      (sources."pacote-13.6.0" // {
+      (sources."pacote-13.6.1" // {
         dependencies = [
           sources."builtins-5.0.1"
           sources."hosted-git-info-5.0.0"
-          sources."lru-cache-7.10.1"
-          sources."npm-package-arg-9.0.2"
+          sources."lru-cache-7.13.2"
+          sources."npm-package-arg-9.1.0"
           sources."validate-npm-package-name-4.0.0"
         ];
       })
       sources."parent-module-1.0.1"
       sources."parse-conflict-json-2.0.2"
       sources."parse-json-5.2.0"
-      sources."parse-path-4.0.4"
-      sources."parse-url-6.0.0"
+      sources."parse-path-5.0.0"
+      sources."parse-url-7.0.2"
       sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-key-3.1.1"
@@ -110493,15 +111118,13 @@ in
       sources."promise-retry-2.0.1"
       sources."promzard-0.3.0"
       sources."proto-list-1.2.4"
-      sources."protocols-1.4.8"
+      sources."protocols-2.0.1"
       sources."punycode-2.1.1"
       sources."q-1.5.1"
-      sources."qs-6.10.5"
-      sources."query-string-6.14.1"
       sources."queue-microtask-1.2.3"
       sources."quick-lru-4.0.1"
       sources."read-1.0.7"
-      sources."read-cmd-shim-2.0.0"
+      sources."read-cmd-shim-3.0.0"
       (sources."read-package-json-5.0.1" // {
         dependencies = [
           sources."brace-expansion-2.0.1"
@@ -110534,6 +111157,7 @@ in
       })
       sources."readable-stream-3.6.0"
       sources."readdir-scoped-modules-1.1.0"
+      sources."readdirp-3.6.0"
       sources."redent-3.0.0"
       sources."require-directory-2.1.1"
       sources."resolve-1.22.1"
@@ -110545,7 +111169,7 @@ in
       sources."rimraf-3.0.2"
       sources."run-async-2.4.1"
       sources."run-parallel-1.2.0"
-      sources."rxjs-6.6.7"
+      sources."rxjs-7.5.6"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."semver-7.3.7"
@@ -110553,12 +111177,11 @@ in
       sources."shallow-clone-3.0.1"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
-      sources."side-channel-1.0.4"
       sources."signal-exit-3.0.7"
       sources."slash-3.0.0"
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.2"
-      sources."socks-proxy-agent-6.2.1"
+      sources."socks-2.7.0"
+      sources."socks-proxy-agent-7.0.0"
       sources."sort-keys-2.0.0"
       sources."source-map-0.6.1"
       sources."spdx-correct-3.1.1"
@@ -110566,10 +111189,8 @@ in
       sources."spdx-expression-parse-3.0.1"
       sources."spdx-license-ids-3.0.11"
       sources."split-1.0.1"
-      sources."split-on-first-1.1.0"
       sources."split2-3.2.2"
       sources."ssri-9.0.1"
-      sources."strict-uri-encode-2.0.0"
       sources."string-width-4.2.3"
       sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.1"
@@ -110580,6 +111201,7 @@ in
       sources."supports-color-7.2.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
       sources."tar-6.1.11"
+      sources."tar-stream-2.2.0"
       sources."temp-dir-1.0.0"
       sources."text-extensions-1.9.0"
       sources."through-2.3.8"
@@ -110589,11 +111211,16 @@ in
       sources."tr46-2.1.0"
       sources."treeverse-2.0.0"
       sources."trim-newlines-3.0.1"
-      sources."tslib-1.14.1"
+      (sources."tsconfig-paths-3.14.1" // {
+        dependencies = [
+          sources."strip-bom-3.0.0"
+        ];
+      })
+      sources."tslib-2.4.0"
       sources."type-fest-0.4.1"
       sources."typedarray-0.0.6"
       sources."typedarray-to-buffer-3.1.5"
-      sources."uglify-js-3.16.1"
+      sources."uglify-js-3.16.3"
       sources."unique-filename-1.1.1"
       sources."unique-slug-2.0.2"
       sources."universal-user-agent-6.0.0"
@@ -110601,6 +111228,7 @@ in
       sources."upath-2.0.1"
       sources."util-deprecate-1.0.2"
       sources."uuid-8.3.2"
+      sources."v8-compile-cache-2.3.0"
       sources."validate-npm-package-license-3.0.4"
       sources."validate-npm-package-name-3.0.0"
       sources."walk-up-path-1.0.0"
@@ -110845,7 +111473,7 @@ in
           sources."statuses-2.0.1"
         ];
       })
-      sources."http-parser-js-0.5.6"
+      sources."http-parser-js-0.5.8"
       sources."inherits-2.0.4"
       sources."is-accessor-descriptor-1.0.0"
       sources."is-binary-path-1.0.1"
@@ -111139,7 +111767,7 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
       sources."encodeurl-1.0.2"
-      (sources."engine.io-3.5.0" // {
+      (sources."engine.io-3.6.0" // {
         dependencies = [
           sources."cookie-0.4.2"
           sources."debug-4.1.1"
@@ -111339,7 +111967,7 @@ in
       sources."preserve-0.2.0"
       sources."process-nextick-args-2.0.1"
       sources."proxy-addr-2.0.7"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."punycode-2.1.1"
       sources."qs-6.10.3"
       (sources."randomatic-3.1.1" // {
@@ -111455,14 +112083,14 @@ in
         ];
       })
       sources."snapdragon-util-3.0.1"
-      (sources."socket.io-2.4.1" // {
+      (sources."socket.io-2.5.0" // {
         dependencies = [
           sources."debug-4.1.1"
           sources."ms-2.1.3"
         ];
       })
       sources."socket.io-adapter-1.1.2"
-      (sources."socket.io-client-2.4.0" // {
+      (sources."socket.io-client-2.5.0" // {
         dependencies = [
           sources."debug-3.1.0"
           sources."isarray-2.0.1"
@@ -111585,7 +112213,7 @@ in
       sources."@types/commander-2.12.2"
       sources."@types/diff-3.5.5"
       sources."@types/get-stdin-5.0.1"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."commander-2.20.3"
       sources."diff-3.5.0"
       sources."get-stdin-5.0.1"
@@ -111725,7 +112353,7 @@ in
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
       sources."mkdirp-0.5.6"
-      sources."moment-2.29.3"
+      sources."moment-2.29.4"
       (sources."mooremachine-2.3.0" // {
         dependencies = [
           sources."assert-plus-0.2.0"
@@ -111845,42 +112473,36 @@ in
   markdownlint-cli = nodeEnv.buildNodePackage {
     name = "markdownlint-cli";
     packageName = "markdownlint-cli";
-    version = "0.31.1";
+    version = "0.32.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.31.1.tgz";
-      sha512 = "keIOMwQn+Ch7MoBwA+TdkyVMuxAeZFEGmIIlvwgV0Z1TGS5MxPnRr29XCLhkNzCHU+uNKGjU+VEjLX+Z9kli6g==";
+      url = "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.32.1.tgz";
+      sha512 = "hVLQ+72b5esQd7I+IqzBEB4x/4C+wJaxS2M6nqaGoDwrtNY6gydGf5CIUJtQcXtqsM615++a8TZPsvEtH6H4gw==";
     };
     dependencies = [
       sources."argparse-2.0.1"
       sources."balanced-match-1.0.2"
-      sources."brace-expansion-1.1.11"
-      sources."commander-9.0.0"
-      sources."concat-map-0.0.1"
+      sources."brace-expansion-2.0.1"
+      sources."commander-9.4.0"
       sources."deep-extend-0.6.0"
-      sources."entities-2.1.0"
+      sources."entities-3.0.1"
       sources."fs.realpath-1.0.0"
       sources."get-stdin-9.0.0"
-      (sources."glob-7.2.3" // {
-        dependencies = [
-          sources."minimatch-3.1.2"
-        ];
-      })
+      sources."glob-8.0.3"
       sources."ignore-5.2.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."ini-2.0.0"
+      sources."ini-3.0.0"
       sources."js-yaml-4.1.0"
-      sources."jsonc-parser-3.0.0"
-      sources."linkify-it-3.0.3"
-      sources."markdown-it-12.3.2"
-      sources."markdownlint-0.25.1"
-      sources."markdownlint-rule-helpers-0.16.0"
+      sources."jsonc-parser-3.1.0"
+      sources."linkify-it-4.0.1"
+      sources."markdown-it-13.0.1"
+      sources."markdownlint-0.26.1"
+      sources."markdownlint-rule-helpers-0.17.1"
       sources."mdurl-1.0.1"
-      sources."minimatch-3.0.8"
+      sources."minimatch-5.1.0"
       sources."minimist-1.2.6"
       sources."once-1.4.0"
-      sources."path-is-absolute-1.0.1"
-      sources."run-con-1.2.10"
+      sources."run-con-1.2.11"
       sources."strip-json-comments-3.1.1"
       sources."uc.micro-1.0.6"
       sources."wrappy-1.0.2"
@@ -111898,47 +112520,45 @@ in
   markdownlint-cli2 = nodeEnv.buildNodePackage {
     name = "markdownlint-cli2";
     packageName = "markdownlint-cli2";
-    version = "0.4.0";
+    version = "0.5.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/markdownlint-cli2/-/markdownlint-cli2-0.4.0.tgz";
-      sha512 = "EcwP5tAbyzzL3ACI0L16LqbNctmh8wNX56T+aVvIxWyTAkwbYNx2V7IheRkXS3mE7R/pnaApZ/RSXcXuzRVPjg==";
+      url = "https://registry.npmjs.org/markdownlint-cli2/-/markdownlint-cli2-0.5.0.tgz";
+      sha512 = "lUirs0NEuIOIwfWCjVqBBKB5VXD+OceyviHuyjwOUAj/DWm5Pf8iJ23nMo/0ySH6svQJ9ddC+Dsq/X5Hd+yvnA==";
     };
     dependencies = [
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
       sources."argparse-2.0.1"
-      sources."array-union-3.0.1"
       sources."braces-3.0.2"
       sources."dir-glob-3.0.1"
-      sources."entities-2.1.0"
+      sources."entities-3.0.1"
       sources."fast-glob-3.2.11"
       sources."fastq-1.13.0"
       sources."fill-range-7.0.1"
       sources."glob-parent-5.1.2"
-      sources."globby-12.1.0"
+      sources."globby-13.1.2"
       sources."ignore-5.2.0"
       sources."is-extglob-2.1.1"
       sources."is-glob-4.0.3"
       sources."is-number-7.0.0"
-      sources."linkify-it-3.0.3"
-      sources."markdown-it-12.3.2"
-      sources."markdownlint-0.25.1"
+      sources."linkify-it-4.0.1"
+      sources."markdown-it-13.0.1"
+      sources."markdownlint-0.26.1"
       sources."markdownlint-cli2-formatter-default-0.0.3"
-      sources."markdownlint-rule-helpers-0.16.0"
       sources."mdurl-1.0.1"
       sources."merge2-1.4.1"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."path-type-4.0.0"
       sources."picomatch-2.3.1"
       sources."queue-microtask-1.2.3"
       sources."reusify-1.0.4"
       sources."run-parallel-1.2.0"
       sources."slash-4.0.0"
-      sources."strip-json-comments-4.0.0"
+      sources."strip-json-comments-5.0.0"
       sources."to-regex-range-5.0.1"
       sources."uc.micro-1.0.6"
-      sources."yaml-1.10.2"
+      sources."yaml-2.1.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -111963,7 +112583,7 @@ in
       sources."async-3.2.4"
       sources."boolbase-1.0.0"
       sources."chalk-4.1.2"
-      sources."cheerio-1.0.0-rc.11"
+      sources."cheerio-1.0.0-rc.12"
       sources."cheerio-select-2.1.0"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
@@ -111975,7 +112595,7 @@ in
       sources."domelementtype-2.3.0"
       sources."domhandler-5.0.3"
       sources."domutils-3.0.1"
-      sources."entities-4.3.0"
+      sources."entities-4.3.1"
       sources."has-flag-4.0.0"
       sources."html-link-extractor-1.0.5"
       sources."htmlparser2-8.0.1"
@@ -111986,7 +112606,7 @@ in
       sources."link-check-5.1.0"
       sources."lodash-4.17.21"
       sources."markdown-link-extractor-3.0.2"
-      sources."marked-4.0.17"
+      sources."marked-4.0.18"
       sources."ms-2.1.3"
       sources."needle-3.1.0"
       sources."nth-check-2.1.1"
@@ -111997,7 +112617,6 @@ in
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
       sources."supports-color-7.2.0"
-      sources."tslib-2.4.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -112197,7 +112816,7 @@ in
       })
       sources."ecc-jsbn-0.1.2"
       sources."entities-1.1.2"
-      sources."es5-ext-0.10.61"
+      sources."es5-ext-0.10.62"
       sources."es6-iterator-2.0.3"
       sources."es6-map-0.1.5"
       (sources."es6-set-0.1.5" // {
@@ -112228,7 +112847,7 @@ in
       sources."exit-hook-1.1.1"
       (sources."ext-1.6.0" // {
         dependencies = [
-          sources."type-2.6.0"
+          sources."type-2.7.0"
         ];
       })
       sources."extend-3.0.2"
@@ -112292,7 +112911,7 @@ in
       sources."json-stable-stringify-1.0.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsonify-0.0.0"
-      sources."jsonpointer-5.0.0"
+      sources."jsonpointer-5.0.1"
       sources."jsprim-1.4.2"
       sources."levn-0.3.0"
       sources."lodash-4.17.21"
@@ -112343,7 +112962,7 @@ in
       sources."prelude-ls-1.1.2"
       sources."process-nextick-args-2.0.1"
       sources."progress-1.1.8"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.3"
       sources."readable-stream-2.3.7"
@@ -112484,14 +113103,13 @@ in
   "@mermaid-js/mermaid-cli" = nodeEnv.buildNodePackage {
     name = "_at_mermaid-js_slash_mermaid-cli";
     packageName = "@mermaid-js/mermaid-cli";
-    version = "9.1.2";
+    version = "9.1.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@mermaid-js/mermaid-cli/-/mermaid-cli-9.1.2.tgz";
-      sha512 = "ZiCHQEXn8P4iQpCpobUZwofcncg3sE282cVb7+bY9JIDlOg+DF9B35cwPYbXnHX3gsmD0zybfYWmnaNmKLnemA==";
+      url = "https://registry.npmjs.org/@mermaid-js/mermaid-cli/-/mermaid-cli-9.1.4.tgz";
+      sha512 = "qof7CxgLijQmO6QjrjR0Kixst0MBQVORF9BGpRD+TVbJTQtxpiOTJlGpHPetWocgDhC1TzzGsJWZ1ZXVl2ysSQ==";
     };
     dependencies = [
-      sources."@braintree/sanitize-url-6.0.0"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/yauzl-2.10.0"
       sources."agent-base-6.0.2"
       sources."ansi-styles-4.3.0"
@@ -112505,87 +113123,11 @@ in
       sources."chownr-1.1.4"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."commander-9.3.0"
+      sources."commander-9.4.0"
       sources."concat-map-0.0.1"
       sources."cross-fetch-3.1.5"
-      sources."d3-7.4.4"
-      sources."d3-array-3.1.6"
-      sources."d3-axis-3.0.0"
-      sources."d3-brush-3.0.0"
-      sources."d3-chord-3.0.1"
-      sources."d3-collection-1.0.7"
-      sources."d3-color-3.1.0"
-      sources."d3-contour-3.0.1"
-      sources."d3-delaunay-6.0.2"
-      sources."d3-dispatch-3.0.1"
-      sources."d3-drag-3.0.0"
-      (sources."d3-dsv-3.0.1" // {
-        dependencies = [
-          sources."commander-7.2.0"
-        ];
-      })
-      sources."d3-ease-3.0.1"
-      sources."d3-fetch-3.0.1"
-      sources."d3-force-3.0.0"
-      sources."d3-format-3.1.0"
-      sources."d3-geo-3.0.1"
-      sources."d3-hierarchy-3.1.2"
-      sources."d3-interpolate-3.0.1"
-      sources."d3-path-3.0.1"
-      sources."d3-polygon-3.0.1"
-      sources."d3-quadtree-3.0.1"
-      sources."d3-random-3.0.1"
-      sources."d3-scale-4.0.2"
-      sources."d3-scale-chromatic-3.0.0"
-      sources."d3-selection-3.0.0"
-      sources."d3-shape-3.1.0"
-      sources."d3-time-3.0.0"
-      sources."d3-time-format-4.1.0"
-      sources."d3-timer-3.0.1"
-      sources."d3-transition-3.0.1"
-      sources."d3-voronoi-1.1.4"
-      sources."d3-zoom-3.0.0"
-      sources."dagre-0.8.5"
-      (sources."dagre-d3-0.6.4" // {
-        dependencies = [
-          sources."commander-2.20.3"
-          sources."d3-5.16.0"
-          sources."d3-array-1.2.4"
-          sources."d3-axis-1.0.12"
-          sources."d3-brush-1.1.6"
-          sources."d3-chord-1.0.6"
-          sources."d3-color-1.4.1"
-          sources."d3-contour-1.3.2"
-          sources."d3-dispatch-1.0.6"
-          sources."d3-drag-1.2.5"
-          sources."d3-dsv-1.2.0"
-          sources."d3-ease-1.0.7"
-          sources."d3-fetch-1.2.0"
-          sources."d3-force-1.2.1"
-          sources."d3-format-1.4.5"
-          sources."d3-geo-1.12.1"
-          sources."d3-hierarchy-1.1.9"
-          sources."d3-interpolate-1.4.0"
-          sources."d3-path-1.0.9"
-          sources."d3-polygon-1.0.6"
-          sources."d3-quadtree-1.0.7"
-          sources."d3-random-1.1.2"
-          sources."d3-scale-2.2.2"
-          sources."d3-scale-chromatic-1.5.0"
-          sources."d3-selection-1.4.2"
-          sources."d3-shape-1.3.7"
-          sources."d3-time-1.1.0"
-          sources."d3-time-format-2.3.0"
-          sources."d3-timer-1.0.10"
-          sources."d3-transition-1.3.2"
-          sources."d3-zoom-1.8.3"
-          sources."iconv-lite-0.4.24"
-        ];
-      })
       sources."debug-4.3.4"
-      sources."delaunator-5.0.0"
-      sources."devtools-protocol-0.0.1001819"
-      sources."dompurify-2.3.8"
+      sources."devtools-protocol-0.0.1019158"
       sources."end-of-stream-1.4.4"
       sources."extract-zip-2.0.1"
       sources."fd-slicer-1.1.0"
@@ -112594,21 +113136,14 @@ in
       sources."fs.realpath-1.0.0"
       sources."get-stream-5.2.0"
       sources."glob-7.2.3"
-      sources."graphlib-2.1.8"
       sources."has-flag-4.0.0"
       sources."https-proxy-agent-5.0.1"
-      sources."iconv-lite-0.6.3"
       sources."ieee754-1.2.1"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."internmap-2.0.3"
-      sources."khroma-2.0.0"
       sources."locate-path-5.0.0"
-      sources."lodash-4.17.21"
-      sources."mermaid-9.1.2"
       sources."minimatch-3.1.2"
       sources."mkdirp-classic-0.5.3"
-      sources."moment-mini-2.24.0"
       sources."ms-2.1.2"
       sources."node-fetch-2.6.7"
       sources."once-1.4.0"
@@ -112622,15 +113157,11 @@ in
       sources."progress-2.0.3"
       sources."proxy-from-env-1.1.0"
       sources."pump-3.0.0"
-      sources."puppeteer-14.4.1"
+      sources."puppeteer-15.5.0"
       sources."readable-stream-3.6.0"
       sources."rimraf-3.0.2"
-      sources."robust-predicates-3.0.1"
-      sources."rw-1.3.3"
       sources."safe-buffer-5.2.1"
-      sources."safer-buffer-2.1.2"
       sources."string_decoder-1.3.0"
-      sources."stylis-4.1.1"
       sources."supports-color-7.2.0"
       sources."tar-fs-2.1.1"
       sources."tar-stream-2.2.0"
@@ -112641,7 +113172,7 @@ in
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
       sources."wrappy-1.0.2"
-      sources."ws-8.7.0"
+      sources."ws-8.8.0"
       sources."yauzl-2.10.0"
     ];
     buildInputs = globalBuildInputs;
@@ -112817,7 +113348,7 @@ in
       sources."once-1.4.0"
       sources."path-loader-1.0.12"
       sources."punycode-2.1.1"
-      sources."qs-6.10.5"
+      sources."qs-6.11.0"
       sources."readable-stream-3.6.0"
       sources."safe-buffer-5.2.1"
       sources."semver-7.3.7"
@@ -112860,7 +113391,7 @@ in
       sources."chalk-4.1.2"
       sources."chardet-0.7.0"
       sources."cli-cursor-3.1.0"
-      sources."cli-spinners-2.6.1"
+      sources."cli-spinners-2.7.0"
       sources."cli-width-3.0.0"
       sources."clone-1.0.4"
       sources."color-convert-2.0.1"
@@ -112922,15 +113453,15 @@ in
   near-cli = nodeEnv.buildNodePackage {
     name = "near-cli";
     packageName = "near-cli";
-    version = "3.3.1";
+    version = "3.4.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/near-cli/-/near-cli-3.3.1.tgz";
-      sha512 = "wqZ9dDnKddIACj01+Oh3Obr1YF39olF/izj8aJGG+TikVTchnmhq21HPvkLphax+mJ2b/UVHKwa60UcAkg6OdA==";
+      url = "https://registry.npmjs.org/near-cli/-/near-cli-3.4.0.tgz";
+      sha512 = "twuq8IO4Ok68542ZlctQy/RRHYY/q6I1Dmub3tuVNUWkOmiViDDEmd1g5X3Lt/tuOkSQl/831o/k03p3MWkaXw==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      (sources."@babel/highlight-7.17.12" // {
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      (sources."@babel/highlight-7.18.6" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
@@ -112943,11 +113474,11 @@ in
       sources."@jest/environment-27.5.1"
       sources."@jest/fake-timers-27.5.1"
       sources."@jest/types-27.5.1"
-      sources."@ledgerhq/devices-6.27.1"
-      sources."@ledgerhq/errors-6.10.0"
-      sources."@ledgerhq/hw-transport-6.27.1"
-      sources."@ledgerhq/hw-transport-node-hid-6.27.1"
-      sources."@ledgerhq/hw-transport-node-hid-noevents-6.27.1"
+      sources."@ledgerhq/devices-7.0.0"
+      sources."@ledgerhq/errors-6.10.1"
+      sources."@ledgerhq/hw-transport-6.27.2"
+      sources."@ledgerhq/hw-transport-node-hid-6.27.2"
+      sources."@ledgerhq/hw-transport-node-hid-noevents-6.27.2"
       (sources."@ledgerhq/hw-transport-u2f-5.36.0-deprecated" // {
         dependencies = [
           sources."@ledgerhq/devices-5.51.1"
@@ -112980,7 +113511,7 @@ in
       sources."@types/istanbul-lib-coverage-2.0.4"
       sources."@types/istanbul-lib-report-3.0.0"
       sources."@types/istanbul-reports-3.0.1"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/stack-utils-2.0.1"
       sources."@types/yargs-16.0.4"
       sources."@types/yargs-parser-21.0.0"
@@ -113029,7 +113560,7 @@ in
       sources."cipher-base-1.0.4"
       sources."cli-boxes-2.2.1"
       sources."cliui-7.0.4"
-      sources."clone-response-1.0.2"
+      sources."clone-response-1.0.3"
       sources."code-point-at-1.1.0"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
@@ -113050,7 +113581,7 @@ in
       sources."depd-2.0.0"
       sources."detect-libc-1.0.3"
       sources."dot-prop-5.3.0"
-      sources."duplexer3-0.1.4"
+      sources."duplexer3-0.1.5"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."error-polyfill-0.1.3"
@@ -113159,7 +113690,7 @@ in
       })
       sources."node-addon-api-3.2.1"
       sources."node-fetch-2.6.7"
-      sources."node-gyp-build-4.4.0"
+      sources."node-gyp-build-4.5.0"
       sources."node-hid-2.1.1"
       sources."normalize-url-4.5.1"
       sources."npmlog-4.1.2"
@@ -113314,7 +113845,7 @@ in
       sources."is-arrayish-0.3.2"
       sources."is-stream-2.0.1"
       sources."kuler-2.0.0"
-      sources."logform-2.4.1"
+      sources."logform-2.4.2"
       sources."lru-cache-6.0.0"
       sources."ms-2.1.3"
       sources."one-time-1.0.0"
@@ -113367,14 +113898,14 @@ in
   node-gyp = nodeEnv.buildNodePackage {
     name = "node-gyp";
     packageName = "node-gyp";
-    version = "9.0.0";
+    version = "9.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-gyp/-/node-gyp-9.0.0.tgz";
-      sha512 = "Ma6p4s+XCTPxCuAMrOA/IJRmVy16R8Sdhtwl4PrCr7IBlj4cPawF0vg/l7nOT1jPbuNS7lIRJpBSvVsXwEZuzw==";
+      url = "https://registry.npmjs.org/node-gyp/-/node-gyp-9.1.0.tgz";
+      sha512 = "HkmN0ZpQJU7FLbJauJTHkHlSVAXlNGDAzH/VYFZGDOnFyn/Na3GlNJfkudmufOdS6/jNFhy88ObzL7ERz9es1g==";
     };
     dependencies = [
       sources."@gar/promisify-1.1.3"
-      sources."@npmcli/fs-2.1.0"
+      sources."@npmcli/fs-2.1.1"
       sources."@npmcli/move-file-2.0.0"
       sources."@tootallnate/once-2.0.0"
       sources."abbrev-1.1.1"
@@ -113383,7 +113914,7 @@ in
       sources."aggregate-error-3.1.0"
       sources."ansi-regex-5.0.1"
       sources."aproba-2.0.0"
-      sources."are-we-there-yet-3.0.0"
+      sources."are-we-there-yet-3.0.1"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
       (sources."cacache-16.1.1" // {
@@ -113421,14 +113952,14 @@ in
       sources."infer-owner-1.0.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."ip-1.1.8"
+      sources."ip-2.0.0"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-lambda-1.0.1"
       sources."isexe-2.0.0"
-      sources."lru-cache-7.10.1"
-      sources."make-fetch-happen-10.1.8"
+      sources."lru-cache-7.13.2"
+      sources."make-fetch-happen-10.2.0"
       sources."minimatch-3.1.2"
-      sources."minipass-3.3.3"
+      sources."minipass-3.3.5"
       sources."minipass-collect-1.0.2"
       sources."minipass-fetch-2.1.0"
       sources."minipass-flush-1.0.5"
@@ -113458,7 +113989,7 @@ in
       sources."set-blocking-2.0.0"
       sources."signal-exit-3.0.7"
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.2"
+      sources."socks-2.7.0"
       sources."socks-proxy-agent-7.0.0"
       sources."ssri-9.0.1"
       sources."string-width-4.2.3"
@@ -113486,10 +114017,10 @@ in
   node-gyp-build = nodeEnv.buildNodePackage {
     name = "node-gyp-build";
     packageName = "node-gyp-build";
-    version = "4.4.0";
+    version = "4.5.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.4.0.tgz";
-      sha512 = "amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==";
+      url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz";
+      sha512 = "2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -113906,43 +114437,37 @@ in
   node-red = nodeEnv.buildNodePackage {
     name = "node-red";
     packageName = "node-red";
-    version = "2.2.2";
+    version = "3.0.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-red/-/node-red-2.2.2.tgz";
-      sha512 = "DAx4v9/W2MEBb/tHNO94bmjeELdAg7CVZlPJX+UBH1RsmXB0q/3ZYW1Zi55NVMVN/0sBBO1g+dI/L0NWCG8s9A==";
+      url = "https://registry.npmjs.org/node-red/-/node-red-3.0.1.tgz";
+      sha512 = "zZP5yKDSTZMqxQgwxjme3shRuUsmEBYt/DIOK932oSv2pUByJ/23SJpaX9q4AUEecZDKoLlG/o7YBtfFTnoYJA==";
     };
     dependencies = [
-      sources."@babel/runtime-7.18.3"
+      sources."@babel/runtime-7.18.9"
       sources."@mapbox/node-pre-gyp-1.0.9"
-      sources."@node-red/editor-api-2.2.2"
-      sources."@node-red/editor-client-2.2.2"
-      (sources."@node-red/nodes-2.2.2" // {
+      sources."@node-red/editor-api-3.0.1"
+      sources."@node-red/editor-client-3.0.1"
+      (sources."@node-red/nodes-3.0.1" // {
         dependencies = [
-          sources."bytes-3.1.2"
-          sources."cookie-0.4.2"
+          sources."cookie-0.5.0"
           sources."iconv-lite-0.6.3"
           sources."media-typer-1.1.0"
-          (sources."raw-body-2.4.3" // {
-            dependencies = [
-              sources."iconv-lite-0.4.24"
-            ];
-          })
         ];
       })
-      sources."@node-red/registry-2.2.2"
-      sources."@node-red/runtime-2.2.2"
-      sources."@node-red/util-2.2.2"
+      sources."@node-red/registry-3.0.1"
+      sources."@node-red/runtime-3.0.1"
+      sources."@node-red/util-3.0.1"
       sources."@sindresorhus/is-4.6.0"
       sources."@szmarczak/http-timer-4.0.6"
       sources."@types/cacheable-request-6.0.2"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.8"
-      sources."acorn-8.7.0"
+      sources."acorn-8.7.1"
       sources."acorn-walk-8.2.0"
       (sources."agent-base-6.0.2" // {
         dependencies = [
@@ -113950,7 +114475,7 @@ in
           sources."ms-2.1.2"
         ];
       })
-      sources."ajv-8.10.0"
+      sources."ajv-8.11.0"
       sources."ansi-colors-4.1.3"
       sources."ansi-regex-5.0.1"
       sources."append-field-1.0.0"
@@ -113958,15 +114483,13 @@ in
       (sources."are-we-there-yet-2.0.0" // {
         dependencies = [
           sources."readable-stream-3.6.0"
-          sources."string_decoder-1.3.0"
         ];
       })
-      sources."argparse-1.0.10"
+      sources."argparse-2.0.1"
       sources."array-flatten-1.1.1"
-      sources."async-0.1.22"
       sources."async-mutex-0.3.2"
       sources."asynckit-0.4.0"
-      sources."axios-0.27.0"
+      sources."axios-0.27.2"
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
       (sources."basic-auth-2.0.1" // {
@@ -113979,43 +114502,40 @@ in
       (sources."bl-4.1.0" // {
         dependencies = [
           sources."readable-stream-3.6.0"
-          sources."string_decoder-1.3.0"
         ];
       })
-      sources."body-parser-1.19.1"
+      sources."body-parser-1.20.0"
       sources."boolbase-1.0.0"
       sources."brace-expansion-1.1.11"
       sources."buffer-5.7.1"
       sources."buffer-from-1.1.2"
-      sources."busboy-0.2.14"
-      sources."bytes-3.1.1"
+      sources."busboy-1.6.0"
+      sources."bytes-3.1.2"
       sources."cacheable-lookup-5.0.4"
       sources."cacheable-request-7.0.2"
+      sources."call-bind-1.0.2"
       sources."cheerio-1.0.0-rc.10"
       sources."cheerio-select-1.6.0"
       sources."chownr-2.0.0"
       sources."cli-table-0.3.11"
       sources."clone-2.1.2"
-      sources."clone-response-1.0.2"
+      sources."clone-response-1.0.3"
       sources."color-support-1.1.3"
       sources."colors-1.0.3"
       sources."combined-stream-1.0.8"
       sources."commist-1.1.0"
       sources."compress-brotli-1.3.8"
       sources."concat-map-0.0.1"
-      (sources."concat-stream-1.6.2" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
+      sources."concat-stream-1.6.2"
       sources."console-control-strings-1.1.0"
       sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
-      sources."cookie-0.4.1"
-      sources."cookie-parser-1.4.6"
+      sources."cookie-0.4.2"
+      (sources."cookie-parser-1.4.6" // {
+        dependencies = [
+          sources."cookie-0.4.1"
+        ];
+      })
       sources."cookie-signature-1.0.6"
       sources."core-util-is-1.0.3"
       sources."cors-2.8.5"
@@ -114032,10 +114552,9 @@ in
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
       sources."denque-2.0.1"
-      sources."depd-1.1.2"
-      sources."destroy-1.0.4"
+      sources."depd-2.0.0"
+      sources."destroy-1.2.0"
       sources."detect-libc-2.0.1"
-      sources."dicer-0.2.5"
       sources."dom-serializer-1.4.1"
       sources."domelementtype-2.3.0"
       sources."domhandler-4.3.1"
@@ -114043,7 +114562,6 @@ in
       (sources."duplexify-4.1.2" // {
         dependencies = [
           sources."readable-stream-3.6.0"
-          sources."string_decoder-1.3.0"
         ];
       })
       sources."ee-first-1.1.1"
@@ -114053,53 +114571,54 @@ in
       sources."enquirer-2.3.6"
       sources."entities-2.2.0"
       sources."escape-html-1.0.3"
-      sources."esprima-4.0.1"
       sources."etag-1.8.1"
-      sources."express-4.17.2"
-      (sources."express-session-1.17.2" // {
+      (sources."express-4.18.1" // {
         dependencies = [
-          sources."depd-2.0.0"
+          sources."cookie-0.5.0"
         ];
       })
+      sources."express-session-1.17.3"
       sources."fast-deep-equal-3.1.3"
-      sources."finalhandler-1.1.2"
+      sources."finalhandler-1.2.0"
       sources."follow-redirects-1.15.1"
       sources."form-data-4.0.0"
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
-      (sources."fs-extra-10.0.0" // {
+      (sources."fs-extra-10.1.0" // {
         dependencies = [
           sources."universalify-2.0.0"
         ];
       })
       sources."fs-minipass-2.1.0"
-      sources."fs.notify-0.0.4"
       sources."fs.realpath-1.0.0"
+      sources."function-bind-1.1.1"
       sources."gauge-3.0.2"
+      sources."get-intrinsic-1.1.2"
       sources."get-stream-5.2.0"
       sources."glob-7.2.3"
-      sources."got-11.8.3"
+      sources."got-11.8.5"
       sources."graceful-fs-4.2.10"
+      sources."has-1.0.3"
+      sources."has-symbols-1.0.3"
       sources."has-unicode-2.0.1"
       sources."hash-sum-2.0.0"
       (sources."help-me-3.0.0" // {
         dependencies = [
           sources."readable-stream-3.6.0"
-          sources."string_decoder-1.3.0"
         ];
       })
-      sources."hpagent-0.1.2"
+      sources."hpagent-1.0.0"
       sources."htmlparser2-6.1.0"
       sources."http-cache-semantics-4.1.0"
-      sources."http-errors-1.8.1"
+      sources."http-errors-2.0.0"
       sources."http2-wrapper-1.0.3"
-      (sources."https-proxy-agent-5.0.0" // {
+      (sources."https-proxy-agent-5.0.1" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
         ];
       })
-      sources."i18next-21.6.11"
+      sources."i18next-21.8.14"
       sources."iconv-lite-0.4.24"
       sources."ieee754-1.2.1"
       sources."inflight-1.0.6"
@@ -114107,9 +114626,9 @@ in
       sources."ipaddr.js-1.9.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-utf8-0.2.1"
-      sources."isarray-0.0.1"
+      sources."isarray-1.0.0"
       sources."js-sdsl-2.1.4"
-      sources."js-yaml-3.14.1"
+      sources."js-yaml-4.1.0"
       sources."json-buffer-3.0.1"
       sources."json-schema-traverse-1.0.0"
       sources."json-stringify-safe-5.0.1"
@@ -114119,7 +114638,7 @@ in
           sources."universalify-2.0.0"
         ];
       })
-      sources."keyv-4.3.1"
+      sources."keyv-4.3.3"
       sources."leven-2.1.0"
       sources."lodash.clonedeep-4.5.0"
       sources."lowercase-keys-2.0.0"
@@ -114144,7 +114663,7 @@ in
       sources."mimic-response-1.0.1"
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
-      (sources."minipass-3.3.3" // {
+      (sources."minipass-3.3.5" // {
         dependencies = [
           sources."yallist-4.0.0"
         ];
@@ -114155,16 +114674,15 @@ in
         ];
       })
       sources."mkdirp-0.5.6"
-      sources."moment-2.29.3"
+      sources."moment-2.29.4"
       sources."moment-timezone-0.5.34"
-      (sources."mqtt-4.3.5" // {
+      (sources."mqtt-4.3.7" // {
         dependencies = [
           sources."concat-stream-2.0.0"
           sources."debug-4.3.4"
           sources."lru-cache-6.0.0"
           sources."ms-2.1.2"
           sources."readable-stream-3.6.0"
-          sources."string_decoder-1.3.0"
           sources."yallist-4.0.0"
         ];
       })
@@ -114175,13 +114693,14 @@ in
         ];
       })
       sources."ms-2.0.0"
-      sources."multer-1.4.4"
+      sources."multer-1.4.5-lts.1"
       sources."mustache-4.2.0"
       sources."mute-stream-0.0.8"
       sources."negotiator-0.6.3"
       sources."node-addon-api-3.2.1"
       sources."node-fetch-2.6.7"
-      sources."node-red-admin-2.2.4"
+      sources."node-red-admin-3.0.0"
+      sources."node-watch-0.7.3"
       sources."nopt-5.0.0"
       sources."normalize-url-6.1.0"
       sources."npmlog-5.0.1"
@@ -114194,14 +114713,15 @@ in
       })
       sources."oauth2orize-1.11.1"
       sources."object-assign-4.1.1"
-      sources."on-finished-2.3.0"
+      sources."object-inspect-1.12.2"
+      sources."on-finished-2.4.1"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
       sources."p-cancelable-2.1.1"
       sources."parse5-6.0.1"
       sources."parse5-htmlparser2-tree-adapter-6.0.1"
       sources."parseurl-1.3.3"
-      sources."passport-0.5.2"
+      sources."passport-0.6.0"
       sources."passport-http-bearer-1.0.1"
       sources."passport-oauth2-client-password-0.1.2"
       sources."passport-strategy-1.0.0"
@@ -114211,55 +114731,61 @@ in
       sources."process-nextick-args-2.0.1"
       sources."proxy-addr-2.0.7"
       sources."pseudomap-1.0.2"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
-      sources."qs-6.9.6"
+      sources."qs-6.10.3"
       sources."quick-lru-5.1.1"
       sources."random-bytes-1.0.0"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.2"
+      sources."raw-body-2.5.1"
       sources."read-1.0.7"
-      sources."readable-stream-1.1.14"
+      (sources."readable-stream-2.3.7" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
       sources."regenerator-runtime-0.13.9"
       sources."reinterval-1.1.0"
       sources."require-from-string-2.0.2"
       sources."resolve-alpn-1.2.1"
-      sources."responselike-2.0.0"
-      sources."retry-0.6.1"
+      sources."responselike-2.0.1"
       sources."rfdc-1.3.0"
       sources."rimraf-3.0.2"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
-      (sources."semver-7.3.5" // {
+      (sources."semver-7.3.7" // {
         dependencies = [
           sources."lru-cache-6.0.0"
           sources."yallist-4.0.0"
         ];
       })
-      (sources."send-0.17.2" // {
+      (sources."send-0.18.0" // {
         dependencies = [
           sources."mime-1.6.0"
           sources."ms-2.1.3"
         ];
       })
-      sources."serve-static-1.14.2"
+      sources."serve-static-1.15.0"
       sources."set-blocking-2.0.0"
       sources."setprototypeof-1.2.0"
+      sources."side-channel-1.0.4"
       sources."signal-exit-3.0.7"
       (sources."split2-3.2.2" // {
         dependencies = [
           sources."readable-stream-3.6.0"
-          sources."string_decoder-1.3.0"
         ];
       })
-      sources."sprintf-js-1.0.3"
-      sources."statuses-1.5.0"
+      sources."statuses-2.0.1"
       sources."stream-shift-1.0.1"
-      sources."streamsearch-0.1.2"
+      sources."streamsearch-1.1.0"
       sources."string-width-4.2.3"
-      sources."string_decoder-0.10.31"
+      (sources."string_decoder-1.1.1" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
       sources."strip-ansi-6.0.1"
       (sources."tar-6.1.11" // {
         dependencies = [
@@ -114273,7 +114799,7 @@ in
       sources."tslib-2.4.0"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
-      sources."uglify-js-3.15.1"
+      sources."uglify-js-3.16.2"
       sources."uid-safe-2.1.5"
       sources."uid2-0.0.4"
       sources."universalify-0.1.2"
@@ -114383,7 +114909,7 @@ in
       sources."mime-types-2.1.35"
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
-      sources."minipass-3.3.3"
+      sources."minipass-3.3.5"
       sources."minizlib-2.1.2"
       sources."mkdirp-0.3.5"
       sources."ncp-0.4.2"
@@ -114425,7 +114951,7 @@ in
       sources."performance-now-2.1.0"
       sources."process-nextick-args-2.0.1"
       sources."proto-list-1.2.4"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.3"
       (sources."readable-stream-2.3.7" // {
@@ -114502,149 +115028,47 @@ in
   nodemon = nodeEnv.buildNodePackage {
     name = "nodemon";
     packageName = "nodemon";
-    version = "2.0.16";
+    version = "2.0.19";
     src = fetchurl {
-      url = "https://registry.npmjs.org/nodemon/-/nodemon-2.0.16.tgz";
-      sha512 = "zsrcaOfTWRuUzBn3P44RDliLlp263Z/76FPoHFr3cFFkOz0lTPAcIw8dCzfdVIx/t3AtDYCZRCDkoCojJqaG3w==";
+      url = "https://registry.npmjs.org/nodemon/-/nodemon-2.0.19.tgz";
+      sha512 = "4pv1f2bMDj0Eeg/MhGqxrtveeQ5/G/UVe9iO6uTZzjnRluSA4PVWf8CW99LUPwGB3eNIA7zUFoP77YuI7hOc0A==";
     };
     dependencies = [
-      sources."@sindresorhus/is-0.14.0"
-      sources."@szmarczak/http-timer-1.1.2"
       sources."abbrev-1.1.1"
-      sources."ansi-align-3.0.1"
-      sources."ansi-regex-5.0.1"
-      sources."ansi-styles-4.3.0"
       sources."anymatch-3.1.2"
       sources."balanced-match-1.0.2"
       sources."binary-extensions-2.2.0"
-      sources."boxen-5.1.2"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      (sources."cacheable-request-6.1.0" // {
-        dependencies = [
-          sources."get-stream-5.2.0"
-          sources."lowercase-keys-2.0.0"
-        ];
-      })
-      sources."camelcase-6.3.0"
-      (sources."chalk-4.1.2" // {
-        dependencies = [
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
       sources."chokidar-3.5.3"
-      sources."ci-info-2.0.0"
-      sources."cli-boxes-2.2.1"
-      sources."clone-response-1.0.2"
-      sources."color-convert-2.0.1"
-      sources."color-name-1.1.4"
       sources."concat-map-0.0.1"
-      sources."configstore-5.0.1"
-      sources."crypto-random-string-2.0.0"
       sources."debug-3.2.7"
-      sources."decompress-response-3.3.0"
-      sources."deep-extend-0.6.0"
-      sources."defer-to-connect-1.1.3"
-      sources."dot-prop-5.3.0"
-      sources."duplexer3-0.1.4"
-      sources."emoji-regex-8.0.0"
-      sources."end-of-stream-1.4.4"
-      sources."escape-goat-2.1.1"
       sources."fill-range-7.0.1"
       sources."fsevents-2.3.2"
-      sources."get-stream-4.1.0"
       sources."glob-parent-5.1.2"
-      sources."global-dirs-3.0.0"
-      sources."got-9.6.0"
-      sources."graceful-fs-4.2.10"
       sources."has-flag-3.0.0"
-      sources."has-yarn-2.1.0"
-      sources."http-cache-semantics-4.1.0"
       sources."ignore-by-default-1.0.1"
-      sources."import-lazy-2.1.0"
-      sources."imurmurhash-0.1.4"
-      sources."ini-2.0.0"
       sources."is-binary-path-2.1.0"
-      sources."is-ci-2.0.0"
       sources."is-extglob-2.1.1"
-      sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.3"
-      sources."is-installed-globally-0.4.0"
-      sources."is-npm-5.0.0"
       sources."is-number-7.0.0"
-      sources."is-obj-2.0.0"
-      sources."is-path-inside-3.0.3"
-      sources."is-typedarray-1.0.0"
-      sources."is-yarn-global-0.3.0"
-      sources."json-buffer-3.0.0"
-      sources."keyv-3.1.0"
-      sources."latest-version-5.1.0"
-      sources."lowercase-keys-1.0.1"
-      sources."lru-cache-6.0.0"
-      (sources."make-dir-3.1.0" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      sources."mimic-response-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.6"
       sources."ms-2.1.3"
       sources."nopt-1.0.10"
       sources."normalize-path-3.0.0"
-      sources."normalize-url-4.5.1"
-      sources."once-1.4.0"
-      sources."p-cancelable-1.1.0"
-      (sources."package-json-6.5.0" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
       sources."picomatch-2.3.1"
-      sources."prepend-http-2.0.0"
       sources."pstree.remy-1.1.8"
-      sources."pump-3.0.0"
-      sources."pupa-2.1.1"
-      (sources."rc-1.2.8" // {
-        dependencies = [
-          sources."ini-1.3.8"
-        ];
-      })
       sources."readdirp-3.6.0"
-      sources."registry-auth-token-4.2.2"
-      sources."registry-url-5.1.0"
-      sources."responselike-1.0.2"
       sources."semver-5.7.1"
-      (sources."semver-diff-3.1.1" // {
+      (sources."simple-update-notifier-1.0.7" // {
         dependencies = [
-          sources."semver-6.3.0"
+          sources."semver-7.0.0"
         ];
       })
-      sources."signal-exit-3.0.7"
-      sources."string-width-4.2.3"
-      sources."strip-ansi-6.0.1"
-      sources."strip-json-comments-2.0.1"
       sources."supports-color-5.5.0"
-      sources."to-readable-stream-1.0.0"
       sources."to-regex-range-5.0.1"
       sources."touch-3.1.0"
-      sources."type-fest-0.20.2"
-      sources."typedarray-to-buffer-3.1.5"
       sources."undefsafe-2.0.5"
-      sources."unique-string-2.0.0"
-      (sources."update-notifier-5.1.0" // {
-        dependencies = [
-          sources."semver-7.3.7"
-        ];
-      })
-      sources."url-parse-lax-3.0.0"
-      sources."widest-line-3.1.0"
-      sources."wrap-ansi-7.0.0"
-      sources."wrappy-1.0.2"
-      sources."write-file-atomic-3.0.3"
-      sources."xdg-basedir-4.0.0"
-      sources."yallist-4.0.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -114659,15 +115083,15 @@ in
   np = nodeEnv.buildNodePackage {
     name = "np";
     packageName = "np";
-    version = "7.6.1";
+    version = "7.6.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/np/-/np-7.6.1.tgz";
-      sha512 = "EHr5PtMPzNmkM/trnWQWTKAogJnVP1RzTFfIyvPK2COvLN6Vqut4gFXuWNng15xuqnTgmUPzKYbpQAZsYR+Dkw==";
+      url = "https://registry.npmjs.org/np/-/np-7.6.2.tgz";
+      sha512 = "gExmKGKixh7ITc4Q+Lv7nfCby0CVKvzri9zN8970oKD8976T4L5dw8QWUtMcXcIjhFF6h5lbvztao/NurDbmxQ==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      (sources."@babel/highlight-7.17.12" // {
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      (sources."@babel/highlight-7.18.6" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
@@ -114693,7 +115117,7 @@ in
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse-json-4.0.0"
       sources."@types/responselike-1.0.0"
@@ -114741,7 +115165,7 @@ in
         ];
       })
       sources."cli-width-3.0.0"
-      (sources."clone-response-1.0.2" // {
+      (sources."clone-response-1.0.3" // {
         dependencies = [
           sources."mimic-response-1.0.1"
         ];
@@ -114772,7 +115196,7 @@ in
       sources."del-6.1.1"
       sources."dir-glob-3.0.1"
       sources."dot-prop-6.0.1"
-      sources."duplexer3-0.1.4"
+      sources."duplexer3-0.1.5"
       sources."elegant-spinner-1.0.1"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
@@ -114897,7 +115321,7 @@ in
       sources."js-tokens-4.0.0"
       sources."json-buffer-3.0.1"
       sources."json-parse-even-better-errors-2.3.1"
-      sources."keyv-4.3.1"
+      sources."keyv-4.3.3"
       sources."kind-of-6.0.3"
       sources."latest-version-5.1.0"
       sources."lines-and-columns-1.2.4"
@@ -115102,7 +115526,7 @@ in
         ];
       })
       sources."resolve-from-4.0.0"
-      sources."responselike-2.0.0"
+      sources."responselike-2.0.1"
       sources."restore-cursor-3.1.0"
       sources."reusify-1.0.4"
       sources."rimraf-3.0.2"
@@ -115188,10 +115612,10 @@ in
   npm = nodeEnv.buildNodePackage {
     name = "npm";
     packageName = "npm";
-    version = "8.12.2";
+    version = "8.16.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm/-/npm-8.12.2.tgz";
-      sha512 = "TArexqro9wpl/6wz6t6YdYhOoiy/UArqiSsSsqI7fieEhQEswDQSJcgt/LuCDjl6mfCDi0So7S2UZ979qLYRPg==";
+      url = "https://registry.npmjs.org/npm/-/npm-8.16.0.tgz";
+      sha512 = "UfLT/hCbcpV9uiTEBthyrOlQxwk8LG5tAGn283g7f7pRx41KcwFiHV7HYgYm2y2GabfnPtf897ptrXRQwxJWzQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -115206,101 +115630,127 @@ in
   npm-check-updates = nodeEnv.buildNodePackage {
     name = "npm-check-updates";
     packageName = "npm-check-updates";
-    version = "14.0.1";
+    version = "16.0.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-14.0.1.tgz";
-      sha512 = "CjHKxcJur/OiVc2GKBagUrzDsXL8JJC71rNVv2mC7eNA6w/ebe3POx9x46ay4p3woSxJOa7hYWNn1UwL7jgHug==";
+      url = "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-16.0.5.tgz";
+      sha512 = "0qK6NTmgbq8y39xm4y1tKW5ghEGtWWyiUzSPSQEaqb9elqOfZogV4GQVvBYw3xJlt6igJVXgBUyjNqtPv/j7Yw==";
     };
     dependencies = [
       sources."@gar/promisify-1.1.3"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@npmcli/fs-1.1.1"
+      sources."@npmcli/fs-2.1.1"
       sources."@npmcli/git-3.0.1"
       sources."@npmcli/installed-package-contents-1.0.7"
-      sources."@npmcli/move-file-1.1.2"
+      sources."@npmcli/move-file-2.0.0"
       sources."@npmcli/node-gyp-2.0.0"
       sources."@npmcli/promise-spawn-3.0.0"
-      sources."@npmcli/run-script-3.0.3"
-      sources."@sindresorhus/is-0.14.0"
-      sources."@szmarczak/http-timer-1.1.2"
-      sources."@tootallnate/once-1.1.2"
+      sources."@npmcli/run-script-4.2.0"
+      sources."@pnpm/network.ca-file-1.0.1"
+      sources."@pnpm/npm-conf-1.0.5"
+      sources."@sindresorhus/is-5.3.0"
+      sources."@szmarczak/http-timer-5.0.1"
+      sources."@tootallnate/once-2.0.0"
+      sources."@types/cacheable-request-6.0.2"
+      sources."@types/http-cache-semantics-4.0.1"
+      sources."@types/json-buffer-3.0.0"
+      sources."@types/keyv-3.1.4"
+      sources."@types/node-18.6.3"
+      sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."agent-base-6.0.2"
       sources."agentkeepalive-4.2.1"
       sources."aggregate-error-3.1.0"
       sources."ansi-align-3.0.1"
       sources."ansi-regex-5.0.1"
-      sources."ansi-styles-4.3.0"
+      sources."ansi-styles-6.1.0"
       sources."aproba-2.0.0"
-      sources."are-we-there-yet-3.0.0"
+      sources."are-we-there-yet-3.0.1"
       sources."argparse-2.0.1"
       sources."array-union-2.1.0"
       sources."balanced-match-1.0.2"
-      sources."boxen-5.1.2"
+      (sources."boxen-7.0.0" // {
+        dependencies = [
+          sources."ansi-regex-6.0.1"
+          sources."emoji-regex-9.2.2"
+          sources."string-width-5.1.2"
+          sources."strip-ansi-7.0.1"
+        ];
+      })
       sources."brace-expansion-2.0.1"
       sources."braces-3.0.2"
       sources."buffer-from-1.1.2"
       sources."builtins-5.0.1"
       (sources."cacache-16.1.1" // {
         dependencies = [
-          sources."@npmcli/fs-2.1.0"
-          sources."@npmcli/move-file-2.0.0"
           sources."glob-8.0.3"
         ];
       })
-      (sources."cacheable-request-6.1.0" // {
+      sources."cacheable-lookup-6.0.4"
+      (sources."cacheable-request-7.0.2" // {
         dependencies = [
           sources."get-stream-5.2.0"
           sources."lowercase-keys-2.0.0"
         ];
       })
-      sources."camelcase-6.3.0"
-      sources."chalk-4.1.2"
+      sources."camelcase-7.0.0"
+      sources."chalk-5.0.1"
       sources."chownr-2.0.0"
-      sources."ci-info-2.0.0"
-      sources."cint-8.2.1"
+      sources."ci-info-3.3.2"
       sources."clean-stack-2.2.0"
-      sources."cli-boxes-2.2.1"
+      sources."cli-boxes-3.0.0"
       sources."cli-table-0.3.11"
-      sources."clone-response-1.0.2"
-      sources."color-convert-2.0.1"
-      sources."color-name-1.1.4"
+      sources."clone-response-1.0.3"
       sources."color-support-1.1.3"
       sources."colors-1.0.3"
-      sources."commander-9.3.0"
+      sources."commander-9.4.0"
+      sources."compress-brotli-1.3.8"
       sources."concat-map-0.0.1"
-      sources."configstore-5.0.1"
+      (sources."config-chain-1.1.13" // {
+        dependencies = [
+          sources."ini-1.3.8"
+        ];
+      })
+      sources."configstore-6.0.0"
       sources."console-control-strings-1.1.0"
-      sources."crypto-random-string-2.0.0"
+      (sources."crypto-random-string-4.0.0" // {
+        dependencies = [
+          sources."type-fest-1.4.0"
+        ];
+      })
       sources."debug-4.3.4"
-      sources."decompress-response-3.3.0"
+      (sources."decompress-response-6.0.0" // {
+        dependencies = [
+          sources."mimic-response-3.1.0"
+        ];
+      })
       sources."deep-extend-0.6.0"
-      sources."defer-to-connect-1.1.3"
+      sources."defer-to-connect-2.0.1"
       sources."delegates-1.0.0"
       sources."depd-1.1.2"
       sources."dir-glob-3.0.1"
-      sources."dot-prop-5.3.0"
-      sources."duplexer3-0.1.4"
+      sources."dot-prop-6.0.1"
+      sources."eastasianwidth-0.2.0"
       sources."emoji-regex-8.0.0"
       sources."encoding-0.1.13"
       sources."end-of-stream-1.4.4"
       sources."env-paths-2.2.1"
       sources."err-code-2.0.3"
-      sources."escape-goat-2.1.1"
+      sources."escape-goat-4.0.0"
       sources."fast-glob-3.2.11"
       sources."fast-memoize-2.5.2"
       sources."fastq-1.13.0"
       sources."fill-range-7.0.1"
       sources."find-up-5.0.0"
+      sources."form-data-encoder-2.0.1"
       sources."fp-and-or-0.1.3"
       sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."gauge-4.0.4"
       sources."get-stdin-8.0.0"
-      sources."get-stream-4.1.0"
+      sources."get-stream-6.0.1"
       (sources."glob-7.2.3" // {
         dependencies = [
           sources."brace-expansion-1.1.11"
@@ -115310,77 +115760,66 @@ in
       sources."glob-parent-5.1.2"
       sources."global-dirs-3.0.0"
       sources."globby-11.1.0"
-      sources."got-9.6.0"
+      sources."got-12.3.0"
       sources."graceful-fs-4.2.10"
       sources."has-1.0.3"
-      sources."has-flag-4.0.0"
       sources."has-unicode-2.0.1"
-      sources."has-yarn-2.1.0"
+      sources."has-yarn-3.0.0"
       sources."hosted-git-info-5.0.0"
       sources."http-cache-semantics-4.1.0"
-      sources."http-proxy-agent-4.0.1"
+      sources."http-proxy-agent-5.0.0"
+      sources."http2-wrapper-2.1.11"
       sources."https-proxy-agent-5.0.1"
       sources."humanize-ms-1.2.1"
       sources."iconv-lite-0.6.3"
       sources."ignore-5.2.0"
       sources."ignore-walk-5.0.1"
-      sources."import-lazy-2.1.0"
+      sources."import-lazy-4.0.0"
       sources."imurmurhash-0.1.4"
       sources."indent-string-4.0.0"
       sources."infer-owner-1.0.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-2.0.0"
-      sources."ip-1.1.8"
-      sources."is-ci-2.0.0"
+      sources."ip-2.0.0"
+      sources."is-ci-3.0.1"
       sources."is-core-module-2.9.0"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.3"
       sources."is-installed-globally-0.4.0"
       sources."is-lambda-1.0.1"
-      sources."is-npm-5.0.0"
+      sources."is-npm-6.0.0"
       sources."is-number-7.0.0"
       sources."is-obj-2.0.0"
       sources."is-path-inside-3.0.3"
       sources."is-typedarray-1.0.0"
-      sources."is-yarn-global-0.3.0"
+      sources."is-yarn-global-0.4.0"
       sources."isexe-2.0.0"
       sources."jju-1.4.0"
       sources."js-yaml-4.1.0"
-      sources."json-buffer-3.0.0"
+      sources."json-buffer-3.0.1"
       sources."json-parse-even-better-errors-2.3.1"
       sources."json-parse-helpfulerror-1.0.3"
       sources."json5-2.2.1"
       sources."jsonlines-0.1.1"
       sources."jsonparse-1.3.1"
-      sources."keyv-3.1.0"
-      sources."kleur-3.0.3"
-      sources."latest-version-5.1.0"
+      sources."keyv-4.3.3"
+      sources."kleur-4.1.5"
+      sources."latest-version-7.0.0"
       sources."locate-path-6.0.0"
       sources."lodash-4.17.21"
-      sources."lowercase-keys-1.0.1"
-      sources."lru-cache-7.10.1"
-      (sources."make-dir-3.1.0" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      (sources."make-fetch-happen-9.1.0" // {
-        dependencies = [
-          sources."cacache-15.3.0"
-          sources."lru-cache-6.0.0"
-          sources."ssri-8.0.1"
-        ];
-      })
+      sources."lowercase-keys-3.0.0"
+      sources."lru-cache-7.13.2"
+      sources."make-fetch-happen-10.2.0"
       sources."merge2-1.4.1"
       sources."micromatch-4.0.5"
       sources."mimic-response-1.0.1"
       sources."minimatch-5.1.0"
       sources."minimist-1.2.6"
-      sources."minipass-3.3.3"
+      sources."minipass-3.3.5"
       sources."minipass-collect-1.0.2"
-      sources."minipass-fetch-1.4.1"
+      sources."minipass-fetch-2.1.0"
       sources."minipass-flush-1.0.5"
       sources."minipass-json-stream-1.0.1"
       sources."minipass-pipeline-1.2.4"
@@ -115389,55 +115828,44 @@ in
       sources."mkdirp-1.0.4"
       sources."ms-2.1.2"
       sources."negotiator-0.6.3"
-      sources."node-gyp-8.4.1"
+      sources."node-gyp-9.1.0"
       sources."nopt-5.0.0"
       sources."normalize-package-data-4.0.0"
-      sources."normalize-url-4.5.1"
+      sources."normalize-url-6.1.0"
       sources."npm-bundled-1.1.2"
       sources."npm-install-checks-5.0.0"
       sources."npm-normalize-package-bin-1.0.1"
-      sources."npm-package-arg-9.0.2"
-      (sources."npm-packlist-5.1.0" // {
+      sources."npm-package-arg-9.1.0"
+      (sources."npm-packlist-5.1.1" // {
         dependencies = [
           sources."glob-8.0.3"
         ];
       })
       sources."npm-pick-manifest-7.0.1"
-      (sources."npm-registry-fetch-13.1.1" // {
-        dependencies = [
-          sources."@tootallnate/once-2.0.0"
-          sources."http-proxy-agent-5.0.0"
-          sources."make-fetch-happen-10.1.8"
-          sources."minipass-fetch-2.1.0"
-          sources."socks-proxy-agent-7.0.0"
-        ];
-      })
+      sources."npm-registry-fetch-13.3.0"
       sources."npmlog-6.0.2"
       sources."once-1.4.0"
-      sources."p-cancelable-1.1.0"
+      sources."p-cancelable-3.0.0"
       sources."p-limit-3.1.0"
       sources."p-locate-5.0.0"
       sources."p-map-4.0.0"
-      (sources."package-json-6.5.0" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      sources."pacote-13.6.0"
+      sources."package-json-8.1.0"
+      sources."pacote-13.6.1"
       sources."parse-github-url-1.0.2"
       sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-type-4.0.0"
       sources."picomatch-2.3.1"
-      sources."prepend-http-2.0.0"
       sources."proc-log-2.0.1"
       sources."progress-2.0.3"
       sources."promise-inflight-1.0.1"
       sources."promise-retry-2.0.1"
-      sources."prompts-2.4.2"
+      sources."prompts-ncu-2.5.1"
+      sources."proto-list-1.2.4"
       sources."pump-3.0.0"
-      sources."pupa-2.1.1"
+      sources."pupa-3.1.0"
       sources."queue-microtask-1.2.3"
+      sources."quick-lru-5.1.1"
       (sources."rc-1.2.8" // {
         dependencies = [
           sources."ini-1.3.8"
@@ -115451,11 +115879,16 @@ in
       })
       sources."read-package-json-fast-2.0.3"
       sources."readable-stream-3.6.0"
-      sources."registry-auth-token-4.2.2"
-      sources."registry-url-5.1.0"
+      sources."registry-auth-token-5.0.1"
+      sources."registry-url-6.0.1"
       sources."remote-git-tags-3.0.0"
       sources."require-from-string-2.0.2"
-      sources."responselike-1.0.2"
+      sources."resolve-alpn-1.2.1"
+      (sources."responselike-2.0.1" // {
+        dependencies = [
+          sources."lowercase-keys-2.0.0"
+        ];
+      })
       sources."retry-0.12.0"
       sources."reusify-1.0.4"
       sources."rimraf-3.0.2"
@@ -115467,19 +115900,15 @@ in
           sources."lru-cache-6.0.0"
         ];
       })
-      (sources."semver-diff-3.1.1" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
+      sources."semver-diff-4.0.0"
       sources."semver-utils-1.1.4"
       sources."set-blocking-2.0.0"
       sources."signal-exit-3.0.7"
       sources."sisteransi-1.0.5"
       sources."slash-3.0.0"
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.2"
-      sources."socks-proxy-agent-6.2.1"
+      sources."socks-2.7.0"
+      sources."socks-proxy-agent-7.0.0"
       sources."source-map-0.6.1"
       sources."source-map-support-0.5.21"
       sources."spawn-please-1.0.0"
@@ -115492,27 +115921,38 @@ in
       sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.1"
       sources."strip-json-comments-2.0.1"
-      sources."supports-color-7.2.0"
       sources."tar-6.1.11"
-      sources."to-readable-stream-1.0.0"
       sources."to-regex-range-5.0.1"
-      sources."type-fest-0.20.2"
+      sources."type-fest-2.18.0"
       sources."typedarray-to-buffer-3.1.5"
       sources."unique-filename-1.1.1"
       sources."unique-slug-2.0.2"
-      sources."unique-string-2.0.0"
-      sources."update-notifier-5.1.0"
-      sources."url-parse-lax-3.0.0"
+      sources."unique-string-3.0.0"
+      sources."update-notifier-6.0.2"
       sources."util-deprecate-1.0.2"
       sources."validate-npm-package-license-3.0.4"
       sources."validate-npm-package-name-4.0.0"
       sources."which-2.0.2"
       sources."wide-align-1.1.5"
-      sources."widest-line-3.1.0"
-      sources."wrap-ansi-7.0.0"
+      (sources."widest-line-4.0.1" // {
+        dependencies = [
+          sources."ansi-regex-6.0.1"
+          sources."emoji-regex-9.2.2"
+          sources."string-width-5.1.2"
+          sources."strip-ansi-7.0.1"
+        ];
+      })
+      (sources."wrap-ansi-8.0.1" // {
+        dependencies = [
+          sources."ansi-regex-6.0.1"
+          sources."emoji-regex-9.2.2"
+          sources."string-width-5.1.2"
+          sources."strip-ansi-7.0.1"
+        ];
+      })
       sources."wrappy-1.0.2"
       sources."write-file-atomic-3.0.3"
-      sources."xdg-basedir-4.0.0"
+      sources."xdg-basedir-5.1.0"
       sources."yallist-4.0.0"
       sources."yaml-2.1.1"
       sources."yocto-queue-0.1.0"
@@ -115598,7 +116038,7 @@ in
       sources."only-0.0.2"
       sources."open-8.4.0"
       sources."performance-now-2.1.0"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.3"
       sources."request-2.88.2"
@@ -115650,7 +116090,7 @@ in
       sources."vscode-languageclient-4.0.1"
       sources."vscode-languageserver-4.0.0"
       sources."vscode-languageserver-protocol-3.6.0"
-      sources."vscode-languageserver-types-3.17.1"
+      sources."vscode-languageserver-types-3.17.2"
       sources."vscode-uri-1.0.3"
       sources."wrappy-1.0.2"
     ];
@@ -115674,79 +116114,80 @@ in
     };
     dependencies = [
       sources."@ampproject/remapping-2.2.0"
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.18.5"
-      (sources."@babel/core-7.18.5" // {
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/compat-data-7.18.8"
+      (sources."@babel/core-7.18.10" // {
         dependencies = [
           sources."json5-2.2.1"
           sources."semver-6.3.0"
         ];
       })
-      (sources."@babel/generator-7.18.2" // {
+      (sources."@babel/generator-7.18.10" // {
         dependencies = [
-          sources."@jridgewell/gen-mapping-0.3.1"
+          sources."@jridgewell/gen-mapping-0.3.2"
         ];
       })
-      sources."@babel/helper-annotate-as-pure-7.16.7"
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.16.7"
-      (sources."@babel/helper-compilation-targets-7.18.2" // {
+      sources."@babel/helper-annotate-as-pure-7.18.6"
+      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.18.9"
+      (sources."@babel/helper-compilation-targets-7.18.9" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-create-class-features-plugin-7.18.0"
-      sources."@babel/helper-create-regexp-features-plugin-7.17.12"
-      (sources."@babel/helper-define-polyfill-provider-0.3.1" // {
+      sources."@babel/helper-create-class-features-plugin-7.18.9"
+      sources."@babel/helper-create-regexp-features-plugin-7.18.6"
+      (sources."@babel/helper-define-polyfill-provider-0.3.2" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-environment-visitor-7.18.2"
-      sources."@babel/helper-explode-assignable-expression-7.16.7"
-      sources."@babel/helper-function-name-7.17.9"
-      sources."@babel/helper-hoist-variables-7.16.7"
-      sources."@babel/helper-member-expression-to-functions-7.17.7"
-      sources."@babel/helper-module-imports-7.16.7"
-      sources."@babel/helper-module-transforms-7.18.0"
-      sources."@babel/helper-optimise-call-expression-7.16.7"
-      sources."@babel/helper-plugin-utils-7.17.12"
-      sources."@babel/helper-remap-async-to-generator-7.16.8"
-      sources."@babel/helper-replace-supers-7.18.2"
-      sources."@babel/helper-simple-access-7.18.2"
-      sources."@babel/helper-skip-transparent-expression-wrappers-7.16.0"
-      sources."@babel/helper-split-export-declaration-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/helper-validator-option-7.16.7"
-      sources."@babel/helper-wrap-function-7.16.8"
-      sources."@babel/helpers-7.18.2"
-      sources."@babel/highlight-7.17.12"
-      sources."@babel/parser-7.18.5"
-      sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12"
-      sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12"
-      sources."@babel/plugin-proposal-async-generator-functions-7.17.12"
-      sources."@babel/plugin-proposal-class-properties-7.17.12"
-      sources."@babel/plugin-proposal-class-static-block-7.18.0"
-      sources."@babel/plugin-proposal-dynamic-import-7.16.7"
-      sources."@babel/plugin-proposal-export-namespace-from-7.17.12"
-      sources."@babel/plugin-proposal-json-strings-7.17.12"
-      sources."@babel/plugin-proposal-logical-assignment-operators-7.17.12"
-      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.17.12"
-      sources."@babel/plugin-proposal-numeric-separator-7.16.7"
-      sources."@babel/plugin-proposal-object-rest-spread-7.18.0"
-      sources."@babel/plugin-proposal-optional-catch-binding-7.16.7"
-      sources."@babel/plugin-proposal-optional-chaining-7.17.12"
-      sources."@babel/plugin-proposal-private-methods-7.17.12"
-      sources."@babel/plugin-proposal-private-property-in-object-7.17.12"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.17.12"
+      sources."@babel/helper-environment-visitor-7.18.9"
+      sources."@babel/helper-explode-assignable-expression-7.18.6"
+      sources."@babel/helper-function-name-7.18.9"
+      sources."@babel/helper-hoist-variables-7.18.6"
+      sources."@babel/helper-member-expression-to-functions-7.18.9"
+      sources."@babel/helper-module-imports-7.18.6"
+      sources."@babel/helper-module-transforms-7.18.9"
+      sources."@babel/helper-optimise-call-expression-7.18.6"
+      sources."@babel/helper-plugin-utils-7.18.9"
+      sources."@babel/helper-remap-async-to-generator-7.18.9"
+      sources."@babel/helper-replace-supers-7.18.9"
+      sources."@babel/helper-simple-access-7.18.6"
+      sources."@babel/helper-skip-transparent-expression-wrappers-7.18.9"
+      sources."@babel/helper-split-export-declaration-7.18.6"
+      sources."@babel/helper-string-parser-7.18.10"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      sources."@babel/helper-validator-option-7.18.6"
+      sources."@babel/helper-wrap-function-7.18.10"
+      sources."@babel/helpers-7.18.9"
+      sources."@babel/highlight-7.18.6"
+      sources."@babel/parser-7.18.10"
+      sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6"
+      sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9"
+      sources."@babel/plugin-proposal-async-generator-functions-7.18.10"
+      sources."@babel/plugin-proposal-class-properties-7.18.6"
+      sources."@babel/plugin-proposal-class-static-block-7.18.6"
+      sources."@babel/plugin-proposal-dynamic-import-7.18.6"
+      sources."@babel/plugin-proposal-export-namespace-from-7.18.9"
+      sources."@babel/plugin-proposal-json-strings-7.18.6"
+      sources."@babel/plugin-proposal-logical-assignment-operators-7.18.9"
+      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.18.6"
+      sources."@babel/plugin-proposal-numeric-separator-7.18.6"
+      sources."@babel/plugin-proposal-object-rest-spread-7.18.9"
+      sources."@babel/plugin-proposal-optional-catch-binding-7.18.6"
+      sources."@babel/plugin-proposal-optional-chaining-7.18.9"
+      sources."@babel/plugin-proposal-private-methods-7.18.6"
+      sources."@babel/plugin-proposal-private-property-in-object-7.18.6"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.18.6"
       sources."@babel/plugin-syntax-async-generators-7.8.4"
       sources."@babel/plugin-syntax-class-properties-7.12.13"
       sources."@babel/plugin-syntax-class-static-block-7.14.5"
       sources."@babel/plugin-syntax-dynamic-import-7.8.3"
       sources."@babel/plugin-syntax-export-namespace-from-7.8.3"
-      sources."@babel/plugin-syntax-flow-7.17.12"
-      sources."@babel/plugin-syntax-import-assertions-7.17.12"
+      sources."@babel/plugin-syntax-flow-7.18.6"
+      sources."@babel/plugin-syntax-import-assertions-7.18.6"
       sources."@babel/plugin-syntax-json-strings-7.8.3"
-      sources."@babel/plugin-syntax-jsx-7.17.12"
+      sources."@babel/plugin-syntax-jsx-7.18.6"
       sources."@babel/plugin-syntax-logical-assignment-operators-7.10.4"
       sources."@babel/plugin-syntax-nullish-coalescing-operator-7.8.3"
       sources."@babel/plugin-syntax-numeric-separator-7.10.4"
@@ -115755,61 +116196,61 @@ in
       sources."@babel/plugin-syntax-optional-chaining-7.8.3"
       sources."@babel/plugin-syntax-private-property-in-object-7.14.5"
       sources."@babel/plugin-syntax-top-level-await-7.14.5"
-      sources."@babel/plugin-transform-arrow-functions-7.17.12"
-      sources."@babel/plugin-transform-async-to-generator-7.17.12"
-      sources."@babel/plugin-transform-block-scoped-functions-7.16.7"
-      sources."@babel/plugin-transform-block-scoping-7.18.4"
-      sources."@babel/plugin-transform-classes-7.18.4"
-      sources."@babel/plugin-transform-computed-properties-7.17.12"
-      sources."@babel/plugin-transform-destructuring-7.18.0"
-      sources."@babel/plugin-transform-dotall-regex-7.16.7"
-      sources."@babel/plugin-transform-duplicate-keys-7.17.12"
-      sources."@babel/plugin-transform-exponentiation-operator-7.16.7"
-      sources."@babel/plugin-transform-flow-strip-types-7.17.12"
-      sources."@babel/plugin-transform-for-of-7.18.1"
-      sources."@babel/plugin-transform-function-name-7.16.7"
-      sources."@babel/plugin-transform-literals-7.17.12"
-      sources."@babel/plugin-transform-member-expression-literals-7.16.7"
-      sources."@babel/plugin-transform-modules-amd-7.18.0"
-      sources."@babel/plugin-transform-modules-commonjs-7.18.2"
-      sources."@babel/plugin-transform-modules-systemjs-7.18.5"
-      sources."@babel/plugin-transform-modules-umd-7.18.0"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.17.12"
-      sources."@babel/plugin-transform-new-target-7.18.5"
-      sources."@babel/plugin-transform-object-super-7.16.7"
-      sources."@babel/plugin-transform-parameters-7.17.12"
-      sources."@babel/plugin-transform-property-literals-7.16.7"
-      sources."@babel/plugin-transform-react-jsx-7.17.12"
-      sources."@babel/plugin-transform-regenerator-7.18.0"
-      sources."@babel/plugin-transform-reserved-words-7.17.12"
-      sources."@babel/plugin-transform-shorthand-properties-7.16.7"
-      sources."@babel/plugin-transform-spread-7.17.12"
-      sources."@babel/plugin-transform-sticky-regex-7.16.7"
-      sources."@babel/plugin-transform-template-literals-7.18.2"
-      sources."@babel/plugin-transform-typeof-symbol-7.17.12"
-      sources."@babel/plugin-transform-unicode-escapes-7.16.7"
-      sources."@babel/plugin-transform-unicode-regex-7.16.7"
-      (sources."@babel/preset-env-7.18.2" // {
+      sources."@babel/plugin-transform-arrow-functions-7.18.6"
+      sources."@babel/plugin-transform-async-to-generator-7.18.6"
+      sources."@babel/plugin-transform-block-scoped-functions-7.18.6"
+      sources."@babel/plugin-transform-block-scoping-7.18.9"
+      sources."@babel/plugin-transform-classes-7.18.9"
+      sources."@babel/plugin-transform-computed-properties-7.18.9"
+      sources."@babel/plugin-transform-destructuring-7.18.9"
+      sources."@babel/plugin-transform-dotall-regex-7.18.6"
+      sources."@babel/plugin-transform-duplicate-keys-7.18.9"
+      sources."@babel/plugin-transform-exponentiation-operator-7.18.6"
+      sources."@babel/plugin-transform-flow-strip-types-7.18.9"
+      sources."@babel/plugin-transform-for-of-7.18.8"
+      sources."@babel/plugin-transform-function-name-7.18.9"
+      sources."@babel/plugin-transform-literals-7.18.9"
+      sources."@babel/plugin-transform-member-expression-literals-7.18.6"
+      sources."@babel/plugin-transform-modules-amd-7.18.6"
+      sources."@babel/plugin-transform-modules-commonjs-7.18.6"
+      sources."@babel/plugin-transform-modules-systemjs-7.18.9"
+      sources."@babel/plugin-transform-modules-umd-7.18.6"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.18.6"
+      sources."@babel/plugin-transform-new-target-7.18.6"
+      sources."@babel/plugin-transform-object-super-7.18.6"
+      sources."@babel/plugin-transform-parameters-7.18.8"
+      sources."@babel/plugin-transform-property-literals-7.18.6"
+      sources."@babel/plugin-transform-react-jsx-7.18.10"
+      sources."@babel/plugin-transform-regenerator-7.18.6"
+      sources."@babel/plugin-transform-reserved-words-7.18.6"
+      sources."@babel/plugin-transform-shorthand-properties-7.18.6"
+      sources."@babel/plugin-transform-spread-7.18.9"
+      sources."@babel/plugin-transform-sticky-regex-7.18.6"
+      sources."@babel/plugin-transform-template-literals-7.18.9"
+      sources."@babel/plugin-transform-typeof-symbol-7.18.9"
+      sources."@babel/plugin-transform-unicode-escapes-7.18.10"
+      sources."@babel/plugin-transform-unicode-regex-7.18.6"
+      (sources."@babel/preset-env-7.18.10" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
       sources."@babel/preset-modules-0.1.5"
-      sources."@babel/runtime-7.18.3"
-      sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.18.5"
-      sources."@babel/types-7.18.4"
+      sources."@babel/runtime-7.18.9"
+      sources."@babel/template-7.18.10"
+      sources."@babel/traverse-7.18.10"
+      sources."@babel/types-7.18.10"
       sources."@iarna/toml-2.2.5"
       sources."@jridgewell/gen-mapping-0.1.1"
-      sources."@jridgewell/resolve-uri-3.0.7"
-      sources."@jridgewell/set-array-1.1.1"
+      sources."@jridgewell/resolve-uri-3.1.0"
+      sources."@jridgewell/set-array-1.1.2"
       (sources."@jridgewell/source-map-0.3.2" // {
         dependencies = [
-          sources."@jridgewell/gen-mapping-0.3.1"
+          sources."@jridgewell/gen-mapping-0.3.2"
         ];
       })
-      sources."@jridgewell/sourcemap-codec-1.4.13"
-      sources."@jridgewell/trace-mapping-0.3.13"
+      sources."@jridgewell/sourcemap-codec-1.4.14"
+      sources."@jridgewell/trace-mapping-0.3.14"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.stat-1.1.3"
       sources."@parcel/fs-1.11.0"
@@ -115864,13 +116305,13 @@ in
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
       sources."babel-plugin-dynamic-import-node-2.3.3"
-      (sources."babel-plugin-polyfill-corejs2-0.3.1" // {
+      (sources."babel-plugin-polyfill-corejs2-0.3.2" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."babel-plugin-polyfill-corejs3-0.5.2"
-      sources."babel-plugin-polyfill-regenerator-0.3.1"
+      sources."babel-plugin-polyfill-corejs3-0.5.3"
+      sources."babel-plugin-polyfill-regenerator-0.4.0"
       (sources."babel-runtime-6.26.0" // {
         dependencies = [
           sources."regenerator-runtime-0.11.1"
@@ -115914,7 +116355,7 @@ in
           sources."pako-1.0.11"
         ];
       })
-      sources."browserslist-4.20.4"
+      sources."browserslist-4.21.3"
       (sources."buffer-4.9.2" // {
         dependencies = [
           sources."isarray-1.0.0"
@@ -115931,7 +116372,7 @@ in
       sources."caller-path-2.0.0"
       sources."callsites-2.0.0"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001358"
+      sources."caniuse-lite-1.0.30001373"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
       sources."chokidar-2.1.8"
@@ -115957,7 +116398,7 @@ in
       sources."convert-source-map-1.8.0"
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.12"
-      (sources."core-js-compat-3.23.2" // {
+      (sources."core-js-compat-3.24.1" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -116013,7 +116454,7 @@ in
       sources."cssstyle-1.4.0"
       sources."dashdash-1.14.1"
       sources."data-urls-1.1.0"
-      sources."deasync-0.1.26"
+      sources."deasync-0.1.27"
       sources."debug-4.3.4"
       sources."decode-uri-component-0.2.0"
       sources."deep-is-0.1.4"
@@ -116068,7 +116509,7 @@ in
       sources."duplexer2-0.1.4"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.164"
+      sources."electron-to-chromium-1.4.211"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -116178,10 +116619,10 @@ in
       sources."html-tags-1.2.0"
       (sources."htmlnano-0.2.9" // {
         dependencies = [
-          sources."acorn-8.7.1"
+          sources."acorn-8.8.0"
           sources."posthtml-0.15.2"
           sources."posthtml-parser-0.7.2"
-          sources."terser-5.14.1"
+          sources."terser-5.14.2"
         ];
       })
       (sources."htmlparser2-6.1.0" // {
@@ -116338,11 +116779,11 @@ in
           sources."punycode-1.4.1"
         ];
       })
-      sources."node-releases-2.0.5"
+      sources."node-releases-2.0.6"
       sources."normalize-path-3.0.0"
       sources."normalize-url-3.3.0"
       sources."nth-check-1.0.2"
-      sources."nwsapi-2.2.0"
+      sources."nwsapi-2.2.1"
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
       sources."object-copy-0.1.0"
@@ -116456,7 +116897,7 @@ in
       sources."prelude-ls-1.1.2"
       sources."process-0.11.10"
       sources."process-nextick-args-2.0.1"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       (sources."public-encrypt-4.0.3" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -116495,7 +116936,7 @@ in
         ];
       })
       sources."regexp.prototype.flags-1.4.3"
-      sources."regexpu-core-5.0.1"
+      sources."regexpu-core-5.1.0"
       sources."regjsgen-0.6.0"
       (sources."regjsparser-0.8.4" // {
         dependencies = [
@@ -116658,6 +117099,7 @@ in
         ];
       })
       sources."upath-1.2.0"
+      sources."update-browserslist-db-1.0.5"
       sources."uri-js-4.4.1"
       sources."urix-0.1.0"
       (sources."url-0.11.0" // {
@@ -116712,25 +117154,25 @@ in
   parcel = nodeEnv.buildNodePackage {
     name = "parcel";
     packageName = "parcel";
-    version = "2.6.1";
+    version = "2.7.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/parcel/-/parcel-2.6.1.tgz";
-      sha512 = "dqPG1u7NV/nlnoU6O9zO6sIFbna7b8IfmoNgMM0un2+EtOhNlz4bRp6U4AHosTulMUTKFmHpdXXG4dF9X0WQtw==";
+      url = "https://registry.npmjs.org/parcel/-/parcel-2.7.0.tgz";
+      sha512 = "pRYwnivwtNP0tip8xYSo4zCB0XhLt7/gJzP1p8OovCqkmFjG9VG+GW9TcAKqMIo0ovEa9tT+/s6gY1Qy+BONGQ==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      (sources."@babel/highlight-7.17.12" // {
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      (sources."@babel/highlight-7.18.6" // {
         dependencies = [
           sources."chalk-2.4.2"
         ];
       })
-      sources."@jridgewell/gen-mapping-0.3.1"
-      sources."@jridgewell/resolve-uri-3.0.7"
-      sources."@jridgewell/set-array-1.1.1"
+      sources."@jridgewell/gen-mapping-0.3.2"
+      sources."@jridgewell/resolve-uri-3.1.0"
+      sources."@jridgewell/set-array-1.1.2"
       sources."@jridgewell/source-map-0.3.2"
-      sources."@jridgewell/sourcemap-codec-1.4.13"
-      sources."@jridgewell/trace-mapping-0.3.13"
+      sources."@jridgewell/sourcemap-codec-1.4.14"
+      sources."@jridgewell/trace-mapping-0.3.14"
       sources."@lezer/common-0.15.12"
       sources."@lezer/lr-0.15.8"
       sources."@lmdb/lmdb-darwin-arm64-2.5.2"
@@ -116740,100 +117182,100 @@ in
       sources."@lmdb/lmdb-linux-x64-2.5.2"
       sources."@lmdb/lmdb-win32-x64-2.5.2"
       sources."@mischnic/json-sourcemap-0.1.0"
-      sources."@msgpackr-extract/msgpackr-extract-darwin-arm64-2.0.2"
-      sources."@msgpackr-extract/msgpackr-extract-darwin-x64-2.0.2"
-      sources."@msgpackr-extract/msgpackr-extract-linux-arm-2.0.2"
-      sources."@msgpackr-extract/msgpackr-extract-linux-arm64-2.0.2"
-      sources."@msgpackr-extract/msgpackr-extract-linux-x64-2.0.2"
-      sources."@msgpackr-extract/msgpackr-extract-win32-x64-2.0.2"
-      sources."@parcel/bundler-default-2.6.1"
-      sources."@parcel/cache-2.6.1"
-      sources."@parcel/codeframe-2.6.1"
-      sources."@parcel/compressor-raw-2.6.1"
-      sources."@parcel/config-default-2.6.1"
-      sources."@parcel/core-2.6.1"
-      sources."@parcel/css-1.10.1"
-      sources."@parcel/css-darwin-arm64-1.10.1"
-      sources."@parcel/css-darwin-x64-1.10.1"
-      sources."@parcel/css-linux-arm-gnueabihf-1.10.1"
-      sources."@parcel/css-linux-arm64-gnu-1.10.1"
-      sources."@parcel/css-linux-arm64-musl-1.10.1"
-      sources."@parcel/css-linux-x64-gnu-1.10.1"
-      sources."@parcel/css-linux-x64-musl-1.10.1"
-      sources."@parcel/css-win32-x64-msvc-1.10.1"
-      sources."@parcel/diagnostic-2.6.1"
-      sources."@parcel/events-2.6.1"
-      sources."@parcel/fs-2.6.1"
-      sources."@parcel/fs-search-2.6.1"
-      sources."@parcel/graph-2.6.1"
-      sources."@parcel/hash-2.6.1"
-      sources."@parcel/logger-2.6.1"
-      sources."@parcel/markdown-ansi-2.6.1"
-      sources."@parcel/namer-default-2.6.1"
-      sources."@parcel/node-resolver-core-2.6.1"
-      sources."@parcel/optimizer-css-2.6.1"
-      sources."@parcel/optimizer-htmlnano-2.6.1"
-      sources."@parcel/optimizer-image-2.6.1"
-      sources."@parcel/optimizer-svgo-2.6.1"
-      sources."@parcel/optimizer-terser-2.6.1"
-      sources."@parcel/package-manager-2.6.1"
-      sources."@parcel/packager-css-2.6.1"
-      sources."@parcel/packager-html-2.6.1"
-      sources."@parcel/packager-js-2.6.1"
-      sources."@parcel/packager-raw-2.6.1"
-      sources."@parcel/packager-svg-2.6.1"
-      sources."@parcel/plugin-2.6.1"
-      sources."@parcel/reporter-cli-2.6.1"
-      sources."@parcel/reporter-dev-server-2.6.1"
-      sources."@parcel/resolver-default-2.6.1"
-      sources."@parcel/runtime-browser-hmr-2.6.1"
-      sources."@parcel/runtime-js-2.6.1"
-      sources."@parcel/runtime-react-refresh-2.6.1"
-      sources."@parcel/runtime-service-worker-2.6.1"
-      sources."@parcel/source-map-2.0.5"
-      sources."@parcel/transformer-babel-2.6.1"
-      sources."@parcel/transformer-css-2.6.1"
-      (sources."@parcel/transformer-html-2.6.1" // {
+      sources."@msgpackr-extract/msgpackr-extract-darwin-arm64-2.1.2"
+      sources."@msgpackr-extract/msgpackr-extract-darwin-x64-2.1.2"
+      sources."@msgpackr-extract/msgpackr-extract-linux-arm-2.1.2"
+      sources."@msgpackr-extract/msgpackr-extract-linux-arm64-2.1.2"
+      sources."@msgpackr-extract/msgpackr-extract-linux-x64-2.1.2"
+      sources."@msgpackr-extract/msgpackr-extract-win32-x64-2.1.2"
+      sources."@parcel/bundler-default-2.7.0"
+      sources."@parcel/cache-2.7.0"
+      sources."@parcel/codeframe-2.7.0"
+      sources."@parcel/compressor-raw-2.7.0"
+      sources."@parcel/config-default-2.7.0"
+      sources."@parcel/core-2.7.0"
+      sources."@parcel/css-1.12.2"
+      sources."@parcel/css-darwin-arm64-1.12.2"
+      sources."@parcel/css-darwin-x64-1.12.2"
+      sources."@parcel/css-linux-arm-gnueabihf-1.12.2"
+      sources."@parcel/css-linux-arm64-gnu-1.12.2"
+      sources."@parcel/css-linux-arm64-musl-1.12.2"
+      sources."@parcel/css-linux-x64-gnu-1.12.2"
+      sources."@parcel/css-linux-x64-musl-1.12.2"
+      sources."@parcel/css-win32-x64-msvc-1.12.2"
+      sources."@parcel/diagnostic-2.7.0"
+      sources."@parcel/events-2.7.0"
+      sources."@parcel/fs-2.7.0"
+      sources."@parcel/fs-search-2.7.0"
+      sources."@parcel/graph-2.7.0"
+      sources."@parcel/hash-2.7.0"
+      sources."@parcel/logger-2.7.0"
+      sources."@parcel/markdown-ansi-2.7.0"
+      sources."@parcel/namer-default-2.7.0"
+      sources."@parcel/node-resolver-core-2.7.0"
+      sources."@parcel/optimizer-css-2.7.0"
+      sources."@parcel/optimizer-htmlnano-2.7.0"
+      sources."@parcel/optimizer-image-2.7.0"
+      sources."@parcel/optimizer-svgo-2.7.0"
+      sources."@parcel/optimizer-terser-2.7.0"
+      sources."@parcel/package-manager-2.7.0"
+      sources."@parcel/packager-css-2.7.0"
+      sources."@parcel/packager-html-2.7.0"
+      sources."@parcel/packager-js-2.7.0"
+      sources."@parcel/packager-raw-2.7.0"
+      sources."@parcel/packager-svg-2.7.0"
+      sources."@parcel/plugin-2.7.0"
+      sources."@parcel/reporter-cli-2.7.0"
+      sources."@parcel/reporter-dev-server-2.7.0"
+      sources."@parcel/resolver-default-2.7.0"
+      sources."@parcel/runtime-browser-hmr-2.7.0"
+      sources."@parcel/runtime-js-2.7.0"
+      sources."@parcel/runtime-react-refresh-2.7.0"
+      sources."@parcel/runtime-service-worker-2.7.0"
+      sources."@parcel/source-map-2.1.0"
+      sources."@parcel/transformer-babel-2.7.0"
+      sources."@parcel/transformer-css-2.7.0"
+      (sources."@parcel/transformer-html-2.7.0" // {
         dependencies = [
           sources."posthtml-parser-0.10.2"
         ];
       })
-      sources."@parcel/transformer-image-2.6.1"
-      sources."@parcel/transformer-js-2.6.1"
-      sources."@parcel/transformer-json-2.6.1"
-      sources."@parcel/transformer-postcss-2.6.1"
-      (sources."@parcel/transformer-posthtml-2.6.1" // {
+      sources."@parcel/transformer-image-2.7.0"
+      sources."@parcel/transformer-js-2.7.0"
+      sources."@parcel/transformer-json-2.7.0"
+      sources."@parcel/transformer-postcss-2.7.0"
+      (sources."@parcel/transformer-posthtml-2.7.0" // {
         dependencies = [
           sources."posthtml-parser-0.10.2"
         ];
       })
-      sources."@parcel/transformer-raw-2.6.1"
-      sources."@parcel/transformer-react-refresh-wrap-2.6.1"
-      (sources."@parcel/transformer-svg-2.6.1" // {
+      sources."@parcel/transformer-raw-2.7.0"
+      sources."@parcel/transformer-react-refresh-wrap-2.7.0"
+      (sources."@parcel/transformer-svg-2.7.0" // {
         dependencies = [
           sources."posthtml-parser-0.10.2"
         ];
       })
-      sources."@parcel/types-2.6.1"
-      sources."@parcel/utils-2.6.1"
+      sources."@parcel/types-2.7.0"
+      sources."@parcel/utils-2.7.0"
       (sources."@parcel/watcher-2.0.5" // {
         dependencies = [
           sources."node-addon-api-3.2.1"
         ];
       })
-      sources."@parcel/workers-2.6.1"
-      sources."@swc/helpers-0.4.2"
+      sources."@parcel/workers-2.7.0"
+      sources."@swc/helpers-0.4.3"
       sources."@trysound/sax-0.2.0"
       sources."@types/parse-json-4.0.0"
       sources."abortcontroller-polyfill-1.7.3"
-      sources."acorn-8.7.1"
+      sources."acorn-8.8.0"
       sources."ansi-styles-3.2.1"
       sources."base-x-3.0.9"
       sources."boolbase-1.0.0"
-      sources."browserslist-4.20.4"
+      sources."browserslist-4.21.3"
       sources."buffer-from-1.1.2"
       sources."callsites-3.1.0"
-      sources."caniuse-lite-1.0.30001358"
+      sources."caniuse-lite-1.0.30001373"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -116864,13 +117306,13 @@ in
       sources."domutils-2.8.0"
       sources."dotenv-7.0.0"
       sources."dotenv-expand-5.1.0"
-      sources."electron-to-chromium-1.4.164"
+      sources."electron-to-chromium-1.4.211"
       sources."entities-3.0.1"
       sources."error-ex-1.3.2"
       sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
       sources."get-port-4.2.0"
-      sources."globals-13.15.0"
+      sources."globals-13.17.0"
       sources."has-flag-3.0.0"
       sources."htmlnano-2.0.2"
       sources."htmlparser2-7.2.0"
@@ -116883,19 +117325,15 @@ in
       sources."lines-and-columns-1.2.4"
       sources."lmdb-2.5.2"
       sources."mdn-data-2.0.14"
-      sources."msgpackr-1.6.1"
-      (sources."msgpackr-extract-2.0.2" // {
-        dependencies = [
-          sources."node-gyp-build-optional-packages-5.0.2"
-        ];
-      })
+      sources."msgpackr-1.6.2"
+      sources."msgpackr-extract-2.1.2"
       sources."node-addon-api-4.3.0"
-      sources."node-gyp-build-4.4.0"
+      sources."node-gyp-build-4.5.0"
       sources."node-gyp-build-optional-packages-5.0.3"
-      sources."node-releases-2.0.5"
+      sources."node-releases-2.0.6"
       sources."nth-check-2.1.1"
       sources."nullthrows-1.1.1"
-      sources."ordered-binary-1.2.5"
+      sources."ordered-binary-1.3.0"
       sources."parent-module-1.0.1"
       sources."parse-json-5.2.0"
       sources."path-type-4.0.0"
@@ -116916,7 +117354,7 @@ in
       sources."supports-color-5.5.0"
       sources."svgo-2.8.0"
       sources."term-size-2.2.1"
-      (sources."terser-5.14.1" // {
+      (sources."terser-5.14.2" // {
         dependencies = [
           sources."commander-2.20.3"
         ];
@@ -116924,6 +117362,7 @@ in
       sources."timsort-0.3.0"
       sources."tslib-2.4.0"
       sources."type-fest-0.20.2"
+      sources."update-browserslist-db-1.0.5"
       sources."utility-types-3.10.0"
       sources."v8-compile-cache-2.3.0"
       sources."weak-lru-cache-1.2.2"
@@ -117101,7 +117540,7 @@ in
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
       sources."mkdirp-0.5.6"
-      sources."moment-2.29.3"
+      sources."moment-2.29.4"
       sources."ms-2.0.0"
       sources."msgpack5-3.6.1"
       sources."mv-2.1.1"
@@ -117131,7 +117570,7 @@ in
       sources."promise-8.1.0"
       sources."proxy-addr-2.0.7"
       sources."prr-1.0.1"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."punycode-2.1.1"
       sources."qs-6.10.3"
       sources."range-parser-1.2.1"
@@ -117193,7 +117632,7 @@ in
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-is-1.6.18"
-      sources."uglify-js-3.16.1"
+      sources."uglify-js-3.16.3"
       sources."unix-dgram-2.0.4"
       sources."unpipe-1.0.0"
       sources."uri-js-4.4.1"
@@ -117728,7 +118167,7 @@ in
       sources."ee-first-1.1.1"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
-      (sources."engine.io-3.5.0" // {
+      (sources."engine.io-3.6.0" // {
         dependencies = [
           sources."cookie-0.4.2"
           sources."debug-4.1.1"
@@ -117881,7 +118320,7 @@ in
       sources."performance-now-2.1.0"
       sources."process-nextick-args-2.0.1"
       sources."proxy-addr-2.0.7"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.10.3"
@@ -117931,14 +118370,14 @@ in
           sources."ws-2.3.1"
         ];
       })
-      (sources."socket.io-2.4.1" // {
+      (sources."socket.io-2.5.0" // {
         dependencies = [
           sources."debug-4.1.1"
           sources."ms-2.1.3"
         ];
       })
       sources."socket.io-adapter-1.1.2"
-      (sources."socket.io-client-2.4.0" // {
+      (sources."socket.io-client-2.5.0" // {
         dependencies = [
           sources."debug-3.1.0"
           sources."isarray-2.0.1"
@@ -118016,15 +118455,21 @@ in
   pkg = nodeEnv.buildNodePackage {
     name = "pkg";
     packageName = "pkg";
-    version = "5.7.0";
+    version = "5.8.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pkg/-/pkg-5.7.0.tgz";
-      sha512 = "PTiAjNq/CGAtK5qUBR6pjheqnipTFjeecgSgIKEcAOJA4GpmZeOZC8pMOoT0rfes5vHsmcFo7wbSRTAmXQurrg==";
+      url = "https://registry.npmjs.org/pkg/-/pkg-5.8.0.tgz";
+      sha512 = "8h9PUDYFi+LOMLbIyGRdP21g08mAtHidSpofSrf8LWhxUWGHymaRzcopEGiynB5EhQmZUKM6PQ9kCImV2TpdjQ==";
     };
     dependencies = [
-      sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/parser-7.17.10"
-      sources."@babel/types-7.17.10"
+      sources."@babel/generator-7.18.2"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      sources."@babel/parser-7.18.4"
+      sources."@babel/types-7.18.4"
+      sources."@jridgewell/gen-mapping-0.3.2"
+      sources."@jridgewell/resolve-uri-3.1.0"
+      sources."@jridgewell/set-array-1.1.2"
+      sources."@jridgewell/sourcemap-codec-1.4.14"
+      sources."@jridgewell/trace-mapping-0.3.14"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
@@ -118054,20 +118499,14 @@ in
       sources."debug-4.3.4"
       sources."decompress-response-4.2.1"
       sources."deep-extend-0.6.0"
-      sources."deep-is-0.1.4"
       sources."delegates-1.0.0"
       sources."detect-libc-1.0.3"
       sources."dir-glob-3.0.1"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."escalade-3.1.1"
-      sources."escodegen-2.0.0"
-      sources."esprima-4.0.1"
-      sources."estraverse-5.3.0"
-      sources."esutils-2.0.3"
       sources."expand-template-2.0.3"
       sources."fast-glob-3.2.11"
-      sources."fast-levenshtein-2.0.6"
       sources."fastq-1.13.0"
       sources."fill-range-7.0.1"
       sources."from2-2.3.0"
@@ -118102,8 +118541,8 @@ in
       sources."is-glob-4.0.3"
       sources."is-number-7.0.0"
       sources."isarray-1.0.0"
+      sources."jsesc-2.5.2"
       sources."jsonfile-6.1.0"
-      sources."levn-0.3.0"
       sources."lru-cache-6.0.0"
       sources."merge2-1.4.1"
       sources."micromatch-4.0.5"
@@ -118127,14 +118566,12 @@ in
       sources."number-is-nan-1.0.1"
       sources."object-assign-4.1.1"
       sources."once-1.4.0"
-      sources."optionator-0.8.3"
       sources."p-is-promise-3.0.0"
       sources."path-parse-1.0.7"
       sources."path-type-4.0.0"
       sources."picomatch-2.3.1"
-      sources."pkg-fetch-3.4.1"
+      sources."pkg-fetch-3.4.2"
       sources."prebuild-install-6.1.4"
-      sources."prelude-ls-1.1.2"
       sources."process-nextick-args-2.0.1"
       sources."progress-2.0.3"
       sources."pump-3.0.0"
@@ -118152,7 +118589,6 @@ in
       sources."simple-concat-1.0.1"
       sources."simple-get-3.1.1"
       sources."slash-3.0.0"
-      sources."source-map-0.6.1"
       sources."stream-meter-1.0.4"
       sources."string-width-4.2.3"
       sources."string_decoder-1.1.1"
@@ -118170,13 +118606,11 @@ in
       sources."to-regex-range-5.0.1"
       sources."tr46-0.0.3"
       sources."tunnel-agent-0.6.0"
-      sources."type-check-0.3.2"
       sources."universalify-2.0.0"
       sources."util-deprecate-1.0.2"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
       sources."wide-align-1.1.5"
-      sources."word-wrap-1.2.3"
       sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
       sources."y18n-5.0.8"
@@ -118222,7 +118656,7 @@ in
       (sources."@pm2/io-5.0.0" // {
         dependencies = [
           sources."async-2.6.4"
-          sources."eventemitter2-6.4.5"
+          sources."eventemitter2-6.4.7"
           sources."semver-6.3.0"
           sources."tslib-1.9.3"
         ];
@@ -118230,12 +118664,12 @@ in
       (sources."@pm2/js-api-0.6.7" // {
         dependencies = [
           sources."async-2.6.4"
-          sources."eventemitter2-6.4.5"
+          sources."eventemitter2-6.4.7"
         ];
       })
       sources."@pm2/pm2-version-check-1.0.4"
       sources."@tootallnate/once-1.1.2"
-      sources."acorn-8.7.1"
+      sources."acorn-8.8.0"
       sources."acorn-walk-8.2.0"
       sources."agent-base-6.0.2"
       sources."amp-0.3.1"
@@ -118390,7 +118824,11 @@ in
       sources."shimmer-1.2.1"
       sources."signal-exit-3.0.7"
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.2"
+      (sources."socks-2.7.0" // {
+        dependencies = [
+          sources."ip-2.0.0"
+        ];
+      })
       sources."socks-proxy-agent-5.0.1"
       sources."source-map-0.6.1"
       sources."source-map-support-0.5.19"
@@ -118399,7 +118837,7 @@ in
       sources."string_decoder-0.10.31"
       sources."supports-color-7.2.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
-      sources."systeminformation-5.11.21"
+      sources."systeminformation-5.12.2"
       sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.1"
       sources."tslib-2.4.0"
@@ -118414,7 +118852,7 @@ in
           sources."async-2.6.4"
         ];
       })
-      sources."vm2-3.9.9"
+      sources."vm2-3.9.10"
       sources."word-wrap-1.2.3"
       sources."wrappy-1.0.2"
       sources."ws-7.4.6"
@@ -118435,10 +118873,10 @@ in
   pnpm = nodeEnv.buildNodePackage {
     name = "pnpm";
     packageName = "pnpm";
-    version = "7.3.0";
+    version = "7.9.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pnpm/-/pnpm-7.3.0.tgz";
-      sha512 = "HOXT6V+AznAyjL2Ay3TuuJQucsEguUiKjqyQq4WPPwOpaaILhkKvu8Nn1/OQWGi9V6T7OciyrctAKeYyCha6Ow==";
+      url = "https://registry.npmjs.org/pnpm/-/pnpm-7.9.1.tgz";
+      sha512 = "5vyV+FwZj5y31UDDsiq9xcVzF+mvS+IPdgAgkZ9rVxYPNKCCVwVn5LsHh9jcfuApiKYVgpyisAMcuSDbe1/C0Q==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -118504,10 +118942,10 @@ in
   postcss-cli = nodeEnv.buildNodePackage {
     name = "postcss-cli";
     packageName = "postcss-cli";
-    version = "9.1.0";
+    version = "10.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/postcss-cli/-/postcss-cli-9.1.0.tgz";
-      sha512 = "zvDN2ADbWfza42sAnj+O2uUWyL0eRL1V+6giM2vi4SqTR3gTYy8XzcpfwccayF2szcUif0HMmXiEaDv9iEhcpw==";
+      url = "https://registry.npmjs.org/postcss-cli/-/postcss-cli-10.0.0.tgz";
+      sha512 = "Wjy/00wBBEgQqnSToznxLWDnATznokFGXsHtF/3G8glRZpz5KYlfHcBW/VMJmWAeF2x49zjgy4izjM3/Wx1dKA==";
     };
     dependencies = [
       sources."@nodelib/fs.scandir-2.1.5"
@@ -118516,7 +118954,6 @@ in
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
       sources."anymatch-3.1.2"
-      sources."array-union-3.0.1"
       sources."binary-extensions-2.2.0"
       sources."braces-3.0.2"
       sources."chokidar-3.5.3"
@@ -118535,7 +118972,7 @@ in
       sources."get-caller-file-2.0.5"
       sources."get-stdin-9.0.0"
       sources."glob-parent-5.1.2"
-      sources."globby-12.2.0"
+      sources."globby-13.1.2"
       sources."graceful-fs-4.2.10"
       sources."ignore-5.2.0"
       sources."is-binary-path-2.1.0"
@@ -118544,7 +118981,7 @@ in
       sources."is-glob-4.0.3"
       sources."is-number-7.0.0"
       sources."jsonfile-6.1.0"
-      sources."lilconfig-2.0.5"
+      sources."lilconfig-2.0.6"
       sources."merge2-1.4.1"
       sources."micromatch-4.0.5"
       sources."normalize-path-3.0.0"
@@ -118552,7 +118989,7 @@ in
       sources."picocolors-1.0.0"
       sources."picomatch-2.3.1"
       sources."pify-2.3.0"
-      sources."postcss-load-config-3.1.4"
+      sources."postcss-load-config-4.0.1"
       sources."postcss-reporter-7.0.5"
       sources."pretty-hrtime-1.0.3"
       sources."queue-microtask-1.2.3"
@@ -118569,9 +119006,9 @@ in
       sources."universalify-2.0.0"
       sources."wrap-ansi-7.0.0"
       sources."y18n-5.0.8"
-      sources."yaml-1.10.2"
+      sources."yaml-2.1.1"
       sources."yargs-17.5.1"
-      sources."yargs-parser-21.0.1"
+      sources."yargs-parser-21.1.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -118611,7 +119048,7 @@ in
       sources."minimist-1.2.6"
       sources."mkdirp-classic-0.5.3"
       sources."napi-build-utils-1.0.2"
-      sources."node-abi-3.22.0"
+      sources."node-abi-3.24.0"
       sources."once-1.4.0"
       sources."pump-3.0.0"
       sources."rc-1.2.8"
@@ -118717,13 +119154,13 @@ in
   prisma = nodeEnv.buildNodePackage {
     name = "prisma";
     packageName = "prisma";
-    version = "3.15.2";
+    version = "4.1.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/prisma/-/prisma-3.15.2.tgz";
-      sha512 = "nMNSMZvtwrvoEQ/mui8L/aiCLZRCj5t6L3yujKpcDhIPk7garp8tL4nMx2+oYsN0FWBacevJhazfXAbV1kfBzA==";
+      url = "https://registry.npmjs.org/prisma/-/prisma-4.1.1.tgz";
+      sha512 = "yw50J8If2dKP4wYIi695zthsCASQFHiogGvUHHWd3falx/rpsD6Sb1LMLRV9nO3iGG3lozxNJ2PSINxK7xwdpg==";
     };
     dependencies = [
-      sources."@prisma/engines-3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e"
+      sources."@prisma/engines-4.1.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -118738,21 +119175,21 @@ in
   "@prisma/language-server" = nodeEnv.buildNodePackage {
     name = "_at_prisma_slash_language-server";
     packageName = "@prisma/language-server";
-    version = "3.15.0";
+    version = "4.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@prisma/language-server/-/language-server-3.15.0.tgz";
-      sha512 = "zTftMfWBTa2fA2PLUsAiWTML8RbhFceX2/xD02Rajv3zaslDDAmfoe/+KHJ7BUpcP9yACLENUJIEA43qeT9uHQ==";
+      url = "https://registry.npmjs.org/@prisma/language-server/-/language-server-4.1.0.tgz";
+      sha512 = "T/YJw8BEAVi0dnhEw/gmQdwacFwr8rB7lDdqPbuIyWlu/0V9lYKZBvFfc4R+vBv/dQ4TJfuhUxwvduS8jFYaXA==";
     };
     dependencies = [
-      sources."@prisma/prisma-fmt-wasm-3.15.0-29.b9297dc3a59307060c1c39d7e4f5765066f38372"
+      sources."@prisma/prisma-fmt-wasm-4.1.0-48.8d8414deb360336e4698a65aa45a1fbaf1ce13d8"
       sources."@types/js-levenshtein-1.1.1"
       sources."js-levenshtein-1.1.6"
       sources."klona-2.0.5"
-      sources."vscode-jsonrpc-8.0.1"
-      sources."vscode-languageserver-8.0.1"
-      sources."vscode-languageserver-protocol-3.17.1"
-      sources."vscode-languageserver-textdocument-1.0.4"
-      sources."vscode-languageserver-types-3.17.1"
+      sources."vscode-jsonrpc-8.0.2"
+      sources."vscode-languageserver-8.0.2"
+      sources."vscode-languageserver-protocol-3.17.2"
+      sources."vscode-languageserver-textdocument-1.0.5"
+      sources."vscode-languageserver-types-3.17.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -119095,11 +119532,11 @@ in
       sources."isexe-2.0.0"
       sources."shell-quote-1.7.3"
       sources."uuid-3.4.0"
-      sources."vscode-jsonrpc-8.0.1"
-      sources."vscode-languageserver-8.0.1"
-      sources."vscode-languageserver-protocol-3.17.1"
+      sources."vscode-jsonrpc-8.0.2"
+      sources."vscode-languageserver-8.0.2"
+      sources."vscode-languageserver-protocol-3.17.2"
       sources."vscode-languageserver-textdocument-1.0.5"
-      sources."vscode-languageserver-types-3.17.1"
+      sources."vscode-languageserver-types-3.17.2"
       sources."vscode-uri-2.1.2"
       sources."which-2.0.2"
     ];
@@ -119134,10 +119571,10 @@ in
   purs-tidy = nodeEnv.buildNodePackage {
     name = "purs-tidy";
     packageName = "purs-tidy";
-    version = "0.9.0";
+    version = "0.9.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/purs-tidy/-/purs-tidy-0.9.0.tgz";
-      sha512 = "7la7Jw5CyuMDXJMliGiK746xevUScDCTJ0eMvN/mV/NAQF2c9Cqa31QNx5O15ae2d7SuFDqEiVALFzHYD601Cg==";
+      url = "https://registry.npmjs.org/purs-tidy/-/purs-tidy-0.9.1.tgz";
+      sha512 = "Boppe+mRU5/ctLygT7glWfmNwklX1KvRLd2khIPm1HE1vL8q4BwuX6kIrM41f4Iv1ew9KsM76sCVer39lNbd1w==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -119189,7 +119626,7 @@ in
         ];
       })
       sources."call-bind-1.0.2"
-      sources."clone-response-1.0.2"
+      sources."clone-response-1.0.3"
       sources."colors-1.4.0"
       sources."commander-5.1.0"
       sources."compare-versions-4.1.3"
@@ -119198,7 +119635,7 @@ in
       sources."deep-extend-0.6.0"
       sources."defer-to-connect-1.1.3"
       sources."define-lazy-prop-2.0.0"
-      sources."duplexer3-0.1.4"
+      sources."duplexer3-0.1.5"
       sources."end-of-stream-1.4.4"
       sources."follow-redirects-1.15.1"
       sources."fs-extra-10.1.0"
@@ -119212,7 +119649,7 @@ in
       sources."http-cache-semantics-4.1.0"
       sources."https-proxy-agent-5.0.1"
       sources."ini-1.3.8"
-      sources."ip-1.1.8"
+      sources."ip-2.0.0"
       sources."is-docker-2.2.1"
       sources."is-wsl-2.2.0"
       sources."js-base64-3.7.2"
@@ -119225,7 +119662,7 @@ in
       sources."lowercase-keys-1.0.1"
       sources."mimic-response-1.0.1"
       sources."minimist-1.2.6"
-      sources."moment-2.29.3"
+      sources."moment-2.29.4"
       sources."ms-2.1.2"
       sources."node-abort-controller-3.0.1"
       sources."normalize-url-4.5.1"
@@ -119242,7 +119679,7 @@ in
       sources."prepend-http-2.0.0"
       sources."prompts-2.4.2"
       sources."pump-3.0.0"
-      sources."qs-6.10.5"
+      sources."qs-6.11.0"
       sources."rc-1.2.8"
       sources."readline-sync-1.4.10"
       sources."register-protocol-win32-1.1.0"
@@ -119253,7 +119690,7 @@ in
       sources."side-channel-1.0.4"
       sources."sisteransi-1.0.5"
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.2"
+      sources."socks-2.7.0"
       sources."socks-proxy-agent-5.0.1"
       sources."strip-json-comments-2.0.1"
       sources."to-readable-stream-1.0.0"
@@ -119275,10 +119712,10 @@ in
   pyright = nodeEnv.buildNodePackage {
     name = "pyright";
     packageName = "pyright";
-    version = "1.1.255";
+    version = "1.1.265";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pyright/-/pyright-1.1.255.tgz";
-      sha512 = "pAec1Mqyq0l0+C6JH7o7Va0oWyZVACEFgP2cWD9DU/C1epoqZAt/PCRbae/7fFfn7ZGew5tiTMdtO/2RZO/cRg==";
+      url = "https://registry.npmjs.org/pyright/-/pyright-1.1.265.tgz";
+      sha512 = "CHUV46qHE4AKjMXLzBGDvOO9pEDzpQKgnPx3vC/JVEfvvu/RRUGR27GSTDTVVRNXbTjmnWjhRKku1gPPNdDSyg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -119388,7 +119825,7 @@ in
       sources."mimic-fn-2.1.0"
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
-      sources."moment-2.29.3"
+      sources."moment-2.29.4"
       sources."nice-try-1.0.5"
       sources."node-fetch-2.6.7"
       sources."npm-run-path-2.0.2"
@@ -119637,80 +120074,81 @@ in
     };
     dependencies = [
       sources."@ampproject/remapping-2.2.0"
-      sources."@babel/cli-7.17.10"
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.18.5"
-      (sources."@babel/core-7.18.5" // {
+      sources."@babel/cli-7.18.10"
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/compat-data-7.18.8"
+      (sources."@babel/core-7.18.10" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      (sources."@babel/generator-7.18.2" // {
+      (sources."@babel/generator-7.18.10" // {
         dependencies = [
-          sources."@jridgewell/gen-mapping-0.3.1"
+          sources."@jridgewell/gen-mapping-0.3.2"
         ];
       })
-      sources."@babel/helper-annotate-as-pure-7.16.7"
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.16.7"
-      (sources."@babel/helper-compilation-targets-7.18.2" // {
+      sources."@babel/helper-annotate-as-pure-7.18.6"
+      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.18.9"
+      (sources."@babel/helper-compilation-targets-7.18.9" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-create-class-features-plugin-7.18.0"
-      sources."@babel/helper-create-regexp-features-plugin-7.17.12"
-      (sources."@babel/helper-define-polyfill-provider-0.3.1" // {
+      sources."@babel/helper-create-class-features-plugin-7.18.9"
+      sources."@babel/helper-create-regexp-features-plugin-7.18.6"
+      (sources."@babel/helper-define-polyfill-provider-0.3.2" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-environment-visitor-7.18.2"
-      sources."@babel/helper-explode-assignable-expression-7.16.7"
-      sources."@babel/helper-function-name-7.17.9"
-      sources."@babel/helper-hoist-variables-7.16.7"
-      sources."@babel/helper-member-expression-to-functions-7.17.7"
-      sources."@babel/helper-module-imports-7.16.7"
-      sources."@babel/helper-module-transforms-7.18.0"
-      sources."@babel/helper-optimise-call-expression-7.16.7"
-      sources."@babel/helper-plugin-utils-7.17.12"
-      sources."@babel/helper-remap-async-to-generator-7.16.8"
-      sources."@babel/helper-replace-supers-7.18.2"
-      sources."@babel/helper-simple-access-7.18.2"
-      sources."@babel/helper-skip-transparent-expression-wrappers-7.16.0"
-      sources."@babel/helper-split-export-declaration-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/helper-validator-option-7.16.7"
-      sources."@babel/helper-wrap-function-7.16.8"
-      sources."@babel/helpers-7.18.2"
-      sources."@babel/highlight-7.17.12"
-      sources."@babel/parser-7.18.5"
-      sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12"
-      sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12"
-      sources."@babel/plugin-proposal-async-generator-functions-7.17.12"
-      sources."@babel/plugin-proposal-class-properties-7.17.12"
-      sources."@babel/plugin-proposal-class-static-block-7.18.0"
-      sources."@babel/plugin-proposal-dynamic-import-7.16.7"
-      sources."@babel/plugin-proposal-export-default-from-7.17.12"
-      sources."@babel/plugin-proposal-export-namespace-from-7.17.12"
-      sources."@babel/plugin-proposal-json-strings-7.17.12"
-      sources."@babel/plugin-proposal-logical-assignment-operators-7.17.12"
-      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.17.12"
-      sources."@babel/plugin-proposal-numeric-separator-7.16.7"
-      sources."@babel/plugin-proposal-object-rest-spread-7.18.0"
-      sources."@babel/plugin-proposal-optional-catch-binding-7.16.7"
-      sources."@babel/plugin-proposal-optional-chaining-7.17.12"
-      sources."@babel/plugin-proposal-private-methods-7.17.12"
-      sources."@babel/plugin-proposal-private-property-in-object-7.17.12"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.17.12"
+      sources."@babel/helper-environment-visitor-7.18.9"
+      sources."@babel/helper-explode-assignable-expression-7.18.6"
+      sources."@babel/helper-function-name-7.18.9"
+      sources."@babel/helper-hoist-variables-7.18.6"
+      sources."@babel/helper-member-expression-to-functions-7.18.9"
+      sources."@babel/helper-module-imports-7.18.6"
+      sources."@babel/helper-module-transforms-7.18.9"
+      sources."@babel/helper-optimise-call-expression-7.18.6"
+      sources."@babel/helper-plugin-utils-7.18.9"
+      sources."@babel/helper-remap-async-to-generator-7.18.9"
+      sources."@babel/helper-replace-supers-7.18.9"
+      sources."@babel/helper-simple-access-7.18.6"
+      sources."@babel/helper-skip-transparent-expression-wrappers-7.18.9"
+      sources."@babel/helper-split-export-declaration-7.18.6"
+      sources."@babel/helper-string-parser-7.18.10"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      sources."@babel/helper-validator-option-7.18.6"
+      sources."@babel/helper-wrap-function-7.18.10"
+      sources."@babel/helpers-7.18.9"
+      sources."@babel/highlight-7.18.6"
+      sources."@babel/parser-7.18.10"
+      sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6"
+      sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9"
+      sources."@babel/plugin-proposal-async-generator-functions-7.18.10"
+      sources."@babel/plugin-proposal-class-properties-7.18.6"
+      sources."@babel/plugin-proposal-class-static-block-7.18.6"
+      sources."@babel/plugin-proposal-dynamic-import-7.18.6"
+      sources."@babel/plugin-proposal-export-default-from-7.18.10"
+      sources."@babel/plugin-proposal-export-namespace-from-7.18.9"
+      sources."@babel/plugin-proposal-json-strings-7.18.6"
+      sources."@babel/plugin-proposal-logical-assignment-operators-7.18.9"
+      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.18.6"
+      sources."@babel/plugin-proposal-numeric-separator-7.18.6"
+      sources."@babel/plugin-proposal-object-rest-spread-7.18.9"
+      sources."@babel/plugin-proposal-optional-catch-binding-7.18.6"
+      sources."@babel/plugin-proposal-optional-chaining-7.18.9"
+      sources."@babel/plugin-proposal-private-methods-7.18.6"
+      sources."@babel/plugin-proposal-private-property-in-object-7.18.6"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.18.6"
       sources."@babel/plugin-syntax-async-generators-7.8.4"
       sources."@babel/plugin-syntax-class-properties-7.12.13"
       sources."@babel/plugin-syntax-class-static-block-7.14.5"
       sources."@babel/plugin-syntax-dynamic-import-7.8.3"
-      sources."@babel/plugin-syntax-export-default-from-7.16.7"
+      sources."@babel/plugin-syntax-export-default-from-7.18.6"
       sources."@babel/plugin-syntax-export-namespace-from-7.8.3"
-      sources."@babel/plugin-syntax-import-assertions-7.17.12"
+      sources."@babel/plugin-syntax-import-assertions-7.18.6"
       sources."@babel/plugin-syntax-json-strings-7.8.3"
-      sources."@babel/plugin-syntax-jsx-7.17.12"
+      sources."@babel/plugin-syntax-jsx-7.18.6"
       sources."@babel/plugin-syntax-logical-assignment-operators-7.10.4"
       sources."@babel/plugin-syntax-nullish-coalescing-operator-7.8.3"
       sources."@babel/plugin-syntax-numeric-separator-7.10.4"
@@ -119719,71 +120157,71 @@ in
       sources."@babel/plugin-syntax-optional-chaining-7.8.3"
       sources."@babel/plugin-syntax-private-property-in-object-7.14.5"
       sources."@babel/plugin-syntax-top-level-await-7.14.5"
-      sources."@babel/plugin-transform-arrow-functions-7.17.12"
-      sources."@babel/plugin-transform-async-to-generator-7.17.12"
-      sources."@babel/plugin-transform-block-scoped-functions-7.16.7"
-      sources."@babel/plugin-transform-block-scoping-7.18.4"
-      sources."@babel/plugin-transform-classes-7.18.4"
-      sources."@babel/plugin-transform-computed-properties-7.17.12"
-      sources."@babel/plugin-transform-destructuring-7.18.0"
-      sources."@babel/plugin-transform-dotall-regex-7.16.7"
-      sources."@babel/plugin-transform-duplicate-keys-7.17.12"
-      sources."@babel/plugin-transform-exponentiation-operator-7.16.7"
-      sources."@babel/plugin-transform-for-of-7.18.1"
-      sources."@babel/plugin-transform-function-name-7.16.7"
-      sources."@babel/plugin-transform-literals-7.17.12"
-      sources."@babel/plugin-transform-member-expression-literals-7.16.7"
-      sources."@babel/plugin-transform-modules-amd-7.18.0"
-      sources."@babel/plugin-transform-modules-commonjs-7.18.2"
-      sources."@babel/plugin-transform-modules-systemjs-7.18.5"
-      sources."@babel/plugin-transform-modules-umd-7.18.0"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.17.12"
-      sources."@babel/plugin-transform-new-target-7.18.5"
-      sources."@babel/plugin-transform-object-super-7.16.7"
-      sources."@babel/plugin-transform-parameters-7.17.12"
-      sources."@babel/plugin-transform-property-literals-7.16.7"
-      sources."@babel/plugin-transform-react-display-name-7.16.7"
-      sources."@babel/plugin-transform-react-jsx-7.17.12"
-      sources."@babel/plugin-transform-react-jsx-development-7.16.7"
-      sources."@babel/plugin-transform-react-pure-annotations-7.18.0"
-      sources."@babel/plugin-transform-regenerator-7.18.0"
-      sources."@babel/plugin-transform-reserved-words-7.17.12"
-      (sources."@babel/plugin-transform-runtime-7.18.5" // {
+      sources."@babel/plugin-transform-arrow-functions-7.18.6"
+      sources."@babel/plugin-transform-async-to-generator-7.18.6"
+      sources."@babel/plugin-transform-block-scoped-functions-7.18.6"
+      sources."@babel/plugin-transform-block-scoping-7.18.9"
+      sources."@babel/plugin-transform-classes-7.18.9"
+      sources."@babel/plugin-transform-computed-properties-7.18.9"
+      sources."@babel/plugin-transform-destructuring-7.18.9"
+      sources."@babel/plugin-transform-dotall-regex-7.18.6"
+      sources."@babel/plugin-transform-duplicate-keys-7.18.9"
+      sources."@babel/plugin-transform-exponentiation-operator-7.18.6"
+      sources."@babel/plugin-transform-for-of-7.18.8"
+      sources."@babel/plugin-transform-function-name-7.18.9"
+      sources."@babel/plugin-transform-literals-7.18.9"
+      sources."@babel/plugin-transform-member-expression-literals-7.18.6"
+      sources."@babel/plugin-transform-modules-amd-7.18.6"
+      sources."@babel/plugin-transform-modules-commonjs-7.18.6"
+      sources."@babel/plugin-transform-modules-systemjs-7.18.9"
+      sources."@babel/plugin-transform-modules-umd-7.18.6"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.18.6"
+      sources."@babel/plugin-transform-new-target-7.18.6"
+      sources."@babel/plugin-transform-object-super-7.18.6"
+      sources."@babel/plugin-transform-parameters-7.18.8"
+      sources."@babel/plugin-transform-property-literals-7.18.6"
+      sources."@babel/plugin-transform-react-display-name-7.18.6"
+      sources."@babel/plugin-transform-react-jsx-7.18.10"
+      sources."@babel/plugin-transform-react-jsx-development-7.18.6"
+      sources."@babel/plugin-transform-react-pure-annotations-7.18.6"
+      sources."@babel/plugin-transform-regenerator-7.18.6"
+      sources."@babel/plugin-transform-reserved-words-7.18.6"
+      (sources."@babel/plugin-transform-runtime-7.18.10" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/plugin-transform-shorthand-properties-7.16.7"
-      sources."@babel/plugin-transform-spread-7.17.12"
-      sources."@babel/plugin-transform-sticky-regex-7.16.7"
-      sources."@babel/plugin-transform-template-literals-7.18.2"
-      sources."@babel/plugin-transform-typeof-symbol-7.17.12"
-      sources."@babel/plugin-transform-unicode-escapes-7.16.7"
-      sources."@babel/plugin-transform-unicode-regex-7.16.7"
-      (sources."@babel/preset-env-7.18.2" // {
+      sources."@babel/plugin-transform-shorthand-properties-7.18.6"
+      sources."@babel/plugin-transform-spread-7.18.9"
+      sources."@babel/plugin-transform-sticky-regex-7.18.6"
+      sources."@babel/plugin-transform-template-literals-7.18.9"
+      sources."@babel/plugin-transform-typeof-symbol-7.18.9"
+      sources."@babel/plugin-transform-unicode-escapes-7.18.10"
+      sources."@babel/plugin-transform-unicode-regex-7.18.6"
+      (sources."@babel/preset-env-7.18.10" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
       sources."@babel/preset-modules-0.1.5"
-      sources."@babel/preset-react-7.17.12"
+      sources."@babel/preset-react-7.18.6"
       sources."@babel/preset-stage-0-7.8.3"
-      sources."@babel/register-7.17.7"
-      sources."@babel/runtime-7.18.3"
-      sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.18.5"
-      sources."@babel/types-7.18.4"
+      sources."@babel/register-7.18.9"
+      sources."@babel/runtime-7.18.9"
+      sources."@babel/template-7.18.10"
+      sources."@babel/traverse-7.18.10"
+      sources."@babel/types-7.18.10"
       sources."@jridgewell/gen-mapping-0.1.1"
-      sources."@jridgewell/resolve-uri-3.0.7"
-      sources."@jridgewell/set-array-1.1.1"
-      sources."@jridgewell/sourcemap-codec-1.4.13"
-      sources."@jridgewell/trace-mapping-0.3.13"
+      sources."@jridgewell/resolve-uri-3.1.0"
+      sources."@jridgewell/set-array-1.1.2"
+      sources."@jridgewell/sourcemap-codec-1.4.14"
+      sources."@jridgewell/trace-mapping-0.3.14"
       sources."@reach/router-1.3.4"
       sources."@sindresorhus/is-0.7.0"
       sources."@types/glob-7.2.0"
       sources."@types/json-schema-7.0.11"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/parse-json-4.0.0"
       sources."@types/q-1.5.5"
       sources."@webassemblyjs/ast-1.9.0"
@@ -119877,13 +120315,13 @@ in
       })
       sources."babel-plugin-dynamic-import-node-2.3.3"
       sources."babel-plugin-macros-2.8.0"
-      (sources."babel-plugin-polyfill-corejs2-0.3.1" // {
+      (sources."babel-plugin-polyfill-corejs2-0.3.2" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."babel-plugin-polyfill-corejs3-0.5.2"
-      sources."babel-plugin-polyfill-regenerator-0.3.1"
+      sources."babel-plugin-polyfill-corejs3-0.5.3"
+      sources."babel-plugin-polyfill-regenerator-0.4.0"
       sources."babel-plugin-transform-react-remove-prop-types-0.4.24"
       sources."babel-plugin-universal-import-4.0.2"
       (sources."babel-runtime-6.26.0" // {
@@ -119942,7 +120380,7 @@ in
         ];
       })
       sources."browserify-zlib-0.1.4"
-      sources."browserslist-4.20.4"
+      sources."browserslist-4.21.3"
       sources."buffer-5.7.1"
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
@@ -119976,7 +120414,7 @@ in
       sources."camel-case-3.0.0"
       sources."camelcase-5.3.1"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001358"
+      sources."caniuse-lite-1.0.30001373"
       sources."case-sensitive-paths-webpack-plugin-2.4.0"
       sources."caw-2.0.1"
       sources."chalk-2.4.2"
@@ -120056,7 +120494,7 @@ in
       sources."copy-concurrently-1.0.5"
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.12"
-      (sources."core-js-compat-3.23.2" // {
+      (sources."core-js-compat-3.24.1" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -120193,11 +120631,11 @@ in
       })
       sources."download-git-repo-2.0.0"
       sources."duplexer-0.1.2"
-      sources."duplexer3-0.1.4"
+      sources."duplexer3-0.1.5"
       sources."duplexify-3.7.1"
       sources."ee-first-1.1.1"
       sources."ejs-2.7.4"
-      sources."electron-to-chromium-1.4.164"
+      sources."electron-to-chromium-1.4.211"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -120207,7 +120645,7 @@ in
       sources."emojis-list-3.0.0"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
-      (sources."engine.io-3.5.0" // {
+      (sources."engine.io-3.6.0" // {
         dependencies = [
           sources."debug-4.1.1"
         ];
@@ -120440,7 +120878,7 @@ in
       sources."http-cache-semantics-3.8.1"
       sources."http-deceiver-1.2.7"
       sources."http-errors-2.0.0"
-      sources."http-parser-js-0.5.6"
+      sources."http-parser-js-0.5.8"
       sources."http-proxy-1.18.1"
       sources."http-proxy-middleware-0.19.1"
       sources."https-browserify-1.0.0"
@@ -120638,7 +121076,7 @@ in
           sources."punycode-1.4.1"
         ];
       })
-      sources."node-releases-2.0.5"
+      sources."node-releases-2.0.6"
       sources."normalize-path-3.0.0"
       sources."normalize-range-0.1.2"
       (sources."normalize-url-2.0.1" // {
@@ -120912,7 +121350,7 @@ in
       sources."react-helmet-6.1.0"
       sources."react-is-16.13.1"
       sources."react-lifecycles-compat-3.0.4"
-      sources."react-side-effect-2.1.1"
+      sources."react-side-effect-2.1.2"
       sources."react-universal-component-4.5.0"
       sources."readable-stream-2.3.7"
       sources."readdirp-3.6.0"
@@ -120922,7 +121360,7 @@ in
       sources."regenerator-transform-0.15.0"
       sources."regex-not-1.0.2"
       sources."regexp.prototype.flags-1.4.3"
-      sources."regexpu-core-5.0.1"
+      sources."regexpu-core-5.1.0"
       sources."registry-auth-token-3.3.2"
       sources."registry-url-3.1.0"
       sources."regjsgen-0.6.0"
@@ -121074,13 +121512,13 @@ in
           sources."kind-of-3.2.2"
         ];
       })
-      (sources."socket.io-2.4.1" // {
+      (sources."socket.io-2.5.0" // {
         dependencies = [
           sources."debug-4.1.1"
         ];
       })
       sources."socket.io-adapter-1.1.2"
-      (sources."socket.io-client-2.4.0" // {
+      (sources."socket.io-client-2.5.0" // {
         dependencies = [
           sources."component-emitter-1.3.0"
           sources."debug-3.1.0"
@@ -121185,7 +121623,7 @@ in
       })
       sources."tar-stream-1.6.2"
       sources."term-size-1.2.0"
-      (sources."terser-4.8.0" // {
+      (sources."terser-4.8.1" // {
         dependencies = [
           sources."commander-2.20.3"
         ];
@@ -121253,6 +121691,7 @@ in
         ];
       })
       sources."upath-1.2.0"
+      sources."update-browserslist-db-1.0.5"
       sources."update-check-1.5.2"
       sources."upper-case-1.1.3"
       sources."uri-js-4.4.1"
@@ -121470,7 +121909,7 @@ in
       sources."@mozilla/readability-0.4.2"
       sources."@tootallnate/once-2.0.0"
       sources."abab-2.0.6"
-      sources."acorn-8.7.1"
+      sources."acorn-8.8.0"
       (sources."acorn-globals-6.0.0" // {
         dependencies = [
           sources."acorn-7.4.1"
@@ -121502,7 +121941,7 @@ in
       sources."deep-is-0.1.4"
       sources."delayed-stream-1.0.0"
       sources."domexception-4.0.0"
-      sources."dompurify-2.3.8"
+      sources."dompurify-2.3.10"
       sources."emoji-regex-8.0.0"
       sources."escalade-3.1.1"
       sources."escodegen-2.0.0"
@@ -121523,11 +121962,11 @@ in
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."ms-2.1.2"
-      sources."nwsapi-2.2.0"
+      sources."nwsapi-2.2.1"
       sources."optionator-0.8.3"
       sources."parse5-6.0.1"
       sources."prelude-ls-1.1.2"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."punycode-2.1.1"
       sources."require-directory-2.1.1"
       sources."safer-buffer-2.1.2"
@@ -121548,12 +121987,12 @@ in
       sources."whatwg-url-10.0.0"
       sources."word-wrap-1.2.3"
       sources."wrap-ansi-7.0.0"
-      sources."ws-8.8.0"
+      sources."ws-8.8.1"
       sources."xml-name-validator-4.0.0"
       sources."xmlchars-2.2.0"
       sources."y18n-5.0.8"
       sources."yargs-17.5.1"
-      sources."yargs-parser-21.0.1"
+      sources."yargs-parser-21.1.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -121568,41 +122007,42 @@ in
   redoc-cli = nodeEnv.buildNodePackage {
     name = "redoc-cli";
     packageName = "redoc-cli";
-    version = "0.13.16";
+    version = "0.13.17";
     src = fetchurl {
-      url = "https://registry.npmjs.org/redoc-cli/-/redoc-cli-0.13.16.tgz";
-      sha512 = "/rqkqJV1r5xgnEFh6cSmv+sZuo/TGCXKRBKZwoC0rLny5N6WGx9YykJhe1jSM4XRbK3VDfrQtOJmPCaI1ut6gg==";
+      url = "https://registry.npmjs.org/redoc-cli/-/redoc-cli-0.13.17.tgz";
+      sha512 = "9nlebYPiysVnuSJSoXAfEmwy8eHMsp14Rt4oRKqXaCz00O6chMnveZpzTB6APMVwA9gtNbiGO3Rbsm5PQQExzQ==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/generator-7.18.2"
-      sources."@babel/helper-annotate-as-pure-7.16.7"
-      sources."@babel/helper-environment-visitor-7.18.2"
-      sources."@babel/helper-function-name-7.17.9"
-      sources."@babel/helper-hoist-variables-7.16.7"
-      sources."@babel/helper-module-imports-7.16.7"
-      sources."@babel/helper-split-export-declaration-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/highlight-7.17.12"
-      sources."@babel/parser-7.18.5"
-      sources."@babel/runtime-7.18.3"
-      sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.18.5"
-      sources."@babel/types-7.18.4"
-      sources."@emotion/is-prop-valid-1.1.3"
-      sources."@emotion/memoize-0.7.5"
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/generator-7.18.10"
+      sources."@babel/helper-annotate-as-pure-7.18.6"
+      sources."@babel/helper-environment-visitor-7.18.9"
+      sources."@babel/helper-function-name-7.18.9"
+      sources."@babel/helper-hoist-variables-7.18.6"
+      sources."@babel/helper-module-imports-7.18.6"
+      sources."@babel/helper-split-export-declaration-7.18.6"
+      sources."@babel/helper-string-parser-7.18.10"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      sources."@babel/highlight-7.18.6"
+      sources."@babel/parser-7.18.10"
+      sources."@babel/runtime-7.18.9"
+      sources."@babel/template-7.18.10"
+      sources."@babel/traverse-7.18.10"
+      sources."@babel/types-7.18.10"
+      sources."@emotion/is-prop-valid-1.2.0"
+      sources."@emotion/memoize-0.8.0"
       sources."@emotion/stylis-0.8.5"
       sources."@emotion/unitless-0.7.5"
-      sources."@exodus/schemasafe-1.0.0-rc.6"
-      sources."@jridgewell/gen-mapping-0.3.1"
-      sources."@jridgewell/resolve-uri-3.0.7"
-      sources."@jridgewell/set-array-1.1.1"
-      sources."@jridgewell/sourcemap-codec-1.4.13"
-      sources."@jridgewell/trace-mapping-0.3.13"
+      sources."@exodus/schemasafe-1.0.0-rc.7"
+      sources."@jridgewell/gen-mapping-0.3.2"
+      sources."@jridgewell/resolve-uri-3.1.0"
+      sources."@jridgewell/set-array-1.1.2"
+      sources."@jridgewell/sourcemap-codec-1.4.14"
+      sources."@jridgewell/trace-mapping-0.3.14"
       sources."@redocly/ajv-8.6.4"
-      sources."@redocly/openapi-core-1.0.0-beta.102"
+      sources."@redocly/openapi-core-1.0.0-beta.105"
       sources."@types/json-schema-7.0.11"
-      sources."@types/node-14.18.21"
+      sources."@types/node-14.18.23"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-3.2.1"
       sources."anymatch-3.1.2"
@@ -121651,7 +122091,7 @@ in
       sources."cipher-base-1.0.4"
       sources."classnames-2.3.1"
       sources."cliui-7.0.4"
-      sources."clsx-1.1.1"
+      sources."clsx-1.2.1"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."colorette-1.4.0"
@@ -121677,7 +122117,7 @@ in
         ];
       })
       sources."domain-browser-1.2.0"
-      sources."dompurify-2.3.8"
+      sources."dompurify-2.3.10"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -121735,7 +122175,7 @@ in
       sources."loose-envify-1.4.0"
       sources."lunr-2.3.9"
       sources."mark.js-8.11.1"
-      sources."marked-4.0.17"
+      sources."marked-4.0.18"
       sources."md5.js-1.3.5"
       (sources."miller-rabin-4.0.1" // {
         dependencies = [
@@ -121747,8 +122187,8 @@ in
       sources."minimatch-5.1.0"
       sources."minimist-1.2.6"
       sources."mkdirp-1.0.4"
-      sources."mobx-6.6.0"
-      sources."mobx-react-7.5.0"
+      sources."mobx-6.6.1"
+      sources."mobx-react-7.5.2"
       sources."mobx-react-lite-3.4.0"
       sources."ms-2.1.2"
       sources."neo-async-2.6.2"
@@ -121801,7 +122241,7 @@ in
         ];
       })
       sources."readdirp-3.6.0"
-      (sources."redoc-2.0.0-rc.72" // {
+      (sources."redoc-2.0.0-rc.74" // {
         dependencies = [
           sources."path-browserify-1.0.1"
         ];
@@ -121841,7 +122281,7 @@ in
       sources."to-regex-range-5.0.1"
       sources."tr46-0.0.3"
       sources."tty-browserify-0.0.0"
-      sources."uglify-js-3.16.1"
+      sources."uglify-js-3.16.3"
       (sources."uri-js-4.4.1" // {
         dependencies = [
           sources."punycode-2.1.1"
@@ -121875,7 +122315,7 @@ in
       sources."yaml-1.10.2"
       sources."yaml-ast-parser-0.0.43"
       sources."yargs-17.5.1"
-      sources."yargs-parser-21.0.1"
+      sources."yargs-parser-21.1.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -122049,10 +122489,10 @@ in
   reveal-md = nodeEnv.buildNodePackage {
     name = "reveal-md";
     packageName = "reveal-md";
-    version = "5.3.3";
+    version = "5.3.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/reveal-md/-/reveal-md-5.3.3.tgz";
-      sha512 = "HWWVMB/utUAlPzR3cj1dFvcVhnAOEOocK5MpnAaOblYOpOL3LNbIyfLA/TxFKIkRdn0EJPwGdYC40dQbHooXgg==";
+      url = "https://registry.npmjs.org/reveal-md/-/reveal-md-5.3.4.tgz";
+      sha512 = "b0/HijfOPoypeHLD9hWKFTJREMDOUDvoPGftCrP0BU54R2vHL8sc+P0BaB/xRGOvFbyP/PyGCkwleiY0U8PMYg==";
     };
     dependencies = [
       sources."@sindresorhus/is-0.14.0"
@@ -122092,7 +122532,7 @@ in
       sources."chokidar-3.5.3"
       sources."ci-info-2.0.0"
       sources."cli-boxes-2.2.1"
-      sources."clone-response-1.0.2"
+      sources."clone-response-1.0.3"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."commander-6.2.1"
@@ -122113,7 +122553,7 @@ in
       sources."depd-2.0.0"
       sources."destroy-1.2.0"
       sources."dot-prop-5.3.0"
-      sources."duplexer3-0.1.4"
+      sources."duplexer3-0.1.5"
       sources."ee-first-1.1.1"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
@@ -122197,7 +122637,7 @@ in
       sources."keyv-3.1.0"
       sources."latest-version-5.1.0"
       sources."livereload-0.9.3"
-      sources."livereload-js-3.4.0"
+      sources."livereload-js-3.4.1"
       sources."lodash-4.17.21"
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-6.0.0"
@@ -122334,7 +122774,7 @@ in
       sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
       sources."write-file-atomic-3.0.3"
-      sources."ws-7.5.8"
+      sources."ws-7.5.9"
       sources."xdg-basedir-4.0.0"
       sources."yallist-4.0.0"
       sources."yaml-front-matter-4.1.1"
@@ -122385,10 +122825,10 @@ in
   rollup = nodeEnv.buildNodePackage {
     name = "rollup";
     packageName = "rollup";
-    version = "2.75.7";
+    version = "2.77.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/rollup/-/rollup-2.75.7.tgz";
-      sha512 = "VSE1iy0eaAYNCxEXaleThdFXqZJ42qDBatAwrfnPlENEZ8erQ+0LYX4JXOLPceWfZpV1VtZwZ3dFCuOZiSyFtQ==";
+      url = "https://registry.npmjs.org/rollup/-/rollup-2.77.2.tgz";
+      sha512 = "m/4YzYgLcpMQbxX3NmAqDvwLATZzxt8bIegO78FZLl+lAgKJBd1DRAOeEiZcKOIOPjxE6ewHWHNgGEalFXuz1g==";
     };
     dependencies = [
       sources."fsevents-2.3.2"
@@ -122411,7 +122851,8 @@ in
     dependencies = [
       sources."@eslint/eslintrc-1.3.0"
       sources."@hpcc-js/wasm-1.12.8"
-      sources."@humanwhocodes/config-array-0.9.5"
+      sources."@humanwhocodes/config-array-0.10.4"
+      sources."@humanwhocodes/gitignore-to-minimatch-1.0.2"
       sources."@humanwhocodes/object-schema-1.2.1"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
@@ -122420,16 +122861,16 @@ in
       sources."@types/json-schema-7.0.11"
       sources."@types/node-14.17.34"
       sources."@types/vscode-1.66.0"
-      sources."@typescript-eslint/eslint-plugin-5.29.0"
-      sources."@typescript-eslint/parser-5.29.0"
-      sources."@typescript-eslint/scope-manager-5.29.0"
-      sources."@typescript-eslint/type-utils-5.29.0"
-      sources."@typescript-eslint/types-5.29.0"
-      sources."@typescript-eslint/typescript-estree-5.29.0"
-      sources."@typescript-eslint/utils-5.29.0"
-      sources."@typescript-eslint/visitor-keys-5.29.0"
-      sources."@vscode/test-electron-2.1.4"
-      sources."acorn-8.7.1"
+      sources."@typescript-eslint/eslint-plugin-5.32.0"
+      sources."@typescript-eslint/parser-5.32.0"
+      sources."@typescript-eslint/scope-manager-5.32.0"
+      sources."@typescript-eslint/type-utils-5.32.0"
+      sources."@typescript-eslint/types-5.32.0"
+      sources."@typescript-eslint/typescript-estree-5.32.0"
+      sources."@typescript-eslint/utils-5.32.0"
+      sources."@typescript-eslint/visitor-keys-5.32.0"
+      sources."@vscode/test-electron-2.1.5"
+      sources."acorn-8.8.0"
       sources."acorn-jsx-5.3.2"
       sources."agent-base-6.0.2"
       sources."ajv-6.12.6"
@@ -122437,7 +122878,7 @@ in
       sources."ansi-styles-4.3.0"
       sources."argparse-2.0.1"
       sources."array-union-2.1.0"
-      sources."azure-devops-node-api-11.1.1"
+      sources."azure-devops-node-api-11.2.0"
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
       sources."big-integer-1.6.51"
@@ -122459,7 +122900,7 @@ in
       sources."callsites-3.1.0"
       sources."chainsaw-0.1.0"
       sources."chalk-4.1.2"
-      sources."cheerio-1.0.0-rc.11"
+      sources."cheerio-1.0.0-rc.12"
       sources."cheerio-select-2.1.0"
       sources."chownr-1.1.4"
       sources."cliui-7.0.4"
@@ -122473,13 +122914,13 @@ in
       sources."cross-spawn-7.0.3"
       sources."css-select-5.1.0"
       sources."css-what-6.1.0"
-      sources."d3-7.4.4"
-      sources."d3-array-3.1.6"
+      sources."d3-7.6.1"
+      sources."d3-array-3.2.0"
       sources."d3-axis-3.0.0"
       sources."d3-brush-3.0.0"
       sources."d3-chord-3.0.1"
       sources."d3-color-3.1.0"
-      sources."d3-contour-3.0.1"
+      sources."d3-contour-4.0.0"
       sources."d3-delaunay-6.0.2"
       sources."d3-dispatch-3.0.1"
       sources."d3-drag-3.0.0"
@@ -122542,10 +122983,10 @@ in
       })
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
-      sources."entities-4.3.0"
+      sources."entities-4.3.1"
       sources."escalade-3.1.1"
       sources."escape-string-regexp-4.0.0"
-      (sources."eslint-8.18.0" // {
+      (sources."eslint-8.21.0" // {
         dependencies = [
           sources."eslint-scope-7.1.1"
           sources."estraverse-5.3.0"
@@ -122559,7 +123000,7 @@ in
         ];
       })
       sources."eslint-visitor-keys-3.3.0"
-      sources."espree-9.3.2"
+      sources."espree-9.3.3"
       (sources."esquery-1.4.0" // {
         dependencies = [
           sources."estraverse-5.3.0"
@@ -122581,8 +123022,9 @@ in
       sources."fd-slicer-1.1.0"
       sources."file-entry-cache-6.0.1"
       sources."fill-range-7.0.1"
+      sources."find-up-5.0.0"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.2.5"
+      sources."flatted-3.2.6"
       sources."fs-constants-1.0.0"
       sources."fs.realpath-1.0.0"
       (sources."fstream-1.0.12" // {
@@ -122597,9 +123039,10 @@ in
       sources."github-from-package-0.0.0"
       sources."glob-7.2.3"
       sources."glob-parent-5.1.2"
-      sources."globals-13.15.0"
+      sources."globals-13.17.0"
       sources."globby-11.1.0"
       sources."graceful-fs-4.2.10"
+      sources."grapheme-splitter-1.0.4"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
       sources."has-symbols-1.0.3"
@@ -122630,6 +123073,7 @@ in
       sources."levn-0.4.1"
       sources."linkify-it-3.0.3"
       sources."listenercount-1.0.1"
+      sources."locate-path-6.0.0"
       sources."lodash.merge-4.6.2"
       sources."lru-cache-6.0.0"
       (sources."markdown-it-12.3.2" // {
@@ -122650,12 +123094,14 @@ in
       sources."mute-stream-0.0.8"
       sources."napi-build-utils-1.0.2"
       sources."natural-compare-1.4.0"
-      sources."node-abi-3.22.0"
+      sources."node-abi-3.24.0"
       sources."node-addon-api-4.3.0"
       sources."nth-check-2.1.1"
       sources."object-inspect-1.12.2"
       sources."once-1.4.0"
       sources."optionator-0.9.1"
+      sources."p-limit-3.1.0"
+      sources."p-locate-5.0.0"
       sources."parent-module-1.0.1"
       (sources."parse-semver-1.1.1" // {
         dependencies = [
@@ -122664,6 +123110,7 @@ in
       })
       sources."parse5-7.0.0"
       sources."parse5-htmlparser2-tree-adapter-7.0.0"
+      sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-key-3.1.1"
       sources."path-type-4.0.0"
@@ -122675,7 +123122,7 @@ in
       sources."pseudomap-1.0.2"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
-      sources."qs-6.10.5"
+      sources."qs-6.11.0"
       sources."queue-microtask-1.2.3"
       (sources."rc-1.2.8" // {
         dependencies = [
@@ -122739,7 +123186,7 @@ in
       sources."url-join-4.0.1"
       sources."util-deprecate-1.0.2"
       sources."v8-compile-cache-2.3.0"
-      (sources."vsce-2.9.2" // {
+      (sources."vsce-2.10.0" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
@@ -122765,9 +123212,10 @@ in
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
       sources."yargs-17.5.1"
-      sources."yargs-parser-21.0.1"
+      sources."yargs-parser-21.1.0"
       sources."yauzl-2.10.0"
       sources."yazl-2.5.1"
+      sources."yocto-queue-0.1.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -122876,7 +123324,7 @@ in
       sources."object-inspect-1.12.2"
       (sources."openid-2.0.10" // {
         dependencies = [
-          sources."qs-6.10.5"
+          sources."qs-6.11.0"
         ];
       })
       sources."pause-0.0.1"
@@ -122906,10 +123354,10 @@ in
   sass = nodeEnv.buildNodePackage {
     name = "sass";
     packageName = "sass";
-    version = "1.52.3";
+    version = "1.54.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/sass/-/sass-1.52.3.tgz";
-      sha512 = "LNNPJ9lafx+j1ArtA7GyEJm9eawXN8KlA1+5dF6IZyoONg1Tyo/g+muOsENWJH/2Q1FHbbV4UwliU0cXMa/VIA==";
+      url = "https://registry.npmjs.org/sass/-/sass-1.54.2.tgz";
+      sha512 = "wbVV26sejsCIbBScZZtNkvnrB/bVCQ8hSlZ01D9nzsVh9zLqCkWrlpvTb3YEb6xsuNi9cx75hncqwikHFSz7tw==";
     };
     dependencies = [
       sources."anymatch-3.1.2"
@@ -122965,113 +123413,120 @@ in
   serve = nodeEnv.buildNodePackage {
     name = "serve";
     packageName = "serve";
-    version = "13.0.2";
+    version = "14.0.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/serve/-/serve-13.0.2.tgz";
-      sha512 = "71R6fKvNgKrqARAag6lYJNnxDzpH7DCNrMuvPY5PLVaC2PDhJsGTj/34o4o4tPWhTuLgEXqvgnAWbATQ9zGZTQ==";
+      url = "https://registry.npmjs.org/serve/-/serve-14.0.1.tgz";
+      sha512 = "tNGwxl27FwA8TbmMQqN0jTaSx8/trL532qZsJHX1VdiEIjjtMJHCs7AFS6OvtC7cTHOvmjXqt5yczejU6CV2Xg==";
     };
     dependencies = [
-      sources."@zeit/schemas-2.6.0"
+      sources."@zeit/schemas-2.21.0"
       sources."accepts-1.3.8"
-      sources."ajv-6.12.6"
-      sources."ansi-align-3.0.1"
-      sources."ansi-regex-5.0.1"
-      sources."ansi-styles-4.3.0"
-      sources."arch-2.2.0"
-      sources."arg-2.0.0"
-      sources."balanced-match-1.0.2"
-      (sources."boxen-5.1.2" // {
+      sources."ajv-8.11.0"
+      (sources."ansi-align-3.0.1" // {
         dependencies = [
-          sources."chalk-4.1.2"
+          sources."string-width-4.2.3"
         ];
       })
+      sources."ansi-regex-5.0.1"
+      sources."ansi-styles-6.1.0"
+      sources."arch-2.2.0"
+      sources."arg-5.0.2"
+      sources."balanced-match-1.0.2"
+      sources."boxen-7.0.0"
       sources."brace-expansion-1.1.11"
       sources."bytes-3.0.0"
-      sources."camelcase-6.3.0"
-      (sources."chalk-2.4.1" // {
+      sources."camelcase-7.0.0"
+      sources."chalk-5.0.1"
+      (sources."chalk-template-0.4.0" // {
         dependencies = [
-          sources."ansi-styles-3.2.1"
-          sources."color-convert-1.9.3"
-          sources."color-name-1.1.3"
-          sources."has-flag-3.0.0"
-          sources."supports-color-5.5.0"
+          sources."ansi-styles-4.3.0"
+          sources."chalk-4.1.2"
         ];
       })
-      sources."cli-boxes-2.2.1"
-      sources."clipboardy-2.3.0"
+      sources."cli-boxes-3.0.0"
+      sources."clipboardy-3.0.0"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."compressible-2.0.18"
-      sources."compression-1.7.3"
+      sources."compression-1.7.4"
       sources."concat-map-0.0.1"
       sources."content-disposition-0.5.2"
-      sources."cross-spawn-6.0.5"
+      sources."cross-spawn-7.0.3"
       sources."debug-2.6.9"
       sources."deep-extend-0.6.0"
+      sources."eastasianwidth-0.2.0"
       sources."emoji-regex-8.0.0"
-      sources."end-of-stream-1.4.4"
-      sources."escape-string-regexp-1.0.5"
-      sources."execa-1.0.0"
+      sources."execa-5.1.1"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-json-stable-stringify-2.1.0"
       (sources."fast-url-parser-1.1.3" // {
         dependencies = [
           sources."punycode-1.4.1"
         ];
       })
-      sources."get-stream-4.1.0"
+      sources."get-stream-6.0.1"
       sources."has-flag-4.0.0"
+      sources."human-signals-2.1.0"
       sources."ini-1.3.8"
       sources."is-docker-2.2.1"
       sources."is-fullwidth-code-point-3.0.0"
-      sources."is-stream-1.1.0"
+      sources."is-port-reachable-4.0.0"
+      sources."is-stream-2.0.1"
       sources."is-wsl-2.2.0"
       sources."isexe-2.0.0"
-      sources."json-schema-traverse-0.4.1"
+      sources."json-schema-traverse-1.0.0"
+      sources."merge-stream-2.0.0"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
+      sources."mimic-fn-2.1.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.6"
       sources."ms-2.0.0"
       sources."negotiator-0.6.3"
-      sources."nice-try-1.0.5"
-      sources."npm-run-path-2.0.2"
+      sources."npm-run-path-4.0.1"
       sources."on-headers-1.0.2"
-      sources."once-1.4.0"
-      sources."p-finally-1.0.0"
+      sources."onetime-5.1.2"
       sources."path-is-inside-1.0.2"
-      sources."path-key-2.0.1"
+      sources."path-key-3.1.1"
       sources."path-to-regexp-2.2.1"
-      sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."range-parser-1.2.0"
       sources."rc-1.2.8"
       sources."registry-auth-token-3.3.2"
       sources."registry-url-3.1.0"
+      sources."require-from-string-2.0.2"
       sources."safe-buffer-5.1.2"
-      sources."semver-5.7.1"
       (sources."serve-handler-6.1.3" // {
         dependencies = [
           sources."mime-db-1.33.0"
           sources."mime-types-2.1.18"
         ];
       })
-      sources."shebang-command-1.2.0"
-      sources."shebang-regex-1.0.0"
+      sources."shebang-command-2.0.0"
+      sources."shebang-regex-3.0.0"
       sources."signal-exit-3.0.7"
-      sources."string-width-4.2.3"
+      (sources."string-width-5.1.2" // {
+        dependencies = [
+          sources."ansi-regex-6.0.1"
+          sources."emoji-regex-9.2.2"
+          sources."strip-ansi-7.0.1"
+        ];
+      })
       sources."strip-ansi-6.0.1"
-      sources."strip-eof-1.0.0"
+      sources."strip-final-newline-2.0.0"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-7.2.0"
-      sources."type-fest-0.20.2"
-      sources."update-check-1.5.2"
+      sources."type-fest-2.18.0"
+      sources."update-check-1.5.4"
       sources."uri-js-4.4.1"
       sources."vary-1.1.2"
-      sources."which-1.3.1"
-      sources."widest-line-3.1.0"
-      sources."wrap-ansi-7.0.0"
-      sources."wrappy-1.0.2"
+      sources."which-2.0.2"
+      sources."widest-line-4.0.1"
+      (sources."wrap-ansi-8.0.1" // {
+        dependencies = [
+          sources."ansi-regex-6.0.1"
+          sources."strip-ansi-7.0.1"
+        ];
+      })
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -123086,10 +123541,10 @@ in
   serverless = nodeEnv.buildNodePackage {
     name = "serverless";
     packageName = "serverless";
-    version = "3.19.0";
+    version = "3.21.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/serverless/-/serverless-3.19.0.tgz";
-      sha512 = "XqbZ+UhxLjnwnzOEMkecJd68C3P9g9fQGwhHkuQelni3hIjmLlzkVBx6wlxrIBRgAXE9RAllwZvCsi2jZ9h2Ww==";
+      url = "https://registry.npmjs.org/serverless/-/serverless-3.21.0.tgz";
+      sha512 = "swDn12DWEN3jyb/DPrr+a5Gy+DcV+cI+Yuii+zjxGTPGrEDfLymPBEtx3e7YmxKWn174ekmRCfRNbbtffo3LcQ==";
     };
     dependencies = [
       sources."2-thenable-1.0.0"
@@ -123105,7 +123560,7 @@ in
           sources."js-yaml-3.14.1"
         ];
       })
-      (sources."@serverless/utils-6.6.0" // {
+      (sources."@serverless/utils-6.7.0" // {
         dependencies = [
           sources."jwt-decode-3.1.2"
         ];
@@ -123118,7 +123573,7 @@ in
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
       sources."@types/lodash-4.14.182"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/responselike-1.0.0"
       sources."adm-zip-0.5.9"
       sources."agent-base-6.0.2"
@@ -123145,7 +123600,8 @@ in
       sources."async-3.2.4"
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
-      (sources."aws-sdk-2.1158.0" // {
+      sources."available-typed-arrays-1.0.5"
+      (sources."aws-sdk-2.1188.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."ieee754-1.1.13"
@@ -123191,10 +123647,10 @@ in
       sources."chokidar-3.5.3"
       sources."chownr-2.0.0"
       sources."ci-info-3.3.2"
-      sources."cli-color-2.0.2"
+      sources."cli-color-2.0.3"
       sources."cli-cursor-3.1.0"
       sources."cli-progress-footer-2.3.2"
-      sources."cli-spinners-2.6.1"
+      sources."cli-spinners-2.7.0"
       (sources."cli-sprintf-format-1.1.1" // {
         dependencies = [
           sources."supports-color-6.1.0"
@@ -123202,7 +123658,7 @@ in
       })
       sources."cli-width-3.0.0"
       sources."clone-1.0.4"
-      sources."clone-response-1.0.2"
+      sources."clone-response-1.0.3"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."combined-stream-1.0.8"
@@ -123238,7 +123694,7 @@ in
           sources."type-1.2.0"
         ];
       })
-      sources."dayjs-1.11.3"
+      sources."dayjs-1.11.4"
       sources."debug-4.3.4"
       (sources."decompress-4.2.1" // {
         dependencies = [
@@ -123280,6 +123736,7 @@ in
       sources."defaults-1.0.3"
       sources."defer-to-connect-2.0.1"
       sources."deferred-0.7.11"
+      sources."define-properties-1.1.4"
       sources."delayed-stream-1.0.0"
       sources."dezalgo-1.0.3"
       sources."dir-glob-3.0.1"
@@ -123288,7 +123745,9 @@ in
       sources."duration-0.2.2"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
-      sources."es5-ext-0.10.61"
+      sources."es-abstract-1.20.1"
+      sources."es-to-primitive-1.2.1"
+      sources."es5-ext-0.10.62"
       sources."es6-iterator-2.0.3"
       (sources."es6-set-0.1.5" // {
         dependencies = [
@@ -123310,11 +123769,11 @@ in
       sources."fast-deep-equal-3.1.3"
       sources."fast-glob-3.2.11"
       sources."fast-safe-stringify-2.1.1"
-      sources."fastest-levenshtein-1.0.12"
+      sources."fastest-levenshtein-1.0.16"
       sources."fastq-1.13.0"
       sources."fd-slicer-1.1.0"
       sources."figures-3.2.0"
-      sources."file-type-16.5.3"
+      sources."file-type-16.5.4"
       sources."filename-reserved-regex-2.0.0"
       sources."filenamify-4.3.0"
       sources."filesize-8.0.7"
@@ -123322,6 +123781,7 @@ in
       sources."find-requires-1.0.0"
       sources."flat-5.0.2"
       sources."follow-redirects-1.15.1"
+      sources."for-each-0.3.3"
       sources."form-data-4.0.0"
       (sources."formidable-2.0.1" // {
         dependencies = [
@@ -123335,9 +123795,12 @@ in
       sources."fs2-0.3.9"
       sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
+      sources."function.prototype.name-1.1.5"
+      sources."functions-have-names-1.2.3"
       sources."get-intrinsic-1.1.2"
       sources."get-stdin-8.0.0"
       sources."get-stream-6.0.1"
+      sources."get-symbol-description-1.0.0"
       sources."glob-7.2.3"
       sources."glob-parent-5.1.2"
       sources."globby-11.1.0"
@@ -123345,8 +123808,11 @@ in
       sources."graceful-fs-4.2.10"
       sources."graphlib-2.1.8"
       sources."has-1.0.3"
+      sources."has-bigints-1.0.2"
       sources."has-flag-3.0.0"
+      sources."has-property-descriptors-1.0.0"
       sources."has-symbols-1.0.3"
+      sources."has-tostringtag-1.0.0"
       sources."hexoid-1.0.0"
       sources."http-cache-semantics-4.1.0"
       sources."http2-wrapper-1.0.3"
@@ -123359,18 +123825,33 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."inquirer-8.2.4"
+      sources."internal-slot-1.0.3"
+      sources."is-arguments-1.1.1"
+      sources."is-bigint-1.0.4"
       sources."is-binary-path-2.1.0"
+      sources."is-boolean-object-1.1.2"
+      sources."is-callable-1.2.4"
+      sources."is-date-object-1.0.5"
       sources."is-docker-2.2.1"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
+      sources."is-generator-function-1.0.10"
       sources."is-glob-4.0.3"
       sources."is-interactive-1.0.0"
       sources."is-natural-number-4.0.1"
+      sources."is-negative-zero-2.0.2"
       sources."is-number-7.0.0"
+      sources."is-number-object-1.0.7"
       sources."is-plain-obj-1.1.0"
       sources."is-promise-2.2.2"
+      sources."is-regex-1.1.4"
+      sources."is-shared-array-buffer-1.0.2"
       sources."is-stream-1.1.0"
+      sources."is-string-1.0.7"
+      sources."is-symbol-1.0.4"
+      sources."is-typed-array-1.1.9"
       sources."is-unicode-supported-0.1.0"
+      sources."is-weakref-1.0.2"
       sources."is-wsl-2.2.0"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
@@ -123391,9 +123872,9 @@ in
       })
       sources."json-schema-traverse-1.0.0"
       sources."jsonfile-6.1.0"
-      sources."jszip-3.10.0"
+      sources."jszip-3.10.1"
       sources."jwt-decode-2.2.0"
-      sources."keyv-4.3.1"
+      sources."keyv-4.3.3"
       sources."lazystream-1.0.1"
       sources."lie-3.3.0"
       sources."lodash-4.17.21"
@@ -123423,13 +123904,13 @@ in
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minipass-3.3.3"
+      sources."minipass-3.3.5"
       sources."minizlib-2.1.2"
       sources."mkdirp-1.0.4"
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
       sources."native-promise-only-0.8.1"
-      sources."ncjsm-4.3.0"
+      sources."ncjsm-4.3.1"
       sources."next-tick-1.1.0"
       sources."nice-try-1.0.5"
       sources."node-dir-0.1.17"
@@ -123440,6 +123921,8 @@ in
       sources."object-assign-4.1.1"
       sources."object-hash-2.2.0"
       sources."object-inspect-1.12.2"
+      sources."object-keys-1.1.1"
+      sources."object.assign-4.1.2"
       sources."once-1.4.0"
       sources."onetime-5.1.2"
       sources."open-7.4.2"
@@ -123466,7 +123949,7 @@ in
       sources."promise-queue-2.2.5"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
-      sources."qs-6.10.5"
+      sources."qs-6.11.0"
       sources."querystring-0.2.1"
       sources."queue-microtask-1.2.3"
       sources."quick-lru-5.1.1"
@@ -123476,17 +123959,23 @@ in
           sources."readable-stream-3.6.0"
         ];
       })
-      sources."readdir-glob-1.1.1"
+      (sources."readdir-glob-1.1.2" // {
+        dependencies = [
+          sources."brace-expansion-2.0.1"
+          sources."minimatch-5.1.0"
+        ];
+      })
       sources."readdirp-3.6.0"
+      sources."regexp.prototype.flags-1.4.3"
       sources."require-from-string-2.0.2"
       sources."resolve-alpn-1.2.1"
-      sources."responselike-2.0.0"
+      sources."responselike-2.0.1"
       sources."restore-cursor-3.1.0"
       sources."reusify-1.0.4"
       sources."run-async-2.4.1"
       sources."run-parallel-1.2.0"
       sources."run-parallel-limit-1.1.0"
-      sources."rxjs-7.5.5"
+      sources."rxjs-7.5.6"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.1"
@@ -123497,7 +123986,7 @@ in
       sources."shebang-regex-1.0.0"
       sources."side-channel-1.0.4"
       sources."signal-exit-3.0.7"
-      sources."simple-git-3.8.0"
+      sources."simple-git-3.11.0"
       sources."slash-3.0.0"
       sources."sort-keys-1.1.2"
       sources."sort-keys-length-1.0.1"
@@ -123510,6 +123999,8 @@ in
       sources."sprintf-kit-2.0.1"
       sources."stream-promise-3.2.0"
       sources."string-width-4.2.3"
+      sources."string.prototype.trimend-1.0.5"
+      sources."string.prototype.trimstart-1.0.5"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-6.0.1"
       sources."strip-dirs-2.1.0"
@@ -123537,13 +124028,14 @@ in
       sources."tmp-0.0.33"
       sources."to-buffer-1.1.1"
       sources."to-regex-range-5.0.1"
-      sources."token-types-4.2.0"
+      sources."token-types-4.2.1"
       sources."tr46-0.0.3"
       sources."traverse-0.6.6"
       sources."trim-repeated-1.0.0"
       sources."tslib-2.4.0"
-      sources."type-2.6.0"
+      sources."type-2.7.0"
       sources."type-fest-0.21.3"
+      sources."unbox-primitive-1.0.2"
       sources."unbzip2-stream-1.4.3"
       sources."uni-global-1.0.0"
       sources."universalify-2.0.0"
@@ -123555,6 +124047,7 @@ in
           sources."querystring-0.2.0"
         ];
       })
+      sources."util-0.12.4"
       sources."util-deprecate-1.0.2"
       sources."uuid-8.3.2"
       sources."validate-npm-package-name-3.0.0"
@@ -123562,10 +124055,12 @@ in
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
       sources."which-1.3.1"
+      sources."which-boxed-primitive-1.0.2"
+      sources."which-typed-array-1.1.8"
       sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
       sources."write-file-atomic-4.0.1"
-      sources."ws-7.5.8"
+      sources."ws-7.5.9"
       sources."xml2js-0.4.19"
       sources."xmlbuilder-9.0.7"
       sources."xtend-4.0.2"
@@ -123737,7 +124232,7 @@ in
       sources."pause-stream-0.0.11"
       sources."performance-now-2.1.0"
       sources."proxy-addr-2.0.7"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."punycode-2.1.1"
       sources."qs-6.10.3"
       sources."range-parser-1.2.1"
@@ -124224,10 +124719,10 @@ in
   snyk = nodeEnv.buildNodePackage {
     name = "snyk";
     packageName = "snyk";
-    version = "1.954.0";
+    version = "1.982.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/snyk/-/snyk-1.954.0.tgz";
-      sha512 = "QkuoCjvLCIyf1PfAyzlL8rMo99mZ5Hq6I0afGAixICg3FM0phdnlZ7t/F4NtU5iZgMPKkutWbc2oK69lAyA6eA==";
+      url = "https://registry.npmjs.org/snyk/-/snyk-1.982.0.tgz";
+      sha512 = "tba8xmMVq5difpLxrFgJuLTeOe9mAWwmAjRLqQxLytcp58vWUMFme4ZxDOybPVsGnk8vrY3pBiU6abOlwpZgaw==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -124250,7 +124745,7 @@ in
       sources."@types/component-emitter-1.2.11"
       sources."@types/cookie-0.4.1"
       sources."@types/cors-2.8.12"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."accepts-1.3.8"
       sources."base64id-2.0.0"
       sources."component-emitter-1.3.0"
@@ -124265,7 +124760,7 @@ in
       sources."negotiator-0.6.3"
       sources."object-assign-4.1.1"
       sources."socket.io-adapter-2.4.0"
-      sources."socket.io-parser-4.0.4"
+      sources."socket.io-parser-4.0.5"
       sources."vary-1.1.2"
       sources."ws-8.2.3"
     ];
@@ -124288,9 +124783,9 @@ in
       sha512 = "CIlLQsG8ffQ2B+2A/s3rXiaTXDWlEKBMya64ajzDcpDZ8bpB5dOyznWQJB+lyUn6/lJ8P+5xe4jKO60S6yLoMw==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      (sources."@babel/highlight-7.17.12" // {
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      (sources."@babel/highlight-7.18.6" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
@@ -124314,7 +124809,7 @@ in
       sources."camelcase-keys-7.0.2"
       sources."chalk-4.1.2"
       sources."cli-cursor-4.0.0"
-      sources."cli-spinners-2.6.1"
+      sources."cli-spinners-2.7.0"
       sources."clone-1.0.4"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
@@ -124364,14 +124859,14 @@ in
       sources."log-update-5.0.1"
       sources."lru-cache-6.0.0"
       sources."map-obj-4.3.0"
-      sources."meow-10.1.2"
+      sources."meow-10.1.3"
       sources."mimic-fn-2.1.0"
       sources."min-indent-1.0.1"
       sources."minimist-options-4.1.0"
       sources."ms-2.0.0"
       sources."normalize-package-data-3.0.3"
       sources."onetime-5.1.2"
-      (sources."ora-6.1.0" // {
+      (sources."ora-6.1.2" // {
         dependencies = [
           sources."chalk-5.0.1"
         ];
@@ -124444,10 +124939,10 @@ in
   sql-formatter = nodeEnv.buildNodePackage {
     name = "sql-formatter";
     packageName = "sql-formatter";
-    version = "7.0.2";
+    version = "8.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/sql-formatter/-/sql-formatter-7.0.2.tgz";
-      sha512 = "l6JVgMKT3Nzq7Jtpf43QhL26QEM5ICDMN2ARnZz5Z2l1d6e2mT/nRWAZun9kSSkrHrOAsBn20vknWFWuOlz3ww==";
+      url = "https://registry.npmjs.org/sql-formatter/-/sql-formatter-8.2.0.tgz";
+      sha512 = "5hQOSOk8jfhPkNgUmpm+9Fn2aaLWcf4vKL/dIvUN5q9rsamKHSyN/gL79xpkETNOyL+Zv5BMQfA7z9Rmz/DJJg==";
     };
     dependencies = [
       sources."argparse-2.0.1"
@@ -124505,7 +125000,7 @@ in
       sources."atomic-file-rw-0.2.2"
       sources."attach-ware-1.1.1"
       sources."available-typed-arrays-1.0.5"
-      sources."b4a-1.5.3"
+      sources."b4a-1.6.0"
       sources."bail-1.0.5"
       sources."balanced-match-1.0.2"
       (sources."base-0.11.2" // {
@@ -124909,7 +125404,7 @@ in
       sources."next-tick-1.1.0"
       sources."nice-try-1.0.5"
       sources."node-bindgen-loader-1.0.1"
-      sources."node-gyp-build-4.4.0"
+      sources."node-gyp-build-4.5.0"
       sources."non-private-ip-2.2.0"
       sources."normalize-path-2.1.1"
       sources."normalize-uri-1.1.3"
@@ -125191,7 +125686,11 @@ in
         ];
       })
       sources."snapdragon-util-3.0.1"
-      sources."socks-2.6.2"
+      (sources."socks-2.7.0" // {
+        dependencies = [
+          sources."ip-2.0.0"
+        ];
+      })
       sources."sodium-browserify-1.3.0"
       (sources."sodium-browserify-tweetnacl-0.2.6" // {
         dependencies = [
@@ -125208,17 +125707,22 @@ in
       sources."split-string-3.1.0"
       (sources."ssb-bendy-butt-0.12.5" // {
         dependencies = [
-          sources."ssb-keys-8.4.0"
+          (sources."ssb-keys-8.4.1" // {
+            dependencies = [
+              sources."ssb-uri2-2.0.2"
+            ];
+          })
+          sources."ssb-uri2-1.9.0"
         ];
       })
-      sources."ssb-bfe-3.3.0"
+      sources."ssb-bfe-3.5.0"
       sources."ssb-bfe-spec-0.6.0"
       sources."ssb-blobs-1.2.2"
       sources."ssb-caps-1.1.0"
       sources."ssb-client-4.9.0"
       (sources."ssb-config-3.4.6" // {
         dependencies = [
-          sources."ssb-keys-8.4.0"
+          sources."ssb-keys-8.4.1"
         ];
       })
       sources."ssb-db-19.2.0"
@@ -125236,11 +125740,13 @@ in
           sources."mkdirp-1.0.4"
           sources."push-stream-11.0.1"
           sources."rimraf-3.0.2"
-          (sources."ssb-keys-8.4.0" // {
+          (sources."ssb-keys-8.4.1" // {
             dependencies = [
               sources."mkdirp-0.5.6"
+              sources."ssb-uri2-2.0.2"
             ];
           })
+          sources."ssb-uri2-1.9.0"
         ];
       })
       sources."ssb-ebt-5.6.7"
@@ -125278,10 +125784,10 @@ in
       sources."ssb-replicate-1.3.3"
       sources."ssb-typescript-2.8.0"
       sources."ssb-unix-socket-1.0.0"
-      sources."ssb-uri2-1.9.0"
+      sources."ssb-uri2-2.0.2"
       (sources."ssb-validate-4.1.4" // {
         dependencies = [
-          sources."ssb-keys-8.4.0"
+          sources."ssb-keys-8.4.1"
         ];
       })
       sources."ssb-validate2-0.1.2"
@@ -125339,7 +125845,7 @@ in
       })
       sources."to-space-case-1.0.0"
       sources."to-vfile-1.0.0"
-      sources."too-hot-1.0.0"
+      sources."too-hot-1.0.1"
       sources."traverse-0.6.6"
       sources."trim-0.0.1"
       sources."trim-lines-1.1.3"
@@ -125389,7 +125895,7 @@ in
       sources."word-wrap-1.2.3"
       sources."wrap-fn-0.1.5"
       sources."wrappy-1.0.2"
-      sources."ws-7.5.8"
+      sources."ws-7.5.9"
       sources."xtend-4.0.2"
       sources."zerr-1.0.4"
     ];
@@ -125489,7 +125995,8 @@ in
       sources."async-1.5.2"
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
-      (sources."aws-sdk-2.1158.0" // {
+      sources."available-typed-arrays-1.0.5"
+      (sources."aws-sdk-2.1188.0" // {
         dependencies = [
           sources."uuid-8.0.0"
         ];
@@ -125555,29 +126062,26 @@ in
       (sources."compression-1.7.4" // {
         dependencies = [
           sources."bytes-3.0.0"
+          sources."safe-buffer-5.1.2"
         ];
       })
       sources."concat-map-0.0.1"
       (sources."concat-stream-1.6.2" // {
         dependencies = [
           sources."readable-stream-2.3.7"
+          sources."safe-buffer-5.1.2"
           sources."string_decoder-1.1.1"
         ];
       })
       sources."config-1.31.0"
       sources."constantinople-3.1.2"
-      (sources."content-disposition-0.5.4" // {
-        dependencies = [
-          sources."safe-buffer-5.2.1"
-        ];
-      })
+      sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
       sources."convert-to-ecmascript-compatible-varname-0.1.5"
       sources."cookie-0.4.0"
       (sources."cookie-session-2.0.0" // {
         dependencies = [
           sources."debug-3.2.7"
-          sources."safe-buffer-5.2.1"
         ];
       })
       sources."cookie-signature-1.0.6"
@@ -125611,6 +126115,7 @@ in
       })
       sources."decamelize-1.2.0"
       sources."deep-extend-0.4.2"
+      sources."define-properties-1.1.4"
       sources."delayed-stream-1.0.0"
       sources."depd-2.0.0"
       sources."deref-0.6.4"
@@ -125630,7 +126135,7 @@ in
       sources."ejs-0.8.8"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
-      (sources."engine.io-3.5.0" // {
+      (sources."engine.io-3.6.0" // {
         dependencies = [
           sources."cookie-0.4.2"
           sources."debug-4.1.1"
@@ -125646,6 +126151,8 @@ in
       })
       sources."engine.io-parser-2.2.1"
       sources."error-ex-1.3.2"
+      sources."es-abstract-1.20.1"
+      sources."es-to-primitive-1.2.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
       sources."esprima-2.0.0"
@@ -125663,7 +126170,6 @@ in
           sources."cookie-0.5.0"
           sources."proxy-addr-2.0.7"
           sources."qs-6.10.3"
-          sources."safe-buffer-5.2.1"
         ];
       })
       (sources."express-validator-2.21.0" // {
@@ -125683,6 +126189,7 @@ in
       sources."finalhandler-1.2.0"
       sources."find-up-3.0.0"
       sources."follow-redirects-1.15.1"
+      sources."for-each-0.3.3"
       sources."forever-agent-0.6.1"
       sources."form-data-2.1.4"
       sources."formidable-1.2.6"
@@ -125690,11 +126197,14 @@ in
       sources."fresh-0.5.2"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
+      sources."function.prototype.name-1.1.5"
+      sources."functions-have-names-1.2.3"
       sources."generate-function-2.3.1"
       sources."generate-object-property-1.2.0"
       sources."get-caller-file-1.0.3"
       sources."get-intrinsic-1.1.2"
       sources."get-stream-4.1.0"
+      sources."get-symbol-description-1.0.0"
       (sources."getpass-0.1.7" // {
         dependencies = [
           sources."assert-plus-1.0.0"
@@ -125712,12 +126222,14 @@ in
       sources."har-validator-2.0.6"
       sources."has-1.0.3"
       sources."has-ansi-2.0.0"
+      sources."has-bigints-1.0.2"
       (sources."has-binary2-1.0.3" // {
         dependencies = [
           sources."isarray-2.0.1"
         ];
       })
       sources."has-cors-1.1.0"
+      sources."has-property-descriptors-1.0.0"
       sources."has-symbols-1.0.3"
       sources."has-tostringtag-1.0.0"
       sources."hawk-3.1.3"
@@ -125744,25 +126256,39 @@ in
       sources."indexof-0.0.1"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
+      sources."internal-slot-1.0.3"
       sources."invert-kv-2.0.0"
       sources."ipaddr.js-1.9.1"
+      sources."is-arguments-1.1.1"
       sources."is-arrayish-0.2.1"
+      sources."is-bigint-1.0.4"
+      sources."is-boolean-object-1.1.2"
       sources."is-buffer-1.1.6"
+      sources."is-callable-1.2.4"
       sources."is-core-module-2.9.0"
+      sources."is-date-object-1.0.5"
       (sources."is-expression-3.0.0" // {
         dependencies = [
           sources."acorn-4.0.13"
         ];
       })
       sources."is-fullwidth-code-point-1.0.0"
+      sources."is-generator-function-1.0.10"
       sources."is-my-ip-valid-1.0.1"
       sources."is-my-json-valid-2.20.6"
+      sources."is-negative-zero-2.0.2"
+      sources."is-number-object-1.0.7"
       sources."is-promise-2.2.2"
       sources."is-property-1.0.2"
       sources."is-regex-1.1.4"
+      sources."is-shared-array-buffer-1.0.2"
       sources."is-stream-1.1.0"
+      sources."is-string-1.0.7"
+      sources."is-symbol-1.0.4"
+      sources."is-typed-array-1.1.9"
       sources."is-typedarray-1.0.0"
       sources."is-utf8-0.2.1"
+      sources."is-weakref-1.0.2"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."isstream-0.1.2"
@@ -125785,7 +126311,7 @@ in
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."json5-1.0.1"
-      sources."jsonpointer-5.0.0"
+      sources."jsonpointer-5.0.1"
       sources."jspath-0.3.4"
       (sources."jsprim-1.4.2" // {
         dependencies = [
@@ -125860,7 +126386,7 @@ in
       sources."minimist-1.2.6"
       sources."minitouch-prebuilt-1.2.0"
       sources."mkdirp-0.5.6"
-      sources."moment-2.29.3"
+      sources."moment-2.29.4"
       sources."ms-2.1.3"
       sources."multer-1.4.4"
       sources."mustache-2.3.2"
@@ -125882,12 +126408,14 @@ in
       sources."object-assign-4.1.1"
       sources."object-hash-0.3.0"
       sources."object-inspect-1.12.2"
+      sources."object-keys-1.1.1"
+      sources."object.assign-4.1.2"
       sources."on-finished-2.4.1"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
       (sources."openid-2.0.10" // {
         dependencies = [
-          sources."qs-6.10.5"
+          sources."qs-6.11.0"
         ];
       })
       sources."options-0.0.6"
@@ -125939,7 +126467,7 @@ in
         ];
       })
       sources."pseudomap-1.0.2"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."pug-2.0.4"
       sources."pug-attrs-2.0.4"
       sources."pug-code-gen-2.0.3"
@@ -125974,6 +126502,7 @@ in
         ];
       })
       sources."regenerator-runtime-0.11.1"
+      sources."regexp.prototype.flags-1.4.3"
       sources."repeat-string-1.6.1"
       (sources."request-2.88.2" // {
         dependencies = [
@@ -126006,7 +126535,7 @@ in
           sources."lodash-3.10.1"
         ];
       })
-      sources."safe-buffer-5.1.2"
+      sources."safe-buffer-5.2.1"
       sources."safe-json-stringify-1.2.0"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.1"
@@ -126027,13 +126556,13 @@ in
       sources."signal-exit-3.0.7"
       sources."slash-1.0.0"
       sources."sntp-1.0.9"
-      (sources."socket.io-2.4.1" // {
+      (sources."socket.io-2.5.0" // {
         dependencies = [
           sources."debug-4.1.1"
         ];
       })
       sources."socket.io-adapter-1.1.2"
-      (sources."socket.io-client-2.4.0" // {
+      (sources."socket.io-client-2.5.0" // {
         dependencies = [
           sources."debug-3.1.0"
           sources."isarray-2.0.1"
@@ -126080,6 +126609,8 @@ in
           sources."strip-ansi-4.0.0"
         ];
       })
+      sources."string.prototype.trimend-1.0.5"
+      sources."string.prototype.trimstart-1.0.5"
       sources."string_decoder-0.10.31"
       sources."stringstream-0.0.6"
       sources."strip-ansi-3.0.1"
@@ -126097,9 +126628,8 @@ in
           sources."lru-cache-6.0.0"
           sources."mime-2.6.0"
           sources."ms-2.1.2"
-          sources."qs-6.10.5"
+          sources."qs-6.11.0"
           sources."readable-stream-3.6.0"
-          sources."safe-buffer-5.2.1"
           sources."semver-7.3.7"
           sources."string_decoder-1.3.0"
           sources."yallist-4.0.0"
@@ -126114,7 +126644,7 @@ in
           sources."esprima-4.0.1"
           sources."js-yaml-3.14.1"
           sources."lodash-3.10.1"
-          sources."qs-6.10.5"
+          sources."qs-6.11.0"
         ];
       })
       sources."swagger-schema-official-2.0.0-bab6bed"
@@ -126163,6 +126693,7 @@ in
       sources."uid-safe-2.1.5"
       sources."uid2-0.0.4"
       sources."ultron-1.0.2"
+      sources."unbox-primitive-1.0.2"
       sources."unpipe-1.0.0"
       (sources."uri-js-4.4.1" // {
         dependencies = [
@@ -126176,6 +126707,7 @@ in
       })
       sources."url-join-1.1.0"
       sources."utf-8-validate-1.2.2"
+      sources."util-0.12.4"
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
       sources."uuid-3.4.0"
@@ -126195,7 +126727,9 @@ in
       })
       sources."void-elements-2.0.1"
       sources."which-1.3.1"
+      sources."which-boxed-primitive-1.0.2"
       sources."which-module-2.0.0"
+      sources."which-typed-array-1.1.8"
       sources."window-size-0.1.0"
       (sources."winston-2.4.6" // {
         dependencies = [
@@ -126212,6 +126746,7 @@ in
       sources."wrappy-1.0.2"
       (sources."ws-3.3.3" // {
         dependencies = [
+          sources."safe-buffer-5.1.2"
           sources."ultron-1.1.1"
         ];
       })
@@ -126285,10 +126820,10 @@ in
       sha512 = "RdAkJdPiLqHawCSnu21nE27MjNXaVd4WcOHA4vK5GtIGjScfhNnaOuWR2wWdfKFAvcWQPOYe311iveiVKSmwsA==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/highlight-7.17.12"
-      sources."@csstools/selector-specificity-2.0.1"
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      sources."@babel/highlight-7.18.6"
+      sources."@csstools/selector-specificity-2.0.2"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
@@ -126334,13 +126869,13 @@ in
       sources."execall-2.0.0"
       sources."fast-deep-equal-3.1.3"
       sources."fast-glob-3.2.11"
-      sources."fastest-levenshtein-1.0.12"
+      sources."fastest-levenshtein-1.0.16"
       sources."fastq-1.13.0"
       sources."file-entry-cache-6.0.1"
       sources."fill-range-7.0.1"
       sources."find-up-4.1.0"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.2.5"
+      sources."flatted-3.2.6"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."get-stdin-8.0.0"
@@ -126587,7 +127122,7 @@ in
       sources."path-is-absolute-1.0.1"
       sources."performance-now-2.1.0"
       sources."progress-1.1.8"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.3"
       sources."read-1.0.5"
@@ -126632,19 +127167,19 @@ in
   svelte-check = nodeEnv.buildNodePackage {
     name = "svelte-check";
     packageName = "svelte-check";
-    version = "2.7.2";
+    version = "2.8.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/svelte-check/-/svelte-check-2.7.2.tgz";
-      sha512 = "TuVX4YtXHbRM8sVuK5Jk+mKWdm3f0d6hvAC6qCTp8yUszGZewpEBCo2V5fRWZCiz+0J4OCiDHOS+DFMxv39rJA==";
+      url = "https://registry.npmjs.org/svelte-check/-/svelte-check-2.8.0.tgz";
+      sha512 = "HRL66BxffMAZusqe5I5k26mRWQ+BobGd9Rxm3onh7ZVu0nTk8YTKJ9vu3LVPjUGLU9IX7zS+jmwPVhJYdXJ8vg==";
     };
     dependencies = [
-      sources."@jridgewell/resolve-uri-3.0.7"
-      sources."@jridgewell/sourcemap-codec-1.4.13"
-      sources."@jridgewell/trace-mapping-0.3.13"
+      sources."@jridgewell/resolve-uri-3.1.0"
+      sources."@jridgewell/sourcemap-codec-1.4.14"
+      sources."@jridgewell/trace-mapping-0.3.14"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/pug-2.0.6"
       sources."@types/sass-1.43.1"
       sources."anymatch-3.1.2"
@@ -126716,22 +127251,22 @@ in
   svelte-language-server = nodeEnv.buildNodePackage {
     name = "svelte-language-server";
     packageName = "svelte-language-server";
-    version = "0.14.28";
+    version = "0.14.31";
     src = fetchurl {
-      url = "https://registry.npmjs.org/svelte-language-server/-/svelte-language-server-0.14.28.tgz";
-      sha512 = "6fFREzcT9Q+jBu+tuRdtx0CuaKDnZUnDrFf3CJRXwnAKCqcz9mIZlfKxgEkxd546RrOB241iLT0juRXiGjH6vg==";
+      url = "https://registry.npmjs.org/svelte-language-server/-/svelte-language-server-0.14.31.tgz";
+      sha512 = "vLjCA331i/f9iwK01WuD1C6UGfVRYCM93uNOOK54AQ8cRdnhOOfC6ptAKqd+9KQ7yWuDnrUJONMch/tQ457yEQ==";
     };
     dependencies = [
       sources."@emmetio/abbreviation-2.2.3"
       sources."@emmetio/css-abbreviation-2.1.4"
       sources."@emmetio/scanner-1.0.0"
-      sources."@jridgewell/resolve-uri-3.0.7"
-      sources."@jridgewell/sourcemap-codec-1.4.13"
-      sources."@jridgewell/trace-mapping-0.3.13"
+      sources."@jridgewell/resolve-uri-3.1.0"
+      sources."@jridgewell/sourcemap-codec-1.4.14"
+      sources."@jridgewell/trace-mapping-0.3.14"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/pug-2.0.6"
       sources."@types/sass-1.43.1"
       sources."anymatch-3.1.2"
@@ -126788,9 +127323,9 @@ in
       sources."sorcery-0.10.0"
       sources."sourcemap-codec-1.4.8"
       sources."strip-indent-3.0.0"
-      sources."svelte-3.48.0"
+      sources."svelte-3.49.0"
       sources."svelte-preprocess-4.10.7"
-      sources."svelte2tsx-0.5.10"
+      sources."svelte2tsx-0.5.13"
       sources."to-regex-range-5.0.1"
       sources."tslib-2.4.0"
       sources."typescript-4.7.4"
@@ -127010,7 +127545,7 @@ in
       })
       sources."diff-1.4.0"
       sources."dot-prop-4.2.1"
-      sources."duplexer3-0.1.4"
+      sources."duplexer3-0.1.5"
       sources."ee-first-1.1.1"
       sources."encodeurl-1.0.2"
       sources."escape-html-1.0.3"
@@ -127286,7 +127821,7 @@ in
           sources."lru-cache-6.0.0"
           sources."mime-2.6.0"
           sources."ms-2.1.2"
-          sources."qs-6.10.5"
+          sources."qs-6.11.0"
           sources."readable-stream-3.6.0"
           sources."semver-7.3.7"
           sources."superagent-7.1.6"
@@ -127468,7 +128003,7 @@ in
       sources."truncate-utf8-bytes-1.0.2"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
-      sources."uglify-js-3.16.1"
+      sources."uglify-js-3.16.3"
       sources."undefsafe-2.0.5"
       (sources."union-value-1.0.1" // {
         dependencies = [
@@ -127528,10 +128063,10 @@ in
   tailwindcss = nodeEnv.buildNodePackage {
     name = "tailwindcss";
     packageName = "tailwindcss";
-    version = "3.1.3";
+    version = "3.1.7";
     src = fetchurl {
-      url = "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.1.3.tgz";
-      sha512 = "PRJNYdSIthrb8hjmAyymEyEN8Yo61TMXpzyFUpxULeeyRn3Y3gpvuw6FlRTKrJvK7thSGKRnhT36VovVx4WeMA==";
+      url = "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.1.7.tgz";
+      sha512 = "r7mgumZ3k0InfVPpGWcX8X/Ut4xBfv+1O/+C73ar/m01LxGVzWvPxF/w6xIUPEztrCoz7axfx0SMdh8FH8ZvRQ==";
     };
     dependencies = [
       sources."@nodelib/fs.scandir-2.1.5"
@@ -127572,7 +128107,7 @@ in
       sources."is-extglob-2.1.1"
       sources."is-glob-4.0.3"
       sources."is-number-7.0.0"
-      sources."lilconfig-2.0.5"
+      sources."lilconfig-2.0.6"
       sources."merge2-1.4.1"
       sources."micromatch-4.0.5"
       sources."minimist-1.2.6"
@@ -127682,7 +128217,7 @@ in
       sources."mime-types-2.1.35"
       sources."minimist-1.2.6"
       sources."module-alias-2.2.2"
-      sources."moment-2.29.3"
+      sources."moment-2.29.4"
       sources."ms-2.1.2"
       sources."node-fetch-2.6.7"
       sources."oauth-sign-0.9.0"
@@ -127692,7 +128227,7 @@ in
       sources."path-exists-3.0.0"
       sources."performance-now-2.1.0"
       sources."prism-media-0.0.4"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.3"
       sources."ramda-0.25.0"
@@ -127713,7 +128248,7 @@ in
       })
       sources."string-width-3.1.0"
       sources."strip-ansi-5.2.0"
-      sources."telegraf-3.39.0"
+      sources."telegraf-3.40.0"
       sources."tough-cookie-2.5.0"
       sources."tr46-0.0.3"
       sources."tunnel-agent-0.6.0"
@@ -127750,7 +128285,7 @@ in
     };
     dependencies = [
       sources."node-addon-api-4.3.0"
-      sources."node-gyp-build-4.4.0"
+      sources."node-gyp-build-4.5.0"
       sources."q-1.5.1"
       sources."usb-1.9.2"
     ];
@@ -127816,19 +128351,19 @@ in
   terser = nodeEnv.buildNodePackage {
     name = "terser";
     packageName = "terser";
-    version = "5.14.1";
+    version = "5.14.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/terser/-/terser-5.14.1.tgz";
-      sha512 = "+ahUAE+iheqBTDxXhTisdA8hgvbEG1hHOQ9xmNjeUJSoi6DU/gMrKNcfZjHkyY6Alnuyc+ikYJaxxfHkT3+WuQ==";
+      url = "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz";
+      sha512 = "oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==";
     };
     dependencies = [
-      sources."@jridgewell/gen-mapping-0.3.1"
-      sources."@jridgewell/resolve-uri-3.0.7"
-      sources."@jridgewell/set-array-1.1.1"
+      sources."@jridgewell/gen-mapping-0.3.2"
+      sources."@jridgewell/resolve-uri-3.1.0"
+      sources."@jridgewell/set-array-1.1.2"
       sources."@jridgewell/source-map-0.3.2"
-      sources."@jridgewell/sourcemap-codec-1.4.13"
-      sources."@jridgewell/trace-mapping-0.3.13"
-      sources."acorn-8.7.1"
+      sources."@jridgewell/sourcemap-codec-1.4.14"
+      sources."@jridgewell/trace-mapping-0.3.14"
+      sources."acorn-8.8.0"
       sources."buffer-from-1.1.2"
       sources."commander-2.20.3"
       sources."source-map-0.6.1"
@@ -127847,29 +128382,29 @@ in
   textlint = nodeEnv.buildNodePackage {
     name = "textlint";
     packageName = "textlint";
-    version = "12.1.1";
+    version = "12.2.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/textlint/-/textlint-12.1.1.tgz";
-      sha512 = "AoE/pPL+6e/7hHOxwxL5oBTYIsG6gjrMP77VQZVYxXYfTDduwRlqhQUUrVd32DaLQTm7z3/lCnY46uFkmK06fA==";
+      url = "https://registry.npmjs.org/textlint/-/textlint-12.2.1.tgz";
+      sha512 = "e6xKNLbTt10KbnG0x3eVE7l8A7uOC9bj0Hc8cWk6VoLffjrdw4o8kJjWVIspNzfb0kUEs2dBKgXZo0ob4tMWAg==";
     };
     dependencies = [
       sources."@azu/format-text-1.0.1"
       sources."@azu/style-format-1.0.0"
-      sources."@textlint/ast-node-types-12.1.1"
-      sources."@textlint/ast-tester-12.1.1"
-      sources."@textlint/ast-traverse-12.1.1"
-      sources."@textlint/feature-flag-12.1.1"
-      sources."@textlint/fixer-formatter-12.1.1"
-      sources."@textlint/kernel-12.1.1"
-      sources."@textlint/linter-formatter-12.1.1"
-      sources."@textlint/markdown-to-ast-12.1.1"
-      sources."@textlint/module-interop-12.1.1"
-      sources."@textlint/source-code-fixer-12.1.1"
-      sources."@textlint/text-to-ast-12.1.1"
-      sources."@textlint/textlint-plugin-markdown-12.1.1"
-      sources."@textlint/textlint-plugin-text-12.1.1"
-      sources."@textlint/types-12.1.1"
-      sources."@textlint/utils-12.1.1"
+      sources."@textlint/ast-node-types-12.2.1"
+      sources."@textlint/ast-tester-12.2.1"
+      sources."@textlint/ast-traverse-12.2.1"
+      sources."@textlint/feature-flag-12.2.1"
+      sources."@textlint/fixer-formatter-12.2.1"
+      sources."@textlint/kernel-12.2.1"
+      sources."@textlint/linter-formatter-12.2.1"
+      sources."@textlint/markdown-to-ast-12.2.1"
+      sources."@textlint/module-interop-12.2.1"
+      sources."@textlint/source-code-fixer-12.2.1"
+      sources."@textlint/text-to-ast-12.2.1"
+      sources."@textlint/textlint-plugin-markdown-12.2.1"
+      sources."@textlint/textlint-plugin-text-12.2.1"
+      sources."@textlint/types-12.2.1"
+      sources."@textlint/utils-12.2.1"
       sources."@types/mdast-3.0.10"
       sources."@types/unist-2.0.6"
       sources."ajv-8.11.0"
@@ -128126,9 +128661,9 @@ in
       sha512 = "z/Xo1WHxAn7eueUbRLXoMNew+R3dzGENPG/yiCt/KT2WgAfRuQ7GeF855kLcnCCqdTnl6W7sYq8TKy+/DLpiqQ==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/highlight-7.17.12"
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      sources."@babel/highlight-7.18.6"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@types/hast-2.3.4"
@@ -128177,7 +128712,7 @@ in
       sources."character-reference-invalid-1.1.4"
       sources."ci-info-2.0.0"
       sources."cli-boxes-2.2.1"
-      sources."clone-response-1.0.2"
+      sources."clone-response-1.0.3"
       sources."collapse-white-space-1.0.6"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
@@ -128205,7 +128740,7 @@ in
       sources."defer-to-connect-1.1.3"
       sources."dot-prop-5.3.0"
       sources."duplexer-0.1.2"
-      sources."duplexer3-0.1.4"
+      sources."duplexer3-0.1.5"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."error-ex-1.3.2"
@@ -128564,29 +129099,269 @@ in
   textlint-rule-en-max-word-count = nodeEnv.buildNodePackage {
     name = "textlint-rule-en-max-word-count";
     packageName = "textlint-rule-en-max-word-count";
-    version = "1.1.0";
+    version = "2.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/textlint-rule-en-max-word-count/-/textlint-rule-en-max-word-count-1.1.0.tgz";
-      sha512 = "nDm8b6cN+62P6mdJ81vHJ0K6UYu5oQkkiHhM9XicMRxBoAP6tml4BqeeRtq84UeBfXSf9QcRjI3D5ob1oN8iXA==";
+      url = "https://registry.npmjs.org/textlint-rule-en-max-word-count/-/textlint-rule-en-max-word-count-2.0.0.tgz";
+      sha512 = "9V9kDxFR7cFZF5ZnjRFqt9gsQSXWuXlazSOygfXWw0ftr/RkR4y9bO5T1EaO6HLb8nT+/OEAa5pCWRIVSCwgAA==";
     };
     dependencies = [
+      sources."@azu/format-text-1.0.1"
+      sources."@azu/style-format-1.0.0"
+      sources."@textlint/ast-node-types-4.4.3"
+      (sources."@textlint/ast-tester-12.2.1" // {
+        dependencies = [
+          sources."@textlint/ast-node-types-12.2.1"
+        ];
+      })
+      (sources."@textlint/ast-traverse-12.2.1" // {
+        dependencies = [
+          sources."@textlint/ast-node-types-12.2.1"
+        ];
+      })
+      sources."@textlint/feature-flag-12.2.1"
+      sources."@textlint/fixer-formatter-12.2.1"
+      (sources."@textlint/kernel-12.2.1" // {
+        dependencies = [
+          sources."@textlint/ast-node-types-12.2.1"
+        ];
+      })
+      sources."@textlint/linter-formatter-12.2.1"
+      (sources."@textlint/markdown-to-ast-12.2.1" // {
+        dependencies = [
+          sources."@textlint/ast-node-types-12.2.1"
+        ];
+      })
+      sources."@textlint/module-interop-12.2.1"
+      sources."@textlint/source-code-fixer-12.2.1"
+      (sources."@textlint/text-to-ast-12.2.1" // {
+        dependencies = [
+          sources."@textlint/ast-node-types-12.2.1"
+        ];
+      })
+      sources."@textlint/textlint-plugin-markdown-12.2.1"
+      sources."@textlint/textlint-plugin-text-12.2.1"
+      (sources."@textlint/types-12.2.1" // {
+        dependencies = [
+          sources."@textlint/ast-node-types-12.2.1"
+        ];
+      })
+      sources."@textlint/utils-12.2.1"
+      sources."@types/mdast-3.0.10"
+      sources."@types/structured-source-3.0.0"
+      sources."@types/unist-2.0.6"
+      sources."ajv-8.11.0"
+      sources."ansi-regex-5.0.1"
+      sources."ansi-styles-4.3.0"
+      sources."argparse-1.0.10"
+      sources."astral-regex-2.0.0"
+      sources."bail-1.0.5"
+      sources."balanced-match-1.0.2"
       sources."boundary-1.0.1"
+      sources."brace-expansion-1.1.11"
       sources."buffer-from-1.1.2"
-      sources."concat-stream-1.6.2"
-      sources."core-util-is-1.0.3"
+      sources."call-bind-1.0.2"
+      sources."ccount-1.1.0"
+      sources."chalk-4.1.2"
+      sources."character-entities-1.2.4"
+      sources."character-entities-legacy-1.1.4"
+      sources."character-reference-invalid-1.1.4"
+      sources."charenc-0.0.2"
+      sources."color-convert-2.0.1"
+      sources."color-name-1.1.4"
+      sources."comma-separated-tokens-1.0.8"
+      sources."concat-map-0.0.1"
+      sources."concat-stream-2.0.0"
+      sources."crypt-0.0.2"
+      sources."debug-4.3.4"
+      sources."deep-equal-1.1.1"
+      sources."deep-is-0.1.4"
+      sources."define-properties-1.1.4"
+      sources."diff-4.0.2"
+      sources."emoji-regex-8.0.0"
+      sources."error-ex-1.3.2"
+      sources."escape-string-regexp-4.0.0"
+      sources."esprima-4.0.1"
+      sources."extend-3.0.2"
+      sources."fast-deep-equal-3.1.3"
+      sources."fast-levenshtein-2.0.6"
+      sources."fault-1.0.4"
+      sources."file-entry-cache-5.0.1"
+      sources."find-up-2.1.0"
+      sources."flat-cache-2.0.1"
+      sources."flatted-2.0.2"
+      sources."format-0.2.2"
+      sources."fs.realpath-1.0.0"
+      sources."function-bind-1.1.1"
+      sources."functions-have-names-1.2.3"
+      sources."get-intrinsic-1.1.2"
+      sources."get-stdin-5.0.1"
+      sources."glob-7.2.3"
+      sources."graceful-fs-4.2.10"
+      sources."has-1.0.3"
+      sources."has-flag-4.0.0"
+      sources."has-property-descriptors-1.0.0"
+      sources."has-symbols-1.0.3"
+      sources."has-tostringtag-1.0.0"
+      sources."hast-util-from-parse5-5.0.3"
+      sources."hast-util-parse-selector-2.2.5"
+      sources."hastscript-5.1.2"
+      sources."hosted-git-info-2.8.9"
+      sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."isarray-1.0.0"
+      sources."is-alphabetical-1.0.4"
+      sources."is-alphanumerical-1.0.4"
+      sources."is-arguments-1.1.1"
+      sources."is-arrayish-0.2.1"
+      sources."is-buffer-2.0.5"
+      sources."is-core-module-2.9.0"
+      sources."is-date-object-1.0.5"
+      sources."is-decimal-1.0.4"
+      sources."is-file-1.0.0"
+      sources."is-fullwidth-code-point-3.0.0"
+      sources."is-hexadecimal-1.0.4"
+      sources."is-plain-obj-2.1.0"
+      sources."is-regex-1.1.4"
+      sources."is-utf8-0.2.1"
+      sources."js-yaml-3.14.1"
+      sources."json-parse-better-errors-1.0.2"
+      sources."json-schema-traverse-1.0.0"
+      sources."json5-2.2.1"
+      sources."levn-0.4.1"
+      sources."load-json-file-1.1.0"
+      sources."locate-path-2.0.0"
+      sources."lodash.truncate-4.4.2"
+      sources."longest-streak-2.0.4"
+      sources."markdown-table-2.0.0"
+      (sources."md5-2.3.0" // {
+        dependencies = [
+          sources."is-buffer-1.1.6"
+        ];
+      })
+      sources."mdast-util-find-and-replace-1.1.1"
+      sources."mdast-util-footnote-0.1.7"
+      sources."mdast-util-from-markdown-0.8.5"
+      sources."mdast-util-frontmatter-0.2.0"
+      sources."mdast-util-gfm-0.1.2"
+      sources."mdast-util-gfm-autolink-literal-0.1.3"
+      sources."mdast-util-gfm-strikethrough-0.2.3"
+      sources."mdast-util-gfm-table-0.1.6"
+      sources."mdast-util-gfm-task-list-item-0.1.6"
+      sources."mdast-util-to-markdown-0.6.5"
+      sources."mdast-util-to-string-2.0.0"
+      sources."micromark-2.11.4"
+      sources."micromark-extension-footnote-0.3.2"
+      sources."micromark-extension-frontmatter-0.2.2"
+      sources."micromark-extension-gfm-0.3.3"
+      sources."micromark-extension-gfm-autolink-literal-0.5.7"
+      sources."micromark-extension-gfm-strikethrough-0.6.5"
+      sources."micromark-extension-gfm-table-0.4.3"
+      sources."micromark-extension-gfm-tagfilter-0.3.0"
+      sources."micromark-extension-gfm-task-list-item-0.3.3"
+      sources."minimatch-3.1.2"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
+      sources."ms-2.1.2"
+      sources."normalize-package-data-2.5.0"
       sources."object-assign-4.1.1"
-      sources."process-nextick-args-2.0.1"
-      sources."readable-stream-2.3.7"
-      sources."safe-buffer-5.1.2"
-      sources."sentence-splitter-2.3.2"
-      sources."string_decoder-1.1.1"
+      sources."object-is-1.1.5"
+      sources."object-keys-1.1.1"
+      sources."object_values-0.1.2"
+      sources."once-1.4.0"
+      sources."optionator-0.9.1"
+      sources."p-limit-1.3.0"
+      sources."p-locate-2.0.0"
+      sources."p-try-1.0.0"
+      sources."parse-entities-2.0.0"
+      sources."parse-json-2.2.0"
+      sources."parse5-5.1.1"
+      sources."path-exists-3.0.0"
+      sources."path-is-absolute-1.0.1"
+      sources."path-parse-1.0.7"
+      sources."path-to-glob-pattern-1.0.2"
+      sources."path-type-1.1.0"
+      sources."pify-2.3.0"
+      sources."pinkie-2.0.4"
+      sources."pinkie-promise-2.0.1"
+      sources."pluralize-2.0.0"
+      sources."prelude-ls-1.2.1"
+      sources."property-information-5.6.0"
+      sources."punycode-2.1.1"
+      sources."rc-config-loader-3.0.0"
+      sources."read-pkg-1.1.0"
+      (sources."read-pkg-up-3.0.0" // {
+        dependencies = [
+          sources."load-json-file-4.0.0"
+          sources."parse-json-4.0.0"
+          sources."path-type-3.0.0"
+          sources."pify-3.0.0"
+          sources."read-pkg-3.0.0"
+          sources."strip-bom-3.0.0"
+        ];
+      })
+      sources."readable-stream-3.6.0"
+      sources."regexp.prototype.flags-1.4.3"
+      sources."rehype-parse-6.0.2"
+      sources."remark-footnotes-3.0.0"
+      sources."remark-frontmatter-3.0.0"
+      sources."remark-gfm-1.0.0"
+      sources."remark-parse-9.0.0"
+      sources."repeat-string-1.6.1"
+      sources."require-from-string-2.0.2"
+      sources."resolve-1.22.1"
+      sources."rimraf-2.6.3"
+      sources."safe-buffer-5.2.1"
+      sources."semver-5.7.1"
+      sources."sentence-splitter-3.2.2"
+      sources."slice-ansi-4.0.0"
+      sources."space-separated-tokens-1.1.5"
+      sources."spdx-correct-3.1.1"
+      sources."spdx-exceptions-2.3.0"
+      sources."spdx-expression-parse-3.0.1"
+      sources."spdx-license-ids-3.0.11"
+      sources."sprintf-js-1.0.3"
+      sources."string-width-4.2.3"
+      sources."string_decoder-1.3.0"
+      sources."strip-ansi-6.0.1"
+      sources."strip-bom-2.0.0"
       sources."structured-source-3.0.2"
-      sources."textlint-util-to-string-2.1.1"
+      sources."supports-color-7.2.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
+      sources."table-6.8.0"
+      sources."text-table-0.2.0"
+      (sources."textlint-12.2.1" // {
+        dependencies = [
+          sources."@textlint/ast-node-types-12.2.1"
+        ];
+      })
+      sources."textlint-tester-12.2.1"
+      (sources."textlint-util-to-string-3.1.1" // {
+        dependencies = [
+          sources."unified-8.4.2"
+        ];
+      })
+      sources."traverse-0.6.6"
+      sources."trough-1.0.5"
+      sources."try-resolve-1.0.1"
+      sources."type-check-0.4.0"
       sources."typedarray-0.0.6"
+      sources."unified-9.2.2"
+      sources."unique-concat-0.2.2"
+      sources."unist-util-is-4.1.0"
       sources."unist-util-map-1.0.5"
+      sources."unist-util-stringify-position-2.0.3"
+      sources."unist-util-visit-parents-3.1.1"
+      sources."uri-js-4.4.1"
       sources."util-deprecate-1.0.2"
+      sources."validate-npm-package-license-3.0.4"
+      sources."vfile-4.2.1"
+      sources."vfile-message-2.0.4"
+      sources."web-namespaces-1.1.4"
+      sources."word-wrap-1.2.3"
+      sources."wrappy-1.0.2"
+      sources."write-1.0.3"
+      sources."xml-escape-1.1.0"
+      sources."xtend-4.0.2"
+      sources."zwitch-1.0.5"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -128787,10 +129562,10 @@ in
   textlint-rule-terminology = nodeEnv.buildNodePackage {
     name = "textlint-rule-terminology";
     packageName = "textlint-rule-terminology";
-    version = "3.0.1";
+    version = "3.0.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/textlint-rule-terminology/-/textlint-rule-terminology-3.0.1.tgz";
-      sha512 = "jk2SGGep+XBckhIm9u6CG7NeMZiosJRPfoh7ISlCZizj/JGNk/zheDYGVXwKbFu20SxsguyUIpTF1z/d1Q+NeQ==";
+      url = "https://registry.npmjs.org/textlint-rule-terminology/-/textlint-rule-terminology-3.0.2.tgz";
+      sha512 = "PgHg7wkf0gWbihSL+GZF+rG8GJX01azQXIUtWZ4UniDs5GwcwXpb98Dts8jrFQ+c9UeLb1u2HtBgjTmlWkWlQw==";
     };
     dependencies = [
       sources."@types/unist-2.0.6"
@@ -128926,7 +129701,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."abstract-logging-2.0.1"
@@ -128965,7 +129740,7 @@ in
       sources."cheerio-1.0.0-rc.10"
       sources."cheerio-select-1.6.0"
       sources."chownr-2.0.0"
-      sources."clone-response-1.0.2"
+      sources."clone-response-1.0.3"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."color-support-1.1.3"
@@ -128978,7 +129753,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.23.2"
+      sources."core-js-3.24.1"
       sources."core-util-is-1.0.2"
       sources."cors-2.8.5"
       sources."css-select-4.3.0"
@@ -129065,7 +129840,7 @@ in
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
       sources."internal-slot-1.0.3"
-      sources."ip-1.1.8"
+      sources."ip-2.0.0"
       sources."ipaddr.js-1.9.1"
       (sources."irc-framework-4.12.1" // {
         dependencies = [
@@ -129092,7 +129867,7 @@ in
       sources."json-buffer-3.0.1"
       sources."jwa-2.0.0"
       sources."jws-4.0.0"
-      sources."keyv-4.3.1"
+      sources."keyv-4.3.3"
       sources."ldap-filter-0.3.3"
       sources."ldapjs-2.3.1"
       sources."linkify-it-3.0.3"
@@ -129115,7 +129890,7 @@ in
       sources."minimalistic-assert-1.0.1"
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
-      sources."minipass-3.3.3"
+      sources."minipass-3.3.5"
       sources."minizlib-2.1.2"
       sources."mkdirp-1.0.4"
       sources."ms-2.0.0"
@@ -129162,7 +129937,7 @@ in
       sources."registry-auth-token-4.2.2"
       sources."registry-url-5.1.0"
       sources."resolve-alpn-1.2.1"
-      sources."responselike-2.0.0"
+      sources."responselike-2.0.1"
       sources."rimraf-3.0.2"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
@@ -129185,13 +129960,13 @@ in
         ];
       })
       sources."socket.io-adapter-2.3.3"
-      (sources."socket.io-parser-4.0.4" // {
+      (sources."socket.io-parser-4.0.5" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
         ];
       })
-      sources."socks-2.6.2"
+      sources."socks-2.7.0"
       sources."sqlite3-git+https://github.com/mapbox/node-sqlite3.git#918052b538b0effe6c4a44c74a16b2749c08a0d2"
       sources."statuses-1.5.0"
       sources."stream-browserify-3.0.0"
@@ -129208,7 +129983,7 @@ in
       sources."text-decoding-1.0.0"
       sources."tlds-1.228.0"
       sources."toidentifier-1.0.1"
-      sources."token-types-4.2.0"
+      sources."token-types-4.2.1"
       sources."tr46-0.0.3"
       sources."trim-repeated-1.0.0"
       sources."tslib-2.4.0"
@@ -129272,7 +130047,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."abstract-logging-2.0.1"
@@ -129311,7 +130086,7 @@ in
       sources."cheerio-1.0.0-rc.10"
       sources."cheerio-select-1.6.0"
       sources."chownr-2.0.0"
-      sources."clone-response-1.0.2"
+      sources."clone-response-1.0.3"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."color-support-1.1.3"
@@ -129324,7 +130099,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.23.2"
+      sources."core-js-3.24.1"
       sources."core-util-is-1.0.2"
       sources."cors-2.8.5"
       sources."css-select-4.3.0"
@@ -129411,7 +130186,7 @@ in
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
       sources."internal-slot-1.0.3"
-      sources."ip-1.1.8"
+      sources."ip-2.0.0"
       sources."ipaddr.js-1.9.1"
       (sources."irc-framework-4.12.1" // {
         dependencies = [
@@ -129438,7 +130213,7 @@ in
       sources."json-buffer-3.0.1"
       sources."jwa-2.0.0"
       sources."jws-4.0.0"
-      sources."keyv-4.3.1"
+      sources."keyv-4.3.3"
       sources."ldap-filter-0.3.3"
       sources."ldapjs-2.3.1"
       sources."linkify-it-3.0.3"
@@ -129461,7 +130236,7 @@ in
       sources."minimalistic-assert-1.0.1"
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
-      sources."minipass-3.3.3"
+      sources."minipass-3.3.5"
       sources."minizlib-2.1.2"
       sources."mkdirp-1.0.4"
       sources."ms-2.0.0"
@@ -129508,7 +130283,7 @@ in
       sources."registry-auth-token-4.2.2"
       sources."registry-url-5.1.0"
       sources."resolve-alpn-1.2.1"
-      sources."responselike-2.0.0"
+      sources."responselike-2.0.1"
       sources."rimraf-3.0.2"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
@@ -129531,13 +130306,13 @@ in
         ];
       })
       sources."socket.io-adapter-2.3.3"
-      (sources."socket.io-parser-4.0.4" // {
+      (sources."socket.io-parser-4.0.5" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
         ];
       })
-      sources."socks-2.6.2"
+      sources."socks-2.7.0"
       sources."sqlite3-git+https://github.com/mapbox/node-sqlite3.git#918052b538b0effe6c4a44c74a16b2749c08a0d2"
       sources."statuses-1.5.0"
       sources."stream-browserify-3.0.0"
@@ -129555,7 +130330,7 @@ in
       sources."thelounge-4.3.1"
       sources."tlds-1.228.0"
       sources."toidentifier-1.0.1"
-      sources."token-types-4.2.0"
+      sources."token-types-4.2.1"
       sources."tr46-0.0.3"
       sources."trim-repeated-1.0.0"
       sources."tslib-2.4.0"
@@ -129673,7 +130448,7 @@ in
       sources."chalk-2.4.2"
       sources."cheerio-0.22.0"
       sources."chownr-1.1.4"
-      sources."clone-response-1.0.2"
+      sources."clone-response-1.0.3"
       sources."code-point-at-1.1.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
@@ -129692,7 +130467,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.23.2"
+      sources."core-js-3.24.1"
       sources."core-util-is-1.0.2"
       sources."css-select-1.2.0"
       sources."css-what-2.1.3"
@@ -129711,7 +130486,7 @@ in
       sources."domelementtype-1.3.1"
       sources."domhandler-2.4.2"
       sources."domutils-1.5.1"
-      sources."duplexer3-0.1.4"
+      sources."duplexer3-0.1.5"
       sources."ecc-jsbn-0.1.2"
       sources."ecdsa-sig-formatter-1.0.11"
       sources."ee-first-1.1.1"
@@ -129906,10 +130681,10 @@ in
       sources."prepend-http-2.0.0"
       sources."process-nextick-args-2.0.1"
       sources."proxy-addr-2.0.7"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
-      sources."qs-6.10.5"
+      sources."qs-6.11.0"
       sources."range-parser-1.2.1"
       sources."raw-body-2.4.0"
       sources."rc-1.2.8"
@@ -130019,7 +130794,7 @@ in
       sources."wide-align-1.1.5"
       sources."with-open-file-0.1.7"
       sources."wrappy-1.0.2"
-      sources."ws-7.5.8"
+      sources."ws-7.5.9"
       sources."xmlhttprequest-ssl-1.5.5"
       sources."yallist-3.1.1"
       sources."yarn-1.19.1"
@@ -130285,7 +131060,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."abstract-logging-2.0.1"
@@ -130346,7 +131121,7 @@ in
       sources."chalk-4.1.0"
       sources."cheerio-1.0.0-rc.3"
       sources."chownr-1.1.4"
-      sources."clone-response-1.0.2"
+      sources."clone-response-1.0.3"
       sources."code-point-at-1.1.0"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
@@ -130366,7 +131141,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.23.2"
+      sources."core-js-3.24.1"
       sources."core-util-is-1.0.2"
       sources."css-select-1.2.0"
       sources."css-what-2.1.3"
@@ -130389,7 +131164,7 @@ in
       sources."domelementtype-1.3.1"
       sources."domhandler-2.4.2"
       sources."domutils-1.5.1"
-      sources."duplexer3-0.1.4"
+      sources."duplexer3-0.1.5"
       sources."ecc-jsbn-0.1.2"
       sources."ecdsa-sig-formatter-1.0.11"
       sources."ee-first-1.1.1"
@@ -130500,7 +131275,7 @@ in
       })
       sources."jwa-2.0.0"
       sources."jws-4.0.0"
-      sources."keyv-4.3.1"
+      sources."keyv-4.3.3"
       sources."ldap-filter-0.3.3"
       sources."ldapjs-2.1.1"
       sources."linkify-it-3.0.2"
@@ -130602,7 +131377,7 @@ in
       sources."prepend-http-2.0.0"
       sources."process-nextick-args-2.0.1"
       sources."proxy-addr-2.0.7"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.7.0"
@@ -130624,7 +131399,7 @@ in
         ];
       })
       sources."resolve-alpn-1.2.1"
-      sources."responselike-2.0.0"
+      sources."responselike-2.0.1"
       sources."rimraf-2.7.1"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
@@ -130720,7 +131495,7 @@ in
       sources."wide-align-1.1.5"
       sources."with-open-file-0.1.7"
       sources."wrappy-1.0.2"
-      sources."ws-7.5.8"
+      sources."ws-7.5.9"
       sources."xmlhttprequest-ssl-1.5.5"
       sources."yallist-3.1.1"
       sources."yarn-1.22.4"
@@ -130752,7 +131527,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."abstract-logging-2.0.1"
@@ -130813,7 +131588,7 @@ in
       sources."chalk-4.1.0"
       sources."cheerio-1.0.0-rc.3"
       sources."chownr-1.1.4"
-      sources."clone-response-1.0.2"
+      sources."clone-response-1.0.3"
       sources."code-point-at-1.1.0"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
@@ -130833,7 +131608,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.23.2"
+      sources."core-js-3.24.1"
       sources."core-util-is-1.0.2"
       sources."css-select-1.2.0"
       sources."css-what-2.1.3"
@@ -130856,7 +131631,7 @@ in
       sources."domelementtype-1.3.1"
       sources."domhandler-2.4.2"
       sources."domutils-1.5.1"
-      sources."duplexer3-0.1.4"
+      sources."duplexer3-0.1.5"
       sources."ecc-jsbn-0.1.2"
       sources."ecdsa-sig-formatter-1.0.11"
       sources."ee-first-1.1.1"
@@ -130967,7 +131742,7 @@ in
       })
       sources."jwa-2.0.0"
       sources."jws-4.0.0"
-      sources."keyv-4.3.1"
+      sources."keyv-4.3.3"
       sources."ldap-filter-0.3.3"
       sources."ldapjs-2.1.1"
       sources."linkify-it-3.0.2"
@@ -131069,7 +131844,7 @@ in
       sources."prepend-http-2.0.0"
       sources."process-nextick-args-2.0.1"
       sources."proxy-addr-2.0.7"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.7.0"
@@ -131091,7 +131866,7 @@ in
         ];
       })
       sources."resolve-alpn-1.2.1"
-      sources."responselike-2.0.0"
+      sources."responselike-2.0.1"
       sources."rimraf-2.7.1"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
@@ -131187,7 +131962,7 @@ in
       sources."wide-align-1.1.5"
       sources."with-open-file-0.1.7"
       sources."wrappy-1.0.2"
-      sources."ws-7.5.8"
+      sources."ws-7.5.9"
       sources."xmlhttprequest-ssl-1.5.5"
       sources."yallist-3.1.1"
       sources."yarn-1.22.4"
@@ -131602,10 +132377,10 @@ in
   three = nodeEnv.buildNodePackage {
     name = "three";
     packageName = "three";
-    version = "0.141.0";
+    version = "0.143.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/three/-/three-0.141.0.tgz";
-      sha512 = "JaSDAPWuk4RTzG5BYRQm8YZbERUxTfTDVouWgHMisS2to4E5fotMS9F2zPFNOIJyEFTTQDDKPpsgZVThKU3pXA==";
+      url = "https://registry.npmjs.org/three/-/three-0.143.0.tgz";
+      sha512 = "oKcAGYHhJ46TGEuHjodo2n6TY2R6lbvrkp+feKZxqsUL/WkH7GKKaeu6RHeyb2Xjfk2dPLRKLsOP0KM2VgT8Zg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -131620,10 +132395,10 @@ in
   tiddlywiki = nodeEnv.buildNodePackage {
     name = "tiddlywiki";
     packageName = "tiddlywiki";
-    version = "5.2.2";
+    version = "5.2.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/tiddlywiki/-/tiddlywiki-5.2.2.tgz";
-      sha512 = "xAY30p06CI6oFvebL/BnPtM9rbYRG14AVbpEfTvCHjpGutYsn6XBOogbhqnAxncmifFK3CaBGfiaqPNGi6rxGQ==";
+      url = "https://registry.npmjs.org/tiddlywiki/-/tiddlywiki-5.2.3.tgz";
+      sha512 = "kf09XBI0bswr27pM6WBj/Vek4ATle83HwAtg8rPqJ8cjcC2/xX2SLEamiT8q4AAexjDDlQA05IlcPhhGtF0j6A==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -131638,24 +132413,20 @@ in
   titanium = nodeEnv.buildNodePackage {
     name = "titanium";
     packageName = "titanium";
-    version = "6.0.2";
+    version = "6.1.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/titanium/-/titanium-6.0.2.tgz";
-      sha512 = "fdgt7/4L2nh1tx3aViMmSO/yVBFsfgGBrhW68I67zavOm0QqdGDM3KHwGX/RFEvhvsvwzL/O/6qg5239OH2pPA==";
+      url = "https://registry.npmjs.org/titanium/-/titanium-6.1.1.tgz";
+      sha512 = "jz1pZ1jDB72H63SaHYUYLbiBBVmaGPIprSKQr2rbuoNPNasp9EerMouqSUiVdnvaKElpnW/sWiMmPs4XINmo0w==";
     };
     dependencies = [
-      sources."@octokit/auth-token-2.5.0"
-      sources."@octokit/core-3.6.0"
-      sources."@octokit/endpoint-6.0.12"
-      sources."@octokit/graphql-4.8.0"
-      sources."@octokit/openapi-types-12.4.0"
-      sources."@octokit/plugin-paginate-rest-2.19.0"
-      sources."@octokit/plugin-request-log-1.0.4"
-      sources."@octokit/plugin-rest-endpoint-methods-5.15.0"
-      sources."@octokit/request-5.6.3"
-      sources."@octokit/request-error-2.1.0"
-      sources."@octokit/rest-18.12.0"
-      sources."@octokit/types-6.37.0"
+      sources."@sindresorhus/is-4.6.0"
+      sources."@szmarczak/http-timer-4.0.6"
+      sources."@types/cacheable-request-6.0.2"
+      sources."@types/http-cache-semantics-4.0.1"
+      sources."@types/json-buffer-3.0.0"
+      sources."@types/keyv-3.1.4"
+      sources."@types/node-18.6.3"
+      sources."@types/responselike-1.0.0"
       sources."@xmldom/xmldom-0.8.2"
       sources."ajv-6.12.6"
       sources."asn1-0.2.6"
@@ -131667,19 +132438,28 @@ in
       sources."aws4-1.11.0"
       sources."balanced-match-1.0.2"
       sources."bcrypt-pbkdf-1.0.2"
-      sources."before-after-hook-2.2.2"
       sources."brace-expansion-1.1.11"
       sources."buffer-crc32-0.2.13"
+      sources."cacheable-lookup-5.0.4"
+      sources."cacheable-request-7.0.2"
       sources."caseless-0.12.0"
+      sources."clone-response-1.0.3"
       sources."colors-1.4.0"
       sources."combined-stream-1.0.8"
+      sources."compress-brotli-1.3.8"
       sources."concat-map-0.0.1"
       sources."core-util-is-1.0.2"
       sources."cycle-1.0.3"
       sources."dashdash-1.14.1"
+      (sources."decompress-response-6.0.0" // {
+        dependencies = [
+          sources."mimic-response-3.1.0"
+        ];
+      })
+      sources."defer-to-connect-2.0.1"
       sources."delayed-stream-1.0.0"
-      sources."deprecation-2.3.1"
       sources."ecc-jsbn-0.1.2"
+      sources."end-of-stream-1.4.4"
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."eyes-0.1.8"
@@ -131695,46 +132475,58 @@ in
       sources."form-data-2.3.3"
       sources."fs-extra-9.1.0"
       sources."fs.realpath-1.0.0"
+      sources."get-stream-5.2.0"
       sources."getpass-0.1.7"
       sources."glob-7.2.3"
+      sources."got-11.8.5"
       sources."graceful-fs-4.2.10"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
+      sources."http-cache-semantics-4.1.0"
       sources."http-signature-1.2.0"
+      sources."http2-wrapper-1.0.3"
       sources."humanize-0.0.9"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."is-plain-object-5.0.0"
       sources."is-typedarray-1.0.0"
       sources."isstream-0.1.2"
       sources."jsbn-0.1.1"
+      sources."json-buffer-3.0.1"
       sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-6.1.0"
       sources."jsprim-1.4.2"
       sources."keypress-0.2.1"
+      sources."keyv-4.3.3"
+      sources."lowercase-keys-2.0.0"
       sources."lru-cache-6.0.0"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
+      sources."mimic-response-1.0.1"
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
       sources."mkdirp-0.5.6"
       sources."node-appc-1.1.5"
-      sources."node-fetch-2.6.7"
+      sources."normalize-url-6.1.0"
       sources."oauth-sign-0.9.0"
       sources."once-1.4.0"
+      sources."p-cancelable-2.1.1"
       sources."path-is-absolute-1.0.1"
       sources."pend-1.2.0"
       sources."performance-now-2.1.0"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
+      sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.3"
+      sources."quick-lru-5.1.1"
       (sources."request-2.88.2" // {
         dependencies = [
           sources."uuid-3.4.0"
         ];
       })
+      sources."resolve-alpn-1.2.1"
+      sources."responselike-2.0.1"
       sources."rimraf-2.6.3"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
@@ -131743,20 +132535,20 @@ in
       sources."sshpk-1.17.0"
       sources."stack-trace-0.0.10"
       sources."temp-0.9.4"
+      (sources."tmp-0.2.1" // {
+        dependencies = [
+          sources."rimraf-3.0.2"
+        ];
+      })
       sources."tough-cookie-2.5.0"
-      sources."tr46-0.0.3"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."universal-user-agent-6.0.0"
       sources."universalify-2.0.0"
       sources."uri-js-4.4.1"
       sources."uuid-8.3.2"
       sources."verror-1.10.0"
-      sources."webidl-conversions-3.0.1"
-      sources."whatwg-url-5.0.0"
-      (sources."winston-2.4.5" // {
+      (sources."winston-2.4.6" // {
         dependencies = [
-          sources."async-1.0.0"
           sources."colors-1.0.3"
         ];
       })
@@ -131852,7 +132644,7 @@ in
       sources."minimatch-3.1.2"
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
-      sources."moment-2.29.3"
+      sources."moment-2.29.4"
       sources."mooremachine-2.3.0"
       sources."mute-stream-0.0.8"
       sources."mv-2.1.1"
@@ -132028,21 +132820,21 @@ in
   ts-node = nodeEnv.buildNodePackage {
     name = "ts-node";
     packageName = "ts-node";
-    version = "10.8.1";
+    version = "10.9.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/ts-node/-/ts-node-10.8.1.tgz";
-      sha512 = "Wwsnao4DQoJsN034wePSg5nZiw4YKXf56mPIAeD6wVmiv+RytNSWqc2f3fKvcUoV+Yn2+yocD71VOfQHbmVX4g==";
+      url = "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz";
+      sha512 = "NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==";
     };
     dependencies = [
       sources."@cspotcode/source-map-support-0.8.1"
-      sources."@jridgewell/resolve-uri-3.0.7"
-      sources."@jridgewell/sourcemap-codec-1.4.13"
+      sources."@jridgewell/resolve-uri-3.1.0"
+      sources."@jridgewell/sourcemap-codec-1.4.14"
       sources."@jridgewell/trace-mapping-0.3.9"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
       sources."@tsconfig/node14-1.0.3"
       sources."@tsconfig/node16-1.0.3"
-      sources."acorn-8.7.1"
+      sources."acorn-8.8.0"
       sources."acorn-walk-8.2.0"
       sources."arg-4.1.3"
       sources."create-require-1.1.1"
@@ -132103,10 +132895,10 @@ in
   typescript-language-server = nodeEnv.buildNodePackage {
     name = "typescript-language-server";
     packageName = "typescript-language-server";
-    version = "0.11.1";
+    version = "0.11.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/typescript-language-server/-/typescript-language-server-0.11.1.tgz";
-      sha512 = "kcF4pbTHzYJWPj1RBRKZ1lrqjDGoy2sMevdNy+AakDur57JvTv8rlnN549rUJCoRR5th4LFhJ6zAo3zLFR1gNw==";
+      url = "https://registry.npmjs.org/typescript-language-server/-/typescript-language-server-0.11.2.tgz";
+      sha512 = "wEk2c2YkJenTb5ArWfSacgBiVKY2MBQUlayUyCX1QmBijuqh3PrNbIbrb6N3H8JLJVzgM9AL6Qjw+q6jDFzK0A==";
     };
     dependencies = [
       sources."@nodelib/fs.scandir-2.1.5"
@@ -132118,7 +132910,7 @@ in
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."clean-stack-2.2.0"
-      sources."commander-9.3.0"
+      sources."commander-9.4.0"
       sources."concat-map-0.0.1"
       sources."crypto-random-string-2.0.0"
       sources."del-6.1.1"
@@ -132195,10 +132987,10 @@ in
   uglify-js = nodeEnv.buildNodePackage {
     name = "uglify-js";
     packageName = "uglify-js";
-    version = "3.16.1";
+    version = "3.16.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.16.1.tgz";
-      sha512 = "X5BGTIDH8U6IQ1TIRP62YC36k+ULAa1d59BxlWvPUJ1NkW5L3FwcGfEzuVvGmhJFBu0YJ5Ge25tmRISqCmLiRQ==";
+      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.16.3.tgz";
+      sha512 = "uVbFqx9vvLhQg0iBaau9Z75AxWJ8tqM9AV890dIZCLApF4rTcyHwmAvLeEdYRs+BzYWu8Iw81F79ah0EfTXbaw==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -132231,17 +133023,19 @@ in
   ungit = nodeEnv.buildNodePackage {
     name = "ungit";
     packageName = "ungit";
-    version = "1.5.20";
+    version = "1.5.21";
     src = fetchurl {
-      url = "https://registry.npmjs.org/ungit/-/ungit-1.5.20.tgz";
-      sha512 = "GB1sY6RhmBLh9pJY7kEJnX3y995xSaLeWcZwxYT6YJmmdlBmjC7TA5ilbrxxoZk8IpdO+lDuWEz3ANVwhc8zFQ==";
+      url = "https://registry.npmjs.org/ungit/-/ungit-1.5.21.tgz";
+      sha512 = "iwAchGIaKfHJmRnMIz45e/H5UjKDDeiHFmlIO2TIsXNkGRO0gLPjLEGbU6P4j9ukUL+WUdWut3Sw9VJmkQjjyA==";
     };
     dependencies = [
       sources."@colors/colors-1.5.0"
       sources."@dabh/diagnostics-2.0.3"
-      sources."@primer/octicons-17.0.0"
-      sources."@sindresorhus/is-4.6.0"
-      sources."@szmarczak/http-timer-4.0.6"
+      sources."@pnpm/network.ca-file-1.0.1"
+      sources."@pnpm/npm-conf-1.0.5"
+      sources."@primer/octicons-17.3.0"
+      sources."@sindresorhus/is-5.3.0"
+      sources."@szmarczak/http-timer-5.0.1"
       sources."@types/cacheable-request-6.0.2"
       sources."@types/component-emitter-1.2.11"
       sources."@types/cookie-0.4.1"
@@ -132249,7 +133043,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-16.11.41"
+      sources."@types/node-16.11.47"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.8"
@@ -132266,15 +133060,21 @@ in
       sources."balanced-match-1.0.2"
       sources."base64id-2.0.0"
       sources."blueimp-md5-2.19.0"
-      sources."body-parser-1.19.2"
+      sources."body-parser-1.20.0"
       sources."bootstrap-3.4.1"
       sources."brace-expansion-1.1.11"
       sources."bytes-3.1.2"
-      sources."cacheable-lookup-5.0.4"
-      sources."cacheable-request-7.0.2"
+      sources."cacheable-lookup-6.0.4"
+      (sources."cacheable-request-7.0.2" // {
+        dependencies = [
+          sources."get-stream-5.2.0"
+          sources."lowercase-keys-2.0.0"
+        ];
+      })
+      sources."call-bind-1.0.2"
       sources."cliui-7.0.4"
       sources."clone-2.1.2"
-      sources."clone-response-1.0.2"
+      sources."clone-response-1.0.3"
       sources."color-3.2.1"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
@@ -132283,6 +133083,7 @@ in
       sources."component-emitter-1.3.0"
       sources."compress-brotli-1.3.8"
       sources."concat-map-0.0.1"
+      sources."config-chain-1.1.13"
       sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
       (sources."convert-source-map-1.8.0" // {
@@ -132305,17 +133106,17 @@ in
       sources."deep-extend-0.6.0"
       sources."defer-to-connect-2.0.1"
       sources."define-lazy-prop-2.0.0"
-      sources."depd-1.1.2"
-      sources."destroy-1.0.4"
-      sources."diff-5.0.0"
-      sources."diff2html-3.4.17"
+      sources."depd-2.0.0"
+      sources."destroy-1.2.0"
+      sources."diff-5.1.0"
+      sources."diff2html-3.4.18"
       sources."dnd-page-scroll-0.0.4"
       sources."ee-first-1.1.1"
       sources."emoji-regex-8.0.0"
       sources."enabled-2.0.0"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
-      (sources."engine.io-6.1.3" // {
+      (sources."engine.io-6.2.0" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
@@ -132327,28 +133128,33 @@ in
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
       sources."eve-0.5.4"
-      (sources."express-4.17.3" // {
+      (sources."express-4.18.1" // {
         dependencies = [
-          sources."cookie-0.4.2"
+          sources."cookie-0.5.0"
         ];
       })
       (sources."express-session-1.17.3" // {
         dependencies = [
           sources."cookie-0.4.2"
-          sources."depd-2.0.0"
         ];
       })
       sources."fecha-4.2.3"
-      sources."finalhandler-1.1.2"
+      sources."finalhandler-1.2.0"
       sources."fn.name-1.1.0"
+      sources."form-data-encoder-2.0.1"
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
       sources."fs.realpath-1.0.0"
+      sources."function-bind-1.1.1"
       sources."get-caller-file-2.0.5"
-      sources."get-stream-5.2.0"
+      sources."get-intrinsic-1.1.2"
+      sources."get-stream-6.0.1"
       sources."getmac-5.20.0"
       sources."glob-7.2.3"
-      sources."got-11.8.5"
+      sources."got-12.3.0"
+      sources."graceful-fs-4.2.10"
+      sources."has-1.0.3"
+      sources."has-symbols-1.0.3"
       sources."hasher-1.2.0"
       (sources."hogan.js-3.0.2" // {
         dependencies = [
@@ -132356,8 +133162,8 @@ in
         ];
       })
       sources."http-cache-semantics-4.1.0"
-      sources."http-errors-1.8.1"
-      sources."http2-wrapper-1.0.3"
+      sources."http-errors-2.0.0"
+      sources."http2-wrapper-2.1.11"
       sources."iconv-lite-0.4.24"
       sources."ignore-5.2.0"
       sources."inflight-1.0.6"
@@ -132372,20 +133178,20 @@ in
       sources."is-wsl-2.2.0"
       sources."isarray-1.0.0"
       sources."jquery-3.6.0"
-      sources."jquery-ui-1.13.1"
+      sources."jquery-ui-1.13.2"
       sources."json-buffer-3.0.1"
       sources."just-detect-adblock-1.1.0"
-      sources."keyv-4.3.1"
+      sources."keyv-4.3.3"
       sources."knockout-3.5.1"
       sources."kuler-2.0.0"
-      sources."latest-version-6.0.0"
+      sources."latest-version-7.0.0"
       sources."lodash-4.17.21"
-      (sources."logform-2.4.1" // {
+      (sources."logform-2.4.2" // {
         dependencies = [
           sources."ms-2.1.3"
         ];
       })
-      sources."lowercase-keys-2.0.0"
+      sources."lowercase-keys-3.0.0"
       sources."lru-cache-4.1.5"
       sources."media-typer-0.3.0"
       (sources."memorystore-1.6.7" // {
@@ -132403,7 +133209,7 @@ in
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
       sources."mkdirp-1.0.4"
-      sources."moment-2.29.3"
+      sources."moment-2.29.4"
       sources."ms-2.0.0"
       sources."negotiator-0.6.3"
       sources."node-cache-5.1.2"
@@ -132412,43 +133218,49 @@ in
       sources."normalize-url-6.1.0"
       sources."nprogress-0.2.0"
       sources."object-assign-4.1.1"
-      sources."on-finished-2.3.0"
+      sources."object-inspect-1.12.2"
+      sources."on-finished-2.4.1"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
       sources."one-time-1.0.0"
       sources."open-8.4.0"
-      sources."p-cancelable-2.1.1"
+      sources."p-cancelable-3.0.0"
       sources."p-limit-4.0.0"
-      sources."package-json-7.0.0"
+      sources."package-json-8.1.0"
       sources."parse-json-2.2.0"
       sources."parseurl-1.3.3"
-      sources."passport-0.5.3"
+      sources."passport-0.6.0"
       sources."passport-local-1.0.0"
       sources."passport-strategy-1.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-to-regexp-0.1.7"
       sources."pause-0.0.1"
       sources."process-nextick-args-2.0.1"
+      sources."proto-list-1.2.4"
       sources."proxy-addr-2.0.7"
       sources."pseudomap-1.0.2"
       sources."pump-3.0.0"
-      sources."qs-6.9.7"
+      sources."qs-6.10.3"
       sources."quick-lru-5.1.1"
       sources."random-bytes-1.0.0"
       sources."range-parser-1.2.1"
       sources."raven-js-3.27.2"
-      sources."raw-body-2.4.3"
+      sources."raw-body-2.5.1"
       sources."rc-1.2.8"
       (sources."readable-stream-2.3.7" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
         ];
       })
-      sources."registry-auth-token-4.2.2"
-      sources."registry-url-5.1.0"
+      sources."registry-auth-token-5.0.1"
+      sources."registry-url-6.0.1"
       sources."require-directory-2.1.1"
       sources."resolve-alpn-1.2.1"
-      sources."responselike-2.0.0"
+      (sources."responselike-2.0.1" // {
+        dependencies = [
+          sources."lowercase-keys-2.0.0"
+        ];
+      })
       sources."rimraf-3.0.2"
       sources."safe-buffer-5.2.1"
       sources."safe-stable-stringify-2.3.1"
@@ -132459,13 +133271,14 @@ in
           sources."yallist-4.0.0"
         ];
       })
-      (sources."send-0.17.2" // {
+      (sources."send-0.18.0" // {
         dependencies = [
           sources."ms-2.1.3"
         ];
       })
-      sources."serve-static-1.14.2"
+      sources."serve-static-1.15.0"
       sources."setprototypeof-1.2.0"
+      sources."side-channel-1.0.4"
       sources."signals-1.0.0"
       (sources."simple-swizzle-0.2.2" // {
         dependencies = [
@@ -132473,21 +133286,21 @@ in
         ];
       })
       sources."snapsvg-0.5.1"
-      (sources."socket.io-4.4.1" // {
+      (sources."socket.io-4.5.1" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
         ];
       })
-      sources."socket.io-adapter-2.3.3"
-      (sources."socket.io-parser-4.0.4" // {
+      sources."socket.io-adapter-2.4.0"
+      (sources."socket.io-parser-4.0.5" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
         ];
       })
       sources."stack-trace-0.0.10"
-      sources."statuses-1.5.0"
+      sources."statuses-2.0.1"
       sources."string-width-4.2.3"
       (sources."string_decoder-1.1.1" // {
         dependencies = [
@@ -132520,7 +133333,7 @@ in
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
       sources."vary-1.1.2"
-      (sources."winston-3.6.0" // {
+      (sources."winston-3.8.1" // {
         dependencies = [
           sources."readable-stream-3.6.0"
         ];
@@ -132536,8 +133349,8 @@ in
       sources."xtend-4.0.2"
       sources."y18n-5.0.8"
       sources."yallist-2.1.2"
-      sources."yargs-17.3.1"
-      sources."yargs-parser-21.0.1"
+      sources."yargs-17.5.1"
+      sources."yargs-parser-21.1.0"
       sources."yocto-queue-1.0.0"
     ];
     buildInputs = globalBuildInputs;
@@ -132553,23 +133366,23 @@ in
   unified-language-server = nodeEnv.buildNodePackage {
     name = "unified-language-server";
     packageName = "unified-language-server";
-    version = "3.0.0";
+    version = "3.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/unified-language-server/-/unified-language-server-3.0.0.tgz";
-      sha512 = "FT0nnxQ5WHXKO0kDK8xtOStGatzO6sw1sAiM3P3HuI6UXFoqcuq78iTNM+0NQ3s7mfDIPUd2zHyOsBEloIhA6w==";
+      url = "https://registry.npmjs.org/unified-language-server/-/unified-language-server-3.1.0.tgz";
+      sha512 = "5+qWt66my+GdFZLK7Hgv3jpzzlQRsH3LgPlFL8BaApBq3KXSoNShVrPDtE2m8oyDKIfTKJZQ6Ai4Od25B7qQfw==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/highlight-7.17.12"
-      sources."@npmcli/config-4.1.0"
-      sources."@npmcli/map-workspaces-2.0.3"
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      sources."@babel/highlight-7.18.6"
+      sources."@npmcli/config-4.2.0"
+      sources."@npmcli/map-workspaces-2.0.4"
       sources."@npmcli/name-from-folder-1.0.1"
       sources."@types/concat-stream-2.0.0"
       sources."@types/debug-4.1.7"
       sources."@types/is-empty-1.2.1"
       sources."@types/ms-0.7.31"
-      sources."@types/node-17.0.45"
+      sources."@types/node-18.6.3"
       sources."@types/supports-color-8.1.1"
       sources."@types/unist-2.0.6"
       sources."abbrev-1.1.1"
@@ -132634,8 +133447,8 @@ in
       sources."to-vfile-7.2.3"
       sources."trough-2.1.0"
       sources."typedarray-0.0.6"
-      sources."unified-engine-10.0.0"
-      sources."unist-util-inspect-7.0.0"
+      sources."unified-engine-10.0.1"
+      sources."unist-util-inspect-7.0.1"
       sources."unist-util-stringify-position-3.0.2"
       sources."util-deprecate-1.0.2"
       sources."vfile-5.3.4"
@@ -132647,11 +133460,11 @@ in
       })
       sources."vfile-sort-3.0.0"
       sources."vfile-statistics-2.0.0"
-      sources."vscode-jsonrpc-8.0.1"
-      sources."vscode-languageserver-8.0.1"
-      sources."vscode-languageserver-protocol-3.17.1"
+      sources."vscode-jsonrpc-8.0.2"
+      sources."vscode-languageserver-8.0.2"
+      sources."vscode-languageserver-protocol-3.17.2"
       sources."vscode-languageserver-textdocument-1.0.5"
-      sources."vscode-languageserver-types-3.17.1"
+      sources."vscode-languageserver-types-3.17.2"
       sources."walk-up-path-1.0.0"
       sources."wrappy-1.0.2"
       sources."yallist-4.0.0"
@@ -132687,7 +133500,7 @@ in
       sources."are-we-there-yet-2.0.0"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
-      sources."canvas-2.9.1"
+      sources."canvas-2.9.3"
       sources."chownr-2.0.0"
       sources."cliui-7.0.4"
       sources."color-convert-2.0.1"
@@ -132696,7 +133509,7 @@ in
       sources."commander-7.2.0"
       sources."concat-map-0.0.1"
       sources."console-control-strings-1.1.0"
-      sources."d3-array-3.1.6"
+      sources."d3-array-3.2.0"
       sources."d3-color-3.1.0"
       sources."d3-delaunay-6.0.2"
       sources."d3-dispatch-3.0.1"
@@ -132741,7 +133554,7 @@ in
       })
       sources."mimic-response-2.1.0"
       sources."minimatch-3.1.2"
-      sources."minipass-3.3.3"
+      sources."minipass-3.3.5"
       sources."minizlib-2.1.2"
       sources."mkdirp-1.0.4"
       sources."ms-2.1.2"
@@ -132817,7 +133630,7 @@ in
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
       sources."yargs-17.5.1"
-      sources."yargs-parser-21.0.1"
+      sources."yargs-parser-21.1.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -132832,10 +133645,10 @@ in
   vega-lite = nodeEnv.buildNodePackage {
     name = "vega-lite";
     packageName = "vega-lite";
-    version = "5.2.0";
+    version = "5.4.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/vega-lite/-/vega-lite-5.2.0.tgz";
-      sha512 = "Yxcg8MvYfxHcG6BbkaKT0oVCIMIcE19UvqIsEwBmyd/7h2nzW7oRnID81T8UrY7hpDrIr6wa2JADOT2dhGNErw==";
+      url = "https://registry.npmjs.org/vega-lite/-/vega-lite-5.4.0.tgz";
+      sha512 = "e/P5iOtBE62WEWZhKP7sLcBd92YS9prfUQafelxoOeloooSSrkUwM/ZDmN5Q5ffByEZTiKfODtnwD6/xKDYUmw==";
     };
     dependencies = [
       sources."@types/clone-2.1.1"
@@ -132857,14 +133670,14 @@ in
       sources."require-directory-2.1.1"
       sources."string-width-4.2.3"
       sources."strip-ansi-6.0.1"
-      sources."tslib-2.3.1"
+      sources."tslib-2.4.0"
       sources."vega-event-selector-3.0.0"
       sources."vega-expression-5.0.0"
       sources."vega-util-1.17.0"
       sources."wrap-ansi-7.0.0"
       sources."y18n-5.0.8"
-      sources."yargs-17.2.1"
-      sources."yargs-parser-20.2.9"
+      sources."yargs-17.5.1"
+      sources."yargs-parser-21.1.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -132879,287 +133692,223 @@ in
   vercel = nodeEnv.buildNodePackage {
     name = "vercel";
     packageName = "vercel";
-    version = "25.1.0";
+    version = "27.3.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/vercel/-/vercel-25.1.0.tgz";
-      sha512 = "uB/x9Gqljw1s2C5Kn/DCNCypbbaDYvPMuVqb0z73NqXNTDl220Q+F24DnKXp9bWmizbmDhRaEmlTRnxPI4pbBg==";
+      url = "https://registry.npmjs.org/vercel/-/vercel-27.3.4.tgz";
+      sha512 = "msxVZvE65RrlzKRqTVbTnb7QqielyVaPkZdLxAMkpnGsswZogp43XMj2OOIASQpak3unqxTh1uicUMtPqnZ9KQ==";
     };
     dependencies = [
-      sources."@babel/runtime-7.18.3"
+      sources."@edge-runtime/format-1.1.0-beta.25"
+      sources."@edge-runtime/primitives-1.1.0-beta.25"
+      sources."@edge-runtime/vm-1.1.0-beta.23"
       (sources."@mapbox/node-pre-gyp-1.0.9" // {
         dependencies = [
           sources."semver-7.3.7"
         ];
       })
-      sources."@remix-run/node-1.4.3"
-      (sources."@remix-run/server-runtime-1.4.3" // {
-        dependencies = [
-          sources."source-map-0.7.4"
-        ];
-      })
-      sources."@remix-run/vercel-1.4.3"
+      sources."@nodelib/fs.scandir-2.1.5"
+      sources."@nodelib/fs.stat-2.0.5"
+      sources."@nodelib/fs.walk-1.2.8"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/busboy-0.3.2"
-      sources."@types/cookie-0.4.1"
-      sources."@types/node-18.0.0"
-      (sources."@types/node-fetch-2.6.2" // {
+      sources."@ts-morph/common-0.11.1"
+      sources."@types/json-schema-7.0.11"
+      sources."@types/node-18.6.3"
+      sources."@vercel/build-utils-5.0.8"
+      sources."@vercel/go-2.0.12"
+      sources."@vercel/hydrogen-0.0.9"
+      sources."@vercel/next-3.1.12"
+      sources."@vercel/nft-0.21.0"
+      sources."@vercel/node-2.5.3"
+      sources."@vercel/node-bridge-3.0.0"
+      sources."@vercel/python-3.1.4"
+      sources."@vercel/redwood-1.0.13"
+      sources."@vercel/remix-1.0.14"
+      (sources."@vercel/routing-utils-2.0.0" // {
         dependencies = [
-          sources."form-data-3.0.1"
+          sources."ajv-6.12.6"
+          sources."json-schema-traverse-0.4.1"
         ];
       })
-      sources."@vercel/build-utils-4.1.0"
-      sources."@vercel/go-2.0.1"
-      sources."@vercel/next-3.0.1"
-      sources."@vercel/nft-0.19.1"
-      sources."@vercel/node-2.1.0"
-      sources."@vercel/node-bridge-3.0.0"
-      sources."@vercel/python-3.0.1"
-      sources."@vercel/redwood-1.0.1"
-      sources."@vercel/remix-1.0.1"
-      sources."@vercel/routing-utils-1.13.4"
-      sources."@vercel/ruby-1.3.9"
-      sources."@vercel/static-build-1.0.1"
-      sources."@web-std/blob-3.0.4"
-      sources."@web-std/file-3.0.2"
-      sources."@web-std/stream-1.0.0"
-      sources."@zxing/text-encoding-0.9.0"
+      sources."@vercel/ruby-1.3.20"
+      sources."@vercel/static-build-1.0.13"
+      sources."@vercel/static-config-2.0.1"
       sources."abbrev-1.1.1"
-      sources."abort-controller-3.0.0"
-      sources."acorn-8.7.1"
+      sources."acorn-8.8.0"
       sources."agent-base-6.0.2"
-      sources."ajv-6.12.6"
+      sources."ajv-8.6.3"
       sources."ansi-align-3.0.1"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
       sources."aproba-2.0.0"
       sources."are-we-there-yet-2.0.0"
       sources."arg-4.1.3"
-      sources."asynckit-0.4.0"
-      sources."available-typed-arrays-1.0.5"
+      sources."async-sema-3.1.1"
       sources."balanced-match-1.0.2"
       sources."bindings-1.5.0"
-      sources."blob-0.0.4"
-      sources."blob-stream-0.1.3"
       sources."boxen-5.1.2"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."buffer-from-1.1.2"
-      sources."busboy-0.3.1"
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
           sources."get-stream-5.2.0"
           sources."lowercase-keys-2.0.0"
         ];
       })
-      sources."call-bind-1.0.2"
       sources."camelcase-6.3.0"
       sources."chalk-4.1.2"
       sources."chownr-2.0.0"
       sources."ci-info-2.0.0"
       sources."cli-boxes-2.2.1"
-      sources."clone-response-1.0.2"
-      sources."code-point-at-1.1.0"
+      sources."clone-response-1.0.3"
+      sources."code-block-writer-10.1.1"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."color-support-1.1.3"
-      sources."combined-stream-1.0.8"
       sources."concat-map-0.0.1"
       sources."configstore-5.0.1"
       sources."console-control-strings-1.1.0"
-      sources."cookie-0.4.2"
-      sources."cookie-signature-1.2.0"
-      sources."core-util-is-1.0.3"
+      sources."convert-hrtime-3.0.0"
       sources."crypto-random-string-2.0.0"
       sources."debug-4.3.4"
       sources."decompress-response-3.3.0"
       sources."deep-extend-0.6.0"
       sources."defer-to-connect-1.1.3"
-      sources."define-properties-1.1.4"
-      sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
       sources."detect-libc-2.0.1"
-      sources."dicer-0.3.0"
       sources."diff-4.0.2"
       sources."dot-prop-5.3.0"
-      sources."duplexer3-0.1.4"
+      sources."duplexer3-0.1.5"
+      sources."edge-runtime-1.1.0-beta.23"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
-      sources."es-abstract-1.20.1"
-      sources."es-to-primitive-1.2.1"
+      sources."esbuild-0.14.47"
+      sources."esbuild-android-64-0.14.47"
+      sources."esbuild-android-arm64-0.14.47"
+      sources."esbuild-darwin-64-0.14.47"
+      sources."esbuild-darwin-arm64-0.14.47"
+      sources."esbuild-freebsd-64-0.14.47"
+      sources."esbuild-freebsd-arm64-0.14.47"
+      sources."esbuild-linux-32-0.14.47"
+      sources."esbuild-linux-64-0.14.47"
+      sources."esbuild-linux-arm-0.14.47"
+      sources."esbuild-linux-arm64-0.14.47"
+      sources."esbuild-linux-mips64le-0.14.47"
+      sources."esbuild-linux-ppc64le-0.14.47"
+      sources."esbuild-linux-riscv64-0.14.47"
+      sources."esbuild-linux-s390x-0.14.47"
+      sources."esbuild-netbsd-64-0.14.47"
+      sources."esbuild-openbsd-64-0.14.47"
+      sources."esbuild-sunos-64-0.14.47"
+      sources."esbuild-windows-32-0.14.47"
+      sources."esbuild-windows-64-0.14.47"
+      sources."esbuild-windows-arm64-0.14.47"
       sources."escape-goat-2.1.1"
       sources."estree-walker-2.0.2"
-      sources."event-target-shim-5.0.1"
+      sources."exit-hook-2.2.1"
       sources."fast-deep-equal-3.1.3"
+      sources."fast-glob-3.2.11"
       sources."fast-json-stable-stringify-2.1.0"
+      sources."fastq-1.13.0"
       sources."file-uri-to-path-1.0.0"
       sources."fill-range-7.0.1"
-      sources."for-each-0.3.3"
-      sources."form-data-4.0.0"
       sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
-      sources."function-bind-1.1.1"
-      sources."function.prototype.name-1.1.5"
-      sources."functions-have-names-1.2.3"
       sources."gauge-3.0.2"
-      sources."get-intrinsic-1.1.2"
       sources."get-stream-4.1.0"
-      sources."get-symbol-description-1.0.0"
       sources."glob-7.2.3"
-      (sources."global-dirs-3.0.0" // {
-        dependencies = [
-          sources."ini-2.0.0"
-        ];
-      })
+      sources."glob-parent-5.1.2"
+      sources."global-dirs-3.0.0"
       sources."got-9.6.0"
       sources."graceful-fs-4.2.10"
-      sources."has-1.0.3"
-      sources."has-bigints-1.0.2"
       sources."has-flag-4.0.0"
-      sources."has-property-descriptors-1.0.0"
-      sources."has-symbols-1.0.3"
-      sources."has-tostringtag-1.0.0"
       sources."has-unicode-2.0.1"
       sources."has-yarn-2.1.0"
-      sources."history-5.3.0"
       sources."http-cache-semantics-4.1.0"
+      sources."http-status-1.5.2"
       sources."https-proxy-agent-5.0.1"
-      sources."iconv-lite-0.4.24"
-      sources."ignore-walk-3.0.4"
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."ini-1.3.8"
-      sources."internal-slot-1.0.3"
-      sources."is-arguments-1.1.1"
-      sources."is-bigint-1.0.4"
-      sources."is-boolean-object-1.1.2"
-      sources."is-callable-1.2.4"
+      sources."ini-2.0.0"
       sources."is-ci-2.0.0"
-      sources."is-date-object-1.0.5"
+      sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
-      sources."is-generator-function-1.0.10"
+      sources."is-glob-4.0.3"
       sources."is-installed-globally-0.4.0"
-      sources."is-negative-zero-2.0.2"
       sources."is-npm-5.0.0"
       sources."is-number-7.0.0"
-      sources."is-number-object-1.0.7"
       sources."is-obj-2.0.0"
       sources."is-path-inside-3.0.3"
-      sources."is-regex-1.1.4"
-      sources."is-shared-array-buffer-1.0.2"
-      sources."is-string-1.0.7"
-      sources."is-symbol-1.0.4"
-      sources."is-typed-array-1.1.9"
       sources."is-typedarray-1.0.0"
-      sources."is-weakref-1.0.2"
       sources."is-yarn-global-0.3.0"
-      sources."isarray-1.0.0"
-      sources."jsesc-3.0.2"
       sources."json-buffer-3.0.0"
-      sources."json-schema-traverse-0.4.1"
+      sources."json-schema-to-ts-1.6.4"
+      sources."json-schema-traverse-1.0.0"
       sources."keyv-3.1.0"
       sources."latest-version-5.1.0"
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-6.0.0"
       sources."make-dir-3.1.0"
       sources."make-error-1.3.6"
+      sources."merge2-1.4.1"
       sources."micromatch-4.0.5"
-      sources."mime-db-1.52.0"
-      sources."mime-types-2.1.35"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
-      sources."minipass-3.3.3"
+      sources."minipass-3.3.5"
       sources."minizlib-2.1.2"
       sources."mkdirp-1.0.4"
+      sources."mri-1.2.0"
       sources."ms-2.1.2"
-      (sources."needle-2.9.1" // {
-        dependencies = [
-          sources."debug-3.2.7"
-        ];
-      })
       sources."node-fetch-2.6.7"
-      sources."node-gyp-build-4.4.0"
-      (sources."node-pre-gyp-0.13.0" // {
-        dependencies = [
-          sources."ansi-regex-2.1.1"
-          sources."aproba-1.2.0"
-          sources."are-we-there-yet-1.1.7"
-          sources."chownr-1.1.4"
-          sources."detect-libc-1.0.3"
-          sources."fs-minipass-1.2.7"
-          sources."gauge-2.7.4"
-          sources."is-fullwidth-code-point-1.0.0"
-          sources."minipass-2.9.0"
-          sources."minizlib-1.3.3"
-          sources."mkdirp-0.5.6"
-          sources."nopt-4.0.3"
-          sources."npmlog-4.1.2"
-          sources."readable-stream-2.3.7"
-          sources."rimraf-2.7.1"
-          sources."safe-buffer-5.1.2"
-          sources."semver-5.7.1"
-          sources."string-width-1.0.2"
-          sources."string_decoder-1.1.1"
-          sources."strip-ansi-3.0.1"
-          (sources."tar-4.4.19" // {
-            dependencies = [
-              sources."safe-buffer-5.2.1"
-            ];
-          })
-          sources."yallist-3.1.1"
-        ];
-      })
+      sources."node-gyp-build-4.5.0"
       sources."nopt-5.0.0"
       sources."normalize-url-4.5.1"
-      sources."npm-bundled-1.1.2"
-      sources."npm-normalize-package-bin-1.0.1"
-      sources."npm-packlist-1.4.8"
       sources."npmlog-5.0.1"
-      sources."number-is-nan-1.0.1"
       sources."object-assign-4.1.1"
-      sources."object-inspect-1.12.2"
-      sources."object-keys-1.1.1"
-      sources."object.assign-4.1.2"
       sources."once-1.4.0"
-      sources."os-homedir-1.0.2"
-      sources."os-tmpdir-1.0.2"
-      sources."osenv-0.1.5"
       sources."p-cancelable-1.1.0"
       (sources."package-json-6.5.0" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
+      sources."parse-ms-2.1.0"
+      sources."path-browserify-1.0.1"
       sources."path-is-absolute-1.0.1"
       sources."path-to-regexp-6.1.0"
+      sources."picocolors-1.0.0"
       sources."picomatch-2.3.1"
       sources."prepend-http-2.0.0"
-      sources."process-nextick-args-2.0.1"
+      sources."pretty-bytes-5.6.0"
+      sources."pretty-ms-7.0.1"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."pupa-2.1.1"
-      sources."rc-1.2.8"
-      sources."react-router-6.3.0"
-      sources."react-router-dom-6.3.0"
+      sources."queue-microtask-1.2.3"
+      (sources."rc-1.2.8" // {
+        dependencies = [
+          sources."ini-1.3.8"
+        ];
+      })
       sources."readable-stream-3.6.0"
-      sources."regenerator-runtime-0.13.9"
-      sources."regexp.prototype.flags-1.4.3"
       sources."registry-auth-token-4.2.2"
       sources."registry-url-5.1.0"
+      sources."require-from-string-2.0.2"
       sources."resolve-from-5.0.0"
       sources."responselike-1.0.2"
+      sources."reusify-1.0.4"
       sources."rimraf-3.0.2"
       (sources."rollup-pluginutils-2.8.2" // {
         dependencies = [
           sources."estree-walker-0.6.1"
         ];
       })
+      sources."run-parallel-1.2.0"
       sources."safe-buffer-5.2.1"
-      sources."safer-buffer-2.1.2"
-      sources."sax-1.2.4"
       sources."semver-6.1.1"
       (sources."semver-diff-3.1.1" // {
         dependencies = [
@@ -133167,28 +133916,25 @@ in
         ];
       })
       sources."set-blocking-2.0.0"
-      sources."set-cookie-parser-2.5.0"
-      sources."side-channel-1.0.4"
       sources."signal-exit-3.0.7"
       sources."source-map-0.6.1"
       sources."source-map-support-0.5.21"
-      sources."streamsearch-0.1.2"
       sources."string-width-4.2.3"
-      sources."string.prototype.trimend-1.0.5"
-      sources."string.prototype.trimstart-1.0.5"
       sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.1"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-7.2.0"
       sources."tar-6.1.11"
+      sources."time-span-4.0.0"
       sources."to-readable-stream-1.0.0"
       sources."to-regex-range-5.0.1"
       sources."tr46-0.0.3"
+      sources."ts-morph-12.0.0"
       sources."ts-node-8.9.1"
+      sources."ts-toolbelt-6.15.5"
       sources."type-fest-0.20.2"
       sources."typedarray-to-buffer-3.1.5"
       sources."typescript-4.3.4"
-      sources."unbox-primitive-1.0.2"
       sources."unique-string-2.0.0"
       (sources."update-notifier-5.1.0" // {
         dependencies = [
@@ -133197,14 +133943,9 @@ in
       })
       sources."uri-js-4.4.1"
       sources."url-parse-lax-3.0.0"
-      sources."util-0.12.4"
       sources."util-deprecate-1.0.2"
-      sources."web-encoding-1.1.5"
-      sources."web-streams-polyfill-3.2.1"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
-      sources."which-boxed-primitive-1.0.2"
-      sources."which-typed-array-1.1.8"
       sources."wide-align-1.1.5"
       sources."widest-line-3.1.0"
       sources."wrap-ansi-7.0.0"
@@ -133245,15 +133986,15 @@ in
   vls = nodeEnv.buildNodePackage {
     name = "vls";
     packageName = "vls";
-    version = "0.7.6";
+    version = "0.8.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/vls/-/vls-0.7.6.tgz";
-      sha512 = "UaE5peKpeT0dsTg4KAbxRVKLotD4i0DW3wb/srcJgNJmpBmTv2HAkE3hMR/naf1bMmUTpQyQPUaZOJE5ihBqlA==";
+      url = "https://registry.npmjs.org/vls/-/vls-0.8.1.tgz";
+      sha512 = "Oja3mdxnFxrnSWu3igDyq/vuaeLPd1tU+ZSgVNYvnXcAHwjw2El4iUxhSwJqf6synDl0P8cX41xbiutb0OUoHg==";
     };
     dependencies = [
       sources."@babel/code-frame-7.12.11"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      (sources."@babel/highlight-7.17.12" // {
+      sources."@babel/helper-validator-identifier-7.18.6"
+      (sources."@babel/highlight-7.18.6" // {
         dependencies = [
           sources."chalk-2.4.2"
           sources."escape-string-regexp-1.0.5"
@@ -133333,14 +134074,14 @@ in
       sources."fast-levenshtein-2.0.6"
       sources."file-entry-cache-6.0.1"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.2.5"
+      sources."flatted-3.2.6"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."functional-red-black-tree-1.0.1"
       sources."get-intrinsic-1.1.2"
       sources."glob-7.2.3"
       sources."glob-parent-5.1.2"
-      sources."globals-13.15.0"
+      sources."globals-13.17.0"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
       sources."has-symbols-1.0.3"
@@ -133458,11 +134199,11 @@ in
     };
     dependencies = [
       sources."vscode-css-languageservice-3.0.13"
-      sources."vscode-jsonrpc-8.0.1"
+      sources."vscode-jsonrpc-8.0.2"
       sources."vscode-languageserver-4.4.2"
-      sources."vscode-languageserver-protocol-3.17.1"
+      sources."vscode-languageserver-protocol-3.17.2"
       sources."vscode-languageserver-protocol-foldingprovider-2.0.1"
-      sources."vscode-languageserver-types-3.17.1"
+      sources."vscode-languageserver-types-3.17.2"
       sources."vscode-nls-4.1.2"
       sources."vscode-uri-1.0.8"
     ];
@@ -133496,11 +134237,11 @@ in
           sources."vscode-nls-4.1.2"
         ];
       })
-      sources."vscode-jsonrpc-8.0.1"
+      sources."vscode-jsonrpc-8.0.2"
       sources."vscode-languageserver-4.4.2"
-      sources."vscode-languageserver-protocol-3.17.1"
+      sources."vscode-languageserver-protocol-3.17.2"
       sources."vscode-languageserver-protocol-foldingprovider-2.0.1"
-      sources."vscode-languageserver-types-3.17.1"
+      sources."vscode-languageserver-types-3.17.2"
       sources."vscode-nls-3.2.5"
       sources."vscode-uri-1.0.8"
     ];
@@ -133529,7 +134270,7 @@ in
       sources."es6-promisify-5.0.0"
       sources."http-proxy-agent-2.1.0"
       sources."https-proxy-agent-2.2.4"
-      sources."jsonc-parser-3.0.0"
+      sources."jsonc-parser-3.1.0"
       sources."ms-2.0.0"
       sources."request-light-0.4.0"
       (sources."vscode-json-languageservice-4.2.1" // {
@@ -133545,7 +134286,7 @@ in
         ];
       })
       sources."vscode-languageserver-textdocument-1.0.5"
-      sources."vscode-languageserver-types-3.17.1"
+      sources."vscode-languageserver-types-3.17.2"
       sources."vscode-nls-4.1.2"
       sources."vscode-uri-3.0.3"
     ];
@@ -133582,7 +134323,7 @@ in
       })
       (sources."vscode-json-languageservice-3.11.0" // {
         dependencies = [
-          sources."jsonc-parser-3.0.0"
+          sources."jsonc-parser-3.1.0"
           sources."vscode-nls-5.0.1"
           sources."vscode-uri-2.1.2"
         ];
@@ -133612,31 +134353,33 @@ in
   vscode-langservers-extracted = nodeEnv.buildNodePackage {
     name = "vscode-langservers-extracted";
     packageName = "vscode-langservers-extracted";
-    version = "4.2.1";
+    version = "4.4.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/vscode-langservers-extracted/-/vscode-langservers-extracted-4.2.1.tgz";
-      sha512 = "Un7gzQgvACjGtsT0Yll5QqHgL65a4mTK5ChgMnO4dgTZ3tuwJCaP84oztBqvuFZzN9QxA3C07J4QEQvf1xjcgQ==";
+      url = "https://registry.npmjs.org/vscode-langservers-extracted/-/vscode-langservers-extracted-4.4.0.tgz";
+      sha512 = "sWXDFmAvXMUhF5E+6v4e77SwhVPSvdLxGGfkOz15LmAsfKoamKMnW7aARnu6mRWOzqz3hKJqVZN4hnCpdvtLKg==";
     };
     dependencies = [
-      sources."core-js-3.23.2"
-      sources."jsonc-parser-3.0.0"
+      sources."core-js-3.24.1"
+      sources."jsonc-parser-3.1.0"
+      sources."picomatch-2.3.1"
       sources."regenerator-runtime-0.13.9"
       sources."request-light-0.5.8"
       sources."typescript-4.7.4"
-      sources."vscode-css-languageservice-5.4.2"
-      sources."vscode-html-languageservice-4.2.5"
-      sources."vscode-json-languageservice-4.2.1"
-      sources."vscode-jsonrpc-8.0.1"
-      sources."vscode-languageserver-8.0.1"
-      sources."vscode-languageserver-protocol-3.17.1"
+      sources."vscode-css-languageservice-6.0.1"
+      sources."vscode-html-languageservice-5.0.1"
+      sources."vscode-json-languageservice-5.1.0"
+      sources."vscode-jsonrpc-8.0.2"
+      sources."vscode-languageserver-8.0.2"
+      sources."vscode-languageserver-protocol-3.17.2"
       sources."vscode-languageserver-textdocument-1.0.5"
-      sources."vscode-languageserver-types-3.17.1"
+      sources."vscode-languageserver-types-3.17.2"
+      sources."vscode-markdown-languageservice-0.0.0-alpha.13"
       sources."vscode-nls-5.0.1"
       sources."vscode-uri-3.0.3"
     ];
     buildInputs = globalBuildInputs;
     meta = {
-      description = "HTML/CSS/JSON language servers extracted from [vscode](https://github.com/Microsoft/vscode).";
+      description = "HTML/CSS/JSON/ESLint language servers extracted from [vscode](https://github.com/Microsoft/vscode).";
       homepage = "https://github.com/hrsh7th/vscode-langservers-extracted#readme";
       license = "MIT";
     };
@@ -133651,19 +134394,19 @@ in
     src = ../../applications/editors/vscode/extensions/vscode-lldb/build-deps;
     dependencies = [
       sources."@discoveryjs/json-ext-0.5.7"
-      sources."@jridgewell/gen-mapping-0.3.1"
-      sources."@jridgewell/resolve-uri-3.0.7"
-      sources."@jridgewell/set-array-1.1.1"
+      sources."@jridgewell/gen-mapping-0.3.2"
+      sources."@jridgewell/resolve-uri-3.1.0"
+      sources."@jridgewell/set-array-1.1.2"
       sources."@jridgewell/source-map-0.3.2"
-      sources."@jridgewell/sourcemap-codec-1.4.13"
-      sources."@jridgewell/trace-mapping-0.3.13"
-      sources."@types/eslint-8.4.3"
-      sources."@types/eslint-scope-3.7.3"
+      sources."@jridgewell/sourcemap-codec-1.4.14"
+      sources."@jridgewell/trace-mapping-0.3.14"
+      sources."@types/eslint-8.4.5"
+      sources."@types/eslint-scope-3.7.4"
       sources."@types/estree-0.0.51"
       sources."@types/json-schema-7.0.11"
       sources."@types/mocha-7.0.2"
       sources."@types/node-8.10.66"
-      sources."@types/vscode-1.68.0"
+      sources."@types/vscode-1.69.0"
       sources."@types/yauzl-2.10.0"
       sources."@ungap/promise-all-settled-1.1.2"
       sources."@webassemblyjs/ast-1.11.1"
@@ -133686,7 +134429,7 @@ in
       sources."@webpack-cli/serve-1.7.0"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
-      sources."acorn-8.7.1"
+      sources."acorn-8.8.0"
       sources."acorn-import-assertions-1.8.0"
       sources."ajv-6.12.6"
       sources."ajv-keywords-3.5.2"
@@ -133703,18 +134446,18 @@ in
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."browser-stdout-1.3.1"
-      sources."browserslist-4.20.4"
+      sources."browserslist-4.21.3"
       sources."buffer-crc32-0.2.13"
       sources."buffer-from-1.1.2"
       sources."call-bind-1.0.2"
       sources."camelcase-6.3.0"
-      sources."caniuse-lite-1.0.30001358"
+      sources."caniuse-lite-1.0.30001373"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."supports-color-7.2.0"
         ];
       })
-      sources."cheerio-1.0.0-rc.11"
+      sources."cheerio-1.0.0-rc.12"
       sources."cheerio-select-2.1.0"
       sources."chokidar-3.5.1"
       sources."chrome-trace-event-1.0.3"
@@ -133748,11 +134491,11 @@ in
       sources."domelementtype-2.3.0"
       sources."domhandler-5.0.3"
       sources."domutils-3.0.1"
-      sources."electron-to-chromium-1.4.164"
+      sources."electron-to-chromium-1.4.211"
       sources."emoji-regex-8.0.0"
       sources."emojis-list-3.0.0"
-      sources."enhanced-resolve-5.9.3"
-      sources."entities-4.3.0"
+      sources."enhanced-resolve-5.10.0"
+      sources."entities-4.3.1"
       sources."envinfo-7.8.1"
       sources."errno-0.1.8"
       sources."es-module-lexer-0.9.3"
@@ -133768,7 +134511,7 @@ in
       sources."events-3.3.0"
       sources."fast-deep-equal-3.1.3"
       sources."fast-json-stable-stringify-2.1.0"
-      sources."fastest-levenshtein-1.0.12"
+      sources."fastest-levenshtein-1.0.16"
       sources."fd-slicer-1.1.0"
       sources."fill-range-7.0.1"
       sources."find-up-5.0.0"
@@ -133844,7 +134587,7 @@ in
       sources."mute-stream-0.0.8"
       sources."nanoid-3.1.20"
       sources."neo-async-2.6.2"
-      sources."node-releases-2.0.5"
+      sources."node-releases-2.0.6"
       sources."normalize-path-3.0.0"
       sources."nth-check-2.1.1"
       sources."object-inspect-1.12.2"
@@ -133876,7 +134619,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."prr-1.0.1"
       sources."punycode-2.1.1"
-      sources."qs-6.10.5"
+      sources."qs-6.11.0"
       sources."randombytes-2.1.0"
       sources."read-1.0.7"
       sources."readable-stream-1.0.34"
@@ -133905,7 +134648,7 @@ in
       sources."supports-color-8.1.1"
       sources."supports-preserve-symlinks-flag-1.0.0"
       sources."tapable-2.2.1"
-      (sources."terser-5.14.1" // {
+      (sources."terser-5.14.2" // {
         dependencies = [
           sources."commander-2.20.3"
         ];
@@ -133924,12 +134667,12 @@ in
           sources."tapable-1.1.3"
         ];
       })
-      sources."tslib-2.4.0"
       sources."tunnel-0.0.6"
       sources."typed-rest-client-1.8.9"
       sources."typescript-4.7.4"
       sources."uc.micro-1.0.6"
       sources."underscore-1.13.4"
+      sources."update-browserslist-db-1.0.5"
       sources."uri-js-4.4.1"
       sources."url-join-1.1.0"
       sources."util-deprecate-1.0.2"
@@ -133947,7 +134690,7 @@ in
       sources."vscode-debugadapter-testsupport-1.51.0"
       sources."vscode-debugprotocol-1.51.0"
       sources."watchpack-2.4.0"
-      sources."webpack-5.73.0"
+      sources."webpack-5.74.0"
       (sources."webpack-cli-4.10.0" // {
         dependencies = [
           sources."commander-7.2.0"
@@ -134068,7 +134811,7 @@ in
       sources."delayed-stream-1.0.0"
       sources."download-5.0.3"
       sources."download-git-repo-1.1.0"
-      sources."duplexer3-0.1.4"
+      sources."duplexer3-0.1.5"
       sources."ecc-jsbn-0.1.2"
       sources."end-of-stream-1.4.4"
       sources."escape-string-regexp-1.0.5"
@@ -134179,7 +134922,7 @@ in
       sources."prepend-http-1.0.4"
       sources."process-nextick-args-2.0.1"
       sources."proto-list-1.2.4"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.3"
       sources."read-metadata-1.0.0"
@@ -134236,7 +134979,7 @@ in
       sources."tslib-1.14.1"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."uglify-js-3.16.1"
+      sources."uglify-js-3.16.3"
       sources."uid-0.0.2"
       sources."unbzip2-stream-1.4.3"
       sources."unzip-response-2.0.1"
@@ -134280,9 +135023,9 @@ in
       sha512 = "/dd2bJLxOmX8Ie0EPTlmU+F8cxAekn/1m8K9OAFoijm4fc8SdHznFUUEKuz2RMMhsaL5+rccj8xLFAJELYNbaA==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/highlight-7.17.12"
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      sources."@babel/highlight-7.18.6"
       sources."@emmetio/extract-abbreviation-0.1.6"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.stat-1.1.3"
@@ -134298,7 +135041,7 @@ in
       sources."@starptech/rehype-webparser-0.10.0"
       sources."@starptech/webparser-0.10.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/unist-2.0.6"
       sources."@types/vfile-3.0.2"
       sources."@types/vfile-message-2.0.0"
@@ -134426,7 +135169,7 @@ in
       sources."cli-width-2.2.1"
       sources."cliui-4.1.0"
       sources."clone-1.0.4"
-      sources."clone-response-1.0.2"
+      sources."clone-response-1.0.3"
       sources."co-4.6.0"
       sources."code-point-at-1.1.0"
       sources."collapse-white-space-1.0.6"
@@ -134478,7 +135221,7 @@ in
       sources."dlv-1.1.3"
       sources."doctrine-3.0.0"
       sources."dot-prop-4.2.1"
-      sources."duplexer3-0.1.4"
+      sources."duplexer3-0.1.5"
       sources."editorconfig-0.15.3"
       sources."element-helper-json-2.0.6"
       sources."emoji-regex-8.0.0"
@@ -135160,11 +135903,11 @@ in
         ];
       })
       sources."vscode-emmet-helper-1.2.17"
-      sources."vscode-jsonrpc-8.0.1"
+      sources."vscode-jsonrpc-8.0.2"
       sources."vscode-languageserver-5.3.0-next.10"
-      sources."vscode-languageserver-protocol-3.17.1"
+      sources."vscode-languageserver-protocol-3.17.2"
       sources."vscode-languageserver-textdocument-1.0.5"
-      sources."vscode-languageserver-types-3.17.1"
+      sources."vscode-languageserver-types-3.17.2"
       sources."vscode-nls-5.0.1"
       sources."vscode-textbuffer-1.0.0"
       sources."vscode-uri-1.0.8"
@@ -135224,13 +135967,13 @@ in
       sha512 = "slGcIXCA/j5d2uzQ7flA4/veF0P0eE+Om/Bw7uEO2LC9a3mVNdB+2bSR1CILMjvgyFy9Q9D6eseomQgp7UW5Dg==";
     };
     dependencies = [
-      sources."@babel/runtime-corejs3-7.18.3"
+      sources."@babel/runtime-corejs3-7.18.9"
       sources."@mapbox/node-pre-gyp-1.0.9"
       sources."@tootallnate/once-1.1.2"
       sources."@types/raf-3.4.0"
       sources."abab-2.0.6"
       sources."abbrev-1.1.1"
-      sources."acorn-8.7.1"
+      sources."acorn-8.8.0"
       (sources."acorn-globals-6.0.0" // {
         dependencies = [
           sources."acorn-7.4.1"
@@ -135249,7 +135992,7 @@ in
       sources."brace-expansion-1.1.11"
       sources."browser-process-hrtime-1.0.0"
       sources."btoa-1.2.1"
-      sources."canvas-2.9.1"
+      sources."canvas-2.9.3"
       sources."canvg-3.0.7"
       sources."chownr-2.0.0"
       sources."cliui-7.0.4"
@@ -135259,7 +136002,7 @@ in
       sources."combined-stream-1.0.8"
       sources."concat-map-0.0.1"
       sources."console-control-strings-1.1.0"
-      sources."core-js-pure-3.23.2"
+      sources."core-js-pure-3.24.1"
       sources."cssom-0.4.4"
       (sources."cssstyle-2.3.0" // {
         dependencies = [
@@ -135331,7 +136074,7 @@ in
       sources."mime-types-2.1.35"
       sources."mimic-response-2.1.0"
       sources."minimatch-3.1.2"
-      sources."minipass-3.3.3"
+      sources."minipass-3.3.5"
       sources."minizlib-2.1.2"
       sources."mkdirp-1.0.4"
       sources."ms-2.1.2"
@@ -135339,7 +136082,7 @@ in
       sources."node-fetch-2.6.7"
       sources."nopt-5.0.0"
       sources."npmlog-5.0.1"
-      sources."nwsapi-2.2.0"
+      sources."nwsapi-2.2.1"
       sources."object-assign-4.1.1"
       sources."once-1.4.0"
       sources."onml-2.1.0"
@@ -135348,7 +136091,7 @@ in
       sources."path-is-absolute-1.0.1"
       sources."performance-now-2.1.0"
       sources."prelude-ls-1.1.2"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."punycode-2.1.1"
       sources."raf-3.4.1"
       sources."readable-stream-3.6.0"
@@ -135395,13 +136138,13 @@ in
       sources."word-wrap-1.2.3"
       sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
-      sources."ws-7.5.8"
+      sources."ws-7.5.9"
       sources."xml-name-validator-3.0.0"
       sources."xmlchars-2.2.0"
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
       sources."yargs-17.5.1"
-      sources."yargs-parser-21.0.1"
+      sources."yargs-parser-21.1.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -135416,15 +136159,15 @@ in
   web-ext = nodeEnv.buildNodePackage {
     name = "web-ext";
     packageName = "web-ext";
-    version = "7.1.0";
+    version = "7.1.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/web-ext/-/web-ext-7.1.0.tgz";
-      sha512 = "wrEU9uIieKwkqQaa2NESuaypIvtJWEvMzPh3LSfI3C6R7DMMTmtxHchVLJnupeWjQ1FJzc3TszfcVRIwXk8DfQ==";
+      url = "https://registry.npmjs.org/web-ext/-/web-ext-7.1.1.tgz";
+      sha512 = "ehqPS8QHNKyAz6C1NBkDNbzWtuM9LfGMWF2WZx+9U1TCRdoLdZAqHhxF5hDwZFAPKkPW/iuQQ6r2qQiv7T3aYw==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      (sources."@babel/highlight-7.17.12" // {
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      (sources."@babel/highlight-7.18.6" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
@@ -135435,7 +136178,7 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      sources."@babel/runtime-7.18.3"
+      sources."@babel/runtime-7.18.6"
       sources."@devicefarmer/adbkit-3.2.3"
       sources."@devicefarmer/adbkit-logcat-2.1.2"
       sources."@devicefarmer/adbkit-monkey-1.2.1"
@@ -135448,21 +136191,33 @@ in
       })
       sources."@humanwhocodes/config-array-0.9.5"
       sources."@humanwhocodes/object-schema-1.2.1"
-      sources."@mdn/browser-compat-data-5.1.1"
-      sources."@sindresorhus/is-0.14.0"
-      sources."@szmarczak/http-timer-1.1.2"
+      sources."@mdn/browser-compat-data-5.1.2"
+      sources."@pnpm/network.ca-file-1.0.1"
+      sources."@pnpm/npm-conf-1.0.5"
+      sources."@sindresorhus/is-5.3.0"
+      sources."@szmarczak/http-timer-5.0.1"
+      sources."@types/cacheable-request-6.0.2"
+      sources."@types/http-cache-semantics-4.0.1"
+      sources."@types/json-buffer-3.0.0"
+      sources."@types/keyv-3.1.4"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-18.0.0"
-      sources."@types/yauzl-2.9.2"
-      sources."acorn-8.7.1"
+      sources."@types/node-18.6.3"
+      sources."@types/responselike-1.0.0"
+      sources."@types/yauzl-2.10.0"
+      sources."abort-controller-3.0.0"
+      sources."acorn-8.8.0"
       sources."acorn-jsx-5.3.2"
-      sources."addons-linter-5.9.0"
+      sources."addons-linter-5.10.0"
       sources."addons-moz-compare-1.2.0"
-      sources."addons-scanner-utils-7.0.0"
+      sources."addons-scanner-utils-7.1.0"
       sources."adm-zip-0.5.9"
       sources."ajv-8.11.0"
       sources."ajv-merge-patch-5.0.1"
-      sources."ansi-align-3.0.1"
+      (sources."ansi-align-3.0.1" // {
+        dependencies = [
+          sources."string-width-4.2.3"
+        ];
+      })
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
       sources."any-promise-1.3.0"
@@ -135481,9 +136236,10 @@ in
       sources."bcrypt-pbkdf-1.0.2"
       sources."bluebird-3.7.2"
       sources."boolbase-1.0.0"
-      (sources."boxen-5.1.2" // {
+      (sources."boxen-7.0.0" // {
         dependencies = [
-          sources."camelcase-6.3.0"
+          sources."chalk-5.0.1"
+          sources."type-fest-2.18.0"
         ];
       })
       sources."brace-expansion-1.1.11"
@@ -135491,7 +136247,8 @@ in
       sources."buffer-equal-constant-time-1.0.1"
       sources."buffer-from-1.1.2"
       sources."bunyan-1.8.15"
-      (sources."cacheable-request-6.1.0" // {
+      sources."cacheable-lookup-6.0.4"
+      (sources."cacheable-request-7.0.2" // {
         dependencies = [
           sources."lowercase-keys-2.0.0"
         ];
@@ -135500,46 +136257,64 @@ in
       sources."camelcase-7.0.0"
       sources."caseless-0.12.0"
       sources."chalk-4.1.2"
-      sources."cheerio-1.0.0-rc.11"
+      sources."cheerio-1.0.0-rc.12"
       sources."cheerio-select-2.1.0"
       sources."chrome-launcher-0.15.1"
-      sources."ci-info-2.0.0"
-      sources."cli-boxes-2.2.1"
-      sources."cliui-7.0.4"
+      sources."ci-info-3.3.2"
+      sources."cli-boxes-3.0.0"
+      (sources."cliui-7.0.4" // {
+        dependencies = [
+          sources."string-width-4.2.3"
+          sources."wrap-ansi-7.0.0"
+        ];
+      })
       sources."clone-1.0.4"
-      sources."clone-response-1.0.2"
+      sources."clone-response-1.0.3"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."columnify-1.6.0"
       sources."combined-stream-1.0.8"
-      sources."commander-9.3.0"
+      sources."commander-9.4.0"
       sources."common-tags-1.8.2"
+      sources."compress-brotli-1.3.8"
       sources."concat-map-0.0.1"
       (sources."concat-stream-1.6.2" // {
         dependencies = [
           sources."readable-stream-2.3.7"
           sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
         ];
       })
-      sources."configstore-5.0.1"
+      (sources."config-chain-1.1.13" // {
+        dependencies = [
+          sources."ini-1.3.8"
+        ];
+      })
+      sources."configstore-6.0.0"
       sources."core-js-3.22.8"
       sources."core-util-is-1.0.3"
       sources."cross-spawn-7.0.3"
-      sources."crypto-random-string-2.0.0"
+      (sources."crypto-random-string-4.0.0" // {
+        dependencies = [
+          sources."type-fest-1.4.0"
+        ];
+      })
       sources."css-select-5.1.0"
       sources."css-what-6.1.0"
       sources."dashdash-1.14.1"
       sources."debounce-1.2.1"
       sources."debug-4.3.4"
       sources."decamelize-6.0.0"
-      sources."decompress-response-3.3.0"
+      (sources."decompress-response-6.0.0" // {
+        dependencies = [
+          sources."mimic-response-3.1.0"
+        ];
+      })
       sources."deep-extend-0.6.0"
       sources."deep-is-0.1.4"
       sources."deepcopy-2.1.0"
       sources."deepmerge-4.2.2"
       sources."defaults-1.0.3"
-      sources."defer-to-connect-1.1.3"
+      sources."defer-to-connect-2.0.1"
       sources."define-lazy-prop-2.0.0"
       sources."delayed-stream-1.0.0"
       sources."doctrine-3.0.0"
@@ -135547,20 +136322,19 @@ in
       sources."domelementtype-2.3.0"
       sources."domhandler-5.0.3"
       sources."domutils-3.0.1"
-      sources."dot-prop-5.3.0"
+      sources."dot-prop-6.0.1"
       sources."dtrace-provider-0.8.8"
-      sources."duplexer3-0.1.4"
-      sources."duplexify-4.1.2"
+      sources."eastasianwidth-0.2.0"
       sources."ecc-jsbn-0.1.2"
       sources."ecdsa-sig-formatter-1.0.11"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
-      sources."entities-4.3.0"
+      sources."entities-4.3.1"
       sources."error-ex-1.3.2"
       sources."es6-error-4.1.1"
       sources."es6-promisify-7.0.0"
       sources."escalade-3.1.1"
-      sources."escape-goat-2.1.1"
+      sources."escape-goat-4.0.0"
       sources."escape-string-regexp-4.0.0"
       (sources."eslint-8.18.0" // {
         dependencies = [
@@ -135583,6 +136357,7 @@ in
       sources."esrecurse-4.3.0"
       sources."estraverse-5.3.0"
       sources."esutils-2.0.3"
+      sources."event-target-shim-5.0.1"
       sources."execa-4.1.0"
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
@@ -135604,10 +136379,11 @@ in
       })
       sources."first-chunk-stream-3.0.0"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.2.5"
+      sources."flatted-3.2.6"
       sources."fluent-syntax-0.13.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
+      sources."form-data-encoder-2.0.1"
       (sources."fs-extra-10.1.0" // {
         dependencies = [
           sources."universalify-2.0.0"
@@ -135634,10 +136410,10 @@ in
       sources."glob-parent-6.0.2"
       sources."glob-to-regexp-0.4.1"
       sources."global-dirs-3.0.0"
-      sources."globals-13.15.0"
-      (sources."got-9.6.0" // {
+      sources."globals-13.17.0"
+      (sources."got-12.3.0" // {
         dependencies = [
-          sources."get-stream-4.1.0"
+          sources."get-stream-6.0.1"
         ];
       })
       sources."graceful-fs-4.2.10"
@@ -135651,16 +136427,17 @@ in
         ];
       })
       sources."has-flag-4.0.0"
-      sources."has-yarn-2.1.0"
+      sources."has-yarn-3.0.0"
       sources."htmlparser2-8.0.1"
       sources."http-cache-semantics-4.1.0"
       sources."http-signature-1.2.0"
+      sources."http2-wrapper-2.1.11"
       sources."human-signals-1.1.1"
       sources."ignore-5.2.0"
       sources."image-size-1.0.1"
       sources."immediate-3.0.6"
       sources."import-fresh-3.3.0"
-      sources."import-lazy-2.1.0"
+      sources."import-lazy-4.0.0"
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -135668,14 +136445,14 @@ in
       sources."invert-kv-3.0.1"
       sources."is-absolute-0.1.7"
       sources."is-arrayish-0.2.1"
-      sources."is-ci-2.0.0"
+      sources."is-ci-3.0.1"
       sources."is-docker-2.2.1"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.3"
       sources."is-installed-globally-0.4.0"
       sources."is-mergeable-object-1.1.1"
-      sources."is-npm-5.0.0"
+      sources."is-npm-6.0.0"
       sources."is-obj-2.0.0"
       sources."is-path-inside-3.0.3"
       sources."is-relative-0.1.3"
@@ -135683,7 +136460,7 @@ in
       sources."is-typedarray-1.0.0"
       sources."is-utf8-0.2.1"
       sources."is-wsl-2.2.0"
-      sources."is-yarn-global-0.3.0"
+      sources."is-yarn-global-0.4.0"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."isstream-0.1.2"
@@ -135691,7 +136468,7 @@ in
       sources."js-tokens-4.0.0"
       sources."js-yaml-4.1.0"
       sources."jsbn-0.1.1"
-      sources."json-buffer-3.0.0"
+      sources."json-buffer-3.0.1"
       sources."json-merge-patch-1.0.2"
       sources."json-parse-even-better-errors-2.3.1"
       sources."json-schema-0.4.0"
@@ -135709,17 +136486,16 @@ in
         ];
       })
       sources."jsprim-1.4.2"
-      (sources."jszip-3.10.0" // {
+      (sources."jszip-3.10.1" // {
         dependencies = [
           sources."readable-stream-2.3.7"
           sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
         ];
       })
       sources."jwa-1.4.1"
       sources."jws-3.2.2"
-      sources."keyv-3.1.0"
-      sources."latest-version-5.1.0"
+      sources."keyv-4.3.3"
+      sources."latest-version-7.0.0"
       sources."lcid-3.1.1"
       sources."levn-0.4.1"
       sources."lie-3.3.0"
@@ -135738,16 +136514,11 @@ in
       sources."lodash.isstring-4.0.1"
       sources."lodash.merge-4.6.2"
       sources."lodash.once-4.1.1"
-      sources."lowercase-keys-1.0.1"
+      sources."lowercase-keys-3.0.0"
       sources."lru-cache-6.0.0"
-      (sources."make-dir-3.1.0" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
       sources."make-error-1.3.6"
       sources."map-age-cleaner-0.1.3"
-      sources."marky-1.2.4"
+      sources."marky-1.2.5"
       sources."mem-5.1.1"
       sources."merge-stream-2.0.0"
       sources."mime-db-1.52.0"
@@ -135757,7 +136528,7 @@ in
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
       sources."mkdirp-1.0.4"
-      sources."moment-2.29.3"
+      sources."moment-2.29.4"
       sources."ms-2.1.2"
       sources."multimatch-6.0.0"
       (sources."mv-2.1.1" // {
@@ -135774,26 +136545,22 @@ in
       sources."ncp-2.0.0"
       sources."node-forge-1.3.1"
       sources."node-notifier-10.0.1"
-      sources."normalize-url-4.5.1"
+      sources."normalize-url-6.1.0"
       sources."npm-run-path-4.0.1"
       sources."nth-check-2.1.1"
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
-      sources."on-exit-leak-free-1.0.0"
+      sources."on-exit-leak-free-2.1.0"
       sources."once-1.4.0"
       sources."onetime-5.1.2"
       sources."open-8.4.0"
       sources."optionator-0.9.1"
       sources."os-locale-5.0.0"
       sources."os-shim-0.1.3"
-      sources."p-cancelable-1.1.0"
+      sources."p-cancelable-3.0.0"
       sources."p-defer-1.0.0"
       sources."p-is-promise-2.1.0"
-      (sources."package-json-6.5.0" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
+      sources."package-json-8.1.0"
       sources."pako-1.0.11"
       sources."parent-module-1.0.1"
       sources."parse-json-6.0.2"
@@ -135804,34 +136571,35 @@ in
       sources."pend-1.2.0"
       sources."performance-now-2.1.0"
       sources."picocolors-1.0.0"
-      sources."pino-8.0.0"
-      sources."pino-abstract-transport-0.5.0"
+      sources."pino-8.1.0"
+      sources."pino-abstract-transport-1.0.0"
       sources."pino-std-serializers-5.6.0"
       sources."postcss-8.4.14"
       sources."prelude-ls-1.2.1"
-      sources."prepend-http-2.0.0"
       sources."process-nextick-args-2.0.1"
       sources."process-warning-2.0.0"
       sources."promise-toolbox-0.21.0"
-      sources."psl-1.8.0"
+      sources."proto-list-1.2.4"
+      sources."psl-1.9.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
-      sources."pupa-2.1.1"
+      sources."pupa-3.1.0"
       sources."qs-6.5.3"
       sources."queue-6.0.2"
       sources."quick-format-unescaped-4.0.4"
+      sources."quick-lru-5.1.1"
       (sources."rc-1.2.8" // {
         dependencies = [
           sources."ini-1.3.8"
           sources."strip-json-comments-2.0.1"
         ];
       })
-      sources."readable-stream-3.6.0"
+      sources."readable-stream-4.1.0"
       sources."real-require-0.1.0"
       sources."regenerator-runtime-0.13.9"
       sources."regexpp-3.2.0"
-      sources."registry-auth-token-4.2.2"
-      sources."registry-url-5.1.0"
+      sources."registry-auth-token-5.0.1"
+      sources."registry-url-6.0.1"
       (sources."relaxed-json-1.0.3" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
@@ -135851,8 +136619,13 @@ in
       })
       sources."require-directory-2.1.1"
       sources."require-from-string-2.0.2"
+      sources."resolve-alpn-1.2.1"
       sources."resolve-from-4.0.0"
-      sources."responselike-1.0.2"
+      (sources."responselike-2.0.1" // {
+        dependencies = [
+          sources."lowercase-keys-2.0.0"
+        ];
+      })
       (sources."rimraf-3.0.2" // {
         dependencies = [
           sources."glob-7.2.3"
@@ -135864,11 +136637,7 @@ in
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
       sources."semver-7.3.7"
-      (sources."semver-diff-3.1.1" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
+      sources."semver-diff-4.0.0"
       sources."setimmediate-1.0.5"
       sources."sha.js-2.4.11"
       sources."shebang-command-2.0.0"
@@ -135877,7 +136646,7 @@ in
       sources."shellwords-0.1.1"
       sources."sign-addon-5.0.0"
       sources."signal-exit-3.0.7"
-      sources."sonic-boom-3.0.0"
+      sources."sonic-boom-3.2.0"
       sources."source-map-0.6.1"
       sources."source-map-js-1.0.2"
       sources."source-map-support-0.5.21"
@@ -135885,11 +136654,20 @@ in
       sources."split-1.0.1"
       sources."split2-4.1.0"
       sources."sshpk-1.17.0"
-      sources."stream-shift-1.0.1"
       sources."stream-to-array-2.3.0"
       sources."stream-to-promise-3.0.0"
-      sources."string-width-4.2.3"
-      sources."string_decoder-1.3.0"
+      (sources."string-width-5.1.2" // {
+        dependencies = [
+          sources."ansi-regex-6.0.1"
+          sources."emoji-regex-9.2.2"
+          sources."strip-ansi-7.0.1"
+        ];
+      })
+      (sources."string_decoder-1.1.1" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
       sources."strip-ansi-6.0.1"
       sources."strip-bom-5.0.0"
       sources."strip-bom-buf-2.0.0"
@@ -135900,13 +136678,11 @@ in
       sources."text-table-0.2.0"
       sources."thenify-3.3.1"
       sources."thenify-all-1.6.0"
-      sources."thread-stream-1.0.0"
+      sources."thread-stream-1.0.1"
       sources."through-2.3.8"
       sources."tmp-0.2.1"
-      sources."to-readable-stream-1.0.0"
       sources."tosource-1.0.0"
       sources."tough-cookie-2.5.0"
-      sources."tslib-2.4.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-check-0.4.0"
@@ -135914,12 +136690,15 @@ in
       sources."type-fest-0.20.2"
       sources."typedarray-0.0.6"
       sources."typedarray-to-buffer-3.1.5"
-      sources."unique-string-2.0.0"
+      sources."unique-string-3.0.0"
       sources."universalify-1.0.0"
       sources."upath-2.0.1"
-      sources."update-notifier-5.1.0"
+      (sources."update-notifier-6.0.2" // {
+        dependencies = [
+          sources."chalk-5.0.1"
+        ];
+      })
       sources."uri-js-4.4.1"
-      sources."url-parse-lax-3.0.0"
       sources."util-deprecate-1.0.2"
       sources."uuid-8.3.2"
       sources."v8-compile-cache-2.3.0"
@@ -135932,20 +136711,30 @@ in
       sources."wcwidth-1.0.1"
       sources."when-3.7.7"
       sources."which-2.0.2"
-      sources."widest-line-3.1.0"
+      sources."widest-line-4.0.1"
       sources."winreg-0.0.12"
       sources."word-wrap-1.2.3"
-      sources."wrap-ansi-7.0.0"
+      (sources."wrap-ansi-8.0.1" // {
+        dependencies = [
+          sources."ansi-regex-6.0.1"
+          sources."ansi-styles-6.1.0"
+          sources."strip-ansi-7.0.1"
+        ];
+      })
       sources."wrappy-1.0.2"
       sources."write-file-atomic-3.0.3"
       sources."ws-8.8.0"
-      sources."xdg-basedir-4.0.0"
+      sources."xdg-basedir-5.1.0"
       sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
-      sources."yargs-17.5.1"
-      sources."yargs-parser-21.0.1"
+      (sources."yargs-17.5.1" // {
+        dependencies = [
+          sources."string-width-4.2.3"
+        ];
+      })
+      sources."yargs-parser-21.1.0"
       sources."yauzl-2.10.0"
       sources."zip-dir-2.0.0"
     ];
@@ -135962,23 +136751,23 @@ in
   webpack = nodeEnv.buildNodePackage {
     name = "webpack";
     packageName = "webpack";
-    version = "5.73.0";
+    version = "5.74.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz";
-      sha512 = "svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==";
+      url = "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz";
+      sha512 = "A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==";
     };
     dependencies = [
-      sources."@jridgewell/gen-mapping-0.3.1"
-      sources."@jridgewell/resolve-uri-3.0.7"
-      sources."@jridgewell/set-array-1.1.1"
+      sources."@jridgewell/gen-mapping-0.3.2"
+      sources."@jridgewell/resolve-uri-3.1.0"
+      sources."@jridgewell/set-array-1.1.2"
       sources."@jridgewell/source-map-0.3.2"
-      sources."@jridgewell/sourcemap-codec-1.4.13"
-      sources."@jridgewell/trace-mapping-0.3.13"
-      sources."@types/eslint-8.4.3"
-      sources."@types/eslint-scope-3.7.3"
+      sources."@jridgewell/sourcemap-codec-1.4.14"
+      sources."@jridgewell/trace-mapping-0.3.14"
+      sources."@types/eslint-8.4.5"
+      sources."@types/eslint-scope-3.7.4"
       sources."@types/estree-0.0.51"
       sources."@types/json-schema-7.0.11"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@webassemblyjs/ast-1.11.1"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.1"
       sources."@webassemblyjs/helper-api-error-1.11.1"
@@ -135996,17 +136785,17 @@ in
       sources."@webassemblyjs/wast-printer-1.11.1"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
-      sources."acorn-8.7.1"
+      sources."acorn-8.8.0"
       sources."acorn-import-assertions-1.8.0"
       sources."ajv-6.12.6"
       sources."ajv-keywords-3.5.2"
-      sources."browserslist-4.20.4"
+      sources."browserslist-4.21.3"
       sources."buffer-from-1.1.2"
-      sources."caniuse-lite-1.0.30001358"
+      sources."caniuse-lite-1.0.30001373"
       sources."chrome-trace-event-1.0.3"
       sources."commander-2.20.3"
-      sources."electron-to-chromium-1.4.164"
-      sources."enhanced-resolve-5.9.3"
+      sources."electron-to-chromium-1.4.211"
+      sources."enhanced-resolve-5.10.0"
       sources."es-module-lexer-0.9.3"
       sources."escalade-3.1.1"
       sources."eslint-scope-5.1.1"
@@ -136030,7 +136819,7 @@ in
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."neo-async-2.6.2"
-      sources."node-releases-2.0.5"
+      sources."node-releases-2.0.6"
       sources."picocolors-1.0.0"
       sources."punycode-2.1.1"
       sources."randombytes-2.1.0"
@@ -136041,8 +136830,9 @@ in
       sources."source-map-support-0.5.21"
       sources."supports-color-8.1.1"
       sources."tapable-2.2.1"
-      sources."terser-5.14.1"
+      sources."terser-5.14.2"
       sources."terser-webpack-plugin-5.3.3"
+      sources."update-browserslist-db-1.0.5"
       sources."uri-js-4.4.1"
       sources."watchpack-2.4.0"
       sources."webpack-sources-3.2.3"
@@ -136075,7 +136865,7 @@ in
       sources."commander-7.2.0"
       sources."cross-spawn-7.0.3"
       sources."envinfo-7.8.1"
-      sources."fastest-levenshtein-1.0.12"
+      sources."fastest-levenshtein-1.0.16"
       sources."find-up-4.1.0"
       sources."function-bind-1.1.1"
       sources."has-1.0.3"
@@ -136119,10 +136909,10 @@ in
   webpack-dev-server = nodeEnv.buildNodePackage {
     name = "webpack-dev-server";
     packageName = "webpack-dev-server";
-    version = "4.9.2";
+    version = "4.9.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.9.2.tgz";
-      sha512 = "H95Ns95dP24ZsEzO6G9iT+PNw4Q7ltll1GfJHV4fKphuHWgKFzGHWi4alTlTnpk1SPPk41X+l2RB7rLfIhnB9Q==";
+      url = "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.9.3.tgz";
+      sha512 = "3qp/eoboZG5/6QgiZ3llN8TUzkSpYg1Ko9khWX1h40MIEUNS2mDoIa8aXsPfskER+GbTvs/IJZ1QTBBhhuetSw==";
     };
     dependencies = [
       sources."@leichtgewicht/ip-codec-2.0.4"
@@ -136131,16 +136921,16 @@ in
       sources."@types/connect-3.4.35"
       sources."@types/connect-history-api-fallback-1.3.5"
       sources."@types/express-4.17.13"
-      sources."@types/express-serve-static-core-4.17.29"
+      sources."@types/express-serve-static-core-4.17.30"
       sources."@types/http-proxy-1.17.9"
       sources."@types/json-schema-7.0.11"
-      sources."@types/mime-1.3.2"
-      sources."@types/node-18.0.0"
+      sources."@types/mime-3.0.0"
+      sources."@types/node-18.6.3"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
       sources."@types/retry-0.12.0"
       sources."@types/serve-index-1.9.1"
-      sources."@types/serve-static-1.13.10"
+      sources."@types/serve-static-1.15.0"
       sources."@types/sockjs-0.3.33"
       sources."@types/ws-8.5.3"
       sources."accepts-1.3.8"
@@ -136168,7 +136958,7 @@ in
       sources."compressible-2.0.18"
       sources."compression-1.7.4"
       sources."concat-map-0.0.1"
-      sources."connect-history-api-fallback-1.6.0"
+      sources."connect-history-api-fallback-2.0.0"
       (sources."content-disposition-0.5.4" // {
         dependencies = [
           sources."safe-buffer-5.2.1"
@@ -136226,7 +137016,7 @@ in
       sources."html-entities-2.3.3"
       sources."http-deceiver-1.2.7"
       sources."http-errors-2.0.0"
-      sources."http-parser-js-0.5.6"
+      sources."http-parser-js-0.5.8"
       sources."http-proxy-1.18.1"
       sources."http-proxy-middleware-2.0.6"
       sources."human-signals-2.1.0"
@@ -136246,7 +137036,7 @@ in
       sources."isexe-2.0.0"
       sources."json-schema-traverse-1.0.0"
       sources."media-typer-0.3.0"
-      sources."memfs-3.4.6"
+      sources."memfs-3.4.7"
       sources."merge-descriptors-1.0.1"
       sources."merge-stream-2.0.0"
       sources."methods-1.1.2"
@@ -136353,7 +137143,7 @@ in
       sources."websocket-extensions-0.1.4"
       sources."which-2.0.2"
       sources."wrappy-1.0.2"
-      sources."ws-8.8.0"
+      sources."ws-8.8.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -136447,14 +137237,14 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/long-4.0.2"
-      sources."@types/node-18.0.0"
+      sources."@types/node-18.6.3"
       sources."@webtorrent/http-node-1.3.0"
       sources."addr-to-ip-port-1.5.4"
       sources."airplay-js-0.3.0"
       sources."ansi-escapes-4.3.2"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
-      sources."b4a-1.5.3"
+      sources."b4a-1.6.0"
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
       sources."bencode-2.0.3"
@@ -136524,7 +137314,7 @@ in
       })
       sources."chunk-store-stream-4.3.0"
       sources."cli-cursor-3.1.0"
-      sources."cli-spinners-2.6.1"
+      sources."cli-spinners-2.7.0"
       sources."cli-width-3.0.0"
       sources."cliui-7.0.4"
       sources."clone-1.0.4"
@@ -136542,7 +137332,7 @@ in
       })
       sources."core-util-is-1.0.3"
       sources."cpus-1.0.3"
-      sources."create-torrent-5.0.2"
+      sources."create-torrent-5.0.4"
       sources."debug-2.6.9"
       sources."decompress-response-3.3.0"
       sources."defaults-1.0.3"
@@ -136569,9 +137359,10 @@ in
       sources."escape-string-regexp-1.0.5"
       sources."events-3.3.0"
       sources."external-editor-3.1.0"
+      sources."fast-blob-stream-1.1.1"
       sources."fast-fifo-1.1.0"
+      sources."fast-readable-async-iterator-1.1.1"
       sources."figures-3.2.0"
-      sources."filestream-5.0.0"
       sources."freelist-1.0.3"
       (sources."fs-chunk-store-2.0.5" // {
         dependencies = [
@@ -136600,7 +137391,6 @@ in
       sources."is-file-1.0.0"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-interactive-1.0.0"
-      sources."is-typedarray-1.0.0"
       sources."is-unicode-supported-0.1.0"
       sources."is-wsl-2.2.0"
       sources."isarray-1.0.0"
@@ -136638,7 +137428,7 @@ in
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
       sources."mkdirp-classic-0.5.3"
-      sources."moment-2.29.3"
+      sources."moment-2.29.4"
       sources."mp4-box-encoding-1.4.1"
       sources."mp4-stream-3.1.3"
       sources."ms-2.0.0"
@@ -136653,7 +137443,7 @@ in
       sources."netmask-2.0.2"
       sources."network-address-1.1.2"
       sources."next-event-1.0.0"
-      sources."node-gyp-build-4.4.0"
+      sources."node-gyp-build-4.5.0"
       sources."node-ssdp-2.9.1"
       sources."nodebmc-0.0.7"
       sources."on-finished-2.4.1"
@@ -136707,7 +137497,7 @@ in
       sources."run-parallel-limit-1.1.0"
       sources."run-series-1.1.9"
       sources."rusha-0.8.14"
-      sources."rxjs-7.5.5"
+      sources."rxjs-7.5.6"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."sax-1.1.4"
@@ -136730,7 +137520,11 @@ in
         ];
       })
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.2"
+      (sources."socks-2.7.0" // {
+        dependencies = [
+          sources."ip-2.0.0"
+        ];
+      })
       sources."speed-limiter-1.0.2"
       sources."speedometer-1.1.0"
       sources."split-1.0.1"
@@ -136750,7 +137544,7 @@ in
       sources."timeout-refresh-1.0.3"
       sources."tmp-0.0.33"
       sources."to-arraybuffer-1.0.1"
-      (sources."torrent-discovery-9.4.12" // {
+      (sources."torrent-discovery-9.4.13" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
@@ -136760,7 +137554,6 @@ in
       sources."tslib-2.4.0"
       sources."type-fest-0.21.3"
       sources."typedarray-0.0.6"
-      sources."typedarray-to-buffer-3.1.5"
       sources."uint64be-2.0.2"
       sources."unordered-array-remove-1.0.2"
       sources."unordered-set-2.0.1"
@@ -136780,7 +137573,7 @@ in
       sources."videostream-3.2.2"
       sources."vlc-command-1.2.0"
       sources."wcwidth-1.0.1"
-      (sources."webtorrent-1.8.22" // {
+      (sources."webtorrent-1.8.26" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."decompress-response-6.0.0"
@@ -136792,13 +137585,13 @@ in
       sources."winreg-1.2.4"
       sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
-      sources."ws-7.5.8"
+      sources."ws-7.5.9"
       sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
       sources."xmldom-0.1.31"
       sources."y18n-5.0.8"
       sources."yargs-17.5.1"
-      sources."yargs-parser-21.0.1"
+      sources."yargs-parser-21.1.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -136876,14 +137669,20 @@ in
   yaml-language-server = nodeEnv.buildNodePackage {
     name = "yaml-language-server";
     packageName = "yaml-language-server";
-    version = "1.8.0";
+    version = "1.9.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-1.8.0.tgz";
-      sha512 = "Aclwmim+y1+02NYcAvvQB0d/qg2udHRnY0rZMeN24m2MSmbWFdffRWqmgSLieMimKHTCZ5hss4ZTvYNzLiiJtQ==";
+      url = "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-1.9.0.tgz";
+      sha512 = "hwBqXDDYv1i4IsSjSB8jPR9SKcddqHNeMdqNGm0TdbSuqtRvZ9lQet4HgxeCZd37u91Gak0KtZw51jTDdAqP6A==";
     };
     dependencies = [
-      sources."jsonc-parser-3.0.0"
+      sources."ajv-8.11.0"
+      sources."fast-deep-equal-3.1.3"
+      sources."json-schema-traverse-1.0.0"
+      sources."jsonc-parser-3.1.0"
+      sources."punycode-2.1.1"
       sources."request-light-0.5.8"
+      sources."require-from-string-2.0.2"
+      sources."uri-js-4.4.1"
       sources."vscode-json-languageservice-4.1.8"
       sources."vscode-jsonrpc-6.0.0"
       sources."vscode-languageserver-7.0.0"
@@ -136893,7 +137692,7 @@ in
         ];
       })
       sources."vscode-languageserver-textdocument-1.0.5"
-      sources."vscode-languageserver-types-3.17.1"
+      sources."vscode-languageserver-types-3.17.2"
       sources."vscode-nls-5.0.1"
       sources."vscode-uri-3.0.3"
       sources."yaml-2.0.0-11"
@@ -136994,7 +137793,7 @@ in
       sha512 = "0V5CpR62BY1EOevIxXq5BL84YJeIunEzRsFlqb00tc7D77I51/0bvgdGRZhEwhNI2rFxKZ1i77eoisT56gfMTQ==";
     };
     dependencies = [
-      sources."@babel/runtime-7.18.3"
+      sources."@babel/runtime-7.18.9"
       sources."@gar/promisify-1.1.3"
       sources."@isaacs/string-locale-compare-1.1.0"
       sources."@nodelib/fs.scandir-2.1.5"
@@ -137019,7 +137818,7 @@ in
         ];
       })
       sources."@npmcli/installed-package-contents-1.0.7"
-      (sources."@npmcli/map-workspaces-2.0.3" // {
+      (sources."@npmcli/map-workspaces-2.0.4" // {
         dependencies = [
           sources."minimatch-5.1.0"
         ];
@@ -137135,7 +137934,7 @@ in
       sources."cli-boxes-1.0.0"
       sources."cli-cursor-2.1.0"
       sources."cli-list-0.2.0"
-      sources."cli-spinners-2.6.1"
+      sources."cli-spinners-2.7.0"
       sources."cli-table-0.3.11"
       sources."cli-width-2.2.1"
       sources."clone-1.0.4"
@@ -137160,7 +137959,7 @@ in
       sources."config-chain-1.1.13"
       sources."configstore-3.1.5"
       sources."console-control-strings-1.1.0"
-      sources."core-js-3.23.2"
+      sources."core-js-3.24.1"
       sources."core-util-is-1.0.3"
       sources."create-error-class-3.0.2"
       sources."cross-spawn-6.0.5"
@@ -137186,7 +137985,7 @@ in
       sources."dir-glob-3.0.1"
       sources."dot-prop-4.2.1"
       sources."downgrade-root-1.2.2"
-      sources."duplexer3-0.1.4"
+      sources."duplexer3-0.1.5"
       sources."ecc-jsbn-0.1.2"
       sources."ejs-3.1.8"
       sources."emoji-regex-8.0.0"
@@ -137313,7 +138112,7 @@ in
           sources."p-is-promise-1.1.0"
         ];
       })
-      sources."ip-1.1.8"
+      sources."ip-2.0.0"
       sources."ip-regex-2.1.0"
       sources."is-arrayish-0.2.1"
       sources."is-ci-1.2.1"
@@ -137420,7 +138219,7 @@ in
       })
       sources."mem-5.1.1"
       sources."mem-fs-2.2.1"
-      sources."mem-fs-editor-9.4.0"
+      sources."mem-fs-editor-9.5.0"
       (sources."meow-3.7.0" // {
         dependencies = [
           sources."find-up-1.1.2"
@@ -137441,7 +138240,7 @@ in
         ];
       })
       sources."minimist-1.2.6"
-      sources."minipass-3.3.3"
+      sources."minipass-3.3.5"
       sources."minipass-collect-1.0.2"
       sources."minipass-fetch-1.4.1"
       sources."minipass-flush-1.0.5"
@@ -137463,7 +138262,7 @@ in
       (sources."node-gyp-8.4.1" // {
         dependencies = [
           sources."ansi-regex-5.0.1"
-          sources."are-we-there-yet-3.0.0"
+          sources."are-we-there-yet-3.0.1"
           sources."env-paths-2.2.1"
           sources."gauge-4.0.4"
           sources."glob-7.2.3"
@@ -137516,15 +138315,15 @@ in
       })
       (sources."npm-registry-fetch-12.0.2" // {
         dependencies = [
-          sources."@npmcli/fs-2.1.0"
+          sources."@npmcli/fs-2.1.1"
           sources."@npmcli/move-file-2.0.0"
           sources."@tootallnate/once-2.0.0"
           sources."cacache-16.1.1"
           sources."debug-4.3.4"
           sources."http-cache-semantics-4.1.0"
           sources."http-proxy-agent-5.0.0"
-          sources."lru-cache-7.10.1"
-          (sources."make-fetch-happen-10.1.8" // {
+          sources."lru-cache-7.13.2"
+          (sources."make-fetch-happen-10.2.0" // {
             dependencies = [
               sources."minipass-fetch-2.1.0"
             ];
@@ -137647,7 +138446,7 @@ in
       sources."promise-retry-2.0.1"
       sources."proto-list-1.2.4"
       sources."pseudomap-1.0.2"
-      sources."psl-1.8.0"
+      sources."psl-1.9.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.3"
@@ -137733,7 +138532,7 @@ in
       sources."signal-exit-3.0.7"
       sources."slash-3.0.0"
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.2"
+      sources."socks-2.7.0"
       (sources."socks-proxy-agent-6.2.1" // {
         dependencies = [
           sources."debug-4.3.4"
@@ -137913,7 +138712,7 @@ in
         ];
       })
       sources."yeoman-doctor-5.0.0"
-      (sources."yeoman-environment-3.9.1" // {
+      (sources."yeoman-environment-3.10.0" // {
         dependencies = [
           sources."ansi-escapes-4.3.2"
           sources."ansi-regex-5.0.1"
@@ -137953,7 +138752,7 @@ in
           sources."path-key-3.1.1"
           sources."readable-stream-3.6.0"
           sources."restore-cursor-3.1.0"
-          sources."rxjs-7.5.5"
+          sources."rxjs-7.5.6"
           sources."semver-7.3.7"
           sources."shebang-command-2.0.0"
           sources."shebang-regex-3.0.0"
@@ -137998,10 +138797,10 @@ in
   zx = nodeEnv.buildNodePackage {
     name = "zx";
     packageName = "zx";
-    version = "7.0.1";
+    version = "7.0.8";
     src = fetchurl {
-      url = "https://registry.npmjs.org/zx/-/zx-7.0.1.tgz";
-      sha512 = "5jCux4+8EL7blqjQZDCV9KiV+TEY9Vn9dkddOYEqdrE79X0jsVDRMt0u2O6UsBkC8Da8flcr6Vx9EmcVX4S5vg==";
+      url = "https://registry.npmjs.org/zx/-/zx-7.0.8.tgz";
+      sha512 = "sNjfDHzskqrSkWNj0TVhaowVK5AbpvuyuO1RBU4+LrFcgYI5u9CtyWWgUBRtRZl3bgGEF31zByszoBmwS47d1w==";
     };
     dependencies = [
       sources."@nodelib/fs.scandir-2.1.5"
@@ -138009,7 +138808,7 @@ in
       sources."@nodelib/fs.walk-1.2.8"
       sources."@types/fs-extra-9.0.13"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-17.0.45"
+      sources."@types/node-18.6.3"
       sources."@types/ps-tree-1.1.2"
       sources."@types/which-2.0.1"
       sources."braces-3.0.2"
@@ -138020,7 +138819,7 @@ in
       sources."event-stream-3.3.4"
       sources."fast-glob-3.2.11"
       sources."fastq-1.13.0"
-      sources."fetch-blob-3.1.5"
+      sources."fetch-blob-3.2.0"
       sources."fill-range-7.0.1"
       sources."formdata-polyfill-4.0.10"
       sources."from-0.1.7"
@@ -138039,7 +138838,7 @@ in
       sources."micromatch-4.0.5"
       sources."minimist-1.2.6"
       sources."node-domexception-1.0.0"
-      sources."node-fetch-3.2.6"
+      sources."node-fetch-3.2.8"
       sources."path-type-4.0.0"
       sources."pause-stream-0.0.11"
       sources."picomatch-2.3.1"
diff --git a/pkgs/development/node-packages/overrides.nix b/pkgs/development/node-packages/overrides.nix
index 72200cdcc77..5ce8bfcfb81 100644
--- a/pkgs/development/node-packages/overrides.nix
+++ b/pkgs/development/node-packages/overrides.nix
@@ -360,7 +360,7 @@ final: prev: {
 
     src = fetchurl {
       url = "https://registry.npmjs.org/prisma/-/prisma-${version}.tgz";
-      sha512 = "sha512-Dtsar03XpCBkcEb2ooGWO/WcgblDTLzGhPcustbehwlFXuTMliMDRzXsfygsgYwQoZnAUKRd1rhpvBNEUziOVw==";
+      sha512 = "sha512-HuYqnTDgH8atjPGtYmY0Ql9XrrJnfW7daG1PtAJRW0E6gJxc50lY3vrIDn0yjMR3TvRlypjTcspQX8DT+xD4Sg==";
     };
     postInstall = with pkgs; ''
       wrapProgram "$out/bin/prisma" \
diff --git a/pkgs/development/ocaml-modules/faraday/async.nix b/pkgs/development/ocaml-modules/faraday/async.nix
index 05b085f92ac..9e4a9b24cea 100644
--- a/pkgs/development/ocaml-modules/faraday/async.nix
+++ b/pkgs/development/ocaml-modules/faraday/async.nix
@@ -1,15 +1,15 @@
-{ buildDunePackage, fetchpatch, faraday, core, async }:
+{ buildDunePackage, lib, fetchpatch, faraday, core, async }:
 
 buildDunePackage rec {
   pname = "faraday-async";
-  inherit (faraday) version src useDune2;
+  inherit (faraday) version src;
 
-  patches = fetchpatch {
+  patches = lib.optional (lib.versionAtLeast async.version "0.15") (fetchpatch {
     url = "https://github.com/inhabitedtype/faraday/commit/31c3fc7f91ecca0f1deea10b40fd5e33bcd35f75.patch";
     sha256 = "05z5gk7hxq7qvwg6f73hdhfcnx19p1dq6wqh8prx667y8zsaq2zj";
-  };
+  });
 
-  minimumOCamlVersion = "4.08";
+  minimalOCamlVersion = "4.08";
 
   propagatedBuildInputs = [ faraday core async ];
 
diff --git a/pkgs/development/ocaml-modules/num/default.nix b/pkgs/development/ocaml-modules/num/default.nix
index 1f978a90df4..023b327cc08 100644
--- a/pkgs/development/ocaml-modules/num/default.nix
+++ b/pkgs/development/ocaml-modules/num/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitHub, fetchpatch, ocaml, findlib, withStatic ? false }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (rec {
   version = "1.1";
   pname = "ocaml${ocaml.version}-num";
   src = fetchFromGitHub {
@@ -28,4 +28,7 @@ stdenv.mkDerivation rec {
     inherit (ocaml.meta) platforms;
     inherit (src.meta) homepage;
   };
-}
+} // (if lib.versions.majorMinor ocaml.version == "4.06" then {
+    NIX_CFLAGS_COMPILE = "-fcommon";
+  } else {})
+)
diff --git a/pkgs/development/ocaml-modules/tls/async.nix b/pkgs/development/ocaml-modules/tls/async.nix
index ceac7a7c074..51d1b89f918 100644
--- a/pkgs/development/ocaml-modules/tls/async.nix
+++ b/pkgs/development/ocaml-modules/tls/async.nix
@@ -5,8 +5,7 @@ buildDunePackage rec {
 
   inherit (tls) src meta version;
 
-  minimumOCamlVersion = "4.08";
-  useDune2 = true;
+  minimalOCamlVersion = "4.11";
 
   doCheck = true;
 
diff --git a/pkgs/development/php-packages/ast/default.nix b/pkgs/development/php-packages/ast/default.nix
index 7ab4ff13b40..c1c3594f44f 100644
--- a/pkgs/development/php-packages/ast/default.nix
+++ b/pkgs/development/php-packages/ast/default.nix
@@ -3,8 +3,8 @@
 buildPecl {
   pname = "ast";
 
-  version = "1.0.16";
-  sha256 = "sha256-Rb2jS3gMRmHOd89lzYpQT7VlJtS0Vu3Ml9eRyG84ec4=";
+  version = "1.1.0";
+  sha256 = "sha256-7j1PZ+JNguTTQIBqJAUgEuSVTSIxIpSTd2ZUJ0Q+bRM=";
 
   meta = with lib; {
     description = "Exposes the abstract syntax tree generated by PHP";
diff --git a/pkgs/development/python-modules/Mako/default.nix b/pkgs/development/python-modules/Mako/default.nix
index 8aa3f687dde..694f3138c92 100644
--- a/pkgs/development/python-modules/Mako/default.nix
+++ b/pkgs/development/python-modules/Mako/default.nix
@@ -13,6 +13,8 @@
 # tests
 , mock
 , pytestCheckHook
+, lingua
+, chameleon
 }:
 
 buildPythonPackage rec {
@@ -37,8 +39,10 @@ buildPythonPackage rec {
   };
 
   checkInputs = [
-    pytestCheckHook
+    chameleon
+    lingua
     mock
+    pytestCheckHook
   ] ++ passthru.optional-dependencies.babel;
 
   disabledTests = lib.optionals isPyPy [
@@ -51,11 +55,6 @@ buildPythonPackage rec {
     "test_bytestring_passthru"
   ];
 
-  disabledTestPaths = [
-    # lingua dependency is not packaged
-    "test/ext/test_linguaplugin.py"
-  ];
-
   meta = with lib; {
     description = "Super-fast templating language";
     homepage = "https://www.makotemplates.org/";
diff --git a/pkgs/development/python-modules/Wand/default.nix b/pkgs/development/python-modules/Wand/default.nix
index 3441e4cff46..7182222db5a 100644
--- a/pkgs/development/python-modules/Wand/default.nix
+++ b/pkgs/development/python-modules/Wand/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "Wand";
-  version = "0.6.8";
+  version = "0.6.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-cWq9CZNQqIot/QfT42VtJemJNrFtgQG3XZR+itV+sHI=";
+    sha256 = "sha256-QCdOiCmo21P9vjKPWAV6Wrfi664Hx3uJ8V44B2mLtbw=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/aardwolf/default.nix b/pkgs/development/python-modules/aardwolf/default.nix
new file mode 100644
index 00000000000..58d07696de2
--- /dev/null
+++ b/pkgs/development/python-modules/aardwolf/default.nix
@@ -0,0 +1,57 @@
+{ lib
+, arc4
+, asn1crypto
+, asn1tools
+, asysocks
+, buildPythonPackage
+, colorama
+, fetchPypi
+, minikerberos
+, pillow
+, pyperclip
+, pythonOlder
+, tqdm
+, unicrypto
+, winsspi
+}:
+
+buildPythonPackage rec {
+  pname = "aardwolf";
+  version = "0.0.8";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-plz1D+Lr5rV8iJo7IUmuXfjxLvVxX9lgyxyYXUlPH0k=";
+  };
+
+  propagatedBuildInputs = [
+    arc4
+    asn1crypto
+    asn1tools
+    asysocks
+    colorama
+    minikerberos
+    pillow
+    pyperclip
+    tqdm
+    unicrypto
+    winsspi
+  ];
+
+  # Module doesn't have tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "aardwolf"
+  ];
+
+  meta = with lib; {
+    description = "Asynchronous RDP protocol implementation";
+    homepage = "https://github.com/skelsec/aardwolf";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/ailment/default.nix b/pkgs/development/python-modules/ailment/default.nix
index a483bbd481d..c56b09cb9b5 100644
--- a/pkgs/development/python-modules/ailment/default.nix
+++ b/pkgs/development/python-modules/ailment/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "ailment";
-  version = "9.2.11";
+  version = "9.2.13";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-hluPbUxkYlbeOsc5uQMXtFjt3wDHq/olUk2SKHPAlVU=";
+    hash = "sha256-fnCeNW0Rccu6e1WrmLeHgUnlxMHh9t1q10DtzyVymP8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aioairzone/default.nix b/pkgs/development/python-modules/aioairzone/default.nix
index 83019e202e5..61b67cb32a3 100644
--- a/pkgs/development/python-modules/aioairzone/default.nix
+++ b/pkgs/development/python-modules/aioairzone/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "aioairzone";
-  version = "0.4.6";
+  version = "0.4.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "Noltari";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-DDp9gtKavO3LCDnaZsYYLTWwoy0kQaTitJeALSPlXaQ=";
+    hash = "sha256-qG+EPZjH3I4TRGka7J21ukGpuJQfA/Nuy6DbIUnykcs=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aioaladdinconnect/default.nix b/pkgs/development/python-modules/aioaladdinconnect/default.nix
index 34ec003193a..01df805ab66 100644
--- a/pkgs/development/python-modules/aioaladdinconnect/default.nix
+++ b/pkgs/development/python-modules/aioaladdinconnect/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "aioaladdinconnect";
-  version = "0.1.34";
+  version = "0.1.41";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "AIOAladdinConnect";
     inherit version;
-    hash = "sha256-p5O4tm+m0ThJS/VTqhMNs2bwA2S6kJ2reQ2BoTHmLz8=";
+    hash = "sha256-o9dwGBMDL8kweqts4t73vxXQrVxYn9dBJDudpQNkKdo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aiobiketrax/default.nix b/pkgs/development/python-modules/aiobiketrax/default.nix
new file mode 100644
index 00000000000..41e96f26cc5
--- /dev/null
+++ b/pkgs/development/python-modules/aiobiketrax/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, aiohttp
+, auth0-python
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pyjwt
+, pytest-aiohttp
+, pytestCheckHook
+, python-dateutil
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "aiobiketrax";
+  version = "0.2.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "basilfx";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-zaHetU0ZG3xkYrO6qA4o+NX8V5td/E08tPEohEwMjh0=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    auth0-python
+    python-dateutil
+    pyjwt
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "aiobiketrax"
+  ];
+
+  meta = with lib; {
+    description = "Library for interacting with the PowUnity BikeTrax GPS tracker";
+    homepage = "https://github.com/basilfx/aiobiketrax";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/aioblescan/default.nix b/pkgs/development/python-modules/aioblescan/default.nix
new file mode 100644
index 00000000000..462a4088f66
--- /dev/null
+++ b/pkgs/development/python-modules/aioblescan/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "aioblescan";
+  version = "0.2.13";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "frawau";
+    repo = pname;
+    rev = version;
+    hash = "sha256-n1FiBsuVpVJrIq6+kuMNugpEaUOFQ/Gk/QU7Hry4YrU=";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "aioblescan"
+  ];
+
+  meta = with lib; {
+    description = "Library to listen for BLE advertized packets";
+    homepage = "https://github.com/frawau/aioblescan";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/aioecowitt/default.nix b/pkgs/development/python-modules/aioecowitt/default.nix
new file mode 100644
index 00000000000..32a6152efc1
--- /dev/null
+++ b/pkgs/development/python-modules/aioecowitt/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, meteocalc
+, pytest-aiohttp
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "aioecowitt";
+  version = "2022.7.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "home-assistant-libs";
+    repo = pname;
+    rev = "refs/tags/${version}";
+    hash = "sha256-GALBhapE31CM2mqBrgcdQf5SJV+edN3kj35r0cf7BcU=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    meteocalc
+  ];
+
+  checkInputs = [
+    pytest-aiohttp
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "aioecowitt"
+  ];
+
+  meta = with lib; {
+    description = "Wrapper for the EcoWitt protocol";
+    homepage = "https://github.com/home-assistant-libs/aioecowitt";
+    changelog = "https://github.com/home-assistant-libs/aioecowitt/releases/tag/${version}";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/aiogithubapi/default.nix b/pkgs/development/python-modules/aiogithubapi/default.nix
index 03dacdef89b..38bd95989f6 100644
--- a/pkgs/development/python-modules/aiogithubapi/default.nix
+++ b/pkgs/development/python-modules/aiogithubapi/default.nix
@@ -45,7 +45,7 @@ buildPythonPackage rec {
     # Upstream is releasing with the help of a CI to PyPI, GitHub releases
     # are not in their focus
     substituteInPlace pyproject.toml \
-      --replace 'version="main",' 'version="${version}",'
+      --replace 'version = "0"' 'version = "${version}"'
   '';
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/aiohomekit/default.nix b/pkgs/development/python-modules/aiohomekit/default.nix
index cff17a065ef..604d1f37e2d 100644
--- a/pkgs/development/python-modules/aiohomekit/default.nix
+++ b/pkgs/development/python-modules/aiohomekit/default.nix
@@ -2,10 +2,12 @@
 , buildPythonPackage
 , aiocoap
 , bleak
+, bleak-retry-connector
 , chacha20poly1305-reuseable
 , commentjson
 , cryptography
 , fetchFromGitHub
+, orjson
 , poetry-core
 , pytest-aiohttp
 , pytestCheckHook
@@ -15,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "aiohomekit";
-  version = "1.1.0";
+  version = "1.2.9";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -24,7 +26,7 @@ buildPythonPackage rec {
     owner = "Jc2k";
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-tHCkWNWcEsxoznaB8nysEMSx8g6cceNFP+gVB2jqG9g=";
+    hash = "sha256-9ejha07hYwB/BZ7hmJHhmLb313ZrTvEXBylswJMlBmU=";
   };
 
   nativeBuildInputs = [
@@ -34,9 +36,11 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     aiocoap
     bleak
+    bleak-retry-connector
     chacha20poly1305-reuseable
     commentjson
     cryptography
+    orjson
     zeroconf
   ];
 
diff --git a/pkgs/development/python-modules/aiohttp-jinja2/default.nix b/pkgs/development/python-modules/aiohttp-jinja2/default.nix
index 890a37e24dd..3e3148fce7c 100644
--- a/pkgs/development/python-modules/aiohttp-jinja2/default.nix
+++ b/pkgs/development/python-modules/aiohttp-jinja2/default.nix
@@ -1,22 +1,53 @@
-{ lib, buildPythonPackage, fetchPypi, aiohttp, jinja2, pytest, pytest-aiohttp, pytest-cov }:
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchPypi
+, jinja2
+, pytest-aiohttp
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "aiohttp-jinja2";
   version = "1.5";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7c3ba5eac060b691f4e50534af2d79fca2a75712ebd2b25e6fcb1295859f910b";
+    hash = "sha256-fDul6sBgtpH05QU0ry15/KKnVxLr0rJeb8sSlYWfkQs=";
   };
 
-  propagatedBuildInputs = [ aiohttp jinja2 ];
+  propagatedBuildInputs = [
+    aiohttp
+    jinja2
+  ];
 
-  checkInputs = [ pytest pytest-aiohttp pytest-cov ];
+  checkInputs = [
+    pytest-aiohttp
+    pytestCheckHook
+  ];
 
-  checkPhase = ''
-    pytest -W ignore::DeprecationWarning
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace " --cov=aiohttp_jinja2 --cov-report xml --cov-report html --cov-report term" ""
   '';
 
+  pytestFlagsArray = [
+    "-W"
+    "ignore::DeprecationWarning"
+  ];
+
+  pythonImportsCheck = [
+    "aiohttp_jinja2"
+  ];
+
+  # Tests are outdated (1.5)
+  # pytest.PytestUnhandledCoroutineWarning: async def functions...
+  doCheck = false;
+
   meta = with lib; {
     description = "Jinja2 support for aiohttp";
     homepage = "https://github.com/aio-libs/aiohttp_jinja2";
diff --git a/pkgs/development/python-modules/aiohttp-retry/default.nix b/pkgs/development/python-modules/aiohttp-retry/default.nix
index 3cd0fe09842..f03ca026d97 100644
--- a/pkgs/development/python-modules/aiohttp-retry/default.nix
+++ b/pkgs/development/python-modules/aiohttp-retry/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "aiohttp-retry";
-  version = "2.5.6";
+  version = "2.7.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "inyutin";
     repo = "aiohttp_retry";
     rev = "v${version}";
-    hash = "sha256-jyt4YPn3gSgR1YfHYLs+5VCsjAk9Ij+2m5Kzy51CnLk=";
+    hash = "sha256-vMnk7OHXTgFLcnqauAPB/vxVt8bP1To6KTIgNv7Ek+Q=";
   };
 
   propagatedBuildInputs = [
@@ -34,6 +34,10 @@ buildPythonPackage rec {
     "aiohttp_retry"
   ];
 
+  pytestFlagsArray = [
+    "--asyncio-mode=auto"
+  ];
+
   meta = with lib; {
     description = "Retry client for aiohttp";
     homepage = "https://github.com/inyutin/aiohttp_retry";
diff --git a/pkgs/development/python-modules/aiolifx/default.nix b/pkgs/development/python-modules/aiolifx/default.nix
index 68a630a96ee..62aeb1fd999 100644
--- a/pkgs/development/python-modules/aiolifx/default.nix
+++ b/pkgs/development/python-modules/aiolifx/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "aiolifx";
-  version = "0.8.1";
+  version = "0.8.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-w6d2qpU8jPrE2Dtuq4825qOCU1SoIpkEjOEX+BYxhuU=";
+    hash = "sha256-k47cXi2CDtFIV3gzfdYU4i17ry0ABXcWK5CcWhwTdT0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aiomysensors/default.nix b/pkgs/development/python-modules/aiomysensors/default.nix
new file mode 100644
index 00000000000..dfa02c97943
--- /dev/null
+++ b/pkgs/development/python-modules/aiomysensors/default.nix
@@ -0,0 +1,64 @@
+{ lib
+, aiofiles
+, asyncio-mqtt
+, awesomeversion
+, buildPythonPackage
+, click
+, fetchFromGitHub
+, marshmallow
+, poetry-core
+, pyserial-asyncio
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "aiomysensors";
+  version = "0.3.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "MartinHjelmare";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-EGVoHEJrpGtp8OrhQhRZVaN1GhL4QCo/azp6pzgYYcs=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    aiofiles
+    asyncio-mqtt
+    awesomeversion
+    click
+    marshmallow
+    pyserial-asyncio
+  ];
+
+  checkInputs = [
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace " --cov=src --cov-report=term-missing:skip-covered" "" \
+      --replace 'marshmallow = "^3.17"' 'marshmallow = "*"'
+  '';
+
+  pythonImportsCheck = [
+    "aiomysensors"
+  ];
+
+  meta = with lib; {
+    description = "Library to connect to MySensors gateways";
+    homepage = "https://github.com/MartinHjelmare/aiomysensors";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/aioopenexchangerates/default.nix b/pkgs/development/python-modules/aioopenexchangerates/default.nix
new file mode 100644
index 00000000000..18b6ae78b6f
--- /dev/null
+++ b/pkgs/development/python-modules/aioopenexchangerates/default.nix
@@ -0,0 +1,57 @@
+{ lib
+, aiohttp
+, aioresponses
+, pydantic
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pytest-aiohttp
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "aioopenexchangerates";
+  version = "0.4.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "MartinHjelmare";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-qm9B4m5CLhfqnZj+sdHZ+iA0+YnDR9Dh3lCy/YADkEI=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    pydantic
+  ];
+
+  checkInputs = [
+    aioresponses
+    pytest-aiohttp
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace " --cov=aioopenexchangerates --cov-report=term-missing:skip-covered" ""
+  '';
+
+  pythonImportsCheck = [
+    "aioopenexchangerates"
+  ];
+
+  meta = with lib; {
+    description = "Library for the Openexchangerates API";
+    homepage = "https://github.com/MartinHjelmare/aioopenexchangerates";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/aiortm/default.nix b/pkgs/development/python-modules/aiortm/default.nix
new file mode 100644
index 00000000000..83ed397e47d
--- /dev/null
+++ b/pkgs/development/python-modules/aiortm/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, click
+, fetchFromGitHub
+, poetry-core
+, pytestCheckHook
+, pythonOlder
+, yarl
+}:
+
+buildPythonPackage rec {
+  pname = "aiortm";
+  version = "0.3.1";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "MartinHjelmare";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-DTFynPFf0NUBieXDiMKhCNwBqx3s/xzggNmnz/IKjbU=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    click
+    yarl
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace " --cov=aiortm --cov-report=term-missing:skip-covered" ""
+  '';
+
+  pythonImportsCheck = [
+    "aiortm"
+  ];
+
+  meta = with lib; {
+    description = "Library for the Remember the Milk API";
+    homepage = "https://github.com/MartinHjelmare/aiortm";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/aioshelly/default.nix b/pkgs/development/python-modules/aioshelly/default.nix
index 69932532efa..a3dfa62705a 100644
--- a/pkgs/development/python-modules/aioshelly/default.nix
+++ b/pkgs/development/python-modules/aioshelly/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "aioshelly";
-  version = "2.0.1";
+  version = "3.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-BUKuZza9Jer334LUmU5zmfjg1ISuxg7HETEbUMB80KY=";
+    hash = "sha256-Id4qg7uSvpjXpEx0/EvSMvFxgkR78/NOoOmmwngj7Qw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/angr/default.nix b/pkgs/development/python-modules/angr/default.nix
index 716275840de..63165f6214e 100644
--- a/pkgs/development/python-modules/angr/default.nix
+++ b/pkgs/development/python-modules/angr/default.nix
@@ -46,7 +46,7 @@ in
 
 buildPythonPackage rec {
   pname = "angr";
-  version = "9.2.11";
+  version = "9.2.13";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -55,7 +55,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-IUuTiRDkQanzcw4iATw5rScl3hoLN/lbHRyflfPyGUc=";
+    hash = "sha256-yEYqwyRJ/LN9q0f5vJIVMnVXQxRht73zDifWeevGc80=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/annoy/default.nix b/pkgs/development/python-modules/annoy/default.nix
index d5f24492c90..97841a6a62d 100644
--- a/pkgs/development/python-modules/annoy/default.nix
+++ b/pkgs/development/python-modules/annoy/default.nix
@@ -3,23 +3,33 @@
 , fetchPypi
 , h5py
 , nose
+, pythonOlder
 }:
 
 buildPythonPackage rec {
-  version = "1.17.0";
   pname = "annoy";
+  version = "1.17.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9891e264041d1dcf3af42f67fbb16cb273c5404bc8c869d0915a3087f71d58dd";
+    hash = "sha256-vxd9vq+4H2OyrB4SRrHyairMguc7pGY4c00p2CWBIto=";
   };
 
-  nativeBuildInputs = [ h5py ];
+  nativeBuildInputs = [
+    h5py
+  ];
 
   checkInputs = [
     nose
   ];
 
+  pythonImportsCheck = [
+    "annoy"
+  ];
+
   meta = with lib; {
     description = "Approximate Nearest Neighbors in C++/Python optimized for memory usage and loading/saving to disk";
     homepage = "https://github.com/spotify/annoy";
diff --git a/pkgs/development/python-modules/ansible/default.nix b/pkgs/development/python-modules/ansible/default.nix
index 0a8ae13204b..d2f7dba3866 100644
--- a/pkgs/development/python-modules/ansible/default.nix
+++ b/pkgs/development/python-modules/ansible/default.nix
@@ -20,7 +20,7 @@
 
 let
   pname = "ansible";
-  version = "6.1.0";
+  version = "6.2.0";
 in
 buildPythonPackage {
   inherit pname version;
@@ -30,7 +30,7 @@ buildPythonPackage {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-keSyOUXxkKqhI8a6T4rMuOf4kFmRvTuxm4mvvcpFaCI=";
+    sha256 = "sha256-va8rL9km/xifveL+/nI0cz8yw2/EEwM/pdk5RfvcBqY=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/anybadge/default.nix b/pkgs/development/python-modules/anybadge/default.nix
index 49be7afaac7..489e200afb0 100644
--- a/pkgs/development/python-modules/anybadge/default.nix
+++ b/pkgs/development/python-modules/anybadge/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "anybadge";
-  version = "1.9.0";
+  version = "1.11.1";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "jongracecox";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-9C1oPZcXjrGwvkx20E+xPGje+ATD9HwOCWWn/pg+98Q=";
+    sha256 = "sha256-6br4WUwE1ovAneYUeTHcUN3PH5Wm1rnLYCpXDUshk7Q=";
   };
 
   # setup.py reads its version from the TRAVIS_TAG environment variable
diff --git a/pkgs/development/python-modules/apache-beam/default.nix b/pkgs/development/python-modules/apache-beam/default.nix
index 19e2cc827b9..508d6670c6d 100644
--- a/pkgs/development/python-modules/apache-beam/default.nix
+++ b/pkgs/development/python-modules/apache-beam/default.nix
@@ -55,7 +55,9 @@ buildPythonPackage rec {
   postPatch = ''
     substituteInPlace setup.py \
       --replace "dill>=0.3.1.1,<0.3.2" "dill" \
-      --replace "pyarrow>=0.15.1,<8.0.0" "pyarrow"
+      --replace "pyarrow>=0.15.1,<8.0.0" "pyarrow" \
+      --replace "numpy>=1.14.3,<1.23.0" "numpy" \
+      --replace "pymongo>=3.8.0,<4.0.0" "pymongo"
   '';
 
   sourceRoot = "source/sdks/python";
@@ -90,6 +92,8 @@ buildPythonPackage rec {
     typing-extensions
   ];
 
+  enableParallelBuilding = true;
+
   pythonImportsCheck = [
     "apache_beam"
   ];
diff --git a/pkgs/development/python-modules/apprise/default.nix b/pkgs/development/python-modules/apprise/default.nix
index 45354defe17..5c1b779b79e 100644
--- a/pkgs/development/python-modules/apprise/default.nix
+++ b/pkgs/development/python-modules/apprise/default.nix
@@ -20,14 +20,14 @@
 
 buildPythonPackage rec {
   pname = "apprise";
-  version = "0.9.9";
+  version = "1.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-a6PQ6DB+JkfDJA7BoNVXHzpFP5FD2Ug07LAmYLDo0kQ=";
+    hash = "sha256-llOQAzH4vR9O+pzaLCueJ7aar7Kt8UsrzmV5f3UzOss=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/aqipy-atmotech/default.nix b/pkgs/development/python-modules/aqipy-atmotech/default.nix
new file mode 100644
index 00000000000..fdecad826c1
--- /dev/null
+++ b/pkgs/development/python-modules/aqipy-atmotech/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "aqipy-atmotech";
+  version = "0.1.5";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "atmotube";
+    repo = "aqipy";
+    rev = version;
+    hash = "sha256-tqHhfJmtVFUSO57Cid9y3LK4pOoG7ROtwDT2hY5IE1Y=";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "'pytest-runner'" ""
+  '';
+
+  pythonImportsCheck = [
+    "aqipy"
+  ];
+
+  meta = with lib; {
+    description = "Library for AQI calculation";
+    homepage = "https://github.com/atmotube/aqipy";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/arc4/default.nix b/pkgs/development/python-modules/arc4/default.nix
new file mode 100644
index 00000000000..755950f3a1e
--- /dev/null
+++ b/pkgs/development/python-modules/arc4/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "arc4";
+  version = "0.2.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "manicmaniac";
+    repo = pname;
+    rev = version;
+    hash = "sha256-1VgPYLyBQkxyuUO7KZv5sqYIEieV1RkBtlLVkLUUO4w=";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "arc4"
+  ];
+
+  meta = with lib; {
+    description = "ARCFOUR (RC4) cipher implementation";
+    homepage = "https://github.com/manicmaniac/arc4";
+    license = with licenses; [ bsd3 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/archinfo/default.nix b/pkgs/development/python-modules/archinfo/default.nix
index bdc0f89e4f3..3c5bead9d03 100644
--- a/pkgs/development/python-modules/archinfo/default.nix
+++ b/pkgs/development/python-modules/archinfo/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "archinfo";
-  version = "9.2.11";
+  version = "9.2.13";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-ep0mEOhNe/58l4kYFJIHu/c7wKgnBA0mY0/QAw0EdKM=";
+    hash = "sha256-ili+jbrCKQCRD5eIWZBZqlX8wRaHiY6fC1QFEE2YOng=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/asdf-standard/default.nix b/pkgs/development/python-modules/asdf-standard/default.nix
index bc691fb0209..170cefa42e8 100644
--- a/pkgs/development/python-modules/asdf-standard/default.nix
+++ b/pkgs/development/python-modules/asdf-standard/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "asdf-standard";
-  version = "1.0.2";
+  version = "1.0.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "asdf_standard";
     inherit version;
-    hash = "sha256-Ic/AXdghVZtn37xU0DsrzArYtstcydFNdZH3OrNFFwA=";
+    hash = "sha256-r9j/mnDnsX9rzGTrkqVEhn1dT+HwB2cZFC/fYrls/UQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/asyncssh/default.nix b/pkgs/development/python-modules/asyncssh/default.nix
index 1bb50960846..086bf0371ae 100644
--- a/pkgs/development/python-modules/asyncssh/default.nix
+++ b/pkgs/development/python-modules/asyncssh/default.nix
@@ -20,14 +20,14 @@
 
 buildPythonPackage rec {
   pname = "asyncssh";
-  version = "2.11.0";
+  version = "2.12.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-WcNs53up3ajdV62HV3bnEF3bH6hRvAObs66t6sT2e1Y=";
+    sha256 = "sha256-J0EBMixLlBgjru2OGrbnvlGRaGxtstK9Na/rowUF54A=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/asyncwhois/default.nix b/pkgs/development/python-modules/asyncwhois/default.nix
index a607fe96582..4e91aafde6d 100644
--- a/pkgs/development/python-modules/asyncwhois/default.nix
+++ b/pkgs/development/python-modules/asyncwhois/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "asyncwhois";
-  version = "1.0.0";
+  version = "1.0.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "pogzyb";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-9tSGfF/Ezuya4pEyr1XolWXvSO/F/UrobRVlyHITNTU=";
+    hash = "sha256-TpUiUW9ntrpuT/rUhucedl+DM5X88Mislrd+3D5/TUE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/auth0-python/default.nix b/pkgs/development/python-modules/auth0-python/default.nix
index 7aa062be6c9..fe52973c2cd 100644
--- a/pkgs/development/python-modules/auth0-python/default.nix
+++ b/pkgs/development/python-modules/auth0-python/default.nix
@@ -1,5 +1,8 @@
 { lib
+, aiohttp
+, aioresponses
 , buildPythonPackage
+, callee
 , fetchPypi
 , mock
 , pyjwt
@@ -17,7 +20,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-sXEWg6zrwMs8pCSloJtLL3o7ZAXTTiMXEgI7sDaogr4=";
+    hash = "sha256-sXEWg6zrwMs8pCSloJtLL3o7ZAXTTiMXEgI7sDaogr4=";
   };
 
   propagatedBuildInputs = [
@@ -26,12 +29,15 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
+    aiohttp
+    aioresponses
+    callee
     mock
     pytestCheckHook
   ];
 
   disabledTests = [
-    # tries to ping websites (e.g. google.com)
+    # Tries to ping websites (e.g. google.com)
     "can_timeout"
     "test_options_are_created_by_default"
     "test_options_are_used_and_override"
diff --git a/pkgs/development/python-modules/automat/default.nix b/pkgs/development/python-modules/automat/default.nix
index bb7525d8859..094015e56f5 100644
--- a/pkgs/development/python-modules/automat/default.nix
+++ b/pkgs/development/python-modules/automat/default.nix
@@ -1,8 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, fetchpatch
 , attrs
-, m2r
 , pytest-benchmark
 , pytestCheckHook
 , setuptools-scm
@@ -19,8 +19,17 @@ let automat = buildPythonPackage rec {
     sha256 = "7979803c74610e11ef0c0d68a2942b152df52da55336e0c9d58daf1831cbdf33";
   };
 
+  patches = [
+    # don't depend on m2r
+    (fetchpatch {
+      name = "dont-depend-on-m2r.patch";
+      url = "https://github.com/glyph/automat/compare/v20.2.0..2562fa4ddeba5b5945d9482baa4c26a414f5e831.patch";
+      includes = [ "setup.py" ];
+      hash = "sha256-jlPLJMu1QbBpiVYHDiqPydrXjEoZgYZTVVGNxSA0NxY=";
+    })
+  ];
+
   nativeBuildInputs = [
-    m2r
     setuptools-scm
   ];
 
diff --git a/pkgs/development/python-modules/azure-mgmt-keyvault/default.nix b/pkgs/development/python-modules/azure-mgmt-keyvault/default.nix
index 200674d1a44..c0efa141785 100644
--- a/pkgs/development/python-modules/azure-mgmt-keyvault/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-keyvault/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-keyvault";
-  version = "10.0.0";
+  version = "10.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    hash = "sha256-ALaVll2198a6DjOpzaHobE22N78Qe5koYYLxCtFiwaM=";
+    hash = "sha256-DpO+6FvsNwjjcz2ImhHpColHVNpPUMgCtEMrfUzfAaA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-monitor/default.nix b/pkgs/development/python-modules/azure-mgmt-monitor/default.nix
index 66818ce5b05..d2583b157f7 100644
--- a/pkgs/development/python-modules/azure-mgmt-monitor/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-monitor/default.nix
@@ -10,15 +10,15 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-monitor";
-  version = "3.1.0";
+  version = "4.0.1";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    hash = "sha256-ROcUAm0KgIjO2A2XBpS00IeEPgd8x4cjoMfn6X9C+Gw=";
+    hash = "sha256-rwUhKm9arvUW3EWAgv3+SdJYR54Hob2RmMDA6IjEpn4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-netapp/default.nix b/pkgs/development/python-modules/azure-mgmt-netapp/default.nix
index f798ac2f8ab..717637933e8 100644
--- a/pkgs/development/python-modules/azure-mgmt-netapp/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-netapp/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-netapp";
-  version = "8.0.0";
+  version = "8.1.0";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-S0miYNV+mr3IiT5aLlDhiSpwpPMyWQ5m6/ZUrVfCNRM=";
+    hash = "sha256-Fdf9wzgeK5HY5d8HwFBokXB2ojHFNMVi9ne9ZQyVh5w=";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/azure-mgmt-network/default.nix b/pkgs/development/python-modules/azure-mgmt-network/default.nix
index 93cd52c63d1..60f67855d92 100644
--- a/pkgs/development/python-modules/azure-mgmt-network/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-network/default.nix
@@ -9,7 +9,7 @@
 }:
 
 buildPythonPackage rec {
-  version = "20.0.0";
+  version = "21.0.0";
   pname = "azure-mgmt-network";
   format = "setuptools";
 
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    hash = "sha256-mnjPyCAJ+rlNgZ4umSYjfVVVg83EobZYY/zupyDjdoY=";
+    hash = "sha256-NwVC9ln7qXDJMwtCc9AyTOq7wnum3xv5DYAg8AmGR8g=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-servicebus/default.nix b/pkgs/development/python-modules/azure-mgmt-servicebus/default.nix
index 28102aca739..51843b9ab4a 100644
--- a/pkgs/development/python-modules/azure-mgmt-servicebus/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-servicebus/default.nix
@@ -5,18 +5,20 @@
 , msrestazure
 , azure-common
 , azure-mgmt-core
-, azure-mgmt-nspkg
-, isPy3k
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "azure-mgmt-servicebus";
-  version = "7.1.0";
+  version = "8.1.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "d8ae7905fb7d3e24822daa20aa7bc5014f41aa18b48ea2d0161e997fc11a3d36";
+    hash = "sha256-R8Narn7eC7j59tDjsgbk9lF0PcOgOwSnzoMp3Qu0rmg=";
   };
 
   propagatedBuildInputs = [
@@ -24,11 +26,9 @@ buildPythonPackage rec {
     msrestazure
     azure-common
     azure-mgmt-core
-  ] ++ lib.optionals (!isPy3k) [
-    azure-mgmt-nspkg
   ];
 
-  # has no tests
+  # Module has no tests
   doCheck = false;
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/azure-mgmt-storage/default.nix b/pkgs/development/python-modules/azure-mgmt-storage/default.nix
index 8bc69d0c9b7..417264a70ff 100644
--- a/pkgs/development/python-modules/azure-mgmt-storage/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-storage/default.nix
@@ -7,16 +7,16 @@
 }:
 
 buildPythonPackage rec {
-  version = "20.0.0";
   pname = "azure-mgmt-storage";
+  version = "20.1.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    hash = "sha256-buR2tWIv9vWVTt7m6w2N1CezIXAihVrfHshjPKBM3uI=";
+    hash = "sha256-IU8/3oyR4n1T8uZUoo0VADrT9vFchDioIF8MiKSNlFE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/bech32/default.nix b/pkgs/development/python-modules/bech32/default.nix
new file mode 100644
index 00000000000..33b9044d758
--- /dev/null
+++ b/pkgs/development/python-modules/bech32/default.nix
@@ -0,0 +1,22 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+}:
+buildPythonPackage rec {
+  pname = "bech32";
+  version = "1.2.0";
+
+  disabled = pythonOlder "3.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-fW24IUYDvXhx/PpsCCbvaLhbCr2Q+iHChanF4h0r2Jk=";
+  };
+
+  meta = with lib; {
+    homepage = "https://pypi.org/project/bech32/";
+    license = with licenses; [ mit ];
+  };
+}
diff --git a/pkgs/development/python-modules/bellows/default.nix b/pkgs/development/python-modules/bellows/default.nix
index f02dc42b5b1..35f939fba1a 100644
--- a/pkgs/development/python-modules/bellows/default.nix
+++ b/pkgs/development/python-modules/bellows/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "bellows";
-  version = "0.31.1";
+  version = "0.32.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "zigpy";
     repo = "bellows";
     rev = "refs/tags/${version}";
-    sha256 = "sha256-kjZL6N1VF3Rc26eB5fU1UEs9BEr4sfV4Hto6QdwqeqY=";
+    sha256 = "sha256-+kD1V0SfRm0yYi64ciwtFK7YSVXnED6fBzQcGj6KKbo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/bitlist/default.nix b/pkgs/development/python-modules/bitlist/default.nix
index e1129f40602..1e7f2414464 100644
--- a/pkgs/development/python-modules/bitlist/default.nix
+++ b/pkgs/development/python-modules/bitlist/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "bitlist";
-  version = "0.8.0";
-  format = "setuptools";
+  version = "1.0.1";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-43Oh1ERGsW12HOqpbIa7rzLKrP9tIjckZhHwZSmBypE=";
+    hash = "sha256-rpXQKkV2RUuYza+gfpGEH3kFJ+hjuNGKV2i46eXQUUI=";
   };
 
   propagatedBuildInputs = [
@@ -33,8 +33,8 @@ buildPythonPackage rec {
   ];
 
   postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace " --cov=bitlist --cov-report term-missing" ""
+    substituteInPlace pyproject.toml \
+      --replace "--doctest-modules --ignore=docs --cov=bitlist --cov-report term-missing" ""
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/bleak-retry-connector/default.nix b/pkgs/development/python-modules/bleak-retry-connector/default.nix
index eea5b8b4477..f5352c5d2f6 100644
--- a/pkgs/development/python-modules/bleak-retry-connector/default.nix
+++ b/pkgs/development/python-modules/bleak-retry-connector/default.nix
@@ -1,7 +1,9 @@
 { lib
+, async-timeout
 , bleak
 , buildPythonPackage
 , fetchFromGitHub
+, poetry-core
 , pytestCheckHook
 , pythonOlder
 , pytest-asyncio
@@ -9,8 +11,8 @@
 
 buildPythonPackage rec {
   pname = "bleak-retry-connector";
-  version = "1.1.0";
-  format = "setuptools";
+  version = "1.7.1";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
@@ -18,10 +20,15 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-3d66Kp4bz+ZhiC4ZVJscI5nE+qJdsIaefrC4SM0wGP4=";
+    hash = "sha256-ql7j+m8g7ZgkgqJGUVE903n1b73kqWDExgSbnDpKQwc=";
   };
 
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
   propagatedBuildInputs = [
+    async-timeout
     bleak
   ];
 
diff --git a/pkgs/development/python-modules/bleak/default.nix b/pkgs/development/python-modules/bleak/default.nix
index a06b31b64a6..bd66c47c6cc 100644
--- a/pkgs/development/python-modules/bleak/default.nix
+++ b/pkgs/development/python-modules/bleak/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "bleak";
-  version = "0.14.3";
+  version = "0.15.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-dg5bsegECH92JXa5uVY9Y7R9UhsWUpiOKMPLXmS2GZA=";
+    hash = "sha256-2MjYjeDyKhW9E1ugVsTlsvufFRGSg97yGx7X1DwA1ZA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/blinkpy/default.nix b/pkgs/development/python-modules/blinkpy/default.nix
index c56c377b299..236f481df2e 100644
--- a/pkgs/development/python-modules/blinkpy/default.nix
+++ b/pkgs/development/python-modules/blinkpy/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "blinkpy";
-  version = "0.19.1";
+  version = "0.19.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "fronzbot";
     repo = "blinkpy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-29wfdRbJ4U3ou/4jkpWBE2FrUuo09k4hTYLnIP1S3uU=";
+    hash = "sha256-depaXtbXo5F1JC3M24i6ynWhpm9x9O7UCjkoSzFaSZI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/bluetooth-adapters/default.nix b/pkgs/development/python-modules/bluetooth-adapters/default.nix
new file mode 100644
index 00000000000..3de1597154d
--- /dev/null
+++ b/pkgs/development/python-modules/bluetooth-adapters/default.nix
@@ -0,0 +1,65 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, poetry-core
+, async-timeout
+, dbus-next
+, myst-parser
+, pytestCheckHook
+, sphinxHook
+, sphinx-rtd-theme
+}:
+
+buildPythonPackage rec {
+  pname = "bluetooth-adapters";
+  version = "0.1.3";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "Bluetooth-Devices";
+    repo = pname;
+    rev = "refs/tags/v${version}";
+    hash = "sha256-c96HgcmyiDwvcq8OsZ5s65VmAihz6KtCviP2h6Iu1Fo=";
+  };
+
+  postPatch = ''
+    # Drop pytest arguments (coverage, ...)
+    sed -i '/addopts/d' pyproject.toml
+  '';
+
+  outputs = [
+    "out"
+    "doc"
+  ];
+
+  nativeBuildInputs = [
+    myst-parser
+    poetry-core
+    sphinx-rtd-theme
+    sphinxHook
+  ];
+
+  propagatedBuildInputs = [
+    async-timeout
+    dbus-next
+  ];
+
+  pythonImportsCheck = [
+    "bluetooth_adapters"
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    changelog = "https://github.com/bluetooth-devices/bluetooth-adapters/blob/main/CHANGELOG.md";
+    description = "Tools to enumerate and find Bluetooth Adapters";
+    homepage = "https://bluetooth-adapters.readthedocs.io/";
+    license = licenses.asl20;
+    maintainers = teams.home-assistant.members;
+  };
+}
diff --git a/pkgs/development/python-modules/bluetooth-sensor-state-data/default.nix b/pkgs/development/python-modules/bluetooth-sensor-state-data/default.nix
new file mode 100644
index 00000000000..72edd0e6ca3
--- /dev/null
+++ b/pkgs/development/python-modules/bluetooth-sensor-state-data/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, home-assistant-bluetooth
+, poetry-core
+, pytestCheckHook
+, pythonOlder
+, sensor-state-data
+}:
+
+buildPythonPackage rec {
+  pname = "bluetooth-sensor-state-data";
+  version = "1.5.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "Bluetooth-Devices";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-Xr9MCTcEnO5bMk9AdBTwBCXwm33UUTP7FYZyjDYrMNA=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    home-assistant-bluetooth
+    sensor-state-data
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace " --cov=bluetooth_sensor_state_data --cov-report=term-missing:skip-covered" ""
+  '';
+
+  pythonImportsCheck = [
+    "bluetooth_sensor_state_data"
+  ];
+
+  meta = with lib; {
+    description = "Models for storing and converting Bluetooth Sensor State Data";
+    homepage = "https://github.com/bluetooth-devices/bluetooth-sensor-state-data";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/boto3/default.nix b/pkgs/development/python-modules/boto3/default.nix
index 67ac93a7dcd..834df14102f 100644
--- a/pkgs/development/python-modules/boto3/default.nix
+++ b/pkgs/development/python-modules/boto3/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "boto3";
-  version = "1.24.31"; # N.B: if you change this, change botocore and awscli to a matching version
+  version = "1.24.42"; # N.B: if you change this, change botocore and awscli to a matching version
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-3gZzRpQsbRcwtRN4M4ViBRm4spNfWw7i5m1WX/tXzhI=";
+    sha256 = "sha256-3z1u8CMEvXw3EQkJNsCS1dtzXdoQneysHiNsPvf9t68=";
   };
 
   propagatedBuildInputs = [ botocore jmespath s3transfer ] ++ lib.optionals (!isPy3k) [ futures ];
diff --git a/pkgs/development/python-modules/botocore/default.nix b/pkgs/development/python-modules/botocore/default.nix
index fa5c26d115c..d7e52589760 100644
--- a/pkgs/development/python-modules/botocore/default.nix
+++ b/pkgs/development/python-modules/botocore/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "botocore";
-  version = "1.27.31"; # N.B: if you change this, change boto3 and awscli to a matching version
+  version = "1.27.42"; # N.B: if you change this, change boto3 and awscli to a matching version
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-sMx5+1o3oOK2vv6G79AnuSEB2Bnx/cVs//OfLrI58jI=";
+    sha256 = "sha256-OKGApmZsWpsGmnXsPPN0/ypkw+kMnySpFoWLzesERW0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/callee/default.nix b/pkgs/development/python-modules/callee/default.nix
new file mode 100644
index 00000000000..1cf63455c24
--- /dev/null
+++ b/pkgs/development/python-modules/callee/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "callee";
+  version = "0.3.1";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "Xion";
+    repo = pname;
+    rev = "refs/tags/${version}";
+    hash = "sha256-dsXMY3bW/70CmTfCuy5KjxPa+NLCzxzWv5e1aV2NEWE=";
+  };
+
+  pythonImportsCheck = [
+    "callee"
+  ];
+
+  doCheck = false; # missing dependency
+
+  checkInputs = [
+    # taipan missing, unmaintained, not python3.10 compatible
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Argument matchers for unittest.mock";
+    homepage = "https://github.com/Xion/callee";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/pkgs/development/python-modules/casbin/default.nix b/pkgs/development/python-modules/casbin/default.nix
index e98ee9d4fe3..2e027eaa990 100644
--- a/pkgs/development/python-modules/casbin/default.nix
+++ b/pkgs/development/python-modules/casbin/default.nix
@@ -1,15 +1,15 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, simpleeval
+, pytestCheckHook
 , pythonOlder
-, coveralls
+, simpleeval
 , wcmatch
 }:
 
 buildPythonPackage rec {
   pname = "casbin";
-  version = "1.16.9";
+  version = "1.17.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "pycasbin";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-1xxjFNkCb50ndmXuRjt7svPOvSyzZbw+J49Zpyy1FUc=";
+    hash = "sha256-fBMhrA4zL4XPjQ63AGc5jf585ZpHTBumPievDNfCw7o=";
   };
 
   propagatedBuildInputs = [
@@ -27,19 +27,15 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    coveralls
+    pytestCheckHook
   ];
 
-  checkPhase = ''
-    coverage run -m unittest discover -s tests -t tests
-  '';
-
   pythonImportsCheck = [
     "casbin"
   ];
 
   meta = with lib; {
-    description = "An authorization library that supports access control models like ACL, RBAC, ABAC in Python";
+    description = "Authorization library that supports access control models like ACL, RBAC and ABAC";
     homepage = "https://github.com/casbin/pycasbin";
     license = licenses.asl20;
     maintainers = with maintainers; [ costrouc ];
diff --git a/pkgs/development/python-modules/catalogue/default.nix b/pkgs/development/python-modules/catalogue/default.nix
index ecdd74f9d37..43e4d0029af 100644
--- a/pkgs/development/python-modules/catalogue/default.nix
+++ b/pkgs/development/python-modules/catalogue/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "catalogue";
-  version = "2.1.0";
+  version = "2.0.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-oczi8XOKMd6yqiSz5Kieb7PoUlVcGDsOzaiivMHq7y4=";
+    sha256 = "sha256-syXHdlkgi/tq8bDZOxoapBEuG7KaTFztgWdYpyLw44g=";
   };
 
   propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [
@@ -29,11 +29,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  disabledTests = lib.optionals (pythonAtLeast "3.10") [
-    # https://github.com/explosion/catalogue/issues/27
-    "test_entry_points"
-  ];
-
   pythonImportsCheck = [
     "catalogue"
   ];
@@ -43,6 +38,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/explosion/catalogue";
     changelog = "https://github.com/explosion/catalogue/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ onny ];
   };
 }
diff --git a/pkgs/development/python-modules/cattrs/default.nix b/pkgs/development/python-modules/cattrs/default.nix
index 837b01c868c..a6355e19884 100644
--- a/pkgs/development/python-modules/cattrs/default.nix
+++ b/pkgs/development/python-modules/cattrs/default.nix
@@ -2,6 +2,7 @@
 , attrs
 , buildPythonPackage
 , fetchFromGitHub
+, exceptiongroup
 , hypothesis
 , immutables
 , motor
@@ -37,6 +38,8 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     attrs
+  ] ++ lib.optionals (pythonOlder "3.11") [
+    exceptiongroup
   ] ++ lib.optionals (pythonOlder "3.7") [
     typing-extensions
   ];
diff --git a/pkgs/development/python-modules/censys/default.nix b/pkgs/development/python-modules/censys/default.nix
index 272be648d2c..432958255d2 100644
--- a/pkgs/development/python-modules/censys/default.nix
+++ b/pkgs/development/python-modules/censys/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "censys";
-  version = "2.1.6";
+  version = "2.1.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "censys";
     repo = "censys-python";
     rev = "v${version}";
-    hash = "sha256-jCQWjGx35erhkj1gjBjdGytvKNarrTODH6fJpFMQqLE=";
+    hash = "sha256-1GJef+6Aqah9W9yPwqD8QCh0sNn/X9UwlzmsCk51QMY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/cinemagoer/default.nix b/pkgs/development/python-modules/cinemagoer/default.nix
new file mode 100644
index 00000000000..45d80c26b8b
--- /dev/null
+++ b/pkgs/development/python-modules/cinemagoer/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, lxml
+, sqlalchemy
+}:
+
+buildPythonPackage rec {
+  pname = "cinemagoer";
+  version = "2022.2.11";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "8efe29dab44a7d275702f3160746015bd55c87b2eed85991dd57dda42594e6c6";
+  };
+
+  propagatedBuildInputs = [
+    lxml
+    sqlalchemy
+  ];
+
+  # Tests require networking, and https://github.com/cinemagoer/cinemagoer/issues/240
+  doCheck = false;
+
+  pythonImportsCheck = [ "imdb" ]; # Former "imdbpy", upstream is yet to rename here
+
+  meta = with lib; {
+    description = "A Python package for retrieving and managing the data of the IMDb movie database about movies and people";
+    downloadPage = "https://github.com/cinemagoer/cinemagoer/";
+    homepage = "https://cinemagoer.github.io/";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ superherointj ];
+  };
+}
diff --git a/pkgs/development/python-modules/claripy/default.nix b/pkgs/development/python-modules/claripy/default.nix
index 09fe5715f34..1459493ef0c 100644
--- a/pkgs/development/python-modules/claripy/default.nix
+++ b/pkgs/development/python-modules/claripy/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "claripy";
-  version = "9.2.11";
+  version = "9.2.13";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-FNlvmXL4Ko2xnML+h1bVhS/62z6BgJbgyQ2UhcDkB+Y=";
+    hash = "sha256-kZs2BYVfXCqi1v/cnJCDtLsEKc7xh8nG59G4N1RVSjs=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/cle/default.nix b/pkgs/development/python-modules/cle/default.nix
index de258870b83..7a0177ad2d4 100644
--- a/pkgs/development/python-modules/cle/default.nix
+++ b/pkgs/development/python-modules/cle/default.nix
@@ -15,7 +15,7 @@
 
 let
   # The binaries are following the argr projects release cycle
-  version = "9.2.11";
+  version = "9.2.13";
 
   # Binary files from https://github.com/angr/binaries (only used for testing and only here)
   binaries = fetchFromGitHub {
@@ -37,7 +37,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-3brrNU3dPID336SGa2vTMHQOqEcoiCmyr+5ol14yDgc=";
+    hash = "sha256-mgEDYUh3ZYvlcj8u3M3Rpfi57CA0MYuf2C3eZ4ElAzA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/clustershell/default.nix b/pkgs/development/python-modules/clustershell/default.nix
index 9e6d383db20..890c20b0d25 100644
--- a/pkgs/development/python-modules/clustershell/default.nix
+++ b/pkgs/development/python-modules/clustershell/default.nix
@@ -1,5 +1,13 @@
-{ stdenv, lib, buildPythonPackage, fetchPypi, pyyaml, openssh
-, nose, bc, hostname, coreutils, bash, gnused
+{ stdenv
+, lib
+, buildPythonPackage
+, fetchPypi
+, pyyaml
+, openssh
+, nose
+, bc
+, hostname
+, bash
 }:
 
 buildPythonPackage rec {
@@ -11,8 +19,6 @@ buildPythonPackage rec {
     sha256 = "ff6fba688a06e5e577315d899f0dab3f4fe479cef99d444a4e651af577b7d081";
   };
 
-  propagatedBuildInputs = [ pyyaml ];
-
   postPatch = ''
     substituteInPlace lib/ClusterShell/Worker/Ssh.py \
       --replace '"ssh"' '"${openssh}/bin/ssh"' \
@@ -20,29 +26,40 @@ buildPythonPackage rec {
 
     substituteInPlace lib/ClusterShell/Worker/fastsubprocess.py \
       --replace '"/bin/sh"' '"${bash}/bin/sh"'
+
+    for f in tests/*; do
+      substituteInPlace $f \
+        --replace '/bin/hostname'   '${hostname}/bin/hostname' \
+        --replace '/bin/sleep'      'sleep' \
+        --replace '/bin/echo'       'echo' \
+        --replace '/bin/uname'      'uname' \
+        --replace '/bin/false'      'false' \
+        --replace '/bin/true'       'true' \
+        --replace '/usr/bin/printf' 'printf'
+    done
+
+    # Fix warnings
+    substituteInPlace lib/ClusterShell/Task.py \
+      --replace "notifyAll" "notify_all"
+    substituteInPlace tests/TaskPortTest.py lib/ClusterShell/Task.py \
+      --replace "currentThread" "current_thread"
   '';
 
-  checkInputs = [ nose bc hostname coreutils gnused ];
+  propagatedBuildInputs = [ pyyaml ];
+
+  checkInputs = [
+    bc
+    hostname
+    nose
+  ];
+
+  pythonImportsCheck = [ "ClusterShell" ];
 
   # Many tests want to open network connections
   # https://github.com/cea-hpc/clustershell#test-suite
   #
   # Several tests fail on Darwin
   checkPhase = ''
-    for f in tests/*; do
-      substituteInPlace $f \
-        --replace '/bin/hostname'   '${hostname}/bin/hostname' \
-        --replace '/bin/sleep'      '${coreutils}/bin/sleep' \
-        --replace '"sleep'          '"${coreutils}/bin/sleep' \
-        --replace '/bin/echo'       '${coreutils}/bin/echo' \
-        --replace '/bin/uname'      '${coreutils}/bin/uname' \
-        --replace '/bin/false'      '${coreutils}/bin/false' \
-        --replace '/bin/true'       '${coreutils}/bin/true' \
-        --replace '/usr/bin/printf' '${coreutils}/bin/printf' \
-        --replace '"sed'            '"${gnused}/bin/sed' \
-        --replace ' sed '           ' ${gnused}/bin/sed '
-    done
-
     rm tests/CLIClushTest.py
     rm tests/TreeWorkerTest.py
     rm tests/TaskDistantMixin.py
diff --git a/pkgs/development/python-modules/cock/default.nix b/pkgs/development/python-modules/cock/default.nix
index e7428823ad9..384e2c42fea 100644
--- a/pkgs/development/python-modules/cock/default.nix
+++ b/pkgs/development/python-modules/cock/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "cock";
-  version = "0.9.0";
+  version = "0.10.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0d9021c2d9ce0dbf495a3c5ef960a9996a0681bb96ff6099f37302a3813a184e";
+    sha256 = "sha256-B6r6+b+x5vEp4+yfhV03dfjlVjRbW2W6Pm91PC0Tb+o=";
   };
 
   propagatedBuildInputs = [ click sortedcontainers pyyaml ];
diff --git a/pkgs/development/python-modules/colormath/default.nix b/pkgs/development/python-modules/colormath/default.nix
index b749761da06..7f9f9f1a9ce 100644
--- a/pkgs/development/python-modules/colormath/default.nix
+++ b/pkgs/development/python-modules/colormath/default.nix
@@ -8,20 +8,26 @@
 
 buildPythonPackage rec {
   pname = "colormath";
-  version = "3.0.0";
+  # Switch to unstable which fixes an deprecation issue with newer numpy
+  # versions, should be included in versions > 3.0
+  # https://github.com/gtaylor/python-colormath/issues/104
+  version = "unstable-2021-04-17";
 
   src = fetchFromGitHub {
     owner = "gtaylor";
-    rev = "3.0.0";
     repo = "python-colormath";
-    sha256 = "1nqf5wy8ikx2g684khzvjc4iagkslmbsxxwilbv4jpaznr9lahdl";
+    rev = "4a076831fd5136f685aa7143db81eba27b2cd19a";
+    sha256 = "sha256-eACVPIQFgiGiVmQ/PjUxP/UH/hBOsCywz5PlgpA4dk4=";
   };
 
   propagatedBuildInputs = [ networkx numpy ];
 
   checkInputs = [ nose ];
+
   checkPhase = "nosetests";
 
+  pythonImportsCheck = [ "colormath" ];
+
   meta = with lib; {
     description = "Color math and conversion library";
     homepage = "https://github.com/gtaylor/python-colormath";
diff --git a/pkgs/development/python-modules/colorzero/default.nix b/pkgs/development/python-modules/colorzero/default.nix
new file mode 100644
index 00000000000..4e74d9592a9
--- /dev/null
+++ b/pkgs/development/python-modules/colorzero/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pkginfo
+, sphinxHook
+, sphinx-rtd-theme
+, pytestCheckHook
+}:
+
+
+buildPythonPackage rec {
+  pname = "colorzero";
+  version = "2.0";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "waveform80";
+    repo = pname;
+    rev = "refs/tags/release-${version}";
+    hash = "sha256-0NoQsy86OHQNLZsTEuF5s2MlRUoacF28jNeHgFKAH14=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov" ""
+  '';
+
+  outputs = [
+    "out"
+    "doc"
+  ];
+
+  nativeBuildInputs = [
+    pkginfo
+    sphinx-rtd-theme
+    sphinxHook
+  ];
+
+  pythonImportsCheck = [
+    "colorzero"
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Yet another Python color library";
+    homepage = "https://github.com/waveform80/colorzero";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/pkgs/development/python-modules/configclass/default.nix b/pkgs/development/python-modules/configclass/default.nix
new file mode 100644
index 00000000000..9856be48ac3
--- /dev/null
+++ b/pkgs/development/python-modules/configclass/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+, mergedict
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "configclass";
+  version = "0.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-aoDKBuDxJCeXbVwCXhse6FCbDDM30/Xa8p9qRvDkWBk=";
+  };
+
+  propagatedBuildInputs = [ mergedict ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "configclass" ];
+
+  meta = with lib; {
+    description = "A Python to class to hold configuration values";
+    homepage = "https://github.com/schettino72/configclass/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ onny ];
+  };
+}
diff --git a/pkgs/development/python-modules/confluent-kafka/default.nix b/pkgs/development/python-modules/confluent-kafka/default.nix
index 2da762f26d7..f3a24d70fbf 100644
--- a/pkgs/development/python-modules/confluent-kafka/default.nix
+++ b/pkgs/development/python-modules/confluent-kafka/default.nix
@@ -1,12 +1,12 @@
 { lib, buildPythonPackage, fetchPypi, isPy3k, rdkafka, requests, avro3k, avro ? null, futures ? null, enum34 ? null }:
 
 buildPythonPackage rec {
-  version = "1.9.0";
+  version = "1.9.2";
   pname = "confluent-kafka";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-L4cARHNxjRl29XyeIzB8IW2vjL1H/6cRXvDOSJY8nGk=";
+    sha256 = "sha256-L7l70l1Da9Wf4HmIWqd6Oi8jz6zpxjWdRwAFNmWEkmI=";
   };
 
   buildInputs = [ rdkafka requests ] ++ (if isPy3k then [ avro3k ] else [ enum34 avro futures ]) ;
diff --git a/pkgs/development/python-modules/container-inspector/default.nix b/pkgs/development/python-modules/container-inspector/default.nix
index 00dae814b1c..1dcf4e9b7a7 100644
--- a/pkgs/development/python-modules/container-inspector/default.nix
+++ b/pkgs/development/python-modules/container-inspector/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "container-inspector";
-  version = "31.1.0";
+  version = "32.0.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "nexB";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-44sTZelCT6sGPyMteJZBcPRReTHuO1ZUxeQ0Vp7Zmqo=";
+    hash = "sha256-J9glnfs6l36/IQoIvE8a+Cw4B8x/6r5UeAU8+T/OiQg=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/cryptolyzer/default.nix b/pkgs/development/python-modules/cryptolyzer/default.nix
new file mode 100644
index 00000000000..2fd90b23bee
--- /dev/null
+++ b/pkgs/development/python-modules/cryptolyzer/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, certvalidator
+, attrs
+, six
+, urllib3
+, cryptoparser
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "cryptolyzer";
+  version = "0.8.1";
+
+  src = fetchPypi {
+    pname = "CryptoLyzer";
+    inherit version;
+    sha256 = "sha256-FbxSjKxhzlpj3IezuLCQvoeZMG1q+OE/yn5vB/XE1rI=";
+  };
+
+  propagatedBuildInputs = [
+    certvalidator
+    attrs
+    six
+    urllib3
+    cryptoparser
+    requests
+  ];
+
+  doCheck = false; # Tests require networking
+
+  pythonImportsCheck = [ "cryptolyzer" ];
+
+  meta = with lib; {
+    description = "Fast and flexible cryptographic protocol analyzer";
+    homepage = "https://gitlab.com/coroner/cryptolyzer";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ kranzes ];
+  };
+}
diff --git a/pkgs/development/python-modules/cryptoparser/default.nix b/pkgs/development/python-modules/cryptoparser/default.nix
new file mode 100644
index 00000000000..cfac7f20376
--- /dev/null
+++ b/pkgs/development/python-modules/cryptoparser/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, attrs
+, six
+, asn1crypto
+, python-dateutil
+}:
+
+buildPythonPackage rec {
+  pname = "cryptoparser";
+  version = "0.8.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-kJg8d1PoGIC0feefbJM8oyXcRyMGdg1wWkQUl/nSNCo=";
+  };
+
+  propagatedBuildInputs = [
+    attrs
+    six
+    asn1crypto
+    python-dateutil
+  ];
+
+  pythonImportsCheck = [ "cryptoparser" ];
+
+  meta = with lib; {
+    description = "Fast and flexible security protocol parser and generator";
+    homepage = "https://gitlab.com/coroner/cryptoparser";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ kranzes ];
+  };
+}
diff --git a/pkgs/development/python-modules/cupy/default.nix b/pkgs/development/python-modules/cupy/default.nix
index f4bb9361026..ffe017698df 100644
--- a/pkgs/development/python-modules/cupy/default.nix
+++ b/pkgs/development/python-modules/cupy/default.nix
@@ -70,5 +70,8 @@ in buildPythonPackage rec {
     license = licenses.mit;
     platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ hyphon81 ];
+
+    # See https://github.com/NixOS/nixpkgs/pull/179912#issuecomment-1206265922.
+    broken = true;
   };
 }
diff --git a/pkgs/development/python-modules/cyclonedx-python-lib/default.nix b/pkgs/development/python-modules/cyclonedx-python-lib/default.nix
index fc275b16dfe..cd69d5b1b5e 100644
--- a/pkgs/development/python-modules/cyclonedx-python-lib/default.nix
+++ b/pkgs/development/python-modules/cyclonedx-python-lib/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "cyclonedx-python-lib";
-  version = "2.7.0";
+  version = "2.7.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "CycloneDX";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-Imn9wl5I7dzkUnVBzK2vhWOrf89FycVW4GvEYFeSujU=";
+    hash = "sha256-c/KhoJOa121/h0n0GUazjUFChnUo05ThD+fuZXc5/Pk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dask-gateway/default.nix b/pkgs/development/python-modules/dask-gateway/default.nix
index 5f2634a1748..f0e5a54c95b 100644
--- a/pkgs/development/python-modules/dask-gateway/default.nix
+++ b/pkgs/development/python-modules/dask-gateway/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , aiohttp
 , dask
 , distributed
@@ -10,12 +10,17 @@ buildPythonPackage rec {
   pname = "dask-gateway";
   # update dask-gateway lock step with dask-gateway-server
   version = "2022.6.1";
+  format = "pyproject";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-i0OFXjvDg+D4Sdyg6rluP0k6/Ecr+VZn+RiIEQONQX0=";
+  src = fetchFromGitHub {
+    owner = "dask";
+    repo = "dask-gateway";
+    rev = "refs/tags/${version}";
+    hash = "sha256-PsagZdEPpeuZH9hFL98xB5z6zOdd4Cx/skGQ0eOYkCA=";
   };
 
+  sourceRoot = "source/dask-gateway";
+
   propagatedBuildInputs = [
     aiohttp
     dask
@@ -31,6 +36,6 @@ buildPythonPackage rec {
     description = "A client library for interacting with a dask-gateway server";
     homepage = "https://gateway.dask.org/";
     license = licenses.bsd3;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/databases/default.nix b/pkgs/development/python-modules/databases/default.nix
index 05431026ec8..24551340a0a 100644
--- a/pkgs/development/python-modules/databases/default.nix
+++ b/pkgs/development/python-modules/databases/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "databases";
-  version = "0.6.0";
+  version = "0.6.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "encode";
     repo = pname;
     rev = version;
-    hash = "sha256-5+x735EFX9B25HgXiqzUJm0nbF7tDF5FOQVnbYQyomE=";
+    hash = "sha256-kHsA9XpolGmtuAGzRTj61igooLG9/LBQyv7TtuqiJ/A=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/datashader/default.nix b/pkgs/development/python-modules/datashader/default.nix
index cb93ceb2b20..82f0851b1ab 100644
--- a/pkgs/development/python-modules/datashader/default.nix
+++ b/pkgs/development/python-modules/datashader/default.nix
@@ -25,14 +25,14 @@
 
 buildPythonPackage rec {
   pname = "datashader";
-  version = "0.14.1";
+  version = "0.14.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-VGF6351lVCBat68EY9IY9lHk1hDMcjBcrVdPSliFq4Y=";
+    hash = "sha256-q8aOpuJD6aX9m9jPm9PY5vZGBJL6Jpf+pPHbcQVOJLg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/db-dtypes/default.nix b/pkgs/development/python-modules/db-dtypes/default.nix
index 69aad6af3f2..acd258c8456 100644
--- a/pkgs/development/python-modules/db-dtypes/default.nix
+++ b/pkgs/development/python-modules/db-dtypes/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "db-dtypes";
-  version = "1.0.2";
+  version = "1.0.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "googleapis";
     repo = "python-db-dtypes-pandas";
     rev = "refs/tags/v${version}";
-    hash = "sha256-LLKhYLzGUQRx4ciWv1TilYvTOO0sj6rdkPlJLPZ8VXA=";
+    hash = "sha256-KkwXmJ9KwmslBPhBApm+bcY7Tu/J2ZK4sszBaMMDcpY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/deap/default.nix b/pkgs/development/python-modules/deap/default.nix
index 5efad065011..9830a8c0276 100644
--- a/pkgs/development/python-modules/deap/default.nix
+++ b/pkgs/development/python-modules/deap/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "deap";
-  version = "1.3.1";
+  version = "1.3.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0bvshly83c4h5jhxaa97z192viczymz5fxp6vl8awjmmrs9l9x8i";
+    sha256 = "sha256-h3LxsP/wQtXlFrCuusLHBiQwRap9DejguGWPOAGBzzE=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/debuglater/default.nix b/pkgs/development/python-modules/debuglater/default.nix
new file mode 100644
index 00000000000..6adbde7f513
--- /dev/null
+++ b/pkgs/development/python-modules/debuglater/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, buildPythonPackage
+, colorama
+, dill
+, fetchFromGitHub
+, numpy
+, pandas
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "debuglater";
+  version = "1.4.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "ploomber";
+    repo = pname;
+    rev = version;
+    hash = "sha256-n/Q6yt3q/+6QCGWNmaFrUK/phba6IVu42DMcvVj4vb0=";
+  };
+
+  propagatedBuildInputs = [
+    colorama
+  ];
+
+  passthru.optional-dependencies = {
+    all = [
+      dill
+    ];
+  };
+
+  checkInputs = [
+    numpy
+    pandas
+    pytestCheckHook
+  ] ++ passthru.optional-dependencies.all;
+
+  pythonImportsCheck = [
+    "debuglater"
+  ];
+
+  meta = with lib; {
+    description = "Module for post-mortem debugging of Python programs";
+    homepage = "https://github.com/ploomber/debuglater";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/deepwave/default.nix b/pkgs/development/python-modules/deepwave/default.nix
index c45115e5372..0e5e9b45661 100644
--- a/pkgs/development/python-modules/deepwave/default.nix
+++ b/pkgs/development/python-modules/deepwave/default.nix
@@ -18,14 +18,14 @@ let
 in
 buildPythonPackage rec {
   pname = "deepwave";
-  version = "0.0.12";
+  version = "0.0.14";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "ar4";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-WWu0LyHlOwWMVPUy+LAszKF3VlgcqlcMlDi4oon4Dl8=";
+    sha256 = "sha256-k1MUrnIkllxGIpkEScTZBEDBBNHgJHxau1e/L8TOEKc=";
   };
 
   # unable to find ninja although it is available, most likely because it looks for its pip version
diff --git a/pkgs/development/python-modules/deezer-python/default.nix b/pkgs/development/python-modules/deezer-python/default.nix
index 62e92e8dde8..65ff9a4c8c8 100644
--- a/pkgs/development/python-modules/deezer-python/default.nix
+++ b/pkgs/development/python-modules/deezer-python/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "deezer-python";
-  version = "5.4.0";
+  version = "5.5.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "browniebroke";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-Lp5uIt6Zd8xQBcCWQcwL/YIHixXDpQ6ZTPSinLxr+PY=";
+    hash = "sha256-VwN/EkJ2LtbCqSelPVl33dD1MFSlypUXmyw4FnH0ee4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/defcon/default.nix b/pkgs/development/python-modules/defcon/default.nix
index 12cbdf0a210..1cfa630337f 100644
--- a/pkgs/development/python-modules/defcon/default.nix
+++ b/pkgs/development/python-modules/defcon/default.nix
@@ -1,17 +1,26 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder
-, fonttools, setuptools-scm
-, pytest, pytest-runner, lxml, fs, unicodedata2, fontpens
+{ lib
+, buildPythonPackage
+, fetchPypi
+, fontpens
+, fonttools
+, fs
+, lxml
+, pytestCheckHook
+, pythonOlder
+, setuptools-scm
+, unicodedata2
 }:
 
 buildPythonPackage rec {
   pname = "defcon";
-  version = "0.10.1";
+  version = "0.10.2";
+  format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-+nlk9xG3mOCS4xHzp54J/V+he7HNMg1aMgFeTFTrMHA=";
+    hash = "sha256-ruOW5taeRa5lyCZHgTktTCkRaTSyc3rXbYIwtAwYKkQ=";
     extension = "zip";
   };
 
@@ -24,18 +33,21 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    pytest
-    pytest-runner
-    lxml
+    fontpens
     fs
+    lxml
+    pytestCheckHook
     unicodedata2
-    fontpens
+  ];
+
+  pythonImportsCheck = [
+    "defcon"
   ];
 
   meta = with lib; {
     description = "A set of UFO based objects for use in font editing applications";
     homepage = "https://github.com/robotools/defcon";
     license = licenses.mit;
-    maintainers = [ maintainers.sternenseemann ];
+    maintainers = with maintainers; [ sternenseemann ];
   };
 }
diff --git a/pkgs/development/python-modules/diskcache/default.nix b/pkgs/development/python-modules/diskcache/default.nix
index cf3f7b514b1..6a8d1e59cea 100644
--- a/pkgs/development/python-modules/diskcache/default.nix
+++ b/pkgs/development/python-modules/diskcache/default.nix
@@ -43,6 +43,8 @@ buildPythonPackage rec {
     "test_incr_version"
     "test_get_or_set"
     "test_get_many"
+    # see https://github.com/grantjenks/python-diskcache/issues/260
+    "test_cache_write_unpicklable_object"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/django-compressor/default.nix b/pkgs/development/python-modules/django-compressor/default.nix
new file mode 100644
index 00000000000..05c525c0cc9
--- /dev/null
+++ b/pkgs/development/python-modules/django-compressor/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, rcssmin
+, rjsmin
+, django-appconf
+, beautifulsoup4
+, brotli
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "django-compressor";
+  version = "4.1";
+  format = "setuptools";
+
+  src = fetchPypi {
+    pname = "django_compressor";
+    inherit version;
+    hash = "sha256-js5iHSqY9sZjVIDLizcB24kKmfeT+VyiDLAKvBlNMx0=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "rcssmin == 1.1.0" "rcssmin>=1.1.0" \
+      --replace "rjsmin == 1.2.0" "rjsmin>=1.2.0"
+  '';
+
+  propagatedBuildInputs = [
+    rcssmin
+    rjsmin
+    django-appconf
+  ];
+
+  pythonImportsCheck = [
+    "compressor"
+  ];
+
+  doCheck = false; # missing package django-sekizai
+
+  checkInputs = [
+    beautifulsoup4
+    brotli
+    pytestCheckHook
+  ];
+
+  DJANGO_SETTINGS_MODULE = "compressor.test_settings";
+
+  meta = with lib; {
+    description = "Compresses linked and inline JavaScript or CSS into single cached files";
+    homepage = "https://django-compressor.readthedocs.org/en/latest/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ desiderius ];
+  };
+}
diff --git a/pkgs/development/python-modules/django-js-asset/default.nix b/pkgs/development/python-modules/django-js-asset/default.nix
index e7001d15a9a..f921077934f 100644
--- a/pkgs/development/python-modules/django-js-asset/default.nix
+++ b/pkgs/development/python-modules/django-js-asset/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "django-js-asset";
-  version = "unstable-2021-06-07";
+  version = "2.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "matthiask";
     repo = pname;
-    rev = "a186aa0b5721ca95da6cc032a2fb780a152f581b";
-    sha256 = "141zxng0wwxalsi905cs8pdppy3ad717y3g4fkdxw4n3pd0fjp8r";
+    rev = "refs/tags/${version}";
+    hash = "sha256-YDOmbqB0xDBAlOSO1UBYJ8VfRjJ8Z6Hw1i24DNSrnjw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/django-mailman3/default.nix b/pkgs/development/python-modules/django-mailman3/default.nix
index cc04bf0d441..9486764e278 100644
--- a/pkgs/development/python-modules/django-mailman3/default.nix
+++ b/pkgs/development/python-modules/django-mailman3/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, django-gravatar2, django_compressor
+{ lib, buildPythonPackage, fetchPypi, django-gravatar2, django-compressor
 , django-allauth, mailmanclient, django, mock
 }:
 
@@ -12,7 +12,7 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    django-gravatar2 django_compressor django-allauth mailmanclient
+    django-gravatar2 django-compressor django-allauth mailmanclient
   ];
   checkInputs = [ django mock ];
 
diff --git a/pkgs/development/python-modules/django-q/default.nix b/pkgs/development/python-modules/django-q/default.nix
index f81fc01bdd6..a6ebb5714d9 100644
--- a/pkgs/development/python-modules/django-q/default.nix
+++ b/pkgs/development/python-modules/django-q/default.nix
@@ -1,24 +1,82 @@
-{ lib, buildPythonPackage, fetchPypi, django-picklefield, arrow
-, blessed, django, future }:
+{ arrow
+, blessed
+, buildPythonPackage
+, croniter
+, django
+, django-redis
+, django-picklefield
+, fetchFromGitHub
+, future
+, lib
+, poetry-core
+, pytest-django
+, pytest-mock
+, pytestCheckHook
+, pkgs
+, stdenv
+}:
 
 buildPythonPackage rec {
   pname = "django-q";
   version = "1.3.9";
+  format = "pyproject";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "5c6b4d530aa3aabf9c6aa57376da1ca2abf89a1562b77038b7a04e52a4a0a91b";
+  src = fetchFromGitHub {
+    owner = "Koed00";
+    repo = "django-q";
+    sha256 = "sha256-gFSrAl3QGoJEJfvTTvLQgViPPjeJ6BfvgEwgLLo+uAA=";
+    rev = "v${version}";
   };
 
+  nativeBuildInputs = [ poetry-core ];
+
   propagatedBuildInputs = [
-    django-picklefield arrow blessed django future
+    django-picklefield
+    arrow
+    blessed
+    django
+    future
+  ];
+
+  # fixes empty version string
+  # analog to https://github.com/NixOS/nixpkgs/pull/171200
+  patches = [
+    ./pep-621.patch
+  ];
+
+  pythonImportsCheck = [
+    "django_q"
+  ];
+
+  preCheck = ''
+    ${pkgs.redis}/bin/redis-server &
+    REDIS_PID=$!
+  '';
+
+  postCheck = ''
+    kill $REDIS_PID
+  '';
+
+  checkInputs = [
+    croniter
+    django-redis
+    pytest-django
+    pytest-mock
+    pytestCheckHook
+  ];
+
+  # don't bother with two more servers to test
+  disabledTests = [
+    "test_disque"
+    "test_mongo"
   ];
 
-  doCheck = false;
+  doCheck = !stdenv.isDarwin;
 
   meta = with lib; {
     description = "A multiprocessing distributed task queue for Django";
     homepage = "https://django-q.readthedocs.org";
     license = licenses.mit;
+    maintainers = with maintainers; [ gador ];
   };
 }
diff --git a/pkgs/development/python-modules/django-q/pep-621.patch b/pkgs/development/python-modules/django-q/pep-621.patch
new file mode 100644
index 00000000000..e0a1568f482
--- /dev/null
+++ b/pkgs/development/python-modules/django-q/pep-621.patch
@@ -0,0 +1,32 @@
+diff --git a/pyproject.toml b/pyproject.toml
+index 9a83e90..0cdffaf 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -1,16 +1,12 @@
+-[tool.poetry]
++[project]
+ name = "django-q"
+ version = "1.3.9"
+ description = "A multiprocessing distributed task queue for Django"
+-authors = ["Ilan Steemers <koed00@gmail.com>"]
+-maintainers = ["Ilan Steemers <koed00@gmail.com>"]
+-license = "MIT"
++authors = [ { name = "Ilan Steemers", email = "koed00@gmail.com"} ]
++maintainers = [ { name = "Ilan Steemers", email = "koed00@gmail.com"} ]
++license.text = "MIT"
+ readme = 'README.rst'
+
+-repository = "https://github.com/koed00/django-q"
+-homepage = "https://django-q.readthedocs.org"
+-documentation = "https://django-q.readthedocs.org"
+-
+ keywords = ["django", "distributed", "multiprocessing", "queue", "scheduler"]
+
+ classifiers = [
+@@ -31,7 +27,6 @@ classifiers = [
+     'Topic :: System :: Distributed Computing',
+     'Topic :: Software Development :: Libraries :: Python Modules',
+ ]
+-include = ['CHANGELOG.md']
+
+ [tool.poetry.plugins] # Optional super table
diff --git a/pkgs/development/python-modules/django-reversion/default.nix b/pkgs/development/python-modules/django-reversion/default.nix
index a4f93c6ce2d..2932eb31e11 100644
--- a/pkgs/development/python-modules/django-reversion/default.nix
+++ b/pkgs/development/python-modules/django-reversion/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "django-reversion";
-  version = "5.0.1";
+  version = "5.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-orJqS4SxEzgTbKnWRXpK8wcJkseoliOzSQCaEj8o6h0=";
+    sha256 = "sha256-JDoS7k4EwWEcDwdvv8MHTxrUCvxFrcZN5bokFMxOryk=";
   };
 
   # tests assume the availability of a mysql/postgresql database
diff --git a/pkgs/development/python-modules/django-storages/default.nix b/pkgs/development/python-modules/django-storages/default.nix
index 25a6e561789..040fe39d2b5 100644
--- a/pkgs/development/python-modules/django-storages/default.nix
+++ b/pkgs/development/python-modules/django-storages/default.nix
@@ -1,20 +1,42 @@
 { lib, buildPythonPackage, fetchPypi
 , django
+
+, azure-storage-blob
+, boto3
+, dropbox
+, google-cloud-storage
+, libcloud
+, paramiko
 }:
 
 buildPythonPackage rec {
   pname = "django-storages";
-  version = "1.12.3";
+  version = "1.13.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a475edb2f0f04c4f7e548919a751ecd50117270833956ed5bd585c0575d2a5e7";
+    sha256 = "sha256-s9mOzAnxsWJ8Kyz0MJZDIs5OCGF9v5tCNsFqModaHgs=";
   };
 
   propagatedBuildInputs = [ django ];
 
-  # django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
-  doCheck = false;
+  preCheck = ''
+    export DJANGO_SETTINGS_MODULE=tests.settings
+    # timezone issues https://github.com/jschneier/django-storages/issues/1171
+    substituteInPlace tests/test_sftp.py \
+      --replace 'test_accessed_time' 'dont_test_accessed_time' \
+      --replace 'test_modified_time' 'dont_test_modified_time'
+  '';
+  checkInputs = [
+    azure-storage-blob
+    boto3
+    dropbox
+    google-cloud-storage
+    libcloud
+    paramiko
+  ];
+
+  pythonImportsCheck = [ "storages" ];
 
   meta = with lib; {
     description = "Collection of custom storage backends for Django";
diff --git a/pkgs/development/python-modules/django/4.nix b/pkgs/development/python-modules/django/4.nix
index db81511da99..29e45201e01 100644
--- a/pkgs/development/python-modules/django/4.nix
+++ b/pkgs/development/python-modules/django/4.nix
@@ -6,6 +6,7 @@
 , substituteAll
 
 # patched in
+, fetchpatch
 , geos
 , gdal
 , withGdal ? false
@@ -39,23 +40,32 @@
 
 buildPythonPackage rec {
   pname = "Django";
-  version = "4.0.6";
+  version = "4.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-pnp5P/aCf9NzVVU33KDaKTpjoxb+NMt/Nn+JjMyjw64=";
+    hash = "sha256-Ay+Kb8fPBczRIU5KLiHfzWojudV1xlc8rMjGeCjb5kI=";
   };
 
-  patches = lib.optional withGdal
+  patches = [
+    (fetchpatch {
+      # Fix regression in sqlite backend introduced in 4.1.
+      # https://github.com/django/django/pull/15925
+      url = "https://github.com/django/django/commit/c0beff21239e70cbdcc9597e5be09e505bb8f76c.patch";
+      hash = "sha256-QE7QnfYAK74wvK8gDJ15FtQ+BCIWRQKAVvM7v1FzwlE=";
+      excludes = [ "docs/releases/4.1.1.txt" ];
+    })
+  ] ++ lib.optionals withGdal [
     (substituteAll {
       src = ./django_4_set_geos_gdal_lib.patch;
       geos = geos;
       gdal = gdal;
       extension = stdenv.hostPlatform.extensions.sharedLibrary;
-    });
+    })
+  ];
 
   propagatedBuildInputs = [
     asgiref
diff --git a/pkgs/development/python-modules/django_compressor/default.nix b/pkgs/development/python-modules/django_compressor/default.nix
deleted file mode 100644
index f7158241844..00000000000
--- a/pkgs/development/python-modules/django_compressor/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib, buildPythonPackage, fetchPypi,
-  rcssmin, rjsmin, django-appconf }:
-
-buildPythonPackage rec {
-    pname = "django_compressor";
-    version = "4.0";
-
-    src = fetchPypi {
-      inherit pname version;
-      sha256 = "sha256-HbkbbQQpNjami9Eyjce7kNY2sClfZ7HMbU+hArn9JfY=";
-    };
-    postPatch = ''
-      substituteInPlace setup.py \
-        --replace 'rcssmin == 1.0.6' 'rcssmin' \
-        --replace 'rjsmin == 1.1.0' 'rjsmin'
-    '';
-
-    # requires django-sekizai, which we don't have packaged yet
-    doCheck = false;
-
-    propagatedBuildInputs = [ rcssmin rjsmin django-appconf ];
-
-    meta = with lib; {
-      description = "Compresses linked and inline JavaScript or CSS into single cached files";
-      homepage = "https://django-compressor.readthedocs.org/en/latest/";
-      license = licenses.mit;
-      maintainers = with maintainers; [ desiderius ];
-    };
-}
diff --git a/pkgs/development/python-modules/doit-py/default.nix b/pkgs/development/python-modules/doit-py/default.nix
new file mode 100644
index 00000000000..33d128c3d76
--- /dev/null
+++ b/pkgs/development/python-modules/doit-py/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, doit
+, configclass
+, mergedict
+, pytestCheckHook
+, hunspell
+, hunspellDicts
+}:
+
+buildPythonPackage rec {
+  pname = "doit-py";
+  version = "0.5.0";
+
+  src = fetchFromGitHub {
+    owner = "pydoit";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-DBl6/no04ZGRHHmN9gkEtBmAMgmyZWcfPCcFz0uxAv4=";
+  };
+
+  propagatedBuildInputs = [
+    configclass
+    doit
+    mergedict
+  ];
+
+  checkInputs = [
+    hunspell
+    hunspellDicts.en_US
+    pytestCheckHook
+  ];
+
+  disabledTestPaths = [
+    # Disable linting checks
+    "tests/test_pyflakes.py"
+  ];
+
+  pythonImportsCheck = [ "doitpy" ];
+
+  meta = with lib; {
+    description = "doit tasks for python stuff";
+    homepage = "http://pythonhosted.org/doit-py";
+    license = licenses.mit;
+    maintainers = with maintainers; [ onny ];
+  };
+}
diff --git a/pkgs/development/python-modules/doit/default.nix b/pkgs/development/python-modules/doit/default.nix
index 2ade1982ec2..cfb36b7daf4 100644
--- a/pkgs/development/python-modules/doit/default.nix
+++ b/pkgs/development/python-modules/doit/default.nix
@@ -10,9 +10,13 @@
 , pyinotify
 , macfsevents
 , toml
+, doit-py
+, pyflakes
+, configclass
+, mergedict
 }:
 
-buildPythonPackage rec {
+let doit = buildPythonPackage rec {
   pname = "doit";
   version = "0.36.0";
 
@@ -30,15 +34,24 @@ buildPythonPackage rec {
   ] ++ lib.optional stdenv.isLinux pyinotify
     ++ lib.optional stdenv.isDarwin macfsevents;
 
-  # hangs on darwin
-  doCheck = !stdenv.isDarwin;
+  checkInputs = [
+    configclass
+    doit-py
+    mergedict
+    mock
+    pyflakes
+    pytestCheckHook
+  ];
 
-  checkInputs = [ mock pytestCheckHook ];
+  # escape infinite recursion with doit-py
+  doCheck = false;
 
-  disabledTests = [
-    # depends on doit-py, which has a circular dependency on doit
-    "test___main__.py"
-  ];
+  passthru.tests = {
+    # hangs on darwin
+    check = doit.overridePythonAttrs (_: { doCheck = !stdenv.isDarwin; });
+  };
+
+  pythonImportsCheck = [ "doit" ];
 
   meta = with lib; {
     homepage = "https://pydoit.org/";
@@ -53,4 +66,5 @@ buildPythonPackage rec {
     '';
     maintainers = with maintainers; [ pSub ];
   };
-}
+
+}; in doit
diff --git a/pkgs/development/python-modules/dparse/default.nix b/pkgs/development/python-modules/dparse/default.nix
index 59fed703e22..179d02b150c 100644
--- a/pkgs/development/python-modules/dparse/default.nix
+++ b/pkgs/development/python-modules/dparse/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "dparse";
-  version = "0.5.1";
+  version = "0.5.2";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a1b5f169102e1c894f9a7d5ccf6f9402a836a5d24be80a986c7ce9eaed78f367";
+    sha256 = "sha256-w0iZSh9ByF9mTY9aR0QmR7xOIsWvWxsm7ymv8Ppd3c0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/dvc-data/default.nix b/pkgs/development/python-modules/dvc-data/default.nix
index 9d8c4633067..f5fc366c5f5 100644
--- a/pkgs/development/python-modules/dvc-data/default.nix
+++ b/pkgs/development/python-modules/dvc-data/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "dvc-data";
-  version = "0.1.5";
+  version = "0.1.13";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-SQ4w2Yqho5kbM4fRQkji69wOV8rYAIyFFve7pTEjgMM=";
+    hash = "sha256-dKqn7dMwPxKnLLBPJGgmD/2MFzdzrw7W9+w9Zi/9hsA=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/dvc-objects/default.nix b/pkgs/development/python-modules/dvc-objects/default.nix
index 916ddf52797..7e6a37a12d9 100644
--- a/pkgs/development/python-modules/dvc-objects/default.nix
+++ b/pkgs/development/python-modules/dvc-objects/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "dvc-objects";
-  version = "0.1.5";
+  version = "0.1.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-vRQhlxaNy0bJTkNVlGZ+c9ocnzG/jeZYCxCabMuI5Ag=";
+    hash = "sha256-Edp2MRhe/eTUosL4XQfVbtwFWBg3D5RDWRb6r1C4MgE=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/dvc-render/default.nix b/pkgs/development/python-modules/dvc-render/default.nix
index 4b4397029da..b6da5663f41 100644
--- a/pkgs/development/python-modules/dvc-render/default.nix
+++ b/pkgs/development/python-modules/dvc-render/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "dvc-render";
-  version = "0.0.8";
+  version = "0.0.9";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-pn1dmCyDxbMgXwUj9o//X3FZ/x0jz5ZKdTcEuKkeJ1s=";
+    hash = "sha256-ZUIyNg+PTj5CWC65RqB1whnB+pUp1yNJQj43iSBcyvU=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -58,6 +58,6 @@ buildPythonPackage rec {
     description = "Library for rendering DVC plots";
     homepage = "https://github.com/iterative/dvc-render";
     license = licenses.asl20;
-    maintainers = with maintainers; [ fab ];
+    maintainers = with maintainers; [ fab anthonyroussel ];
   };
 }
diff --git a/pkgs/development/python-modules/dvc-task/default.nix b/pkgs/development/python-modules/dvc-task/default.nix
new file mode 100644
index 00000000000..b71cf3175e2
--- /dev/null
+++ b/pkgs/development/python-modules/dvc-task/default.nix
@@ -0,0 +1,60 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, setuptools-scm
+, kombu
+, shortuuid
+, celery
+, funcy
+, pytest-celery
+, pytest-mock
+, pytest-test-utils
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "dvc-task";
+  version = "0.1.2";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "iterative";
+    repo = pname;
+    rev = version;
+    hash = "sha256-LXjfFuLifgzU+3/EevycVCR7LhYBOoN6xg4YeNo5R4M=";
+  };
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    kombu
+    shortuuid
+    celery
+    funcy
+  ];
+
+  checkInputs = [
+    pytest-celery
+    pytest-mock
+    pytest-test-utils
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "dvc_task"
+  ];
+
+  meta = with lib; {
+    description = "Celery task queue used in DVC";
+    homepage = "https://github.com/iterative/dvc-task";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ anthonyroussel ];
+  };
+}
diff --git a/pkgs/development/python-modules/dvclive/default.nix b/pkgs/development/python-modules/dvclive/default.nix
index 7b4c8151b23..23755f10652 100644
--- a/pkgs/development/python-modules/dvclive/default.nix
+++ b/pkgs/development/python-modules/dvclive/default.nix
@@ -4,24 +4,26 @@
 , fetchFromGitHub
 , pytestCheckHook
 , pythonOlder
+, tabulate
 }:
 
 buildPythonPackage rec {
   pname = "dvclive";
-  version = "0.9.0";
+  version = "0.10.0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-3kbP8eL/cO/aSAIVrbfGS+vwCTsWoCbNS2orExYt4aw=";
+    hash = "sha256-4sixsWZNnI3UJRlFyB21eAdUCgF8iIZ56ECgIeFV/u8=";
   };
 
   propagatedBuildInputs = [
     dvc-render
+    tabulate # will be available as dvc-render.optional-dependencies.table
   ];
 
   # Circular dependency with dvc
diff --git a/pkgs/development/python-modules/elastic-apm/default.nix b/pkgs/development/python-modules/elastic-apm/default.nix
index f4fea05b411..6ef09febb6e 100644
--- a/pkgs/development/python-modules/elastic-apm/default.nix
+++ b/pkgs/development/python-modules/elastic-apm/default.nix
@@ -28,7 +28,7 @@
 
 buildPythonPackage rec {
   pname = "elastic-apm";
-  version = "6.10.1";
+  version = "6.11.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -37,7 +37,7 @@ buildPythonPackage rec {
     owner = "elastic";
     repo = "apm-agent-python";
     rev = "v${version}";
-    hash = "sha256-ql6qBnZXa0JL1qEXj2OzzP3onjYrMx6+Be6K3SDuWf4=";
+    hash = "sha256-ZmvOyEkXp0PEDHWcuGT91mhXwV2E6SPlrWBY/sNiRmc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/elkm1-lib/default.nix b/pkgs/development/python-modules/elkm1-lib/default.nix
index f0815b15c71..737f4a5a0b4 100644
--- a/pkgs/development/python-modules/elkm1-lib/default.nix
+++ b/pkgs/development/python-modules/elkm1-lib/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "elkm1-lib";
-  version = "2.0.2";
+  version = "2.1.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "gwww";
     repo = "elkm1";
     rev = version;
-    hash = "sha256-2UneQL8LT/zm0iusKay9SxeJClGrDi6yL0lRA8ugUms=";
+    hash = "sha256-uc+hU4RyF6IXUbdpZHozbF6vO2NE2hrfgxAnmmB27lw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/etils/default.nix b/pkgs/development/python-modules/etils/default.nix
new file mode 100644
index 00000000000..a428edc9e88
--- /dev/null
+++ b/pkgs/development/python-modules/etils/default.nix
@@ -0,0 +1,89 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, flit-core
+
+  # tests
+, chex
+, jaxlib
+, pytest-subtests
+, pytest-xdist
+, pytestCheckHook
+, yapf
+
+  # optional
+, jupyter
+, mediapy
+, numpy
+, importlib-resources
+, typing-extensions
+, zipp
+, absl-py
+, tqdm
+, dm-tree
+, jax
+, tensorflow
+}:
+
+buildPythonPackage rec {
+  pname = "etils";
+  version = "0.7.1";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-IHwJfdQYDV5asce37ni3v5Rx4SU03qziOx05LevSkvM=";
+  };
+
+  nativeBuildInputs = [
+    flit-core
+  ];
+
+  passthru.optional-dependencies = rec {
+    array-types = enp;
+    ecolab = [ jupyter numpy mediapy ] ++ enp ++ epy;
+    edc = epy;
+    enp = [ numpy ] ++ epy;
+    epath = [ importlib-resources typing-extensions zipp ] ++ epy;
+    epy = [ typing-extensions ];
+    etqdm = [ absl-py tqdm ] ++ epy;
+    etree = array-types ++ epy ++ enp ++ etqdm;
+    etree-dm = [ dm-tree ] ++ etree;
+    etree-jax = [ jax ] ++ etree;
+    etree-tf = [ tensorflow etree ] ++ etree;
+    all = array-types ++ ecolab ++ edc ++ enp ++ epath ++ epy ++ etqdm
+      ++ etree ++ etree-dm ++ etree-jax ++ etree-tf;
+  };
+
+  doCheck = false; # disable tests until https://github.com/NixOS/nixpkgs/issues/185273 is resolved
+
+  pythonImportsCheck = [
+    "etils"
+  ];
+
+  checkInputs = [
+    chex
+    jaxlib
+    pytest-subtests
+    pytest-xdist
+    pytestCheckHook
+    yapf
+  ]
+  ++ passthru.optional-dependencies.all;
+
+  disabledTests = [
+    "test_repr" # known to fail on Python 3.10, see https://github.com/google/etils/issues/143
+    "test_public_access" # requires network access
+    "test_resource_path" # known to fail on Python 3.10, see https://github.com/google/etils/issues/143
+  ];
+
+  meta = with lib; {
+    description = "Collection of eclectic utils for python";
+    homepage = "https://github.com/google/etils";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ mcwitt ];
+  };
+}
diff --git a/pkgs/development/python-modules/extractcode/default.nix b/pkgs/development/python-modules/extractcode/default.nix
index 0c776abb4db..0a8db861192 100644
--- a/pkgs/development/python-modules/extractcode/default.nix
+++ b/pkgs/development/python-modules/extractcode/default.nix
@@ -1,14 +1,14 @@
 { lib
-, fetchPypi
 , buildPythonPackage
-, setuptools-scm
-, typecode
-, patch
-, extractcode-libarchive
 , extractcode-7z
-, pytestCheckHook
+, extractcode-libarchive
+, fetchPypi
+, patch
 , pytest-xdist
+, pytestCheckHook
 , pythonOlder
+, setuptools-scm
+, typecode
 }:
 
 buildPythonPackage rec {
@@ -41,21 +41,23 @@ buildPythonPackage rec {
     pytest-xdist
   ];
 
-  # CLI test tests the cli which we can't do until after install
   disabledTestPaths = [
+    # CLI test tests the CLI which we can't do until after install
     "tests/test_extractcode_cli.py"
   ];
 
-  # test_uncompress_* wants to use a binary to extract instead of the provided library
   disabledTests = [
+    # test_uncompress_* wants to use a binary to extract instead of the provided library
     "test_uncompress_lz4_basic"
     "test_extract_tarlz4_basic"
     "test_extract_rar_with_trailing_data"
-    # tries to parse /boot/vmlinuz-*, which is not available in the nix sandbox
+    # Tries to parse /boot/vmlinuz-*, which is not available in the nix sandbox
     "test_can_extract_qcow2_vm_image_as_tarball"
     "test_can_extract_qcow2_vm_image_not_as_tarball"
     "test_can_listfs_from_qcow2_image"
     "test_get_extractor_qcow2"
+    # WARNING  patch:patch.py:450 inconsistent line ends in patch hunks
+    "test_patch_info_patch_patches_windows_plugin_explorer_patch"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/fakeredis/default.nix b/pkgs/development/python-modules/fakeredis/default.nix
index 49f2eaed0c6..9e49e4a2239 100644
--- a/pkgs/development/python-modules/fakeredis/default.nix
+++ b/pkgs/development/python-modules/fakeredis/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "fakeredis";
-  version = "1.8.2";
+  version = "1.9.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "dsoftwareinc";
     repo = "fakeredis-py";
     rev = "refs/tags/v${version}";
-    hash = "sha256-T8A6vU1m7nlHpTMC62IpgsQGh3ksuBp1ty4GkjN+2T8=";
+    hash = "sha256-HmCF1CNZOCdvuJv3qr3qAWIP9wYr6053FToQyJ1MpmQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/fastcore/default.nix b/pkgs/development/python-modules/fastcore/default.nix
index dea9e8a3397..8f0b244723b 100644
--- a/pkgs/development/python-modules/fastcore/default.nix
+++ b/pkgs/development/python-modules/fastcore/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "fastcore";
-  version = "1.5.11";
+  version = "1.5.17";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "fastai";
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-VEiG2m9rCla6i8Q2KrO+0pnhxyFh4o/eCU5rDlbTAbs=";
+    sha256 = "sha256-glDjqcNLnk2p4zqfICiTLtENMYQ5S6UshwkP797NljY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/fe25519/default.nix b/pkgs/development/python-modules/fe25519/default.nix
index 216a84b9ec6..4c2d10278e0 100644
--- a/pkgs/development/python-modules/fe25519/default.nix
+++ b/pkgs/development/python-modules/fe25519/default.nix
@@ -4,21 +4,20 @@
 , fetchPypi
 , fountains
 , parts
-, nose
 , pytestCheckHook
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "fe25519";
-  version = "1.2.0";
-  format = "setuptools";
+  version = "1.3.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Hzdt8932WonJAaQPtL346JFPqxFXkNW4XQvbQlSoJJE=";
+    hash = "sha256-/grXAiWERDeTCWgFnNC1Ok8D5I9MBlwd1501TW0yK5c=";
   };
 
   propagatedBuildInputs = [
@@ -28,13 +27,12 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    nose
     pytestCheckHook
   ];
 
   postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace " --cov=fe25519 --cov-report term-missing" ""
+    substituteInPlace pyproject.toml \
+      --replace "--doctest-modules --ignore=docs --cov=fe25519 --cov-report term-missing" ""
   '';
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/ffmpeg-progress-yield/default.nix b/pkgs/development/python-modules/ffmpeg-progress-yield/default.nix
index add6f3f90c5..b5880a21b70 100644
--- a/pkgs/development/python-modules/ffmpeg-progress-yield/default.nix
+++ b/pkgs/development/python-modules/ffmpeg-progress-yield/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "ffmpeg-progress-yield";
-  version = "0.2.0";
+  version = "0.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "26696726cc70c019d1b76bb25e4823c93f0837ddc86bc4ea26c08165270b4d92";
+    sha256 = "sha256-/FkVzssJZYafn3MlN8bODd7kA917x9oW0JivIOWxl+8=";
   };
 
   propagatedBuildInputs = [ colorama tqdm ];
diff --git a/pkgs/development/python-modules/findpython/default.nix b/pkgs/development/python-modules/findpython/default.nix
index 46b2d93bf6b..e1d0850c9a6 100644
--- a/pkgs/development/python-modules/findpython/default.nix
+++ b/pkgs/development/python-modules/findpython/default.nix
@@ -15,7 +15,7 @@
 
 let
   pname = "findpython";
-  version = "0.2.0";
+  version = "0.2.1";
 in
 buildPythonPackage {
   inherit pname version;
@@ -25,7 +25,7 @@ buildPythonPackage {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-wgme4LcfwnFLZPaP0fQLwO5H9J3+lUf7ZNfLzAL+CHE=";
+    hash = "sha256-Q5Shy828+NEOo0OeLYCGsuwHRQcJe25tvuGAKMblKwg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/fountains/default.nix b/pkgs/development/python-modules/fountains/default.nix
index e62eedf0468..1d65c4e643c 100644
--- a/pkgs/development/python-modules/fountains/default.nix
+++ b/pkgs/development/python-modules/fountains/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "fountains";
-  version = "1.3.0";
-  format = "setuptools";
+  version = "2.0.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-c6nw22UtAREYZp0XCEZE6p7GpRvSLukq5y0c9KvVf9w=";
+    hash = "sha256-9ASOgqkE1vwCKGAZXEJaHoABMXomIWTGv3jAsNssdsU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/galois/default.nix b/pkgs/development/python-modules/galois/default.nix
new file mode 100644
index 00000000000..b4d66188e31
--- /dev/null
+++ b/pkgs/development/python-modules/galois/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, pytestCheckHook
+, pytest-xdist
+, numpy
+, numba
+, typing-extensions
+}:
+
+buildPythonPackage rec {
+  pname = "galois";
+  version = "0.0.32";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "mhostetter";
+    repo = "galois";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-+cxRLrfqk3N9pWKCVsTxruZwMYZ5dQyKJRnrb8y+ECM=";
+  };
+
+  propagatedBuildInputs = [
+    numpy
+    numba
+    typing-extensions
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    pytest-xdist
+  ];
+
+  postPatch = ''
+     substituteInPlace setup.cfg \
+       --replace "numpy >= 1.18.4, < 1.23" "numpy >= 1.18.4"
+    '';
+
+  pythonImportsCheck = [ "galois" ];
+
+  meta = {
+    description = "A Python 3 package that extends NumPy arrays to operate over finite fields";
+    homepage = "https://github.com/mhostetter/galois";
+    downloadPage = "https://github.com/mhostetter/galois/releases";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ chrispattison ];
+  };
+}
diff --git a/pkgs/development/python-modules/gcovr/default.nix b/pkgs/development/python-modules/gcovr/default.nix
index 88fc47ad2a5..2661ae1503f 100644
--- a/pkgs/development/python-modules/gcovr/default.nix
+++ b/pkgs/development/python-modules/gcovr/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "gcovr";
-  version = "5.1";
+  version = "5.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-d4CEQ1m/8LlsBBR9r/8l5uWF4FWFvVQjabvDd9ad4SE=";
+    hash = "sha256-IXGVCF7JQ0YpGoe3sebZz97u5WKz4PmjKyXJUws7zo8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ge25519/default.nix b/pkgs/development/python-modules/ge25519/default.nix
index 22c96920be6..f82e2878086 100644
--- a/pkgs/development/python-modules/ge25519/default.nix
+++ b/pkgs/development/python-modules/ge25519/default.nix
@@ -4,7 +4,6 @@
 , fe25519
 , fetchPypi
 , fountains
-, nose
 , parts
 , pytestCheckHook
 , pythonOlder
@@ -12,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "ge25519";
-  version = "1.2.0";
-  format = "setuptools";
+  version = "1.3.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-8GsNY62SusUmQcaqlhKOPHbd0jvZulCaxMxeob37JJM=";
+    hash = "sha256-y9Nv59pLWk1kRjZG3EmalT34Mjx7RLZ4WkvJlRrK5LI=";
   };
 
   propagatedBuildInputs = [
@@ -30,16 +29,14 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    nose
     pytestCheckHook
   ];
 
   postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace " --cov=ge25519 --cov-report term-missing" ""
+    substituteInPlace pyproject.toml \
+      --replace "--doctest-modules --ignore=docs --cov=ge25519 --cov-report term-missing" ""
   '';
 
-
   pythonImportsCheck = [
     "ge25519"
   ];
diff --git a/pkgs/development/python-modules/geventhttpclient/default.nix b/pkgs/development/python-modules/geventhttpclient/default.nix
index 50c8b60487a..47aaeb37c03 100644
--- a/pkgs/development/python-modules/geventhttpclient/default.nix
+++ b/pkgs/development/python-modules/geventhttpclient/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "geventhttpclient";
-  version = "1.5.5";
+  version = "2.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-H0+XP7n2r+TO7BOdXV2BmbVzM3Gm0uzAZeJXyBAgU5s=";
+    hash = "sha256-SegzLaon80HeCNk4h4KJs7dzaVzblvIpZRjC1uPr7JI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/glean-sdk/default.nix b/pkgs/development/python-modules/glean-sdk/default.nix
index c363d2150db..8ede9275db8 100644
--- a/pkgs/development/python-modules/glean-sdk/default.nix
+++ b/pkgs/development/python-modules/glean-sdk/default.nix
@@ -16,19 +16,19 @@
 
 buildPythonPackage rec {
   pname = "glean-sdk";
-  version = "50.1.2";
+  version = "51.1.0";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-avTIinFBSoCHeCiX7EoS4ucBK6FyFC1SuAFpSdxwPUk=";
+    hash = "sha256-Rt+N/sqX7IyoXbytzF9UkyXsx0vQXbGs+XJkaMhevE0=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256:10k8684665iawf1yswx39s4cj6c5d37j4d7jgbn0fcm08qlkfzxi";
+    hash = "sha256-oY94YVs6I+/klogyajBoCrYexp9oUSrQ6znWVbigf2E=";
   };
 
   nativeBuildInputs = [
@@ -49,6 +49,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  disabledTests = [
+    # RuntimeError: No ping received.
+    "test_client_activity_api"
+  ];
+
   postPatch = ''
     substituteInPlace glean-core/python/setup.py \
       --replace "glean_parser==5.0.1" "glean_parser>=5.0.1"
diff --git a/pkgs/development/python-modules/glyphslib/default.nix b/pkgs/development/python-modules/glyphslib/default.nix
index d4748b6b119..67cd4093374 100644
--- a/pkgs/development/python-modules/glyphslib/default.nix
+++ b/pkgs/development/python-modules/glyphslib/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , fonttools
 , openstep-plist
 , ufoLib2
@@ -16,21 +16,20 @@
 
 buildPythonPackage rec {
   pname = "glyphslib";
-  version = "6.0.6";
+  version = "6.0.7";
 
   format = "pyproject";
 
-  src = fetchPypi {
-    pname = "glyphsLib";
-    inherit version;
-    sha256 = "sha256-F4ev+o6vwDjV2H3z+DrwQZ7VLc1cSIjCWhgY7pcse1M=";
+  src = fetchFromGitHub {
+    owner = "googlefonts";
+    repo = "glyphsLib";
+    rev = "v${version}";
+    sha256 = "sha256-PrHK9uEgs0DcNYW6EQ5Qw29CN4R2OcxOHrMeIswsxdA=";
   };
 
-  nativeBuildInputs = [ setuptools-scm ];
-
-  checkInputs = [ pytestCheckHook ];
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
 
-  pythonImportsCheck = [ "glyphsLib" ];
+  nativeBuildInputs = [ setuptools-scm ];
 
   propagatedBuildInputs = [
     fonttools
@@ -44,6 +43,10 @@ buildPythonPackage rec {
     skia-pathops
   ];
 
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "glyphsLib" ];
+
   disabledTestPaths = [
     "tests/builder/designspace_gen_test.py" # this test tries to use non-existent font "CoolFoundry Examplary Serif"
     "tests/builder/interpolation_test.py" # this test tries to use a font that previous test should made
diff --git a/pkgs/development/python-modules/goodwe/default.nix b/pkgs/development/python-modules/goodwe/default.nix
index 6dc6f07e4ae..3d4fd154c3f 100644
--- a/pkgs/development/python-modules/goodwe/default.nix
+++ b/pkgs/development/python-modules/goodwe/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "goodwe";
-  version = "0.2.18";
+  version = "0.2.19";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "marcelblijleven";
     repo = pname;
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-2AbEX/dYwcMIlp27umBcSGgPboGu5y0mmndefXCjkJg=";
+    sha256 = "sha256-H3N0hAJsjBX3pQ2i03r4MRBQQLCXjLhftokZQx0bF80=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-asset/default.nix b/pkgs/development/python-modules/google-cloud-asset/default.nix
index ed1a591e75b..b62326fac13 100644
--- a/pkgs/development/python-modules/google-cloud-asset/default.nix
+++ b/pkgs/development/python-modules/google-cloud-asset/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-asset";
-  version = "3.10.0";
+  version = "3.11.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-4ph6a5nncMiOEy1hfLt/QuQuT6rFwduLnCyc46KZrLA=";
+    hash = "sha256-d/eDAp8QuXr2Zh/zk9ONeKd+SdmqXlugdpx9t1hkMIM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-bigquery/default.nix b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
index 27db85ab488..da01f970df3 100644
--- a/pkgs/development/python-modules/google-cloud-bigquery/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace setup.py \
-      --replace 'pyarrow >= 3.0.0, < 8.0dev' 'pyarrow >= 3.0.0, < 9.0dev'
+      --replace 'pyarrow >= 3.0.0, < 9.0dev' 'pyarrow >= 3.0.0, < 10.0dev'
   '';
 
   propagatedBuildInputs = [
@@ -84,6 +84,7 @@ buildPythonPackage rec {
     "test__initiate_resumable_upload"
     "test__initiate_resumable_upload_mtls"
     "test__initiate_resumable_upload_with_retry"
+    "test_table_clones"
   ];
 
   disabledTestPaths = [
diff --git a/pkgs/development/python-modules/google-cloud-bigtable/default.nix b/pkgs/development/python-modules/google-cloud-bigtable/default.nix
index ff684d597c3..35e05bff0ef 100644
--- a/pkgs/development/python-modules/google-cloud-bigtable/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigtable/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigtable";
-  version = "2.10.1";
+  version = "2.11.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-f4wMYlmex0QrcJrl33VyOZgbURYnIjeWDR7rz4MzMJw=";
+    hash = "sha256-3IEedcFLM46M+luI3wx/Q0V4rhyGmkZyIy1oU0rHzII=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-container/default.nix b/pkgs/development/python-modules/google-cloud-container/default.nix
index b7089078ff8..1b03d528597 100644
--- a/pkgs/development/python-modules/google-cloud-container/default.nix
+++ b/pkgs/development/python-modules/google-cloud-container/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-container";
-  version = "2.11.0";
+  version = "2.11.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-cmgyWHK3JLXYEJPLAN5M4edWJlv71tfbhu0KNs5H1k4=";
+    hash = "sha256-KVLM4ytQh8260JYd3oviCattfZa73e5p5dNXQMgRKQQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-monitoring/default.nix b/pkgs/development/python-modules/google-cloud-monitoring/default.nix
index fd418f85a3c..67a3f66c91a 100644
--- a/pkgs/development/python-modules/google-cloud-monitoring/default.nix
+++ b/pkgs/development/python-modules/google-cloud-monitoring/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-monitoring";
-  version = "2.10.1";
+  version = "2.11.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-VQRCqlP0iCxYt50uzrVFSkvHrsYb3R8SmrdhZHxLFKw=";
+    hash = "sha256-eLd8lHhyGjJBTaNzP8amzWa3LyaAixzj+6EpRU2J0bg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-pubsub/default.nix b/pkgs/development/python-modules/google-cloud-pubsub/default.nix
index 8ecae2963b5..ae095ad5894 100644
--- a/pkgs/development/python-modules/google-cloud-pubsub/default.nix
+++ b/pkgs/development/python-modules/google-cloud-pubsub/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-pubsub";
-  version = "2.13.4";
+  version = "2.13.5";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ZhcBynfvHc0nveZP9z0y2IJf44vTzy8xB3XV5iJOLu0=";
+    hash = "sha256-bpokSPdTEE2dVytUsxhyb46fn+0lRvCeS/+3Cefn2+I=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-secret-manager/default.nix b/pkgs/development/python-modules/google-cloud-secret-manager/default.nix
index 04384361194..f52cd457215 100644
--- a/pkgs/development/python-modules/google-cloud-secret-manager/default.nix
+++ b/pkgs/development/python-modules/google-cloud-secret-manager/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-secret-manager";
-  version = "2.12.1";
+  version = "2.12.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-LFEGqNi2KsAdoX2PEyQ8h0t0D3yDBtFMnanjhMwu+Lk=";
+    hash = "sha256-FSJFryLFttU/HWIFl4buRYOQoSd5cGmUS+FlHO8YzNE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-tasks/default.nix b/pkgs/development/python-modules/google-cloud-tasks/default.nix
index 44ef6afed98..42b4ddf0760 100644
--- a/pkgs/development/python-modules/google-cloud-tasks/default.nix
+++ b/pkgs/development/python-modules/google-cloud-tasks/default.nix
@@ -6,22 +6,35 @@
 , libcst
 , mock
 , proto-plus
-, pytestCheckHook
 , pytest-asyncio
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "google-cloud-tasks";
-  version = "2.10.0";
+  version = "2.10.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-bN5nW/vqDXiSy/gGC/OVxhRQRJl0VLWL/G5BqViueY0=";
+    hash = "sha256-Us6K8gf8zzdbek9CDgitkhb40IA9MkqFNblLw/KmfSc=";
   };
 
-  propagatedBuildInputs = [ google-api-core grpc-google-iam-v1 libcst proto-plus ];
+  propagatedBuildInputs = [
+    google-api-core
+    grpc-google-iam-v1
+    libcst
+    proto-plus
+  ];
 
-  checkInputs = [ mock pytestCheckHook pytest-asyncio ];
+  checkInputs = [
+    mock
+    pytest-asyncio
+    pytestCheckHook
+  ];
 
   disabledTests = [
     # requires credentials
diff --git a/pkgs/development/python-modules/google-cloud-vision/default.nix b/pkgs/development/python-modules/google-cloud-vision/default.nix
index dac5109f665..52f3118063f 100644
--- a/pkgs/development/python-modules/google-cloud-vision/default.nix
+++ b/pkgs/development/python-modules/google-cloud-vision/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-vision";
-  version = "3.0.0";
+  version = "3.1.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-YQiqLVa9CVW82eXuzPWvcWFKzXcvX8v7cxazH2hrqAs=";
+    hash = "sha256-y1nqjaVX7Sm2PGjRxhxnqTiFJAudsgg3x2qsebyMW+8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/govee-ble/default.nix b/pkgs/development/python-modules/govee-ble/default.nix
new file mode 100644
index 00000000000..1a3a31d7d71
--- /dev/null
+++ b/pkgs/development/python-modules/govee-ble/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, bluetooth-sensor-state-data
+, buildPythonPackage
+, fetchFromGitHub
+, home-assistant-bluetooth
+, poetry-core
+, pytestCheckHook
+, pythonOlder
+, sensor-state-data
+}:
+
+buildPythonPackage rec {
+  pname = "govee-ble";
+  version = "0.14.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "Bluetooth-Devices";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-iJ3fvbQBIk2fpCfz9/uvxk6WcGaL8OVDsNQux+pTBhM=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    bluetooth-sensor-state-data
+    home-assistant-bluetooth
+    sensor-state-data
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace " --cov=govee_ble --cov-report=term-missing:skip-covered" ""
+  '';
+
+  pythonImportsCheck = [
+    "govee_ble"
+  ];
+
+  meta = with lib; {
+    description = "Library for Govee BLE devices";
+    homepage = "https://github.com/Bluetooth-Devices/govee-ble";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/gpiozero/default.nix b/pkgs/development/python-modules/gpiozero/default.nix
new file mode 100644
index 00000000000..639c5f0f69b
--- /dev/null
+++ b/pkgs/development/python-modules/gpiozero/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, sphinx-rtd-theme
+, sphinxHook
+, colorzero
+, mock
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "gpiozero";
+  version = "1.6.2";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "gpiozero";
+    repo = pname;
+    rev = "refs/tags/v${version}";
+    hash = "sha256-dmFc3DNTlEajYQ5e8QK2WfehwYwAsWyG2cxKg5ykEaI=";
+  };
+
+  outputs = [
+    "out"
+    "doc"
+  ];
+
+  nativeBuildInputs = [
+    sphinx-rtd-theme
+    sphinxHook
+  ];
+
+  propagatedBuildInputs = [
+    colorzero
+  ];
+
+  pythonImportsCheck = [
+    "gpiozero"
+    "gpiozero.tools"
+  ];
+
+  checkInputs = [
+    mock
+    pytestCheckHook
+  ];
+
+
+  meta = with lib; {
+    description = "A simple interface to GPIO devices with Raspberry Pi";
+    homepage = "https://github.com/gpiozero/gpiozero";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/pkgs/development/python-modules/greeclimate/default.nix b/pkgs/development/python-modules/greeclimate/default.nix
index 920b487d836..c2da89dc6c4 100644
--- a/pkgs/development/python-modules/greeclimate/default.nix
+++ b/pkgs/development/python-modules/greeclimate/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "greeclimate";
-  version = "1.2.1";
+  version = "1.3.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "cmroche";
     repo = "greeclimate";
     rev = "refs/tags/v${version}";
-    hash = "sha256-SvAvLxWk/IIlkv54cUVN6FXj9rrM0QPKHAk36+PuqP0=";
+    hash = "sha256-4kR3Hc5M4FDG/WFtIW20a9d0vwLzmqtrlhd+teMiejA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/h5netcdf/default.nix b/pkgs/development/python-modules/h5netcdf/default.nix
index 7afa664c1a8..cf4b9671b73 100644
--- a/pkgs/development/python-modules/h5netcdf/default.nix
+++ b/pkgs/development/python-modules/h5netcdf/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "h5netcdf";
-  version = "1.0.1";
+  version = "1.0.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-d2cE+s2LgiRtbUBoxQXDibO3C5v5kgzPusfzXNxjTaw=";
+    hash = "sha256-iAih4JXwEitPtAjMmMYK3zmb1X/vSNHKfN9M2h0Ka0o=";
   };
 
  nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/hahomematic/default.nix b/pkgs/development/python-modules/hahomematic/default.nix
index 6a358088b50..33274119a30 100644
--- a/pkgs/development/python-modules/hahomematic/default.nix
+++ b/pkgs/development/python-modules/hahomematic/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "hahomematic";
-  version = "2022.7.14";
+  version = "2022.8.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "danielperna84";
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-5XgK9vlZswwA48a/tggL78JT1T4NrEiGZ40JnkgX9MM=";
+    sha256 = "sha256-HSxGCytQ099GCG3LanExOEp9DYeboQ2fS0QxHbtSI3s=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/home-assistant-bluetooth/default.nix b/pkgs/development/python-modules/home-assistant-bluetooth/default.nix
new file mode 100644
index 00000000000..17c25f74b76
--- /dev/null
+++ b/pkgs/development/python-modules/home-assistant-bluetooth/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, poetry-core
+, bleak
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "home-assistant-bluetooth";
+  version = "1.4.0";
+  format = "pyproject";
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "home-assistant-libs";
+    repo = pname;
+    rev = "refs/tags/v${version}";
+    hash = "sha256-viJOrmvrooHh47yyJJomOGBhQvcoWM3jKMRwZ+6/UJ8=";
+  };
+
+  postPatch = ''
+    # drop pytest parametrization (coverage, etc.)
+    sed -i '/addopts/d' pyproject.toml
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    bleak
+  ];
+
+  pythonImportsCheck = [
+    "home_assistant_bluetooth"
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Basic bluetooth models used by Home Assistant";
+    changelog = "https://github.com/home-assistant-libs/home-assistant-bluetooth/blob/main/CHANGELOG.md";
+    homepage = "https://github.com/home-assistant-libs/home-assistant-bluetooth";
+    license = licenses.asl20;
+    maintainers = teams.home-assistant.members;
+  };
+}
diff --git a/pkgs/development/python-modules/hstspreload/default.nix b/pkgs/development/python-modules/hstspreload/default.nix
index cab1482ed91..249c9abff84 100644
--- a/pkgs/development/python-modules/hstspreload/default.nix
+++ b/pkgs/development/python-modules/hstspreload/default.nix
@@ -6,7 +6,7 @@
 
 buildPythonPackage rec {
   pname = "hstspreload";
-  version = "2021.12.1";
+  version = "2022.8.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "sethmlarson";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Qr9K4+egrXD6eUgUtke2n7HyhXLthrju9ykXSI7Wl4Q=";
+    sha256 = "sha256-lQ28j4vOtxSjkMZXTKG+vesAN9KWj5T4sZ3QbaWP9Gw=";
   };
 
   # Tests require network connection
diff --git a/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix b/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix
index d7e33797e0a..3e2d61843de 100644
--- a/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix
+++ b/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "ibm-cloud-sdk-core";
-  version = "3.15.3";
+  version = "3.16.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-CuVem9b7NhDsC2tXCg/+1DWZAqSHqJ0GuWZCmA/kesE=";
+    hash = "sha256-MfWZGWbU0k586EYY0uhHHo2LuhQSmCfgs9Lz50Ds5Hc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/idasen/default.nix b/pkgs/development/python-modules/idasen/default.nix
index f70be30c3fc..ee14b6fc1f1 100644
--- a/pkgs/development/python-modules/idasen/default.nix
+++ b/pkgs/development/python-modules/idasen/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "idasen";
-  version = "0.8.3";
+  version = "0.9.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "newAM";
     repo = "idasen";
     rev = "v${version}";
-    hash = "sha256-tjA7qgU3JYvwSdDH+aWrmKBX1Q9J5/UT7KjiTBxvKAE=";
+    hash = "sha256-7Tg+/3BXRmzG39jIC281MKxyJyf9e9/1uOqUji08B3U=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/identify/default.nix b/pkgs/development/python-modules/identify/default.nix
index 11e1fa59868..b33d53abd4c 100644
--- a/pkgs/development/python-modules/identify/default.nix
+++ b/pkgs/development/python-modules/identify/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "identify";
-  version = "2.5.2";
+  version = "2.5.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "pre-commit";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-EIr+u8tfvMFLc2A4dIsaMk3ZlpIU5c3FBqyv3mRRfac=";
+    sha256 = "sha256-7Glq1R0GT2rIFdEpvZdzi4yf4t42ryRIeeTbz8znJmg=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/imantics/default.nix b/pkgs/development/python-modules/imantics/default.nix
index 59eb3afaa0e..3b02ac44034 100644
--- a/pkgs/development/python-modules/imantics/default.nix
+++ b/pkgs/development/python-modules/imantics/default.nix
@@ -3,7 +3,7 @@
 , lib
 , numpy
 , opencv3
-, sphinx_rtd_theme
+, sphinx-rtd-theme
 , lxml
 , xmljson
 }:
@@ -22,7 +22,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     numpy
     opencv3
-    sphinx_rtd_theme
+    sphinx-rtd-theme
     lxml
     xmljson
   ];
diff --git a/pkgs/development/python-modules/imdbpy/default.nix b/pkgs/development/python-modules/imdbpy/default.nix
deleted file mode 100644
index f966a3f8d3c..00000000000
--- a/pkgs/development/python-modules/imdbpy/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, lxml
-, sqlalchemy
-}:
-
-buildPythonPackage rec {
-  pname = "imdbpy";
-  version = "2022.7.9";
-
-  src = fetchPypi {
-    pname = "IMDbPY";
-    inherit version;
-    sha256 = "sha256-gKXt+KhxE/8ipE0A/XbUIsQs/uzU6oIL4zdTuPJL9OY=";
-  };
-
-  propagatedBuildInputs = [
-    lxml
-    sqlalchemy
-  ];
-
-  # Tests require networking, and https://github.com/alberanid/imdbpy/issues/240
-  doCheck = false;
-
-  pythonImportsCheck = [ "imdb" ];
-
-  meta = with lib; {
-    description = "Python package for retrieving and managing the data of the IMDb database";
-    homepage = "https://imdbpy.github.io/";
-    license = licenses.gpl2Only;
-    maintainers = with maintainers; [ ivar ];
-  };
-}
diff --git a/pkgs/development/python-modules/importmagic/default.nix b/pkgs/development/python-modules/importmagic/default.nix
index 54308d632b2..8302478684b 100644
--- a/pkgs/development/python-modules/importmagic/default.nix
+++ b/pkgs/development/python-modules/importmagic/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , six
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -15,12 +16,15 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ six ];
 
-  doCheck = false;  # missing json file from tarball
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "importmagic" ];
 
   meta = with lib; {
     description = "Python Import Magic - automagically add, remove and manage imports";
     homepage = "https://github.com/alecthomas/importmagic";
     license = licenses.bsd0;
+    maintainers = with maintainers; [ onny ];
   };
 
 }
diff --git a/pkgs/development/python-modules/inkbird-ble/default.nix b/pkgs/development/python-modules/inkbird-ble/default.nix
new file mode 100644
index 00000000000..896905306dd
--- /dev/null
+++ b/pkgs/development/python-modules/inkbird-ble/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, bluetooth-sensor-state-data
+, buildPythonPackage
+, fetchFromGitHub
+, home-assistant-bluetooth
+, poetry-core
+, pytestCheckHook
+, pythonOlder
+, sensor-state-data
+}:
+
+buildPythonPackage rec {
+  pname = "inkbird-ble";
+  version = "0.5.2";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "Bluetooth-Devices";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-ieVjgNCkU6AJDTgLzmn2YPCNm+kId65QW3SNu2Xou1Q=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    bluetooth-sensor-state-data
+    home-assistant-bluetooth
+    sensor-state-data
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace " --cov=inkbird_ble --cov-report=term-missing:skip-covered" ""
+  '';
+
+  pythonImportsCheck = [
+    "inkbird_ble"
+  ];
+
+  meta = with lib; {
+    description = "Library for Inkbird BLE devices";
+    homepage = "https://github.com/Bluetooth-Devices/inkbird-ble";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/itemadapter/default.nix b/pkgs/development/python-modules/itemadapter/default.nix
index 74b8eabd866..ba8396d1627 100644
--- a/pkgs/development/python-modules/itemadapter/default.nix
+++ b/pkgs/development/python-modules/itemadapter/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "itemadapter";
-  version = "0.6.0";
+  version = "0.7.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Px9g69bJGwAiKCDzi/USaqSaj7bkZ9NR8DZEIflToV0=";
+    hash = "sha256-MsBh7Jq0fVND6AEbJocw9I/2MqAZK5UpLRGLGNvXaHo=";
   };
 
   # Infinite recursion with Scrapy
diff --git a/pkgs/development/python-modules/jarowinkler/default.nix b/pkgs/development/python-modules/jarowinkler/default.nix
index f144cc49a9d..c29a5c303c9 100644
--- a/pkgs/development/python-modules/jarowinkler/default.nix
+++ b/pkgs/development/python-modules/jarowinkler/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "jarowinkler";
-  version = "1.1.2";
+  version = "1.2.0";
 
   disabled = pythonOlder "3.6";
 
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "maxbachmann";
     repo = "JaroWinkler";
     rev = "refs/tags/v${version}";
-    hash = "sha256-yaJcmHkLxiRqrBiIel97mFxpav3N5QQSM+L9jA1kn5A=";
+    hash = "sha256-JR6nCLO6oUxpGKjnrrVAOLbrIALSNKkll53+3p4bb1g=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/jax/default.nix b/pkgs/development/python-modules/jax/default.nix
index e4e9139216e..a302341c314 100644
--- a/pkgs/development/python-modules/jax/default.nix
+++ b/pkgs/development/python-modules/jax/default.nix
@@ -87,6 +87,19 @@ buildPythonPackage rec {
     "testEigvalsGrad_shape"
   ];
 
+  # See https://github.com/google/jax/issues/11722. This is a temporary fix in
+  # order to unblock etils, and upgrading jax/jaxlib to the latest version. See
+  # https://github.com/NixOS/nixpkgs/issues/183173#issuecomment-1204074993.
+  disabledTestPaths = [
+    "tests/api_test.py"
+    "tests/core_test.py"
+    "tests/lax_numpy_indexing_test.py"
+    "tests/lax_numpy_test.py"
+    "tests/nn_test.py"
+    "tests/random_test.py"
+    "tests/sparse_test.py"
+  ];
+
   pythonImportsCheck = [
     "jax"
   ];
diff --git a/pkgs/development/python-modules/jaxlib/bin.nix b/pkgs/development/python-modules/jaxlib/bin.nix
index 88d210caa9e..a041edbd2cc 100644
--- a/pkgs/development/python-modules/jaxlib/bin.nix
+++ b/pkgs/development/python-modules/jaxlib/bin.nix
@@ -18,7 +18,7 @@
 , autoPatchelfHook
 , buildPythonPackage
 , config
-, cudnn
+, cudnn ? cudaPackages.cudnn
 , fetchurl
 , flatbuffers
 , isPy39
diff --git a/pkgs/development/python-modules/jsbeautifier/default.nix b/pkgs/development/python-modules/jsbeautifier/default.nix
index b73f266d39c..e03268fb989 100644
--- a/pkgs/development/python-modules/jsbeautifier/default.nix
+++ b/pkgs/development/python-modules/jsbeautifier/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonApplication rec {
   pname = "jsbeautifier";
-  version = "1.14.4";
+  version = "1.14.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-cp+mwP6TWyZm8/6tfsV2+RGubo1731ePmy+5K6N3u7M=";
+    hash = "sha256-ziqW7PYmkvpPor1WIH9+qKs3p0qx1QJSVLgPtTFpqYs=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/json-stream/default.nix b/pkgs/development/python-modules/json-stream/default.nix
index 4ae01488db6..e6a8a68ddb9 100644
--- a/pkgs/development/python-modules/json-stream/default.nix
+++ b/pkgs/development/python-modules/json-stream/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "json-stream";
-  version = "1.3.0";
+  version = "1.4.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-J5DBa8zeandkDIXpEaRN6cneZIIG2aRHS5zjmM/H0Uw=";
+    hash = "sha256-ebB8l8H6yPLoCXmVOy60IijdBI61SEzJInC30aMe9Bk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/jupyter-repo2docker/default.nix b/pkgs/development/python-modules/jupyter-repo2docker/default.nix
index b1389889b59..6e07fcc28cc 100644
--- a/pkgs/development/python-modules/jupyter-repo2docker/default.nix
+++ b/pkgs/development/python-modules/jupyter-repo2docker/default.nix
@@ -1,5 +1,6 @@
 { lib
 , buildPythonPackage
+, chardet
 , docker
 , entrypoints
 , escapism
@@ -30,6 +31,7 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
+    chardet
     docker
     entrypoints
     escapism
diff --git a/pkgs/development/python-modules/justnimbus/default.nix b/pkgs/development/python-modules/justnimbus/default.nix
new file mode 100644
index 00000000000..cc302cc5865
--- /dev/null
+++ b/pkgs/development/python-modules/justnimbus/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pythonOlder
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "justnimbus";
+  version = "0.6.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "kvanzuijlen";
+    repo = pname;
+    rev = version;
+    hash = "sha256-uQ5Nc5sxqHeAuavyfX4Q6Umsd54aileJjFwOOU6X7Yg=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "justnimbus"
+  ];
+
+  meta = with lib; {
+    description = "Library for the JustNimbus API";
+    homepage = "https://github.com/kvanzuijlen/justnimbus";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/kajiki/default.nix b/pkgs/development/python-modules/kajiki/default.nix
index 5a2829de052..95a47baaeb0 100644
--- a/pkgs/development/python-modules/kajiki/default.nix
+++ b/pkgs/development/python-modules/kajiki/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , babel
 , pytz
 , nine
@@ -11,18 +11,22 @@ buildPythonPackage rec {
   pname = "kajiki";
   version = "0.9.1";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-Qe/FTQ6YrHiVklP3HFG9HsT7Yny6we2+Ithcj2UFdp4=";
+  src = fetchFromGitHub {
+    owner = "jackrosenthal";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-bdQBVFHRB408/7X9y+3+fpllhymFRsdv/MEPTVjJh2E=";
   };
 
   propagatedBuildInputs = [ babel pytz nine ];
+
   checkInputs = [ pytestCheckHook ];
 
   meta = with lib; {
     description = "Kajiki provides fast well-formed XML templates";
     homepage = "https://github.com/nandoflorestan/kajiki";
     license = licenses.mit;
+    maintainers = with maintainers; [ onny ];
   };
 
 }
diff --git a/pkgs/development/python-modules/karton-asciimagic/default.nix b/pkgs/development/python-modules/karton-asciimagic/default.nix
index 6edafea1d56..3ebba4202b3 100644
--- a/pkgs/development/python-modules/karton-asciimagic/default.nix
+++ b/pkgs/development/python-modules/karton-asciimagic/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "karton-asciimagic";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "CERT-Polska";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0vj4b8man81g99g4c53zyvp1gc47c2imj5ha9r4z4bf8gs3aqsv6";
+    sha256 = "sha256-sY5ik9efzLBa6Fbh17Vh4q7PlwOGYjuodU9yvp/8E3k=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/karton-autoit-ripper/default.nix b/pkgs/development/python-modules/karton-autoit-ripper/default.nix
index ea79a5f453f..a5d4f2c86a2 100644
--- a/pkgs/development/python-modules/karton-autoit-ripper/default.nix
+++ b/pkgs/development/python-modules/karton-autoit-ripper/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "karton-autoit-ripper";
-  version = "1.1.0";
+  version = "1.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "CERT-Polska";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1gclrrc0n72bfj4m55kk8d69zrfvnlwm9692ni9w7d2231mvv7bw";
+    sha256 = "sha256-D+M3JsIN8LUWg8GVweEzySHI7KaBb6cNHHn4pXoq55M=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/karton-classifier/default.nix b/pkgs/development/python-modules/karton-classifier/default.nix
index 8195632bdfd..bcf4b075dfa 100644
--- a/pkgs/development/python-modules/karton-classifier/default.nix
+++ b/pkgs/development/python-modules/karton-classifier/default.nix
@@ -10,7 +10,8 @@
 
 buildPythonPackage rec {
   pname = "karton-classifier";
-  version = "1.2.0";
+  version = "1.4.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
@@ -18,7 +19,7 @@ buildPythonPackage rec {
     owner = "CERT-Polska";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-AG2CtNMgXYfbdlOqB1ZdjMT8H67fsSMXTgiFg6K41IQ=";
+    hash = "sha256-TRmAin0TAOIwR5EBMwTOJ9QaHO+mOx/eAjgqvyQZDj4=";
   };
 
   propagatedBuildInputs = [
@@ -27,17 +28,25 @@ buildPythonPackage rec {
     python-magic
   ];
 
+  checkInputs = [
+    pytestCheckHook
+  ];
+
   postPatch = ''
     substituteInPlace requirements.txt \
       --replace "chardet==3.0.4" "chardet" \
       --replace "python-magic==0.4.18" "python-magic"
   '';
 
-  checkInputs = [
-    pytestCheckHook
+  pythonImportsCheck = [
+    "karton.classifier"
   ];
 
-  pythonImportsCheck = [ "karton.classifier" ];
+  disabledTests = [
+    # Tests expecting results from a different version of libmagic
+    "test_process_archive_ace"
+    "test_process_runnable_win32_lnk"
+  ];
 
   meta = with lib; {
     description = "File type classifier for the Karton framework";
diff --git a/pkgs/development/python-modules/karton-config-extractor/default.nix b/pkgs/development/python-modules/karton-config-extractor/default.nix
index ab092fc2560..673d7569463 100644
--- a/pkgs/development/python-modules/karton-config-extractor/default.nix
+++ b/pkgs/development/python-modules/karton-config-extractor/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "karton-config-extractor";
-  version = "2.0.2";
+  version = "2.1.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "CERT-Polska";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-r0WMtfau5zeVDSjxy2h96INQl8bm4EP0IAcgnGPhTtk=";
+    sha256 = "sha256-ep69Rrm8Ek0lkgctz6vDAZ1MZ8kWKZSyIvMMAmzTngA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/karton-core/default.nix b/pkgs/development/python-modules/karton-core/default.nix
index b839230b5f2..d4e95481327 100644
--- a/pkgs/development/python-modules/karton-core/default.nix
+++ b/pkgs/development/python-modules/karton-core/default.nix
@@ -1,23 +1,26 @@
 { lib
+, boto3
 , buildPythonPackage
 , fetchFromGitHub
-, minio
 , python
 , redis
 }:
 
 buildPythonPackage rec {
   pname = "karton-core";
-  version = "4.4.1";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "CERT-Polska";
     repo = "karton";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-smgKrFexuL0bgt/1Ikm1tpSGPJNJm7Ko68iZn3AQw5E=";
+    hash = "sha256-0B2u2xnrGc3iQ8B9iAQ3fcovQQCPqdFsn5evgdDwg5M=";
   };
 
-  propagatedBuildInputs = [ minio redis ];
+  propagatedBuildInputs = [
+    boto3
+    redis
+  ];
 
   checkPhase = ''
     runHook preCheck
@@ -25,10 +28,14 @@ buildPythonPackage rec {
     runHook postCheck
   '';
 
+  pythonImportsCheck = [
+    "karton.core"
+  ];
+
   meta = with lib; {
     description = "Distributed malware processing framework";
     homepage = "https://karton-core.readthedocs.io/";
-    maintainers = with maintainers; [ chivay ];
     license = licenses.bsd3;
+    maintainers = with maintainers; [ chivay fab ];
   };
 }
diff --git a/pkgs/development/python-modules/karton-dashboard/default.nix b/pkgs/development/python-modules/karton-dashboard/default.nix
index 59e93491c7f..8ac4f1022d8 100644
--- a/pkgs/development/python-modules/karton-dashboard/default.nix
+++ b/pkgs/development/python-modules/karton-dashboard/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "karton-dashboard";
-  version = "1.3.0";
+  version = "1.4.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "CERT-Polska";
     repo = pname;
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-thjAgK5EgevkFdKooljrrejwJorT6Lea9QSF0cZhxmw=";
+    sha256 = "sha256-XMyQ0mRF4y61hqlqdxC+He+697P1URfOXQUMnV0pT7o=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/karton-mwdb-reporter/default.nix b/pkgs/development/python-modules/karton-mwdb-reporter/default.nix
index 0eae4b44213..75523b67617 100644
--- a/pkgs/development/python-modules/karton-mwdb-reporter/default.nix
+++ b/pkgs/development/python-modules/karton-mwdb-reporter/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "karton-mwdb-reporter";
-  version = "1.1.0";
+  version = "1.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "CERT-Polska";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-2qG/8D6ZlUFJg+BB/QZ9ZMJpbsLei/7TRXd6bF40Fvg=";
+    hash = "sha256-QVxczXT74Xt0AtCSDm4nhIK4qtHQ6bqmVNb/CALZSE4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/karton-yaramatcher/default.nix b/pkgs/development/python-modules/karton-yaramatcher/default.nix
index 6183e950005..16b4036c90c 100644
--- a/pkgs/development/python-modules/karton-yaramatcher/default.nix
+++ b/pkgs/development/python-modules/karton-yaramatcher/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "karton-yaramatcher";
-  version = "1.1.1";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "CERT-Polska";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0mv8v1gk6p21pw9kx6cxr76l6c5fxd3p6dk85cwfzz100h8mdvar";
+    sha256 = "sha256-ulWwPXbjqQXwSRi8MFdcx7vC7P19yu66Ll8jkuTesao=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/levenshtein/default.nix b/pkgs/development/python-modules/levenshtein/default.nix
index a51d65cedc8..24c4f11b675 100644
--- a/pkgs/development/python-modules/levenshtein/default.nix
+++ b/pkgs/development/python-modules/levenshtein/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "levenshtein";
-  version = "0.19.3";
+  version = "0.20.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "maxbachmann";
     repo = "Levenshtein";
     rev = "refs/tags/v${version}";
-    hash = "sha256-4Oc1n/ZgLdq57ZeyZHzTQOjar9Ligeb4yqKeT0s5dHY=";
+    hash = "sha256-zVYfErh9tts3yPgXqqeX6xp8o+gLd7nN64+Ml6YZfjE=";
   };
 
   nativeBuildInputs = [
@@ -51,6 +51,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Functions for fast computation of Levenshtein distance and string similarity";
     homepage = "https://github.com/maxbachmann/Levenshtein";
+    changelog = "https://github.com/maxbachmann/Levenshtein/blob/${src.rev}/HISTORY.md";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/libagent/default.nix b/pkgs/development/python-modules/libagent/default.nix
index 2deb4f18d12..1aa0346795e 100644
--- a/pkgs/development/python-modules/libagent/default.nix
+++ b/pkgs/development/python-modules/libagent/default.nix
@@ -1,22 +1,49 @@
-{ lib, fetchFromGitHub, buildPythonPackage, ed25519, ecdsa , semver, mnemonic
-, unidecode, mock, pytest , backports-shutil-which, configargparse
-, python-daemon, pymsgbox, pynacl }:
+{ lib
+, fetchFromGitHub
+, bech32
+, buildPythonPackage
+, cryptography
+, ed25519
+, ecdsa
+, semver
+, mnemonic
+, unidecode
+, mock
+, pytest
+, backports-shutil-which
+, configargparse
+, python-daemon
+, pymsgbox
+, pynacl
+}:
 
 # XXX: when changing this package, please test the package onlykey-agent.
 
 buildPythonPackage rec {
   pname = "libagent";
-  version = "0.14.4";
+  version = "0.14.5";
 
   src = fetchFromGitHub {
     owner = "romanz";
     repo = "trezor-agent";
     rev = "v${version}";
-    sha256 = "1ksv494xpga27ifrjyn1bkqaya5h769lqb9rx1ng0n4kvmnrqr3l";
+    sha256 = "sha256-RISAy0efdatr9u4CWNRGnlffkC8ksw1NyRpJWKwqz+s=";
   };
 
-  propagatedBuildInputs = [ unidecode backports-shutil-which configargparse
-    python-daemon pymsgbox ecdsa ed25519 mnemonic semver pynacl ];
+  propagatedBuildInputs = [
+    unidecode
+    backports-shutil-which
+    configargparse
+    python-daemon
+    pymsgbox
+    ecdsa
+    ed25519
+    mnemonic
+    semver
+    pynacl
+    bech32
+    cryptography
+  ];
 
   checkInputs = [ mock pytest ];
 
diff --git a/pkgs/development/python-modules/lingua/default.nix b/pkgs/development/python-modules/lingua/default.nix
new file mode 100644
index 00000000000..f116df7e2fd
--- /dev/null
+++ b/pkgs/development/python-modules/lingua/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+, flit-core
+, polib
+, click }:
+
+buildPythonPackage rec {
+  pname = "lingua";
+  version = "4.15.0";
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-DhqUZ0HbKIpANhrQT/OP4EvwgZg0uKu4TEtTX+2bpO8=";
+  };
+
+  nativeBuildInputs = [
+    flit-core
+  ];
+
+  propagatedBuildInputs = [
+    click
+    polib
+  ];
+
+  pythonImportsCheck = [ "lingua" ];
+
+  meta = with lib; {
+    description = "Translation toolset";
+    homepage = "https://github.com/wichert/lingua";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ np ];
+  };
+}
diff --git a/pkgs/development/python-modules/mailchecker/default.nix b/pkgs/development/python-modules/mailchecker/default.nix
index 2f13ce79c96..36b1e9f42d1 100644
--- a/pkgs/development/python-modules/mailchecker/default.nix
+++ b/pkgs/development/python-modules/mailchecker/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "mailchecker";
-  version = "4.1.18";
+  version = "5.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-zBikruHBTXKK4Yk7euTp0lTcdCG5AQ/kMZrECAvQ7Zw=";
+    hash = "sha256-d8RG/PSWPHvQy7o9tPLPGrEp0r/Y3JWwWoT3cS4iR38=";
   };
 
   # Module has no tests
diff --git a/pkgs/development/python-modules/mariadb/default.nix b/pkgs/development/python-modules/mariadb/default.nix
index 93260e9aac2..54e31065a08 100644
--- a/pkgs/development/python-modules/mariadb/default.nix
+++ b/pkgs/development/python-modules/mariadb/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "mariadb";
-  version = "1.0.11";
+  version = "1.1.4";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-dpFsiSvJNsWw824loUEfZRp7fOl4mSrjqN5+KD79rL8=";
+    hash = "sha256-c6CsvSrOOB7BvPxhztenmlGeZsAsJOEq5tJ7qgNxeHY=";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/mcstatus/default.nix b/pkgs/development/python-modules/mcstatus/default.nix
index 26d3207cc4e..f8001dbdd56 100644
--- a/pkgs/development/python-modules/mcstatus/default.nix
+++ b/pkgs/development/python-modules/mcstatus/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "mcstatus";
-  version = "9.2.0";
+  version = "9.3.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "py-mine";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-poq/8+gRlKtrYpuLHmkPgS6OTTMTMaQw9rS1V2sfd6w=";
+    hash = "sha256-kNThVElEDqhbCitktBv5tQkjMaU4IsX0dJk63hvLhb0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/mediapy/default.nix b/pkgs/development/python-modules/mediapy/default.nix
index 2cf5a6d4678..9b188f9c2a5 100644
--- a/pkgs/development/python-modules/mediapy/default.nix
+++ b/pkgs/development/python-modules/mediapy/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "mediapy";
-  version = "1.0.3";
+  version = "1.1.0";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-cM8u27XSN4VzXONk+tQElZgT5XdShWXq0UtDg5JbF9o=";
+    hash = "sha256-CejgiCiW7an1GpKB5MUiA1Alkigv3RmfTq0um9pc93E=";
   };
 
   propagatedBuildInputs = [ ipython matplotlib numpy pillow ];
diff --git a/pkgs/development/python-modules/mergedict/default.nix b/pkgs/development/python-modules/mergedict/default.nix
new file mode 100644
index 00000000000..b1ed82f5348
--- /dev/null
+++ b/pkgs/development/python-modules/mergedict/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "mergedict";
+  version = "1.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-4ZkrNqVCKQFPvLx6nIwo0fSuEx6h2NNFyTlz+fDcb9w=";
+  };
+
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "mergedict" ];
+
+  meta = with lib; {
+    description = "A Python dict with a merge() method";
+    homepage = "https://github.com/schettino72/mergedict";
+    license = licenses.mit;
+    maintainers = with maintainers; [ onny ];
+  };
+}
diff --git a/pkgs/development/python-modules/meteoalertapi/default.nix b/pkgs/development/python-modules/meteoalertapi/default.nix
index 555059f5683..c6f39a4fb29 100644
--- a/pkgs/development/python-modules/meteoalertapi/default.nix
+++ b/pkgs/development/python-modules/meteoalertapi/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "meteoalertapi";
-  version = "0.2.0";
+  version = "0.3.0";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "rolfberkenbosch";
     repo = "meteoalert-api";
     rev = "v${version}";
-    sha256 = "sha256-EdHqWEkE/uUtz/xjV4k4NvNvtPPU4sJjHGwUM7J+HWs=";
+    sha256 = "sha256-uB2nza9fj7vOWixL4WEQX1N3i2Y80zQPM3x1+gRtg+w=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/meteocalc/default.nix b/pkgs/development/python-modules/meteocalc/default.nix
new file mode 100644
index 00000000000..6b18bba979c
--- /dev/null
+++ b/pkgs/development/python-modules/meteocalc/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "meteocalc";
+  version = "1.1.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "malexer";
+    repo = pname;
+    rev = version;
+    hash = "sha256-WuIW6hROQkjMfbCLUouECIrp4s6oCd2/N79hsrTbVTk=";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "meteocalc"
+  ];
+
+  meta = with lib; {
+    description = "Module for calculation of meteorological variables";
+    homepage = "https://github.com/malexer/meteocalc";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/mistune/common.nix b/pkgs/development/python-modules/mistune/common.nix
index 9610b735c79..24508372d9a 100644
--- a/pkgs/development/python-modules/mistune/common.nix
+++ b/pkgs/development/python-modules/mistune/common.nix
@@ -1,4 +1,12 @@
-{ lib, buildPythonPackage, fetchPypi, nose, version, sha256, format ? "setuptools" }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, nose
+, version
+, sha256
+, format ? "setuptools"
+, extraMeta ? {}
+}:
 
 buildPythonPackage rec {
   inherit version format;
@@ -15,5 +23,5 @@ buildPythonPackage rec {
     description = "The fastest markdown parser in pure Python";
     homepage = "https://github.com/lepture/mistune";
     license = licenses.bsd3;
-  };
+  } // extraMeta;
 }
diff --git a/pkgs/development/python-modules/mistune/default.nix b/pkgs/development/python-modules/mistune/default.nix
index 537a3e9859e..515844443f1 100644
--- a/pkgs/development/python-modules/mistune/default.nix
+++ b/pkgs/development/python-modules/mistune/default.nix
@@ -2,6 +2,9 @@ self: rec {
   mistune_0_8 = self.callPackage ./common.nix {
     version = "0.8.4";
     sha256 = "59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e";
+    extraMeta = {
+      knownVulnerabilities = [ "CVE-2022-34749" ];
+    };
   };
   mistune_2_0 = self.callPackage ./common.nix {
     version = "2.0.4";
diff --git a/pkgs/development/python-modules/mitmproxy/default.nix b/pkgs/development/python-modules/mitmproxy/default.nix
index 5508f39531a..ed390ef3365 100644
--- a/pkgs/development/python-modules/mitmproxy/default.nix
+++ b/pkgs/development/python-modules/mitmproxy/default.nix
@@ -121,6 +121,6 @@ buildPythonPackage rec {
     description = "Man-in-the-middle proxy";
     homepage = "https://mitmproxy.org/";
     license = licenses.mit;
-    maintainers = with maintainers; [ fpletz kamilchm ];
+    maintainers = with maintainers; [ kamilchm SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/mlflow/default.nix b/pkgs/development/python-modules/mlflow/default.nix
index 9016272384a..48b70d35a89 100644
--- a/pkgs/development/python-modules/mlflow/default.nix
+++ b/pkgs/development/python-modules/mlflow/default.nix
@@ -32,14 +32,14 @@
 
 buildPythonPackage rec {
   pname = "mlflow";
-  version = "1.27.0";
+  version = "1.28.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ah401r4mZyXkHUVHVyqEJdhtZiPhyIiM8/IrkAGb4Ko=";
+    hash = "sha256-aXZp4eQuiHwzBQKuTw7WROgUvgas2pDOpEU57M4zSmQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/moat-ble/default.nix b/pkgs/development/python-modules/moat-ble/default.nix
new file mode 100644
index 00000000000..33a59c72f8a
--- /dev/null
+++ b/pkgs/development/python-modules/moat-ble/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, bluetooth-sensor-state-data
+, buildPythonPackage
+, fetchFromGitHub
+, home-assistant-bluetooth
+, poetry-core
+, pytestCheckHook
+, pythonOlder
+, sensor-state-data
+}:
+
+buildPythonPackage rec {
+  pname = "moat-ble";
+  version = "0.1.1";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "Bluetooth-Devices";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-dy1Fm0Z1PUsPY8QTiXUcWSi+csFnTUsobSkA92m06QI=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    bluetooth-sensor-state-data
+    home-assistant-bluetooth
+    sensor-state-data
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace " --cov=moat_ble --cov-report=term-missing:skip-covered" ""
+  '';
+
+  pythonImportsCheck = [
+    "moat_ble"
+  ];
+
+  meta = with lib; {
+    description = "Library for Moat BLE devices";
+    homepage = "https://github.com/Bluetooth-Devices/moat-ble";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/mockito/default.nix b/pkgs/development/python-modules/mockito/default.nix
index e9af134ba11..1c27f7bccb4 100644
--- a/pkgs/development/python-modules/mockito/default.nix
+++ b/pkgs/development/python-modules/mockito/default.nix
@@ -1,12 +1,12 @@
 { lib, buildPythonPackage, fetchPypi, isPy3k, funcsigs, pytest, numpy }:
 
 buildPythonPackage rec {
-  version = "1.3.3";
+  version = "1.3.4";
   pname = "mockito";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-mCRTdihXcyMHNPJkmGWLHcBFrTvhNCH1CMcaXHaVe8E=";
+    sha256 = "sha256-RdJibODIxwY8xE8Gox9X1B0kHvLsm9pAMtULOedZXrE=";
   };
 
   propagatedBuildInputs = lib.optionals (!isPy3k) [ funcsigs ];
diff --git a/pkgs/development/python-modules/motionblinds/default.nix b/pkgs/development/python-modules/motionblinds/default.nix
index e818b1d1e61..2742df71aa6 100644
--- a/pkgs/development/python-modules/motionblinds/default.nix
+++ b/pkgs/development/python-modules/motionblinds/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "motionblinds";
-  version = "0.6.11";
+  version = "0.6.12";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "starkillerOG";
     repo = "motion-blinds";
     rev = "refs/tags/${version}";
-    sha256 = "sha256-LHZp5IXZqPYNwPlOQySwxon3uZX15caZvMeMY6QQIqk=";
+    sha256 = "sha256-QVGOVb/YbpCcPIfJbhjBXOi1c72yMwghFpFeWCy3S48=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mutagen/default.nix b/pkgs/development/python-modules/mutagen/default.nix
index f0bd0951d81..835a9d8861a 100644
--- a/pkgs/development/python-modules/mutagen/default.nix
+++ b/pkgs/development/python-modules/mutagen/default.nix
@@ -6,7 +6,7 @@
 # docs
 , python
 , sphinx
-, sphinx_rtd_theme
+, sphinx-rtd-theme
 
 # tests
 , hypothesis
@@ -29,7 +29,7 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [
     sphinx
-    sphinx_rtd_theme
+    sphinx-rtd-theme
   ];
 
   postInstall = ''
diff --git a/pkgs/development/python-modules/myst-parser/default.nix b/pkgs/development/python-modules/myst-parser/default.nix
index 6358dccdb06..e81bf763b3a 100644
--- a/pkgs/development/python-modules/myst-parser/default.nix
+++ b/pkgs/development/python-modules/myst-parser/default.nix
@@ -30,6 +30,11 @@ buildPythonPackage rec {
     sha256 = "sha256-GEtrC7o5YnkuvBfQQfhG5P74QMiHz63Fdh1cC/r5CF0=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "docutils>=0.15,<0.19" "docutils>=0.15"
+  '';
+
   format = "flit";
 
   nativeBuildInputs = [ flit-core ];
@@ -60,6 +65,8 @@ buildPythonPackage rec {
     "test_footnotes"
     "test_gettext_html"
     "test_fieldlist_extension"
+    # docutils 0.19 expectation mismatches
+    "test_docutils_roles"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/nclib/default.nix b/pkgs/development/python-modules/nclib/default.nix
index e28dbefca92..e11f1f8f23a 100644
--- a/pkgs/development/python-modules/nclib/default.nix
+++ b/pkgs/development/python-modules/nclib/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "nclib";
-  version = "1.0.1";
+  version = "1.0.2";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9d41adb7df01a3fead10bc9698a175936b263d6bd18997078ed17e4fa61734d1";
+    sha256 = "sha256-rA8oeYvMhw8HURxPLBRqpMHnAez/xBjyPFoKXIIvBjg=";
   };
 
   # Project has no tests
diff --git a/pkgs/development/python-modules/netutils/default.nix b/pkgs/development/python-modules/netutils/default.nix
index ec71527fa03..4e01e3ed6e8 100644
--- a/pkgs/development/python-modules/netutils/default.nix
+++ b/pkgs/development/python-modules/netutils/default.nix
@@ -2,7 +2,6 @@
 , lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , jinja2
 , poetry-core
 , pytestCheckHook
@@ -13,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "netutils";
-  version = "1.1.0";
+  version = "1.2.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +21,7 @@ buildPythonPackage rec {
     owner = "networktocode";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-rTSesG7XmIzu2DcJMVgZMlh0kRQ8jEB3t++rgf63Flw=";
+    hash = "sha256-6FoadV5QMZCJnF/eD3FXRsyP4MymO5nayJ/54PJXOB4=";
   };
 
   nativeBuildInputs = [
@@ -36,15 +35,6 @@ buildPythonPackage rec {
     toml
   ];
 
-  patches = [
-    # Switch to poetry-core, https://github.com/networktocode/netutils/pull/115
-    (fetchpatch {
-      name = "switch-to-poetry-core.patch";
-      url = "https://github.com/networktocode/netutils/commit/edc8b06686db4e5b4c8c4deb6d0effbc22177b31.patch";
-      sha256 = "sha256-K5oSbtOJYeKbxzbaZQBXcl6LsHQAK8CxBLfkak15V6M=";
-    })
-  ];
-
   pythonImportsCheck = [
     "netutils"
   ];
@@ -59,10 +49,10 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    broken = stdenv.isDarwin;
     description = "Library that is a collection of objects for common network automation tasks";
     homepage = "https://github.com/networktocode/netutils";
     license = licenses.asl20;
     maintainers = with maintainers; [ fab ];
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/development/python-modules/nextdns/default.nix b/pkgs/development/python-modules/nextdns/default.nix
new file mode 100644
index 00000000000..c99e7c909cb
--- /dev/null
+++ b/pkgs/development/python-modules/nextdns/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, aiohttp
+, aioresponses
+, buildPythonPackage
+, fetchFromGitHub
+, orjson
+, pytest-asyncio
+, pytest-error-for-skips
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "nextdns";
+  version = "1.0.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "bieniu";
+    repo = pname;
+    rev = "refs/tags/${version}";
+    hash = "sha256-joPg5XZ5qEDnON96XCy5j4/OC+EkFw09Db4TH+ThsTY=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    orjson
+  ];
+
+  checkInputs = [
+    aioresponses
+    pytest-asyncio
+    pytest-error-for-skips
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "nextdns"
+  ];
+
+  meta = with lib; {
+    description = "Module for the NextDNS API";
+    homepage = "https://github.com/bieniu/nextdns";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/nocasedict/default.nix b/pkgs/development/python-modules/nocasedict/default.nix
index d9140d591c8..bea2d9c2c2f 100644
--- a/pkgs/development/python-modules/nocasedict/default.nix
+++ b/pkgs/development/python-modules/nocasedict/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "nocasedict";
-  version = "1.0.3";
+  version = "1.0.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-giC5e6BrCOst7e13TEBsd+DKDVNSrnEkn2+dHyoXvXs=";
+    sha256 = "sha256-fBEdpM79JEQzy2M3ev8IGkD4S92unm83bGfwhsD4Bto=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/nocaselist/default.nix b/pkgs/development/python-modules/nocaselist/default.nix
index 5fc6bd6f8e6..083174c824d 100644
--- a/pkgs/development/python-modules/nocaselist/default.nix
+++ b/pkgs/development/python-modules/nocaselist/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "nocaselist";
-  version = "1.0.5";
+  version = "1.0.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-4cEsoq6dNFs0lI8sj2DjiUYZ4r4u0otOzF5/HeoRfR0=";
+    sha256 = "sha256-SPBn+MuEEkXzTQMSC8G6mQDxOxnLUbzGx77gF/fIdNo=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/num2words/default.nix b/pkgs/development/python-modules/num2words/default.nix
index bce4c0426e4..8679da592cb 100644
--- a/pkgs/development/python-modules/num2words/default.nix
+++ b/pkgs/development/python-modules/num2words/default.nix
@@ -7,12 +7,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.5.10";
+  version = "0.5.11";
   pname = "num2words";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0myc27k087rhgpwn1a1dffzl32rwz6ngdbf3rm2i0zlgcxh4zk9p";
+    sha256 = "sha256-bGhOIiDYrbNhLSyAepdyzDJplj+81395ebaJp39gQ9Q=";
   };
 
   propagatedBuildInputs = [ docopt ];
diff --git a/pkgs/development/python-modules/ocrmypdf/default.nix b/pkgs/development/python-modules/ocrmypdf/default.nix
index 340907e0ed8..0acaf784206 100644
--- a/pkgs/development/python-modules/ocrmypdf/default.nix
+++ b/pkgs/development/python-modules/ocrmypdf/default.nix
@@ -27,7 +27,7 @@
 
 buildPythonPackage rec {
   pname = "ocrmypdf";
-  version = "13.6.0";
+  version = "13.7.0";
 
   src = fetchFromGitHub {
     owner = "ocrmypdf";
@@ -39,7 +39,7 @@ buildPythonPackage rec {
     postFetch = ''
       rm "$out/.git_archival.txt"
     '';
-    hash = "sha256-EY0dXma6tyXLT8XogS5iFdVgJPrtwB9YVrplhDT4gWw=";
+    hash = "sha256-cw2wZMPhWzxRpeM90g9NmuYBYpU13R2iDzs7a8SS/CY=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/ocrmypdf/paths.patch b/pkgs/development/python-modules/ocrmypdf/paths.patch
index 9b1eed233cb..71d96c9a98e 100644
--- a/pkgs/development/python-modules/ocrmypdf/paths.patch
+++ b/pkgs/development/python-modules/ocrmypdf/paths.patch
@@ -1,8 +1,8 @@
 diff --git a/src/ocrmypdf/_exec/ghostscript.py b/src/ocrmypdf/_exec/ghostscript.py
-index 4da65483..af750249 100644
+index 9e21c33c..21f134b3 100644
 --- a/src/ocrmypdf/_exec/ghostscript.py
 +++ b/src/ocrmypdf/_exec/ghostscript.py
-@@ -35,15 +35,7 @@ log = logging.getLogger(__name__)
+@@ -32,15 +32,7 @@ log = logging.getLogger(__name__)
  # Most reliable what to get the bitness of Python interpreter, according to Python docs
  _IS_64BIT = sys.maxsize > 2**32
  
@@ -20,10 +20,10 @@ index 4da65483..af750249 100644
  
  def version():
 diff --git a/src/ocrmypdf/_exec/jbig2enc.py b/src/ocrmypdf/_exec/jbig2enc.py
-index 2e8a058b..65a09088 100644
+index 0f8f7392..db792b10 100644
 --- a/src/ocrmypdf/_exec/jbig2enc.py
 +++ b/src/ocrmypdf/_exec/jbig2enc.py
-@@ -14,7 +14,7 @@ from ocrmypdf.subprocess import get_version, run
+@@ -12,7 +12,7 @@ from ocrmypdf.subprocess import get_version, run
  
  
  def version():
@@ -32,7 +32,7 @@ index 2e8a058b..65a09088 100644
  
  
  def available():
-@@ -27,7 +27,7 @@ def available():
+@@ -25,7 +25,7 @@ def available():
  
  def convert_group(*, cwd, infiles, out_prefix):
      args = [
@@ -41,7 +41,7 @@ index 2e8a058b..65a09088 100644
          '-b',
          out_prefix,
          '-s',  # symbol mode (lossy)
-@@ -46,7 +46,7 @@ def convert_group_mp(args):
+@@ -44,7 +44,7 @@ def convert_group_mp(args):
  
  
  def convert_single(*, cwd, infile, outfile):
@@ -51,10 +51,10 @@ index 2e8a058b..65a09088 100644
          proc = run(args, cwd=cwd, stdout=fstdout, stderr=PIPE)
      proc.check_returncode()
 diff --git a/src/ocrmypdf/_exec/pngquant.py b/src/ocrmypdf/_exec/pngquant.py
-index ca8a4542..d0544174 100644
+index 64e91139..ab5b9c49 100644
 --- a/src/ocrmypdf/_exec/pngquant.py
 +++ b/src/ocrmypdf/_exec/pngquant.py
-@@ -19,7 +19,7 @@ from ocrmypdf.subprocess import get_version, run
+@@ -17,7 +17,7 @@ from ocrmypdf.subprocess import get_version, run
  
  
  def version():
@@ -63,7 +63,7 @@ index ca8a4542..d0544174 100644
  
  
  def available():
-@@ -46,7 +46,7 @@ def input_as_png(input_file: Path):
+@@ -44,7 +44,7 @@ def input_as_png(input_file: Path):
  def quantize(input_file: Path, output_file: Path, quality_min: int, quality_max: int):
      with input_as_png(input_file) as input_stream:
          args = [
@@ -73,10 +73,10 @@ index ca8a4542..d0544174 100644
              '--skip-if-larger',
              '--quality',
 diff --git a/src/ocrmypdf/_exec/tesseract.py b/src/ocrmypdf/_exec/tesseract.py
-index 01177cac..665f1145 100644
+index ad98836a..a12d3002 100644
 --- a/src/ocrmypdf/_exec/tesseract.py
 +++ b/src/ocrmypdf/_exec/tesseract.py
-@@ -114,7 +114,7 @@ class TesseractVersion(Version):
+@@ -111,7 +111,7 @@ class TesseractVersion(Version):
  
  
  def version() -> str:
@@ -84,8 +84,8 @@ index 01177cac..665f1145 100644
 +    return get_version('@tesseract@', regex=r'tesseract\s(.+)')
  
  
- def has_user_words():
-@@ -141,7 +141,7 @@ def get_languages():
+ def has_user_words() -> bool:
+@@ -138,7 +138,7 @@ def get_languages() -> set[str]:
          msg += output
          return msg
  
@@ -94,20 +94,20 @@ index 01177cac..665f1145 100644
      try:
          proc = run(
              args_tess,
-@@ -163,7 +163,7 @@ def get_languages():
+@@ -160,7 +160,7 @@ def get_languages() -> set[str]:
  
  
- def tess_base_args(langs: List[str], engine_mode: Optional[int]) -> List[str]:
+ def tess_base_args(langs: list[str], engine_mode: int | None) -> list[str]:
 -    args = ['tesseract']
 +    args = ['@tesseract@']
      if langs:
          args.extend(['-l', '+'.join(langs)])
      if engine_mode is not None:
 diff --git a/src/ocrmypdf/_exec/unpaper.py b/src/ocrmypdf/_exec/unpaper.py
-index 479959ef..cc15fdec 100644
+index d7f24265..d14f85de 100644
 --- a/src/ocrmypdf/_exec/unpaper.py
 +++ b/src/ocrmypdf/_exec/unpaper.py
-@@ -69,7 +69,7 @@ class UnpaperImageTooLargeError(Exception):
+@@ -66,7 +66,7 @@ class UnpaperImageTooLargeError(Exception):
  
  
  def version() -> str:
@@ -115,13 +115,13 @@ index 479959ef..cc15fdec 100644
 +    return get_version('@unpaper@')
  
  
- SUFFIXES = {'1': '.pbm', 'L': '.pgm', 'RGB': '.ppm'}
-@@ -123,7 +123,7 @@ def _setup_unpaper_io(input_file: Path) -> Iterator[Tuple[Path, Path, Path]]:
+ SUPPORTED_MODES = {'1', 'L', 'RGB'}
+@@ -120,7 +120,7 @@ def _setup_unpaper_io(input_file: Path) -> Iterator[tuple[Path, Path, Path]]:
  def run_unpaper(
-     input_file: Path, output_file: Path, *, dpi: DecFloat, mode_args: List[str]
+     input_file: Path, output_file: Path, *, dpi: DecFloat, mode_args: list[str]
  ) -> None:
 -    args_unpaper = ['unpaper', '-v', '--dpi', str(round(dpi, 6))] + mode_args
 +    args_unpaper = ['@unpaper@', '-v', '--dpi', str(round(dpi, 6))] + mode_args
  
-     with _setup_unpaper_io(input_file) as (input_pnm, output_pnm, tmpdir):
+     with _setup_unpaper_io(input_file) as (input_png, output_pnm, tmpdir):
          # To prevent any shenanigans from accepting arbitrary parameters in
diff --git a/pkgs/development/python-modules/omegaconf/default.nix b/pkgs/development/python-modules/omegaconf/default.nix
index 0200e2284a7..7f34ff29fdb 100644
--- a/pkgs/development/python-modules/omegaconf/default.nix
+++ b/pkgs/development/python-modules/omegaconf/default.nix
@@ -1,5 +1,13 @@
-{ lib, buildPythonPackage, fetchFromGitHub, pytest-mock, pytestCheckHook
-, pyyaml, pythonOlder, jre_minimal, antlr4_9-python3-runtime }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytest-mock
+, pytestCheckHook
+, pyyaml
+, pythonOlder
+, jre_minimal
+, antlr4_9-python3-runtime
+, pydevd }:
 
 buildPythonPackage rec {
   pname = "omegaconf";
@@ -18,11 +26,22 @@ buildPythonPackage rec {
     substituteInPlace setup.py --replace 'setup_requires=["pytest-runner"]' 'setup_requires=[]'
   '';
 
-  checkInputs = [ pytestCheckHook pytest-mock ];
-  nativeBuildInputs = [ jre_minimal ];
-  propagatedBuildInputs = [ antlr4_9-python3-runtime pyyaml ];
+  nativeBuildInputs = [
+    jre_minimal
+  ];
 
-  disabledTestPaths = [ "tests/test_pydev_resolver_plugin.py" ];  # needs pydevd - not in Nixpkgs
+  propagatedBuildInputs = [
+    antlr4_9-python3-runtime
+    pyyaml
+  ];
+
+  checkInputs = [
+    pydevd
+    pytestCheckHook
+    pytest-mock
+  ];
+
+  pythonImportsCheck = [ "omegaconf" ];
 
   meta = with lib; {
     description = "A framework for configuring complex applications";
diff --git a/pkgs/development/python-modules/openai/default.nix b/pkgs/development/python-modules/openai/default.nix
index 40645c19373..a95d63b830b 100644
--- a/pkgs/development/python-modules/openai/default.nix
+++ b/pkgs/development/python-modules/openai/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "openai";
-  version = "0.22.0";
+  version = "0.22.1";
 
   disabled = pythonOlder "3.7.1";
 
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = "openai";
     repo = "openai-python";
     rev = "v${version}";
-    sha256 = "sha256-4FKFcUiY17hEiOGFP1fPBtcvcM19hFrHXX3ZLxgdJHI=";
+    sha256 = "sha256-QUnsm0ui1BFlLqAlH1bp7uDbhiRigePrAPAkSRjftM4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/oslo-concurrency/default.nix b/pkgs/development/python-modules/oslo-concurrency/default.nix
index 90b49e5e77d..3706a4577bf 100644
--- a/pkgs/development/python-modules/oslo-concurrency/default.nix
+++ b/pkgs/development/python-modules/oslo-concurrency/default.nix
@@ -18,12 +18,12 @@
 
 buildPythonPackage rec {
   pname = "oslo-concurrency";
-  version = "4.5.1";
+  version = "5.0.0";
 
   src = fetchPypi {
     pname = "oslo.concurrency";
     inherit version;
-    sha256 = "sha256-aGm5Rrk9lbq/IM0Wvgb8NaXsFNB+osHzFfSsbqXw2hc=";
+    sha256 = "sha256-n0aUbp+KcqBvFP49xBiaTT3TmGKDFSU5OjEZvbvniX4=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/packageurl-python/default.nix b/pkgs/development/python-modules/packageurl-python/default.nix
index d02b5034b88..3caa8a5a5b6 100644
--- a/pkgs/development/python-modules/packageurl-python/default.nix
+++ b/pkgs/development/python-modules/packageurl-python/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "packageurl-python";
-  version = "0.10.0";
+  version = "0.10.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-md8UOWC3EA//Oyz1sL66L2S22MgY9snxJa7W+sdDh2M=";
+    sha256 = "sha256-86VSrHQxFs154lz7uMqPk4sG+RyipS3rqA8GoqcBB0k=";
   };
 
   checkInputs = [ pytestCheckHook ];
diff --git a/pkgs/development/python-modules/parts/default.nix b/pkgs/development/python-modules/parts/default.nix
index b1c520ded32..ba54ce2e70a 100644
--- a/pkgs/development/python-modules/parts/default.nix
+++ b/pkgs/development/python-modules/parts/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "parts";
-  version = "1.5.1";
+  version = "1.5.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-H6nyn2TY1Ga65CyhxOSlgcDTTC1UJi8I/4damM6I7fM=";
+    hash = "sha256-gOPDqXF05bQcG0Kv0+akBrikRr/CfHB9/tM/TJDPHdM=";
   };
 
   # Project has no tests
diff --git a/pkgs/development/python-modules/peaqevcore/default.nix b/pkgs/development/python-modules/peaqevcore/default.nix
index a2473ead5c3..89e70872731 100644
--- a/pkgs/development/python-modules/peaqevcore/default.nix
+++ b/pkgs/development/python-modules/peaqevcore/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "peaqevcore";
-  version = "4.0.1";
+  version = "4.0.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-iCHXiGKg3ENqw4cX1iNpVZAA944siKbFGKooo+KswsY=";
+    hash = "sha256-B0t9kNl55VsPC8ZXP7/lRDJ0Hfm4uhSEMGX9To4fjAU=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pescea/default.nix b/pkgs/development/python-modules/pescea/default.nix
index 7c0a236e62d..b80f5058cae 100644
--- a/pkgs/development/python-modules/pescea/default.nix
+++ b/pkgs/development/python-modules/pescea/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pescea";
-  version = "1.0.10";
+  version = "1.0.11";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "lazdavila";
     repo = pname;
     rev = "v${version}";
-    sha256 = "Q38mLGjrRdXEvT+PCNsil1e2p0mmM0Xy8TUx9QOnFRA=";
+    sha256 = "sha256-yiBtvD7kCqR/F4yoJa5rIOekYy8+zlJh849Jv+HkA4M=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pex/default.nix b/pkgs/development/python-modules/pex/default.nix
index d6030f7d39c..1a1fa63ff48 100644
--- a/pkgs/development/python-modules/pex/default.nix
+++ b/pkgs/development/python-modules/pex/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "pex";
-  version = "2.1.102";
+  version = "2.1.103";
   format = "flit";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-+jTO8IO+3j6kVBNjjCToRpiUmQTvBVmZTnNLbSHeNjw=";
+    hash = "sha256-B7zWM2Jrf9bRjrDWMDrP0KT7yzFpLnN7FXlGJtqJa/A=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pgcli/default.nix b/pkgs/development/python-modules/pgcli/default.nix
index 70e52493315..bb369ffdc9d 100644
--- a/pkgs/development/python-modules/pgcli/default.nix
+++ b/pkgs/development/python-modules/pgcli/default.nix
@@ -1,7 +1,6 @@
 { lib, stdenv
 , buildPythonPackage
 , fetchPypi
-, isPy3k
 , cli-helpers
 , click
 , configobj
@@ -29,6 +28,11 @@ buildPythonPackage rec {
     sha256 = "sha256-8DkwGH4n1g32WMqKBPtgHsXXR2xzXysVQsat7Fysj+I=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "pgspecial>=1.13.1,<2.0.0" "pgspecial>=1.13.1"
+  '';
+
   propagatedBuildInputs = [
     cli-helpers
     click
@@ -57,6 +61,6 @@ buildPythonPackage rec {
     homepage = "https://pgcli.com";
     changelog = "https://github.com/dbcli/pgcli/raw/v${version}/changelog.rst";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ dywedir ];
+    maintainers = with maintainers; [ dywedir SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/pglast/default.nix b/pkgs/development/python-modules/pglast/default.nix
index b3c5d128489..012eeb20ebf 100644
--- a/pkgs/development/python-modules/pglast/default.nix
+++ b/pkgs/development/python-modules/pglast/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "pglast";
-  version = "3.13";
+  version = "3.14";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-H1IVoXBanNlmjUMhBHRbnBsbeK9LuruqXJaVgSgCFPo=";
+    hash = "sha256-geDH0Q5xp3Xz84f3ff4AeDMaDghrO8P504wwwi4jjhA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pikepdf/default.nix b/pkgs/development/python-modules/pikepdf/default.nix
index 07b2389039b..886b1ffb82a 100644
--- a/pkgs/development/python-modules/pikepdf/default.nix
+++ b/pkgs/development/python-modules/pikepdf/default.nix
@@ -24,7 +24,7 @@
 
 buildPythonPackage rec {
   pname = "pikepdf";
-  version = "5.3.1";
+  version = "5.4.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -39,7 +39,7 @@ buildPythonPackage rec {
     postFetch = ''
       rm "$out/.git_archival.txt"
     '';
-    hash = "sha256-QYSI0oWuDw19EF8pwh3t1+VOY3Xe/AZxL1uARufg/nE=";
+    hash = "sha256-b4QUn+wfkk6Yx74ViBg6yaE1+bXtxidoyXYgBaJ9iiM=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/pipx/default.nix b/pkgs/development/python-modules/pipx/default.nix
index fb0cef01705..955b2d8a7d6 100644
--- a/pkgs/development/python-modules/pipx/default.nix
+++ b/pkgs/development/python-modules/pipx/default.nix
@@ -2,16 +2,19 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
+, hatchling
 , userpath
 , argcomplete
 , packaging
 , importlib-metadata
+, pip
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pipx";
   version = "1.1.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
@@ -23,6 +26,10 @@ buildPythonPackage rec {
     sha256 = "sha256-6cKKVOgHIoKNfGqvDWK5cwBGBDkgfyRuBRDV6fruBoA=";
   };
 
+  nativeBuildInputs = [
+    hatchling
+  ];
+
   propagatedBuildInputs = [
     userpath
     argcomplete
@@ -31,7 +38,9 @@ buildPythonPackage rec {
     importlib-metadata
   ];
 
-  checkInputs = [ pytestCheckHook ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
   preCheck = ''
     export HOME=$(mktemp -d)
@@ -61,6 +70,7 @@ buildPythonPackage rec {
     "legacy_venv"
     "determination"
     "json"
+    "test_list_short"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/plaid-python/default.nix b/pkgs/development/python-modules/plaid-python/default.nix
index f4082ad4125..0f450360301 100644
--- a/pkgs/development/python-modules/plaid-python/default.nix
+++ b/pkgs/development/python-modules/plaid-python/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "plaid-python";
-  version = "9.8.0";
+  version = "9.9.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-iILDOpajLdTi+yPBNIr2+Sb1qBl0KCoSow2XBmDpFSI=";
+    hash = "sha256-uvozG1l+aGDs4nzOOjKUPScLLMNVop5u2Y89se8GvtY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/plexapi/default.nix b/pkgs/development/python-modules/plexapi/default.nix
index 4ddd955cf4d..45fd001dd9a 100644
--- a/pkgs/development/python-modules/plexapi/default.nix
+++ b/pkgs/development/python-modules/plexapi/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "plexapi";
-  version = "4.12.0";
+  version = "4.12.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "pkkid";
     repo = "python-plexapi";
     rev = "refs/tags/${version}";
-    sha256 = "sha256-GtFAHNqneoWPCUegFDIpmeyuCsjwAx9o6t0ptGNLBeQ=";
+    sha256 = "sha256-OzHykLpcy+ZA3jfzrDwmCoNb4JhvdHYJErzfWn+zjqo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/plugwise/default.nix b/pkgs/development/python-modules/plugwise/default.nix
index 16f777aad94..9e2a3a642a6 100644
--- a/pkgs/development/python-modules/plugwise/default.nix
+++ b/pkgs/development/python-modules/plugwise/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "plugwise";
-  version = "0.21.0";
+  version = "0.21.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "python-plugwise";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-pw1apxqjKKv05Qw2VFN0cKit/3fas7PUb1wS/XsJruY=";
+    sha256 = "sha256-vWPKlI1dRj2bN36SnkkjibACPkCqjlQn2Dq9+usgOhc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/prompt-toolkit/default.nix b/pkgs/development/python-modules/prompt-toolkit/default.nix
index 02b188d2fda..f87558e5194 100644
--- a/pkgs/development/python-modules/prompt-toolkit/default.nix
+++ b/pkgs/development/python-modules/prompt-toolkit/default.nix
@@ -30,6 +30,8 @@ buildPythonPackage rec {
   ];
 
   disabledTests = [
+    # tests/test_completion.py:206: AssertionError
+    # https://github.com/prompt-toolkit/python-prompt-toolkit/issues/1657
     "test_pathcompleter_can_expanduser"
   ];
 
diff --git a/pkgs/development/python-modules/pubnub/default.nix b/pkgs/development/python-modules/pubnub/default.nix
index d474306d2a3..80db92ca6b2 100644
--- a/pkgs/development/python-modules/pubnub/default.nix
+++ b/pkgs/development/python-modules/pubnub/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pubnub";
-  version = "6.5.0";
+  version = "6.5.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-zY40VLjjb9VBbw2579UPD/csk9o0AWIZMWRKxo78NrE=";
+    hash = "sha256-+x58aEvemav0Pz2jeICLFG36FTtZCu5dk/arb+j5nmo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/py-tree-sitter/default.nix b/pkgs/development/python-modules/py-tree-sitter/default.nix
new file mode 100644
index 00000000000..9d7b8298697
--- /dev/null
+++ b/pkgs/development/python-modules/py-tree-sitter/default.nix
@@ -0,0 +1,25 @@
+{ lib, stdenv, buildPythonPackage, fetchFromGitHub }:
+
+buildPythonPackage rec {
+  pname = "py-tree-sitter";
+  version = "unstable-2022-02-08";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "tree-sitter";
+    repo = "py-tree-sitter";
+    rev = "9c8261d36e55d9e4a6543dc9e570bfd7911ed7bf";
+    sha256 = "sha256-YDe9m85LIPNumo9mrhMMotUspq/8B3t5kt2ScMJI+hY=";
+    fetchSubmodules = true;
+  };
+
+  pythonImportsCheck = [ "tree_sitter" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/tree-sitter/py-tree-sitter";
+    description = "Python bindings for tree-sitter";
+    license = licenses.mit;
+    maintainers = with maintainers; [ siraben ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/python-modules/pyarr/default.nix b/pkgs/development/python-modules/pyarr/default.nix
new file mode 100644
index 00000000000..0150e0cc9b8
--- /dev/null
+++ b/pkgs/development/python-modules/pyarr/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+, types-requests
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "pyarr";
+  version = "4.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-3DX02V3Srpx6hqimWbesxfkDqslVH4+8uXY7XYDmjX0=";
+  };
+
+  propagatedBuildInputs = [
+    requests
+    types-requests
+  ];
+
+  pythonImportsCheck = [ "pyarr" ];
+
+  meta = with lib; {
+    description = "Python client for Servarr API's (Sonarr, Radarr, Readarr, Lidarr)";
+    homepage = "https://github.com/totaldebug/pyarr";
+    license = licenses.mit;
+    maintainers = with maintainers; [ onny ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyarrow/default.nix b/pkgs/development/python-modules/pyarrow/default.nix
index 53dde0cd0f6..bdd907176f9 100644
--- a/pkgs/development/python-modules/pyarrow/default.nix
+++ b/pkgs/development/python-modules/pyarrow/default.nix
@@ -79,6 +79,8 @@ buildPythonPackage rec {
 
   dontUseCmakeConfigure = true;
 
+  __darwinAllowLocalNetworking = true;
+
   preBuild = ''
     export PYARROW_PARALLEL=$NIX_BUILD_CORES
   '';
@@ -111,8 +113,10 @@ buildPythonPackage rec {
 
   preCheck = ''
     shopt -s extglob
-    rm -r pyarrow/!(tests)
-  '' + lib.optionalString stdenv.isDarwin  ''
+    rm -r pyarrow/!(conftest.py|tests)
+    mv pyarrow/conftest.py pyarrow/tests/parent_conftest.py
+    substituteInPlace pyarrow/tests/conftest.py --replace ..conftest .parent_conftest
+  '' + lib.optionalString stdenv.isDarwin ''
     # OSError: [Errno 24] Too many open files
     ulimit -n 1024
   '';
diff --git a/pkgs/development/python-modules/pyatv/default.nix b/pkgs/development/python-modules/pyatv/default.nix
index 7439362e894..644c346e4b0 100644
--- a/pkgs/development/python-modules/pyatv/default.nix
+++ b/pkgs/development/python-modules/pyatv/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "pyatv";
-  version = "0.10.2";
+  version = "0.10.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "postlund";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-70bimFWsby2x8wBRH5CZgg9Xjw8n+xfhW07rOG9Pk0s=";
+    sha256 = "sha256-ng5KfW93p2/N2a6lnGbRJC6aWOQgTl0imBLdUIUlDic=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pycep-parser/default.nix b/pkgs/development/python-modules/pycep-parser/default.nix
index d13a141e7e5..91722ee89bc 100644
--- a/pkgs/development/python-modules/pycep-parser/default.nix
+++ b/pkgs/development/python-modules/pycep-parser/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "pycep-parser";
-  version = "0.3.7";
+  version = "0.3.8";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "gruebel";
     repo = "pycep";
     rev = "refs/tags/${version}";
-    hash = "sha256-5XivzmwcJi+DrrskM0u3XBXtC5j0pjXbWHI+8mciMXM=";
+    hash = "sha256-y6npvFh6/QykOAKK8ihTHDcv5dFd4lLU64UXPIhBELA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pydal/default.nix b/pkgs/development/python-modules/pydal/default.nix
index 314e9174689..1134422e6e6 100644
--- a/pkgs/development/python-modules/pydal/default.nix
+++ b/pkgs/development/python-modules/pydal/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "pydal";
-  version = "20220725.1";
+  version = "20220807.1";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-/kbAvK6OWUyv0LUcTIAAvSHmhWDBwJszx65qqgytqSE=";
+    sha256 = "sha256-pIdDovZmKzqOB/4FKnivHQ5/YKuyj1Kq+30ZkHn33Wc=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pydash/default.nix b/pkgs/development/python-modules/pydash/default.nix
index 7800f3e259d..08e7fe72acf 100644
--- a/pkgs/development/python-modules/pydash/default.nix
+++ b/pkgs/development/python-modules/pydash/default.nix
@@ -6,7 +6,7 @@
 , mock
 , pytestCheckHook
 , pythonOlder
-, sphinx_rtd_theme
+, sphinx-rtd-theme
 }:
 
 buildPythonPackage rec {
@@ -26,7 +26,7 @@ buildPythonPackage rec {
   checkInputs = [
     invoke
     mock
-    sphinx_rtd_theme
+    sphinx-rtd-theme
     pytestCheckHook
   ];
 
diff --git a/pkgs/development/python-modules/pydeconz/default.nix b/pkgs/development/python-modules/pydeconz/default.nix
index 4133346c39b..45d69f53b3f 100644
--- a/pkgs/development/python-modules/pydeconz/default.nix
+++ b/pkgs/development/python-modules/pydeconz/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "pydeconz";
-  version = "100";
+  version = "103";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "Kane610";
     repo = "deconz";
     rev = "refs/tags/v${version}";
-    hash = "sha256-8wgvwYSGijxHB+CABHr+jnW87EnJE/67wrJqZgJk0mA=";
+    hash = "sha256-nxM9airO1/CF4g9CeyV2WMxh22fBtu0fjz1R3X1zm+o=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pydevd/default.nix b/pkgs/development/python-modules/pydevd/default.nix
new file mode 100644
index 00000000000..11ada4189d2
--- /dev/null
+++ b/pkgs/development/python-modules/pydevd/default.nix
@@ -0,0 +1,57 @@
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, pytestCheckHook
+, untangle
+, psutil
+, trio
+, numpy
+}:
+
+buildPythonPackage rec {
+  pname = "pydevd";
+  version = "2.8.0";
+
+  src = fetchFromGitHub {
+    owner = "fabioz";
+    repo = "PyDev.Debugger";
+    rev = "pydev_debugger_${lib.replaceStrings ["."] ["_"] version}";
+    sha256 = "sha256-+yRngN10654trB09ZZa8QQsTPdM7VxVj7r6jh7OcgAA=";
+  };
+
+  checkInputs = [
+    numpy
+    psutil
+    pytestCheckHook
+    trio
+    untangle
+  ];
+
+  disabledTests = [
+    # Require network connection
+    "test_completion_sockets_and_messages"
+    "test_path_translation"
+    "test_attach_to_pid_no_threads"
+    "test_attach_to_pid_halted"
+    "test_remote_debugger_threads"
+    "test_path_translation_and_source_reference"
+    "test_attach_to_pid"
+    "test_terminate"
+    "test_gui_event_loop_custom"
+    # AssertionError: assert '/usr/bin/' == '/usr/bin'
+    # https://github.com/fabioz/PyDev.Debugger/issues/227
+    "test_to_server_and_to_client"
+    # AssertionError pydevd_tracing.set_trace_to_threads(tracing_func) == 0
+    "test_tracing_other_threads"
+    "test_tracing_basic"
+  ];
+
+  pythonImportsCheck = [ "pydevd" ];
+
+  meta = with lib; {
+    description = "PyDev.Debugger (used in PyDev, PyCharm and VSCode Python)";
+    homepage = "https://github.com/fabioz/PyDev.Debugger";
+    license = licenses.epl10;
+    maintainers = with maintainers; [ onny ];
+  };
+}
diff --git a/pkgs/development/python-modules/pygls/default.nix b/pkgs/development/python-modules/pygls/default.nix
index 4de2e30d0f6..e9a6850b5e6 100644
--- a/pkgs/development/python-modules/pygls/default.nix
+++ b/pkgs/development/python-modules/pygls/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, isPy3k
+, pythonOlder
 , fetchFromGitHub
 , setuptools-scm
 , pydantic
@@ -13,15 +13,16 @@
 
 buildPythonPackage rec {
   pname = "pygls";
-  version = "0.12";
+  version = "0.12.1";
   format = "setuptools";
-  disabled = !isPy3k;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "openlawlibrary";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-PEfGxOUsiZ5WLmoQkOP2RRWJlIKi+42lOu55C3C+k8A=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-L2KTNiI+I+r2fF88B1NSunowokrDzGCw3PXbxekg/oE=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -32,12 +33,6 @@ buildPythonPackage rec {
     toml
     typeguard
   ];
-  # We don't know why an early version of pydantic is required, see:
-  # https://github.com/openlawlibrary/pygls/issues/221
-  preBuild = ''
-    substituteInPlace setup.cfg \
-      --replace "pydantic>=1.7,<1.9" "pydantic"
-  '';
 
   checkInputs = [
     mock
diff --git a/pkgs/development/python-modules/pygobject/3.nix b/pkgs/development/python-modules/pygobject/3.nix
index 199435c935c..20c45462d9e 100644
--- a/pkgs/development/python-modules/pygobject/3.nix
+++ b/pkgs/development/python-modules/pygobject/3.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "pygobject";
-  version = "3.42.1";
+  version = "3.42.2";
 
   outputs = [ "out" "dev" ];
 
@@ -27,7 +27,7 @@ buildPythonPackage rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "HzS192JN415E61p+tCg1MoW9AwBNVRMaX39/qbkPPMk=";
+    sha256 = "rehpXipwc4Sd0DFtMdhyjhXh4Lxx2f9tHAnoa+UryVc=";
   };
 
   depsBuildBuild = [
diff --git a/pkgs/development/python-modules/pyipma/default.nix b/pkgs/development/python-modules/pyipma/default.nix
index b34c4838cb8..6a9847d3778 100644
--- a/pkgs/development/python-modules/pyipma/default.nix
+++ b/pkgs/development/python-modules/pyipma/default.nix
@@ -1,20 +1,28 @@
 { lib
 , aiohttp
+, aioresponses
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
+, freezegun
+, mock
 , geopy
+, pytest-asyncio
+, pytestCheckHook
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pyipma";
-  version = "2.1.5";
+  version = "3.0.2";
+  format = "setuptools";
+
   disabled = pythonOlder "3.7";
 
-  # Request for GitHub releases, https://github.com/dgomes/pyipma/issues/10
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0hq5dasqpsn64x2sf6a28hdmysygmcdq4in6s08w97jfvwc6xmym";
+  src = fetchFromGitHub {
+    owner = "dgomes";
+    repo = pname;
+    rev = "refs/tags/${version}";
+    hash = "sha256-AF4bwEsAwJ5MoBQieNDFQ00LILJu+bZZttw4T5+6gkk=";
   };
 
   propagatedBuildInputs = [
@@ -22,13 +30,27 @@ buildPythonPackage rec {
     geopy
   ];
 
-  # Project has no tests included in the PyPI releases
-  doCheck = false;
+  checkInputs = [
+    aioresponses
+    freezegun
+    mock
+    pytest-asyncio
+    pytestCheckHook
+  ];
 
-  pythonImportsCheck = [ "pyipma" ];
+  pythonImportsCheck = [
+    "pyipma"
+  ];
+
+  disabledTestPaths = [
+    # Tests require network access
+    "tests/test_auxiliar.py"
+    "tests/test_location.py"
+    "tests/test_sea_forecast.py"
+  ];
 
   meta = with lib; {
-    description = "Python library to retrieve information from Instituto Português do Mar e Atmosfera";
+    description = "Library to retrieve information from Instituto Português do Mar e Atmosfera";
     homepage = "https://github.com/dgomes/pyipma";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
diff --git a/pkgs/development/python-modules/pykostalpiko/default.nix b/pkgs/development/python-modules/pykostalpiko/default.nix
new file mode 100644
index 00000000000..1b36374b20b
--- /dev/null
+++ b/pkgs/development/python-modules/pykostalpiko/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, click
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pykostalpiko";
+  version = "1.1.1-1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "Florian7843";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-0szkxR19iSWWpPAEo3wriMmI5TFI6YeYRTj86b4rKlU=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    click
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "pykostalpiko"
+  ];
+
+  meta = with lib; {
+    description = "Library and CLI-tool to fetch the data from a Kostal Piko inverter";
+    homepage = "https://github.com/Florian7843/pykostalpiko";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pylibmc/default.nix b/pkgs/development/python-modules/pylibmc/default.nix
index 9fb8401bdc4..039c793f20b 100644
--- a/pkgs/development/python-modules/pylibmc/default.nix
+++ b/pkgs/development/python-modules/pylibmc/default.nix
@@ -1,23 +1,45 @@
-{ buildPythonPackage, fetchPypi, lib, libmemcached, zlib, cyrus_sasl }:
+{ lib
+, buildPythonPackage
+, cyrus_sasl
+, fetchPypi
+, libmemcached
+, pythonOlder
+, zlib
+}:
 
 buildPythonPackage rec {
-  version = "1.6.1";
   pname = "pylibmc";
+  version = "1.6.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1sg7d9j0v6g3xg3finf4l1hb72c13vcyyi6rqrc9shbx903d93ca";
+    hash = "sha256-QatJ05VAdnN0iRvvC+tSkcqXvrcEi3r3dSEGSVPATcA=";
   };
 
-  buildInputs = [ libmemcached zlib cyrus_sasl ];
-  setupPyBuildFlags = [ "--with-sasl2" ];
+  buildInputs = [
+    cyrus_sasl
+    libmemcached
+    zlib
+  ];
+
+  setupPyBuildFlags = [
+    "--with-sasl2"
+  ];
 
-  # requires an external memcached server running
+  # Requires an external memcached server running
   doCheck = false;
 
+  pythonImportsCheck = [
+    "pylibmc"
+  ];
+
   meta = with lib; {
     description = "Quick and small memcached client for Python";
     homepage = "http://sendapatch.se/projects/pylibmc/";
     license = licenses.bsd3;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pymicrobot/default.nix b/pkgs/development/python-modules/pymicrobot/default.nix
new file mode 100644
index 00000000000..00bdd859405
--- /dev/null
+++ b/pkgs/development/python-modules/pymicrobot/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, bleak
+, bleak-retry-connector
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pymicrobot";
+  version = "0.0.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchPypi {
+    pname = "PyMicroBot";
+    inherit version;
+    hash = "sha256-I43a75jEU/jvjAEUBXeTZGGBy0pne1P3DA9Gbzy+c34=";
+  };
+
+  propagatedBuildInputs = [
+    bleak
+    bleak-retry-connector
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "microbot"
+  ];
+
+  meta = with lib; {
+    description = "Library to communicate with MicroBot";
+    homepage = "https://github.com/spycle/pyMicroBot/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyotgw/default.nix b/pkgs/development/python-modules/pyotgw/default.nix
index 32702f0c458..790a3af1350 100644
--- a/pkgs/development/python-modules/pyotgw/default.nix
+++ b/pkgs/development/python-modules/pyotgw/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pyotgw";
-  version = "2.0.1";
+  version = "2.0.2";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "mvn23";
     repo = pname;
     rev = version;
-    hash = "sha256-2mO8/qBG01zR0LHS4ajaNHrPsM//4i4gKnviy2aGeRs=";
+    hash = "sha256-lmhFQ1HhRuiS++NsELA53YafrJ9uX2UDBQ9Kgyq0N0o=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyoverkiz/default.nix b/pkgs/development/python-modules/pyoverkiz/default.nix
index fe4f854e53e..6c7d10b4204 100644
--- a/pkgs/development/python-modules/pyoverkiz/default.nix
+++ b/pkgs/development/python-modules/pyoverkiz/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "pyoverkiz";
-  version = "1.4.2";
+  version = "1.5.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "iMicknl";
     repo = "python-overkiz-api";
     rev = "refs/tags/v${version}";
-    hash = "sha256-o6qAeZSjXK/V5TKFCsnVvCbDH6lQTts1ClJ5scmDeVQ=";
+    hash = "sha256-xshqcAXj6lGpnTIHhx1A2c+Vso1q8kAwZW7v6XIilj0=";
   };
 
   nativeBuildInputs = [
@@ -45,6 +45,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'backoff = "^1.10.0"' 'backoff = "*"'
+  '';
+
   pythonImportsCheck = [
     "pyoverkiz"
   ];
diff --git a/pkgs/development/python-modules/pyprosegur/default.nix b/pkgs/development/python-modules/pyprosegur/default.nix
index d26f7fdd9e4..4e62265776e 100644
--- a/pkgs/development/python-modules/pyprosegur/default.nix
+++ b/pkgs/development/python-modules/pyprosegur/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "pyprosegur";
-  version = "0.0.7";
+  version = "0.0.8";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "dgomes";
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-eP8BFEdAJH2qHqqBXPxTaX1OGFggbWb3517G+gBPxhs=";
+    sha256 = "sha256-Spxzyn0gZ1TIHrtt7W0j6VwKnm2Km5vLGZZ//HINyBA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyquil/default.nix b/pkgs/development/python-modules/pyquil/default.nix
index 3b308c4d59e..64f2d9c45f9 100644
--- a/pkgs/development/python-modules/pyquil/default.nix
+++ b/pkgs/development/python-modules/pyquil/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "pyquil";
-  version = "3.1.0";
+  version = "3.3.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "rigetti";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ejfzxCf2NucK/hfzswHu3h4DPPZQY8vkMAQ51XDRWKU=";
+    sha256 = "sha256-lifenGICnllPe/W9xmyp1Jkh7dRfph6u2+2uNvlARMw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pyrisco/default.nix b/pkgs/development/python-modules/pyrisco/default.nix
index b9df9d36d41..b6442c82bac 100644
--- a/pkgs/development/python-modules/pyrisco/default.nix
+++ b/pkgs/development/python-modules/pyrisco/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "pyrisco";
-  version = "0.3.1";
+  version = "0.5.2";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "OnFreund";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1im29h4rxnp98aqzgzjj5i8jv2h5zw9c5yx8xxzl4cmr3yila9zw";
+    sha256 = "sha256-gRAQARdVZWpFHx0nE4xRktIP2p4ggp9/95VO9nNd/1w=";
   };
 
   propagatedBuildInputs = [ aiohttp ];
diff --git a/pkgs/development/python-modules/pyroute2/default.nix b/pkgs/development/python-modules/pyroute2/default.nix
index dd7193d6c7e..f5c4d936aeb 100644
--- a/pkgs/development/python-modules/pyroute2/default.nix
+++ b/pkgs/development/python-modules/pyroute2/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "pyroute2";
-  version = "0.7.1";
+  version = "0.7.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-pytarNr+lBb4rJqj7V1vJ8aWgojYJWhDLg9wOhdT3ZY=";
+    hash = "sha256-hahWY7BIO8c6DmCgG+feZdNikbYWycFCl0E6P1uEQ/M=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pysigma-backend-elasticsearch/default.nix b/pkgs/development/python-modules/pysigma-backend-elasticsearch/default.nix
new file mode 100644
index 00000000000..7ec64df2e1b
--- /dev/null
+++ b/pkgs/development/python-modules/pysigma-backend-elasticsearch/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pysigma
+, pytestCheckHook
+, pythonOlder
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "pysigma-backend-elasticsearch";
+  version = "0.1.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "SigmaHQ";
+    repo = "pySigma-backend-elasticsearch";
+    rev = "v${version}";
+    hash = "sha256-BEvYz0jTJifsNBrA4r16JkiFaERDj/zWKd9MbhcuCS8=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    pysigma
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    requests
+  ];
+
+  pythonImportsCheck = [
+    "sigma.backends.elasticsearch"
+  ];
+
+  disabledTests = [
+    # Tests requires network access
+    "test_connect_lucene"
+  ];
+
+  meta = with lib; {
+    description = "Library to support Elasticsearch for pySigma";
+    homepage = "https://github.com/SigmaHQ/pySigma-backend-elasticsearch";
+    license = with licenses; [ lgpl21Only ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pysigma-backend-insightidr/default.nix b/pkgs/development/python-modules/pysigma-backend-insightidr/default.nix
index 50b1e40852a..c373a2fc677 100644
--- a/pkgs/development/python-modules/pysigma-backend-insightidr/default.nix
+++ b/pkgs/development/python-modules/pysigma-backend-insightidr/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pysigma-backend-insightidr";
-  version = "0.1.6";
+  version = "0.1.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "SigmaHQ";
     repo = "pySigma-backend-insightidr";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Sg+AYoEbCmcqxw5dl8wmQcI+lFrAfFgDnQjiQh6r9Yc=";
+    hash = "sha256-5uWSXUKLSJbkJHvMmFGrS/yukBO/ax8seg+0ZqAHdaE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pysigma-backend-opensearch/default.nix b/pkgs/development/python-modules/pysigma-backend-opensearch/default.nix
new file mode 100644
index 00000000000..36e44c62985
--- /dev/null
+++ b/pkgs/development/python-modules/pysigma-backend-opensearch/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pysigma
+, pysigma-backend-elasticsearch
+, pytestCheckHook
+, pythonOlder
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "pysigma-backend-opensearch";
+  version = "0.1.2";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "SigmaHQ";
+    repo = "pySigma-backend-opensearch";
+    rev = "v${version}";
+    hash = "sha256-5+/LOi7GHu8h9WhjpZ7bBc4aM41NiXrSrdGhbXdYMvw=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    pysigma
+    pysigma-backend-elasticsearch
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    requests
+  ];
+
+  pythonImportsCheck = [
+    "sigma.backends.opensearch"
+  ];
+
+  disabledTests = [
+    # Tests requires network access
+    "test_connect_lucene"
+  ];
+
+  meta = with lib; {
+    description = "Library to support OpenSearch for pySigma";
+    homepage = "https://github.com/SigmaHQ/pySigma-backend-opensearch";
+    license = with licenses; [ lgpl21Only ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pysigma-backend-qradar/default.nix b/pkgs/development/python-modules/pysigma-backend-qradar/default.nix
new file mode 100644
index 00000000000..348dd6991a5
--- /dev/null
+++ b/pkgs/development/python-modules/pysigma-backend-qradar/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pysigma
+, pysigma-pipeline-sysmon
+, pytestCheckHook
+, pythonOlder
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "pysigma-backend-qradar";
+  version = "0.1.9";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "nNipsx-Sec";
+    repo = "pySigma-backend-qradar";
+    rev = "v${version}";
+    hash = "sha256-b3e8cVrVFZgihhEk6QlUnRZigglczHUa/XeMvMzNYLk=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    pysigma
+  ];
+
+  checkInputs = [
+    pysigma-pipeline-sysmon
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "sigma.backends.qradar"
+  ];
+
+  meta = with lib; {
+    description = "Library to support Qradar for pySigma";
+    homepage = "https://github.com/nNipsx-Sec/pySigma-backend-qradar";
+    license = with licenses; [ lgpl21Only ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pysigma-backend-splunk/default.nix b/pkgs/development/python-modules/pysigma-backend-splunk/default.nix
index 7f7539973ab..b44baae526b 100644
--- a/pkgs/development/python-modules/pysigma-backend-splunk/default.nix
+++ b/pkgs/development/python-modules/pysigma-backend-splunk/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pysigma-backend-splunk";
-  version = "0.3.5";
+  version = "0.3.6";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "SigmaHQ";
     repo = "pySigma-backend-splunk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-W6wnxQPrtMDG5jctB7CMXr4kPIhZievFTBJCeSeDCWw=";
+    hash = "sha256-6XvKytODJll9BPeAhk6girwLibNJk+QEn2AV/WNqnyI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pysigma-pipeline-crowdstrike/default.nix b/pkgs/development/python-modules/pysigma-pipeline-crowdstrike/default.nix
index 14129f148b1..d6207f7082a 100644
--- a/pkgs/development/python-modules/pysigma-pipeline-crowdstrike/default.nix
+++ b/pkgs/development/python-modules/pysigma-pipeline-crowdstrike/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pysigma-pipeline-crowdstrike";
-  version = "0.1.6";
+  version = "0.1.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "SigmaHQ";
     repo = "pySigma-pipeline-crowdstrike";
     rev = "v${version}";
-    hash = "sha256-5xX7NwM+Us0ToJa2miAw9KsCt2T+TqBnqHtwphZNxJI=";
+    hash = "sha256-cALpOAn+zf1w7KYExBVFebRwNYMjiQPE7fdB1x7gHZw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pysigma-pipeline-sysmon/default.nix b/pkgs/development/python-modules/pysigma-pipeline-sysmon/default.nix
index d308d72d805..23c9b5eef4d 100644
--- a/pkgs/development/python-modules/pysigma-pipeline-sysmon/default.nix
+++ b/pkgs/development/python-modules/pysigma-pipeline-sysmon/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pysigma-pipeline-sysmon";
-  version = "0.1.6";
+  version = "1.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "SigmaHQ";
     repo = "pySigma-pipeline-sysmon";
     rev = "v${version}";
-    hash = "sha256-hKXnM3iqt6PnV+cMV3gEleBChd263sy2DovpIKg22fs=";
+    hash = "sha256-OwWUt1O8436kmuaqv8Ec6485NLkVztLjGIWF2SPRtKA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pysigma-pipeline-windows/default.nix b/pkgs/development/python-modules/pysigma-pipeline-windows/default.nix
index 7620f84a97e..98808b6090a 100644
--- a/pkgs/development/python-modules/pysigma-pipeline-windows/default.nix
+++ b/pkgs/development/python-modules/pysigma-pipeline-windows/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pysigma-pipeline-windows";
-  version = "0.1.1";
+  version = "1.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "SigmaHQ";
     repo = "pySigma-pipeline-windows";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ATDWhHY9tjuQbfIFgoGhz8qsluH9hTSI9zdPmP8GPWE=";
+    hash = "sha256-/DUhgvcGhk28HRDCi96K1NH6MHNB1WogfuMVCgNbot4=";
   };
 
   nativeBuildInputs = [
@@ -29,11 +29,6 @@ buildPythonPackage rec {
     pysigma
   ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'pysigma = "^0.5.0"' 'pysigma = "^0.6.0"'
-  '';
-
   checkInputs = [
     pytestCheckHook
   ];
diff --git a/pkgs/development/python-modules/pysigma/default.nix b/pkgs/development/python-modules/pysigma/default.nix
index a125c68dbf9..b75df650acd 100644
--- a/pkgs/development/python-modules/pysigma/default.nix
+++ b/pkgs/development/python-modules/pysigma/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pysigma";
-  version = "0.6.8";
+  version = "0.7.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "SigmaHQ";
     repo = "pySigma";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Jq37/9w1GHr+GZ8Fvftmfz2XkL3zUpTjbDlokrUoLtw=";
+    hash = "sha256-yXzYNBD39dPd2f5Gvmo5p0cVlTy38q1jnBL+HjAxmB8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pyskyqremote/default.nix b/pkgs/development/python-modules/pyskyqremote/default.nix
index 91cfdcb4b69..abfb8838207 100644
--- a/pkgs/development/python-modules/pyskyqremote/default.nix
+++ b/pkgs/development/python-modules/pyskyqremote/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pyskyqremote";
-  version = "0.3.12";
+  version = "0.3.15";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "RogerSelwyn";
     repo = "skyq_remote";
     rev = "refs/tags/${version}";
-    sha256 = "sha256-NEdlhp0Bjbb1oRCFf0OPEuFlLE2JjRWYWwnTaHozPr0=";
+    sha256 = "sha256-K21ASxMcFsT0qevjXDPmVIQjdW56UT8QMOuyT7e2yDc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyswitchbot/default.nix b/pkgs/development/python-modules/pyswitchbot/default.nix
index 0ee613b67f1..ed37b4dde36 100644
--- a/pkgs/development/python-modules/pyswitchbot/default.nix
+++ b/pkgs/development/python-modules/pyswitchbot/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "pyswitchbot";
-  version = "0.15.2";
+  version = "0.18.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "Danielhiversen";
     repo = "pySwitchbot";
     rev = "refs/tags/${version}";
-    hash = "sha256-JoHFDFJcltgNrP3faFfyTV7D15h8YTyojWEUcrREeGU=";
+    hash = "sha256-4mVKs3Lycb9DVdFcG1gzM4FjJiQTcV7aT/OLpBacZjU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyte/default.nix b/pkgs/development/python-modules/pyte/default.nix
index 440a529cb4f..e703a934466 100644
--- a/pkgs/development/python-modules/pyte/default.nix
+++ b/pkgs/development/python-modules/pyte/default.nix
@@ -1,23 +1,32 @@
-{ lib, buildPythonPackage, fetchPypi, pytestCheckHook, pytest-runner, wcwidth }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, wcwidth
+}:
 
 buildPythonPackage rec {
   pname = "pyte";
   version = "0.8.1";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-ub/Rt4F1nnVypuVTwBDMk+71ihnY0VkERthMGbGwl7A=";
+  src = fetchFromGitHub {
+    owner = "selectel";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-gLvsW4ou6bGq9CxT6XdX+r2ViMk7z+aejemrdLwJb3M=";
   };
 
-  nativeBuildInputs = [ pytest-runner ];
+  postPatch = ''
+    # Remove pytest-runner dependency since it is not supported in the NixOS
+    # sandbox
+    sed -i '/pytest-runner/d' setup.py
+  '';
 
   propagatedBuildInputs = [ wcwidth ];
 
   checkInputs = [ pytestCheckHook ];
 
-  disabledTests = [
-    "test_input_output"
-  ];
+  pythonImportsCheck = [ "pyte" ];
 
   meta = with lib; {
     description = "Simple VTXXX-compatible linux terminal emulator";
diff --git a/pkgs/development/python-modules/pytest-mpl/default.nix b/pkgs/development/python-modules/pytest-mpl/default.nix
index 98f09edc68a..e5bf251def6 100644
--- a/pkgs/development/python-modules/pytest-mpl/default.nix
+++ b/pkgs/development/python-modules/pytest-mpl/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-mpl";
-  version = "0.16.0";
+  version = "0.16.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-TTqagfB15FEAxk+VWsEfaELT+B6Tw0wtXFi3wD2kD/0=";
+    sha256 = "sha256-LVcWgRJOj/X04rnA0EfTfQSZ1rbY8vSaG1DN2ZMQRGk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/python-benedict/default.nix b/pkgs/development/python-modules/python-benedict/default.nix
index ada0ded7e79..96601c6750a 100644
--- a/pkgs/development/python-modules/python-benedict/default.nix
+++ b/pkgs/development/python-modules/python-benedict/default.nix
@@ -32,6 +32,11 @@ buildPythonPackage rec {
     hash = "sha256-WSsT+p23VctVt9A+WFKNHcgUHFijfT775eMF3RzaXDA=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "mailchecker >= 4.1.0, < 5.0.0" "mailchecker >= 4.1.0"
+  '';
+
   propagatedBuildInputs = [
     mailchecker
     phonenumbers
diff --git a/pkgs/development/python-modules/python-efl/default.nix b/pkgs/development/python-modules/python-efl/default.nix
index 01ce4bc1260..beca9b84894 100644
--- a/pkgs/development/python-modules/python-efl/default.nix
+++ b/pkgs/development/python-modules/python-efl/default.nix
@@ -34,7 +34,7 @@ buildPythonPackage rec {
   '';
 
   installPhase = ''
-    ${python.interpreter} setup.py install --prefix=$out
+    ${python.interpreter} setup.py install --prefix=$out --single-version-externally-managed
   '';
 
   doCheck = false;
diff --git a/pkgs/development/python-modules/python-engineio/default.nix b/pkgs/development/python-modules/python-engineio/default.nix
index 6a7495041f7..c9b344e5acf 100644
--- a/pkgs/development/python-modules/python-engineio/default.nix
+++ b/pkgs/development/python-modules/python-engineio/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "python-engineio";
-  version = "4.3.3";
+  version = "4.3.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "miguelgrinberg";
     repo = "python-engineio";
     rev = "v${version}";
-    sha256 = "sha256-+0H7Ojy5/K0EllNTSvGLNIZlglcMh76r9XHxFMUwrrY=";
+    sha256 = "sha256-fymO9WqkYaRsHKCJHQJpySHqZor2t8BfVrfYUfYoJno=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/python-flirt/Cargo.lock b/pkgs/development/python-modules/python-flirt/Cargo.lock
new file mode 100644
index 00000000000..d6ad3d6aef6
--- /dev/null
+++ b/pkgs/development/python-modules/python-flirt/Cargo.lock
@@ -0,0 +1,1465 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "addr2line"
+version = "0.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b"
+dependencies = [
+ "gimli",
+]
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "adler32"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234"
+
+[[package]]
+name = "aho-corasick"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca972c2ea5f742bfce5687b9aef75506a764f61d37f8f649047846a9686ddb66"
+dependencies = [
+ "memchr 0.1.11",
+]
+
+[[package]]
+name = "aho-corasick"
+version = "0.7.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
+dependencies = [
+ "memchr 2.5.0",
+]
+
+[[package]]
+name = "ansi_term"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
+dependencies = [
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "anyhow"
+version = "1.0.58"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb07d2053ccdbe10e2af2995a2f116c1330396493dc1269f6a91d0ae82e19704"
+
+[[package]]
+name = "atty"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+dependencies = [
+ "hermit-abi",
+ "libc",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "backtrace"
+version = "0.3.66"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7"
+dependencies = [
+ "addr2line",
+ "cc",
+ "cfg-if",
+ "libc",
+ "miniz_oxide",
+ "object",
+ "rustc-demangle",
+]
+
+[[package]]
+name = "better-panic"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d12a680cc74d8c4a44ee08be4a00dedf671b089c2440b2e3fdaa776cd468476"
+dependencies = [
+ "backtrace",
+ "console",
+]
+
+[[package]]
+name = "bitflags"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1370e9fc2a6ae53aea8b7a5110edbd08836ed87c88736dfabccade1c2b44bff4"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitvec"
+version = "0.22.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5237f00a8c86130a0cc317830e558b966dd7850d48a953d998c813f01a41b527"
+dependencies = [
+ "funty",
+ "radium",
+ "tap",
+ "wyz",
+]
+
+[[package]]
+name = "bstr"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223"
+dependencies = [
+ "lazy_static",
+ "memchr 2.5.0",
+ "regex-automata",
+ "serde",
+]
+
+[[package]]
+name = "build-helper"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bdce191bf3fa4995ce948c8c83b4640a1745457a149e73c6db75b4ffe36aad5f"
+dependencies = [
+ "semver",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "37ccbd214614c6783386c1af30caf03192f17891059cecc394b4fb119e363de3"
+
+[[package]]
+name = "byteorder"
+version = "1.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+
+[[package]]
+name = "cast"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
+
+[[package]]
+name = "cc"
+version = "1.0.73"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "chrono"
+version = "0.4.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73"
+dependencies = [
+ "libc",
+ "num-integer",
+ "num-traits",
+ "time",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "clap"
+version = "2.34.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
+dependencies = [
+ "ansi_term",
+ "atty",
+ "bitflags 1.3.2",
+ "strsim",
+ "term_size",
+ "textwrap",
+ "unicode-width",
+ "vec_map",
+]
+
+[[package]]
+name = "clicolors-control"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90082ee5dcdd64dc4e9e0d37fbf3ee325419e39c0092191e0393df65518f741e"
+dependencies = [
+ "atty",
+ "lazy_static",
+ "libc",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "cmake"
+version = "0.1.48"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8ad8cef104ac57b68b89df3208164d228503abbdce70f6880ffa3d970e7443a"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "console"
+version = "0.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "45e0f3986890b3acbc782009e2629dfe2baa430ac091519ce3be26164a2ae6c0"
+dependencies = [
+ "clicolors-control",
+ "encode_unicode",
+ "lazy_static",
+ "libc",
+ "regex 1.6.0",
+ "termios",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "criterion"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b01d6de93b2b6c65e17c634a26653a29d107b3c98c607c765bf38d041531cd8f"
+dependencies = [
+ "atty",
+ "cast",
+ "clap",
+ "criterion-plot",
+ "csv",
+ "itertools",
+ "lazy_static",
+ "num-traits",
+ "oorandom",
+ "plotters",
+ "rayon",
+ "regex 1.6.0",
+ "serde",
+ "serde_cbor",
+ "serde_derive",
+ "serde_json",
+ "tinytemplate",
+ "walkdir",
+]
+
+[[package]]
+name = "criterion-plot"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2673cc8207403546f45f5fd319a974b1e6983ad1a3ee7e6041650013be041876"
+dependencies = [
+ "cast",
+ "itertools",
+]
+
+[[package]]
+name = "crossbeam-channel"
+version = "0.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521"
+dependencies = [
+ "cfg-if",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-deque"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc"
+dependencies = [
+ "cfg-if",
+ "crossbeam-epoch",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.9.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "045ebe27666471bb549370b4b0b3e51b07f56325befa4284db65fc89c02511b1"
+dependencies = [
+ "autocfg",
+ "cfg-if",
+ "crossbeam-utils",
+ "memoffset",
+ "once_cell",
+ "scopeguard",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51887d4adc7b564537b15adcfb307936f8075dfcd5f00dde9a9f1d29383682bc"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+]
+
+[[package]]
+name = "csv"
+version = "1.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22813a6dc45b335f9bade10bf7271dc477e81113e89eb251a0bc2a8a81c536e1"
+dependencies = [
+ "bstr",
+ "csv-core",
+ "itoa 0.4.8",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "csv-core"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90"
+dependencies = [
+ "memchr 2.5.0",
+]
+
+[[package]]
+name = "dynasm"
+version = "1.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "add9a102807b524ec050363f09e06f1504214b0e1c7797f64261c891022dce8b"
+dependencies = [
+ "bitflags 1.3.2",
+ "byteorder",
+ "lazy_static",
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "dynasmrt"
+version = "1.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "64fba5a42bd76a17cad4bfa00de168ee1cbfa06a5e8ce992ae880218c05641a9"
+dependencies = [
+ "byteorder",
+ "dynasm",
+ "memmap2",
+]
+
+[[package]]
+name = "either"
+version = "1.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f107b87b6afc2a64fd13cac55fe06d6c8859f12d4b14cbcdd2c67d0976781be"
+
+[[package]]
+name = "encode_unicode"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
+
+[[package]]
+name = "fern"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3bdd7b0849075e79ee9a1836df22c717d1eba30451796fdc631b04565dd11e2a"
+dependencies = [
+ "log",
+]
+
+[[package]]
+name = "funty"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1847abb9cb65d566acd5942e94aea9c8f547ad02c98e1649326fc0e8910b8b1e"
+
+[[package]]
+name = "gcc"
+version = "0.3.55"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2"
+
+[[package]]
+name = "gimli"
+version = "0.26.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d"
+
+[[package]]
+name = "goblin"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "32401e89c6446dcd28185931a01b1093726d0356820ac744023e6850689bf926"
+dependencies = [
+ "log",
+ "plain",
+ "scroll",
+]
+
+[[package]]
+name = "half"
+version = "1.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
+
+[[package]]
+name = "hermit-abi"
+version = "0.1.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "hex"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+
+[[package]]
+name = "hexyl"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f823e021c22ebf3e1437685a9f3ceb2b93adb723e23dca2e4e38b47d3d49e447"
+dependencies = [
+ "ansi_term",
+ "anyhow",
+ "atty",
+ "clap",
+ "libc",
+ "thiserror",
+]
+
+[[package]]
+name = "indoc"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "47741a8bc60fb26eb8d6e0238bbb26d8575ff623fdc97b1a2c00c050b9684ed8"
+dependencies = [
+ "indoc-impl",
+ "proc-macro-hack",
+]
+
+[[package]]
+name = "indoc-impl"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce046d161f000fffde5f432a0d034d0341dc152643b2598ed5bfce44c4f3a8f0"
+dependencies = [
+ "proc-macro-hack",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "unindent",
+]
+
+[[package]]
+name = "inflate"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1cdb29978cc5797bd8dcc8e5bf7de604891df2a8dc576973d71a281e916db2ff"
+dependencies = [
+ "adler32",
+]
+
+[[package]]
+name = "instant"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "itertools"
+version = "0.10.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itoa"
+version = "0.4.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
+
+[[package]]
+name = "itoa"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d"
+
+[[package]]
+name = "js-sys"
+version = "0.3.58"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3fac17f7123a73ca62df411b1bf727ccc805daa070338fda671c86dac1bdc27"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "kernel32-sys"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
+dependencies = [
+ "winapi 0.2.8",
+ "winapi-build",
+]
+
+[[package]]
+name = "lancelot"
+version = "0.7.0"
+dependencies = [
+ "anyhow",
+ "bitflags 1.3.2",
+ "bitvec",
+ "byteorder",
+ "chrono",
+ "criterion",
+ "dynasm",
+ "dynasmrt",
+ "fern",
+ "goblin",
+ "lancelot-flirt",
+ "lazy_static",
+ "log",
+ "regex 1.6.0",
+ "smallvec",
+ "smol_str",
+ "thiserror",
+ "unicorn",
+ "widestring",
+ "zydis",
+]
+
+[[package]]
+name = "lancelot-bin"
+version = "0.7.0"
+dependencies = [
+ "ansi_term",
+ "anyhow",
+ "better-panic",
+ "chrono",
+ "clap",
+ "fern",
+ "goblin",
+ "hex",
+ "hexyl",
+ "lancelot",
+ "lancelot-flirt",
+ "log",
+ "thiserror",
+ "zydis",
+]
+
+[[package]]
+name = "lancelot-flirt"
+version = "0.7.0"
+dependencies = [
+ "anyhow",
+ "better-panic",
+ "bitflags 1.3.2",
+ "bitvec",
+ "chrono",
+ "clap",
+ "criterion",
+ "fern",
+ "inflate",
+ "log",
+ "nom",
+ "regex 1.6.0",
+ "smallvec",
+ "thiserror",
+]
+
+[[package]]
+name = "lazy_static"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+
+[[package]]
+name = "libc"
+version = "0.2.126"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
+
+[[package]]
+name = "libunicorn-sys"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2bf3199986a2161e4b771d09c7ab75d3776769132c78e4bd8c68488125ce2c4b"
+dependencies = [
+ "bitflags 0.8.2",
+ "build-helper",
+ "gcc",
+ "libc",
+ "os_type",
+ "pkg-config",
+]
+
+[[package]]
+name = "lock_api"
+version = "0.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "memchr"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d8b629fb514376c675b98c1421e80b151d3817ac42d7c667717d282761418d20"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "memchr"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+
+[[package]]
+name = "memmap2"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3a79b39c93a7a5a27eeaf9a23b5ff43f1b9e0ad6b1cdd441140ae53c35613fc7"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "memoffset"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "minimal-lexical"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+
+[[package]]
+name = "miniz_oxide"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6f5c75688da582b8ffc1f1799e9db273f32133c49e048f614d22ec3256773ccc"
+dependencies = [
+ "adler",
+]
+
+[[package]]
+name = "nom"
+version = "7.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36"
+dependencies = [
+ "memchr 2.5.0",
+ "minimal-lexical",
+]
+
+[[package]]
+name = "num-integer"
+version = "0.1.45"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+dependencies = [
+ "autocfg",
+ "num-traits",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
+dependencies = [
+ "hermit-abi",
+ "libc",
+]
+
+[[package]]
+name = "object"
+version = "0.29.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53"
+dependencies = [
+ "memchr 2.5.0",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1"
+
+[[package]]
+name = "oorandom"
+version = "11.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
+
+[[package]]
+name = "os_type"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "960e8f383a1428eabebb01f650a03e7d1e5eb645e50f9ae4c26197647dd5e77a"
+dependencies = [
+ "regex 0.1.80",
+]
+
+[[package]]
+name = "parking_lot"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
+dependencies = [
+ "instant",
+ "lock_api",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216"
+dependencies = [
+ "cfg-if",
+ "instant",
+ "libc",
+ "redox_syscall",
+ "smallvec",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "paste"
+version = "0.1.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "45ca20c77d80be666aef2b45486da86238fabe33e38306bd3118fe4af33fa880"
+dependencies = [
+ "paste-impl",
+ "proc-macro-hack",
+]
+
+[[package]]
+name = "paste-impl"
+version = "0.1.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d95a7db200b97ef370c8e6de0088252f7e0dfff7d047a28528e47456c0fc98b6"
+dependencies = [
+ "proc-macro-hack",
+]
+
+[[package]]
+name = "pkg-config"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae"
+
+[[package]]
+name = "plain"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6"
+
+[[package]]
+name = "plotters"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9428003b84df1496fb9d6eeee9c5f8145cb41ca375eb0dad204328888832811f"
+dependencies = [
+ "num-traits",
+ "plotters-backend",
+ "plotters-svg",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
+name = "plotters-backend"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "193228616381fecdc1224c62e96946dfbc73ff4384fba576e052ff8c1bea8142"
+
+[[package]]
+name = "plotters-svg"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e0918736323d1baff32ee0eade54984f6f201ad7e97d5cfb5d6ab4a358529615"
+dependencies = [
+ "plotters-backend",
+]
+
+[[package]]
+name = "proc-macro-error"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
+dependencies = [
+ "proc-macro-error-attr",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro-error-attr"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro-hack"
+version = "0.5.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.41"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cdcc2916cde080c1876ff40292a396541241fe0072ef928cd76582e9ea5d60d2"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "pylancelot"
+version = "0.7.0"
+dependencies = [
+ "anyhow",
+ "lancelot",
+ "pyo3",
+ "zydis",
+]
+
+[[package]]
+name = "pyo3"
+version = "0.15.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d41d50a7271e08c7c8a54cd24af5d62f73ee3a6f6a314215281ebdec421d5752"
+dependencies = [
+ "cfg-if",
+ "indoc",
+ "libc",
+ "parking_lot",
+ "paste",
+ "pyo3-build-config",
+ "pyo3-macros",
+ "unindent",
+]
+
+[[package]]
+name = "pyo3-build-config"
+version = "0.15.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "779239fc40b8e18bc8416d3a37d280ca9b9fb04bda54b98037bb6748595c2410"
+dependencies = [
+ "once_cell",
+]
+
+[[package]]
+name = "pyo3-macros"
+version = "0.15.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "00b247e8c664be87998d8628e86f282c25066165f1f8dda66100c48202fdb93a"
+dependencies = [
+ "pyo3-macros-backend",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "pyo3-macros-backend"
+version = "0.15.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a8c2812c412e00e641d99eeb79dd478317d981d938aa60325dfa7157b607095"
+dependencies = [
+ "proc-macro2",
+ "pyo3-build-config",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "python-flirt"
+version = "0.7.0"
+dependencies = [
+ "anyhow",
+ "lancelot-flirt",
+ "pyo3",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "radium"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "643f8f41a8ebc4c5dc4515c82bb8abd397b527fc20fd681b7c011c2aee5d44fb"
+
+[[package]]
+name = "rayon"
+version = "1.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d"
+dependencies = [
+ "autocfg",
+ "crossbeam-deque",
+ "either",
+ "rayon-core",
+]
+
+[[package]]
+name = "rayon-core"
+version = "1.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f"
+dependencies = [
+ "crossbeam-channel",
+ "crossbeam-deque",
+ "crossbeam-utils",
+ "num_cpus",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "534cfe58d6a18cc17120fbf4635d53d14691c1fe4d951064df9bd326178d7d5a"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "regex"
+version = "0.1.80"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4fd4ace6a8cf7860714a2c2280d6c1f7e6a413486c13298bbc86fd3da019402f"
+dependencies = [
+ "aho-corasick 0.5.3",
+ "memchr 0.1.11",
+ "regex-syntax 0.3.9",
+ "thread_local",
+ "utf8-ranges",
+]
+
+[[package]]
+name = "regex"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b"
+dependencies = [
+ "aho-corasick 0.7.18",
+ "memchr 2.5.0",
+ "regex-syntax 0.6.27",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
+
+[[package]]
+name = "regex-syntax"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9ec002c35e86791825ed294b50008eea9ddfc8def4420124fbc6b08db834957"
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244"
+
+[[package]]
+name = "rustc-demangle"
+version = "0.1.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342"
+
+[[package]]
+name = "ryu"
+version = "1.0.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695"
+
+[[package]]
+name = "same-file"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "scopeguard"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+
+[[package]]
+name = "scroll"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fda28d4b4830b807a8b43f7b0e6b5df875311b3e7621d84577188c175b6ec1ec"
+dependencies = [
+ "scroll_derive",
+]
+
+[[package]]
+name = "scroll_derive"
+version = "0.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aaaae8f38bb311444cfb7f1979af0bc9240d95795f75f9ceddf6a59b79ceffa0"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "semver"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a3186ec9e65071a2095434b1f5bb24838d4e8e130f584c790f6033c79943537"
+dependencies = [
+ "semver-parser",
+]
+
+[[package]]
+name = "semver-parser"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
+
+[[package]]
+name = "serde"
+version = "1.0.140"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc855a42c7967b7c369eb5860f7164ef1f6f81c20c7cc1141f2a604e18723b03"
+
+[[package]]
+name = "serde_cbor"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5"
+dependencies = [
+ "half",
+ "serde",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.140"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6f2122636b9fe3b81f1cb25099fcf2d3f542cdb1d45940d56c713158884a05da"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.82"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "82c2c1fdcd807d1098552c5b9a36e425e42e9fbd7c6a37a8425f390f781f7fa7"
+dependencies = [
+ "itoa 1.0.2",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1"
+
+[[package]]
+name = "smol_str"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7475118a28b7e3a2e157ce0131ba8c5526ea96e90ee601d9f6bb2e286a35ab44"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "strsim"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
+
+[[package]]
+name = "syn"
+version = "1.0.98"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "tap"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
+
+[[package]]
+name = "term_size"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e4129646ca0ed8f45d09b929036bafad5377103edd06e50bf574b353d2b08d9"
+dependencies = [
+ "libc",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "termios"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "411c5bf740737c7918b8b1fe232dca4dc9f8e754b8ad5e20966814001ed0ac6b"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "textwrap"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
+dependencies = [
+ "term_size",
+ "unicode-width",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd829fe32373d27f76265620b5309d0340cb8550f523c1dda251d6298069069a"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0396bc89e626244658bef819e22d0cc459e795a5ebe878e6ec336d1674a8d79a"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "thread-id"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a9539db560102d1cef46b8b78ce737ff0bb64e7e18d35b2a5688f7d097d0ff03"
+dependencies = [
+ "kernel32-sys",
+ "libc",
+]
+
+[[package]]
+name = "thread_local"
+version = "0.2.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8576dbbfcaef9641452d5cf0df9b0e7eeab7694956dd33bb61515fb8f18cfdd5"
+dependencies = [
+ "thread-id",
+]
+
+[[package]]
+name = "time"
+version = "0.1.44"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
+dependencies = [
+ "libc",
+ "wasi",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "tinytemplate"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
+dependencies = [
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "15c61ba63f9235225a22310255a29b806b907c9b8c964bcbd0a2c70f3f2deea7"
+
+[[package]]
+name = "unicode-width"
+version = "0.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
+
+[[package]]
+name = "unicorn"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b44a5d2a8bf4e20647959d44caa769fc6e025d2aeccabf7fa79667b36233e58"
+dependencies = [
+ "bitflags 0.8.2",
+ "gcc",
+ "libc",
+ "libunicorn-sys",
+]
+
+[[package]]
+name = "unindent"
+version = "0.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "52fee519a3e570f7df377a06a1a7775cdbfb7aa460be7e08de2b1f0e69973a44"
+
+[[package]]
+name = "utf8-ranges"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1ca13c08c41c9c3e04224ed9ff80461d97e121589ff27c753a16cb10830ae0f"
+
+[[package]]
+name = "vec_map"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "walkdir"
+version = "2.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56"
+dependencies = [
+ "same-file",
+ "winapi 0.3.9",
+ "winapi-util",
+]
+
+[[package]]
+name = "wasi"
+version = "0.10.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.81"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7c53b543413a17a202f4be280a7e5c62a1c69345f5de525ee64f8cfdbc954994"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.81"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5491a68ab4500fa6b4d726bd67408630c3dbe9c4fe7bda16d5c82a1fd8c7340a"
+dependencies = [
+ "bumpalo",
+ "lazy_static",
+ "log",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.81"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c441e177922bc58f1e12c022624b6216378e5febc2f0533e41ba443d505b80aa"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.81"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d94ac45fcf608c1f45ef53e748d35660f168490c10b23704c7779ab8f5c3048"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.81"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a89911bd99e5f3659ec4acf9c4d93b0a90fe4a2a11f15328472058edc5261be"
+
+[[package]]
+name = "web-sys"
+version = "0.3.58"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2fed94beee57daf8dd7d51f2b15dc2bcde92d7a72304cdf662a4371008b71b90"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "widestring"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "17882f045410753661207383517a6f62ec3dbeb6a4ed2acce01f0728238d1983"
+
+[[package]]
+name = "winapi"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-build"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-util"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+dependencies = [
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "wyz"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "129e027ad65ce1453680623c3fb5163cbf7107bfe1aa32257e7d0e63f9ced188"
+dependencies = [
+ "tap",
+]
+
+[[package]]
+name = "zydis"
+version = "3.1.1"
+source = "git+https://github.com/williballenthin/zydis-rs?branch=fix-26#cc52d4fac3f5534c4834635a452b96995f283e0e"
+dependencies = [
+ "bitflags 1.3.2",
+ "cmake",
+]
diff --git a/pkgs/development/python-modules/python-flirt/default.nix b/pkgs/development/python-modules/python-flirt/default.nix
new file mode 100644
index 00000000000..cbd3de93b6e
--- /dev/null
+++ b/pkgs/development/python-modules/python-flirt/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, rustPlatform
+}:
+
+buildPythonPackage rec {
+  pname = "python-flirt";
+  version = "0.7.0";
+
+  src = fetchFromGitHub {
+    owner = "williballenthin";
+    repo = "lancelot";
+    rev = "v${version}";
+    sha256 = "sha256-FsdnWWfyQte7FDz5ldo+S+3IEtbOIODOeh1fHDP2/4s=";
+  };
+
+  postPatch = ''
+    cp ${./Cargo.lock} Cargo.lock
+  '';
+
+  format = "pyproject";
+
+  nativeBuildInputs = with rustPlatform; [
+    cargoSetupHook
+    maturinBuildHook
+  ];
+
+  buildAndTestSubdir = "pyflirt";
+
+  cargoDeps = rustPlatform.importCargoLock {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "zydis-3.1.1" = "sha256-/L28cBTCg/S7onDQXnqUoB5udoEO/depmxDUcnfIQEw=";
+    };
+  };
+
+  pythonImportsCheck = [ "flirt" ];
+
+  meta = with lib; {
+    description = "Python library for parsing, compiling, and matching Fast Library Identification and Recognition Technology (FLIRT) signatures";
+    homepage = "https://github.com/williballenthin/lancelot/tree/master/pyflirt";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ sbruder ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-gvm/default.nix b/pkgs/development/python-modules/python-gvm/default.nix
index 09678f34b24..cc3d8667073 100644
--- a/pkgs/development/python-modules/python-gvm/default.nix
+++ b/pkgs/development/python-modules/python-gvm/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "python-gvm";
-  version = "22.6.1";
+  version = "22.7.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "greenbone";
     repo = pname;
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-MMVrq0Tbgl1rxPwsXs3BW9Gy+LFv8blxzmefje1qwSo=";
+    sha256 = "sha256-0dshBFcZ0DLa6SXxzWyfzmgPPxTIiKq00OKCJfk0vKY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/python-heatclient/default.nix b/pkgs/development/python-modules/python-heatclient/default.nix
index a8b2d36097e..38daad08bdb 100644
--- a/pkgs/development/python-modules/python-heatclient/default.nix
+++ b/pkgs/development/python-modules/python-heatclient/default.nix
@@ -1,49 +1,51 @@
 { lib
-, buildPythonApplication
-, fetchPypi
-, pbr
 , babel
+, buildPythonApplication
 , cliff
+, fetchPypi
 , iso8601
+, keystoneauth1
 , osc-lib
-, prettytable
 , oslo-i18n
 , oslo-serialization
 , oslo-utils
-, keystoneauth1
+, pbr
+, prettytable
 , python-swiftclient
+, pythonOlder
 , pyyaml
 , requests
-, six
+, requests-mock
 , stestr
 , testscenarios
-, requests-mock
 }:
 
 buildPythonApplication rec {
   pname = "python-heatclient";
   version = "3.0.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-5OLysKbM2GbjMT8lshWDLMtqOrHq2DhhWvbw1oNBNZs=";
+    hash = "sha256-5OLysKbM2GbjMT8lshWDLMtqOrHq2DhhWvbw1oNBNZs=";
   };
 
   propagatedBuildInputs = [
-    pbr
     babel
     cliff
     iso8601
+    keystoneauth1
     osc-lib
-    prettytable
     oslo-i18n
     oslo-serialization
     oslo-utils
-    keystoneauth1
+    pbr
+    prettytable
     python-swiftclient
     pyyaml
     requests
-    six
   ];
 
   checkInputs = [
@@ -55,13 +57,16 @@ buildPythonApplication rec {
   checkPhase = ''
     stestr run -e <(echo "
       heatclient.tests.unit.test_common_http.HttpClientTest.test_get_system_ca_file
+      heatclient.tests.unit.test_deployment_utils.TempURLSignalTest.test_create_temp_url
     ")
   '';
 
-  pythonImportsCheck = [ "heatclient" ];
+  pythonImportsCheck = [
+    "heatclient"
+  ];
 
   meta = with lib; {
-    description = "A client library for Heat built on the Heat orchestration API";
+    description = "Library for Heat built on the Heat orchestration API";
     homepage = "https://github.com/openstack/python-heatclient";
     license = licenses.asl20;
     maintainers = teams.openstack.members;
diff --git a/pkgs/development/python-modules/python-language-server/default.nix b/pkgs/development/python-modules/python-language-server/default.nix
deleted file mode 100644
index e0de396b7c7..00000000000
--- a/pkgs/development/python-modules/python-language-server/default.nix
+++ /dev/null
@@ -1,93 +0,0 @@
-{ lib, buildPythonPackage, fetchFromGitHub, pythonAtLeast, pythonOlder, isPy27
-, backports_functools_lru_cache ? null, configparser ? null, futures ? null, future, jedi, pluggy, python-jsonrpc-server, flake8
-, pytestCheckHook, mock, pytest-cov, coverage, setuptools, ujson, flaky
-, # Allow building a limited set of providers, e.g. ["pycodestyle"].
-  providers ? ["*"]
-  # The following packages are optional and
-  # can be overwritten with null as your liking.
-, autopep8 ? null
-, mccabe ? null
-, pycodestyle ? null
-, pydocstyle ? null
-, pyflakes ? null
-, pylint ? null
-, rope ? null
-, yapf ? null
-}:
-
-let
-  withProvider = p: builtins.elem "*" providers || builtins.elem p providers;
-in
-
-buildPythonPackage rec {
-  pname = "python-language-server";
-  version = "0.36.2";
-  # https://github.com/palantir/python-language-server/issues/896#issuecomment-752790868
-  disabled = pythonAtLeast "3.9";
-
-  src = fetchFromGitHub {
-    owner = "palantir";
-    repo = "python-language-server";
-    rev = version;
-    sha256 = "07x6jr4z20jxn03bxblwc8vk0ywha492cgwfhj7q97nb5cm7kx0q";
-  };
-
-  postPatch = ''
-    # Reading the changelog I don't expect an API break in pycodestyle and pyflakes
-    substituteInPlace setup.py \
-      --replace "pycodestyle>=2.6.0,<2.7.0" "pycodestyle>=2.6.0,<2.8.0" \
-      --replace "jedi>=0.17.2,<0.18.0" "jedi>=0.17.2,<0.19.0" \
-      --replace "pyflakes>=2.2.0,<2.3.0" "pyflakes>=2.2.0,<2.4.0"
-  '';
-
-  propagatedBuildInputs = [ setuptools jedi pluggy future python-jsonrpc-server ujson ]
-    ++ lib.optional (withProvider "autopep8") autopep8
-    ++ lib.optional (withProvider "mccabe") mccabe
-    ++ lib.optional (withProvider "pycodestyle") pycodestyle
-    ++ lib.optional (withProvider "pydocstyle") pydocstyle
-    ++ lib.optional (withProvider "pyflakes") pyflakes
-    ++ lib.optional (withProvider "pylint") pylint
-    ++ lib.optional (withProvider "rope") rope
-    ++ lib.optional (withProvider "yapf") yapf
-    ++ lib.optional isPy27 configparser
-    ++ lib.optionals (pythonOlder "3.2") [ backports_functools_lru_cache futures ];
-
-  # The tests require all the providers, disable otherwise.
-  doCheck = providers == ["*"];
-
-  checkInputs = [
-    pytestCheckHook mock pytest-cov coverage flaky
-    # Do not propagate flake8 or it will enable pyflakes implicitly
-    flake8
-    # rope is technically a dependency, but we don't add it by default since we
-    # already have jedi, which is the preferred option
-    rope
-  ];
-
-  dontUseSetuptoolsCheck = true;
-
-  preCheck = ''
-    export HOME=$TEMPDIR
-  '';
-
-  # Tests failed since update to 0.31.8
-  disabledTests = [
-    "test_pyqt_completion"
-    "test_numpy_completions"
-    "test_pandas_completions"
-    "test_matplotlib_completions"
-    "test_snippet_parsing"
-    "test_numpy_hover"
-    "test_symbols"
-  ] ++ lib.optional isPy27 "test_flake8_lint";
-
-  meta = with lib; {
-    homepage = "https://github.com/palantir/python-language-server";
-    description = "An implementation of the Language Server Protocol for Python";
-    license = licenses.mit;
-    maintainers = [ ];
-    # no longer maintained
-    # see https://github.com/palantir/python-language-server/pull/918#issuecomment-817361554
-    broken = true;
-  };
-}
diff --git a/pkgs/development/python-modules/python-lsp-server/default.nix b/pkgs/development/python-modules/python-lsp-server/default.nix
index 41af2ad8e3e..eafad1a9ab0 100644
--- a/pkgs/development/python-modules/python-lsp-server/default.nix
+++ b/pkgs/development/python-modules/python-lsp-server/default.nix
@@ -23,6 +23,7 @@
 , setuptools-scm
 , stdenv
 , ujson
+, whatthepatch
 , yapf
 , withAutopep8 ? true
 , withFlake8 ? true
@@ -50,7 +51,7 @@ buildPythonPackage rec {
   };
 
   postPatch = ''
-    substituteInPlace setup.cfg \
+    substituteInPlace pyproject.toml \
       --replace "--cov-report html --cov-report term --junitxml=pytest.xml" "" \
       --replace "--cov pylsp --cov test" "" \
       --replace "mccabe>=0.6.0,<0.7.0" "mccabe"
@@ -75,7 +76,7 @@ buildPythonPackage rec {
   ++ lib.optional withPyflakes pyflakes
   ++ lib.optional withPylint pylint
   ++ lib.optional withRope rope
-  ++ lib.optional withYapf yapf;
+  ++ lib.optionals withYapf [ whatthepatch yapf ];
 
   checkInputs = [
     flaky
@@ -87,7 +88,9 @@ buildPythonPackage rec {
   # pyqt5 is broken on aarch64-darwin
   ++ lib.optionals (!stdenv.isDarwin || !stdenv.isAarch64) [ pyqt5 ];
 
-  disabledTests = lib.optional (!withPycodestyle) "test_workspace_loads_pycodestyle_config"
+  disabledTests = [
+    "test_numpy_completions" # https://github.com/python-lsp/python-lsp-server/issues/243
+  ] ++ lib.optional (!withPycodestyle) "test_workspace_loads_pycodestyle_config"
   # pyqt5 is broken on aarch64-darwin
   ++ lib.optional (stdenv.isDarwin && stdenv.isAarch64) "test_pyqt_completion";
 
diff --git a/pkgs/development/python-modules/python-miio/default.nix b/pkgs/development/python-modules/python-miio/default.nix
index 3cbc48c3cd6..d1497c43bcb 100644
--- a/pkgs/development/python-modules/python-miio/default.nix
+++ b/pkgs/development/python-modules/python-miio/default.nix
@@ -10,6 +10,7 @@
 , defusedxml
 , fetchPypi
 , importlib-metadata
+, micloud
 , netifaces
 , poetry-core
 , pytest-mock
@@ -24,14 +25,14 @@
 
 buildPythonPackage rec {
   pname = "python-miio";
-  version = "0.5.11";
+  version = "0.5.12";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-1hC7yE/hGLx9g3NXqU45yC/6dcW6/0oZwgYW5bj/37c=";
+    hash = "sha256-BJw1Gg3FO2R6WWKjkrpxDN4fTMTug5AIj0SNq1gEbBY=";
   };
 
   nativeBuildInputs = [
@@ -47,6 +48,7 @@ buildPythonPackage rec {
     croniter
     cryptography
     defusedxml
+    micloud
     netifaces
     pytz
     pyyaml
diff --git a/pkgs/development/python-modules/python-socketio/default.nix b/pkgs/development/python-modules/python-socketio/default.nix
index 56026e10fe0..a6b2bc0d247 100644
--- a/pkgs/development/python-modules/python-socketio/default.nix
+++ b/pkgs/development/python-modules/python-socketio/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "python-socketio";
-  version = "5.7.0";
+  version = "5.7.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "miguelgrinberg";
     repo = "python-socketio";
     rev = "v${version}";
-    sha256 = "sha256-POYD4w0iBAdaN2L4cpLJz1aCE9J0Iob//VN94/5lJLw=";
+    sha256 = "sha256-KVaBSBWLeFJYiNJYTwoExExUmUaeNJ40c/WTgTc2Y/w=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-telegram/default.nix b/pkgs/development/python-modules/python-telegram/default.nix
new file mode 100644
index 00000000000..0809a739be4
--- /dev/null
+++ b/pkgs/development/python-modules/python-telegram/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, stdenv
+, fetchpatch
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, setuptools
+, tdlib
+}:
+
+buildPythonPackage rec {
+  pname = "python-telegram";
+  version = "0.15.0";
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-Na2NIiVgYexKbEqjN58hfkgxwFdCTL7Z7D3WEhL4wXA=";
+  };
+
+  patches = [
+    # Search for the system library first, and fallback to the embedded one if the system was not found
+    (fetchpatch {
+      url = "https://github.com/alexander-akhmetov/python-telegram/commit/b0af0985910ebb8940cff1b92961387aad683287.patch";
+      sha256 = "sha256-ZqsntaiC2y9l034gXDMeD2BLO/RcsbBII8FomZ65/24=";
+    })
+  ];
+
+  postPatch = ''
+    # Remove bundled libtdjson
+    rm -fr telegram/lib
+
+    substituteInPlace telegram/tdjson.py \
+      --replace "ctypes.util.find_library(\"libtdjson\")" \
+                "\"${tdlib}/lib/libtdjson${stdenv.hostPlatform.extensions.sharedLibrary}\""
+  '';
+
+  propagatedBuildInputs = [
+    setuptools
+  ];
+
+  pythonImportsCheck = [
+    "telegram.client"
+  ];
+
+  meta = with lib; {
+    description = "Python client for the Telegram's tdlib";
+    homepage = "https://github.com/alexander-akhmetov/python-telegram";
+    license = licenses.mit;
+    maintainers = with maintainers; [ sikmir ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytibber/default.nix b/pkgs/development/python-modules/pytibber/default.nix
index b00cc63da1f..8942d44e0ce 100644
--- a/pkgs/development/python-modules/pytibber/default.nix
+++ b/pkgs/development/python-modules/pytibber/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pytibber";
-  version = "0.23.0";
+  version = "0.24.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "Danielhiversen";
     repo = "pyTibber";
     rev = version;
-    hash = "sha256-DMYSv66PVBuOHuIio06OLrtGP0q7PeuDGKK+OznaLec=";
+    hash = "sha256-Ib9Rb6RkhUe4WDDHVLgaOYOleSFj7LFys6pW3WgxMQo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pytorch-metric-learning/default.nix b/pkgs/development/python-modules/pytorch-metric-learning/default.nix
index 24be3f3eb4f..1c6b2d61ecb 100644
--- a/pkgs/development/python-modules/pytorch-metric-learning/default.nix
+++ b/pkgs/development/python-modules/pytorch-metric-learning/default.nix
@@ -8,11 +8,12 @@
 , pytorch
 , torchvision
 , tqdm
+, faiss
 }:
 
 buildPythonPackage rec {
   pname   = "pytorch-metric-learning";
-  version = "1.5.0";
+  version = "1.5.1";
 
   disabled = isPy27;
 
@@ -20,7 +21,7 @@ buildPythonPackage rec {
     owner = "KevinMusgrave";
     repo = pname;
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-ge6y5n1N/+nymgD4La3ger7N4vvcoo1Bxa+etirNFNI=";
+    sha256 = "sha256-d7Ngd4SzGTJXtpgs2Jqb+y1aeMt9YUqIOft5ByDtRsc=";
   };
 
   propagatedBuildInputs = [
@@ -36,14 +37,18 @@ buildPythonPackage rec {
     export TEST_DEVICE=cpu
     export TEST_DTYPES=float32,float64  # half-precision tests fail on CPU
   '';
+
   # package only requires `unittest`, but use `pytest` to exclude tests
-  checkInputs = [ pytestCheckHook ];
+  checkInputs = [
+    faiss
+    pytestCheckHook
+  ];
+
   disabledTests = [
-    # requires FAISS (not in Nixpkgs)
-    "test_accuracy_calculator_and_faiss"
-    "test_global_embedding_space_tester"
-    "test_with_same_parent_label_tester"
+    # TypeError: setup() missing 1 required positional argument: 'world_size'
+    "TestDistributedLossWrapper"
     # require network access:
+    "TestInference"
     "test_get_nearest_neighbors"
     "test_tuplestoweights_sampler"
     "test_untrained_indexer"
@@ -59,6 +64,5 @@ buildPythonPackage rec {
     changelog = "https://github.com/KevinMusgrave/pytorch-metric-learning/releases/tag/v${version}";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ bcdarwin ];
-    broken = true;  # requires faiss which is unpackaged
   };
 }
diff --git a/pkgs/development/python-modules/pytraccar/default.nix b/pkgs/development/python-modules/pytraccar/default.nix
index 9d55594c572..b50d734d01a 100644
--- a/pkgs/development/python-modules/pytraccar/default.nix
+++ b/pkgs/development/python-modules/pytraccar/default.nix
@@ -3,6 +3,8 @@
 , aresponses
 , buildPythonPackage
 , fetchFromGitHub
+, poetry-core
+, pydantic
 , pytestCheckHook
 , pytest-asyncio
 , pythonOlder
@@ -10,8 +12,8 @@
 
 buildPythonPackage rec {
   pname = "pytraccar";
-  version = "0.10.1";
-  format = "setuptools";
+  version = "1.0.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
@@ -19,11 +21,16 @@ buildPythonPackage rec {
     owner = "ludeeus";
     repo = pname;
     rev = version;
-    sha256 = "sha256-fqf7sckvq5GebgpDVVSgwHISu4/wntjc/WF9LFlXN2w=";
+    sha256 = "sha256-ngyLe6sbTTQ7n4WdV06OlQnn/vqkD+JUruyMYS1Ym+Q=";
   };
 
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
   propagatedBuildInputs = [
     aiohttp
+    pydantic
   ];
 
   checkInputs = [
@@ -32,10 +39,14 @@ buildPythonPackage rec {
     pytest-asyncio
   ];
 
+  pytestFlagsArray = [
+    "--asyncio-mode=legacy"
+  ];
+
   postPatch = ''
     # Upstream doesn't set version in the repo
-    substituteInPlace setup.py \
-      --replace 'version="master",' 'version="${version}",'
+    substituteInPlace pyproject.toml \
+      --replace 'version = "0"' 'version = "${version}"'
   '';
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/pyunifiprotect/default.nix b/pkgs/development/python-modules/pyunifiprotect/default.nix
index c63bcbf3996..64fa2d5480f 100644
--- a/pkgs/development/python-modules/pyunifiprotect/default.nix
+++ b/pkgs/development/python-modules/pyunifiprotect/default.nix
@@ -26,7 +26,7 @@
 
 buildPythonPackage rec {
   pname = "pyunifiprotect";
-  version = "4.0.11";
+  version = "4.1.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -35,7 +35,7 @@ buildPythonPackage rec {
     owner = "briis";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-81nottXXenkIPiDnR8O44ELStoh8i2yROYCPvBLiWSU=";
+    hash = "sha256-ID3KSKPtgslS1Z+BZprMcTSQUnQbiHKgGQQipOSER9g=";
   };
 
   propagatedBuildInputs = [
@@ -71,6 +71,8 @@ buildPythonPackage rec {
   postPatch = ''
     substituteInPlace pyproject.toml \
       --replace "--cov=pyunifiprotect --cov-append" ""
+    substituteInPlace setup.cfg \
+      --replace "pydantic!=1.9.1" "pydantic"
   '';
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/pyupgrade/default.nix b/pkgs/development/python-modules/pyupgrade/default.nix
index 4751ded3f39..b8d4fee93c2 100644
--- a/pkgs/development/python-modules/pyupgrade/default.nix
+++ b/pkgs/development/python-modules/pyupgrade/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "pyupgrade";
-  version = "2.37.1";
+  version = "2.37.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "asottile";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-nWiaKfs2eVnwyA+UACcB/OImWSb5Nn6n/8gcGPNevM4=";
+    sha256 = "sha256-woHYMzk1xLDfJ14UycPlbaMG8mHeBixqDvs9vO0TKQI=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/pyvex/default.nix b/pkgs/development/python-modules/pyvex/default.nix
index df881c910ce..6d365ef07b4 100644
--- a/pkgs/development/python-modules/pyvex/default.nix
+++ b/pkgs/development/python-modules/pyvex/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pyvex";
-  version = "9.2.11";
+  version = "9.2.13";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-l2lKmgv6FXayX297TH5gwv7vPLTXAneDdVb+mgTERxc=";
+    hash = "sha256-YW8kfCs9j4Ay0Kw75MFZDp24NZrcmQ+82sOdJdpBsPI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyvips/default.nix b/pkgs/development/python-modules/pyvips/default.nix
index 4742143edad..b9101e9888b 100644
--- a/pkgs/development/python-modules/pyvips/default.nix
+++ b/pkgs/development/python-modules/pyvips/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "pyvips";
-  version = "2.2.0";
+  version = "2.2.1";
 
   src = fetchFromGitHub {
     owner = "libvips";
     repo = "pyvips";
     rev = "v${version}";
-    sha256 = "sha256-qMVoVzqXALhPWVKLzu+VqihHPN7J+pMhKnXdb+ow0zw=";
+    sha256 = "sha256-9S7h3bkm+QP78cpemYS7l3c8t+wXsJ5MUAP2T50R/Mc=";
   };
 
   nativeBuildInputs = [ pkgconfig pkg-config ];
@@ -42,6 +42,6 @@ buildPythonPackage rec {
     description = "A python wrapper for libvips";
     homepage = "https://github.com/libvips/pyvips";
     license = licenses.mit;
-    maintainers = with maintainers; [ ccellado ];
+    maintainers = with maintainers; [ ccellado anthonyroussel ];
   };
 }
diff --git a/pkgs/development/python-modules/qingping-ble/default.nix b/pkgs/development/python-modules/qingping-ble/default.nix
new file mode 100644
index 00000000000..8cbc94a87cf
--- /dev/null
+++ b/pkgs/development/python-modules/qingping-ble/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, bluetooth-sensor-state-data
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pytestCheckHook
+, pythonOlder
+, sensor-state-data
+}:
+
+buildPythonPackage rec {
+  pname = "qingping-ble";
+  version = "0.2.3";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "bluetooth-devices";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-+iUZIsaSYgptHXtNSc9sJiBU8CUEFPDsLVGuFR5WvDw=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    bluetooth-sensor-state-data
+    sensor-state-data
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace " --cov=qingping_ble --cov-report=term-missing:skip-covered" ""
+  '';
+
+  pythonImportsCheck = [
+    "qingping_ble"
+  ];
+
+  meta = with lib; {
+    description = "Library for Qingping BLE devices";
+    homepage = "https://github.com/bluetooth-devices/qingping-ble";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/rapidfuzz/default.nix b/pkgs/development/python-modules/rapidfuzz/default.nix
index 1e0c97079a3..e981ea48524 100644
--- a/pkgs/development/python-modules/rapidfuzz/default.nix
+++ b/pkgs/development/python-modules/rapidfuzz/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "rapidfuzz";
-  version = "2.1.3";
+  version = "2.4.3";
 
   disabled = pythonOlder "3.6";
 
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = "maxbachmann";
     repo = "RapidFuzz";
     rev = "refs/tags/v${version}";
-    hash = "sha256-vK/56+5R6SgDz9DT92PzvDn8cSxSyUiCsV2EOcsGWTA=";
+    hash = "sha256-KKRqSMU1AzXYDB50CBQ1ZcL87KgG2/tL+cmR1jnrTVk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/rcssmin/default.nix b/pkgs/development/python-modules/rcssmin/default.nix
index ab74662e3b4..1d1033944f0 100644
--- a/pkgs/development/python-modules/rcssmin/default.nix
+++ b/pkgs/development/python-modules/rcssmin/default.nix
@@ -1,11 +1,11 @@
 { lib, buildPythonPackage, fetchPypi }:
 buildPythonPackage rec {
   pname = "rcssmin";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "27fc400627fd3d328b7fe95af2a01f5d0af6b5af39731af5d071826a1f08e362";
+    sha256 = "sha256-T5QAtDZtKfX1RG9Y54VJr6gzjmpZdAxzEV6fasQT3GQ=";
   };
 
   # The package does not ship tests, and the setup machinary confuses
diff --git a/pkgs/development/python-modules/rdkit/default.nix b/pkgs/development/python-modules/rdkit/default.nix
index 4916afc5861..2dcb884931d 100644
--- a/pkgs/development/python-modules/rdkit/default.nix
+++ b/pkgs/development/python-modules/rdkit/default.nix
@@ -40,7 +40,7 @@ let
 in
 buildPythonPackage rec {
   pname = "rdkit";
-  version = "2022.03.3";
+  version = "2022.03.4";
 
   src =
     let
@@ -50,7 +50,7 @@ buildPythonPackage rec {
       owner = pname;
       repo = pname;
       rev = "Release_${versionTag}";
-      sha256 = "sha256-YZq1JKDlCQVvjv7+XpEhD/wfFcQ5m3i5VO4rNQ3ONRQ=";
+      sha256 = "13aga2fy1hgldb229n16niv30n3lwlypd7xv16smpbgw0cp1xpp2";
     };
 
   unpackPhase = ''
diff --git a/pkgs/development/python-modules/regenmaschine/default.nix b/pkgs/development/python-modules/regenmaschine/default.nix
index 71b8ecad8eb..e9d504f5bc2 100644
--- a/pkgs/development/python-modules/regenmaschine/default.nix
+++ b/pkgs/development/python-modules/regenmaschine/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "regenmaschine";
-  version = "2022.07.3";
+  version = "2022.08.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-z7FrVnGQjpTjdIX/gatP/ZjzOLaj2D8XsQ+UTYBOHgE=";
+    sha256 = "sha256-JPJ+8h3r1C2fHxVPsQgk0ZuG7VqKfBb4qthAG+GCvcE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/rjsmin/default.nix b/pkgs/development/python-modules/rjsmin/default.nix
index 2dbc72b1d0c..426ec492b04 100644
--- a/pkgs/development/python-modules/rjsmin/default.nix
+++ b/pkgs/development/python-modules/rjsmin/default.nix
@@ -1,11 +1,11 @@
 { lib, buildPythonPackage, fetchPypi }:
 buildPythonPackage rec {
   pname = "rjsmin";
-  version = "1.2.0";
+  version = "1.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6c529feb6c400984452494c52dd9fdf59185afeacca2afc5174a28ab37751a1b";
+    sha256 = "sha256-H5gr6OARQ4d3qUMHJ5tAE0o5NfwPB5MS7imXJbivVBE=";
   };
 
   # The package does not ship tests, and the setup machinary confuses
diff --git a/pkgs/development/python-modules/rstcheck-core/default.nix b/pkgs/development/python-modules/rstcheck-core/default.nix
index a867a943482..b296f5dc168 100644
--- a/pkgs/development/python-modules/rstcheck-core/default.nix
+++ b/pkgs/development/python-modules/rstcheck-core/default.nix
@@ -47,7 +47,8 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace 'types-docutils = ">=0.18, <0.19"' 'types-docutils = ">=0.18"'
+      --replace 'types-docutils = ">=0.18, <0.19"' 'types-docutils = ">=0.18"' \
+      --replace 'docutils = ">=0.7, <0.19"' 'docutils = ">=0.7"'
   '';
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/s3-credentials/default.nix b/pkgs/development/python-modules/s3-credentials/default.nix
index 032d3a5dda2..13431569d50 100644
--- a/pkgs/development/python-modules/s3-credentials/default.nix
+++ b/pkgs/development/python-modules/s3-credentials/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "s3-credentials";
-  version = "0.12";
+  version = "0.12.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "simonw";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-NDUm/RhlmuZwB3fwwom2Y9PcF6J4+G29WHE7lqdDP3Y=";
+    hash = "sha256-w0pwQidSAh/CQPVbv4UocbbETyyOT/rcNFE1ixYz4lY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sagemaker/default.nix b/pkgs/development/python-modules/sagemaker/default.nix
index e2115cb1988..77d4cc5aa28 100644
--- a/pkgs/development/python-modules/sagemaker/default.nix
+++ b/pkgs/development/python-modules/sagemaker/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "sagemaker";
-  version = "2.101.1";
+  version = "2.103.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-f3bmx8iJkTJ6WSl3RkQ19cbOKB4UrhoAP8pEYEtyr74=";
+    hash = "sha256-0iXIUWvoL6+kT+KaJq7yzdEzYA0orKBbQkGAVUYcSKk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sensor-state-data/default.nix b/pkgs/development/python-modules/sensor-state-data/default.nix
new file mode 100644
index 00000000000..ab451315c53
--- /dev/null
+++ b/pkgs/development/python-modules/sensor-state-data/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, home-assistant-bluetooth
+, poetry-core
+, pytestCheckHook
+, pythonOlder
+, sensor-state-data
+}:
+
+buildPythonPackage rec {
+  pname = "sensor-state-data";
+  version = "2.1.2";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "Bluetooth-Devices";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-Z4sHrj0APoCfPhdSKB9guRrPo4TD47+GcQ0KoFgb268=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace " --cov=sensor_state_data --cov-report=term-missing:skip-covered" ""
+  '';
+
+  pythonImportsCheck = [
+    "sensor_state_data"
+  ];
+
+  meta = with lib; {
+    description = "Models for storing and converting Sensor Data state";
+    homepage = "https://github.com/bluetooth-devices/sensor-state-data";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/sensorpush-ble/default.nix b/pkgs/development/python-modules/sensorpush-ble/default.nix
new file mode 100644
index 00000000000..80fcbfa1769
--- /dev/null
+++ b/pkgs/development/python-modules/sensorpush-ble/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, bluetooth-sensor-state-data
+, buildPythonPackage
+, fetchFromGitHub
+, home-assistant-bluetooth
+, poetry-core
+, pytestCheckHook
+, pythonOlder
+, sensor-state-data
+}:
+
+buildPythonPackage rec {
+  pname = "sensorpush-ble";
+  version = "1.5.1";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "Bluetooth-Devices";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-2Q56fXMgw1Al3l6WKI1cdGXfLmZ1qkidkoWKmvEXRaI=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    bluetooth-sensor-state-data
+    home-assistant-bluetooth
+    sensor-state-data
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace " --cov=sensorpush_ble --cov-report=term-missing:skip-covered" ""
+  '';
+
+  pythonImportsCheck = [
+    "sensorpush_ble"
+  ];
+
+  meta = with lib; {
+    description = "Library for SensorPush BLE devices";
+    homepage = "https://github.com/Bluetooth-Devices/sensorpush-ble";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/setuptools-declarative-requirements/default.nix b/pkgs/development/python-modules/setuptools-declarative-requirements/default.nix
index ba6ff1649e6..86d2784beb7 100644
--- a/pkgs/development/python-modules/setuptools-declarative-requirements/default.nix
+++ b/pkgs/development/python-modules/setuptools-declarative-requirements/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "setuptools-declarative-requirements";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1l8zmcnp9h8sp8hsw7b81djaa1a9yig0y7i4phh5pihqz1gdn7yi";
+    sha256 = "sha256-V6W5u5rTUMJ46Kpr5M3rvNklubpx1qcSoXimGM+4mPc=";
   };
 
   buildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/shamir-mnemonic/default.nix b/pkgs/development/python-modules/shamir-mnemonic/default.nix
index e6502a76524..737156ad83f 100644
--- a/pkgs/development/python-modules/shamir-mnemonic/default.nix
+++ b/pkgs/development/python-modules/shamir-mnemonic/default.nix
@@ -35,6 +35,6 @@ buildPythonPackage rec {
     description = "Reference implementation of SLIP-0039";
     homepage = "https://github.com/trezor/python-shamir-mnemonic";
     license = licenses.mit;
-    maintainers = with maintainers; [ _1000101 prusnak ];
+    maintainers = with maintainers; [ prusnak ];
   };
 }
diff --git a/pkgs/development/python-modules/simplisafe-python/default.nix b/pkgs/development/python-modules/simplisafe-python/default.nix
index 62edf7b0fc2..42a9fa1ebf7 100644
--- a/pkgs/development/python-modules/simplisafe-python/default.nix
+++ b/pkgs/development/python-modules/simplisafe-python/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "simplisafe-python";
-  version = "2022.07.0";
+  version = "2022.07.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-v3N2f5B6BrwTb4ik2bME8OLzwsHZ3qWx+Jx1pv7KX8A=";
+    sha256 = "sha256-mbdL1fX86OPMw6I7Lk7NDhm2kE6/iamYbyvYvJrkwLQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/sip/default.nix b/pkgs/development/python-modules/sip/default.nix
index 3566be620e2..68052145766 100644
--- a/pkgs/development/python-modules/sip/default.nix
+++ b/pkgs/development/python-modules/sip/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchPypi, buildPythonPackage, packaging, ply, toml }:
+{ lib, stdenv, fetchPypi, buildPythonPackage, packaging, ply, toml, fetchpatch }:
 
 buildPythonPackage rec {
   pname = "sip";
@@ -15,6 +15,13 @@ buildPythonPackage rec {
     # and PIP will refuse to install the resulting wheel.
     # remove once upstream fixes this, hopefully in 6.5.2
     ./fix-manylinux-version.patch
+
+    # fix issue triggered by QGIS 3.26.x, already fixed upstream
+    # in SIP, waiting for release past 6.6.2
+    (fetchpatch {
+      url = "https://riverbankcomputing.com/hg/sip/raw-diff/323d39a2d602/sipbuild/generator/parser/instantiations.py";
+      hash = "sha256-QEQuRzXA+wK9Dt22U/LgIwtherY9pJURGJYpKpJkiok=";
+    })
   ];
 
   propagatedBuildInputs = [ packaging ply toml ];
diff --git a/pkgs/development/python-modules/sphinx-fortran/default.nix b/pkgs/development/python-modules/sphinx-fortran/default.nix
new file mode 100644
index 00000000000..748e4c6948b
--- /dev/null
+++ b/pkgs/development/python-modules/sphinx-fortran/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, future
+, numpy
+, sphinx
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "sphinx-fortran";
+  version = "unstable-2022-03-02";
+
+  src = fetchFromGitHub {
+    owner = "VACUMM";
+    repo = pname;
+    rev = "394ae990b43ed43fcff8beb048632f5e99794264";
+    sha256 = "sha256-IVKu5u9gqs7/9EZrf4ZYd12K6J31u+/B8kk4+8yfohM=";
+  };
+
+  propagatedBuildInputs = [
+    future
+    numpy
+    sphinx
+    six
+  ];
+
+  pythonImportsCheck = [ "sphinxfortran" ];
+
+  # Tests are failing because reference files are not updated
+  doCheck = false;
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Fortran domain and autodoc extensions to Sphinx";
+    homepage = "http://sphinx-fortran.readthedocs.org/";
+    license = licenses.cecill21;
+    maintainers = with maintainers; [ loicreynier ];
+  };
+}
diff --git a/pkgs/development/python-modules/sphinx_rtd_theme/default.nix b/pkgs/development/python-modules/sphinx-rtd-theme/default.nix
index d0c9a3883af..514ce279fe7 100644
--- a/pkgs/development/python-modules/sphinx_rtd_theme/default.nix
+++ b/pkgs/development/python-modules/sphinx-rtd-theme/default.nix
@@ -8,11 +8,12 @@
 }:
 
 buildPythonPackage rec {
-  pname = "sphinx_rtd_theme";
+  pname = "sphinx-rtd-theme";
   version = "1.0.0";
 
   src = fetchPypi {
-    inherit pname version;
+    pname = "sphinx_rtd_theme";
+    inherit version;
     sha256 = "0p3abj91c3l72ajj5jwblscsdf1jflrnn0djx2h5y6f2wjbx9ipf";
   };
 
diff --git a/pkgs/development/python-modules/sqlmap/default.nix b/pkgs/development/python-modules/sqlmap/default.nix
index 87696e3acd3..d3a8e39d48e 100644
--- a/pkgs/development/python-modules/sqlmap/default.nix
+++ b/pkgs/development/python-modules/sqlmap/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "sqlmap";
-  version = "1.6.7";
+  version = "1.6.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-J0USsiCWaysQOir/wpkw6GT1ILckjK7EUiY541aoahA=";
+    sha256 = "sha256-OWIuYAms4SXQXVr0Wx8y7pne13IBclfq0P3VTy91Kz8=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/ssh-mitm/default.nix b/pkgs/development/python-modules/ssh-mitm/default.nix
index 3e930006289..ea2aa9531c5 100644
--- a/pkgs/development/python-modules/ssh-mitm/default.nix
+++ b/pkgs/development/python-modules/ssh-mitm/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "ssh-mitm";
-  version = "2.0.5";
+  version = "2.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-zLVi+9XvNAfa3fB2GRdNnEPoDY2Wf3XkbQGOT0RNkdQ=";
+    hash = "sha256-DMXzDgSt1p3ZNGrXnSr79KH33SJNN8U4/94Hoz7Rs+I=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/streamz/default.nix b/pkgs/development/python-modules/streamz/default.nix
index 0b2fb134a92..a4fe702c8c5 100644
--- a/pkgs/development/python-modules/streamz/default.nix
+++ b/pkgs/development/python-modules/streamz/default.nix
@@ -20,28 +20,16 @@
 
 buildPythonPackage rec {
   pname = "streamz";
-  version = "0.6.3";
+  version = "0.6.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-0wZ1ldLFRAIL9R+gLfwsFbL+gvdORAkYWNjnDmeafm8=";
+    hash = "sha256-VXfWkEwuxInBQVQJV3IQXgGVRkiBmYfUZCBMbjyWNPM=";
   };
 
-  patches = [
-    # remove with next bump
-    (fetchpatch {
-      name = "fix-tests-against-distributed-2021.10.0.patch";
-      url = "https://github.com/python-streamz/streamz/commit/5bd3bc4d305ff40c740bc2550c8491be9162778a.patch";
-      sha256 = "1xzxcbf7yninkyizrwm3ahqk6ij2fmh0454iqjx2n7mmzx3sazx7";
-      includes = [
-        "streamz/tests/test_dask.py"
-      ];
-    })
-  ];
-
   propagatedBuildInputs = [
     networkx
     six
@@ -65,6 +53,12 @@ buildPythonPackage rec {
   ];
 
   disabledTests = [
+    # Error with distutils version: fixture 'cleanup' not found
+    "test_separate_thread_without_time"
+    "test_await_syntax"
+    "test_partition_then_scatter_sync"
+    "test_sync"
+    "test_sync_2"
     # Test fail in the sandbox
     "test_tcp_async"
     "test_tcp"
diff --git a/pkgs/development/python-modules/stripe/default.nix b/pkgs/development/python-modules/stripe/default.nix
index 0488a4ea950..494338cdde1 100644
--- a/pkgs/development/python-modules/stripe/default.nix
+++ b/pkgs/development/python-modules/stripe/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "stripe";
-  version = "3.5.0";
+  version = "4.0.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-CPdMrmYZ1KfXj4Fi/3K8PpyRP1PsluzV3cfYI8Lnnd0=";
+    hash = "sha256-0IWz6UUKVVCRL0dsbbsrr6Ep5IXiTW9AR8UJT/CNXeI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sunpy/default.nix b/pkgs/development/python-modules/sunpy/default.nix
index cacfad61bbb..aad3afda8ad 100644
--- a/pkgs/development/python-modules/sunpy/default.nix
+++ b/pkgs/development/python-modules/sunpy/default.nix
@@ -31,14 +31,14 @@
 
 buildPythonPackage rec {
   pname = "sunpy";
-  version = "4.0.3";
+  version = "4.0.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Ett9CBubdyKJh9MkwUhQ1kQH6/zBb6Ma0CdEH5Eqcw8=";
+    hash = "sha256-O4VjxcuJVgUjjz3VWyczCjJxvJvAL94MBnGsRn54Ld4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/svglib/default.nix b/pkgs/development/python-modules/svglib/default.nix
index 7f1a8d8facd..97e03ad4b03 100644
--- a/pkgs/development/python-modules/svglib/default.nix
+++ b/pkgs/development/python-modules/svglib/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "svglib";
-  version = "1.3.0";
+  version = "1.4.1";
 
   disabled = pythonOlder "3.7";
 
@@ -20,7 +20,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-o4mYuV0buZVk3J3/rxXk6UU3YfJ5DS3UFHpK1fusEHg=";
+    sha256 = "sha256-SMJHBsI7tCYhc7b6Seq7EK+hW4QS8UKDEgVJUXzPoxQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/tabulate/default.nix b/pkgs/development/python-modules/tabulate/default.nix
index 462782d3b97..34e66833987 100644
--- a/pkgs/development/python-modules/tabulate/default.nix
+++ b/pkgs/development/python-modules/tabulate/default.nix
@@ -20,7 +20,7 @@ buildPythonPackage rec {
 
   meta = {
     description = "Pretty-print tabular data";
-    homepage = "https://bitbucket.org/astanin/python-tabulate";
+    homepage = "https://github.com/astanin/python-tabulate";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ fridh ];
   };
diff --git a/pkgs/development/python-modules/tensorflow/default.nix b/pkgs/development/python-modules/tensorflow/default.nix
index 1b402732f81..338affcbf15 100644
--- a/pkgs/development/python-modules/tensorflow/default.nix
+++ b/pkgs/development/python-modules/tensorflow/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, bazel_4, buildBazelPackage, isPy3k, lib, fetchFromGitHub, symlinkJoin
+{ stdenv, bazel_5, buildBazelPackage, isPy3k, lib, fetchFromGitHub, symlinkJoin
 , addOpenGLRunpath, fetchpatch, patchelfUnstable
 # Python deps
 , buildPythonPackage, pythonOlder, python
@@ -76,7 +76,7 @@ let
 
   tfFeature = x: if x then "1" else "0";
 
-  version = "2.9.1";
+  version = "2.10.0-rc0";
   variant = if cudaSupport then "-gpu" else "";
   pname = "tensorflow${variant}";
 
@@ -184,13 +184,13 @@ let
     stdenv = llvmPackages_11.stdenv;
   })) {
     name = "${pname}-${version}";
-    bazel = bazel_4;
+    bazel = bazel_5;
 
     src = fetchFromGitHub {
       owner = "tensorflow";
       repo = "tensorflow";
       rev = "v${version}";
-      hash = "sha256-kILNvwHi29F8BClYsZw+7RT2t6x57AsAHURVTfs5uOE=";
+      hash = "sha256-zN8I0wxKrxWcI0RuOqDz6srdW0Q+kgaZhJdXM46N1e8=";
     };
 
     # On update, it can be useful to steal the changes from gentoo
@@ -369,12 +369,13 @@ let
     fetchAttrs = {
       # cudaSupport causes fetch of ncclArchive, resulting in different hashes
       sha256 = if cudaSupport then
-        "sha256-mcK60pLz70tOAu1+THUXweiO2SCSFUdFdT91HaUokzA="
+        "sha256-KtVReqHL3zxE8TPrqIerSOt59Mgke/ftoFZKMzgX/u8="
       else
         if stdenv.isDarwin then
-          "sha256-j2k9Q+k41nq5nP1VjjkkNjXRov1uAda4RCMDMAthjrk="
+          # FIXME: this checksum is currently wrong, since the tensorflow dependency fetch is broken on darwin
+          "sha256-j2k9Q+k41nq5nP1VjjkkNjXRov1uAda4RCMDMAthjr0="
         else
-          "sha256-teW6o9Fb4hUxmaHpQU2F+5ihE/DA+MIY8QaMEKMnFiE=";
+          "sha256-zH3xNFEU2JR0Ww8bpD4mCiorGtao0WVPP4vklVMgS4A=";
     };
 
     buildAttrs = {
diff --git a/pkgs/development/python-modules/tensorrt/default.nix b/pkgs/development/python-modules/tensorrt/default.nix
new file mode 100644
index 00000000000..30da346c810
--- /dev/null
+++ b/pkgs/development/python-modules/tensorrt/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, python
+, buildPythonPackage
+, autoPatchelfHook
+, unzip
+, cudaPackages
+}:
+
+let
+  pyVersion = "${lib.versions.major python.version}${lib.versions.minor python.version}";
+in
+buildPythonPackage rec {
+  pname = "tensorrt";
+  version = cudaPackages.tensorrt.version;
+
+  src = cudaPackages.tensorrt.src;
+
+  format = "wheel";
+  # We unpack the wheel ourselves because of the odd packaging.
+  dontUseWheelUnpack = true;
+
+  nativeBuildInputs = [
+    unzip
+    autoPatchelfHook
+    cudaPackages.autoAddOpenGLRunpathHook
+  ];
+
+  preUnpack = ''
+    mkdir -p dist
+    tar --strip-components=2 -xf "$src" --directory=dist \
+      "TensorRT-${version}/python/tensorrt-${version}-cp${pyVersion}-none-linux_x86_64.whl"
+  '';
+
+  sourceRoot = ".";
+
+  buildInputs = [
+    cudaPackages.cudnn
+    cudaPackages.tensorrt
+  ];
+
+  pythonCheckImports = [
+    "tensorrt"
+  ];
+
+  meta = with lib; {
+    description = "Python bindings for TensorRT, a high-performance deep learning interface";
+    homepage = "https://developer.nvidia.com/tensorrt";
+    license = licenses.unfree;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ aidalgol ];
+  };
+}
diff --git a/pkgs/development/python-modules/tesla-wall-connector/default.nix b/pkgs/development/python-modules/tesla-wall-connector/default.nix
index e814f01320e..85cbff5a1d9 100644
--- a/pkgs/development/python-modules/tesla-wall-connector/default.nix
+++ b/pkgs/development/python-modules/tesla-wall-connector/default.nix
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "einarhauks";
     repo = pname;
     rev = version;
-    sha256 = "sha256-JBtlGd9aHY8ikhpJ5v7ZcNu3BfLdBmOBZCMa6C0s6gE=";
+    hash = "sha256-JBtlGd9aHY8ikhpJ5v7ZcNu3BfLdBmOBZCMa6C0s6gE=";
   };
 
   nativeBuildInputs = [
@@ -40,13 +40,17 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'backoff = "^1.11.1"' 'backoff = "*"'
+  '';
 
   pythonImportsCheck = [
     "tesla_wall_connector"
   ];
 
   meta = with lib; {
-    description = "Python library for communicating with a Tesla Wall Connector";
+    description = "Library for communicating with a Tesla Wall Connector";
     homepage = "https://github.com/einarhauks/tesla-wall-connector";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
diff --git a/pkgs/development/python-modules/teslajsonpy/default.nix b/pkgs/development/python-modules/teslajsonpy/default.nix
index 2b074168c59..ebc0f4e6ecd 100644
--- a/pkgs/development/python-modules/teslajsonpy/default.nix
+++ b/pkgs/development/python-modules/teslajsonpy/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "teslajsonpy";
-  version = "2.3.0";
+  version = "2.4.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "zabuldon";
     repo = pname;
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-wAhi8TW0rOeJ3QWjmfLqJ3cKnLZShMekyQ6j7I2uwGY=";
+    sha256 = "sha256-BAayVUmp2dsaWzH8dvTjZCKGnpc6uY6Y/6gWYIgaES8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/tomlkit/default.nix b/pkgs/development/python-modules/tomlkit/default.nix
index 9a9ecba7d0b..6430bef1aa8 100644
--- a/pkgs/development/python-modules/tomlkit/default.nix
+++ b/pkgs/development/python-modules/tomlkit/default.nix
@@ -1,5 +1,11 @@
-{ lib, buildPythonPackage, fetchPypi, isPy27
-, enum34, functools32, typing ? null
+{ lib
+, buildPythonPackage
+, fetchPypi
+, isPy27
+, enum34
+, functools32, typing ? null
+, pytestCheckHook
+, pyaml
 }:
 
 buildPythonPackage rec {
@@ -15,10 +21,12 @@ buildPythonPackage rec {
     lib.optionals isPy27 [ enum34 functools32 ]
     ++ lib.optional isPy27 typing;
 
-  # The Pypi tarball doesn't include tests, and the GitHub source isn't
-  # buildable until we bootstrap poetry, see
-  # https://github.com/NixOS/nixpkgs/pull/53599#discussion_r245855665
-  doCheck = false;
+  checkInputs = [
+    pyaml
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "tomlkit" ];
 
   meta = with lib; {
     homepage = "https://github.com/sdispater/tomlkit";
diff --git a/pkgs/development/python-modules/tpm2-pytss/default.nix b/pkgs/development/python-modules/tpm2-pytss/default.nix
index e3e76da7344..8f8d49d34f1 100644
--- a/pkgs/development/python-modules/tpm2-pytss/default.nix
+++ b/pkgs/development/python-modules/tpm2-pytss/default.nix
@@ -6,11 +6,12 @@
 , cffi
 , cryptography
 , ibm-sw-tpm2
-, pkg-config
-, pkgconfig
+, pkgconfig # see nativeBuildInputs
+, pkg-config # see nativeBuildInputs
 , pycparser
 , pytestCheckHook
 , python
+, pyyaml
 , setuptools-scm
 , tpm2-tss
 }:
@@ -27,9 +28,8 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [
     cffi
-    pkgconfig
-    # somehow propagating from pkgconfig does not work
-    pkg-config
+    pkgconfig # this is the python module
+    pkg-config # this is the actual pkg-config tool
     setuptools-scm
   ];
 
@@ -41,6 +41,7 @@ buildPythonPackage rec {
     cffi
     asn1crypto
     cryptography
+    pyyaml
   ];
 
   # https://github.com/tpm2-software/tpm2-pytss/issues/341
diff --git a/pkgs/development/python-modules/trezor/default.nix b/pkgs/development/python-modules/trezor/default.nix
index bc9c59754d4..b4a2925a415 100644
--- a/pkgs/development/python-modules/trezor/default.nix
+++ b/pkgs/development/python-modules/trezor/default.nix
@@ -80,6 +80,6 @@ buildPythonPackage rec {
     description = "Python library for communicating with Trezor Hardware Wallet";
     homepage = "https://github.com/trezor/trezor-firmware/tree/master/python";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ np prusnak mmahut _1000101 ];
+    maintainers = with maintainers; [ np prusnak mmahut ];
   };
 }
diff --git a/pkgs/development/python-modules/trimesh/default.nix b/pkgs/development/python-modules/trimesh/default.nix
index ef32e540c7f..96ca562dcd8 100644
--- a/pkgs/development/python-modules/trimesh/default.nix
+++ b/pkgs/development/python-modules/trimesh/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "trimesh";
-  version = "3.12.9";
+  version = "3.13.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-rEWMPK07AqFEd/5ax/kIh49QSlbYqjlSxDDS6Q5ZaLU=";
+    sha256 = "sha256-NTHh5kWu3Nri+Yoi9yvkHlWRD3slYraktKfcah7CEY8=";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/pkgs/development/python-modules/tubeup/default.nix b/pkgs/development/python-modules/tubeup/default.nix
index c86f0298d3b..3c6690bd39e 100644
--- a/pkgs/development/python-modules/tubeup/default.nix
+++ b/pkgs/development/python-modules/tubeup/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "tubeup";
-  version = "0.0.32";
+  version = "0.0.33";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-YWBp6qXz4hNTBzywBGTXDQSzbWfoEEvJLQL5wy8DQ1g=";
+    sha256 = "sha256-RFM0vZeA5PDXf9KzlJ8RTSfM7bz50bpwwszU0gjV1DY=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/typer/default.nix b/pkgs/development/python-modules/typer/default.nix
index 460b9bdda06..2019a956ce5 100644
--- a/pkgs/development/python-modules/typer/default.nix
+++ b/pkgs/development/python-modules/typer/default.nix
@@ -50,12 +50,13 @@ buildPythonPackage rec {
     # likely related to https://github.com/sarugaku/shellingham/issues/35
     "test_show_completion"
     "test_install_completion"
+  ] ++ lib.optionals (stdenv.isLinux && stdenv.isAarch64) [
+    "test_install_completion"
   ];
 
   pythonImportsCheck = [ "typer" ];
 
   meta = with lib; {
-    broken = (stdenv.isLinux && stdenv.isAarch64);
     description = "Python library for building CLI applications";
     homepage = "https://typer.tiangolo.com/";
     license = licenses.mit;
diff --git a/pkgs/development/python-modules/types-redis/default.nix b/pkgs/development/python-modules/types-redis/default.nix
index 12de448d854..3ba87956945 100644
--- a/pkgs/development/python-modules/types-redis/default.nix
+++ b/pkgs/development/python-modules/types-redis/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-redis";
-  version = "4.3.13";
+  version = "4.3.14";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-uDNKlqL0MVIb+nIgWzQxKazcWmRv/PswTYChzQ3v9Ug=";
+    sha256 = "sha256-qllV/18QuHqQIcAx6wAqVEpBoKYoAITsB1ioqBKjdcQ=";
   };
 
   # Module doesn't have tests
diff --git a/pkgs/development/python-modules/types-requests/default.nix b/pkgs/development/python-modules/types-requests/default.nix
index a604b3e92ee..f8b663abe6f 100644
--- a/pkgs/development/python-modules/types-requests/default.nix
+++ b/pkgs/development/python-modules/types-requests/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "types-requests";
-  version = "2.28.6";
+  version = "2.28.8";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-zzODu9eTlL8FGgqSAtaDH6li8Yb5I8F498BZ40JL0A4=";
+    sha256 = "sha256-ep97FS1ZShwY3UkyzdJZa4777t/XPKpOSrs3VYBbRoU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/types-setuptools/default.nix b/pkgs/development/python-modules/types-setuptools/default.nix
index d164c58a96f..c8fc89c7c0d 100644
--- a/pkgs/development/python-modules/types-setuptools/default.nix
+++ b/pkgs/development/python-modules/types-setuptools/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-setuptools";
-  version = "63.2.2";
+  version = "64.0.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-qaoMAdXzRDzVRAJtX/yXuV3a33MdqxNBnDk9Q/2GF8A=";
+    sha256 = "sha256-2lPCjSflzIo31PIZ3Da+VZuHnGVkL6ltAXZAJgKxzaM=";
   };
 
   # Module doesn't have tests
diff --git a/pkgs/development/python-modules/types-urllib3/default.nix b/pkgs/development/python-modules/types-urllib3/default.nix
index 6907fb7a62b..b17d83a3519 100644
--- a/pkgs/development/python-modules/types-urllib3/default.nix
+++ b/pkgs/development/python-modules/types-urllib3/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-urllib3";
-  version = "1.26.19";
+  version = "1.26.22";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-RbMHvbc9LqwML7E4bal+UcmufxR07zX2ECTDCEtr83E=";
+    hash = "sha256-sFr5DnOInmiAlACKl8qVeI24vzc24ndv1D+2sXFIXZQ=";
   };
 
   # Module doesn't have tests
diff --git a/pkgs/development/python-modules/validobj/default.nix b/pkgs/development/python-modules/validobj/default.nix
index 2cf21522d4b..3f0f40fc26c 100644
--- a/pkgs/development/python-modules/validobj/default.nix
+++ b/pkgs/development/python-modules/validobj/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "validobj";
-  version = "0.5.1";
+  version = "0.6";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "430b0b56931a2cebdb857a9fe9da2467c06a3b4db37b728e7f1a8706e8887705";
+    sha256 = "sha256-BvnHn0Erk87Ce3tYwYf0tBwRJMrG19Af/Y568VJ02uo=";
   };
 
   nativeBuildInputs = [ flit ];
diff --git a/pkgs/development/python-modules/viv-utils/default.nix b/pkgs/development/python-modules/viv-utils/default.nix
index e94c96f72b0..6b86123ade7 100644
--- a/pkgs/development/python-modules/viv-utils/default.nix
+++ b/pkgs/development/python-modules/viv-utils/default.nix
@@ -1,45 +1,52 @@
 { lib
 , buildPythonPackage
-, isPy3k
 , fetchFromGitHub
 , funcy
+, intervaltree
 , pefile
+, typing-extensions
 , vivisect
-, intervaltree
-, setuptools
+, pytest-sugar
+, pytestCheckHook
+, python-flirt
 }:
 buildPythonPackage rec {
   pname = "viv-utils";
-  version = "0.3.17";
-  disabled = isPy3k;
+  version = "0.7.5";
 
   src = fetchFromGitHub {
     owner = "williballenthin";
     repo = "viv-utils";
     rev = "v${version}";
-    sha256 = "wZWp6PMn1to/jP6lzlY/x0IhS/0w0Ys7AdklNQ+Vmyc=";
+    sha256 = "sha256-JDu+1n1wP2Vsp2V/bKdE+RFp6bE8RNmimi4wdsatwME=";
   };
 
-  # argparse is provided by Python itself
-  preBuild = ''
-    sed '/"argparse",/d' -i setup.py
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "==" ">="
   '';
 
   propagatedBuildInputs = [
     funcy
+    intervaltree
     pefile
+    typing-extensions
     vivisect
-    intervaltree
-    setuptools
   ];
 
-  # no tests
-  doCheck = false;
-
-  pythonImportsCheck = [
-    "viv_utils"
+  checkInputs = [
+    pytest-sugar
+    pytestCheckHook
   ];
 
+  passthru = {
+    optional-dependencies = {
+      flirt = [
+        python-flirt
+      ];
+    };
+  };
+
   meta = with lib; {
     description = "Utilities for working with vivisect";
     homepage = "https://github.com/williballenthin/viv-utils";
diff --git a/pkgs/development/python-modules/volvooncall/default.nix b/pkgs/development/python-modules/volvooncall/default.nix
index 3511d16962e..adb55bd0726 100644
--- a/pkgs/development/python-modules/volvooncall/default.nix
+++ b/pkgs/development/python-modules/volvooncall/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "volvooncall";
-  version = "0.10.0";
+  version = "0.10.1";
 
   disabled = pythonOlder "3.8";
 
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "molobrakos";
     repo = "volvooncall";
     rev = "v${version}";
-    hash = "sha256-HLSanXJs1yPSgYo4oX0zJtrV5sKkxV2yLPhc2dVRHY8=";
+    hash = "sha256-udYvgKj7Rlc/hA86bbeBfnoVRjKkXT4TwpceWz226cU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/weconnect-mqtt/default.nix b/pkgs/development/python-modules/weconnect-mqtt/default.nix
index 916a62c29e9..4cdea86decf 100644
--- a/pkgs/development/python-modules/weconnect-mqtt/default.nix
+++ b/pkgs/development/python-modules/weconnect-mqtt/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "weconnect-mqtt";
-  version = "0.38.2";
+  version = "0.39.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "tillsteinbach";
     repo = "WeConnect-mqtt";
     rev = "refs/tags/v${version}";
-    hash = "sha256-oDf/W8EiU9vg64/FDryp8NEMyDT7lI5nlkxiCAg88pY=";
+    hash = "sha256-4qZWlICqYv8sewDfGbKSBGVVCtF/1BvYPc07gONZz8c=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/weconnect/default.nix b/pkgs/development/python-modules/weconnect/default.nix
index 167a9f8cea5..734f6ed37a4 100644
--- a/pkgs/development/python-modules/weconnect/default.nix
+++ b/pkgs/development/python-modules/weconnect/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "weconnect";
-  version = "0.45.1";
+  version = "0.47.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "tillsteinbach";
     repo = "WeConnect-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-uvo5fwP2VWW+wTV26M604axcpYrtl7Atq2jB7m0VVsM=";
+    hash = "sha256-wQBl8oxU+Dfsgs+udxcb01hquny+AFKnu4J7AULYOdc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/whatthepatch/default.nix b/pkgs/development/python-modules/whatthepatch/default.nix
new file mode 100644
index 00000000000..9244e26520c
--- /dev/null
+++ b/pkgs/development/python-modules/whatthepatch/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "whatthepatch";
+  version = "1.0.2";
+
+  src = fetchFromGitHub {
+    owner = "cscorley";
+    repo = pname;
+    rev = version;
+    hash = "sha256-0l/Ebq7Js9sKFJ/RzkQ1aWEDCxt+COVd2qVnLSWwFx0=";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "whatthepatch" ];
+
+  meta = with lib; {
+    description = "Python library for both parsing and applying patch files";
+    homepage = "https://github.com/cscorley/whatthepatch";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jyooru ];
+  };
+}
diff --git a/pkgs/development/python-modules/whodap/default.nix b/pkgs/development/python-modules/whodap/default.nix
index 8ab9cc6fd9d..fcb4d938934 100644
--- a/pkgs/development/python-modules/whodap/default.nix
+++ b/pkgs/development/python-modules/whodap/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "whodap";
-  version = "0.1.5";
+  version = "0.1.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "pogzyb";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-Jm3+WMGuYc910TNDVzHjYcbNcts668D3xYORXxozWqA=";
+    hash = "sha256-gLA6tT6ZUMjb2ZF5t6DdI5nqiX2Uxatj3ThmQ+VZu9A=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/xapp/default.nix b/pkgs/development/python-modules/xapp/default.nix
index 7cb664d77fc..ba48de4de7e 100644
--- a/pkgs/development/python-modules/xapp/default.nix
+++ b/pkgs/development/python-modules/xapp/default.nix
@@ -5,19 +5,19 @@
 , pygobject3
 , gtk3
 , gobject-introspection
-, xapps
+, xapp
 , polkit
 }:
 
 buildPythonPackage rec {
   pname = "xapp";
-  version = "2.2.1";
+  version = "2.2.2";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "python-xapp";
     rev = version;
-    hash = "sha256-UC+0nbf+SRQsF5R0LcrPpmNbaoRM14DC82JccSpsKsY=";
+    hash = "sha256-ntjJ/O6HiRZMsqsuQY4HLM4fBE0aWpn/L4n5YCRlhhg=";
   };
 
   propagatedBuildInputs = [
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     pygobject3
     gtk3
     gobject-introspection
-    xapps
+    xapp
     polkit
   ];
 
diff --git a/pkgs/development/python-modules/xiaomi-ble/default.nix b/pkgs/development/python-modules/xiaomi-ble/default.nix
new file mode 100644
index 00000000000..7d13d6d3a6d
--- /dev/null
+++ b/pkgs/development/python-modules/xiaomi-ble/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, bleak-retry-connector
+, bluetooth-sensor-state-data
+, buildPythonPackage
+, fetchFromGitHub
+, home-assistant-bluetooth
+, poetry-core
+, pycryptodomex
+, pytestCheckHook
+, pythonOlder
+, sensor-state-data
+}:
+
+buildPythonPackage rec {
+  pname = "xiaomi-ble";
+  version = "0.8.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "Bluetooth-Devices";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-HwA2NKsrqXBsC5/rUZUNfHDk8QA7I+zQmwqt0SVhw38=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    bleak-retry-connector
+    bluetooth-sensor-state-data
+    home-assistant-bluetooth
+    pycryptodomex
+    sensor-state-data
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace " --cov=xiaomi_ble --cov-report=term-missing:skip-covered" ""
+  '';
+
+  pythonImportsCheck = [
+    "xiaomi_ble"
+  ];
+
+  meta = with lib; {
+    description = "Library for Xiaomi BLE devices";
+    homepage = "https://github.com/Bluetooth-Devices/xiaomi-ble";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/xknx/default.nix b/pkgs/development/python-modules/xknx/default.nix
index f5fb49daabd..8a9ec6f0c56 100644
--- a/pkgs/development/python-modules/xknx/default.nix
+++ b/pkgs/development/python-modules/xknx/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "xknx";
-  version = "0.21.5";
+  version = "0.22.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "XKNX";
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-rtR77b4/cgDA6rf/Q+ecuKI5bl7N4YMim8TeQ7ovKhI=";
+    sha256 = "sha256-CQX6dd/taVyqLKMzhFJxmYjbpZQIHYD+Nps1WyGqqnw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/xml2rfc/default.nix b/pkgs/development/python-modules/xml2rfc/default.nix
index 61e6d877eb6..06c494d76d4 100644
--- a/pkgs/development/python-modules/xml2rfc/default.nix
+++ b/pkgs/development/python-modules/xml2rfc/default.nix
@@ -26,7 +26,7 @@
 
 buildPythonPackage rec {
   pname = "xml2rfc";
-  version = "3.13.1";
+  version = "3.14.0";
 
   disabled = pythonOlder "3.6";
 
@@ -34,7 +34,7 @@ buildPythonPackage rec {
     owner = "ietf-tools";
     repo = "xml2rfc";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-DRHhcMPLBr1SM6e3BCB8gfvadd8CeMIOsPT+uzcET+4=";
+    sha256 = "sha256-BuOHQ6LnfjdlE9+wdJbl6wdD/oddKIklabVBx1IJJBA=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/xsdata/default.nix b/pkgs/development/python-modules/xsdata/default.nix
index 280cead6d2e..fbc621a5969 100644
--- a/pkgs/development/python-modules/xsdata/default.nix
+++ b/pkgs/development/python-modules/xsdata/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "xsdata";
-  version = "22.5";
+  version = "22.7";
 
   disabled = pythonOlder "3.6";
 
@@ -22,7 +22,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "701dcda5a4a07df3a642f8fb6f73f0e2e18224d359bcb7f4212b3c29d7af72c2";
+    sha256 = "sha256-2EpbTNYdjcHOQQqe+bEpMzGxD2Jh34P+eI+uK4SJPdo=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/yalexs-ble/default.nix b/pkgs/development/python-modules/yalexs-ble/default.nix
new file mode 100644
index 00000000000..992bebc66f0
--- /dev/null
+++ b/pkgs/development/python-modules/yalexs-ble/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, async-timeout
+, bleak
+, bleak-retry-connector
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pycryptodome
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "yalexs-ble";
+  version = "1.3.1";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "bdraco";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-YBFO9DnvcFf1iXnsMW3COn2qWs9PrD3kjQDz08WU1xQ=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    async-timeout
+    bleak
+    bleak-retry-connector
+    pycryptodome
+  ];
+
+  checkInputs = [
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace " --cov=yalexs_ble --cov-report=term-missing:skip-covered" ""
+  '';
+
+  pythonImportsCheck = [
+    "yalexs_ble"
+  ];
+
+  meta = with lib; {
+    description = "Library for Yale BLE devices";
+    homepage = "https://github.com/bdraco/yalexs-ble";
+    license = with licenses; [ gpl3Only ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/yalexs/default.nix b/pkgs/development/python-modules/yalexs/default.nix
index 3e93a01b57b..8a320eb103a 100644
--- a/pkgs/development/python-modules/yalexs/default.nix
+++ b/pkgs/development/python-modules/yalexs/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "yalexs";
-  version = "1.1.25";
+  version = "1.2.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "bdraco";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-O7M9Shh8jp2fTaVQPM8mgh1pkv75wn22PFpxJVenbAo=";
+    sha256 = "sha256-7+4Icg3E6xrWmxObNzNuDc+MXJ9rnbgBHMK4uPBJeuY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/yappi/default.nix b/pkgs/development/python-modules/yappi/default.nix
index 2763055a0eb..ed60315a8b1 100644
--- a/pkgs/development/python-modules/yappi/default.nix
+++ b/pkgs/development/python-modules/yappi/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "yappi";
-  version = "1.3.5";
+  version = "1.3.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "sumerc";
     repo = pname;
     rev = version;
-    hash = "sha256-XxUAYrDQAY7fD9yTSmoRUmWJEs+L6KSQ0/bIVf/o9ag=";
+    hash = "sha256-MfvaLWw7EhfzFx4aZdRWvQVOOcvZ1Mt7EgxyB2nDB2c=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/yara-python/default.nix b/pkgs/development/python-modules/yara-python/default.nix
index 8d5892979e1..e9774ae85dd 100644
--- a/pkgs/development/python-modules/yara-python/default.nix
+++ b/pkgs/development/python-modules/yara-python/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "yara-python";
-  version = "4.2.0";
+  version = "4.2.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "VirusTotal";
     repo = "yara-python";
     rev = "v${version}";
-    hash = "sha256-jNxYuIddMzANZoQ0p7BbRrX6ISpaCA7T6j+iS+FOocg=";
+    hash = "sha256-spUQuezQMqaG1hboM0/Gs7siCM6x0b40O+sV7qGGBng=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/zadnegoale/default.nix b/pkgs/development/python-modules/zadnegoale/default.nix
new file mode 100644
index 00000000000..7d47cb347c8
--- /dev/null
+++ b/pkgs/development/python-modules/zadnegoale/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, aiohttp
+, aioresponses
+, buildPythonPackage
+, fetchFromGitHub
+, dacite
+, orjson
+, pytest-asyncio
+, pytest-error-for-skips
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "zadnegoale";
+  version = "0.6.5";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "bieniu";
+    repo = pname;
+    rev = "refs/tags/${version}";
+    hash = "sha256-ubBN4jvueNgReNbS+RXNDNHID0MF/rvQnb0+F4/DZaU=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    dacite
+    orjson
+  ];
+
+  checkInputs = [
+    aioresponses
+    pytest-asyncio
+    pytest-error-for-skips
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "zadnegoale"
+  ];
+
+  meta = with lib; {
+    description = "Python wrapper for getting allergen concentration data from Żadnego Ale servers";
+    homepage = "https://github.com/bieniu/zadnegoale";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/zeroc-ice/default.nix b/pkgs/development/python-modules/zeroc-ice/default.nix
index ba50e19a4d4..1c015d4d75a 100644
--- a/pkgs/development/python-modules/zeroc-ice/default.nix
+++ b/pkgs/development/python-modules/zeroc-ice/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "zeroc-ice";
-  version = "3.7.7";
+  version = "3.7.8";
 
   src = fetchPypi {
     inherit version pname;
-    sha256 = "415f4a673009fe9a5ef67b61c4469ddf14b73857b6d40f02d6b74f02ad935147";
+    sha256 = "sha256-kodRHIkMXdFUBGNVRtSyjbVqGQRxPaHqgp6ddFT5ZIY=";
   };
 
   buildInputs = [ openssl bzip2 ];
diff --git a/pkgs/development/python-modules/zeroconf/default.nix b/pkgs/development/python-modules/zeroconf/default.nix
index 7c87b09c3bf..4373d9a2d06 100644
--- a/pkgs/development/python-modules/zeroconf/default.nix
+++ b/pkgs/development/python-modules/zeroconf/default.nix
@@ -1,5 +1,6 @@
-{ stdenv
-, lib
+{ lib
+, stdenv
+, async-timeout
 , buildPythonPackage
 , fetchFromGitHub
 , ifaddr
@@ -10,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "zeroconf";
-  version = "0.38.7";
+  version = "0.39.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,10 +20,11 @@ buildPythonPackage rec {
     owner = "jstasiak";
     repo = "python-zeroconf";
     rev = version;
-    hash = "sha256-Q/rrN7xzbehwMa3yFVP5F9ztUcJCDsfBIGf0b/GPzLM=";
+    hash = "sha256-R6q5fq8P91q+qhy+lOCuoKUMFBvkKFsKLVCoqIy7Qpk=";
   };
 
   propagatedBuildInputs = [
+    async-timeout
     ifaddr
   ];
 
@@ -39,7 +41,7 @@ buildPythonPackage rec {
     "test_launch_and_close_v4_v6"
     "test_launch_and_close_v6_only"
     "test_integration_with_listener_ipv6"
-    # Starting with 0.38.7: AssertionError: assert [('add', '_ht..._tcp.local.')]
+    # Starting with 0.39.0: AssertionError: assert [('add', '_ht..._tcp.local.')]
     "test_service_browser_expire_callbacks"
   ] ++ lib.optionals stdenv.isDarwin [
     "test_lots_of_names"
diff --git a/pkgs/development/python-modules/zha-quirks/default.nix b/pkgs/development/python-modules/zha-quirks/default.nix
index 033c9937fa1..487ff10adab 100644
--- a/pkgs/development/python-modules/zha-quirks/default.nix
+++ b/pkgs/development/python-modules/zha-quirks/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "zha-quirks";
-  version = "0.0.77";
+  version = "0.0.78";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = "zha-device-handlers";
     rev = "refs/tags/${version}";
-    hash = "sha256-z/DLMTN0VsKore4crzbyvMhyG7O4bicC9XPbeGNf74M=";
+    hash = "sha256-S54reJhzvDMOC5+N/WZ8bz8XNXH/91jAAy8gCq90MvQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/zigpy-zigate/default.nix b/pkgs/development/python-modules/zigpy-zigate/default.nix
index 83a7c4174d1..163ef44f0d1 100644
--- a/pkgs/development/python-modules/zigpy-zigate/default.nix
+++ b/pkgs/development/python-modules/zigpy-zigate/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, gpiozero
 , mock
 , pyserial
 , pyserial-asyncio
@@ -13,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "zigpy-zigate";
-  version = "0.9.0";
+  version = "0.9.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -21,11 +22,12 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "zigpy";
     repo = "zigpy-zigate";
-    rev = "v${version}";
-    hash = "sha256-rFmcgfn87XS1fvbSdJG6pItXRMkeogp4faKMe7pCxkM=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-H1R+wNUo/J5ATINHrkC4mJ8KKnBxVZUvF6X7y54aiVQ=";
   };
 
   propagatedBuildInputs = [
+    gpiozero
     pyserial
     pyserial-asyncio
     pyusb
diff --git a/pkgs/development/python-modules/zigpy/default.nix b/pkgs/development/python-modules/zigpy/default.nix
index 65532ed23c4..43cf5d59f81 100644
--- a/pkgs/development/python-modules/zigpy/default.nix
+++ b/pkgs/development/python-modules/zigpy/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "zigpy";
-  version = "0.48.0";
+  version = "0.49.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = "zigpy";
     rev = "refs/tags/${version}";
-    sha256 = "sha256-usO5d2JLZ7tochQXmxEfRgxaW1KJew3RVbfWnew+bP4=";
+    sha256 = "sha256-mCqRqi7AUsrvfSOHyfK+WVj/4D7/4RDOYFWveS+tS/A=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/quickemu/default.nix b/pkgs/development/quickemu/default.nix
index aaffcbc23f0..c2f360fc0cf 100644
--- a/pkgs/development/quickemu/default.nix
+++ b/pkgs/development/quickemu/default.nix
@@ -43,13 +43,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "quickemu";
-  version = "3.16";
+  version = "4.0";
 
   src = fetchFromGitHub {
     owner = "quickemu-project";
     repo = "quickemu";
     rev = version;
-    sha256 = "sha256-vzgCPpr0ThDXOkvaOcbyvNkJvvoFpDnx68f1Y8sWUcc=";
+    sha256 = "sha256-CiCQg1UsSAwlEnZEmzU2ynn2RZ+wXPv9FV1b9GVkc00=";
   };
 
   patches = [
diff --git a/pkgs/development/ruby-modules/bundled-common/default.nix b/pkgs/development/ruby-modules/bundled-common/default.nix
index 7bad0b442da..9d01e453115 100644
--- a/pkgs/development/ruby-modules/bundled-common/default.nix
+++ b/pkgs/development/ruby-modules/bundled-common/default.nix
@@ -21,6 +21,7 @@
 , groups ? null
 , ignoreCollisions ? false
 , buildInputs ? []
+, extraConfigPaths ? []
 , ...
 }@args:
 
@@ -83,6 +84,8 @@ let
     ${maybeCopyAll mainGemName}
     cp ${gemFiles.gemfile} $out/Gemfile || ls -l $out/Gemfile
     cp ${gemFiles.lockfile} $out/Gemfile.lock || ls -l $out/Gemfile.lock
+
+    ${lib.concatMapStringsSep "\n" (path: "cp -r ${path} $out/") extraConfigPaths}
   '';
 
   buildGem = name: attrs: (
diff --git a/pkgs/development/ruby-modules/bundler/default.nix b/pkgs/development/ruby-modules/bundler/default.nix
index 584a13623ba..04f97c68c6a 100644
--- a/pkgs/development/ruby-modules/bundler/default.nix
+++ b/pkgs/development/ruby-modules/bundler/default.nix
@@ -4,8 +4,8 @@ buildRubyGem rec {
   inherit ruby;
   name = "${gemName}-${version}";
   gemName = "bundler";
-  version = "2.3.9";
-  source.sha256 = "sha256-VZiKuSDP3sSoBXUPcPmwHR/GbZs47NIF+ZlXtHSZWzg=";
+  version = "2.3.20";
+  source.sha256 = "sha256-gJJ3vHzrJo6XpHS1iwLb77jd9ZB39GGLcOJQSrgaBHw=";
   dontPatchShebangs = true;
 
   postFixup = ''
diff --git a/pkgs/development/tools/allure/default.nix b/pkgs/development/tools/allure/default.nix
index a85de41c249..2c2f0f6053e 100644
--- a/pkgs/development/tools/allure/default.nix
+++ b/pkgs/development/tools/allure/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "allure";
-  version = "2.18.1";
+  version = "2.19.0";
 in
 stdenv.mkDerivation rec {
   inherit pname version;
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/allure-framework/allure2/releases/download/${version}/allure-${version}.tgz";
-    sha256 = "sha256-6psHHmU9TN0iugmPErdeLHevm+T2/3IJIp7kMdUSFd8=";
+    sha256 = "sha256-WjyCU9z+szSeGbnsTTZGq8UFUpmrMPW+pTZPMk1ZC+s=";
   };
   dontConfigure = true;
   dontBuild = true;
diff --git a/pkgs/development/tools/ameba/default.nix b/pkgs/development/tools/ameba/default.nix
index 24760051b28..4239f5c0056 100644
--- a/pkgs/development/tools/ameba/default.nix
+++ b/pkgs/development/tools/ameba/default.nix
@@ -2,15 +2,17 @@
 
 crystal.buildCrystalPackage rec {
   pname = "ameba";
-  version = "0.14.3";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "crystal-ameba";
     repo = "ameba";
     rev = "v${version}";
-    sha256 = "sha256-oZdaHV+vnYUiCXNMrSuHvZzDYDgFZsoD715DE3tJ2bE=";
+    hash = "sha256-dvhGk6IbSV3pxtoIV7+0+qf47hz2TooPhsSwFd2+xkw=";
   };
 
+  format = "make";
+
   meta = with lib; {
     description = "A static code analysis tool for Crystal";
     homepage = "https://crystal-ameba.github.io";
diff --git a/pkgs/development/tools/analysis/pmd/default.nix b/pkgs/development/tools/analysis/pmd/default.nix
index 503d5c63049..25259ae64cd 100644
--- a/pkgs/development/tools/analysis/pmd/default.nix
+++ b/pkgs/development/tools/analysis/pmd/default.nix
@@ -2,20 +2,32 @@
 
 stdenv.mkDerivation rec {
   pname = "pmd";
-  version = "6.43.0";
+  version = "6.47.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/pmd/pmd-bin-${version}.zip";
-    sha256 = "sha256-+eJCN890vm4WBcMZ2VCGOS8WUyIckL+DfQVNaUSovGE=";
+    url = "https://github.com/pmd/pmd/releases/download/pmd_releases/${version}/pmd-bin-${version}.zip";
+    hash = "sha256-0rOV6l5VCdBkk5+F/k2vYtHQWzwugvp3ogaTRuXUKXE=";
   };
 
   nativeBuildInputs = [ unzip makeWrapper ];
 
+  dontConfigure = true;
+  dontBuild = true;
+
   installPhase = ''
     runHook preInstall
-    mkdir -p $out
-    cp -R {bin,lib} $out
-    wrapProgram $out/bin/run.sh --prefix PATH : ${openjdk.jre}/bin
+
+    install -Dm755 bin/run.sh $out/libexec/pmd
+    install -Dm644 lib/*.jar -t $out/lib/pmd
+
+    wrapProgram $out/libexec/pmd \
+        --prefix PATH : ${openjdk.jre}/bin \
+        --set LIB_DIR $out/lib/pmd
+
+    for app in pmd cpd cpdgui designer bgastviewer designerold ast-dump; do
+        makeWrapper $out/libexec/pmd $out/bin/$app --argv0 $app --add-flags $app
+    done
+
     runHook postInstall
   '';
 
diff --git a/pkgs/development/tools/analysis/randoop/default.nix b/pkgs/development/tools/analysis/randoop/default.nix
index 66258d00935..6c37a5dca42 100644
--- a/pkgs/development/tools/analysis/randoop/default.nix
+++ b/pkgs/development/tools/analysis/randoop/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation rec {
-  version = "4.3.0";
+  version = "4.3.1";
   pname = "randoop";
 
   src = fetchurl {
     url = "https://github.com/randoop/randoop/releases/download/v${version}/${pname}-${version}.zip";
-    sha256 = "sha256-3svBmXcRvscaK8YD4qm/geQSJ6cAm0en/d7H09h41PQ=";
+    sha256 = "sha256-GWg3W/jjDKH6BcvjGt215J03NiDVWihU/m+2kejPVPA=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/development/tools/analysis/tflint/default.nix b/pkgs/development/tools/analysis/tflint/default.nix
index 662e58fba75..3dae56b4cde 100644
--- a/pkgs/development/tools/analysis/tflint/default.nix
+++ b/pkgs/development/tools/analysis/tflint/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "tflint";
-  version = "0.39.1";
+  version = "0.39.3";
 
   src = fetchFromGitHub {
     owner = "terraform-linters";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ELf1keTf/iznOBZNvyliAH/4UQo5w8CNEJNf0Z6eDV8=";
+    sha256 = "sha256-AjNWVo81oYvlrfKERJhIXsv/WPpusuqVd1nvvsAgbbE=";
   };
 
   vendorSha256 = "sha256-6sk1bFuSCrKt9uMrrwOpX/SBZrjFvtqVPFylbRNHpz4=";
diff --git a/pkgs/development/tools/avro-tools/default.nix b/pkgs/development/tools/avro-tools/default.nix
index b3cbf9329b8..59ea3f5b15e 100644
--- a/pkgs/development/tools/avro-tools/default.nix
+++ b/pkgs/development/tools/avro-tools/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "avro-tools";
-  version = "1.11.0";
+  version = "1.11.1";
 
   src = fetchurl {
     url =
     "mirror://maven/org/apache/avro/avro-tools/${version}/${pname}-${version}.jar";
-    sha256 = "sha256-XnfvND5WPojzIS8t0ntwn+3+Zjz9ABEUK2FO6aD4ulw=";
+    sha256 = "sha256-uVTnWXbCS3JQkHWxopixhNue/ihzvukJ0CNDL5gm24g=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/tools/build-managers/bmake/default.nix b/pkgs/development/tools/build-managers/bmake/default.nix
index d577b62a193..e7c38c1b023 100644
--- a/pkgs/development/tools/build-managers/bmake/default.nix
+++ b/pkgs/development/tools/build-managers/bmake/default.nix
@@ -8,13 +8,13 @@
 , pkgsMusl # for passthru.tests
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "bmake";
-  version = "20220208";
+  version = "20220726";
 
   src = fetchurl {
-    url = "http://www.crufty.net/ftp/pub/sjg/${pname}-${version}.tar.gz";
-    hash = "sha256-ewDB4UYrLh5Upk2ND88n/HfursPxOSDv+NlST/BZ1to=";
+    url = "http://www.crufty.net/ftp/pub/sjg/${finalAttrs.pname}-${finalAttrs.version}.tar.gz";
+    hash = "sha256-G/N3B4lyJyHcp7C/+K/EqVINog8CGbt7xSNQrwEz8KA=";
   };
 
   # Make tests work with musl
@@ -60,10 +60,15 @@ stdenv.mkDerivation rec {
   ];
 
   # Disabled tests:
+  # opt-chdir: ofborg complains about it somehow
+  # opt-keep-going-indirect: not yet known
   # varmod-localtime: musl doesn't support TZDIR and this test relies on impure,
   # implicit paths
-  # opt-chdir: ofborg complains about it somehow
-  BROKEN_TESTS = "varmod-localtime opt-chdir";
+  BROKEN_TESTS = builtins.concatStringsSep " " [
+    "opt-chdir"
+    "opt-keep-going-indirect"
+    "varmod-localtime"
+  ];
 
   buildPhase = ''
     runHook preBuild
@@ -105,9 +110,8 @@ stdenv.mkDerivation rec {
     license = licenses.bsd3;
     maintainers = with maintainers; [ thoughtpolice AndersonTorres ];
     platforms = platforms.unix;
-    broken = stdenv.isAarch64; # ofborg complains
   };
 
   passthru.tests.bmakeMusl = pkgsMusl.bmake;
-}
+})
 # TODO: report the quirks and patches to bmake devteam (especially the Musl one)
diff --git a/pkgs/development/tools/build-managers/qbs/default.nix b/pkgs/development/tools/build-managers/qbs/default.nix
index 14d9f146651..ad792a17913 100644
--- a/pkgs/development/tools/build-managers/qbs/default.nix
+++ b/pkgs/development/tools/build-managers/qbs/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
   pname = "qbs";
 
-  version = "1.22.0";
+  version = "1.23.0";
 
   src = fetchFromGitHub {
     owner = "qbs";
     repo = "qbs";
     rev = "v${version}";
-    sha256 = "sha256-gFPcT/TNsKEUNzkJVaXHCGNmhQ0dV1/NYgQQInYrcNI=";
+    sha256 = "sha256-F8dfSMim4OVGjBEGtIA4bGTNSLwZSwpHWI0J2e7pKCw=";
   };
 
   nativeBuildInputs = [ qmake ];
diff --git a/pkgs/development/tools/build-managers/sbt/default.nix b/pkgs/development/tools/build-managers/sbt/default.nix
index 19a72b70f9d..782b2007d13 100644
--- a/pkgs/development/tools/build-managers/sbt/default.nix
+++ b/pkgs/development/tools/build-managers/sbt/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "sbt";
-  version = "1.6.2";
+  version = "1.7.1";
 
   src = fetchurl {
     url = "https://github.com/sbt/sbt/releases/download/v${version}/sbt-${version}.tgz";
-    sha256 = "sha256-Y3Y3tsTm+gSrYs02QGHjKxJICwkAHNIzA99is2+t1EA=";
+    sha256 = "sha256-ihg6/bNRkpDd4vjIHJsrrRnd14c17zEftfub3PaNP+Q=";
   };
 
   postPatch = ''
@@ -21,7 +21,10 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = lib.optionals stdenv.isLinux [ autoPatchelfHook ];
 
-  buildInputs = lib.optionals stdenv.isLinux [ zlib ];
+  buildInputs = lib.optionals stdenv.isLinux [
+    stdenv.cc.cc # libstdc++.so.6
+    zlib
+  ];
 
   installPhase = ''
     runHook preInstall
diff --git a/pkgs/development/tools/build-managers/scala-cli/sources.json b/pkgs/development/tools/build-managers/scala-cli/sources.json
index 7f4c2b12165..2c2c5982559 100644
--- a/pkgs/development/tools/build-managers/scala-cli/sources.json
+++ b/pkgs/development/tools/build-managers/scala-cli/sources.json
@@ -1,13 +1,13 @@
 {
-  "version": "0.1.10",
+  "version": "0.1.11",
   "assets": {
     "x86_64-darwin": {
       "asset": "scala-cli-x86_64-apple-darwin.gz",
-      "sha256": "1dqvvdwmakdbbq02h33impv84jzks6ba33jgaf2py4rri6hr84rg"
+      "sha256": "1s87knvvxbsikxbiza3hybykp437ba5j1amymlis20yf826k5sh7"
     },
     "x86_64-linux": {
       "asset": "scala-cli-x86_64-pc-linux.gz",
-      "sha256": "0wjqrkmhk1pjf02c44nffbcgsdq5x9sswjwjfvcs33qpvc712f30"
+      "sha256": "1by463daq5sa0bpd8hc5knj5gj30c4c8mbgmiq6fj3612220gc4c"
     }
   }
 }
diff --git a/pkgs/development/tools/buildah/default.nix b/pkgs/development/tools/buildah/default.nix
index 09ec296bed6..d0c630ab488 100644
--- a/pkgs/development/tools/buildah/default.nix
+++ b/pkgs/development/tools/buildah/default.nix
@@ -14,13 +14,13 @@
 
 buildGoModule rec {
   pname = "buildah";
-  version = "1.26.2";
+  version = "1.27.0";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "buildah";
     rev = "v${version}";
-    sha256 = "sha256-FQ0fYiQBz+Ba8Xe8PWIYpIKyWOYa+NlTNJqzBC64O6M=";
+    sha256 = "sha256-xaUOCinP46aSKcxkpvDKollRRBYlrLql737YaOkQPzc=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/pkgs/development/tools/checkmate/default.nix b/pkgs/development/tools/checkmate/default.nix
index 1de648ffc91..c5587f741cb 100644
--- a/pkgs/development/tools/checkmate/default.nix
+++ b/pkgs/development/tools/checkmate/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "checkmate";
-  version = "0.6.9";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "adedayo";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Zs8vyPD1BpjA5EXzeKyfv9CzhD0iIp1LNLlqCp+zpaY=";
+    sha256 = "sha256-tK9jPImB3rklMVQGI84bFaWsEdmVZKnWXxfzLZL9jQU=";
   };
 
-  vendorSha256 = "sha256-Wln6vf9FJ1VJgdll5a7QS+M6PCM151EB8aOb9fFkSXo=";
+  vendorSha256 = "sha256-w90f5b70qc9mgfMkhhloLJ7UWXboOLcZD6kUBluGGfk=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/development/tools/clj-kondo/default.nix b/pkgs/development/tools/clj-kondo/default.nix
index 3fe90a3004c..174f09e8f74 100644
--- a/pkgs/development/tools/clj-kondo/default.nix
+++ b/pkgs/development/tools/clj-kondo/default.nix
@@ -2,11 +2,11 @@
 
 buildGraalvmNativeImage rec {
   pname = "clj-kondo";
-  version = "2022.06.22";
+  version = "2022.08.03";
 
   src = fetchurl {
     url = "https://github.com/clj-kondo/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
-    sha256 = "sha256-g+0BYwk9bws+c7CfLGf88r2nfcDBCdDKyqRS285oIQM=";
+    sha256 = "sha256-tqwAC8qib7XLlHj6YD4pYnV/R5q9fW4bH5fA8Gl8G64=";
   };
 
   extraNativeImageBuildArgs = [
diff --git a/pkgs/development/tools/cloud-nuke/default.nix b/pkgs/development/tools/cloud-nuke/default.nix
index 7c96448dd92..230dd7b47b3 100644
--- a/pkgs/development/tools/cloud-nuke/default.nix
+++ b/pkgs/development/tools/cloud-nuke/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "cloud-nuke";
-  version = "0.16.2";
+  version = "0.16.4";
 
   src = fetchFromGitHub {
     owner = "gruntwork-io";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-dikjYEY6jrK9dUXM+z378SIWgI4jYd9vLsf1nQ5rUwg=";
+    sha256 = "sha256-TiXP7ftzQ3yWWfTDqfO33Fuk0XlgVwgt1+tZqSr6mJQ=";
   };
 
-  vendorSha256 = "sha256-DhFwTh7Bm2mPwXFBiYFylYKqWWcSm5/Cv2tXOJsPqm4=";
+  vendorSha256 = "sha256-YsnqasRywNtJLq0noUpil9k2AILXJz//+aYoy/tlRIo=";
 
   ldflags = [ "-s" "-w" "-X main.VERSION=${version}" ];
 
diff --git a/pkgs/development/tools/cmake-language-server/disable-test-timeouts.patch b/pkgs/development/tools/cmake-language-server/disable-test-timeouts.patch
deleted file mode 100644
index febe7cf77e7..00000000000
--- a/pkgs/development/tools/cmake-language-server/disable-test-timeouts.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/tests/test_server.py b/tests/test_server.py
-index c0777f5..1184fb3 100644
---- a/tests/test_server.py
-+++ b/tests/test_server.py
-@@ -11,7 +11,7 @@ from pygls.types import (CompletionContext, CompletionParams,
-                          InitializeParams, Position, TextDocumentIdentifier,
-                          TextDocumentItem, TextDocumentPositionParams)
- 
--CALL_TIMEOUT = 2
-+CALL_TIMEOUT = None
- 
- 
- def _init(client: LanguageServer, root: Path):
diff --git a/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix b/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix
index 15dbb59f11e..de0e154b51f 100644
--- a/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix
+++ b/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "cirrus-cli";
-  version = "0.82.0";
+  version = "0.83.0";
 
   src = fetchFromGitHub {
     owner = "cirruslabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ZOfgzS6cHtjfQPcmS/tDob7WTPtusyD8iUFFSqE2c94=";
+    sha256 = "sha256-Ud4kdnKesn98CYIsB6S5FjJ3yOT3axTcVlrGroMNDPE=";
   };
 
   vendorSha256 = "sha256-XVGFJv9TYjuwVubTcFVI2b+M2ZDE1Jv4u/dxowcLL2s=";
diff --git a/pkgs/development/tools/continuous-integration/dagger/default.nix b/pkgs/development/tools/continuous-integration/dagger/default.nix
index a5ba3ea76c4..eb6e7964467 100644
--- a/pkgs/development/tools/continuous-integration/dagger/default.nix
+++ b/pkgs/development/tools/continuous-integration/dagger/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "dagger";
-  version = "0.2.27";
+  version = "0.2.28";
 
   src = fetchFromGitHub {
     owner = "dagger";
     repo = "dagger";
     rev = "v${version}";
-    sha256 = "sha256-NOdr/C2a4A1uC9al2gkrGKJ01/R9TUpHjwuQNpSGHCo=";
+    sha256 = "sha256-f9Oq9+FiGaL71RGR2eerHM9bBbNK7ysZsCWvOZo5u8g=";
   };
 
-  vendorSha256 = "sha256-+TKdLtR5W4RtOs1qpA1EVc6RS6/SQT8OWNwwllSsBqQ=";
+  vendorSha256 = "sha256-e++fNcgdQUPnbKVx7ncuf7NGc8eVdli5/rB7Jw+D/Ds=";
 
   subPackages = [
     "cmd/dagger"
diff --git a/pkgs/development/tools/continuous-integration/github-runner/default.nix b/pkgs/development/tools/continuous-integration/github-runner/default.nix
index 1687fb7c52f..c0f261ea492 100644
--- a/pkgs/development/tools/continuous-integration/github-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/github-runner/default.nix
@@ -42,13 +42,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "github-runner";
-  version = "2.294.0";
+  version = "2.295.0";
 
   src = fetchFromGitHub {
     owner = "actions";
     repo = "runner";
     rev = "v${version}";
-    hash = "sha256-2MOvqVlUZBmCt24EYSVjXWKR+fB2Mys70L/1/7jtwQQ=";
+    hash = "sha256-C5tINoFkd2PRbpnlSkPL/o59B7+J+so07oVvJu1m3dk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/continuous-integration/github-runner/deps.nix b/pkgs/development/tools/continuous-integration/github-runner/deps.nix
index 0a75c0a97c8..9af18a7d04e 100644
--- a/pkgs/development/tools/continuous-integration/github-runner/deps.nix
+++ b/pkgs/development/tools/continuous-integration/github-runner/deps.nix
@@ -31,7 +31,7 @@
   (fetchNuGet { pname = "Moq"; version = "4.11.0"; sha256 = "08bnk80scjjqnkdbjam8grcqrw2rvj9z7556hiznac7in3fcp77w"; })
   (fetchNuGet { pname = "NETStandard.Library"; version = "1.5.0-rc2-24027"; sha256 = "1kazwidj63w53r1s6fd8sgykb70kdic27fg9qhg74qzwm354imwm"; })
   (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; })
-  (fetchNuGet { pname = "Newtonsoft.Json"; version = "11.0.2"; sha256 = "1784xi44f4k8v1fr696hsccmwpy94bz7kixxqlri98zhcxn406b2"; })
+  (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.1"; sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb"; })
   (fetchNuGet { pname = "Newtonsoft.Json"; version = "9.0.1"; sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; })
   (fetchNuGet { pname = "Newtonsoft.Json.Bson"; version = "1.0.1"; sha256 = "1r1hvj5gjl466bya2bfl5aaj8rbwyf5x1msg710wf3k2llbci1xa"; })
   (fetchNuGet { pname = "NuGet.Frameworks"; version = "5.0.0"; sha256 = "18ijvmj13cwjdrrm52c8fpq021531zaz4mj4b4zapxaqzzxf2qjr"; })
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index e70d9b6347e..bd1e4c5db29 100644
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -1,7 +1,7 @@
 { lib, buildGoModule, fetchFromGitLab, fetchurl }:
 
 let
-  version = "15.2.0";
+  version = "15.2.1";
 in
 buildGoModule rec {
   inherit version;
@@ -14,13 +14,13 @@ buildGoModule rec {
     "-X ${commonPackagePath}.REVISION=v${version}"
   ];
 
-  vendorSha256 = "sha256-0lp4Hd6j7G59clWxLfz8GfQEmpXmhuGzmgX2ws/VJeQ=";
+  vendorSha256 = "sha256-weT4Ed/VNTLovxUu2xCdHDqxY7v/5Wi3WsWlNDWYLLc=";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-runner";
     rev = "v${version}";
-    sha256 = "sha256-1OflKz8AV8vSCkNBWGteIbXqbueAYNeAdp9nL3lgD8A=";
+    sha256 = "sha256-HaFxMNREHTtnbIuQUXCinhd4lhcnkLkacLczeySsfWQ=";
   };
 
   patches = [
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
index 87a90aa90b9..4384345c9ab 100644
--- a/pkgs/development/tools/continuous-integration/jenkins/default.nix
+++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jenkins";
-  version = "2.346.2";
+  version = "2.346.3";
 
   src = fetchurl {
     url = "https://get.jenkins.io/war-stable/${version}/jenkins.war";
-    sha256 = "0ymp4zy73rxakk7i1pxai1i0hxp65ilzi57dan3mqspaprfllk7g";
+    sha256 = "12bxni81qldm7f3sbr2rhx6wghbkabhy634pgbrmq6m3j1c8q7hl";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -70,7 +70,8 @@ stdenv.mkDerivation rec {
     homepage = "https://jenkins-ci.org";
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
     license = licenses.mit;
-    maintainers = with maintainers; [ coconnor fpletz earldouglas nequissimus ];
+    maintainers = with maintainers; [ coconnor earldouglas nequissimus ajs124 ];
+    changelog = "https://www.jenkins.io/changelog-stable/#v${version}";
     mainProgram = "jenkins-cli";
     platforms = platforms.all;
   };
diff --git a/pkgs/development/tools/continuous-integration/woodpecker/cli.nix b/pkgs/development/tools/continuous-integration/woodpecker/cli.nix
index b5eda9efb91..aa83dfb1616 100644
--- a/pkgs/development/tools/continuous-integration/woodpecker/cli.nix
+++ b/pkgs/development/tools/continuous-integration/woodpecker/cli.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, callPackage, fetchFromGitHub }:
+{ lib, buildGoModule, callPackage, fetchFromGitHub, fetchpatch }:
 let
   common = callPackage ./common.nix { };
 in
@@ -7,6 +7,16 @@ buildGoModule {
   inherit (common) version src ldflags postBuild;
   vendorSha256 = null;
 
+  patches = [
+    # Fixes https://github.com/NixOS/nixpkgs/issues/184875, until a new version
+    # is released.
+    (fetchpatch {
+      name = "display-system-ca-error-only-if-there-is-an-error.patch";
+      url = "https://github.com/woodpecker-ci/woodpecker/commit/1fb800329488de74c9db7cfc5dc43fb5a4efbad8.patch";
+      sha256 = "sha256-wKI/7PhbxsAD/qrl4nnkHyyQhQcvGlySysnxytGJzfU=";
+    })
+  ];
+
   subPackages = "cmd/cli";
 
   CGO_ENABLED = 0;
diff --git a/pkgs/development/tools/cpm/default.nix b/pkgs/development/tools/cpm/default.nix
index e3efa50a857..37dc222707b 100644
--- a/pkgs/development/tools/cpm/default.nix
+++ b/pkgs/development/tools/cpm/default.nix
@@ -5,11 +5,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "cpm";
-  version = "0.35.3";
+  version = "0.35.5";
 
   src = fetchurl {
     url = "https://github.com/cpm-cmake/CPM.cmake/releases/download/v${version}/CPM.cmake";
-    sha256 = "sha256-Ft9iPBo31xzFEoqSGETzOTCRULR6GqsUQYrzdNHOpiU=";
+    sha256 = "sha256-JWfIptbRExSQQvcxx2bS1k5cudPpQPdyj90aZdbcROk=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/tools/cuelsp/default.nix b/pkgs/development/tools/cuelsp/default.nix
new file mode 100644
index 00000000000..60366f3f6fe
--- /dev/null
+++ b/pkgs/development/tools/cuelsp/default.nix
@@ -0,0 +1,28 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "cuelsp";
+  version = "0.3.4";
+
+  src = fetchFromGitHub {
+    owner = "dagger";
+    repo = "cuelsp";
+    rev = "v${version}";
+    sha256 = "sha256-+E49TR2D26HSTwgwO1XFkIwXr5lmvv9l3KtR8dVT/cQ=";
+  };
+
+  vendorSha256 = "sha256-zg4aXPY2InY5VEX1GLJkGhMlfa5EezObAjIuX/bGvlc=";
+
+  doCheck = false;
+
+  subPackages = [
+    "cmd/cuelsp"
+  ];
+
+  meta = with lib; {
+    description = "Language Server implementation for CUE, with built-in support for Dagger";
+    homepage = "https://github.com/dagger/cuelsp";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ sagikazarmark ];
+  };
+}
diff --git a/pkgs/development/tools/database/prisma-engines/default.nix b/pkgs/development/tools/database/prisma-engines/default.nix
index e1a2ac34089..25674c76a8b 100644
--- a/pkgs/development/tools/database/prisma-engines/default.nix
+++ b/pkgs/development/tools/database/prisma-engines/default.nix
@@ -13,7 +13,7 @@
 # function correctly.
 rustPlatform.buildRustPackage rec {
   pname = "prisma-engines";
-  version = "4.0.0";
+  version = "4.2.1";
 
   src = fetchFromGitHub {
     owner = "prisma";
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
   # Use system openssl.
   OPENSSL_NO_VENDOR = 1;
 
-  cargoSha256 = "sha256-//Kis4lDi3SxeptCCnLi/GWPj+Kyay2pQbILYnlEkXE=";
+  cargoSha256 = "sha256-KkCq7h6qqh37LvA4wQYjLk/LPKCg5Wgl6tEhH55qh8M=";
 
   nativeBuildInputs = [ pkg-config ];
 
@@ -59,7 +59,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://www.prisma.io/";
     license = licenses.asl20;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ pamplemousse pimeys superherointj ];
+    maintainers = with maintainers; [ pamplemousse pimeys superherointj tomhoule ];
   };
 }
 
diff --git a/pkgs/development/tools/database/squirrel-sql/default.nix b/pkgs/development/tools/database/squirrel-sql/default.nix
index a37d8ff04e7..dd503834dd9 100644
--- a/pkgs/development/tools/database/squirrel-sql/default.nix
+++ b/pkgs/development/tools/database/squirrel-sql/default.nix
@@ -6,11 +6,11 @@
 }:
 stdenv.mkDerivation rec {
   pname = "squirrel-sql";
-  version = "4.3.0";
+  version = "4.4.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/squirrel-sql/1-stable/${version}-plainzip/squirrelsql-${version}-standard.zip";
-    sha256 = "sha256-Xh6JLfk0xDqEBJiEG3WBKBEqad/O0D8aeJk5s5w8PTI=";
+    sha256 = "sha256-uMOVhLqjZB21SAvNXT6VhdmFyCFhBYHID9lXeDABvnk=";
   };
 
   nativeBuildInputs = [ makeWrapper unzip ];
diff --git a/pkgs/development/tools/database/trino-cli/default.nix b/pkgs/development/tools/database/trino-cli/default.nix
index 1dbd242b170..d68786a9ee6 100644
--- a/pkgs/development/tools/database/trino-cli/default.nix
+++ b/pkgs/development/tools/database/trino-cli/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "trino-cli";
-  version = "390";
+  version = "392";
 
   jarfilename = "${pname}-${version}-executable.jar";
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://maven/io/trino/${pname}/${version}/${jarfilename}";
-    sha256 = "sha256-rqs2rWmr5hv4F/tc7xWBgkNht/l3meJUnpEyOn2cU48=";
+    sha256 = "sha256-yqTKXmcRgsSSr4KAZ2NV7FrCGIxCU/V14XFEZmUTj1s=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/tools/ddosify/default.nix b/pkgs/development/tools/ddosify/default.nix
index 43867d13b00..a077c2f1246 100644
--- a/pkgs/development/tools/ddosify/default.nix
+++ b/pkgs/development/tools/ddosify/default.nix
@@ -2,20 +2,22 @@
 
 buildGoModule rec {
   pname = "ddosify";
-  version = "0.8.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ImVNiBXvKKYXuWtOajvLFobk956wNSQHLH7npdYY4SE=";
+    sha256 = "sha256-cedgJJd1+iWw3sxbKVBpi5XvmZdDcDL0sHhTELbkY9Q=";
   };
 
   vendorSha256 = "sha256-mq82KNa01gHvW+RUREra+ysaJ1YWIwX0v/uYMxmFN4M=";
 
   ldflags = [
-    "-s -w"
+    "-s" "-w"
     "-X main.GitVersion=${version}"
+    "-X main.GitCommit=unknown"
+    "-X main.BuildDate=unknown"
   ];
 
   # TestCreateHammerMultipartPayload error occurred - Get "https://upload.wikimedia.org/wikipedia/commons/b/bd/Test.svg"
diff --git a/pkgs/development/tools/dyff/default.nix b/pkgs/development/tools/dyff/default.nix
index c2801422c0e..c124749b6fd 100644
--- a/pkgs/development/tools/dyff/default.nix
+++ b/pkgs/development/tools/dyff/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "dyff";
-  version = "1.5.4";
+  version = "1.5.5";
 
   src = fetchFromGitHub {
     owner = "homeport";
     repo = "dyff";
     rev = "v${version}";
-    sha256 = "sha256-6r7e35hJrrkBaDHMUJGVOP7b0OwekJzedTs/P5E8Ykc=";
+    sha256 = "sha256-sEzS7pRjpCZNZSK1VVL628SNjIn9Di0eNOvvM/29WMM=";
   };
 
-  vendorSha256 = "sha256-nam/so7ylbGVhEjGKZzeYZyHz90rq5XEZelHkjcIeh8=";
+  vendorSha256 = "sha256-kanoe3cIvLROxqKZvdwFRnORv5I3eFLqOBZazvCnj48=";
 
   subPackages = [
     "cmd/dyff"
diff --git a/pkgs/development/tools/earthly/default.nix b/pkgs/development/tools/earthly/default.nix
index 67a732dc180..4b86be80480 100644
--- a/pkgs/development/tools/earthly/default.nix
+++ b/pkgs/development/tools/earthly/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "earthly";
-  version = "0.6.20";
+  version = "0.6.21";
 
   src = fetchFromGitHub {
     owner = "earthly";
     repo = "earthly";
     rev = "v${version}";
-    sha256 = "sha256-2tdmAoHh9sqX3zWrerNqnwluQB79iZHPuE0xsPOB09w=";
+    sha256 = "sha256-i/iMrIvslxK+iqTKL7vEZc1ir8A9a0WVQ0J/KfSGyxo=";
   };
 
-  vendorSha256 = "sha256-LHpmzQeonLFLCs2D1gRACZSdAtRkzzQ7Ftq/2D+PI80=";
+  vendorSha256 = "sha256-oK8fWi7zThzd1TrN6yd08T9QyVCOA4SAKZ2OPJTcgY8=";
 
   ldflags = [
     "-s" "-w"
diff --git a/pkgs/development/tools/ec2-metadata-mock/default.nix b/pkgs/development/tools/ec2-metadata-mock/default.nix
index 3967a061de9..7fd87e839be 100644
--- a/pkgs/development/tools/ec2-metadata-mock/default.nix
+++ b/pkgs/development/tools/ec2-metadata-mock/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ec2-metadata-mock";
-  version = "1.11.1";
+  version = "1.11.2";
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = "amazon-ec2-metadata-mock";
     rev = "v${version}";
-    sha256 = "sha256-H10aZB1xx2Q3cItmqmGAUiVgr+9+VloH3pzDrzP2MQw=";
+    sha256 = "sha256-hYyJtkwAzweH8boUY3vrvy6Ug+Ier5f6fvR52R+Di8o=";
   };
 
   vendorSha256 = "sha256-T45abGVoiwxAEO60aPH3hUqiH6ON3aRhkrOFcOi+Bm8=";
diff --git a/pkgs/development/tools/electron/default.nix b/pkgs/development/tools/electron/default.nix
index a1a593f522b..fd2231dbe41 100644
--- a/pkgs/development/tools/electron/default.nix
+++ b/pkgs/development/tools/electron/default.nix
@@ -23,7 +23,7 @@ let
 in
 rec {
 
-  electron = electron_19;
+  electron = electron_20;
 
   electron_9 = mkElectron "9.4.4" {
     x86_64-linux = "781d6ca834d415c71078e1c2c198faba926d6fce19e31448bbf4450869135450";
@@ -131,4 +131,13 @@ rec {
     aarch64-darwin = "f9042bce83fe8446e22f6885285dd5fc2dca048d0b89cbf7f326a46102ffc440";
     headers = "09dbx4qh0rgp5mdm6srz6fgx12zq6b9jqq1k6l3gzyvwigi3wny1";
   };
+
+  electron_20 = mkElectron "20.0.1" {
+    armv7l-linux = "6e1f216d0680fd1116ab378846ef9204bcd27916fa0f9bb510623a01c32bef9b";
+    aarch64-linux = "60ebe86847b47d98ec16d259ee58a9dbd5fa7d84df6e23888ac1a340c9b9b467";
+    x86_64-linux = "db6b9a6dd1d609fbf46cc7e2fd0f3ff317e59da85d037bce018cfc6810580c32";
+    x86_64-darwin = "2ceea21ba4f79e1e9bea6d01e31a6339288a3d98adf23ac52a728bb22e55794c";
+    aarch64-darwin = "42f251973d4ae90941f82898d4a2e21d7e4c899e920bc671aba03eedb871ee10";
+    headers = "1xvi3w8x1knc103cxk4mkqb8xw4bp6if8lra527a8x2xan4syiq1";
+  };
 }
diff --git a/pkgs/development/tools/electron/generic.nix b/pkgs/development/tools/electron/generic.nix
index 6091fa902c7..97e7fb52034 100644
--- a/pkgs/development/tools/electron/generic.nix
+++ b/pkgs/development/tools/electron/generic.nix
@@ -104,14 +104,17 @@ let
   };
 
   darwin = {
-    nativeBuildInputs = [ unzip ];
+    nativeBuildInputs = [
+      makeWrapper
+      unzip
+    ];
 
     buildCommand = ''
       mkdir -p $out/Applications
       unzip $src
       mv Electron.app $out/Applications
       mkdir -p $out/bin
-      ln -s $out/Applications/Electron.app/Contents/MacOS/Electron $out/bin/electron
+      makeWrapper $out/Applications/Electron.app/Contents/MacOS/Electron $out/bin/electron
     '';
   };
 in
diff --git a/pkgs/development/tools/esbuild/default.nix b/pkgs/development/tools/esbuild/default.nix
index aea6d6ac22d..b95a58470fc 100644
--- a/pkgs/development/tools/esbuild/default.nix
+++ b/pkgs/development/tools/esbuild/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "esbuild";
-  version = "0.14.51";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "evanw";
     repo = "esbuild";
     rev = "v${version}";
-    sha256 = "sha256-IzFjbKX4DoRo57i9ogGCuvZpamk+brkKnsI6Yy843VA=";
+    sha256 = "sha256-ZQRU3UlUkvTgbRMGg+BVNy+0BSUYGYUysgZ69YTeqiA=";
   };
 
   vendorSha256 = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
diff --git a/pkgs/development/tools/faas-cli/default.nix b/pkgs/development/tools/faas-cli/default.nix
index 84860148836..f35f64b0bc8 100644
--- a/pkgs/development/tools/faas-cli/default.nix
+++ b/pkgs/development/tools/faas-cli/default.nix
@@ -9,13 +9,13 @@ let
 in
 buildGoModule rec {
   pname = "faas-cli";
-  version = "0.14.4";
+  version = "0.14.5";
 
   src = fetchFromGitHub {
     owner = "openfaas";
     repo = "faas-cli";
     rev = version;
-    sha256 = "sha256-hpQn1lEJP0FmU1jhmXDgV/11RbMdEqblLPIrTQLKLOc=";
+    sha256 = "sha256-nHpsScpVQhSoqvNZ+xTv2cA3lV1MyPZAgNLZRuyvksE=";
   };
 
   CGO_ENABLED = 0;
diff --git a/pkgs/development/tools/flyway/default.nix b/pkgs/development/tools/flyway/default.nix
index a8a5327d9ae..eb6ac3254b0 100644
--- a/pkgs/development/tools/flyway/default.nix
+++ b/pkgs/development/tools/flyway/default.nix
@@ -1,10 +1,10 @@
 { lib, stdenv, fetchurl, jre_headless, makeWrapper }:
 stdenv.mkDerivation rec{
   pname = "flyway";
-  version = "9.0.4";
+  version = "9.1.3";
   src = fetchurl {
     url = "mirror://maven/org/flywaydb/flyway-commandline/${version}/flyway-commandline-${version}.tar.gz";
-    sha256 = "sha256-eLHj8a64q+wxJaNfGS2phtuI2o4xmTWtXRVvjO80NyU=";
+    sha256 = "sha256-RmA9aP0YxYv2iDIp7W0k4x3CzvHMuPb398OM55q3Odo=";
   };
   nativeBuildInputs = [ makeWrapper ];
   dontBuild = true;
diff --git a/pkgs/build-support/go/garble.nix b/pkgs/development/tools/garble/default.nix
index 502aba4e64a..2162b378ec0 100644
--- a/pkgs/build-support/go/garble.nix
+++ b/pkgs/development/tools/garble/default.nix
@@ -6,16 +6,16 @@
 }:
 buildGoModule rec {
   pname = "garble";
-  version = "0.6.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "burrowers";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-VeqF1MB8knM+NtG9Y+x1g2OF7LFZRC8/c8jicGP3vpo=";
+    sha256 = "sha256-QQRnnH/lbleZYkmHj4XUj2uMB9h/mwolhqWfaWMk2ys=";
   };
 
-  vendorSha256 = "sha256-FQMeA6VUDQa6wpvMoYsigkzukQ0dArAkysiksJWq+iY=";
+  vendorSha256 = "sha256-Xax8KfNcFCLKqcLBNtRUNaneVCW4eUMFe4Ml+D4wLNA=";
 
   # Used for some of the tests.
   checkInputs = [git];
diff --git a/pkgs/development/tools/git-ftp/default.nix b/pkgs/development/tools/git-ftp/default.nix
index 25295ad0062..57b5e3c4637 100644
--- a/pkgs/development/tools/git-ftp/default.nix
+++ b/pkgs/development/tools/git-ftp/default.nix
@@ -1,5 +1,22 @@
-{ lib, stdenv, fetchFromGitHub, pandoc, man }:
-stdenv.mkDerivation rec {
+{ lib
+, resholve
+, fetchFromGitHub
+, fetchpatch
+, bash
+, coreutils
+, git
+, gnugrep
+, gawk
+, curl
+, hostname
+, gnused
+, findutils
+, lftp
+, pandoc
+, man
+}:
+
+resholve.mkDerivation rec {
   pname = "git-ftp";
   version = "1.6.0";
   src = fetchFromGitHub {
@@ -11,11 +28,66 @@ stdenv.mkDerivation rec {
 
   dontBuild = true;
 
+  # fix bug/typo; PRed upstream @
+  # https://github.com/git-ftp/git-ftp/pull/628
+  patches = [
+    (fetchpatch {
+      name = "fix-function-invocation-typo.patch";
+      url = "https://github.com/git-ftp/git-ftp/commit/cddf7cbba80e710758f6aac0ec0d77552ea8cd75.patch";
+      sha256 = "sha256-2B0QaMJi78Bg3bA1jp41aiyql1/LCryoaDs7+xmS1HY=";
+    })
+  ];
+
   installPhase = ''
     make install-all prefix=$out
   '';
 
-  buildInputs = [pandoc man];
+  nativeBuildInputs = [ pandoc man ];
+
+  solutions = {
+    git-ftp = {
+      scripts = [ "bin/git-ftp" ];
+      interpreter = "${bash}/bin/bash";
+      inputs = [
+        coreutils
+        git
+        gnugrep
+        gawk
+        curl
+        hostname
+        gnused
+        findutils
+        lftp
+      ];
+      fake = {
+        # don't resolve impure system macOS security
+        # caution: will still be fragile if PATH is bad
+        # TODO: fixable once we figure out how to handle
+        # this entire class of problem...
+        "external" = [ "security" ];
+      };
+      keep = {
+        # looks like run-time user/env/git-config controlled
+        "$GIT_PAGER" = true;
+        "$hook" = true; # presumably git hooks given context
+      };
+      execer = [
+        # TODO: rm when binlore/resholve handle git; manually
+        # checked and see no obvious subexec for now
+        "cannot:${git}/bin/git"
+        /*
+        Mild uncertainty here. There *are* commandlikes in
+        the arguments (especially wait & cd), but I think they are
+        fine as-is, because I'm reading them as:
+        1. ftp commands
+        2. running on the remote anyways
+
+        See https://github.com/git-ftp/git-ftp/blob/057f7d8e9f00ffc5a8c6ceaa4be30af2939df41a/git-ftp#L1214-L1221
+        */
+        "cannot:${lftp}/bin/lftp"
+      ];
+    };
+  };
 
   meta = with lib; {
     description = "Git powered FTP client written as shell script";
diff --git a/pkgs/development/tools/go-swag/default.nix b/pkgs/development/tools/go-swag/default.nix
index 9f53c702014..68341e7e400 100644
--- a/pkgs/development/tools/go-swag/default.nix
+++ b/pkgs/development/tools/go-swag/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "go-swag";
-  version = "1.8.0";
+  version = "1.8.4";
 
   src = fetchFromGitHub {
     owner = "swaggo";
     repo = "swag";
     rev = "v${version}";
-    sha256 = "sha256-axvc3iwAfsKunheLLKmUThZh27axRh/GJRcKy9EfEBw=";
+    sha256 = "sha256-+e/wUHoeJ00MbGfkDpGwRvJH+fboMfyGY+SXbqBqP1c=";
   };
 
-  vendorSha256 = "sha256-QphjiJSQRULphWjrJ8RzrUblTDYL/fYoSNT3+g0tP48=";
+  vendorSha256 = "sha256-RqhGGIwruAlrif2FZ+tvsicns56Ifjpy2ZHovDyjdB4=";
 
   subPackages = [ "cmd/swag" ];
 
diff --git a/pkgs/development/tools/go-task/default.nix b/pkgs/development/tools/go-task/default.nix
index dda47967044..1e7a6a31402 100644
--- a/pkgs/development/tools/go-task/default.nix
+++ b/pkgs/development/tools/go-task/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "go-task";
-  version = "3.14.0";
+  version = "3.14.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "task";
     rev = "v${version}";
-    sha256 = "sha256-J/pWx/osqP29GERBdzWwPNeA4Rzo6CYdW7GrmspevwM=";
+    sha256 = "sha256-GbCrMsMxhSjJOsZX4Gq9ZzBJ+F5vXDMi9vSyFrHNt44=";
   };
 
-  vendorSha256 = "sha256-NlQ/5ibRgmuGDcuiUdzvuexYGnR/34v9fw1DUe3yXxE=";
+  vendorSha256 = "sha256-xp1s1aixPyXq9oVD8IZYSlUiL8UkIx5c8gYJRpIRD7I=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/golangci-lint/default.nix b/pkgs/development/tools/golangci-lint/default.nix
index c57675efa9f..c0351101122 100644
--- a/pkgs/development/tools/golangci-lint/default.nix
+++ b/pkgs/development/tools/golangci-lint/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, buildGoModule, fetchFromGitHub, lib, installShellFiles }:
+{ buildGoModule, fetchFromGitHub, lib, installShellFiles }:
 
 buildGoModule rec {
   pname = "golangci-lint";
-  version = "1.47.2";
+  version = "1.48.0";
 
   src = fetchFromGitHub {
     owner = "golangci";
     repo = "golangci-lint";
     rev = "v${version}";
-    sha256 = "sha256-ttxRVmv1Z/NOjzVN7izBJm5xQWdSAm/jTzw0klFzyck=";
+    sha256 = "sha256-6nXn1+LsjiXjCeHhvVjyU1F6IJ8YP1Oj+5tDRhiMuUc=";
   };
 
-  vendorSha256 = "sha256-zIsvXtyC3wjfoKcOJ1MG/KSGApuVlvuHDYDmbmGEgTc=";
+  vendorSha256 = "sha256-4ZqO4NEZfIhl/hWcB0HeRbp2jQ/WhMBpTLmP2W7X7xM=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/gomplate/default.nix b/pkgs/development/tools/gomplate/default.nix
index 087c4fcf3c3..2df0e8ed941 100644
--- a/pkgs/development/tools/gomplate/default.nix
+++ b/pkgs/development/tools/gomplate/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "gomplate";
-  version = "3.10.0";
+  version = "3.11.2";
   owner = "hairyhenderson";
   rev = "v${version}";
 
   src = fetchFromGitHub {
     inherit owner rev;
     repo = pname;
-    sha256 = "0dbi9saxbwcvypxc0s656ln9zq2vysx8dhrcz488nmy6rcpqiiah";
+    sha256 = "sha256-NIepoz1JToaX2EJCL/kqkpBJigJVy2Tkz0jGn4ukfvI=";
   };
 
-  vendorSha256 = "0rvki8ghlbbaqgnjfsbs1jswj08jfzmnz9ilynv2c6kfkx9zs108";
+  vendorSha256 = "sha256-fXbwNX+GoujciZVxxe7Tl21MxWhyAD4cW/p8PCAAElw=";
 
   postPatch = ''
     # some tests require network access
@@ -24,6 +24,11 @@ buildGoModule rec {
       internal/tests/integration/datasources_vault*_test.go
   '';
 
+  # TestInputDir_RespectsUlimit
+  preCheck = ''
+    ulimit -n 1024
+  '';
+
   ldflags = [
     "-s"
     "-w"
diff --git a/pkgs/development/tools/gopls/default.nix b/pkgs/development/tools/gopls/default.nix
index 405cb6141d4..130176591e2 100644
--- a/pkgs/development/tools/gopls/default.nix
+++ b/pkgs/development/tools/gopls/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "gopls";
-  version = "0.9.1";
+  version = "0.9.3";
 
   src = fetchFromGitHub {
     owner = "golang";
     repo = "tools";
     rev = "gopls/v${version}";
-    sha256 = "sha256-+9NOQRu7cwEkRMB+HFEVrF7Z8y5UCxdUL005vZFPUHk=";
+    sha256 = "sha256-WpSF3HnSjCqUkD1PVvtYXoWSyjYnasr85AK8wMULPBI=";
   };
 
   modRoot = "gopls";
-  vendorSha256 = "sha256-V5HQAKRFtHfJJzdQ8eutCpVmnOWe0yYKKnlGxphulAc=";
+  vendorSha256 = "sha256-8NhZD7ImvsBGw0xi9NR7AB9SdHkwjsA+jV7UTjVF4wM=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/grpc-gateway/default.nix b/pkgs/development/tools/grpc-gateway/default.nix
index 48ed8b33776..8f076fe40c0 100644
--- a/pkgs/development/tools/grpc-gateway/default.nix
+++ b/pkgs/development/tools/grpc-gateway/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "grpc-gateway";
-  version = "2.11.1";
+  version = "2.11.2";
 
   src = fetchFromGitHub {
     owner = "grpc-ecosystem";
     repo = "grpc-gateway";
     rev = "v${version}";
-    sha256 = "sha256-bxGJvvm9gGkjUA+JCpX2V0Bj35a5WJ1M/JPxa1/2gbk=";
+    sha256 = "sha256-ouL3qxBzhsQYXTHTeNM3Ezxo72XY9KwTXNYPlLUr4nU=";
   };
 
-  vendorSha256 = "sha256-DVVAbtfwndwc37iqxCB9Tsscinr8A8Kl//s9X+EFPcw=";
+  vendorSha256 = "sha256-1db3Ar3UtHS/MkhiaLt7wHuCCg8qGGL7jOHZXh1TywI=";
 
   meta = with lib; {
     description =
diff --git a/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix b/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix
index 7c6481cabad..8dbd4fc9fab 100644
--- a/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix
+++ b/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix
@@ -1,6 +1,6 @@
 { lib
 , stdenv
-, supportedGhcVersions ? [ "884" "8107" "902" "923" ]
+, supportedGhcVersions ? [ "884" "8107" "902" "924" ]
 , dynamic ? false
 , haskellPackages
 , haskell
diff --git a/pkgs/development/tools/hcloud/default.nix b/pkgs/development/tools/hcloud/default.nix
index 9886d1753fe..7b764fa79c7 100644
--- a/pkgs/development/tools/hcloud/default.nix
+++ b/pkgs/development/tools/hcloud/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "hcloud";
-  version = "1.30.1";
+  version = "1.30.2";
 
   src = fetchFromGitHub {
     owner = "hetznercloud";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-0zVbk8NuPGYyEcYV1F1if8VdKa4MnW2v+VQcvgM9bZ8=";
+    sha256 = "sha256-1ay0cW1zBCfaLIWvJGW7A/OeDc4l7OldnQHvrGeqXjE=";
   };
 
-  vendorSha256 = "sha256-++uvg/vXRX2lPU4CmqAcLWbsWBXZHXaXO4qXEaq90T4=";
+  vendorSha256 = "sha256-DoCiyaEPh+QyKgC3PJ5oivJTlcKzscaphXET9et8T1g=";
 
   ldflags = [
     "-s" "-w"
diff --git a/pkgs/development/tools/java/visualvm/default.nix b/pkgs/development/tools/java/visualvm/default.nix
index ee72bc62efa..82f93cb73e6 100644
--- a/pkgs/development/tools/java/visualvm/default.nix
+++ b/pkgs/development/tools/java/visualvm/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchzip, lib, makeWrapper, makeDesktopItem, jdk, gawk }:
 
 stdenv.mkDerivation rec {
-  version = "2.1.2";
+  version = "2.1.4";
   pname = "visualvm";
 
   src = fetchzip {
     url = "https://github.com/visualvm/visualvm.src/releases/download/${version}/visualvm_${builtins.replaceStrings ["."] [""]  version}.zip";
-    sha256 = "sha256-khbXzdsC0PA10HEu/dIFQ87+QbKpctmTUTt/zEuxV6c=";
+    sha256 = "sha256-o7gcKJy3gDUV3WPo5vO+5Zyyz1UVC2wGRTxZL69RxNE=";
   };
 
   desktopItem = makeDesktopItem {
diff --git a/pkgs/development/tools/jd-diff-patch/default.nix b/pkgs/development/tools/jd-diff-patch/default.nix
index 4c1ff053659..ad7f7fad3cc 100644
--- a/pkgs/development/tools/jd-diff-patch/default.nix
+++ b/pkgs/development/tools/jd-diff-patch/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "jd-diff-patch";
-  version = "1.6.0";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     owner  = "josephburnett";
     repo   = "jd";
     rev    = "v${version}";
-    sha256 = "sha256-VxCsr7u7Ds3BMtZtnVS0VoLKM46NYLqVZGmRDSyqmtg=";
+    sha256 = "sha256-Ti7eElLplnYGP7v1VuGpyeZ3ZIau6Ffx4ACMBDIBROw=";
   };
 
   # not including web ui
diff --git a/pkgs/development/tools/jql/default.nix b/pkgs/development/tools/jql/default.nix
index 1333eac2e38..58af734a16c 100644
--- a/pkgs/development/tools/jql/default.nix
+++ b/pkgs/development/tools/jql/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "jql";
-  version = "4.0.6";
+  version = "4.0.7";
 
   src = fetchFromGitHub {
     owner = "yamafaktory";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-1bwgG3VkIPU6lVl4OQNIaHNj7OXhTeMfAjQK2SMypZ8=";
+    sha256 = "sha256-5QVktJpGpHzwRUN8oIFoLydnA+ELhUprcQASeGzgLG8=";
   };
 
-  cargoSha256 = "sha256-VUrDrPVL2KkK1HA/iq8VBzEJSDzRvUfQ+9C8MuSfvkQ=";
+  cargoSha256 = "sha256-qmLmkWFP8T886uR8kJKCqB0G5XIfk+r+kubamKryktc=";
 
   meta = with lib; {
     description = "A JSON Query Language CLI tool built with Rust";
diff --git a/pkgs/development/tools/just/default.nix b/pkgs/development/tools/just/default.nix
index ef3b1c01cd5..8853b2208c8 100644
--- a/pkgs/development/tools/just/default.nix
+++ b/pkgs/development/tools/just/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "just";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "casey";
     repo = pname;
     rev = version;
-    sha256 = "sha256-XtX71Nd+xJmBG3MfLdEMK/JWLS8p8tOPN3RAQMMi4vU=";
+    sha256 = "sha256-LDLxPNLUyDmJgnoFMMt82pt7J2qf/cBQilcCLk7xNUI=";
   };
 
-  cargoSha256 = "sha256-yMRoLgbX6JyJeO6hG5+iX8jAY5YElXF/FCnO06O3bo4=";
+  cargoSha256 = "sha256-Gg0KaFTTsBH55VyYnIA0ZHy5l55tp9xodv0zBgHdLic=";
 
   nativeBuildInputs = [ installShellFiles ];
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
diff --git a/pkgs/development/tools/k6/default.nix b/pkgs/development/tools/k6/default.nix
index 200eaa2cb57..cc9dcc62d34 100644
--- a/pkgs/development/tools/k6/default.nix
+++ b/pkgs/development/tools/k6/default.nix
@@ -1,26 +1,34 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, stdenv, buildGoModule, fetchFromGitHub, installShellFiles }:
 
 buildGoModule rec {
   pname = "k6";
-  version = "0.38.3";
+  version = "0.39.0";
 
   src = fetchFromGitHub {
     owner = "grafana";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-MV5GbsXVvq99tI5LCK6VgcXRtNUfffoz3FopwPljhdA=";
+    sha256 = "sha256-fphhXbaK5wNhBaP8+d4Ktqf4G8OyX/1SLiHVF+jlUF0=";
   };
 
   subPackages = [ "./" ];
 
   vendorSha256 = null;
 
-  doCheck = true;
+  nativeBuildInputs = [ installShellFiles ];
+
   doInstallCheck = true;
   installCheckPhase = ''
     $out/bin/k6 version | grep ${version} > /dev/null
   '';
 
+  postInstall = lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
+    installShellCompletion --cmd k6 \
+      --bash <($out/bin/k6 completion bash) \
+      --fish <($out/bin/k6 completion fish) \
+      --zsh <($out/bin/k6 completion zsh)
+  '';
+
   meta = with lib; {
     description = "A modern load testing tool, using Go and JavaScript";
     homepage = "https://k6.io/";
diff --git a/pkgs/development/tools/kdash/default.nix b/pkgs/development/tools/kdash/default.nix
index 7d610adb9ef..efebf39984d 100644
--- a/pkgs/development/tools/kdash/default.nix
+++ b/pkgs/development/tools/kdash/default.nix
@@ -12,13 +12,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kdash";
-  version = "0.3.2";
+  version = "0.3.3";
 
   src = fetchFromGitHub {
     owner = "kdash-rs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-aZjt4Xptv1R0qs1IqjTMfWYOD5ZgJR6atAUSQhY5250=";
+    sha256 = "sha256-u5Qa1rStWeFku3VA2ljg+RQxh12byfyBHXC+NQJTr0w=";
   };
 
   nativeBuildInputs = [ perl python3 pkg-config ];
@@ -26,7 +26,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl xorg.xcbutil ]
     ++ lib.optional stdenv.isDarwin AppKit;
 
-  cargoSha256 = "sha256-QlQ+mqhl9Dsajc2xSZP1mKTvCEMI/IbtaNtu2r7G1aM=";
+  cargoSha256 = "sha256-rSPe7kkeHEYDqF80oO+Z+bGkWewtjnKut13EP6tmUIc=";
 
   meta = with lib; {
     description = "A simple and fast dashboard for Kubernetes";
diff --git a/pkgs/development/tools/kubectx/bump-golang-x-sys.patch b/pkgs/development/tools/kubectx/bump-golang-x-sys.patch
new file mode 100644
index 00000000000..ec838728410
--- /dev/null
+++ b/pkgs/development/tools/kubectx/bump-golang-x-sys.patch
@@ -0,0 +1,25 @@
+diff --git a/go.mod b/go.mod
+index c523783..1ef8d00 100644
+--- a/go.mod
++++ b/go.mod
+@@ -9,6 +9,7 @@ require (
+ 	github.com/imdario/mergo v0.3.9 // indirect
+ 	github.com/mattn/go-isatty v0.0.12
+ 	github.com/pkg/errors v0.9.1
++	golang.org/x/sys v0.0.0-20220731174439-a90be440212d // indirect
+ 	gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c
+ 	k8s.io/apimachinery v0.21.0-alpha.1
+ 	k8s.io/client-go v0.21.0-alpha.1
+diff --git a/go.sum b/go.sum
+index 8f16b5a..7426c68 100644
+--- a/go.sum
++++ b/go.sum
+@@ -293,6 +293,8 @@ golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7w
+ golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+ golang.org/x/sys v0.0.0-20201112073958-5cba982894dd h1:5CtCZbICpIOFdgO940moixOPjc0178IU44m4EjOO5IY=
+ golang.org/x/sys v0.0.0-20201112073958-5cba982894dd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
++golang.org/x/sys v0.0.0-20220731174439-a90be440212d h1:Sv5ogFZatcgIMMtBSTTAgMYsicp25MXBubjXNDKwm80=
++golang.org/x/sys v0.0.0-20220731174439-a90be440212d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+ golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+ golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
diff --git a/pkgs/development/tools/kubectx/default.nix b/pkgs/development/tools/kubectx/default.nix
index 1de22705ebd..dfdfebcf3ea 100644
--- a/pkgs/development/tools/kubectx/default.nix
+++ b/pkgs/development/tools/kubectx/default.nix
@@ -11,7 +11,11 @@ buildGoModule rec {
     sha256 = "sha256-WY0zFt76mvdzk/s2Rzqys8n+DVw6qg7V6Y8JncOUVCM=";
   };
 
-  vendorSha256 = "sha256-4sQaqC0BOsDfWH3cHy2EMQNMq6qiAcbV+RwxCdcSxsg=";
+  patches = [
+    ./bump-golang-x-sys.patch
+  ];
+
+  vendorSha256 = "sha256-p4KUBmJw6hWG1J2qwg4QBbh6Vo1cr/HQz0IqytIDJjU=";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -24,6 +28,5 @@ buildGoModule rec {
     license = licenses.asl20;
     homepage = "https://github.com/ahmetb/kubectx";
     maintainers = with maintainers; [ jlesquembre ];
-    platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/development/tools/kubepug/default.nix b/pkgs/development/tools/kubepug/default.nix
index 82a130181e0..d5bcfa6f463 100644
--- a/pkgs/development/tools/kubepug/default.nix
+++ b/pkgs/development/tools/kubepug/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubepug";
-  version = "1.3.2";
+  version = "1.3.4";
 
   src = fetchFromGitHub {
     owner = "rikatz";
     repo = "kubepug";
     rev = "v${version}";
-    sha256 = "sha256-cjL718xTgtYev/lYL24vwZcB+joY3wIY4ixRCwAHQ4E=";
+    sha256 = "sha256-BljDmyueGtQztdHnix4YP+zvhor1+ofahQ8971/o1xY=";
   };
 
-  vendorSha256 = "0hynxj3q4aa1gx3w4ak56z6j5iplxi2hzqzsjkgz20fy34nfd41s";
+  vendorSha256 = "sha256-SZckJDFYGsjYEzpJOZ1BE0gNLqn4so23OcOUnPo6zdU=";
 
   ldflags = [
     "-s" "-w" "-X=github.com/rikatz/kubepug/version.Version=${src.rev}"
diff --git a/pkgs/development/tools/kubie/default.nix b/pkgs/development/tools/kubie/default.nix
index 0bf711a2293..cc40249e7cc 100644
--- a/pkgs/development/tools/kubie/default.nix
+++ b/pkgs/development/tools/kubie/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kubie";
-  version = "0.16.0";
+  version = "0.17.1";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "sbstp";
     repo = "kubie";
-    sha256 = "sha256-loVGMkB3p+xx7xRHdeSOcck+2vhV461VdNgUIpb/3O0=";
+    sha256 = "sha256-rLebv1lw1zaq401dPK4GbisYkES3/5lIiReTBPvgoJo=";
   };
 
-  cargoSha256 = "sha256-BLKcuumF72MPL408+fUS+7MiTYjvSRORKNP2s0I7McI=";
+  cargoSha256 = "sha256-o1wnweT+wvZNnOT3ZNMJGuiZm7pkhZLssUuIfYeWnBc=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/development/tools/lazygit/default.nix b/pkgs/development/tools/lazygit/default.nix
index 196c65d2100..c6fbc711264 100644
--- a/pkgs/development/tools/lazygit/default.nix
+++ b/pkgs/development/tools/lazygit/default.nix
@@ -21,6 +21,6 @@ buildGoModule rec {
     homepage = "https://github.com/jesseduffield/lazygit";
     changelog = "https://github.com/jesseduffield/lazygit/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ fpletz equirosa Br1ght0ne ];
+    maintainers = with maintainers; [ equirosa Br1ght0ne ];
   };
 }
diff --git a/pkgs/development/tools/lurk/default.nix b/pkgs/development/tools/lurk/default.nix
new file mode 100644
index 00000000000..3a7d00dea2c
--- /dev/null
+++ b/pkgs/development/tools/lurk/default.nix
@@ -0,0 +1,23 @@
+{ lib, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "lurk";
+  version = "0.2.9";
+
+  src = fetchFromGitHub {
+    owner = "jakwai01";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-Vvz1CWNpMbVpICL42VQHLM7AWSONGSXP5kfZ8rZlw8M=";
+  };
+
+  cargoSha256 = "sha256-AoFkgm13vj/18GOuSIgzs+xk82lSQ6zGpq4QVWcClv8=";
+
+  meta = with lib; {
+    description = "A simple and pretty alternative to strace";
+    homepage = "https://github.com/jakwai01/lurk";
+    license = licenses.agpl3Only;
+    maintainers = with maintainers; [ figsoda ];
+    platforms = [ "i686-linux" "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/development/tools/millet/default.nix b/pkgs/development/tools/millet/default.nix
index f9951dc14fe..6385946f09f 100644
--- a/pkgs/development/tools/millet/default.nix
+++ b/pkgs/development/tools/millet/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "millet";
-  version = "0.2.9";
+  version = "0.2.11";
 
   src = fetchFromGitHub {
     owner = "azdavis";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ZvLpLQ7WkRvApSZ7vPDmQH8iLLpKUEY5ig5Mn+rkMI8=";
+    sha256 = "sha256-hRr6p/qV6+GrEAADClg4NDTVgkSkY8O6YiLLo6ldFqo=";
   };
 
-  cargoSha256 = "sha256-I5JgtW5Bgz2swJYiY2gV1UbSgeGxef7Hb4gDQYz/0TU=";
+  cargoSha256 = "sha256-xu7BjZRp0IiCImhJi5GrSuBk4BsIVKJFOXyOvV3ruRY=";
 
   cargoBuildFlags = [ "--package" "lang-srv" ];
 
diff --git a/pkgs/development/tools/misc/act/default.nix b/pkgs/development/tools/misc/act/default.nix
index 0bc4d9a9b6d..a4b3241663f 100644
--- a/pkgs/development/tools/misc/act/default.nix
+++ b/pkgs/development/tools/misc/act/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "act";
-  version = "0.2.29";
+  version = "0.2.30";
 
   src = fetchFromGitHub {
     owner = "nektos";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-n5IUhx5nZ6+bbYc3Z0d3stBSvr2Ht2XUwtDorQTcOhs=";
+    sha256 = "sha256-QNuCXBVSERNjn4ehqpOepAmLLqZAA2FvMBmMwceh4kI=";
   };
 
-  vendorSha256 = "sha256-rMM1BcL4FGFXs0DHoLV9kt+BxnreVTL7kwCd9li1i6g=";
+  vendorSha256 = "sha256-T5HWT0h9ZSVQBbQbwIL1wu8BXvOkFIXtimz7QMUkWtQ=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/cmake-language-server/default.nix b/pkgs/development/tools/misc/cmake-language-server/default.nix
index 12c14fcb73b..168c40911e6 100644
--- a/pkgs/development/tools/cmake-language-server/default.nix
+++ b/pkgs/development/tools/misc/cmake-language-server/default.nix
@@ -2,8 +2,8 @@
 , buildPythonApplication
 , fetchFromGitHub
 , poetry
+, cmake-format
 , pygls
-, pyparsing
 , cmake
 , pytest-datadir
 , pytestCheckHook
@@ -11,14 +11,14 @@
 
 buildPythonApplication rec {
   pname = "cmake-language-server";
-  version = "0.1.4";
+  version = "0.1.6";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "regen100";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-FOyyXSgoFpX4mOHFyZtVW618M1Xs7k+IioJzm1sdkKY=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-B7dhCQo3g2E8+fzyl1RhaYQE6TFoqoLtp9Z7sZcv5xk=";
   };
 
   patches = [
@@ -26,15 +26,22 @@ buildPythonApplication rec {
     ./disable-test-timeouts.patch
   ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'pyparsing = "^2.4"' 'pyparsing = "^3.0.6"'
-  '';
+  nativeBuildInputs = [
+    poetry
+  ];
+
+  propagatedBuildInputs = [
+    cmake-format
+    pygls
+  ];
 
-  nativeBuildInputs = [ poetry ];
-  propagatedBuildInputs = [ pygls pyparsing ];
+  checkInputs = [
+    cmake
+    cmake-format
+    pytest-datadir
+    pytestCheckHook
+  ];
 
-  checkInputs = [ cmake pytest-datadir pytestCheckHook ];
   dontUseCmakeConfigure = true;
   pythonImportsCheck = [ "cmake_language_server" ];
 
diff --git a/pkgs/development/tools/misc/cmake-language-server/disable-test-timeouts.patch b/pkgs/development/tools/misc/cmake-language-server/disable-test-timeouts.patch
new file mode 100644
index 00000000000..6b66681056b
--- /dev/null
+++ b/pkgs/development/tools/misc/cmake-language-server/disable-test-timeouts.patch
@@ -0,0 +1,13 @@
+diff --git a/tests/test_server.py b/tests/test_server.py
+index 2d09bb2..59a122a 100644
+--- a/tests/test_server.py
++++ b/tests/test_server.py
+@@ -26,7 +26,7 @@ from pygls.lsp.types import (
+ )
+ from pygls.server import LanguageServer
+ 
+-CALL_TIMEOUT = 2
++CALL_TIMEOUT = None
+ 
+ 
+ def _init(client: LanguageServer, root: Path) -> None:
diff --git a/pkgs/development/tools/misc/editorconfig-core-c/default.nix b/pkgs/development/tools/misc/editorconfig-core-c/default.nix
index 893a1925dd7..f46e840276f 100644
--- a/pkgs/development/tools/misc/editorconfig-core-c/default.nix
+++ b/pkgs/development/tools/misc/editorconfig-core-c/default.nix
@@ -1,22 +1,39 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pcre, doxygen }:
+{ lib, stdenv, fetchpatch, fetchFromGitHub, cmake, pcre2, doxygen }:
 
 stdenv.mkDerivation rec {
   pname = "editorconfig-core-c";
-  version = "0.12.1";
+  version = "0.12.5";
+
+  outputs = [ "out" "dev" ];
 
   src = fetchFromGitHub {
     owner = "editorconfig";
     repo = "editorconfig-core-c";
     rev = "v${version}";
-    sha256 = "sha256-pFsbyqIt7okfaiOwlYN8EXm1SFlCUnsHVbOgyIZZlys=";
+    sha256 = "sha256-4p8bomeXtA+zJ3IvWW0UZixdMnjYWYu7yeA6JUwwRb8=";
     fetchSubmodules = true;
   };
 
-  buildInputs = [ pcre ];
-  nativeBuildInputs = [ cmake doxygen ];
+  patches = [
+    # Fox broken paths in pkg-config.
+    # https://github.com/editorconfig/editorconfig-core-c/pull/81
+    (fetchpatch {
+      url = "https://github.com/editorconfig/editorconfig-core-c/commit/e0ead79d3bb4179fe9bccd3e5598ed47cc0863a3.patch";
+      sha256 = "t/DiPVyyYoMwFpNG6sD+rLWHheFCbMaILXyey6inGdc=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    doxygen
+  ];
+
+  buildInputs = [
+    pcre2
+  ];
 
   # Multiple doxygen can not generate man pages in the same base directory in
-  # parallel: https://bugzilla.gnome.org/show_bug.cgi?id=791153
+  # parallel: https://github.com/doxygen/doxygen/issues/6293
   enableParallelBuilding = false;
 
   meta = with lib; {
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index d9b56428f5c..6b5c2ba42f8 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -102,6 +102,7 @@ stdenv.mkDerivation rec {
     "--with-auto-load-safe-path=${builtins.concatStringsSep ":" safePaths}"
   ] ++ lib.optional (!pythonSupport) "--without-python"
     ++ lib.optional stdenv.hostPlatform.isMusl "--disable-nls"
+    ++ lib.optional stdenv.hostPlatform.isStatic "--disable-inprocess-agent"
     ++ lib.optional enableDebuginfod "--with-debuginfod=yes";
 
   postInstall =
diff --git a/pkgs/development/tools/misc/grpc-client-cli/default.nix b/pkgs/development/tools/misc/grpc-client-cli/default.nix
index aaabff3ed24..991473a8fce 100644
--- a/pkgs/development/tools/misc/grpc-client-cli/default.nix
+++ b/pkgs/development/tools/misc/grpc-client-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "grpc-client-cli";
-  version = "1.13.0";
+  version = "1.13.1";
 
   src = fetchFromGitHub {
     owner = "vadimi";
     repo = "grpc-client-cli";
     rev = "v${version}";
-    sha256 = "sha256-lm+XPZB1USYV3bSYyQCgHJwG6DkhDuAbTaUycxu+CeM=";
+    sha256 = "sha256-ILQuo0UO8L71mdCgyf+rQNZ2LXzZ7kVdbL1X7Z+H9P4=";
   };
 
   vendorSha256 = "sha256-benXxv//bB4fcfAsZ69DZu9E+4iKQgVbaWGYcFsnyfM=";
diff --git a/pkgs/development/tools/misc/nix-bisect/default.nix b/pkgs/development/tools/misc/nix-bisect/default.nix
index 23efce44cff..a4c3179e8e5 100644
--- a/pkgs/development/tools/misc/nix-bisect/default.nix
+++ b/pkgs/development/tools/misc/nix-bisect/default.nix
@@ -25,6 +25,11 @@ python3.pkgs.buildPythonApplication {
       url = "https://github.com/timokau/nix-bisect/commit/01eefe174b740cb90e48b06d67d5582d51786b96.patch";
       hash = "sha256-Gls/NtHH7LujdEgLbcIRZ12KsJDrasXIMcHeeBVns4A=";
     })
+    (fetchpatch {
+      # Fixes TypeError crashes associated with drvs_failed inconsistency
+      url = "https://github.com/timokau/nix-bisect/commit/9f3a17783046baae64c16f9e2be917c2603977fc.patch";
+      hash = "sha256-U9NUtgwslcgIf/wvH/WE7t0HGs2OP3wvYDKrb5j+lp0=";
+    })
   ];
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/development/tools/misc/prelink/default.nix b/pkgs/development/tools/misc/prelink/default.nix
index 384829daadf..d5c74284119 100644
--- a/pkgs/development/tools/misc/prelink/default.nix
+++ b/pkgs/development/tools/misc/prelink/default.nix
@@ -31,16 +31,8 @@ stdenv.mkDerivation rec {
     libiberty
   ];
 
-  # Disable some tests because they're failing
-  preCheck = ''
-    for f in reloc2 layout1 unprel1 tls3 cxx2 cxx3 quick1 quick2 deps1 deps2; do
-      echo '#' > testsuite/''${f}.sh
-    done
-    patchShebangs --build testsuite
-  '';
-
   # most tests fail
-  doCheck = !stdenv.isAarch64;
+  doCheck = false;
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/tools/misc/saleae-logic-2/default.nix b/pkgs/development/tools/misc/saleae-logic-2/default.nix
index a8d4f8b28c9..9203eb62289 100644
--- a/pkgs/development/tools/misc/saleae-logic-2/default.nix
+++ b/pkgs/development/tools/misc/saleae-logic-2/default.nix
@@ -1,10 +1,10 @@
 { lib, fetchurl, makeDesktopItem, appimageTools }:
 let
   name = "saleae-logic-2";
-  version = "2.3.56";
+  version = "2.3.58";
   src = fetchurl {
     url = "https://downloads.saleae.com/logic2/Logic-${version}-master.AppImage";
-    sha256 = "sha256-dH52yIzGO5n+TwNNPu51cpNIrqG/9CXERrJvo+m6R4w=";
+    sha256 = "sha256-WQa9J+rK71+T2IFUVpPLjkYfHy9GmZ9DZTBo+U4JKfo=";
   };
   desktopItem = makeDesktopItem {
     inherit name;
diff --git a/pkgs/development/tools/misc/seer/default.nix b/pkgs/development/tools/misc/seer/default.nix
new file mode 100644
index 00000000000..53a934d51de
--- /dev/null
+++ b/pkgs/development/tools/misc/seer/default.nix
@@ -0,0 +1,28 @@
+{ lib, stdenv, fetchFromGitHub, cmake, qtcharts, qtbase, wrapQtAppsHook }:
+
+stdenv.mkDerivation rec {
+  pname = "seer";
+  version = "1.8";
+
+  src = fetchFromGitHub {
+    owner = "epasveer";
+    repo = "seer";
+    rev = "v${version}";
+    sha256 = "sha256-Qx58oXSy1z8q9Tdgps6PlBrHutWs50E6K/M5vJKcjB0=";
+  };
+
+  preConfigure = ''
+    cd src
+  '';
+
+  buildInputs = [ qtbase qtcharts ];
+  nativeBuildInputs = [ cmake wrapQtAppsHook ];
+
+  meta = with lib; {
+    description = "A Qt gui frontend for GDB";
+    homepage = "https://github.com/epasveer/seer";
+    license = licenses.gpl3Only;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ foolnotion ];
+  };
+}
diff --git a/pkgs/development/tools/misc/svls/default.nix b/pkgs/development/tools/misc/svls/default.nix
index 2e3075c7b12..22703a4afc3 100644
--- a/pkgs/development/tools/misc/svls/default.nix
+++ b/pkgs/development/tools/misc/svls/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "svls";
-  version = "0.2.0";
+  version = "0.2.4";
 
   src = fetchFromGitHub {
     owner = "dalance";
     repo = "svls";
     rev = "v${version}";
-    sha256 = "sha256-WZuFYiPV6HbBH9QT4h9FbnmkbFBadUaV0HujiQ0hu7I=";
+    sha256 = "sha256-m7xV5sQZnRytT3QY1a9qihZV0Ub6zKjfDytZ+TDwdFg=";
   };
 
-  cargoSha256 = "sha256-tafxN3ots1UTSv950NlwCs6TItMnKz5tn5vw7PTcARU=";
+  cargoSha256 = "sha256-993XWYSUC2KuV2/dgTYAatoy5lGIveT3lL7eOYsbCig=";
 
   meta = with lib; {
     description = "SystemVerilog language server";
diff --git a/pkgs/development/tools/misc/terracognita/default.nix b/pkgs/development/tools/misc/terracognita/default.nix
index 0ca36d896de..d101e017bfd 100644
--- a/pkgs/development/tools/misc/terracognita/default.nix
+++ b/pkgs/development/tools/misc/terracognita/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "terracognita";
-  version = "0.7.6";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "cycloidio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-9t3W/mHXXl8Sw/2iQ5D3U66LiO+/mQ56K+ihJCO4au4=";
+    sha256 = "sha256-pI/TxC+RCQjtkYBA+BwW1jlDURKh1uf45GTIqz/rih8=";
   };
 
-  vendorSha256 = "sha256-JkgkBxeUUQBb+VQzhovH5MnVwdxplKMVCGs4CX/fZlY=";
+  vendorSha256 = "sha256-ihoWhiK3TO1lAvk1oU8HVVDBDvLFBw+MMaK2avWfCB4=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/misc/texlab/default.nix b/pkgs/development/tools/misc/texlab/default.nix
index 229c2b68f62..4371efca4f0 100644
--- a/pkgs/development/tools/misc/texlab/default.nix
+++ b/pkgs/development/tools/misc/texlab/default.nix
@@ -2,6 +2,7 @@
 , stdenv
 , rustPlatform
 , fetchFromGitHub
+, help2man
 , installShellFiles
 , libiconv
 , Security
@@ -9,34 +10,47 @@
 , nix-update-script
 }:
 
-rustPlatform.buildRustPackage rec {
+let
+  isCross = stdenv.hostPlatform != stdenv.buildPlatform;
+in rustPlatform.buildRustPackage rec {
   pname = "texlab";
-  version = "4.2.0";
+  version = "4.2.1";
 
   src = fetchFromGitHub {
     owner = "latex-lsp";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-oYM+OAYjQ8aNAryg0Cthj14BsxMFnOtz38XdUQZZolk=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-za3TauhNoxGDphpY615EnTt46HpMgS+sYpBln/twefw=";
   };
 
-  cargoSha256 = "sha256-TDGiqC9eNIJfLTc1R3nvE84rAsVE8jtTaeQbVNMeVgg=";
+  cargoSha256 = "sha256-wppaa3IGOqkFu/1CAp8g+PlPtMWm/7qNpPu0k4/mL3A=";
 
-  outputs = [ "out" "man" ];
+  outputs = [ "out" ] ++ lib.optional (!isCross) "man";
 
-  nativeBuildInputs = [ installShellFiles ];
+  nativeBuildInputs = [ installShellFiles ]
+  ++ lib.optional (!isCross) help2man;
 
-  buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security CoreServices ];
+  buildInputs = lib.optionals stdenv.isDarwin [
+    libiconv
+    Security
+    CoreServices
+  ];
 
   postInstall = ''
-    installManPage texlab.1
-
     # Remove generated dylib of human_name dependency. TexLab statically
     # links to the generated rlib and doesn't reference the dylib. I
     # couldn't find any way to prevent building this by passing cargo flags.
     # See https://github.com/djudd/human-name/blob/master/Cargo.toml#L43
     rm "$out/lib/libhuman_name${stdenv.hostPlatform.extensions.sharedLibrary}"
     rmdir "$out/lib"
+  ''
+  # When we cross compile we cannot run the output executable to
+  # generate the man page
+  + lib.optionalString (!isCross) ''
+    # TexLab builds man page separately in CI:
+    # https://github.com/latex-lsp/texlab/blob/v4.2.1/.github/workflows/publish.yml#L131-L135
+    help2man --no-info "$out/bin/texlab" > texlab.1
+    installManPage texlab.1
   '';
 
   passthru.updateScript = nix-update-script {
diff --git a/pkgs/development/tools/mold/default.nix b/pkgs/development/tools/mold/default.nix
index 00079c82c39..63a2fd58126 100644
--- a/pkgs/development/tools/mold/default.nix
+++ b/pkgs/development/tools/mold/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mold";
-  version = "1.3.1";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "rui314";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-KSIbMKaLcVUM2k+WQ5V+kU/TUQQFWpsCBVs8TQW+3g4=";
+    sha256 = "sha256-d1rSmDPiVHpYbDPWQKkDhcJJklKlM1+vGdzvjICTT14=";
   };
 
   buildInputs = [ zlib openssl ];
diff --git a/pkgs/development/tools/ocaml/opam/default.nix b/pkgs/development/tools/ocaml/opam/default.nix
index aa7cced5016..2108ba28404 100644
--- a/pkgs/development/tools/ocaml/opam/default.nix
+++ b/pkgs/development/tools/ocaml/opam/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, makeWrapper, getconf,
-  ocaml, unzip, ncurses, curl, aspcud, bubblewrap
+  ocaml, unzip, ncurses, curl, bubblewrap
 }:
 
 assert lib.versionAtLeast ocaml.version "4.02.3";
@@ -15,8 +15,8 @@ let
       sha256 = "1h04q0zkasd0mw64ggh4y58lgzkhg6yhzy60lab8k8zq9ba96ajw";
     };
     "cppo" = fetchurl {
-      url = "https://github.com/ocaml-community/cppo/releases/download/v1.6.7/cppo-v1.6.7.tbz";
-      sha256 = "17ajdzrnmnyfig3s6hinb56mcmhywbssxhsq32dz0v90dhz3wmfv";
+      url = "https://github.com/ocaml-community/cppo/archive/v1.6.8.tar.gz";
+      sha256 = "0lxy4xkkkwgs1cj6d9lyzsqi9f6fc9r6cir5imi7yjqrpd86s1by";
     };
     "cudf" = fetchurl {
       url = "https://github.com/ocaml/opam-source-archives/raw/main/cudf-0.9.tar.gz";
@@ -27,8 +27,8 @@ let
       sha256 = "1mh6fv8qbf8xx4h2dc0dpv2lzygvikzjhw1idrknibbwsjw3jg9c";
     };
     "dune-local" = fetchurl {
-      url = "https://github.com/ocaml/dune/releases/download/2.9.0/dune-2.9.0.tbz";
-      sha256 = "07m476kgagpd6kzm3jq30yfxqspr2hychah0xfqs14z82zxpq8dv";
+      url = "https://github.com/ocaml/dune/releases/download/2.9.1/dune-2.9.1.tbz";
+      sha256 = "09lzq04b642iy0ljp59p32lgk3q8iphjh8fkdp69q29l5frgwx5k";
     };
     "extlib" = fetchurl {
       url = "https://ygrek.org/p/release/ocaml-extlib/extlib-1.7.7.tar.gz";
@@ -47,12 +47,12 @@ let
       sha256 = "10wma4hh9l8hk49rl8nql6ixsvlz3163gcxspay5fwrpbg51fmxr";
     };
     "opam-file-format" = fetchurl {
-      url = "https://github.com/ocaml/opam-file-format/archive/2.1.3.tar.gz";
-      sha256 = "1bqyrlsvmjf4gqzmzbiyja9m1ph30ic9i18x23p5ziymyylw2sfg";
+      url = "https://github.com/ocaml/opam-file-format/archive/2.1.4.tar.gz";
+      sha256 = "0xbdlpxb0348pbwijna2x6nbi8fcxdh63cwrznn4q4zzbv9zsy02";
     };
     "re" = fetchurl {
-      url = "https://github.com/ocaml/ocaml-re/releases/download/1.9.0/re-1.9.0.tbz";
-      sha256 = "1gas4ky49zgxph3870nffzkr6y41kkpqp4nj38pz1gh49zcf12aj";
+      url = "https://github.com/ocaml/ocaml-re/releases/download/1.10.3/re-1.10.3.tbz";
+      sha256 = "1fqfg609996bgxr14yyfxhvl6hm9c1j0mm2xjdjigqrzgyb4crc4";
     };
     "result" = fetchurl {
       url = "https://github.com/janestreet/result/releases/download/1.5/result-1.5.tbz";
@@ -67,13 +67,13 @@ let
       sha256 = "0jnqsv6pqp5b5g7lcjwgd75zqqvcwcl5a32zi03zg1kvj79p5gxs";
     };
     opam = fetchurl {
-      url = "https://github.com/ocaml/opam/archive/2.1.2.zip";
-      sha256 = "0yq3dgx869016xrf65xv0glmqill1nk2ad12x3l36l70pn90rmyd";
+      url = "https://github.com/ocaml/opam/archive/2.1.3.zip";
+      sha256 = "08n72n5wc476p28ypxjs8fmlvcb42129fcva753gqm0xicqh24xf";
     };
   };
 in stdenv.mkDerivation {
   pname = "opam";
-  version = "2.1.2";
+  version = "2.1.3";
 
   nativeBuildInputs = [ makeWrapper unzip ];
   buildInputs = [ curl ncurses ocaml getconf ] ++ lib.optional stdenv.isLinux bubblewrap;
@@ -83,7 +83,7 @@ in stdenv.mkDerivation {
   postUnpack = ''
     ln -sv ${srcs."0install-solver"} $sourceRoot/src_ext/0install-solver.tbz
     ln -sv ${srcs."cmdliner"} $sourceRoot/src_ext/cmdliner.tbz
-    ln -sv ${srcs."cppo"} $sourceRoot/src_ext/cppo.tbz
+    ln -sv ${srcs."cppo"} $sourceRoot/src_ext/cppo.tar.gz
     ln -sv ${srcs."cudf"} $sourceRoot/src_ext/cudf.tar.gz
     ln -sv ${srcs."dose3"} $sourceRoot/src_ext/dose3.tar.gz
     ln -sv ${srcs."dune-local"} $sourceRoot/src_ext/dune-local.tbz
@@ -119,7 +119,7 @@ in stdenv.mkDerivation {
     mv $out/bin/opam $out/bin/.opam-wrapped
     makeWrapper $out/bin/.opam-wrapped $out/bin/opam \
       --argv0 "opam" \
-      --suffix PATH : ${aspcud}/bin:${unzip}/bin:${curl}/bin:${lib.optionalString stdenv.isLinux "${bubblewrap}/bin:"}${getconf}/bin \
+      --suffix PATH : ${unzip}/bin:${curl}/bin:${lib.optionalString stdenv.isLinux "${bubblewrap}/bin:"}${getconf}/bin \
       --set OPAM_USER_PATH_RO /run/current-system/sw/bin:/nix/
     $out/bin/opam-installer --prefix=$installer opam-installer.install
   '';
@@ -133,4 +133,4 @@ in stdenv.mkDerivation {
     platforms = platforms.all;
   };
 }
-# Generated by: ./opam.nix.pl -v 2.1.2 -p opam-shebangs.patch
+# Generated by: ./opam.nix.pl -v 2.1.3 -p opam-shebangs.patch
diff --git a/pkgs/development/tools/ocaml/opam/opam.nix.pl b/pkgs/development/tools/ocaml/opam/opam.nix.pl
index c914bac8b5c..2e816da8cc4 100755
--- a/pkgs/development/tools/ocaml/opam/opam.nix.pl
+++ b/pkgs/development/tools/ocaml/opam/opam.nix.pl
@@ -21,12 +21,12 @@ chomp $OPAM_RELEASE_SHA256;
 
 my $OPAM_BASE_URL = "https://raw.githubusercontent.com/$OPAM_GITHUB_REPO/$OPAM_TAG";
 my $OPAM_OPAM = `curl -L --url \Q$OPAM_BASE_URL\E/opam-devel.opam`;
-my($OCAML_MIN_VERSION) = $OPAM_OPAM =~ /^  "ocaml" {>= "(.*)"}$/m
+my($OCAML_MIN_VERSION) = $OPAM_OPAM =~ /^  "ocaml" \{>= "(.*)"}$/m
   or die "could not parse ocaml version bound\n";
 
 print <<"EOF";
 { stdenv, lib, fetchurl, makeWrapper, getconf,
-  ocaml, unzip, ncurses, curl, aspcud, bubblewrap
+  ocaml, unzip, ncurses, curl, bubblewrap
 }:
 
 assert lib.versionAtLeast ocaml.version "$OCAML_MIN_VERSION";
@@ -114,7 +114,7 @@ print <<'EOF';
     mv $out/bin/opam $out/bin/.opam-wrapped
     makeWrapper $out/bin/.opam-wrapped $out/bin/opam \
       --argv0 "opam" \
-      --suffix PATH : ${aspcud}/bin:${unzip}/bin:${curl}/bin:${lib.optionalString stdenv.isLinux "${bubblewrap}/bin:"}${getconf}/bin \
+      --suffix PATH : ${unzip}/bin:${curl}/bin:${lib.optionalString stdenv.isLinux "${bubblewrap}/bin:"}${getconf}/bin \
       --set OPAM_USER_PATH_RO /run/current-system/sw/bin:/nix/
     $out/bin/opam-installer --prefix=$installer opam-installer.install
   '';
diff --git a/pkgs/development/tools/parsing/ragel/default.nix b/pkgs/development/tools/parsing/ragel/default.nix
index e4a4ab162fa..81d7d9f0b35 100644
--- a/pkgs/development/tools/parsing/ragel/default.nix
+++ b/pkgs/development/tools/parsing/ragel/default.nix
@@ -3,7 +3,7 @@
 }:
 
 let
-  generic = { version, sha256, license }:
+  generic = { version, sha256, broken ? false, license }:
     stdenv.mkDerivation rec {
       pname = "ragel";
       inherit version;
@@ -26,10 +26,9 @@ let
       doCheck = true;
 
       meta = with lib; {
-        broken = stdenv.isDarwin;
         homepage = "https://www.colm.net/open-source/ragel/";
         description = "State machine compiler";
-        inherit license;
+        inherit broken license;
         platforms = platforms.unix;
         maintainers = with maintainers; [ pSub ];
       };
@@ -48,5 +47,6 @@ in
     version = "7.0.0.12";
     sha256 = "0x3si355lv6q051lgpg8bpclpiq5brpri5lv3p8kk2qhzfbyz69r";
     license = lib.licenses.mit;
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/development/tools/pgformatter/default.nix b/pkgs/development/tools/pgformatter/default.nix
index 16ef0a99390..2fbde805905 100644
--- a/pkgs/development/tools/pgformatter/default.nix
+++ b/pkgs/development/tools/pgformatter/default.nix
@@ -2,13 +2,13 @@
 
 perlPackages.buildPerlPackage rec {
   pname = "pgformatter";
-  version = "5.2";
+  version = "5.3";
 
   src = fetchFromGitHub {
     owner = "darold";
     repo = "pgFormatter";
     rev = "v${version}";
-    sha256 = "sha256-NNdg3H+tB5ovKWGneOs496c0b2dv/zFYF4CZhuH07Fs=";
+    sha256 = "sha256-W6xIUQhCUuPo2oIArqlM8RX2hlrPts12rTQQo+/74iM=";
   };
 
   outputs = [ "out" ];
diff --git a/pkgs/development/tools/pipenv/default.nix b/pkgs/development/tools/pipenv/default.nix
index 81c25fa235b..77089d133af 100644
--- a/pkgs/development/tools/pipenv/default.nix
+++ b/pkgs/development/tools/pipenv/default.nix
@@ -19,11 +19,11 @@ let
 
 in buildPythonApplication rec {
   pname = "pipenv";
-  version = "2022.6.7";
+  version = "2022.7.24";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-asDnqLvgKFnUbFPAPT8zE2u/ScjH2abYGECeF6YE7aA=";
+    sha256 = "sha256-N05jRQIg16uymMuu4GxLAidObxyyznt7Z3/V/T3TCEE=";
   };
 
   LC_ALL = "en_US.UTF-8";
diff --git a/pkgs/development/tools/railway/default.nix b/pkgs/development/tools/railway/default.nix
index 12824caee23..d5408e4527f 100644
--- a/pkgs/development/tools/railway/default.nix
+++ b/pkgs/development/tools/railway/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "railway";
-  version = "1.8.4";
+  version = "2.0.8";
 
   src = fetchFromGitHub {
     owner = "railwayapp";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-7hYbTDY+ECaOKuK54hPA9oeOSnBWYUvxWJ7GElZKoWE=";
+    sha256 = "sha256-E6DCY+xM796pQb48xkVQ6d3qgIB528hbCU96SCu2eYI=";
   };
 
   ldflags = [ "-s" "-w" ];
diff --git a/pkgs/development/tools/rain/default.nix b/pkgs/development/tools/rain/default.nix
new file mode 100644
index 00000000000..07db283bff7
--- /dev/null
+++ b/pkgs/development/tools/rain/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, testers
+, rain
+}:
+
+buildGoModule rec {
+  pname = "rain";
+  version = "1.2.0";
+
+  src = fetchFromGitHub {
+    owner = "aws-cloudformation";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-6YKZy6sdy1Yi2cDaLMA54GBTZ9uPhYi5Cq5QqCGbD5k=";
+  };
+
+  vendorSha256 = "sha256-e3R8+xarofbx3Ky6JIfDbysTQETCUaQj/QmzAiU7fZk=";
+
+  subPackages = [ "cmd/rain" ];
+
+  ldflags = [ "-s" "-w" ];
+
+  passthru.tests.version = testers.testVersion {
+    package = rain;
+    command = "rain --version";
+    version = "v${version}";
+  };
+
+  meta = with lib; {
+    description = "A development workflow tool for working with AWS CloudFormation";
+    homepage = "https://github.com/aws-cloudformation/rain";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jiegec ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/react-native-debugger/default.nix b/pkgs/development/tools/react-native-debugger/default.nix
index 3bd89c2daab..967c5541991 100644
--- a/pkgs/development/tools/react-native-debugger/default.nix
+++ b/pkgs/development/tools/react-native-debugger/default.nix
@@ -38,10 +38,10 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "react-native-debugger";
-  version = "0.12.1";
+  version = "0.13.0";
   src = fetchurl {
     url = "https://github.com/jhen0409/react-native-debugger/releases/download/v${version}/rn-debugger-linux-x64.zip";
-    sha256 = "sha256-DzDZmZn45gpZb/fkSssb0PtR7EVyBk44IjC57beg0RM=";
+    sha256 = "sha256-/uVXMVrVS7n4/mqz6IlKkk63hy67fn9KRjZ1wP5MHB0=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/development/tools/refinery-cli/default.nix b/pkgs/development/tools/refinery-cli/default.nix
new file mode 100644
index 00000000000..11219f6eec5
--- /dev/null
+++ b/pkgs/development/tools/refinery-cli/default.nix
@@ -0,0 +1,25 @@
+{ fetchCrate, lib, openssl, pkg-config, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "refinery-cli";
+  version = "0.8.5";
+
+  src = fetchCrate {
+    pname = "refinery_cli";
+    inherit version;
+    sha256 = "sha256-I9YjMsl70eiws4ea0P9oqOsNzN+gfO5Jwr7VlFCltq8=";
+  };
+
+  cargoSha256 = "sha256-Ehofdr6UNtOwRT0QVFaXDrWFRPqdF9eA8eL/hRwIJUM=";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ openssl ];
+
+  meta = with lib; {
+    description = "Run migrations for the Refinery ORM for Rust via the CLI";
+    homepage = "https://github.com/rust-db/refinery";
+    license = licenses.mit;
+    maintainers = with maintainers; [ lucperkins ];
+  };
+}
diff --git a/pkgs/development/tools/resolve-march-native/default.nix b/pkgs/development/tools/resolve-march-native/default.nix
new file mode 100644
index 00000000000..963e5ad1209
--- /dev/null
+++ b/pkgs/development/tools/resolve-march-native/default.nix
@@ -0,0 +1,30 @@
+{ python3Packages
+, fetchFromGitHub
+, gcc
+, lib
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "resolve-march-native";
+  version = "unstable-2022-07-29";
+
+  src = fetchFromGitHub {
+    owner = "hartwork";
+    repo = pname;
+    rev = "acfc87875e19ae9d4b0e5c9de1d21bc259415336";
+    hash = "sha256-Hdy8/fJXQV3p51EggyLqE2t00O0phwZjbqPhhMQKT5E=";
+  };
+
+  # NB: The tool uses gcc at runtime to resolve the -march=native flags
+  propagatedBuildInputs = [ gcc ];
+
+  doCheck = true;
+
+  meta = with lib; {
+    description = "Tool to determine what GCC flags -march=native would resolve into";
+    homepage = "https://github.com/hartwork/resolve-march-native";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ lovesegfault ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/revive/default.nix b/pkgs/development/tools/revive/default.nix
index 56ef62ce134..5b11a4c9d66 100644
--- a/pkgs/development/tools/revive/default.nix
+++ b/pkgs/development/tools/revive/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "revive";
-  version = "1.2.1";
+  version = "1.2.3";
 
   src = fetchFromGitHub {
     owner = "mgechev";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xZakVuw+QKzFh6wsnZbltLEEwyb9WcMvVWEzKnS9aWc=";
+    sha256 = "sha256-g19YrO8qTWsZmDngaDfiKVXP9aCaUbEO7Ac9Ir9KE14=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
@@ -18,7 +18,7 @@ buildGoModule rec {
       rm -rf $out/.git
     '';
   };
-  vendorSha256 = "sha256-Fpl5i+qMvJ/CDh8X0gps9C/BxF7/Uvln+3DpVOXE0WQ=";
+  vendorSha256 = "sha256-sa4OkTSRyoPFXTGmjpiqBug+EKgxkcJrNxQwbTRfN2A=";
 
   ldflags = [
     "-s"
@@ -35,7 +35,7 @@ buildGoModule rec {
 
   # The following tests fail when built by nix:
   #
-  # $ nix log /nix/store/build-revive.1.2.1.drv | grep FAIL
+  # $ nix log /nix/store/build-revive.1.2.3.drv | grep FAIL
   #
   # --- FAIL: TestAll (0.01s)
   # --- FAIL: TestTimeEqual (0.00s)
diff --git a/pkgs/development/tools/rust/cargo-deny/default.nix b/pkgs/development/tools/rust/cargo-deny/default.nix
index ed625cb229e..27a9de154e6 100644
--- a/pkgs/development/tools/rust/cargo-deny/default.nix
+++ b/pkgs/development/tools/rust/cargo-deny/default.nix
@@ -11,19 +11,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-deny";
-  version = "0.12.1";
+  version = "0.12.2";
 
   src = fetchFromGitHub {
     owner = "EmbarkStudios";
     repo = pname;
     rev = version;
-    sha256 = "sha256-w64fdjKXiCaM+U28Hte+I0LPqmGKxbCVRUyhNWcVyTc=";
+    sha256 = "sha256-2NfM1Gd+I9+XGuTyKXxoxH63mqR/G4YcvAjMU2Evhb0=";
   };
 
   # enable pkg-config feature of zstd
   cargoPatches = [ ./zstd-pkg-config.patch ];
 
-  cargoSha256 = "sha256-K9Ab4L/wnpUqe+gLKhtHX4fOgWXv6ZL9faa58hzdq/0=";
+  cargoSha256 = "sha256-6k35fv0HwHuu2k7V2GBjvdAajLVuXuFzVSpVSFF8y+s=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/tools/rust/cargo-expand/default.nix b/pkgs/development/tools/rust/cargo-expand/default.nix
index 8a4832dd6fe..a19393b7e22 100644
--- a/pkgs/development/tools/rust/cargo-expand/default.nix
+++ b/pkgs/development/tools/rust/cargo-expand/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-expand";
-  version = "1.0.28";
+  version = "1.0.29";
 
   src = fetchFromGitHub {
     owner = "dtolnay";
     repo = pname;
     rev = version;
-    sha256 = "sha256-PiVHA9dcndL301xTUEG4k2hqa4X7mn909/l+oxdkhw4=";
+    sha256 = "sha256-HK6FnB8S3rVTN9p7wYvmMUmdNmYQ738ua5491R6/KME=";
   };
 
-  cargoSha256 = "sha256-dfCACQszWhEnTLZFBe64CFrG+eoz0kmrquq7TnHkji4=";
+  cargoSha256 = "sha256-hqg4Htf8nRRPLm9xyJgb2T8ycsPUZmrRMvk4E5f17Fc=";
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
 
diff --git a/pkgs/development/tools/rust/cargo-geiger/default.nix b/pkgs/development/tools/rust/cargo-geiger/default.nix
index 3e5c8e2b9ea..a0e458bbd6e 100644
--- a/pkgs/development/tools/rust/cargo-geiger/default.nix
+++ b/pkgs/development/tools/rust/cargo-geiger/default.nix
@@ -13,15 +13,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-geiger";
-  version = "0.11.3";
+  version = "0.11.4";
 
   src = fetchFromGitHub {
     owner = "rust-secure-code";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "sha256-xymDV/FHJABw1s94m8fl8D51PQwkF5dX+1XD96++RX8=";
+    sha256 = "sha256-GxlUhfzGIKHSTNcSme/mQums6yI4ev8V0L1bXAWt8pw=";
   };
-  cargoSha256 = "sha256-2szgR9N3PGjGCIjqgtGNFSnzfSv57sGfslZ/PZyqMjI=";
+  cargoSha256 = "sha256-nCMUnhxNAMdk3Mi6eebrViQ1G5jcc3jk+CPRTUvcWRc=";
 
   buildInputs = [ openssl ]
     ++ lib.optionals stdenv.isDarwin [ CoreFoundation Security libiconv curl ];
diff --git a/pkgs/development/tools/rust/cargo-llvm-lines/default.nix b/pkgs/development/tools/rust/cargo-llvm-lines/default.nix
index 417cdd67618..910971fbddc 100644
--- a/pkgs/development/tools/rust/cargo-llvm-lines/default.nix
+++ b/pkgs/development/tools/rust/cargo-llvm-lines/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-llvm-lines";
-  version = "0.4.16";
+  version = "0.4.17";
 
   src = fetchFromGitHub {
     owner = "dtolnay";
     repo = pname;
     rev = version;
-    sha256 = "sha256-MDRVNCfyObEaN0eNnaDBQCYQV2Y1Ck5/8zdpG4eZbaE=";
+    sha256 = "sha256-Xlzvfic2uuMTMxAwWbWGii1ZdJglYxRI3iY1YQaufNQ=";
   };
 
-  cargoSha256 = "sha256-oOUidCM3Xex8bqBVJmrigHZHMdjXBNDdKaPiA/+MR7s=";
+  cargoSha256 = "sha256-3xlKZGRgxOzKtGNQCkZpSKnnczxDNuS4kY1VO/6LxlA=";
 
   meta = with lib; {
     description = "Count the number of lines of LLVM IR across all instantiations of a generic function";
diff --git a/pkgs/development/tools/rust/cargo-make/default.nix b/pkgs/development/tools/rust/cargo-make/default.nix
index f39cbfea08f..d42b4109497 100644
--- a/pkgs/development/tools/rust/cargo-make/default.nix
+++ b/pkgs/development/tools/rust/cargo-make/default.nix
@@ -13,11 +13,11 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-make";
-  version = "0.35.15";
+  version = "0.35.16";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-fHW3ypi/BlfDybhnHOmPoBlyMdf3ZK7pOnH35cvhhRU=";
+    sha256 = "sha256-QRsJoQ2lUOnSkQYwCgUI1su0avQLqEYn56Y0H1hOaVw=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl ]
     ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration libiconv ];
 
-  cargoSha256 = "sha256-Az7A0VMlWv34uUeM0TH7tT5FPja/j0x6aoF7qDw8JCs=";
+  cargoSha256 = "sha256-ppg+UksukKQLRncZYlvI7Qi9bdQn07dFPrNn8nQRCsI=";
 
   # Some tests fail because they need network access.
   # However, Travis ensures a proper build.
diff --git a/pkgs/development/tools/rust/cargo-modules/default.nix b/pkgs/development/tools/rust/cargo-modules/default.nix
index 3dbaa0b29fe..04a9b05732c 100644
--- a/pkgs/development/tools/rust/cargo-modules/default.nix
+++ b/pkgs/development/tools/rust/cargo-modules/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-modules";
-  version = "0.5.10";
+  version = "0.5.11";
 
   src = fetchFromGitHub {
     owner = "regexident";
     repo = pname;
     rev = version;
-    sha256 = "sha256-tzJBbDo3xYZ/db8Oz8MJqWtRyljxWMNJu071zYq7d7A=";
+    sha256 = "sha256-dxy46ls0n7j2uax+djqB9Zy/uGgV37w5K1Zc8Wzd1Vc=";
   };
 
-  cargoSha256 = "sha256-LO0Y7X498WwmZ7zl+AUBteLJeo65c0VUIAvjbW4ZDqw=";
+  cargoSha256 = "sha256-2Q4pGnMo4FiPPGz2XXOv6+zB5DxHA8oEqztidO2Vvyw=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     CoreFoundation
diff --git a/pkgs/development/tools/rust/cargo-nextest/default.nix b/pkgs/development/tools/rust/cargo-nextest/default.nix
index fe5b0e317ae..2fe692d74f6 100644
--- a/pkgs/development/tools/rust/cargo-nextest/default.nix
+++ b/pkgs/development/tools/rust/cargo-nextest/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-nextest";
-  version = "0.9.30";
+  version = "0.9.33";
 
   src = fetchFromGitHub {
     owner = "nextest-rs";
     repo = "nextest";
     rev = "cargo-nextest-${version}";
-    sha256 = "sha256-IHMehqvNvUNeqFFgIEHF4tmjpOPqAdj0s+/NeXvgqbs=";
+    sha256 = "sha256-RWlpco03YKlYv9QaGaySudBUG+rZaKURdgMeqFwrq1E=";
   };
 
-  cargoSha256 = "sha256-z8lk2+vKYTVPGw+A3NH6FaZNgivvAblAz+OQOHmNoa4=";
+  cargoSha256 = "sha256-azT4enQOdj2/rznU3fA8tr+4a/mRLj/HNsyDNRYLonM=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
diff --git a/pkgs/development/tools/rust/cargo-pgx/default.nix b/pkgs/development/tools/rust/cargo-pgx/default.nix
new file mode 100644
index 00000000000..4ad70bfa9ed
--- /dev/null
+++ b/pkgs/development/tools/rust/cargo-pgx/default.nix
@@ -0,0 +1,25 @@
+{ lib, stdenv, fetchCrate, rustPlatform, pkg-config, openssl, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cargo-pgx";
+  version = "0.4.5";
+
+  src = fetchCrate {
+    inherit version pname;
+    sha256 = "sha256-BcMGa/1ATwLG8VnwItfd5eqmrck/u0MEoR5sA2yuzyQ=";
+  };
+
+  cargoSha256 = "sha256-urlwqBCZMxlPEjLLPBhI2lDNTusCSZ1bZu1p8poVrtw=";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ openssl ]
+    ++ lib.optionals stdenv.isDarwin [ Security ];
+
+  meta = with lib; {
+    description = "Cargo subcommand for ‘pgx’ to make Postgres extension development easy";
+    homepage = "https://github.com/tcdi/pgx/tree/v${version}/cargo-pgx";
+    license = licenses.mit;
+    maintainers = with maintainers; [ typetetris ];
+  };
+}
diff --git a/pkgs/development/tools/rust/cargo-tally/default.nix b/pkgs/development/tools/rust/cargo-tally/default.nix
index eb74f1a378e..dccb76b1d95 100644
--- a/pkgs/development/tools/rust/cargo-tally/default.nix
+++ b/pkgs/development/tools/rust/cargo-tally/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-tally";
-  version = "1.0.8";
+  version = "1.0.9";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-NGYXe94eHvRQNxJgH7EiQaL9S+dtNlUrpVSWWQ/wHWY=";
+    sha256 = "sha256-KwR//7UpVoxreQVBY4/GawdU9Bk0d2Qj9EW3odvofc0=";
   };
 
-  cargoSha256 = "sha256-vXhZyVMKa/itc+loKuSkSqIWyS3VSowOg1QRS213DPo=";
+  cargoSha256 = "sha256-myqSki5pBT01bsJcEy92HkZHbLaWT+5Tl5u4LEUmlK4=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     DiskArbitration
diff --git a/pkgs/development/tools/rust/rust-analyzer/default.nix b/pkgs/development/tools/rust/rust-analyzer/default.nix
index 41a813ec105..cb6d8305b93 100644
--- a/pkgs/development/tools/rust/rust-analyzer/default.nix
+++ b/pkgs/development/tools/rust/rust-analyzer/default.nix
@@ -12,20 +12,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-analyzer-unwrapped";
-  version = "2022-07-11";
-  cargoSha256 = "sha256-XpLXx3f+BC8+O4Df/PJ4LWuLxX14e/ga+aFu/JxVdpg=";
+  version = "2022-08-01";
+  cargoSha256 = "sha256-7ZYrIFSIOlL1JojtaQBIvvlfvjZGlR40PKVjmEtMBMo=";
 
   src = fetchFromGitHub {
     owner = "rust-lang";
     repo = "rust-analyzer";
     rev = version;
-    sha256 = "sha256-HU1+Rql35ouZe0lx1ftCMDDwC9lqN3COudvMe+8XIx0=";
+    sha256 = "sha256-OUezy1BkIoqpkTE5wOtsjJ/Gy48Ql8EL1/t6MZzRkWw=";
   };
 
   patches = [
-    # Code format and git history check require more dependencies but don't really matter for packaging.
-    # So just ignore them.
-    ./ignore-git-and-rustfmt-tests.patch
+    # Code format check requires more dependencies but don't really matter for packaging.
+    # So just ignore it.
+    ./ignore-rustfmt-test.patch
   ];
 
   buildAndTestSubdir = "crates/rust-analyzer";
diff --git a/pkgs/development/tools/rust/rust-analyzer/ignore-git-and-rustfmt-tests.patch b/pkgs/development/tools/rust/rust-analyzer/ignore-git-and-rustfmt-tests.patch
deleted file mode 100644
index 1247e480468..00000000000
--- a/pkgs/development/tools/rust/rust-analyzer/ignore-git-and-rustfmt-tests.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/crates/rust-analyzer/tests/slow-tests/tidy.rs
-+++ b/crates/rust-analyzer/tests/slow-tests/tidy.rs
-@@ -6,6 +6,7 @@ use std::{
- use xshell::{cmd, pushd, pushenv, read_file};
- 
- #[test]
-+#[ignore]
- fn check_code_formatting() {
-     let _dir = pushd(sourcegen::project_root()).unwrap();
-     let _e = pushenv("RUSTUP_TOOLCHAIN", "stable");
-@@ -138,6 +139,7 @@ fn check_cargo_toml(path: &Path, text: String) -> () {
- }
- 
- #[test]
-+#[ignore]
- fn check_merge_commits() {
-     let stdout = cmd!("git rev-list --merges --invert-grep --author 'bors\\[bot\\]' HEAD~19..")
-         .read()
diff --git a/pkgs/development/tools/rust/rust-analyzer/ignore-rustfmt-test.patch b/pkgs/development/tools/rust/rust-analyzer/ignore-rustfmt-test.patch
new file mode 100644
index 00000000000..fd7e8335578
--- /dev/null
+++ b/pkgs/development/tools/rust/rust-analyzer/ignore-rustfmt-test.patch
@@ -0,0 +1,10 @@
+--- a/crates/rust-analyzer/tests/slow-tests/tidy.rs
++++ b/crates/rust-analyzer/tests/slow-tests/tidy.rs
+@@ -6,6 +6,7 @@ use std::{
+ use xshell::{cmd, pushd, pushenv, read_file};
+ 
+ #[test]
++#[ignore]
+ fn check_code_formatting() {
+     let _dir = pushd(sourcegen::project_root()).unwrap();
+     let _e = pushenv("RUSTUP_TOOLCHAIN", "stable");
\ No newline at end of file
diff --git a/pkgs/development/tools/rust/rustup/0001-dynamically-patchelf-binaries.patch b/pkgs/development/tools/rust/rustup/0001-dynamically-patchelf-binaries.patch
index 13649b387a3..2b191031da6 100644
--- a/pkgs/development/tools/rust/rustup/0001-dynamically-patchelf-binaries.patch
+++ b/pkgs/development/tools/rust/rustup/0001-dynamically-patchelf-binaries.patch
@@ -1,8 +1,8 @@
 diff --git a/src/dist/component/package.rs b/src/dist/component/package.rs
-index 3beddf54..0f859b8d 100644
+index 73a533b5..408ab815 100644
 --- a/src/dist/component/package.rs
 +++ b/src/dist/component/package.rs
-@@ -113,6 +113,7 @@ impl Package for DirectoryPackage {
+@@ -113,6 +113,7 @@ fn install<'a>(
                      } else {
                          builder.move_file(path.clone(), &src_path)?
                      }
@@ -10,13 +10,13 @@ index 3beddf54..0f859b8d 100644
                  }
                  "dir" => {
                      if self.copy {
-@@ -135,6 +136,29 @@ impl Package for DirectoryPackage {
+@@ -135,6 +136,29 @@ fn components(&self) -> Vec<String> {
      }
  }
  
 +fn nix_patchelf_if_needed(dest_path: &Path, src_path: &Path) {
 +    let (is_bin, is_lib) = if let Some(p) = src_path.parent() {
-+        (p.ends_with("bin"), p.ends_with("lib"))
++        (p.ends_with("bin") || p.ends_with("libexec"), p.ends_with("lib"))
 +    } else {
 +        (false, false)
 +    };
@@ -38,5 +38,5 @@ index 3beddf54..0f859b8d 100644
 +}
 +
  #[derive(Debug)]
- pub struct TarPackage<'a>(DirectoryPackage, temp::Dir<'a>);
+ pub(crate) struct TarPackage<'a>(DirectoryPackage, temp::Dir<'a>);
  
diff --git a/pkgs/development/tools/rust/sqlx-cli/default.nix b/pkgs/development/tools/rust/sqlx-cli/default.nix
index d5ec6f1228b..f34efb94418 100644
--- a/pkgs/development/tools/rust/sqlx-cli/default.nix
+++ b/pkgs/development/tools/rust/sqlx-cli/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "sqlx-cli";
-  version = "0.6.0";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = "launchbadge";
     repo = "sqlx";
     rev = "v${version}";
-    sha256 = "sha256-wAPZVDhT6Z8hTOYgbrCGu9uhxNhBLuygAsSpwVGzZxc=";
+    sha256 = "sha256-4XJ0dNbACCcbN5+d05H++jlRKuL+au3iOLMoBR/whOs=";
   };
 
-  cargoSha256 = "sha256-YUIeph0aacrC4OXb5qcjM5CSvKZEG+gYk6r45urmUeg=";
+  cargoSha256 = "sha256-sIe+uVCzTVUTePNIBekCA/uwRG+GWGonnvzhRDwh5Y4=";
 
   doCheck = false;
   cargoBuildFlags = [ "-p sqlx-cli" ];
diff --git a/pkgs/development/tools/rust/svd2rust/default.nix b/pkgs/development/tools/rust/svd2rust/default.nix
index 7efcfb08c47..ca40554c183 100644
--- a/pkgs/development/tools/rust/svd2rust/default.nix
+++ b/pkgs/development/tools/rust/svd2rust/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "svd2rust";
-  version = "0.24.1";
+  version = "0.25.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-BIATH7GsTPtvEFpCb8Kfb0k6s8K7xfhRHni+IgzAQ8k=";
+    sha256 = "sha256-k+/FxVCUPQuVXZFk+FE3cAtAf/YCgk/fGVtRKIeefJ8=";
   };
 
-  cargoSha256 = "sha256-kg+QW84bq+aD3/t0DmtL1W8ESC5Ug4X+I0pFJRalu7Q=";
+  cargoSha256 = "sha256-RxpBhA5lf+mcr4VMtsrdzlxN8oDttNcWuwxQAAYN8U8=";
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
 
diff --git a/pkgs/development/tools/sd-local/default.nix b/pkgs/development/tools/sd-local/default.nix
index c1c5bbee0ac..2faf1880ffc 100644
--- a/pkgs/development/tools/sd-local/default.nix
+++ b/pkgs/development/tools/sd-local/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "sd-local";
-  version = "1.0.40";
+  version = "1.0.42";
 
   src = fetchFromGitHub {
     owner = "screwdriver-cd";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-/b9ZmwTw9DbdO0KI7rfT0YW0Xo2cxfwhk1TEfTe3ySU=";
+    sha256 = "sha256-xPskMKInmaWi5dwx5E5z1ssTQ6Smj1L40Voy++g7Rhs=";
   };
 
   vendorSha256 = "sha256-43hcIIGqBscMjQzaIGdMqV5lq3od4Ls4TJdTeFGtu5Y=";
diff --git a/pkgs/development/tools/skopeo/default.nix b/pkgs/development/tools/skopeo/default.nix
index 084b85b7ce4..583624d8164 100644
--- a/pkgs/development/tools/skopeo/default.nix
+++ b/pkgs/development/tools/skopeo/default.nix
@@ -15,13 +15,13 @@
 
 buildGoModule rec {
   pname = "skopeo";
-  version = "1.9.1";
+  version = "1.9.2";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "containers";
     repo = "skopeo";
-    sha256 = "sha256-oNTGFoz/5KaxniA0+HfyGAFIt42a8YLdI3eeARWx2uA=";
+    sha256 = "sha256-F2kIFBsLhjV8Ecof05Ii5TzneEUdl9dmCZ2NhOABdmc=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/pkgs/development/tools/tabnine/default.nix b/pkgs/development/tools/tabnine/default.nix
index 49377bd001c..25ff528c6b9 100644
--- a/pkgs/development/tools/tabnine/default.nix
+++ b/pkgs/development/tools/tabnine/default.nix
@@ -1,19 +1,20 @@
 { stdenv, lib, fetchurl, unzip }:
 let
   # You can check the latest version with `curl -sS https://update.tabnine.com/bundles/version`
-  version = "4.4.40";
+  # There's a handy prefetch script in ./fetch-latest.sh
+  version = "4.4.98";
   supportedPlatforms = {
     "x86_64-linux" = {
       name = "x86_64-unknown-linux-musl";
-      sha256 = "sha256-goPPGU4oZWBD/C15rbbX5YMqua16A4MdLhBoC4JxaCI=";
+      hash = "sha256-AYgv/XrHjEOhtyx8QeOhssdsc/fssShZcA+15fFgI1g=";
     };
     "x86_64-darwin" = {
       name = "x86_64-apple-darwin";
-      sha256 = "sha256-CgYHQ91U6K3+kMyOSSia2B7IncR5u0eq9h3EZiBsRdU=";
+      hash = "sha256-XUd97ZUUb8XqMrlnSBER68fU3+58zpwKnzZ+i3dlWIs=";
     };
     "aarch64-darwin" = {
       name = "aarch64-apple-darwin";
-      sha256 = "sha256-JwX3TdKYmLQO3mWb15Ds/60VAAurGxqfJlMCQqy2pxg=";
+      hash = "sha256-L2r4fB4OtJJUvwnFP7zYAm8RLf8b7r6kDNGlwZRkLnw=";
     };
   };
   platform =
@@ -28,7 +29,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://update.tabnine.com/bundles/${version}/${platform.name}/TabNine.zip";
-    inherit (platform) sha256;
+    inherit (platform) hash;
   };
 
   dontBuild = true;
diff --git a/pkgs/development/tools/tabnine/fetch-latest.sh b/pkgs/development/tools/tabnine/fetch-latest.sh
new file mode 100755
index 00000000000..240a5597664
--- /dev/null
+++ b/pkgs/development/tools/tabnine/fetch-latest.sh
@@ -0,0 +1,29 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+function prefetch-sri() {
+    nix-prefetch-url "$1" 2>/dev/null | xargs nix hash to-sri --type sha256
+}
+
+declare -a PLATFORMS=(
+    x86_64-unknown-linux-musl
+    x86_64-apple-darwin
+    aarch64-apple-darwin
+)
+
+LATEST="$(curl -sS https://update.tabnine.com/bundles/version)"
+
+cat <<-EOF
+version = "${LATEST}";
+EOF
+
+for platform in "${PLATFORMS[@]}"; do
+    url="https://update.tabnine.com/bundles/${LATEST}/${platform}/TabNine.zip"
+    sha="$(prefetch-sri "$url")"
+    cat <<-EOF
+name = "${platform}";
+hash = "${sha}";
+
+EOF
+done
diff --git a/pkgs/development/tools/trunk/default.nix b/pkgs/development/tools/trunk/default.nix
index 3c40a0c0ce8..804acffc2df 100644
--- a/pkgs/development/tools/trunk/default.nix
+++ b/pkgs/development/tools/trunk/default.nix
@@ -3,13 +3,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "trunk";
-  version = "0.15.0";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     owner = "thedodd";
     repo = "trunk";
     rev = "v${version}";
-    sha256 = "sha256-VHUs/trR1M5WacEA0gwKLkGtsws9GFmn1vK0kRxpNII=";
+    sha256 = "sha256-6o+frbLtuw+DwJiWv4x11qX4GUffhxF19pi/7FLYmHA=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
   # requires network
   checkFlags = [ "--skip=tools::tests::download_and_install_binaries" ];
 
-  cargoSha256 = "sha256-czXe9W+oR1UV7zGZiiHcbydzH6sowa/8upm+5lkPG1U=";
+  cargoSha256 = "sha256-j/i2io1JfcNA7eeAXAAKMBtHORZm4J5dOFFNnzvx2cg=";
 
   meta = with lib; {
     homepage = "https://github.com/thedodd/trunk";
diff --git a/pkgs/development/tools/twiggy/default.nix b/pkgs/development/tools/twiggy/default.nix
new file mode 100644
index 00000000000..f1ee4c68fb1
--- /dev/null
+++ b/pkgs/development/tools/twiggy/default.nix
@@ -0,0 +1,22 @@
+{ lib
+, fetchCrate
+, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "twiggy";
+  version = "0.7.0";
+
+  src = fetchCrate {
+    inherit pname version;
+    sha256 = "sha256-NbtS7A5Zl8634Q3xyjVzNraNszjt1uIXqmctArfnqkk=";
+  };
+
+  cargoSha256 = "sha256-94pfhVZ0CNMn+lCl5O+wOyE+D6fVXbH4NAPx92nMNbM=";
+
+  meta = with lib; {
+    homepage = "https://rustwasm.github.io/twiggy/";
+    description = "A code size profiler for Wasm";
+    license = with licenses; [ asl20 mit ];
+    maintainers = with maintainers; [ lucperkins ];
+  };
+}
diff --git a/pkgs/development/tools/vgo2nix/default.nix b/pkgs/development/tools/vgo2nix/default.nix
index 6841b069b1d..c3b65fd2d68 100644
--- a/pkgs/development/tools/vgo2nix/default.nix
+++ b/pkgs/development/tools/vgo2nix/default.nix
@@ -17,8 +17,7 @@ buildGoModule {
     sha256 = "0n9pf0i5y59kiiv6dq8h8w1plaz9w6s67rqr2acqgxa45iq36mkh";
   };
 
-  vendorSha256 = "1xgl4avq0rblzqqpaxl4dwg4ysrhacwhfd21vb0v9ffr3zcpdw9n";
-  proxyVendor = true;
+  vendorSha256 = "sha256-e5n0QhgffzC1igZX1zS18IX5oF5F0Zy/s8jWyNOD8NM=";
 
   subPackages = [ "." ];
 
@@ -36,8 +35,5 @@ buildGoModule {
     license = licenses.mit;
     maintainers = with maintainers; [ adisbladis ];
     mainProgram = "vgo2nix";
-    # vendoring fails with cryptic error:
-    # reading file:///nix/store/..../github.com/orivej/e/@v/v0.0.0-20180728214217-ac3492690fda.zip: no such file or directory
-    broken = true;
   };
 }
diff --git a/pkgs/development/tools/wabt/default.nix b/pkgs/development/tools/wabt/default.nix
index 27e70288128..d74d4ad422e 100644
--- a/pkgs/development/tools/wabt/default.nix
+++ b/pkgs/development/tools/wabt/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wabt";
-  version = "1.0.28";
+  version = "1.0.29";
 
   src = fetchFromGitHub {
     owner = "WebAssembly";
     repo = "wabt";
     rev = version;
-    sha256 = "sha256-nNR2r8jiS0XKru6IdSeTDeCp1izO0xORiupJRa+fhHY=";
+    sha256 = "sha256-7Kh8kCwdSZX7E2s7UWptQHabYCVZG4luMiB1RJ72hQc=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/tools/wasmedge/default.nix b/pkgs/development/tools/wasmedge/default.nix
new file mode 100644
index 00000000000..f2a4863ecbc
--- /dev/null
+++ b/pkgs/development/tools/wasmedge/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, fetchFromGitHub
+, llvmPackages
+, boost
+, cmake
+, gtest
+, spdlog
+}:
+
+llvmPackages.stdenv.mkDerivation rec {
+  pname = "wasmedge";
+  version = "0.10.1";
+
+  src = fetchFromGitHub {
+    owner = "WasmEdge";
+    repo = "WasmEdge";
+    rev = version;
+    sha256 = "sha256-SJi8CV0sa+g+Ngvdw8+SxV3kHqoiKBhYUwDLZM4+jX0=";
+  };
+
+  buildInputs = [
+    boost
+    spdlog
+    llvmPackages.llvm
+  ];
+
+  nativeBuildInputs = [ cmake llvmPackages.lld ];
+
+  checkInputs = [ gtest ];
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DWASMEDGE_BUILD_TESTS=OFF" # Tests are downloaded using git
+  ];
+
+  meta = with lib; {
+    homepage = "https://wasmedge.org/";
+    license = with licenses; [ asl20 ];
+    description = "A lightweight, high-performance, and extensible WebAssembly runtime for cloud native, edge, and decentralized applications";
+    maintainers = with maintainers; [ dit7ya ];
+  };
+}
diff --git a/pkgs/development/tools/ytt/default.nix b/pkgs/development/tools/ytt/default.nix
index ebd3bf510a6..ec8c0f46cf5 100644
--- a/pkgs/development/tools/ytt/default.nix
+++ b/pkgs/development/tools/ytt/default.nix
@@ -1,17 +1,21 @@
 { lib, buildGoModule, fetchFromGitHub }:
 buildGoModule rec {
   pname = "ytt";
-  version = "0.41.1";
+  version = "0.42.0";
 
   src = fetchFromGitHub {
     owner = "vmware-tanzu";
     repo = "carvel-ytt";
     rev = "v${version}";
-    sha256 = "sha256-JOmDEhisJh4sezxf/Whsf1W7rn4q7C3GqmINQ/A13J0=";
+    sha256 = "sha256-D9ugW/b8k1SIUjlReLB8bk0VOSymBKYrm7tSlU2B9zg=";
   };
 
   vendorSha256 = null;
 
+  ldflags = [
+    "-X github.com/vmware-tanzu/carvel-ytt/pkg/version.Version=${version}"
+  ];
+
   subPackages = [ "cmd/ytt" ];
 
   meta = with lib; {
diff --git a/pkgs/development/web/flyctl/default.nix b/pkgs/development/web/flyctl/default.nix
index 88acc5e1c15..92de17fe00a 100644
--- a/pkgs/development/web/flyctl/default.nix
+++ b/pkgs/development/web/flyctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "flyctl";
-  version = "0.0.363";
+  version = "0.0.370";
 
   src = fetchFromGitHub {
     owner = "superfly";
     repo = "flyctl";
     rev = "v${version}";
-    sha256 = "sha256-Cyc5Kah62a7HJo55lgsplbnG87ttXkkWj/qo9EdSads=";
+    sha256 = "sha256-Med1B6E6e1oLkpaL8aNtT/qoHZtkCOwSRVkVQRPNRpI=";
   };
 
-  vendorSha256 = "sha256-NVLZEv5ySV3xwgTL8w3I4CZvrriADKKugt3q3IJKRf4=";
+  vendorSha256 = "sha256-CloCB7El/fSlBXVzBstm1wgMEobBNKPIQJCilS/PhX8=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/development/web/grails/default.nix b/pkgs/development/web/grails/default.nix
index 15fc3f1a9cc..da72db16437 100644
--- a/pkgs/development/web/grails/default.nix
+++ b/pkgs/development/web/grails/default.nix
@@ -11,11 +11,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "grails";
-  version = "5.2.1";
+  version = "5.2.2";
 
   src = fetchurl {
     url = "https://github.com/grails/grails-core/releases/download/v${version}/grails-${version}.zip";
-    sha256 = "sha256-vpElkOK1ZcUBDDP68+PQCMgKglJ2SoYb55Cog23AUhg=";
+    sha256 = "sha256-ghWWoAySJsiYmpdoFZIQrHSV7kOQe0kDQrONwgqFMzY=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/development/web/kore/default.nix b/pkgs/development/web/kore/default.nix
index 7a3ec5fe4ae..affadf281c3 100644
--- a/pkgs/development/web/kore/default.nix
+++ b/pkgs/development/web/kore/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "kore";
-  version = "4.2.1";
+  version = "4.2.2";
 
   src = fetchFromGitHub {
     owner = "jorisvink";
     repo = pname;
     rev = version;
-    sha256 = "sha256-MC4PCjRuAqWuGvNDsZXKohb4HdSWMV0Oc0pZ0rnhG7Y=";
+    sha256 = "sha256-B1Fm02EHkV4mogz4PrqdZWvRQ8ixO+sRhvqW7ObzJjY=";
   };
 
   buildInputs = [ openssl curl postgresql yajl ];
diff --git a/pkgs/development/web/postman/darwin.nix b/pkgs/development/web/postman/darwin.nix
index 01e989bc206..be52288701e 100644
--- a/pkgs/development/web/postman/darwin.nix
+++ b/pkgs/development/web/postman/darwin.nix
@@ -11,12 +11,12 @@ let
   dist = {
     aarch64-darwin = {
       arch = "arm64";
-      sha256 = "ddeb3c14cebc26bae01b338a8480aea26025bb033d85d33070ad22a401e52fee";
+      sha256 = "62b4b3c63668fa4074b35afe08c212557437ff54c742a500087c74955cec9e04";
     };
 
     x86_64-darwin = {
       arch = "64";
-      sha256 = "c5b249c9262efae5df9f4ccbc39b39e443a82876485174c2007c8dccc0b02f4b";
+      sha256 = "42160a3c3011f43692fcb28b37dec5f708395318681de960f0cb932cea36021f";
     };
   }.${stdenvNoCC.hostPlatform.system} or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}");
 
diff --git a/pkgs/development/web/postman/default.nix b/pkgs/development/web/postman/default.nix
index e4524e75cb9..fa8940e71db 100644
--- a/pkgs/development/web/postman/default.nix
+++ b/pkgs/development/web/postman/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "postman";
-  version = "9.22.2";
+  version = "9.25.2";
   meta = with lib; {
     homepage = "https://www.getpostman.com";
     description = "API Development Environment";
diff --git a/pkgs/development/web/postman/linux.nix b/pkgs/development/web/postman/linux.nix
index daf1c7afdeb..f7645007546 100644
--- a/pkgs/development/web/postman/linux.nix
+++ b/pkgs/development/web/postman/linux.nix
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://dl.pstmn.io/download/version/${version}/linux64";
-    sha256 = "cfb85d7ae366ee1487ce1b2dab1c19ffa25c214af5c083a09447ed488493b115";
+    sha256 = "118da102904cd7b04c50d3e2c2daac3fc1228f05e541eacef55e8ecbf73d3896";
     name = "${pname}.tar.gz";
   };
 
diff --git a/pkgs/games/0ad/game.nix b/pkgs/games/0ad/game.nix
index 34a2cdddac8..e51aab519a4 100644
--- a/pkgs/games/0ad/game.nix
+++ b/pkgs/games/0ad/game.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, perl, fetchurl, python3, fmt, libidn
+{ stdenv, lib, fetchpatch, perl, fetchurl, python3, fmt, libidn
 , pkg-config, spidermonkey_78, boost, icu, libxml2, libpng, libsodium
 , libjpeg, zlib, curl, libogg, libvorbis, enet, miniupnpc
 , openal, libGLU, libGL, xorgproto, libX11, libXcursor, nspr, SDL2
@@ -50,7 +50,14 @@ stdenv.mkDerivation rec {
     "-I${fmt.dev}/include"
   ];
 
-  patches = [ ./rootdir_env.patch ];
+  patches = [
+    ./rootdir_env.patch
+    (fetchpatch {
+      # fix build with gcc11 and glibc 2.35
+      url = "https://github.com/0ad/0ad/commit/7df614338cbd41f5e254ce75f649490b2637e1d0.patch";
+      hash = "sha256-QZvcNm8Zni3aJnMPueft0OITf8zeMDXWBjOLYoirJs0=";
+    })
+  ];
 
   configurePhase = ''
     # Delete shipped libraries which we don't need.
diff --git a/pkgs/games/bzflag/default.nix b/pkgs/games/bzflag/default.nix
index 6715c1b3625..db144a147f6 100644
--- a/pkgs/games/bzflag/default.nix
+++ b/pkgs/games/bzflag/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
     homepage = "https://bzflag.org/";
     license = licenses.lgpl21Plus;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ fpletz ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/games/factorio/versions.json b/pkgs/games/factorio/versions.json
index ba33d689b64..37abb4aed03 100644
--- a/pkgs/games/factorio/versions.json
+++ b/pkgs/games/factorio/versions.json
@@ -2,12 +2,12 @@
   "x86_64-linux": {
     "alpha": {
       "experimental": {
-        "name": "factorio_alpha_x64-1.1.61.tar.xz",
+        "name": "factorio_alpha_x64-1.1.65.tar.xz",
         "needsAuth": true,
-        "sha256": "1rgb3i6l9v5vv3qw0ngfxryamql2fhhqymv4dr86rxjy863rpx65",
+        "sha256": "0rzifli06s3k3gyzxpzzisxkvnvcidw4njkibrld2n5pwhjg8qbb",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.61/alpha/linux64",
-        "version": "1.1.61"
+        "url": "https://factorio.com/get-download/1.1.65/alpha/linux64",
+        "version": "1.1.65"
       },
       "stable": {
         "name": "factorio_alpha_x64-1.1.61.tar.xz",
@@ -38,12 +38,12 @@
     },
     "headless": {
       "experimental": {
-        "name": "factorio_headless_x64-1.1.61.tar.xz",
+        "name": "factorio_headless_x64-1.1.65.tar.xz",
         "needsAuth": false,
-        "sha256": "0ndnc0f22bqjg1v6ah7i4nzghvk7cn73sgm22lf715di6f6srr38",
+        "sha256": "1h5ziip9jbqr03ci2fvf3zqwmy0l7m25br3rm5xv0af9wig9wvh1",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.61/headless/linux64",
-        "version": "1.1.61"
+        "url": "https://factorio.com/get-download/1.1.65/headless/linux64",
+        "version": "1.1.65"
       },
       "stable": {
         "name": "factorio_headless_x64-1.1.61.tar.xz",
diff --git a/pkgs/games/fheroes2/default.nix b/pkgs/games/fheroes2/default.nix
index f22c1624190..83c856359af 100644
--- a/pkgs/games/fheroes2/default.nix
+++ b/pkgs/games/fheroes2/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fheroes2";
-  version = "0.9.17";
+  version = "0.9.18";
 
   src = fetchFromGitHub {
     owner = "ihhub";
     repo = "fheroes2";
     rev = version;
-    sha256 = "sha256-mitkB7BDqqDbWa+zhcg66dh/SQd6XuUjl/kLWob9zwI=";
+    sha256 = "sha256-I79PoNE6GFvYD4jnsxKo7MsoPgVow8b8fTIiClOGnAI=";
   };
 
   buildInputs = [ gettext libpng SDL2 SDL2_image SDL2_mixer SDL2_ttf zlib ];
diff --git a/pkgs/games/freeciv/default.nix b/pkgs/games/freeciv/default.nix
index e3057d59cd4..abe8aff1580 100644
--- a/pkgs/games/freeciv/default.nix
+++ b/pkgs/games/freeciv/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "freeciv";
-  version = "3.0.2";
+  version = "3.0.3";
 
   src = fetchFromGitHub {
     owner = "freeciv";
     repo = "freeciv";
     rev = "R${lib.replaceStrings [ "." ] [ "_" ] version}";
-    sha256 = "sha256-1QGARXIfb97aLxQ5TZ6Fjznlniznnyuc2ugiW/Drf9g=";
+    sha256 = "sha256-WIp1R27UahbkLZZuF0nbX/XHVDc2OJukPKgoQ+qnjMc=";
   };
 
   postPatch = ''
diff --git a/pkgs/games/gnubg/default.nix b/pkgs/games/gnubg/default.nix
index 90d54638b61..72762679052 100644
--- a/pkgs/games/gnubg/default.nix
+++ b/pkgs/games/gnubg/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, glib, python, gtk2, readline }:
+{ lib, stdenv, fetchurl, pkg-config, glib, python2, gtk2, readline }:
 
 stdenv.mkDerivation rec {
   pname = "gnubg";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "11xwhcli1h12k6rnhhyq4jphzrhfik7i8ah3k32pqw803460n6yf";
   };
 
-  nativeBuildInputs = [ pkg-config python glib ];
+  nativeBuildInputs = [ pkg-config python2 glib ];
 
   buildInputs = [ gtk2 readline ];
 
diff --git a/pkgs/games/grapejuice/default.nix b/pkgs/games/grapejuice/default.nix
index 08df64fb0e0..23e245149ad 100644
--- a/pkgs/games/grapejuice/default.nix
+++ b/pkgs/games/grapejuice/default.nix
@@ -31,13 +31,13 @@ python3Packages.buildPythonApplication rec  {
     gobject-introspection
     desktop-file-utils
     glib
-    gtk3
     wrapGAppsHook
   ];
 
   buildInputs = [
     cairo
     gettext
+    gtk3
   ];
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/games/fishfight/default.nix b/pkgs/games/jumpy/default.nix
index 9e5bbde8cf7..2afba817fc0 100644
--- a/pkgs/games/fishfight/default.nix
+++ b/pkgs/games/jumpy/default.nix
@@ -13,17 +13,17 @@
 }:
 
 rustPlatform.buildRustPackage rec {
-  pname = "fishfight";
-  version = "0.4.2";
+  pname = "jumpy";
+  version = "0.4.3";
 
   src = fetchFromGitHub {
-    owner = "fishfight";
+    owner = "fishfolks";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-q1Hh4P/huoFuW/+Mb9yKUMKaky1RshGpjrObBHRCk+8=";
+    sha256 = "sha256-01zhiQi6v/8ZajsdBU+4hKUCj+PRJ/vUHluOIzy/Gi8=";
   };
 
-  cargoSha256 = "sha256-PEGK95eXIHv2sxSwUU4345KtxDyRJn/+aEiJIDmkq6Y=";
+  cargoSha256 = "sha256-AXaGuRqSFiq+Uiy+UaqPdPVyDhCogC64KZZ0Ah1Yo7A=";
 
   nativeBuildInputs = lib.optionals stdenv.isLinux [
     pkg-config
diff --git a/pkgs/games/keeperrl/default.nix b/pkgs/games/keeperrl/default.nix
index a1ead9a3f9c..f1c0f171262 100644
--- a/pkgs/games/keeperrl/default.nix
+++ b/pkgs/games/keeperrl/default.nix
@@ -70,6 +70,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ ];
     # TODO: Add OS X
-    platforms = with platforms; [ "i686-linux" "x86_64-linux" ];
+    platforms = [ "i686-linux" "x86_64-linux" ];
   };
 }
diff --git a/pkgs/games/lgames/lpairs2/default.nix b/pkgs/games/lgames/lpairs2/default.nix
index 7fcc03d8cce..394b690b63d 100644
--- a/pkgs/games/lgames/lpairs2/default.nix
+++ b/pkgs/games/lgames/lpairs2/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   pname = "lpairs2";
-  version = "2.1";
+  version = "2.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/lgames/${pname}-${version}.tar.gz";
-    hash = "sha256-35KYDnPWOjNPu9wz9AWvSBAo1tdVDo7I2TNxtxE5RRg=";
+    hash = "sha256-swe/cB9RqxHSNSShiryJ8XfwZk2X6qIDxFURbwNOd58=";
   };
 
   buildInputs = [
diff --git a/pkgs/games/minecraft-servers/versions.json b/pkgs/games/minecraft-servers/versions.json
index 6d5155b769d..8dce87bb301 100644
--- a/pkgs/games/minecraft-servers/versions.json
+++ b/pkgs/games/minecraft-servers/versions.json
@@ -1,8 +1,8 @@
 {
   "1.19": {
-    "url": "https://piston-data.mojang.com/v1/objects/8399e1211e95faa421c1507b322dbeae86d604df/server.jar",
-    "sha1": "8399e1211e95faa421c1507b322dbeae86d604df",
-    "version": "1.19.1",
+    "url": "https://piston-data.mojang.com/v1/objects/f69c284232d7c7580bd89a5a4931c3581eae1378/server.jar",
+    "sha1": "f69c284232d7c7580bd89a5a4931c3581eae1378",
+    "version": "1.19.2",
     "javaVersion": 17
   },
   "1.18": {
diff --git a/pkgs/games/pokete/default.nix b/pkgs/games/pokete/default.nix
index 90aa3cdbe21..391faaa52b7 100644
--- a/pkgs/games/pokete/default.nix
+++ b/pkgs/games/pokete/default.nix
@@ -7,15 +7,15 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "pokete";
-  version = "0.8.0";
+  version = "0.8.2";
 
   format = "other";
 
   src = fetchFromGitHub {
     owner = "lxgr-linux";
     repo = "pokete";
-    rev = version;
-    sha256 = "sha256-DDKqxscXtl/i+YKiXAoFHXsGBQpcUvyHfOqwpe0hSgg=";
+    rev = "v${version}";
+    sha256 = "sha256-carQ/m7akdXLO4h5o0cE0EiQmsAyarMAV4AtG3KATYQ=";
   };
 
   pythonPath = with python3.pkgs; [
diff --git a/pkgs/games/quakespasm/vulkan.nix b/pkgs/games/quakespasm/vulkan.nix
index a6aadef7a57..eedab296ce9 100644
--- a/pkgs/games/quakespasm/vulkan.nix
+++ b/pkgs/games/quakespasm/vulkan.nix
@@ -1,4 +1,6 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper, SDL2, gzip, libvorbis, libmad, vulkan-headers, vulkan-loader }:
+{ lib, stdenv, fetchFromGitHub, makeWrapper
+, SDL2, gzip, libvorbis, libmad, vulkan-headers, vulkan-loader, moltenvk
+}:
 
 stdenv.mkDerivation rec {
   pname = "vkquake";
@@ -24,7 +26,7 @@ stdenv.mkDerivation rec {
     libvorbis
     libmad
     vulkan-loader
-  ];
+  ] ++ lib.optional stdenv.isDarwin moltenvk;
 
   buildFlags = [ "DO_USERDIRS=1" ];
 
@@ -53,7 +55,7 @@ stdenv.mkDerivation rec {
       specialization constants, CPU/GPU parallelism and memory pooling.
     '';
 
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ ];
+    platforms = with platforms; linux ++ darwin;
+    maintainers = with maintainers; [ ylh ];
   };
 }
diff --git a/pkgs/games/sgt-puzzles/default.nix b/pkgs/games/sgt-puzzles/default.nix
index 7419b6810cb..4c537d4dd37 100644
--- a/pkgs/games/sgt-puzzles/default.nix
+++ b/pkgs/games/sgt-puzzles/default.nix
@@ -1,15 +1,16 @@
 { lib, stdenv, fetchurl, desktop-file-utils
 , gtk3, libX11, cmake, imagemagick
 , pkg-config, perl, wrapGAppsHook
+, isMobile ? false
 }:
 
 stdenv.mkDerivation rec {
   pname = "sgt-puzzles";
-  version = "20220613.387d323";
+  version = "20220802.8399cff";
 
   src = fetchurl {
     url = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${version}.tar.gz";
-    hash = "sha256-Vcm7gxC9R7vvLkgkHblvEOONGLkYSHGMRfSBktgN/oQ=";
+    hash = "sha256-f68Nj8P8oIJj1LWyq8Iamv32ex+boPH/lsV5t+YhM9o=";
   };
 
   sgt-puzzles-menu = fetchurl {
@@ -26,6 +27,8 @@ stdenv.mkDerivation rec {
     wrapGAppsHook
   ];
 
+  NIX_CFLAGS_COMPILE = if isMobile then "-DSTYLUS_BASED" else "";
+
   buildInputs = [ gtk3 libX11 ];
 
   postInstall = ''
diff --git a/pkgs/games/steam/fhsenv.nix b/pkgs/games/steam/fhsenv.nix
index 0d765d0c117..f32f46f1f14 100644
--- a/pkgs/games/steam/fhsenv.nix
+++ b/pkgs/games/steam/fhsenv.nix
@@ -95,9 +95,11 @@ in buildFHSUserEnv rec {
     json-glib # paradox launcher (Stellaris)
     libdrm
     libxkbcommon # paradox launcher
+    libvorbis # Dead Cells
     mono
     xorg.xkeyboardconfig
     xorg.libpciaccess
+    xorg.libXScrnSaver # Dead Cells
     udev # shadow of the tomb raider
     icu # dotnet runtime, e.g. stardew valley
 
@@ -182,6 +184,7 @@ in buildFHSUserEnv rec {
     flac
     freeglut
     libjpeg
+    libpng
     libpng12
     libsamplerate
     libmikmod
diff --git a/pkgs/games/steam/runtime.nix b/pkgs/games/steam/runtime.nix
index 8f2398255a4..c8c67e94b4a 100644
--- a/pkgs/games/steam/runtime.nix
+++ b/pkgs/games/steam/runtime.nix
@@ -8,11 +8,11 @@ stdenv.mkDerivation rec {
 
   pname = "steam-runtime";
   # from https://repo.steampowered.com/steamrt-images-scout/snapshots/latest-steam-client-general-availability/VERSION.txt
-  version = "0.20211102.0";
+  version = "0.20220601.1";
 
   src = fetchurl {
     url = "https://repo.steampowered.com/steamrt-images-scout/snapshots/${version}/steam-runtime.tar.xz";
-    sha256 = "sha256-/ve4oVxKQ4uTaTiTg8Qc0Kyb4GRJKGZ5SQVLIyeJSpI=";
+    sha256 = "sha256-uYauNtbUlvrnATGks7hWy1zt4Y7AEeADrCr1eVylPbY=";
     name = "scout-runtime-${version}.tar.gz";
   };
 
diff --git a/pkgs/games/the-powder-toy/default.nix b/pkgs/games/the-powder-toy/default.nix
index ba2112617bb..6b739c8049d 100644
--- a/pkgs/games/the-powder-toy/default.nix
+++ b/pkgs/games/the-powder-toy/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A free 2D physics sandbox game";
     homepage = "http://powdertoy.co.uk/";
-    platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
+    platforms = platforms.unix;
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ abbradar siraben ];
     mainProgram = "powder";
diff --git a/pkgs/games/tintin/default.nix b/pkgs/games/tintin/default.nix
new file mode 100644
index 00000000000..7add5af64fc
--- /dev/null
+++ b/pkgs/games/tintin/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, lib, zlib, pcre
+, memorymappingHook, memstreamHook
+, gnutls
+}:
+
+stdenv.mkDerivation rec {
+  pname = "tintin";
+  version = "2.02.20";
+
+  src = fetchFromGitHub {
+    owner = "scandum";
+    repo = "tintin";
+    rev = version;
+    hash = "sha256-H9Cjg/GkyV50pgewv77zOJ8/Op78P9sQmZ5LorO4L+A=";
+  };
+
+  buildInputs = [ zlib pcre gnutls ]
+    ++ lib.optionals (stdenv.system == "x86_64-darwin") [ memorymappingHook memstreamHook ];
+
+  preConfigure = ''
+    cd src
+  '';
+
+  meta = with lib; {
+    description = "A free MUD client for macOS, Linux and Windows";
+    homepage    = "https://tintin.mudhalla.net/index.php";
+    license     = licenses.gpl3Plus;
+    maintainers = with maintainers; [ abathur ];
+    mainProgram = "tt++";
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/games/tome4/default.nix b/pkgs/games/tome4/default.nix
index b732777ed3a..704d09d72de 100644
--- a/pkgs/games/tome4/default.nix
+++ b/pkgs/games/tome4/default.nix
@@ -71,6 +71,6 @@ stdenv.mkDerivation rec {
     homepage = "https://te4.org/";
     license = licenses.gpl3;
     maintainers = with maintainers; [ peterhoeg ];
-    platforms = with platforms; [ "i686-linux" "x86_64-linux" ];
+    platforms = [ "i686-linux" "x86_64-linux" ];
   };
 }
diff --git a/pkgs/games/uqm/default.nix b/pkgs/games/uqm/default.nix
index 5b67b9bce94..797c41916f1 100644
--- a/pkgs/games/uqm/default.nix
+++ b/pkgs/games/uqm/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, fetchFromGitHub, pkg-config, libGLU, libGL
-, SDL, SDL_image, libpng, libvorbis, libogg, libmikmod
+, SDL2, libpng, libvorbis, libogg, libmikmod
 
 , use3DOVideos ? false, requireFile ? null, writeText ? null
 , haskellPackages ? null
@@ -28,37 +28,37 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "uqm";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/sc2/uqm-${version}-source.tgz";
-    sha256 = "08dj7fsvflxx69an6vpf3wx050mk0ycmdv401yffrrqbgxgmqsd3";
+    url = "mirror://sourceforge/sc2/uqm-${version}-src.tgz";
+    sha256 = "JPL325z3+vU7lfniWA5vWWIFqY7QwzXP6DTGR4WtT1o=";
   };
 
   content = fetchurl {
     url = "mirror://sourceforge/sc2/uqm-${version}-content.uqm";
-    sha256 = "1gx39ns698hyczd4nx73mr0z86bbi4q3h8sw3pxjh1lzla5xpxmq";
+    sha256 = "d9dawl5vt1WjPEujs4p7e8Qfy8AolokbDMmskhS3Lu8=";
   };
 
   voice = fetchurl {
     url = "mirror://sourceforge/sc2/uqm-${version}-voice.uqm";
-    sha256 = "0yf9ff5sxk229202gsa7ski6wn7a8hkjjyr1yr7mjdxsnh0zik5w";
+    sha256 = "ntv1HXfYtTM5nF86+1STFKghDXqrccosUbTySDIzekU=";
   };
 
   music = fetchurl {
     url = "mirror://sourceforge/sc2/uqm-${version}-3domusic.uqm";
-    sha256 = "10nbvcrr0lc0mxivxfkcbxnibwk3vwmamabrlvwdsjxd9pk8aw65";
+    sha256 = "RM087H6VabQRettNd/FSKJCXJWYmc5GuCWMUhdIx2Lk=";
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ SDL SDL_image libpng libvorbis libogg libmikmod libGLU libGL ];
+  buildInputs = [ SDL2 libpng libvorbis libogg libmikmod libGLU libGL ];
 
   postUnpack = ''
     mkdir -p uqm-${version}/content/packages
     mkdir -p uqm-${version}/content/addons
-    ln -s "$content" "uqm-${version}/content/packages/uqm-0.7.0-content.uqm"
-    ln -s "$music" "uqm-${version}/content/addons/uqm-0.7.0-3domusic.uqm"
-    ln -s "$voice" "uqm-${version}/content/addons/uqm-0.7.0-voice.uqm"
+    ln -s "$content" "uqm-${version}/content/packages/uqm-${version}-content.uqm"
+    ln -s "$music" "uqm-${version}/content/addons/uqm-${version}-3domusic.uqm"
+    ln -s "$voice" "uqm-${version}/content/addons/uqm-${version}-voice.uqm"
   '' + lib.optionalString useRemixPacks (lib.concatMapStrings (disc: ''
     ln -s "${disc}" "uqm-$version/content/addons/${disc.name}"
   '') remixPacks) + lib.optionalString use3DOVideos ''
diff --git a/pkgs/games/urbanterror/default.nix b/pkgs/games/urbanterror/default.nix
index dfbad29fa9e..fbb633bb657 100644
--- a/pkgs/games/urbanterror/default.nix
+++ b/pkgs/games/urbanterror/default.nix
@@ -68,7 +68,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "http://www.urbanterror.info";
     license = licenses.unfreeRedistributable;
-    maintainers = with maintainers; [ astsmtl fpletz ];
+    maintainers = with maintainers; [ astsmtl ];
     platforms = platforms.linux;
     hydraPlatforms = [];
   };
diff --git a/pkgs/games/wargus/default.nix b/pkgs/games/wargus/default.nix
index fda4f792c7b..ca4b70923ec 100644
--- a/pkgs/games/wargus/default.nix
+++ b/pkgs/games/wargus/default.nix
@@ -1,11 +1,30 @@
 { stdenv, lib, callPackage, fetchFromGitHub
+, fetchurl, runCommand, unzip, bchunk, p7zip
 , cmake, pkg-config, makeWrapper
 , zlib, bzip2, libpng
-, dialog, python3, cdparanoia
+, dialog, python3, cdparanoia, ffmpeg
 }:
 
 let
   stratagus = callPackage ./stratagus.nix {};
+
+  dataDownload = fetchurl {
+    url = "https://archive.org/download/warcraft-ii-tides-of-darkness_202105/Warcess.zip";
+    sha256 = "0yxgvf8xpv1w2bjmny4a38pa3xcdgqckk9abj21ilkc5zqzqmm9b";
+  };
+
+  data = runCommand "warcraft2" {
+    buildInputs = [ unzip bchunk p7zip ];
+    meta.license = lib.licenses.unfree;
+  } ''
+    unzip ${dataDownload} "Warcraft.II.Tides.of.Darkness/Warcraft II - Tides of Darkness (1995)/games/WarcrafD/cd/"{WC2BTDP.img,WC2BTDP.cue}
+    bchunk "Warcraft.II.Tides.of.Darkness/Warcraft II - Tides of Darkness (1995)/games/WarcrafD/cd/"{WC2BTDP.img,WC2BTDP.cue} WC2BTDP
+    rm -r Warcraft.II.Tides.of.Darkness
+    7z x WC2BTDP01.iso
+    rm WC2BTDP*.{iso,cdr}
+    cp -r DATA $out
+  '';
+
 in
 stdenv.mkDerivation rec {
   pname = "wargus";
@@ -15,10 +34,10 @@ stdenv.mkDerivation rec {
     owner = "wargus";
     repo = "wargus";
     rev = "v${version}";
-    sha256 = "0dibm68jxaqzgzcyblfj2bmwyz9v5ax0njnnbvak7xjk1zlh11sx";
+    sha256 = "sha256-yJeMFxCD0ikwVPQApf+IBuMQ6eOjn1fVKNmqh6r760c=";
   };
 
-  nativeBuildInputs = [ cmake pkg-config makeWrapper ];
+  nativeBuildInputs = [ cmake pkg-config makeWrapper ffmpeg ];
   buildInputs = [ zlib bzip2 libpng ];
   cmakeFlags = [
     "-DSTRATAGUS=${stratagus}/games/stratagus"
@@ -26,7 +45,12 @@ stdenv.mkDerivation rec {
   ];
   postInstall = ''
     makeWrapper $out/games/wargus $out/bin/wargus \
-      --prefix PATH : ${lib.makeBinPath [ "$out" cdparanoia python3 ]}
+      --prefix PATH : ${lib.makeBinPath [ "$out" ]}
+    substituteInPlace $out/share/applications/wargus.desktop \
+      --replace $out/games/wargus $out/bin/wargus
+
+    $out/bin/wartool -v -r ${data} $out/share/games/stratagus/wargus
+    ln -s $out/share/games/stratagus/wargus/{contrib/black_title.png,graphics/ui/black_title.png}
   '';
 
   meta = with lib; {
diff --git a/pkgs/games/wargus/stratagus.nix b/pkgs/games/wargus/stratagus.nix
index aa050442bfd..fc4f2342799 100644
--- a/pkgs/games/wargus/stratagus.nix
+++ b/pkgs/games/wargus/stratagus.nix
@@ -1,25 +1,25 @@
 { lib, stdenv, fetchFromGitHub
 , cmake, pkg-config, makeWrapper
 , zlib, bzip2, libpng, lua5_1, toluapp
-, SDL, SDL_mixer, SDL_image, libGL
+, SDL2, SDL2_mixer, SDL2_image, libGL
 }:
 
 stdenv.mkDerivation rec {
   pname = "stratagus";
-  version = "2.4.3";
+  version = "3.3.1";
 
   src = fetchFromGitHub {
     owner = "wargus";
     repo = "stratagus";
     rev = "v${version}";
-    sha256 = "128m5n9axq007xi8a002ig7d4dyw8j060542x220ld66ibfprhcn";
+    sha256 = "sha256-q8AvIWr/bOzI0wV0D2emxIXYEKDYmFxbtwr2BS+xYfA=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
   buildInputs = [
     zlib bzip2 libpng
     lua5_1 toluapp
-    (lib.getDev SDL) SDL_image SDL_mixer libGL
+    (lib.getDev SDL2) SDL2_image SDL2_mixer libGL
   ];
   cmakeFlags = [
     "-DCMAKE_CXX_FLAGS=-Wno-error=format-overflow"
diff --git a/pkgs/games/wesnoth/default.nix b/pkgs/games/wesnoth/default.nix
index 4e4cee5cb19..5060f2fb4f0 100644
--- a/pkgs/games/wesnoth/default.nix
+++ b/pkgs/games/wesnoth/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wesnoth";
-  version = "1.16.3";
+  version = "1.16.4";
 
   src = fetchFromGitHub {
     rev = version;
     owner = "wesnoth";
     repo = "wesnoth";
-    sha256 = "sha256-om6Tps5ZdAWq1WE9lq9v2oGwfPDPSRJ08pmMlT6DjGk=";
+    sha256 = "sha256-yb/Y54MVtzIi5+FnQQZTNDNGgkPn0j2n+7cH6qejAO0=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/misc/dxvk/default.nix b/pkgs/misc/dxvk/default.nix
index b51f215419c..6664db0e9ec 100644
--- a/pkgs/misc/dxvk/default.nix
+++ b/pkgs/misc/dxvk/default.nix
@@ -25,8 +25,8 @@ stdenvNoCC.mkDerivation (finalAttrs:
       darwin = { inherit (default) rev hash version; };
       default = {
         rev = "v${finalAttrs.version}";
-        hash = "sha256-+6PkrkamSvhCaGj2tq+RXri/yQ7vs0cAqgdRAFtU8UA=";
-        version = "1.10.1";
+        hash = "sha256-T93ZylxzJGprrP+j6axZwl2d3hJowMCUOKNjIyNzkmE=";
+        version = "1.10.3";
       };
     };
   in
diff --git a/pkgs/misc/rkdeveloptool/default.nix b/pkgs/misc/rkdeveloptool/default.nix
index 517a8cc6532..a07748fbe26 100644
--- a/pkgs/misc/rkdeveloptool/default.nix
+++ b/pkgs/misc/rkdeveloptool/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation {
   pname = "rkdeveloptool";
-  version = "unstable-2021-02-03";
+  version = "unstable-2021-04-08";
 
   src = fetchFromGitHub {
     owner = "rockchip-linux";
     repo = "rkdeveloptool";
-    rev = "e607a5d6ad3f6af66d3daf3f6370e6dc9763a20d";
-    sha256 = "08m0yfds5rpr5l0s75ynfarq3hrv94l3aadld17cz5gqapqcfs2n";
+    rev = "46bb4c073624226c3f05b37b9ecc50bbcf543f5a";
+    sha256 = "eIFzyoY6l3pdfCN0uS16hbVp0qzdG3MtcS1jnDX1Yk0=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
   buildInputs = [ libusb1 ];
 
   # main.cpp:1568:36: error: '%s' directive output may be truncated writing up to 557 bytes into a region of size 5
-  CPPFLAGS = "-Wno-error=format-truncation";
+  CPPFLAGS = lib.optionals stdenv.cc.isGNU [ "-Wno-error=format-truncation" ];
 
   meta = with lib; {
     homepage = "https://github.com/rockchip-linux/rkdeveloptool";
diff --git a/pkgs/misc/screensavers/electricsheep/default.nix b/pkgs/misc/screensavers/electricsheep/default.nix
index ff1736c0942..4b79758ef89 100644
--- a/pkgs/misc/screensavers/electricsheep/default.nix
+++ b/pkgs/misc/screensavers/electricsheep/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Electric Sheep, a distributed screen saver for evolving artificial organisms";
     homepage = "https://electricsheep.org/";
-    maintainers = with maintainers; [ fpletz ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
     license = licenses.gpl1;
   };
diff --git a/pkgs/misc/screensavers/xlockmore/default.nix b/pkgs/misc/screensavers/xlockmore/default.nix
index ac739d6a0db..ff351961c75 100644
--- a/pkgs/misc/screensavers/xlockmore/default.nix
+++ b/pkgs/misc/screensavers/xlockmore/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xlockmore";
-  version = "5.69";
+  version = "5.70";
 
   src = fetchurl {
     url = "http://sillycycle.com/xlock/xlockmore-${version}.tar.xz";
-    sha256 = "sha256-6pJlTAASJoSHZaJRpzvLxHPM7xe3IcwY1TYfWdvW07k=";
+    sha256 = "sha256-DzvLm4AkFs2Hu24WOjhD/qXX+tkP8Eg42hIsKSw9DaI=";
     curlOpts = "--user-agent 'Mozilla/5.0'";
   };
 
diff --git a/pkgs/misc/screensavers/xscreensaver/default.nix b/pkgs/misc/screensavers/xscreensaver/default.nix
index 836714fb919..72e283eaf11 100644
--- a/pkgs/misc/screensavers/xscreensaver/default.nix
+++ b/pkgs/misc/screensavers/xscreensaver/default.nix
@@ -9,12 +9,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "6.03";
+  version = "6.04";
   pname = "xscreensaver";
 
   src = fetchurl {
     url = "https://www.jwz.org/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-Mo1ReXNSrPWMpbq0nnb78mA058rXhfZR6hHOe0P7olo=";
+    sha256 = "sha256-eHAUsp8MV5Pswtk+EQmgSf9IqwwpuFHas09oPO72sVI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/misc/sndio/default.nix b/pkgs/misc/sndio/default.nix
index ea2229f264e..a65c0cd7b0f 100644
--- a/pkgs/misc/sndio/default.nix
+++ b/pkgs/misc/sndio/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "sndio";
-  version = "1.8.1";
+  version = "1.9.0";
 
   src = fetchurl {
     url = "https://www.sndio.org/sndio-${version}.tar.gz";
-    sha256 = "08b33bbrhbva1lyzzsj5k6ggcqzrfjfhb2n99a0b8b07kqc3f7gq";
+    sha256 = "sha256-8wgm/JwH42nTkk1fzt9qClPA30rh9atQ/pzygFQPaZo=";
   };
 
   nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
diff --git a/pkgs/misc/t-rec/default.nix b/pkgs/misc/t-rec/default.nix
index 922ae4c61bf..6861f464a5d 100644
--- a/pkgs/misc/t-rec/default.nix
+++ b/pkgs/misc/t-rec/default.nix
@@ -9,13 +9,13 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "t-rec";
-  version = "0.7.3";
+  version = "0.7.4";
 
   src = fetchFromGitHub {
     owner = "sassman";
     repo = "t-rec-rs";
     rev = "v${version}";
-    sha256 = "sha256-rVlNyvSeiQbauf8CREJDmb02wv6b/4IeOerRCRWVQVA=";
+    sha256 = "sha256-PvC1UaHt0ppGqVgouud/WKsP2CIGg+mbFN9VTiVy1RU=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -26,7 +26,7 @@ rustPlatform.buildRustPackage rec {
     wrapProgram "$out/bin/t-rec" --prefix PATH : "${binPath}"
   '';
 
-  cargoSha256 = "sha256-pcdvEHxqU6ZJwcsbnQEd9M0waK7y4aluYEpLIlZoK/s=";
+  cargoSha256 = "sha256-2EMxa39mIRN37U/v9+MMIGFRLOdkFeD+pVqoXU4f0kU=";
 
   meta = with lib; {
     description = "Blazingly fast terminal recorder that generates animated gif images for the web written in rust";
diff --git a/pkgs/misc/tpm2-pkcs11/default.nix b/pkgs/misc/tpm2-pkcs11/default.nix
index 87a9a0f979e..dd0cf011b15 100644
--- a/pkgs/misc/tpm2-pkcs11/default.nix
+++ b/pkgs/misc/tpm2-pkcs11/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   ];
   buildInputs = [
     tpm2-tss tpm2-tools opensc openssl sqlite libyaml
-    (python3.withPackages (ps: [ ps.pyyaml ps.cryptography ps.pyasn1-modules ps.tpm2-pytss ]))
+    (python3.withPackages (ps: with ps; [ packaging pyyaml cryptography pyasn1-modules tpm2-pytss ]))
   ];
 
   outputs = [ "out" "bin" "dev" ];
diff --git a/pkgs/os-specific/darwin/pngpaste/default.nix b/pkgs/os-specific/darwin/pngpaste/default.nix
new file mode 100644
index 00000000000..99ae8048f7f
--- /dev/null
+++ b/pkgs/os-specific/darwin/pngpaste/default.nix
@@ -0,0 +1,37 @@
+{ lib, stdenv, fetchFromGitHub, AppKit, Cocoa }:
+
+let
+  pname = "pngpaste";
+  version = "0.2.3";
+in stdenv.mkDerivation {
+  inherit pname version;
+  src = fetchFromGitHub {
+    owner = "jcsalterego";
+    repo = pname;
+    rev = version;
+    sha256 = "uvajxSelk1Wfd5is5kmT2fzDShlufBgC0PDCeabEOSE=";
+  };
+
+  buildInputs = [ AppKit Cocoa ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp pngpaste $out/bin
+  '';
+
+  meta = with lib; {
+    description = "Paste image files from clipboard to file on MacOS";
+    longDescription = ''
+      Paste PNG into files on MacOS, much like pbpaste does for text.
+      Supported input formats are PNG, PDF, GIF, TIF, JPEG.
+      Supported output formats are PNG, GIF, JPEG, TIFF.  Output
+      formats are determined by the provided filename extension,
+      falling back to PNG.
+    '';
+    homepage = "https://github.com/jcsalterego/pngpaste";
+    changelog = "https://github.com/jcsalterego/pngpaste/raw/${version}/CHANGELOG.md";
+    platforms = platforms.darwin;
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ samw ];
+  };
+}
diff --git a/pkgs/os-specific/darwin/sketchybar/default.nix b/pkgs/os-specific/darwin/sketchybar/default.nix
index a870adf3531..4f089c7be3e 100644
--- a/pkgs/os-specific/darwin/sketchybar/default.nix
+++ b/pkgs/os-specific/darwin/sketchybar/default.nix
@@ -10,13 +10,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "sketchybar";
-  version = "2.7.1";
+  version = "2.8.2";
 
   src = fetchFromGitHub {
     owner = "FelixKratz";
     repo = "SketchyBar";
     rev = "v${version}";
-    sha256 = "sha256-JzZ7X/McWIui9nkSkSGTSdBvJvMics/j7Qqh9wZU7iM=";
+    sha256 = "sha256-GmM+0h6xxUzW2kpTDZWAiqJAXoQgdsJRlNbvsuxKmZ8=";
   };
 
   buildInputs = [ Carbon Cocoa SkyLight ]
diff --git a/pkgs/os-specific/linux/alsa-project/alsa-lib/default.nix b/pkgs/os-specific/linux/alsa-project/alsa-lib/default.nix
index 4928f114a88..db8ede6feb8 100644
--- a/pkgs/os-specific/linux/alsa-project/alsa-lib/default.nix
+++ b/pkgs/os-specific/linux/alsa-project/alsa-lib/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "alsa-lib";
-  version = "1.2.7.1";
+  version = "1.2.7.2";
 
   src = fetchurl {
     url = "mirror://alsa/lib/${pname}-${version}.tar.bz2";
-    hash = "sha256-BG3ELfz60mkhe+BZVGhhN+XnOX8wQTcvjG3NfXlGHmE=";
+    hash = "sha256-ijW3IY5Q8qLHk0LQ3pje2BQ5zhnhKAk4Xsm+lZbefC8=";
   };
 
   patches = [
diff --git a/pkgs/os-specific/linux/apfs/default.nix b/pkgs/os-specific/linux/apfs/default.nix
index 6b911142f58..bcc53e82b9a 100644
--- a/pkgs/os-specific/linux/apfs/default.nix
+++ b/pkgs/os-specific/linux/apfs/default.nix
@@ -1,30 +1,20 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , kernel
 }:
 
 stdenv.mkDerivation {
   pname = "apfs";
-  version = "unstable-2022-02-03-${kernel.version}";
+  version = "unstable-2022-07-24-${kernel.version}";
 
   src = fetchFromGitHub {
     owner = "linux-apfs";
     repo = "linux-apfs-rw";
-    rev = "a0d6a4dca69b6eab3cabaaee4d4284807828a266";
-    sha256 = "sha256-3T1BNc6g3SDTxb0VrronLUIp/CWbwnzXTsc8Qk5c4jY=";
+    rev = "925d86b7be3ccf21b17734cfececf40e43c4598e";
+    sha256 = "sha256-N5lGJu4c03cVDk3WTcegzZHBDmguPEX8dCedJS2TMSI=";
   };
 
-  patches = [
-    # Fix build for Linux 5.18+.
-    # https://github.com/linux-apfs/linux-apfs-rw/pull/24
-    (fetchpatch {
-      url = "https://github.com/linux-apfs/linux-apfs-rw/commit/93b93767acab614c4e6426c9fd38bdf9af00bc13.patch";
-      sha256 = "1ss7cal851qadcmkn3jcckpa2f003nzb03xsx1g8vkb1cl0n8gi7";
-    })
-  ];
-
   hardeningDisable = [ "pic" ];
   nativeBuildInputs = kernel.moduleBuildDependencies;
 
diff --git a/pkgs/os-specific/linux/bbswitch/default.nix b/pkgs/os-specific/linux/bbswitch/default.nix
index 4f19c29e1c3..886bf3e6fee 100644
--- a/pkgs/os-specific/linux/bbswitch/default.nix
+++ b/pkgs/os-specific/linux/bbswitch/default.nix
@@ -2,7 +2,7 @@
 
 let
   baseName = "bbswitch";
-  version = "0.8";
+  version = "unstable-2021-11-29";
   name = "${baseName}-${version}-${kernel.version}";
 
 in
@@ -13,18 +13,15 @@ stdenv.mkDerivation {
   src = fetchFromGitHub {
     owner = "Bumblebee-Project";
     repo = "bbswitch";
-    rev = "v${version}";
-    hash = "sha256-FHC8myKnouNDERVds2QCJj1ZstjHrOzFpb+FDiSBjL4=";
+    # https://github.com/Bumblebee-Project/bbswitch/tree/develop
+    rev = "23891174a80ea79c7720bcc7048a5c2bfcde5cd9";
+    hash = "sha256-50v1Jxem5kaI1dHOKmgBbPLxI82QeYxiaRHhrHpWRzU=";
   };
 
   patches = [
     (fetchpatch {
-      url = "https://github.com/Bumblebee-Project/bbswitch/pull/102.patch";
-      sha256 = "1lbr6pyyby4k9rn2ry5qc38kc738d0442jhhq57vmdjb6hxjya7m";
-    })
-    (fetchpatch {
-      url = "https://github.com/Bumblebee-Project/bbswitch/pull/196.patch";
-      sha256 = "02ihy3piws7783qbm9q0mb9s18ipn5ckdy1iar74xn31qjrsn99n";
+      url = "https://raw.githubusercontent.com/archlinux/svntogit-community/0bd986055ba52887b81048de5c61e618eec06eb0/trunk/0003-kernel-5.18.patch";
+      sha256 = "sha256-va62/bR1qyBBMPg0lUwCH7slGG0XijxVCsFa4FCoHEQ=";
     })
   ];
 
@@ -64,6 +61,5 @@ stdenv.mkDerivation {
     homepage = "https://github.com/Bumblebee-Project/bbswitch";
     maintainers = with maintainers; [ abbradar ];
     license = licenses.gpl2Plus;
-    broken = kernel.kernelAtLeast "5.18";
   };
 }
diff --git a/pkgs/os-specific/linux/criu/default.nix b/pkgs/os-specific/linux/criu/default.nix
index af772645824..5475a565b09 100644
--- a/pkgs/os-specific/linux/criu/default.nix
+++ b/pkgs/os-specific/linux/criu/default.nix
@@ -1,20 +1,30 @@
-{ stdenv, lib, fetchurl, protobuf, protobufc, asciidoc, iptables
-, xmlto, docbook_xsl, libpaper, libnl, libcap, libnet, pkg-config
-, which, python3, makeWrapper, docbook_xml_dtd_45, perl }:
+{ stdenv, lib, fetchFromGitHub, fetchpatch, protobuf, protobufc, asciidoc, iptables
+, xmlto, docbook_xsl, libpaper, libnl, libcap, libnet, pkg-config, iproute2
+, which, python3, makeWrapper, docbook_xml_dtd_45, perl, nftables, libbsd }:
 
 stdenv.mkDerivation rec {
   pname = "criu";
-  version = "3.15";
+  version = "3.17.1";
 
-  src = fetchurl {
-    url    = "https://download.openvz.org/criu/${pname}-${version}.tar.bz2";
-    sha256 = "09d0j24x0cyc7wkgi7cnxqgfjk7kbdlm79zxpj8d356sa3rw2z24";
+  src = fetchFromGitHub {
+    owner = "checkpoint-restore";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-0B0cdX5bemy4glF9iWjrQIXIqilyYcCcAN9x4Jjrwzk=";
   };
 
+  patches = [
+    # Fixes redefinition of rseq headers
+    (fetchpatch {
+      url = "https://github.com/checkpoint-restore/criu/commit/1e6e826ffb7ac05f33fa123051c2fc2ddf0f68ea.patch";
+      hash = "sha256-LJjk0jQ5v5wqeprvBMpxhjLXn7v+lSPldEGgazGUM44=";
+    })
+  ];
+
   enableParallelBuilding = true;
   nativeBuildInputs = [ pkg-config docbook_xsl which makeWrapper docbook_xml_dtd_45 python3 python3.pkgs.wrapPython perl ];
-  buildInputs = [ protobuf protobufc asciidoc xmlto libpaper libnl libcap libnet iptables ];
-  propagatedBuildInputs = with python3.pkgs; [ python python3.pkgs.protobuf ];
+  buildInputs = [ protobuf asciidoc xmlto libpaper libnl libcap libnet nftables libbsd ];
+  propagatedBuildInputs = [ protobufc ] ++ (with python3.pkgs; [ python python3.pkgs.protobuf ]);
 
   postPatch = ''
     substituteInPlace ./Documentation/Makefile \
@@ -39,7 +49,8 @@ stdenv.mkDerivation rec {
 
   postFixup = ''
     wrapProgram $out/bin/criu \
-      --prefix PATH : ${lib.makeBinPath [ iptables ]}
+      --set-default CR_IPTABLES ${iptables}/bin/iptables \
+      --set-default CR_IP_TOOL ${iproute2}/bin/ip
     wrapPythonPrograms
   '';
 
diff --git a/pkgs/os-specific/linux/dddvb/default.nix b/pkgs/os-specific/linux/dddvb/default.nix
index a6994722756..ea69ecd7513 100644
--- a/pkgs/os-specific/linux/dddvb/default.nix
+++ b/pkgs/os-specific/linux/dddvb/default.nix
@@ -1,20 +1,29 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , kernel
 }:
 
 stdenv.mkDerivation rec {
   pname = "dddvb";
-  version = "0.9.38-pre.4";
+  version = "0.9.38-pre.6";
 
   src = fetchFromGitHub {
     owner = "DigitalDevices";
     repo = "dddvb";
-    rev = "e9ccab3578965234c0ea38c5b30969f33600561d";
-    sha256 = "sha256-gOG+dAeQ++kTC5xaEpsr3emz3s6FXiKeCHmA9shYBJk=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-bt/vMnqRWDDChZ6R4JbCr77cz3nlSPkx6siC9KLSEqs=";
   };
 
+  patches = [
+    (fetchpatch {
+      # pci_*_dma_mask no longer exists in 5.18
+      url = "https://github.com/DigitalDevices/dddvb/commit/871821d6a0be147313bb52570591ce3853b3d370.patch";
+      hash = "sha256-wY05HrsduvsIdp/KpS9NWfL3hR9IvGjuNCDljFn7dd0=";
+    })
+  ];
+
   postPatch = ''
     sed -i '/depmod/d' Makefile
   '';
@@ -35,6 +44,5 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ hexa ];
     platforms = platforms.linux;
-    broken = kernel.kernelAtLeast "5.18";
   };
 }
diff --git a/pkgs/os-specific/linux/firmware/fwupd/default.nix b/pkgs/os-specific/linux/firmware/fwupd/default.nix
index ce6dc1a1b27..541bef93a8a 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/default.nix
+++ b/pkgs/os-specific/linux/firmware/fwupd/default.nix
@@ -29,7 +29,7 @@
 , gnutls
 , protobufc
 , python3
-, wrapGAppsHook
+, wrapGAppsNoGuiHook
 , json-glib
 , bash-completion
 , shared-mime-info
@@ -159,7 +159,7 @@ let
       gnutls
       protobufc # for protoc
       python
-      wrapGAppsHook
+      wrapGAppsNoGuiHook
       vala
     ];
 
diff --git a/pkgs/os-specific/linux/hd-idle/default.nix b/pkgs/os-specific/linux/hd-idle/default.nix
index a1f355a849c..b9256158549 100644
--- a/pkgs/os-specific/linux/hd-idle/default.nix
+++ b/pkgs/os-specific/linux/hd-idle/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "hd-idle";
-  version = "1.16";
+  version = "1.17";
 
   src = fetchFromGitHub {
     owner = "adelolmo";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-LZcMwF/BhHiWWXMcrzbk8GyvwXdA3B2olmbOBxQwV5g=";
+    sha256 = "sha256-BHUjKvhUDeD/Xm0KKbkLH2XWn1W77E7Pm3OSPARF6Xw=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/os-specific/linux/intel-cmt-cat/default.nix b/pkgs/os-specific/linux/intel-cmt-cat/default.nix
index af194d9dc1c..669f79fab49 100644
--- a/pkgs/os-specific/linux/intel-cmt-cat/default.nix
+++ b/pkgs/os-specific/linux/intel-cmt-cat/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  version = "4.3.0";
+  version = "4.4.0";
   pname = "intel-cmt-cat";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "intel-cmt-cat";
     rev = "v${version}";
-    sha256 = "sha256-9XZuSHWcAFN5otBfG8xE4gTIDixw7mYnHT/CTjyOvwo=";
+    sha256 = "sha256-THP0ie9Ta0iNcAJYCRXMajqYBIFuT67kGMDakL4vIZc=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index ef775fe67da..a859d7eea4f 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -852,6 +852,8 @@ let
       MOUSE_PS2_VMMOUSE  = yes;
       MTRR_SANITIZER     = yes;
       NET_FC             = yes; # Fibre Channel driver support
+      # Needed for touchpads to work on some AMD laptops
+      PINCTRL_AMD        = whenAtLeast "5.19" yes;
       # GPIO on Intel Bay Trail, for some Chromebook internal eMMC disks
       PINCTRL_BAYTRAIL   = yes;
       # GPIO for Braswell and Cherryview devices
diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix
index bca6554ca2a..056544014f4 100644
--- a/pkgs/os-specific/linux/kernel/generic.nix
+++ b/pkgs/os-specific/linux/kernel/generic.nix
@@ -6,6 +6,7 @@
 , gmp ? null
 , libmpc ? null
 , mpfr ? null
+, pahole
 , lib
 , stdenv
 
@@ -124,7 +125,8 @@ let
 
     depsBuildBuild = [ buildPackages.stdenv.cc ];
     nativeBuildInputs = [ perl gmp libmpc mpfr ]
-      ++ lib.optionals (lib.versionAtLeast version "4.16") [ bison flex ];
+      ++ lib.optionals (lib.versionAtLeast version "4.16") [ bison flex ]
+      ++ lib.optional (lib.versionAtLeast version "5.2") pahole;
 
     platformName = stdenv.hostPlatform.linux-kernel.name;
     # e.g. "defconfig"
diff --git a/pkgs/os-specific/linux/kernel/hardened/patches.json b/pkgs/os-specific/linux/kernel/hardened/patches.json
index e8721c9eed0..798d89102ee 100644
--- a/pkgs/os-specific/linux/kernel/hardened/patches.json
+++ b/pkgs/os-specific/linux/kernel/hardened/patches.json
@@ -2,61 +2,61 @@
     "4.14": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-4.14.288-hardened1.patch",
-            "sha256": "0d592ppnd1bw375zyrfj92kg0k60knbq6g1lpawx7xhflklrlcfw",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.288-hardened1/linux-hardened-4.14.288-hardened1.patch"
+            "name": "linux-hardened-4.14.290-hardened1.patch",
+            "sha256": "14bnps4y5k2aa0fd2g4bdbiir1w7xfrvgsqd3cfzni8zhf4xrw0l",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.290-hardened1/linux-hardened-4.14.290-hardened1.patch"
         },
-        "sha256": "0yyzxyz66mfngx3ll3pl43413xb67iyxddzh3lpzqcfg7d0rxfwz",
-        "version": "4.14.288"
+        "sha256": "0zyxb99a7fa2l85vnzmvg2nry99clj20d4j38piqm921iqxak2j4",
+        "version": "4.14.290"
     },
     "4.19": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-4.19.252-hardened1.patch",
-            "sha256": "04jrv10z1kjqlnb58wmc3765xdpp8lm59vyhi94kbra3krzq7yax",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.252-hardened1/linux-hardened-4.19.252-hardened1.patch"
+            "name": "linux-hardened-4.19.254-hardened1.patch",
+            "sha256": "0c8mlpykk3j3zmh2fszyc0xnyqdfqf02nna5fq018179pmsglbnk",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.254-hardened1/linux-hardened-4.19.254-hardened1.patch"
         },
-        "sha256": "0ac7k6x9h8gqi37n8d4fyi52h4cmzyy8f5vfv1aiihww4kvzca7v",
-        "version": "4.19.252"
+        "sha256": "1rd40wmdaymbly2zvf60mjqsflkd4n1y232qz0ixn1rfl28yz62i",
+        "version": "4.19.254"
     },
     "5.10": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.10.131-hardened1.patch",
-            "sha256": "00px04xyr8hz73rm0adc0x9fifwcyh2bh0rg0vqc1yjva4kl639d",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.131-hardened1/linux-hardened-5.10.131-hardened1.patch"
+            "name": "linux-hardened-5.10.134-hardened1.patch",
+            "sha256": "0d6ygrsssbww9aqy55q1zxq2b1y9lwnz0j8xfqpya3c3hll1951a",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.134-hardened1/linux-hardened-5.10.134-hardened1.patch"
         },
-        "sha256": "1ki11mvl3dky7iih90znr47vr66dxnlwrqwg2jkk1hqn5i243i4b",
-        "version": "5.10.131"
+        "sha256": "0s9j4zzck9880kvyb18i2ng6dc16p0dwsi95mkwdhg83vyn16dgc",
+        "version": "5.10.134"
     },
     "5.15": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.15.55-hardened1.patch",
-            "sha256": "1nqf97la1sryis600pac0hnivahbhzq1k5q73wg9nmzrc0qjz5w0",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.55-hardened1/linux-hardened-5.15.55-hardened1.patch"
+            "name": "linux-hardened-5.15.58-hardened1.patch",
+            "sha256": "1c2friimfzi5i0x76z66wdgkfafly1rhpy8zzs7li3s79d22138k",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.58-hardened1/linux-hardened-5.15.58-hardened1.patch"
         },
-        "sha256": "1k7x7fp675wglfd357n7hjidnm3j8zj3gcymyazg6fkcid8bvxhy",
-        "version": "5.15.55"
+        "sha256": "1a2gzjfymfafvk8cvibr1zdfydzxg0c5j772c9hqwcabkibxjnyp",
+        "version": "5.15.58"
     },
     "5.18": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.18.12-hardened1.patch",
-            "sha256": "07wap8qjjn21pxd04ll88kw6cq681ila46ji7i4jbad2dp3p5pcl",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.18.12-hardened1/linux-hardened-5.18.12-hardened1.patch"
+            "name": "linux-hardened-5.18.15-hardened1.patch",
+            "sha256": "0ir6k4d9mx4skyhxjin2hn237kl3qh6cl0kmjqkqyxkm83k12kln",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.18.15-hardened1/linux-hardened-5.18.15-hardened1.patch"
         },
-        "sha256": "09wmgfrnv1df6jg9v3svwhvnxl0j6h4f240p903xlmgj884lvds0",
-        "version": "5.18.12"
+        "sha256": "0g5yvhq7rmkzvfl4w50l7bg56a20insvg4s4nvgnk2iqvkmlz039",
+        "version": "5.18.15"
     },
     "5.4": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.4.206-hardened1.patch",
-            "sha256": "0m4jcyvjqfki0asxapn4q9qgyfxw8k6yqcyw899zss8584zqa6i2",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.206-hardened1/linux-hardened-5.4.206-hardened1.patch"
+            "name": "linux-hardened-5.4.208-hardened1.patch",
+            "sha256": "0pknl9ac0qn8yig1hfm3hmlmvf5pxswymyilv0w3kcsacgg22xyi",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.208-hardened1/linux-hardened-5.4.208-hardened1.patch"
         },
-        "sha256": "1asvc7y1f938icspxx39n6y6r0w9mp0k9vik84rsx1hzzv0db41c",
-        "version": "5.4.206"
+        "sha256": "0i0fxv04r6g5ha84chih5cqsy59cv67pjxp8zfrdk1qapwddyvgh",
+        "version": "5.4.208"
     }
 }
diff --git a/pkgs/os-specific/linux/kernel/htmldocs.nix b/pkgs/os-specific/linux/kernel/htmldocs.nix
index 4039dafad55..4e42288aff8 100644
--- a/pkgs/os-specific/linux/kernel/htmldocs.nix
+++ b/pkgs/os-specific/linux/kernel/htmldocs.nix
@@ -31,7 +31,7 @@ let
         doCheck = false;
       };
 
-      sphinx_rtd_theme = prev.sphinx_rtd_theme.override {
+      sphinx-rtd-theme = prev.sphinx-rtd-theme.override {
         inherit sphinx;
         docutils = docutils_old;
       };
@@ -59,7 +59,7 @@ stdenv.mkDerivation {
     imagemagick
     perl
     py.pkgs.sphinx
-    py.pkgs.sphinx_rtd_theme
+    py.pkgs.sphinx-rtd-theme
     which
   ];
 
diff --git a/pkgs/os-specific/linux/kernel/linux-5.10.nix b/pkgs/os-specific/linux/kernel/linux-5.10.nix
index a3a9d64f1f3..a7184b37f43 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.10.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.10.134";
+  version = "5.10.135";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "0s9j4zzck9880kvyb18i2ng6dc16p0dwsi95mkwdhg83vyn16dgc";
+    sha256 = "0i1kahv739qpyyml7d7sx306nv7gp55i5d97vlb0fryfx4dsd6g4";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.15.nix b/pkgs/os-specific/linux/kernel/linux-5.15.nix
index ec02db37df3..e6e3ca260ee 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.15.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.15.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.15.58";
+  version = "5.15.59";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "1a2gzjfymfafvk8cvibr1zdfydzxg0c5j772c9hqwcabkibxjnyp";
+    sha256 = "1jxw6fnc7yaw7r6193wy6l8wdlpy3frw48drnc3dnh3k0m1cdpg6";
   };
 } // (args.argsOverride or { }))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.18.nix b/pkgs/os-specific/linux/kernel/linux-5.18.nix
index b3641d70b4e..edfdb859503 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.18.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.18.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.18.15";
+  version = "5.18.16";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "0g5yvhq7rmkzvfl4w50l7bg56a20insvg4s4nvgnk2iqvkmlz039";
+    sha256 = "1khi1npn8d8jimwdy8bf3r7l780mxdmvk5azdv419pk33qjqdxgi";
   };
 } // (args.argsOverride or { }))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix
index af11e96930d..e727097c028 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.4.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.4.208";
+  version = "5.4.209";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "0i0fxv04r6g5ha84chih5cqsy59cv67pjxp8zfrdk1qapwddyvgh";
+    sha256 = "1kdnz99k7zspzaxqaxahbf6hncigy4cvjlb79jsy7a95qxxr31qf";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix
index a1eb20eaae0..389bae73358 100644
--- a/pkgs/os-specific/linux/kernel/linux-libre.nix
+++ b/pkgs/os-specific/linux/kernel/linux-libre.nix
@@ -1,8 +1,8 @@
 { stdenv, lib, fetchsvn, linux
 , scripts ? fetchsvn {
     url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/";
-    rev = "18825";
-    sha256 = "0gqmdlcxq3ws3mafbf47j40vrrfr5966nily6l7gj8hq2j0016cj";
+    rev = "18837";
+    sha256 = "0645lkbh5bi9a8nhdyh21h7rrw8x8pmb7la08zn7gpkmwvk3wnwx";
   }
 , ...
 }:
diff --git a/pkgs/os-specific/linux/kernel/zen-kernels.nix b/pkgs/os-specific/linux/kernel/zen-kernels.nix
index 03202dd4b8b..58a71edf6fa 100644
--- a/pkgs/os-specific/linux/kernel/zen-kernels.nix
+++ b/pkgs/os-specific/linux/kernel/zen-kernels.nix
@@ -4,16 +4,16 @@ let
   # comments with variant added for update script
   # ./update-zen.py zen
   zenVariant = {
-    version = "5.18.15"; #zen
+    version = "5.19.1"; #zen
     suffix = "zen1"; #zen
-    sha256 = "0pn62l2ajas427ddbx92q5ad0rkqz6vvg6mc6dirs32a4j6nzajx"; #zen
+    sha256 = "1b906fa4hk56y5g1hx50kp395fakrphna4nnvy98vs8cxpcfyqi7"; #zen
     isLqx = false;
   };
   # ./update-zen.py lqx
   lqxVariant = {
-    version = "5.18.15"; #lqx
-    suffix = "lqx2"; #lqx
-    sha256 = "0mhl82h6fiay2d4b7x0n68j22ay81wr0ik6k0vx8vl4qqpf2anc0"; #lqx
+    version = "5.18.17"; #lqx
+    suffix = "lqx1"; #lqx
+    sha256 = "1cf4ix9xx1yi781xsrkaxn673mzi98dxlccsfvky78gjchmc8d6p"; #lqx
     isLqx = true;
   };
   zenKernelsFor = { version, suffix, sha256, isLqx }: buildLinux (args // {
diff --git a/pkgs/os-specific/linux/kmod/darwin.patch b/pkgs/os-specific/linux/kmod/darwin.patch
deleted file mode 100644
index 4d9931b03ee..00000000000
--- a/pkgs/os-specific/linux/kmod/darwin.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-diff --git a/Makefile.am b/Makefile.am
-index 194e111..0a095b5 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -80,8 +80,7 @@ EXTRA_DIST += libkmod/README \
- 	libkmod/COPYING testsuite/COPYING tools/COPYING COPYING
- 
- libkmod_libkmod_la_LDFLAGS = $(AM_LDFLAGS) \
--	-version-info $(LIBKMOD_CURRENT):$(LIBKMOD_REVISION):$(LIBKMOD_AGE) \
--	-Wl,--version-script=$(top_srcdir)/libkmod/libkmod.sym
-+	-version-info $(LIBKMOD_CURRENT):$(LIBKMOD_REVISION):$(LIBKMOD_AGE)
- libkmod_libkmod_la_DEPENDENCIES = \
- 	shared/libshared.la \
- 	${top_srcdir}/libkmod/libkmod.sym
-@@ -91,8 +90,7 @@ libkmod_libkmod_la_LIBADD = \
- 
- noinst_LTLIBRARIES += libkmod/libkmod-internal.la
- libkmod_libkmod_internal_la_SOURCES = $(libkmod_libkmod_la_SOURCES)
--libkmod_libkmod_internal_la_LDFLAGS = $(AM_LDFLAGS) \
--	-Wl,--version-script=$(top_srcdir)/libkmod/libkmod.sym
-+libkmod_libkmod_internal_la_LDFLAGS = $(AM_LDFLAGS)
- libkmod_libkmod_internal_la_DEPENDENCIES  = $(libkmod_libkmod_la_DEPENDENCIES)
- libkmod_libkmod_internal_la_LIBADD = $(libkmod_libkmod_la_LIBADD)
- 
-diff --git a/libkmod/libkmod-module.c b/libkmod/libkmod-module.c
-index 889f264..6f0a285 100644
---- a/libkmod/libkmod-module.c
-+++ b/libkmod/libkmod-module.c
-@@ -787,7 +787,11 @@ KMOD_EXPORT int kmod_module_remove_module(struct kmod_module *mod,
- 	flags &= KMOD_REMOVE_FORCE;
- 	flags |= KMOD_REMOVE_NOWAIT;
- 
-+#if defined(__linux__)
- 	err = delete_module(mod->name, flags);
-+#else
-+	err = -1;
-+#endif
- 	if (err != 0) {
- 		err = -errno;
- 		ERR(mod->ctx, "could not remove '%s': %m\n", mod->name);
-@@ -879,7 +883,11 @@ KMOD_EXPORT int kmod_module_insert_module(struct kmod_module *mod,
- 	}
- 	size = kmod_file_get_size(mod->file);
- 
-+#if defined(__linux__)
- 	err = init_module(mem, size, args);
-+#else
-+	err = -1;
-+#endif
- init_finished:
- 	if (err < 0) {
- 		err = -errno;
-diff --git a/libkmod/libkmod-signature.c b/libkmod/libkmod-signature.c
-index 429ffbd..17a3b9c 100644
---- a/libkmod/libkmod-signature.c
-+++ b/libkmod/libkmod-signature.c
-@@ -17,7 +17,10 @@
-  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
-  */
- 
-+#if defined(__linux__)
- #include <endian.h>
-+#endif
-+
- #include <inttypes.h>
- #include <stdio.h>
- #include <stdlib.h>
-diff --git a/shared/macro.h b/shared/macro.h
-index 4fc5405..b5a2702 100644
---- a/shared/macro.h
-+++ b/shared/macro.h
-@@ -53,6 +53,10 @@
- #define CONCATENATE(x, y) XCONCATENATE(x, y)
- #define UNIQ(x) CONCATENATE(x, __COUNTER__)
-
-+#if !defined(__linux__)
-+#define program_invocation_short_name getprogname()
-+#endif
-+
- /* Temporaries for importing index handling */
- #define NOFAIL(x) (x)
- #define fatal(x...) do { } while (0)
-diff --git a/shared/missing.h b/shared/missing.h
-index 4c0d136..ad8ec0f 100644
---- a/shared/missing.h
-+++ b/shared/missing.h
-@@ -45,6 +45,9 @@ static inline int finit_module(int fd, const char *uargs, int flags)
- #endif
- 
- #if !HAVE_DECL_BE32TOH
-+
-+#if defined(__linux__)
-+
- #include <endian.h>
- #include <byteswap.h>
- #if __BYTE_ORDER == __LITTLE_ENDIAN
-@@ -52,4 +55,16 @@ static inline int finit_module(int fd, const char *uargs, int flags)
- #else
- #define be32toh(x) (x)
- #endif
-+
-+#elif defined(__APPLE__)
-+
-+#include <libkern/OSByteOrder.h>
-+#define be32toh(x) OSSwapBigToHostInt32(x)
-+
-+#else
-+
-+#error No be32toh known for platform
-+
-+#endif
-+
- #endif
-diff --git a/shared/util.c b/shared/util.c
-index fd2028d..ecb0141 100644
---- a/shared/util.c
-+++ b/shared/util.c
-@@ -367,7 +367,7 @@ char *path_make_absolute_cwd(const char *p)
- 	if (path_is_absolute(p))
- 		return strdup(p);
- 
--	cwd = get_current_dir_name();
-+	cwd = getcwd(NULL, 0);
- 	if (!cwd)
- 		return NULL;
- 
---- a/shared/util.h	2018-01-31 18:10:59.000000000 +0100
-+++ b/shared/util.h	2020-12-28 19:48:21.000000000 +0100
-@@ -7,6 +7,9 @@
- #include <stdio.h>
- #include <sys/types.h>
- #include <sys/stat.h>
-+#ifdef __APPLE__
-+#include <libgen.h>
-+#endif
- 
- #include <shared/macro.h>
- 
diff --git a/pkgs/os-specific/linux/kmod/default.nix b/pkgs/os-specific/linux/kmod/default.nix
index 081f83b013a..80233504634 100644
--- a/pkgs/os-specific/linux/kmod/default.nix
+++ b/pkgs/os-specific/linux/kmod/default.nix
@@ -31,7 +31,7 @@ in stdenv.mkDerivation rec {
 
     docbook_xml_dtd_42 # for the man pages
   ] ++ lib.optionals withDevdoc [ docbook_xml_dtd_43 gtk-doc ];
-  buildInputs = [ xz zstd ] ++ lib.optional stdenv.isDarwin elf-header;
+  buildInputs = [ xz zstd ];
 
   preConfigure = ''
     ./autogen.sh
@@ -46,7 +46,6 @@ in stdenv.mkDerivation rec {
   ] ++ lib.optional withStatic "--enable-static";
 
   patches = [ ./module-dir.patch ]
-    ++ lib.optional stdenv.isDarwin ./darwin.patch
     ++ lib.optional withStatic ./enable-static.patch;
 
   postInstall = ''
@@ -77,7 +76,7 @@ in stdenv.mkDerivation rec {
     downloadPage = "https://www.kernel.org/pub/linux/utils/kernel/kmod/";
     changelog = "https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git/plain/NEWS?h=v${version}";
     license = with licenses; [ lgpl21Plus gpl2Plus ]; # GPLv2+ for tools
-    platforms = platforms.unix;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ artturin ];
   };
 }
diff --git a/pkgs/os-specific/linux/libbpf/default.nix b/pkgs/os-specific/linux/libbpf/default.nix
index e9b04ff6418..2c15e3d49ee 100644
--- a/pkgs/os-specific/linux/libbpf/default.nix
+++ b/pkgs/os-specific/linux/libbpf/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libbpf";
-  version = "0.8.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "libbpf";
     repo = "libbpf";
     rev = "v${version}";
-    sha256 = "sha256-D2ASqSZFNShCdRCH8LDocLP/O4sME9nT73rk1KsJeJE=";
+    sha256 = "sha256-daVS+TErmDU8ksThOvcepg1A61iD8N8GIkC40cmc9/8=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/os-specific/linux/libpsm2/default.nix b/pkgs/os-specific/linux/libpsm2/default.nix
index 070a18f6984..ebfe492f736 100644
--- a/pkgs/os-specific/linux/libpsm2/default.nix
+++ b/pkgs/os-specific/linux/libpsm2/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libpsm2";
-  version = "11.2.206";
+  version = "11.2.229";
 
   preConfigure= ''
     export UDEVDIR=$out/etc/udev
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     owner = "intel";
     repo = "opa-psm2";
     rev = "PSM2_${version}";
-    sha256 = "sha256-HsM2OaoX+SdbIednX1MWw1M4kkkPwUs5Dm32q2H7Mg4=";
+    sha256 = "sha256-t3tZCxGmGMscDmeyCATLbHxU7jEJqAzxwPV0Z8pl2ko=";
   };
 
   postInstall = ''
diff --git a/pkgs/os-specific/linux/linux-wifi-hotspot/default.nix b/pkgs/os-specific/linux/linux-wifi-hotspot/default.nix
index a29fe923f60..e5e4e1dca87 100644
--- a/pkgs/os-specific/linux/linux-wifi-hotspot/default.nix
+++ b/pkgs/os-specific/linux/linux-wifi-hotspot/default.nix
@@ -14,7 +14,15 @@
 , iproute2
 , flock
 , iptables
-, gawk }:
+, gawk
+, coreutils
+, gnugrep
+, gnused
+, kmod
+, networkmanager
+, procps
+}:
+
 
 stdenv.mkDerivation rec {
   pname = "linux-wifi-hotspot";
@@ -56,7 +64,21 @@ stdenv.mkDerivation rec {
   postInstall = ''
     wrapProgram $out/bin/create_ap \
       --prefix PATH : ${lib.makeBinPath [
-          hostapd getopt iw which dnsmasq iproute2 flock iptables gawk
+          coreutils
+          dnsmasq
+          flock
+          gawk
+          getopt
+          gnugrep
+          gnused
+          hostapd
+          iproute2
+          iptables
+          iw
+          kmod
+          networkmanager
+          procps
+          which
         ]}
 
     wrapProgram $out/bin/wihotspot-gui \
diff --git a/pkgs/os-specific/linux/lttng-modules/default.nix b/pkgs/os-specific/linux/lttng-modules/default.nix
index 0b522f2aef0..b2fa1056807 100644
--- a/pkgs/os-specific/linux/lttng-modules/default.nix
+++ b/pkgs/os-specific/linux/lttng-modules/default.nix
@@ -1,14 +1,41 @@
-{ lib, stdenv, fetchurl, kernel }:
+{ lib, stdenv, fetchgit, fetchpatch, kernel }:
 
 stdenv.mkDerivation rec {
   pname = "lttng-modules-${kernel.version}";
-  version = "2.13.2";
+  version = "2.13.4";
 
-  src = fetchurl {
-    url = "https://lttng.org/files/lttng-modules/lttng-modules-${version}.tar.bz2";
-    sha256 = "sha256-39VH2QQcjFRa5be/7z8O8tnyUg1qtEGIyeqN5W1dKYo=";
+  src = fetchgit {
+    url = "https://git.lttng.org/lttng-modules.git";
+    rev = "v${version}";
+    hash = "sha256-J2Tr1vOiCAilmnf3attF3bz8Irn9IQ2QbapdXJ4MUSg=";
   };
 
+  patches = [
+    # fix: mm/page_alloc: fix tracepoint mm_page_alloc_zone_locked() (v5.19)
+    (fetchpatch {
+      url = "https://git.lttng.org/?p=lttng-modules.git;a=patch;h=6229bbaa423832f6b7c7a658ad11e1d4242752ff";
+      hash = "sha256-pqbKxBzjfN20wfsqSeBLXNQ+/U+3qk9RfTiT32OwSIc=";
+    })
+
+    # fix: fs: Remove flags parameter from aops->write_begin (v5.19)
+    (fetchpatch {
+      url = "https://git.lttng.org/?p=lttng-modules.git;a=patch;h=5e2f832d59d51589ab69479c7db43c7581fb9346";
+      hash = "sha256-auoCbvFEVR76sOCLjIe+q/Q+vunQlR3G3gVcjqAGGPk=";
+    })
+
+    # fix: workqueue: Fix type of cpu in trace event (v5.19)
+    (fetchpatch {
+      url = "https://git.lttng.org/?p=lttng-modules.git;a=patch;h=c6da9604b1666780ea4725b3b3d1bfa1548f9c89";
+      hash = "sha256-qoTwy+P32qg1L+JctqM1+70OkeTbnbL3QJ9LwaBq/bw=";
+    })
+
+    # fix: net: skb: introduce kfree_skb_reason() (v5.15.58..v5.16)
+    (fetchpatch {
+      url = "https://git.lttng.org/?p=lttng-modules.git;a=patch;h=96c477dabaaf6cd1734bebe0972fef877e5a463b";
+      hash = "sha256-b7BhrYZ5SZqeRVGEu0Eo9GfbcZdDPrgEnOl2XU3z+ds=";
+    })
+  ];
+
   nativeBuildInputs = kernel.moduleBuildDependencies;
 
   hardeningDisable = [ "pic" ];
@@ -30,6 +57,5 @@ stdenv.mkDerivation rec {
     license = with licenses; [ lgpl21Only gpl2Only mit ];
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
-    broken = kernel.kernelAtLeast "5.18";
   };
 }
diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix
index 62f63a8c3ac..18c23c46c13 100644
--- a/pkgs/os-specific/linux/lxc/default.nix
+++ b/pkgs/os-specific/linux/lxc/default.nix
@@ -94,6 +94,6 @@ stdenv.mkDerivation rec {
     '';
 
     platforms = platforms.linux;
-    maintainers = with maintainers; [ fpletz ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/os-specific/linux/lxcfs/default.nix b/pkgs/os-specific/linux/lxcfs/default.nix
index 68bf0355230..67e96289e2a 100644
--- a/pkgs/os-specific/linux/lxcfs/default.nix
+++ b/pkgs/os-specific/linux/lxcfs/default.nix
@@ -46,6 +46,6 @@ stdenv.mkDerivation rec {
     changelog = "https://linuxcontainers.org/lxcfs/news/";
     license = licenses.asl20;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ mic92 fpletz ];
+    maintainers = with maintainers; [ mic92 ];
   };
 }
diff --git a/pkgs/os-specific/linux/microcode/intel.nix b/pkgs/os-specific/linux/microcode/intel.nix
index 002284e2154..6bb2855719b 100644
--- a/pkgs/os-specific/linux/microcode/intel.nix
+++ b/pkgs/os-specific/linux/microcode/intel.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "microcode-intel";
-  version = "20220510";
+  version = "20220809";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "Intel-Linux-Processor-Microcode-Data-Files";
     rev = "microcode-${version}";
-    sha256 = "sha256-x+8qyC7YP7co/7qLhaAtjMtyeANaZJ/r41iFl1Mut+M=";
+    hash = "sha256-vcuLQHAGr5uRkGWWIwA2WXLJadVNxfcPgjmNS82Logg=";
   };
 
   nativeBuildInputs = [ iucode-tool libarchive ];
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 271355d38ba..00bb005f636 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -17,11 +17,11 @@ rec {
   # Policy: use the highest stable version as the default (on our master).
   stable = if stdenv.hostPlatform.system == "x86_64-linux"
     then generic {
-      version = "515.57";
-      sha256_64bit = "sha256-hB1p/hQmiDZHESuwcP4vKaH4ScZKyAqNYccJcNjT1SI=";
-      openSha256 = "sha256-D8fXlmuGEHkFAT2aSAj7hXpndi2bfOd6vQAcKfsQx4U=";
-      settingsSha256 = "sha256-M9AVeMsHSQv+zhIdBtXm+QRXf7NcZpLfCDmKMUjBl1U=";
-      persistencedSha256 = "sha256-joKUuP4PgQxu4kOxy8SkHORPkEmuYfk3b+7svAyMQ1Q=";
+      version = "515.65.01";
+      sha256_64bit = "sha256-BJLdxbXmWqAMvHYujWaAIFyNCOEDtxMQh6FRJq7klek=";
+      openSha256 = "sha256-GCCDnaDsbXTmbCYZBCM3fpHmOSWti/DkBJwYrRGAMPI=";
+      settingsSha256 = "sha256-kBELMJCIWD9peZba14wfCoxsi3UXO3ehFYcVh4nvzVg=";
+      persistencedSha256 = "sha256-P8oT7g944HvNk2Ot/0T0sJM7dZs+e0d+KwbwRrmsuDY=";
     }
     else legacy_390;
 
@@ -34,6 +34,7 @@ rec {
     openSha256 = "sha256-1bAr5dWZ4jnY3Uo2JaEz/rhw2HuW9LZ5bACmA1VG068=";
     settingsSha256 = "sha256-j47LtP6FNTPfiXFh9KwXX8vZOQzlytA30ZfW9N5F2PY=";
     persistencedSha256 = "sha256-hULBy0wnVpLH8I0L6O9/HfgvJURtE2whpXOgN/vb3Wo=";
+    broken = kernel.kernelAtLeast "5.19"; # Added at 2022-08-12
   };
 
   # Vulkan developer beta driver
@@ -55,19 +56,22 @@ rec {
 
   # Last one supporting Kepler architecture
   legacy_470 = generic {
-      version = "470.129.06";
-      sha256_64bit = "sha256-QQkQtwBuFzBjMnaDKfS1PW+ekcxVXCiJkXWOKo8IqZg=";
-      settingsSha256 = "sha256-vUS4O/c4IrbC8offzUFGLlMdP/Tlz1GwQIV2geRfj/o=";
-      persistencedSha256 = "sha256-jCcYUsbhQ77IOQquXqbTZfh1N0IvKQOWrIMU9rEwSW0=";
+      version = "470.141.03";
+      sha256_64bit = "sha256-vpjSR6Q9dJGmW/3Jl/tlMeFZQ0brEqD6qgRGcs21cJ8=";
+      settingsSha256 = "sha256-OWSUmUBqAxsR3e6EPzcIotpd6nm4Le8hIj4pzJ5WnhE=";
+      persistencedSha256 = "sha256-XsGYGgucDhvPpqtM9IBLfo3tbn7sIobpo5JW/XqOkTo=";
   };
 
   # Last one supporting x86
   legacy_390 = generic {
-    version = "390.151";
-    sha256_32bit = "sha256-lOOZtFllnBKxNE6Mj09e7h7VkV/0WfyLuDHJ4dRGd9s=";
-    sha256_64bit = "sha256-UibkhCBEz/2Qlt6tr2iTTBM9p04FuAzNISNlhLOvsfw=";
-    settingsSha256 = "sha256-teXQa0pQctQl1dvddVJtI7U/vVuMu6ER1Xd99Jprpvw=";
-    persistencedSha256 = "sha256-FxiTXYABplKFcBXr4orhYWiJq4zVePpplMbg2kvEuXk=";
+    version = "390.154";
+    sha256_32bit = "sha256-XuhxuEvZ8o4iW3o+Xxvh+eLQBn83uNa40MJRcC8G0+c=";
+    sha256_64bit = "sha256-9EICgMVSEJZMAI1bck8mFYRdR61MnAXY7SamL8YzH3w=";
+    settingsSha256 = "sha256-iNT6//EvtasivDfXPY6j6OrpymbslO/q45uKd5smFUw=";
+    persistencedSha256 = "sha256-y+MkudjQBkuVzHrY/rh7IGRN8VjLsJQ3a+fYDXdrzzk=";
+
+    broken = kernel.kernelAtLeast "5.18";
+
     patches =
       let patch390 = o:
         (lib.optional ((lib.versions.majorMinor kernel.modDirVersion) == o.version) (fetchpatch {
diff --git a/pkgs/os-specific/linux/nvidia-x11/settings.nix b/pkgs/os-specific/linux/nvidia-x11/settings.nix
index 873e09df8df..884ccdd6c52 100644
--- a/pkgs/os-specific/linux/nvidia-x11/settings.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/settings.nix
@@ -1,6 +1,7 @@
 nvidia_x11: sha256:
 
-{ stdenv, lib, fetchFromGitHub, pkg-config, m4, jansson, gtk2, dbus, gtk3, libXv, libXrandr, libXext, libXxf86vm, libvdpau
+{ stdenv, lib, fetchFromGitHub, fetchpatch, pkg-config, m4, jansson, gtk2, dbus, gtk3
+, libXv, libXrandr, libXext, libXxf86vm, libvdpau
 , librsvg, wrapGAppsHook
 , withGtk2 ? false, withGtk3 ? true
 }:
@@ -43,21 +44,23 @@ in
 stdenv.mkDerivation {
   pname = "nvidia-settings";
   version = nvidia_x11.settingsVersion;
-  inherit src;
-
-  nativeBuildInputs = [ pkg-config m4 ];
 
-  buildInputs = [ jansson libXv libXrandr libXext libXxf86vm libvdpau nvidia_x11 gtk2 dbus ]
-             ++ lib.optionals withGtk3 [ gtk3 librsvg wrapGAppsHook ];
+  inherit src;
 
-  enableParallelBuilding = true;
-  makeFlags = nvidia_x11.makeFlags ++ [ "NV_USE_BUNDLED_LIBJANSSON=0" ];
-  installFlags = [ "PREFIX=$(out)" ];
+  patches = lib.optional (lib.versionOlder nvidia_x11.settingsVersion "440")
+    (fetchpatch {
+      # fixes "multiple definition of `VDPAUDeviceFunctions'" linking errors
+      url = "https://github.com/NVIDIA/nvidia-settings/commit/a7c1f5fce6303a643fadff7d85d59934bd0cf6b6.patch";
+      hash = "sha256-ZwF3dRTYt/hO8ELg9weoz1U/XcU93qiJL2d1aq1Jlak=";
+    });
 
   postPatch = lib.optionalString nvidia_x11.useProfiles ''
     sed -i 's,/usr/share/nvidia/,${nvidia_x11.bin}/share/nvidia/,g' src/gtk+-2.x/ctkappprofile.c
   '';
 
+  enableParallelBuilding = true;
+  makeFlags = nvidia_x11.makeFlags ++ [ "NV_USE_BUNDLED_LIBJANSSON=0" ];
+
   preBuild = ''
     if [ -e src/libXNVCtrl/libXNVCtrl.a ]; then
       ( cd src/libXNVCtrl
@@ -66,6 +69,13 @@ stdenv.mkDerivation {
     fi
   '';
 
+  nativeBuildInputs = [ pkg-config m4 ];
+
+  buildInputs = [ jansson libXv libXrandr libXext libXxf86vm libvdpau nvidia_x11 gtk2 dbus ]
+             ++ lib.optionals withGtk3 [ gtk3 librsvg wrapGAppsHook ];
+
+  installFlags = [ "PREFIX=$(out)" ];
+
   postInstall = ''
     ${lib.optionalString (!withGtk2) ''
       rm -f $out/lib/libnvidia-gtk2.so.*
@@ -87,7 +97,6 @@ stdenv.mkDerivation {
   '';
 
   binaryName = if withGtk3 then ".nvidia-settings-wrapped" else "nvidia-settings";
-
   postFixup = ''
     patchelf --set-rpath "$(patchelf --print-rpath $out/bin/$binaryName):$out/lib:${libXv}/lib" \
       $out/bin/$binaryName
diff --git a/pkgs/os-specific/linux/oci-seccomp-bpf-hook/default.nix b/pkgs/os-specific/linux/oci-seccomp-bpf-hook/default.nix
index 1952d31b024..75f210f4c22 100644
--- a/pkgs/os-specific/linux/oci-seccomp-bpf-hook/default.nix
+++ b/pkgs/os-specific/linux/oci-seccomp-bpf-hook/default.nix
@@ -10,12 +10,12 @@
 
 buildGoModule rec {
   pname = "oci-seccomp-bpf-hook";
-  version = "1.2.5";
+  version = "1.2.6";
   src = fetchFromGitHub {
     owner = "containers";
     repo = "oci-seccomp-bpf-hook";
     rev = "v${version}";
-    sha256 = "sha256-PU7WX5RAV6wWVRsqq6MdEjr00AtlTT4cSacRaxrEF2s=";
+    sha256 = "sha256-+HGVxPBCPIdFwzZf3lFE0MWA2xMKsHQkfDo4zyNgzpg=";
   };
   vendorSha256 = null;
 
diff --git a/pkgs/os-specific/linux/pam_gnupg/default.nix b/pkgs/os-specific/linux/pam_gnupg/default.nix
index ffb397334c1..1c54c42120a 100644
--- a/pkgs/os-specific/linux/pam_gnupg/default.nix
+++ b/pkgs/os-specific/linux/pam_gnupg/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pam_gnupg";
-  version = "0.3";
+  version = "0.4";
 
   src = fetchFromGitHub {
     owner = "cruegge";
     repo = "pam-gnupg";
     rev = "v${version}";
-    sha256 = "sha256-NDl6MsvIDAXkaLqXt7Wa0T7aulT31P5Z/d/Vb+ILya0=";
+    sha256 = "sha256-6I9a841qohA42lhOgZf/hharnjkthuB8lRptPDxUgMI=";
   };
 
   configureFlags = [
diff --git a/pkgs/os-specific/linux/prl-tools/default.nix b/pkgs/os-specific/linux/prl-tools/default.nix
index ce0c05346ef..9a2c23d735a 100644
--- a/pkgs/os-specific/linux/prl-tools/default.nix
+++ b/pkgs/os-specific/linux/prl-tools/default.nix
@@ -1,7 +1,24 @@
-{ stdenv, lib, makeWrapper, p7zip
-, gawk, util-linux, xorg, glib, dbus-glib, zlib, bbe, bash, timetrap, netcat, cups
-, kernel ? null, libsOnly ? false
-, fetchurl, undmg, perl, autoPatchelfHook
+{ stdenv
+, lib
+, makeWrapper
+, p7zip
+, gawk
+, util-linux
+, xorg
+, glib
+, dbus-glib
+, zlib
+, bbe
+, bash
+, timetrap
+, netcat
+, cups
+, kernel ? null
+, libsOnly ? false
+, fetchurl
+, undmg
+, perl
+, autoPatchelfHook
 }:
 
 assert (!libsOnly) -> kernel != null;
@@ -14,7 +31,7 @@ stdenv.mkDerivation rec {
   # We download the full distribution to extract prl-tools-lin.iso from
   # => ${dmg}/Parallels\ Desktop.app/Contents/Resources/Tools/prl-tools-lin.iso
   src = fetchurl {
-    url =  "https://download.parallels.com/desktop/v${lib.versions.major version}/${version}/ParallelsDesktop-${version}.dmg";
+    url = "https://download.parallels.com/desktop/v${lib.versions.major version}/${version}/ParallelsDesktop-${version}.dmg";
     sha256 = "sha256-gjLxQOTFuVghv1Bj+zfbNW97q1IN2rurSnPQi13gzRA=";
   };
 
@@ -39,7 +56,8 @@ stdenv.mkDerivation rec {
     fi
   '';
 
-  patches = lib.optionals (lib.versionAtLeast kernel.version "5.18") [ ./prl-tools.patch ];
+  patches = lib.optional (lib.versionAtLeast kernel.version "5.18") ./prl-tools-5.18.patch
+    ++ lib.optional (lib.versionAtLeast kernel.version "5.19") ./prl-tools-5.19.patch;
 
   kernelVersion = lib.optionalString (!libsOnly) kernel.modDirVersion;
   kernelDir = lib.optionalString (!libsOnly) "${kernel.dev}/lib/modules/${kernelVersion}";
diff --git a/pkgs/os-specific/linux/prl-tools/prl-tools.patch b/pkgs/os-specific/linux/prl-tools/prl-tools-5.18.patch
index 561371e1e84..561371e1e84 100644
--- a/pkgs/os-specific/linux/prl-tools/prl-tools.patch
+++ b/pkgs/os-specific/linux/prl-tools/prl-tools-5.18.patch
diff --git a/pkgs/os-specific/linux/prl-tools/prl-tools-5.19.patch b/pkgs/os-specific/linux/prl-tools/prl-tools-5.19.patch
new file mode 100644
index 00000000000..5ec00e6dd02
--- /dev/null
+++ b/pkgs/os-specific/linux/prl-tools/prl-tools-5.19.patch
@@ -0,0 +1,29 @@
+diff -puNr prl-tools-build/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c prl-tools-build/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c
+--- prl-tools-build/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c
++++ prl-tools-build/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c
+@@ -851,7 +851,7 @@ ssize_t prlfs_rw(struct inode *inode, char *buf, size_t size,
+ 		                loff_t *off, unsigned int rw, int user, int flags);
+ 
+ 
+-int prlfs_readpage(struct file *file, struct page *page) {
++int prlfs_read_folio(struct file *file, struct folio *folio) {
+ 	char *buf;
+ 	ssize_t ret;
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 9, 0)
+@@ -859,6 +859,7 @@ int prlfs_readpage(struct file *file, struct page *page) {
+ #else
+ 	struct inode *inode = file->f_dentry->d_inode;
+ #endif
++	struct page *page = &folio->page;
+ 	loff_t off = page->index << PAGE_SHIFT;
+ 
+ 	if (!file) {
+@@ -950,7 +951,7 @@ out:
+ }
+ 
+ static const struct address_space_operations prlfs_aops = {
+-	.readpage		= prlfs_readpage,
++	.read_folio		= prlfs_read_folio,
+ 	.writepage		= prlfs_writepage,
+ 	.write_begin    = simple_write_begin,
+ 	.write_end      = prlfs_write_end,
diff --git a/pkgs/os-specific/linux/rt-tests/default.nix b/pkgs/os-specific/linux/rt-tests/default.nix
index 278a370d47d..67000776256 100644
--- a/pkgs/os-specific/linux/rt-tests/default.nix
+++ b/pkgs/os-specific/linux/rt-tests/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "rt-tests";
-  version = "2.3";
+  version = "2.4";
 
   src = fetchurl {
     url = "https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git/snapshot/${pname}-${version}.tar.gz";
-    sha256 = "Q+rNdpRdsmW2gcsrfwg12EzpvO6qlEP/Mb/OWQMNmr8=";
+    sha256 = "sha256-yuSfeYTaCZ0F1GXQkDnH8PBvyzR2w/XDitN8csHB9xE=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/os-specific/linux/systemd/0001-Start-device-units-for-uninitialised-encrypted-devic.patch b/pkgs/os-specific/linux/systemd/0001-Start-device-units-for-uninitialised-encrypted-devic.patch
index 4b11aa1b136..2699c38440c 100644
--- a/pkgs/os-specific/linux/systemd/0001-Start-device-units-for-uninitialised-encrypted-devic.patch
+++ b/pkgs/os-specific/linux/systemd/0001-Start-device-units-for-uninitialised-encrypted-devic.patch
@@ -1,7 +1,7 @@
-From c8b50208dce4c467c1f85c3db3e05bdcfd43c378 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Eelco Dolstra <eelco.dolstra@logicblox.com>
 Date: Tue, 8 Jan 2013 15:46:30 +0100
-Subject: [PATCH 01/18] Start device units for uninitialised encrypted devices
+Subject: [PATCH] Start device units for uninitialised encrypted devices
 
 This is necessary because the NixOS service that initialises the
 filesystem depends on the appearance of the device unit.  Also, this
@@ -27,6 +27,3 @@ index 25b8a590a6..d18999ea87 100644
  # add symlink to GPT root disk
  SUBSYSTEM=="block", ENV{ID_PART_GPT_AUTO_ROOT}=="1", ENV{ID_FS_TYPE}!="crypto_LUKS", SYMLINK+="gpt-auto-root"
  SUBSYSTEM=="block", ENV{ID_PART_GPT_AUTO_ROOT}=="1", ENV{ID_FS_TYPE}=="crypto_LUKS", SYMLINK+="gpt-auto-root-luks"
--- 
-2.36.1
-
diff --git a/pkgs/os-specific/linux/systemd/0002-Don-t-try-to-unmount-nix-or-nix-store.patch b/pkgs/os-specific/linux/systemd/0002-Don-t-try-to-unmount-nix-or-nix-store.patch
index e05a7af17dc..f46480d32fe 100644
--- a/pkgs/os-specific/linux/systemd/0002-Don-t-try-to-unmount-nix-or-nix-store.patch
+++ b/pkgs/os-specific/linux/systemd/0002-Don-t-try-to-unmount-nix-or-nix-store.patch
@@ -1,7 +1,7 @@
-From c884aee4c66c97f592ae0f8ebd97f48a39d8c53c Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Eelco Dolstra <eelco.dolstra@logicblox.com>
 Date: Fri, 12 Apr 2013 13:16:57 +0200
-Subject: [PATCH 02/18] Don't try to unmount /nix or /nix/store
+Subject: [PATCH] Don't try to unmount /nix or /nix/store
 
 They'll still be remounted read-only.
 
@@ -37,6 +37,3 @@ index 820aa8e286..653e43053d 100644
  #if ! HAVE_SPLIT_USR
                  || path_equal(path, "/usr")
  #endif
--- 
-2.36.1
-
diff --git a/pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch b/pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch
index 6db68f5e011..a669350dbed 100644
--- a/pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch
+++ b/pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch
@@ -1,7 +1,7 @@
-From eb3ff76f95bfe248f517e029ea1b152f4983370a Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Eelco Dolstra <eelco.dolstra@logicblox.com>
 Date: Wed, 16 Apr 2014 10:59:28 +0200
-Subject: [PATCH 03/18] Fix NixOS containers
+Subject: [PATCH] Fix NixOS containers
 
 In NixOS containers, the init script is bind-mounted into the
 container, so checking early whether it exists will fail.
@@ -10,7 +10,7 @@ container, so checking early whether it exists will fail.
  1 file changed, 2 insertions(+)
 
 diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
-index c5fd978395..0fa415f5b5 100644
+index 4ce80bba70..bb149192bd 100644
 --- a/src/nspawn/nspawn.c
 +++ b/src/nspawn/nspawn.c
 @@ -5651,6 +5651,7 @@ static int run(int argc, char *argv[]) {
@@ -29,6 +29,3 @@ index c5fd978395..0fa415f5b5 100644
                  }
  
          } else {
--- 
-2.36.1
-
diff --git a/pkgs/os-specific/linux/systemd/0004-Look-for-fsck-in-the-right-place.patch b/pkgs/os-specific/linux/systemd/0004-Look-for-fsck-in-the-right-place.patch
index ce3263a2bdb..dfaf53e4a31 100644
--- a/pkgs/os-specific/linux/systemd/0004-Look-for-fsck-in-the-right-place.patch
+++ b/pkgs/os-specific/linux/systemd/0004-Look-for-fsck-in-the-right-place.patch
@@ -1,7 +1,7 @@
-From 789ca236fdc81dc3f514ddad3354eeb5fa8cc7d8 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Eelco Dolstra <eelco.dolstra@logicblox.com>
 Date: Thu, 1 May 2014 14:10:10 +0200
-Subject: [PATCH 04/18] Look for fsck in the right place
+Subject: [PATCH] Look for fsck in the right place
 
 ---
  src/fsck/fsck.c | 2 +-
@@ -20,6 +20,3 @@ index 745d01ff50..dd4eef45c3 100644
                  cmdline[i++] =  arg_repair;
                  cmdline[i++] = "-T";
  
--- 
-2.36.1
-
diff --git a/pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch b/pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch
index 89804466ad0..8a06e2cf69c 100644
--- a/pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch
+++ b/pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch
@@ -1,7 +1,7 @@
-From 6871d9637bc653a976e04cd595697d7244a293e2 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Eelco Dolstra <eelco.dolstra@logicblox.com>
 Date: Fri, 19 Dec 2014 14:46:17 +0100
-Subject: [PATCH 05/18] Add some NixOS-specific unit directories
+Subject: [PATCH] Add some NixOS-specific unit directories
 
 Look in `/nix/var/nix/profiles/default/lib/systemd/{system,user}` for
 units provided by packages installed into the default profile via
@@ -92,7 +92,7 @@ index 1f4331a8bf..4b9a8ae26e 100644
  
                  if (!add)
 diff --git a/src/core/systemd.pc.in b/src/core/systemd.pc.in
-index fc0f8c34fa..162432e77f 100644
+index 693433b34b..5932a21b5b 100644
 --- a/src/core/systemd.pc.in
 +++ b/src/core/systemd.pc.in
 @@ -38,10 +38,10 @@ systemdsystemconfdir=${systemd_system_conf_dir}
@@ -121,6 +121,3 @@ index fc0f8c34fa..162432e77f 100644
  systemdusergeneratorpath=${systemd_user_generator_path}
  
  systemd_sleep_dir=${root_prefix}/lib/systemd/system-sleep
--- 
-2.36.1
-
diff --git a/pkgs/os-specific/linux/systemd/0006-Get-rid-of-a-useless-message-in-user-sessions.patch b/pkgs/os-specific/linux/systemd/0006-Get-rid-of-a-useless-message-in-user-sessions.patch
index 2cb85655e67..c06f1255026 100644
--- a/pkgs/os-specific/linux/systemd/0006-Get-rid-of-a-useless-message-in-user-sessions.patch
+++ b/pkgs/os-specific/linux/systemd/0006-Get-rid-of-a-useless-message-in-user-sessions.patch
@@ -1,7 +1,7 @@
-From 67daf22c74a780e283a493a0f9fdbbea2ce0aaba Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Eelco Dolstra <eelco.dolstra@logicblox.com>
 Date: Mon, 11 May 2015 15:39:38 +0200
-Subject: [PATCH 06/18] Get rid of a useless message in user sessions
+Subject: [PATCH] Get rid of a useless message in user sessions
 
 Namely lots of variants of
 
@@ -26,6 +26,3 @@ index 296b759959..71ef7f27b4 100644
  
                  /* If stopping a unit fails continuously we might enter a stop loop here, hence stop acting on the
                   * service being unnecessary after a while. */
--- 
-2.36.1
-
diff --git a/pkgs/os-specific/linux/systemd/0007-hostnamed-localed-timedated-disable-methods-that-cha.patch b/pkgs/os-specific/linux/systemd/0007-hostnamed-localed-timedated-disable-methods-that-cha.patch
index e9d9ef6b5fe..174cca335b8 100644
--- a/pkgs/os-specific/linux/systemd/0007-hostnamed-localed-timedated-disable-methods-that-cha.patch
+++ b/pkgs/os-specific/linux/systemd/0007-hostnamed-localed-timedated-disable-methods-that-cha.patch
@@ -1,8 +1,8 @@
-From 21b9acb1d4202a022475a24db727055f9dd2532a Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Gabriel Ebner <gebner@gebner.org>
 Date: Sun, 6 Dec 2015 14:26:36 +0100
-Subject: [PATCH 07/18] hostnamed, localed, timedated: disable methods that
- change system settings.
+Subject: [PATCH] hostnamed, localed, timedated: disable methods that change
+ system settings.
 
 ---
  src/hostname/hostnamed.c |  6 ++++++
@@ -103,6 +103,3 @@ index 9ca5d37b75..e41d8d73df 100644
          r = context_update_ntp_status(c, bus, m);
          if (r < 0)
                  return r;
--- 
-2.36.1
-
diff --git a/pkgs/os-specific/linux/systemd/0008-Fix-hwdb-paths.patch b/pkgs/os-specific/linux/systemd/0008-Fix-hwdb-paths.patch
index 67e63298f23..69bd1cc97b2 100644
--- a/pkgs/os-specific/linux/systemd/0008-Fix-hwdb-paths.patch
+++ b/pkgs/os-specific/linux/systemd/0008-Fix-hwdb-paths.patch
@@ -1,7 +1,7 @@
-From 3894fcd76e5791e094c685c0095006b6867893c1 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Nikolay Amiantov <ab@fmap.me>
 Date: Thu, 7 Jul 2016 02:47:13 +0300
-Subject: [PATCH 08/18] Fix hwdb paths
+Subject: [PATCH] Fix hwdb paths
 
 Patch by vcunat.
 ---
@@ -23,6 +23,3 @@ index 62d27f7b89..87318e041b 100644
 -        UDEVLIBEXECDIR "/hwdb.bin\0"
 +        "/etc/udev/hwdb.bin\0"
 +
--- 
-2.36.1
-
diff --git a/pkgs/os-specific/linux/systemd/0009-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch b/pkgs/os-specific/linux/systemd/0009-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch
index 94d57bc7c05..106eba2bed8 100644
--- a/pkgs/os-specific/linux/systemd/0009-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch
+++ b/pkgs/os-specific/linux/systemd/0009-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch
@@ -1,7 +1,7 @@
-From 322fe2a15ac92d38f6952a2f7fd66e56eaa0f1f4 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Nikolay Amiantov <ab@fmap.me>
 Date: Tue, 11 Oct 2016 13:12:08 +0300
-Subject: [PATCH 09/18] Change /usr/share/zoneinfo to /etc/zoneinfo
+Subject: [PATCH] Change /usr/share/zoneinfo to /etc/zoneinfo
 
 NixOS uses this path.
 ---
@@ -35,7 +35,7 @@ index e486474c44..5f373d0723 100644
      <literal>Etc/UTC</literal>. The resulting link should lead to the
      corresponding binary
 diff --git a/src/basic/time-util.c b/src/basic/time-util.c
-index c309369406..e0d84a7cfa 100644
+index 0ad8de4b9a..b794c6c7d0 100644
 --- a/src/basic/time-util.c
 +++ b/src/basic/time-util.c
 @@ -1281,7 +1281,7 @@ static int get_timezones_from_zone1970_tab(char ***ret) {
@@ -88,7 +88,7 @@ index 39160182ef..8dcc3307c8 100644
          (void) mkdir_parents(etc_localtime, 0755);
          if (symlink(e, etc_localtime) < 0)
 diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
-index 0fa415f5b5..b4404fff49 100644
+index bb149192bd..08751ed944 100644
 --- a/src/nspawn/nspawn.c
 +++ b/src/nspawn/nspawn.c
 @@ -1901,8 +1901,8 @@ int userns_mkdir(const char *root, const char *path, mode_t mode, uid_t uid, gid
@@ -136,6 +136,3 @@ index e41d8d73df..ff1a384b3b 100644
                  if (!p)
                          return -ENOMEM;
  
--- 
-2.36.1
-
diff --git a/pkgs/os-specific/linux/systemd/0010-localectl-use-etc-X11-xkb-for-list-x11.patch b/pkgs/os-specific/linux/systemd/0010-localectl-use-etc-X11-xkb-for-list-x11.patch
index 23d12fb2f82..a3315a1e657 100644
--- a/pkgs/os-specific/linux/systemd/0010-localectl-use-etc-X11-xkb-for-list-x11.patch
+++ b/pkgs/os-specific/linux/systemd/0010-localectl-use-etc-X11-xkb-for-list-x11.patch
@@ -1,7 +1,7 @@
-From 35dd77fafe73cc4a648f101163945cbcae8ed6b9 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Imuli <i@imu.li>
 Date: Wed, 19 Oct 2016 08:46:47 -0400
-Subject: [PATCH 10/18] localectl: use /etc/X11/xkb for list-x11-*
+Subject: [PATCH] localectl: use /etc/X11/xkb for list-x11-*
 
 NixOS has an option to link the xkb data files to /etc/X11, but not to
 /usr/share/X11.
@@ -22,6 +22,3 @@ index 661d54c27d..e98b578531 100644
          if (!f)
                  return log_error_errno(errno, "Failed to open keyboard mapping list. %m");
  
--- 
-2.36.1
-
diff --git a/pkgs/os-specific/linux/systemd/0011-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch b/pkgs/os-specific/linux/systemd/0011-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch
index 824ddb33bfb..75d113d0033 100644
--- a/pkgs/os-specific/linux/systemd/0011-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch
+++ b/pkgs/os-specific/linux/systemd/0011-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch
@@ -1,17 +1,17 @@
-From 1928e1d8eda7d3e296170bb5bd813463cc3e679c Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Franz Pletz <fpletz@fnordicwalking.de>
 Date: Sun, 11 Feb 2018 04:37:44 +0100
-Subject: [PATCH 11/18] build: don't create statedir and don't touch prefixdir
+Subject: [PATCH] build: don't create statedir and don't touch prefixdir
 
 ---
  meson.build | 3 ---
  1 file changed, 3 deletions(-)
 
 diff --git a/meson.build b/meson.build
-index 36cbfa4893..a10d6a3eb7 100644
+index 9c170acc0a..818b7a3eb5 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -3926,9 +3926,6 @@ install_data('LICENSE.GPL2',
+@@ -3928,9 +3928,6 @@ install_data('LICENSE.GPL2',
  install_subdir('LICENSES',
                 install_dir : docdir)
  
@@ -21,6 +21,3 @@ index 36cbfa4893..a10d6a3eb7 100644
  ############################################################
  
  # Ensure that changes to the docs/ directory do not break the
--- 
-2.36.1
-
diff --git a/pkgs/os-specific/linux/systemd/0012-add-rootprefix-to-lookup-dir-paths.patch b/pkgs/os-specific/linux/systemd/0012-add-rootprefix-to-lookup-dir-paths.patch
index 86ebfa5d4b0..c1659ae8a78 100644
--- a/pkgs/os-specific/linux/systemd/0012-add-rootprefix-to-lookup-dir-paths.patch
+++ b/pkgs/os-specific/linux/systemd/0012-add-rootprefix-to-lookup-dir-paths.patch
@@ -1,7 +1,7 @@
-From 201b588b4b30fb53aefaed43e5d434373a076cb0 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Andreas Rammhold <andreas@rammhold.de>
 Date: Thu, 9 May 2019 11:15:22 +0200
-Subject: [PATCH 12/18] add rootprefix to lookup dir paths
+Subject: [PATCH] add rootprefix to lookup dir paths
 
 systemd does not longer use the UDEVLIBEXEC directory as root for
 discovery default udev rules. By adding `$out/lib` to the lookup paths
@@ -33,6 +33,3 @@ index 0a1ae023a3..cc00ff6c68 100644
  
  #define CONF_PATHS(n)                           \
          CONF_PATHS_USR(n)                       \
--- 
-2.36.1
-
diff --git a/pkgs/os-specific/linux/systemd/0013-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch b/pkgs/os-specific/linux/systemd/0013-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch
index 21cbde9a92d..4add87267dd 100644
--- a/pkgs/os-specific/linux/systemd/0013-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch
+++ b/pkgs/os-specific/linux/systemd/0013-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch
@@ -1,7 +1,7 @@
-From 67434c58caddf7dd3cef66dd3e3f704d39e4bcb0 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Nikolay Amiantov <ab@fmap.me>
 Date: Thu, 25 Jul 2019 20:45:55 +0300
-Subject: [PATCH 13/18] systemd-shutdown: execute scripts in
+Subject: [PATCH] systemd-shutdown: execute scripts in
  /etc/systemd/system-shutdown
 
 This is needed for NixOS to use such scripts as systemd directory is immutable.
@@ -22,6 +22,3 @@ index 2c3cbec02c..1b876203c6 100644
  
          /* The log target defaults to console, but the original systemd process will pass its log target in through a
           * command line argument, which will override this default. Also, ensure we'll never log to the journal or
--- 
-2.36.1
-
diff --git a/pkgs/os-specific/linux/systemd/0014-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch b/pkgs/os-specific/linux/systemd/0014-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch
index 2d6f6aefbbb..22e2bc8e530 100644
--- a/pkgs/os-specific/linux/systemd/0014-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch
+++ b/pkgs/os-specific/linux/systemd/0014-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch
@@ -1,8 +1,7 @@
-From db1280d020e6d46a994240e755ce369d895322c5 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Nikolay Amiantov <ab@fmap.me>
 Date: Thu, 25 Jul 2019 20:46:58 +0300
-Subject: [PATCH 14/18] systemd-sleep: execute scripts in
- /etc/systemd/system-sleep
+Subject: [PATCH] systemd-sleep: execute scripts in /etc/systemd/system-sleep
 
 This is needed for NixOS to use such scripts as systemd directory is immutable.
 ---
@@ -21,6 +20,3 @@ index 65e391d02a..28af2f8bf5 100644
                  NULL
          };
  
--- 
-2.36.1
-
diff --git a/pkgs/os-specific/linux/systemd/0015-kmod-static-nodes.service-Update-ConditionFileNotEmp.patch b/pkgs/os-specific/linux/systemd/0015-kmod-static-nodes.service-Update-ConditionFileNotEmp.patch
deleted file mode 100644
index 9adeed284fb..00000000000
--- a/pkgs/os-specific/linux/systemd/0015-kmod-static-nodes.service-Update-ConditionFileNotEmp.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From ac9f97341e6fe3fb4b5fe22e72f43312ef5b1ca4 Mon Sep 17 00:00:00 2001
-From: Florian Klink <flokli@flokli.de>
-Date: Sat, 7 Mar 2020 22:40:27 +0100
-Subject: [PATCH 15/18] kmod-static-nodes.service: Update ConditionFileNotEmpty
-
-On NixOS, kernel modules of the currently booted systems are located at
-/run/booted-system/kernel-modules/lib/modules/%v/, not /lib/modules/%v/.
----
- units/kmod-static-nodes.service.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/units/kmod-static-nodes.service.in b/units/kmod-static-nodes.service.in
-index 777e82d16b..b6abc2bba0 100644
---- a/units/kmod-static-nodes.service.in
-+++ b/units/kmod-static-nodes.service.in
-@@ -12,7 +12,7 @@ Description=Create List of Static Device Nodes
- DefaultDependencies=no
- Before=sysinit.target systemd-tmpfiles-setup-dev.service
- ConditionCapability=CAP_SYS_MODULE
--ConditionFileNotEmpty=/lib/modules/%v/modules.devname
-+ConditionFileNotEmpty=/run/booted-system/kernel-modules/lib/modules/%v/modules.devname
- 
- [Service]
- Type=oneshot
--- 
-2.36.1
-
diff --git a/pkgs/os-specific/linux/systemd/0016-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch b/pkgs/os-specific/linux/systemd/0015-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch
index dc727586ce9..653f3beea96 100644
--- a/pkgs/os-specific/linux/systemd/0016-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch
+++ b/pkgs/os-specific/linux/systemd/0015-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch
@@ -1,7 +1,7 @@
-From 6f40d7a9d0029b5a805245b938ac62e7b150ea75 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Florian Klink <flokli@flokli.de>
 Date: Sun, 8 Mar 2020 01:05:54 +0100
-Subject: [PATCH 16/18] path-util.h: add placeholder for DEFAULT_PATH_NORMAL
+Subject: [PATCH] path-util.h: add placeholder for DEFAULT_PATH_NORMAL
 
 This will be the $PATH used to lookup ExecStart= etc. options, which
 systemd itself uses extensively.
@@ -28,6 +28,3 @@ index 553aa4fb58..46294f4bb1 100644
  
  #if HAVE_SPLIT_USR
  #  define DEFAULT_PATH DEFAULT_PATH_SPLIT_USR
--- 
-2.36.1
-
diff --git a/pkgs/os-specific/linux/systemd/0017-pkg-config-derive-prefix-from-prefix.patch b/pkgs/os-specific/linux/systemd/0016-pkg-config-derive-prefix-from-prefix.patch
index 7ca62eb7506..3fbfd7f10ab 100644
--- a/pkgs/os-specific/linux/systemd/0017-pkg-config-derive-prefix-from-prefix.patch
+++ b/pkgs/os-specific/linux/systemd/0016-pkg-config-derive-prefix-from-prefix.patch
@@ -1,7 +1,7 @@
-From 8d9355264f11034a28ad78e4e70809908acfdb3e Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
 Date: Sun, 6 Dec 2020 08:34:19 +0100
-Subject: [PATCH 17/18] pkg-config: derive prefix from --prefix
+Subject: [PATCH] pkg-config: derive prefix from --prefix
 
 Point prefix to the one configured, instead of `/usr` `systemd` has limited
 support for making the pkgconfig prefix overridable, and interpolates those
@@ -16,7 +16,7 @@ Co-Authored-By: Florian Klink <flokli@flokli.de>
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/src/core/systemd.pc.in b/src/core/systemd.pc.in
-index 162432e77f..2fc20daf03 100644
+index 5932a21b5b..20bf8e316d 100644
 --- a/src/core/systemd.pc.in
 +++ b/src/core/systemd.pc.in
 @@ -11,7 +11,7 @@
@@ -28,6 +28,3 @@ index 162432e77f..2fc20daf03 100644
  root_prefix={{ROOTPREFIX_NOSLASH}}
  rootprefix=${root_prefix}
  sysconf_dir={{SYSCONF_DIR}}
--- 
-2.36.1
-
diff --git a/pkgs/os-specific/linux/systemd/0018-inherit-systemd-environment-when-calling-generators.patch b/pkgs/os-specific/linux/systemd/0017-inherit-systemd-environment-when-calling-generators.patch
index 06902cbad1b..f4925437aa5 100644
--- a/pkgs/os-specific/linux/systemd/0018-inherit-systemd-environment-when-calling-generators.patch
+++ b/pkgs/os-specific/linux/systemd/0017-inherit-systemd-environment-when-calling-generators.patch
@@ -1,7 +1,7 @@
-From 291ead07daab980fa39fd18512c8266c23161540 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Yuriy Taraday <yorik.sar@gmail.com>
 Date: Fri, 17 Jun 2022 12:45:10 +0000
-Subject: [PATCH 18/18] inherit systemd environment when calling generators.
+Subject: [PATCH] inherit systemd environment when calling generators.
 
 Systemd generators need access to the environment configured in
 stage-2-init.sh since it schedules fsck and mkfs executions based on
@@ -37,6 +37,3 @@ index 71ef7f27b4..33ded94a7c 100644
  
          r = strv_env_assign(&nl, "SYSTEMD_SCOPE", MANAGER_IS_SYSTEM(m) ? "system" : "user");
          if (r < 0)
--- 
-2.36.1
-
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index dcc7b9df188..348f0e11342 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -149,7 +149,8 @@ stdenv.mkDerivation {
 
   # On major changes, or when otherwise required, you *must* reformat the patches,
   # `git am path/to/00*.patch` them into a systemd worktree, rebase to the more recent
-  # systemd version, and export the patches again via `git -c format.signoff=false format-patch v${version}`.
+  # systemd version, and export the patches again via
+  # `git -c format.signoff=false format-patch v${version} --no-numbered --zero-commit --no-signature`.
   # Use `find . -name "*.patch" | sort` to get an up-to-date listing of all patches
   patches = [
     ./0001-Start-device-units-for-uninitialised-encrypted-devic.patch
@@ -166,10 +167,9 @@ stdenv.mkDerivation {
     ./0012-add-rootprefix-to-lookup-dir-paths.patch
     ./0013-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch
     ./0014-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch
-    ./0015-kmod-static-nodes.service-Update-ConditionFileNotEmp.patch
-    ./0016-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch
-    ./0017-pkg-config-derive-prefix-from-prefix.patch
-    ./0018-inherit-systemd-environment-when-calling-generators.patch
+    ./0015-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch
+    ./0016-pkg-config-derive-prefix-from-prefix.patch
+    ./0017-inherit-systemd-environment-when-calling-generators.patch
   ] ++ lib.optional stdenv.hostPlatform.isMusl (
     let
       oe-core = fetchzip {
diff --git a/pkgs/os-specific/linux/xone/default.nix b/pkgs/os-specific/linux/xone/default.nix
index f04ccc569df..71bafb7abd9 100644
--- a/pkgs/os-specific/linux/xone/default.nix
+++ b/pkgs/os-specific/linux/xone/default.nix
@@ -1,14 +1,14 @@
 { stdenv, lib, fetchFromGitHub, kernel, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "xone-${version}-${kernel.version}";
-  version = "0.2";
+  pname = "xone";
+  version = "0.3";
 
   src = fetchFromGitHub {
     owner = "medusalix";
-    repo = "xone";
-    rev = "v${version}";
-    sha256 = "sha256-m4305Xl5w4nyAVqubjwWsiyPDVtfGykjlSW2eKEytVk=";
+    repo = pname;
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-h+j4xCV9R6hp9trsv1NByh9m0UBafOz42ZuYUjclILE=";
   };
 
   setSourceRoot = ''
diff --git a/pkgs/os-specific/linux/xpadneo/default.nix b/pkgs/os-specific/linux/xpadneo/default.nix
index c5aa09a8860..623b881cd0f 100644
--- a/pkgs/os-specific/linux/xpadneo/default.nix
+++ b/pkgs/os-specific/linux/xpadneo/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xpadneo";
-  version = "0.9.1";
+  version = "0.9.4";
 
   src = fetchFromGitHub {
     owner = "atar-axis";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-VUcS4OzvPj0o627ZWIOBqEAQJ4JuMCMjgaZoMkL/IHc=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-4zd+x9uYl0lJgePM9LEgLYFqvcw6VPF/CbR1XiYSwGE=";
   };
 
   setSourceRoot = ''
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Advanced Linux driver for Xbox One wireless controllers";
     homepage = "https://atar-axis.github.io/xpadneo";
-    license = licenses.gpl3Plus;
+    license = licenses.gpl3Only;
     maintainers = with maintainers; [ kira-bruneau ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix
index eec2d1ad04a..5d55d1db657 100644
--- a/pkgs/os-specific/linux/zfs/default.nix
+++ b/pkgs/os-specific/linux/zfs/default.nix
@@ -203,7 +203,7 @@ let
         changelog = "https://github.com/openzfs/zfs/releases/tag/zfs-${version}";
         license = lib.licenses.cddl;
         platforms = lib.platforms.linux;
-        maintainers = with lib.maintainers; [ hmenke jcumming jonringer wizeman fpletz globin ];
+        maintainers = with lib.maintainers; [ hmenke jcumming jonringer wizeman globin ];
         mainProgram = "zfs";
         # If your Linux kernel version is not yet supported by zfs, try zfsUnstable.
         # On NixOS set the option boot.zfs.enableUnstable.
diff --git a/pkgs/os-specific/solo5/default.nix b/pkgs/os-specific/solo5/default.nix
index d51219e69ae..d781f1c503a 100644
--- a/pkgs/os-specific/solo5/default.nix
+++ b/pkgs/os-specific/solo5/default.nix
@@ -2,7 +2,7 @@
 , pkg-config, qemu, syslinux, util-linux }:
 
 let
-  version = "0.6.9";
+  version = "0.7.3";
   # list of all theoretically available targets
   targets = [
     "genode"
@@ -21,14 +21,16 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://github.com/Solo5/solo5/releases/download/v${version}/solo5-v${version}.tar.gz";
-    sha256 = "03lvk9mab3yxrmi73wrvvhykqcydjrsda0wj6aasnjm5lx9jycpr";
+    sha256 = "sha256-8LftT22XzmmWxgYez+BAHDX4HOyl5DrwrpuO2+bqqcY=";
   };
 
+  patches = [ ./test_sleep.patch ];
+
   hardeningEnable = [ "pie" ];
 
   configurePhase = ''
     runHook preConfigure
-    sh configure.sh
+    sh configure.sh --prefix=/
     runHook postConfigure
   '';
 
@@ -38,15 +40,7 @@ in stdenv.mkDerivation {
     runHook preInstall
     export DESTDIR=$out
     export PREFIX=$out
-    make install-tools
-
-    # get CONFIG_* vars from Makeconf which also parse in sh
-    grep '^CONFIG_' Makeconf > nix_tmp_targetconf
-    source nix_tmp_targetconf
-    # install opam / pkg-config files for all enabled targets
-    ${lib.concatMapStrings (bind: ''
-      [ -n "$CONFIG_${lib.toUpper bind}" ] && make install-opam-${bind}
-    '') targets}
+    make install
 
     substituteInPlace $out/bin/solo5-virtio-mkimage \
       --replace "/usr/lib/syslinux" "${syslinux}/share/syslinux" \
diff --git a/pkgs/os-specific/solo5/test_sleep.patch b/pkgs/os-specific/solo5/test_sleep.patch
new file mode 100644
index 00000000000..f86a83d09de
--- /dev/null
+++ b/pkgs/os-specific/solo5/test_sleep.patch
@@ -0,0 +1,22 @@
+diff --git a/tests/test_time/test_time.c b/tests/test_time/test_time.c
+index 931500b..cde64ad 100644
+--- a/tests/test_time/test_time.c
++++ b/tests/test_time/test_time.c
+@@ -110,7 +110,8 @@ int solo5_app_main(const struct solo5_start_info *si __attribute__((unused)))
+         /*
+          * Verify that we did not sleep less than requested (see above).
+          */
+-        if (delta < NSEC_PER_SEC) {
++        const solo5_time_t slack = 100000000ULL;
++        if (delta < NSEC_PER_SEC - slack) {
+             printf("[%d] ERROR: slept too little (expected at least %llu ns)\n",
+                     iters, (unsigned long long)NSEC_PER_SEC);
+             failed = true;
+@@ -120,7 +121,6 @@ int solo5_app_main(const struct solo5_start_info *si __attribute__((unused)))
+          * Verify that we did not sleep more than requested, within reason
+          * (scheduling delays, general inaccuracy of the current timing code).
+          */
+-        const solo5_time_t slack = 100000000ULL;
+         if (delta > (NSEC_PER_SEC + slack)) {
+             printf("[%d] ERROR: slept too much (expected at most %llu ns)\n",
+                     iters, (unsigned long long)slack);
diff --git a/pkgs/servers/adguardhome/bins.nix b/pkgs/servers/adguardhome/bins.nix
index e7689ca7972..35ffe2d5dcf 100644
--- a/pkgs/servers/adguardhome/bins.nix
+++ b/pkgs/servers/adguardhome/bins.nix
@@ -1,23 +1,23 @@
 { fetchurl, fetchzip }:
 {
 x86_64-darwin = fetchzip {
-  sha256 = "sha256-PYq6AKX3Ifo8vMnPYGjqHwFejOBuQjhfDG5nXnccfvE=";
-  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.8/AdGuardHome_darwin_amd64.zip";
+  sha256 = "sha256-SLGzciTzzvW0DTG8v6lNb1IovbOjxBFgFVjNY6MEyKY=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.9/AdGuardHome_darwin_amd64.zip";
 };
 aarch64-darwin = fetchzip {
-  sha256 = "sha256-ep5/VMO7LmfD6+chG2SGwkc5awoeqACQeP04YpMXI1s=";
-  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.8/AdGuardHome_darwin_arm64.zip";
+  sha256 = "sha256-d7hnCM7BJuYfSH89jv516uVyKTMueQmVKQxEeTGIDUE=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.9/AdGuardHome_darwin_arm64.zip";
 };
 i686-linux = fetchurl {
-  sha256 = "sha256-rD5UDkAMeBfnrEpxfZWgDQEUN+82D6Ul2gjclS8A8CU=";
-  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.8/AdGuardHome_linux_386.tar.gz";
+  sha256 = "sha256-wTmUF6NHWis4dyw/bPjAjvZ0aQ1l1BCDlm6eLu4m/0o=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.9/AdGuardHome_linux_386.tar.gz";
 };
 x86_64-linux = fetchurl {
-  sha256 = "sha256-buBp5WZ1jIzQDbxzVOZC/t3iv1Dw0P/PN3wGBbGaYvU=";
-  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.8/AdGuardHome_linux_amd64.tar.gz";
+  sha256 = "sha256-Mxe9Gb1ErrZZl3a+0SqC/0ghoeV51X93YxIOs9gM2lY=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.9/AdGuardHome_linux_amd64.tar.gz";
 };
 aarch64-linux = fetchurl {
-  sha256 = "sha256-d6Z46L6qeXi5UNPY3/nlTJvVCuQ0lamtR49Z73O87Wc=";
-  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.8/AdGuardHome_linux_arm64.tar.gz";
+  sha256 = "sha256-SyHuzXAe24Nf0v9Ds3Z+cbXoIVLCJSj243I6B0XWBlM=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.9/AdGuardHome_linux_arm64.tar.gz";
 };
 }
diff --git a/pkgs/servers/adguardhome/default.nix b/pkgs/servers/adguardhome/default.nix
index 66b8b12e09c..374eaad1bfb 100644
--- a/pkgs/servers/adguardhome/default.nix
+++ b/pkgs/servers/adguardhome/default.nix
@@ -7,7 +7,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "adguardhome";
-  version = "0.107.8";
+  version = "0.107.9";
   src = sources.${system} or (throw "Source for ${pname} is not available for ${system}");
 
   installPhase = ''
diff --git a/pkgs/servers/alps/default.nix b/pkgs/servers/alps/default.nix
index 2d842165d11..2a98b971708 100644
--- a/pkgs/servers/alps/default.nix
+++ b/pkgs/servers/alps/default.nix
@@ -13,6 +13,20 @@ buildGoModule rec {
 
   vendorSha256 = "sha256-cpY+lYM/nAX3nUaFknrRAavxDk8UDzJkoqFjJ1/KWeg=";
 
+  ldflags = [
+    "-X main.themesPath=${placeholder "out"}/share/alps/themes"
+    "-X git.sr.ht/~migadu/alps.PluginDir=${placeholder "out"}/share/alps/plugins"
+  ];
+
+  postPatch = ''
+    substituteInPlace plugin.go --replace "const PluginDir" "var PluginDir"
+  '';
+
+  postInstall = ''
+    mkdir -p "$out/share/alps"
+    cp -r themes plugins "$out/share/alps/"
+  '';
+
   proxyVendor = true;
 
   meta = with lib; {
diff --git a/pkgs/servers/amqp/rabbitmq-server/default.nix b/pkgs/servers/amqp/rabbitmq-server/default.nix
index c59d53897fc..f6f1afa836a 100644
--- a/pkgs/servers/amqp/rabbitmq-server/default.nix
+++ b/pkgs/servers/amqp/rabbitmq-server/default.nix
@@ -27,12 +27,12 @@
 
 stdenv.mkDerivation rec {
   pname = "rabbitmq-server";
-  version = "3.9.14";
+  version = "3.10.6";
 
   # when updating, consider bumping elixir version in all-packages.nix
   src = fetchurl {
     url = "https://github.com/rabbitmq/rabbitmq-server/releases/download/v${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-c6GpB6CSCHiU9hTC9FkxyTc1UpNWxx5iP3y2dbTUfS0=";
+    sha256 = "sha256-oELL1E+VbZiWUL+l0mLg6ugvJ/RJ84O/aduDzDJyQeo=";
   };
 
   nativeBuildInputs = [ unzip xmlto docbook_xml_dtd_45 docbook_xsl zip rsync python3 ];
diff --git a/pkgs/servers/atlassian/confluence.nix b/pkgs/servers/atlassian/confluence.nix
index 03d78aeeefe..8ea89293a34 100644
--- a/pkgs/servers/atlassian/confluence.nix
+++ b/pkgs/servers/atlassian/confluence.nix
@@ -52,6 +52,6 @@ optionalWarning (crowdProperties != null) "Using `crowdProperties` is deprecated
     homepage = "https://www.atlassian.com/software/confluence";
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
     license = licenses.unfree;
-    maintainers = with maintainers; [ fpletz globin willibutz ciil techknowlogick ma27 ];
+    maintainers = with maintainers; [ globin willibutz ciil techknowlogick ma27 ];
   };
 })
diff --git a/pkgs/servers/atlassian/crowd.nix b/pkgs/servers/atlassian/crowd.nix
index 606bcf0ac2e..918aec8e16b 100644
--- a/pkgs/servers/atlassian/crowd.nix
+++ b/pkgs/servers/atlassian/crowd.nix
@@ -51,6 +51,6 @@ optionalWarning (openidPassword != "WILL_NEVER_BE_SET") "Using `crowdProperties`
     description = "Single sign-on and identity management tool";
     homepage = "https://www.atlassian.com/software/crowd";
     license = licenses.unfree;
-    maintainers = with maintainers; [ fpletz globin ];
+    maintainers = with maintainers; [ globin ];
   };
 })
diff --git a/pkgs/servers/atlassian/jira.nix b/pkgs/servers/atlassian/jira.nix
index 5b4d9d695f5..fcb709d7f42 100644
--- a/pkgs/servers/atlassian/jira.nix
+++ b/pkgs/servers/atlassian/jira.nix
@@ -39,6 +39,6 @@ stdenv.mkDerivation rec {
     description = "Proprietary issue tracking product, also providing project management functions";
     homepage = "https://www.atlassian.com/software/jira";
     license = licenses.unfree;
-    maintainers = with maintainers; [ fpletz globin ciil megheaiulian techknowlogick ma27 ];
+    maintainers = with maintainers; [ globin ciil megheaiulian techknowlogick ma27 ];
   };
 }
diff --git a/pkgs/servers/bird/default.nix b/pkgs/servers/bird/default.nix
index 4ea9d6a0305..8b0de8f5388 100644
--- a/pkgs/servers/bird/default.nix
+++ b/pkgs/servers/bird/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     description = "BIRD Internet Routing Daemon";
     homepage = "http://bird.network.cz";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ fpletz globin ];
+    maintainers = with maintainers; [ globin ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/servers/computing/slurm/default.nix b/pkgs/servers/computing/slurm/default.nix
index b64d8b1e442..ace84a58f08 100644
--- a/pkgs/servers/computing/slurm/default.nix
+++ b/pkgs/servers/computing/slurm/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, pkg-config, libtool, curl
 , python3, munge, perl, pam, shadow, coreutils, dbus, libbpf
-, ncurses, libmysqlclient, gtk2, lua, hwloc, numactl
+, ncurses, libmysqlclient, lua, hwloc, numactl
 , readline, freeipmi, xorg, lz4, rdma-core, nixosTests
 , pmix
 , libjwt
@@ -9,11 +9,12 @@
 , http-parser
 # enable internal X11 support via libssh2
 , enableX11 ? true
+, enableGtk2 ? false, gtk2
 }:
 
 stdenv.mkDerivation rec {
   pname = "slurm";
-  version = "22.05.2.1";
+  version = "22.05.3.1";
 
   # N.B. We use github release tags instead of https://www.schedmd.com/downloads.php
   # because the latter does not keep older releases.
@@ -22,7 +23,7 @@ stdenv.mkDerivation rec {
     repo = "slurm";
     # The release tags use - instead of .
     rev = "${pname}-${builtins.replaceStrings ["."] ["-"] version}";
-    sha256 = "1zfv5n7cqqn3c78h2svjazbdkdchyrk54prn2bq5diw80wgcmyrc";
+    sha256 = "113l23zf98r2rz4smyb0lk68p5jj2gx2y2j11vvf5wq4apzyz8jf";
   };
 
   outputs = [ "out" "dev" ];
@@ -51,11 +52,12 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config libtool python3 perl ];
   buildInputs = [
     curl python3 munge pam
-    libmysqlclient ncurses gtk2 lz4 rdma-core
+    libmysqlclient ncurses lz4 rdma-core
     lua hwloc numactl readline freeipmi shadow.su
     pmix json_c libjwt libyaml dbus libbpf
     http-parser
-  ] ++ lib.optionals enableX11 [ xorg.xauth ];
+  ] ++ lib.optionals enableX11 [ xorg.xauth ]
+  ++ lib.optionals enableGtk2 [ gtk2 ];
 
   configureFlags = with lib;
     [ "--with-freeipmi=${freeipmi}"
@@ -70,7 +72,7 @@ stdenv.mkDerivation rec {
       "--sysconfdir=/etc/slurm"
       "--with-pmix=${pmix}"
       "--with-bpf=${libbpf}"
-    ] ++ (optional (gtk2 == null)  "--disable-gtktest")
+    ] ++ (optional enableGtk2  "--disable-gtktest")
       ++ (optional (!enableX11) "--disable-x11");
 
 
diff --git a/pkgs/servers/consul/default.nix b/pkgs/servers/consul/default.nix
index d6545756b57..7d69103282f 100644
--- a/pkgs/servers/consul/default.nix
+++ b/pkgs/servers/consul/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "consul";
-  version = "1.12.3";
+  version = "1.13.0";
   rev = "v${version}";
 
   # Note: Currently only release tags are supported, because they have the Consul UI
@@ -17,7 +17,7 @@ buildGoModule rec {
     owner = "hashicorp";
     repo = pname;
     inherit rev;
-    sha256 = "sha256-QCSlRGbYCOOS81M7sl8Skr1/DhEX+U+0dCroWydzifw=";
+    sha256 = "sha256-bPLVQ5XvOk6cWtjHNtvZ3McM2SKVbjY6280rIldInpQ=";
   };
 
   passthru.tests.consul = nixosTests.consul;
@@ -26,7 +26,7 @@ buildGoModule rec {
   # has a split module structure in one repo
   subPackages = ["." "connect/certgen"];
 
-  vendorSha256 = "sha256-3WjmAbY7AVApZZXdCfbjr2X9I8vvwR2EfNmCJv9Gk6A=";
+  vendorSha256 = "sha256-bPfS8hoH45ad34CsR+9WLEDCDsx1E/ZKdipVZqirfDY=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/dendrite/default.nix b/pkgs/servers/dendrite/default.nix
index eaf4c9ed1bb..d26b89dd9e5 100644
--- a/pkgs/servers/dendrite/default.nix
+++ b/pkgs/servers/dendrite/default.nix
@@ -3,16 +3,16 @@
 
 buildGoModule rec {
   pname = "matrix-dendrite";
-  version = "0.8.9";
+  version = "0.9.1";
 
   src = fetchFromGitHub {
     owner = "matrix-org";
     repo = "dendrite";
     rev = "v${version}";
-    sha256 = "sha256-+B7+hstJfkRnzu/u3afRImhzeFrFkth1MMGdAiV3vN8=";
+    sha256 = "Fg7yfP5cM/mNAsIZAI/WGNLuz8l3vxyY8bb1NjuZELc=";
   };
 
-  vendorSha256 = "sha256-tKvXM+pnhoysucBRLMSbm1bR2SIQmTZjVZbJ0lnLaMw=";
+  vendorSha256 = "+9mjg8avOHPQTzBnfgim10Lfgpsu8nTQf1qYB0SLFys=";
 
   checkInputs = [
     postgresqlTestHook
diff --git a/pkgs/servers/dns/knot-dns/default.nix b/pkgs/servers/dns/knot-dns/default.nix
index 20f7f831bdc..23fefe80e76 100644
--- a/pkgs/servers/dns/knot-dns/default.nix
+++ b/pkgs/servers/dns/knot-dns/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "knot-dns";
-  version = "3.1.8";
+  version = "3.1.9";
 
   src = fetchurl {
     url = "https://secure.nic.cz/files/knot-dns/knot-${version}.tar.xz";
-    sha256 = "767e458a56277a1270b359294c3be6c63fd734884d62a045e01756a46507aa94";
+    sha256 = "sha256-s8pPHUROlf8n0gltPMWkfBDB1poeSIWuipcngfYnnYI=";
   };
 
   outputs = [ "bin" "out" "dev" ];
diff --git a/pkgs/servers/echoip/default.nix b/pkgs/servers/echoip/default.nix
index 840d7a2d4e6..91e0818a9cc 100644
--- a/pkgs/servers/echoip/default.nix
+++ b/pkgs/servers/echoip/default.nix
@@ -1,28 +1,36 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, makeWrapper
+}:
 
 buildGoModule {
   pname = "echoip";
-  version = "unstable-2019-07-12";
+  version = "unstable-2021-08-03";
 
   src = fetchFromGitHub {
     owner = "mpolden";
     repo = "echoip";
-    rev = "fb5fac92d2173c2a5b07ed4ecc7b5fefe8484ed2";
-    sha256 = "17gkh1qfxasvxy25lmjdwk5fsjkcp7lmw9si3xzf01m7qnj5zi4b";
+    rev = "ffa6674637a5bf906d78ae6675f9a4680a78ab7b";
+    sha256 = "sha256-yN7PIwoIi2SPwwFWnHDoXnwvKohkPPf4kVsNxHLpqCE=";
   };
 
-  vendorSha256 = "0vvs717pl5gzggxpbn2vkyxmpiw5zjdfnpbh8i81xidbqvlnm22h";
+  vendorSha256 = "sha256-lXYpkeGpBK+WGHqyLxJz7kS3t7a55q55QQLTqtxzroc=";
 
-  outputs = [ "out" "index" ];
+  nativeBuildInputs = [ makeWrapper ];
 
   postInstall = ''
-    mkdir -p $index
-    cp $src/index.html $index/index.html
+    install -D html/* -t $out/share/echoip/html
+    wrapProgram $out/bin/echoip \
+      --add-flags "-t $out/share/echoip/html"
   '';
 
+  doCheck = false;
+
   meta = with lib; {
+    description = "IP address lookup service";
     homepage = "https://github.com/mpolden/echoip";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ rvolosatovs ];
+    maintainers = with maintainers; [ rvolosatovs SuperSandro2000 ];
   };
 }
diff --git a/pkgs/servers/etcd/3.3.nix b/pkgs/servers/etcd/3.3.nix
index 4dbe6932972..44edfd76a29 100644
--- a/pkgs/servers/etcd/3.3.nix
+++ b/pkgs/servers/etcd/3.3.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoPackage, fetchFromGitHub, nixosTests }:
+{ lib, buildGoPackage, fetchFromGitHub, nixosTests, stdenv }:
 
 buildGoPackage rec {
   pname = "etcd";
@@ -31,5 +31,6 @@ buildGoPackage rec {
     license = licenses.asl20;
     homepage = "https://etcd.io/";
     maintainers = with maintainers; [ offline zowoq ];
+    broken = stdenv.isDarwin; # outdated golang.org/x/sys
   };
 }
diff --git a/pkgs/servers/etcd/3.5.nix b/pkgs/servers/etcd/3.5.nix
index ff07116e2bd..3de8fef1188 100644
--- a/pkgs/servers/etcd/3.5.nix
+++ b/pkgs/servers/etcd/3.5.nix
@@ -1,15 +1,18 @@
 { lib, buildGoModule, fetchFromGitHub, symlinkJoin }:
 
 let
-  etcdVersion = "3.5.4";
-  etcdSrc = fetchFromGitHub {
+  version = "3.5.4";
+
+  src = fetchFromGitHub {
     owner = "etcd-io";
     repo = "etcd";
-    rev = "v${etcdVersion}";
+    rev = "v${version}";
     sha256 = "sha256-mTQHxLLfNiihvHg5zaTeVNWKuzvE0KBiJdY3qMJHMCM=";
   };
 
-  commonMeta = with lib; {
+  CGO_ENABLED = 0;
+
+  meta = with lib; {
     description = "Distributed reliable key-value store for the most critical data of a distributed system";
     license = licenses.asl20;
     homepage = "https://etcd.io/";
@@ -19,60 +22,50 @@ let
 
   etcdserver = buildGoModule rec {
     pname = "etcdserver";
-    version = etcdVersion;
+
+    inherit CGO_ENABLED meta src version;
 
     vendorSha256 = "sha256-4djUQvWp9hScua9l1ZTq298zWSeDYRDojEt2AWmarzw=";
 
-    src = etcdSrc;
     modRoot = "./server";
 
     postBuild = ''
       mv $GOPATH/bin/{server,etcd}
     '';
 
-    CGO_ENABLED = 0;
-
     # We set the GitSHA to `GitNotFound` to match official build scripts when
     # git is unavailable. This is to avoid doing a full Git Checkout of etcd.
     # User facing version numbers are still available in the binary, just not
     # the sha it was built from.
     ldflags = [ "-X go.etcd.io/etcd/api/v3/version.GitSHA=GitNotFound" ];
-
-    meta = commonMeta;
   };
 
   etcdutl = buildGoModule rec {
     pname = "etcdutl";
-    version = etcdVersion;
+
+    inherit CGO_ENABLED meta src version;
 
     vendorSha256 = "sha256-nk56XGpNsDwcGrTKithKGnPCX0NhpQmzNSXHk3vmdtg=";
 
-    src = etcdSrc;
     modRoot = "./etcdutl";
-
-    CGO_ENABLED = 0;
-
-    meta = commonMeta;
   };
 
   etcdctl = buildGoModule rec {
     pname = "etcdctl";
-    version = etcdVersion;
+
+    inherit CGO_ENABLED meta src version;
 
     vendorSha256 = "sha256-WIMYrXfay6DMz+S/tIc/X4ffMizxub8GS1DDgIR40D4=";
 
-    src = etcdSrc;
     modRoot = "./etcdctl";
-
-    CGO_ENABLED = 0;
-
-    meta = commonMeta;
   };
 in
 symlinkJoin {
-  name = "etcd";
-  version = etcdVersion;
-  meta = commonMeta;
+  name = "etcd-${version}";
+
+  inherit meta version;
+
+  passthru = { inherit etcdserver etcdutl etcdctl; };
 
   paths = [
     etcdserver
diff --git a/pkgs/servers/freeradius/default.nix b/pkgs/servers/freeradius/default.nix
index 9729c57769b..fb557bb73fb 100644
--- a/pkgs/servers/freeradius/default.nix
+++ b/pkgs/servers/freeradius/default.nix
@@ -77,7 +77,7 @@ stdenv.mkDerivation rec {
     homepage = "https://freeradius.org/";
     description = "A modular, high performance free RADIUS suite";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ sheenobu willibutz fpletz lheckemann ];
+    maintainers = with maintainers; [ sheenobu willibutz lheckemann ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/servers/hbase/default.nix b/pkgs/servers/hbase/default.nix
index 46521da8853..40b5dc7e0b6 100644
--- a/pkgs/servers/hbase/default.nix
+++ b/pkgs/servers/hbase/default.nix
@@ -21,7 +21,9 @@ let common = { version, hash, jdk ? jdk11_headless, tests }:
     installPhase = ''
       mkdir -p $out
       cp -R * $out
-      wrapProgram $out/bin/hbase --set-default JAVA_HOME ${jdk.home}
+      wrapProgram $out/bin/hbase --set-default JAVA_HOME ${jdk.home} \
+        --run "test -d /etc/hadoop-conf && export HBASE_CONF_DIR=\''${HBASE_CONF_DIR-'/etc/hadoop-conf/'}" \
+        --set-default HBASE_CONF_DIR "$out/conf/"
     '';
 
     passthru = { inherit tests; };
diff --git a/pkgs/servers/headscale/default.nix b/pkgs/servers/headscale/default.nix
index 1c1d17fa78b..41245cb6814 100644
--- a/pkgs/servers/headscale/default.nix
+++ b/pkgs/servers/headscale/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "headscale";
-  version = "0.16.0";
+  version = "0.16.1";
 
   src = fetchFromGitHub {
     owner = "juanfont";
     repo = "headscale";
     rev = "v${version}";
-    sha256 = "sha256-IP54zRbSUKxHr41OADKRfQIHEYBjrGs0fMyCxL0Yn6o=";
+    sha256 = "sha256-uQpvIWK80+s/aFJQZGdSSrWsCwjvbpK9jLdmcFMAeLw=";
   };
 
-  vendorSha256 = "sha256-b9C6F+7N0ecW0HiTx+rztZnxb+n6U6YTSOJvp3GqnWQ=";
+  vendorSha256 = "sha256-RzmnAh81BN4tbzAGzJbb6CMuws8kuPJDw7aPkRRnSS8=";
 
   ldflags = [ "-s" "-w" "-X github.com/juanfont/headscale/cmd/headscale/cli.Version=v${version}" ];
 
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 6de49d42c9e..e8d156728d4 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -2,7 +2,7 @@
 # Do not edit!
 
 {
-  version = "2022.7.5";
+  version = "2022.8.3";
   components = {
     "abode" = ps: with ps; [
       abodepy
@@ -85,6 +85,7 @@
       boto3
     ];
     "ambee" = ps: with ps; [
+      aiohttp-cors
       ambee
     ];
     "amberelectric" = ps: with ps; [
@@ -107,7 +108,6 @@
     "analytics" = ps: with ps; [
       aiohttp-cors
       fnvhash
-      lru-dict
       sqlalchemy
     ];
     "android_ip_webcam" = ps: with ps; [
@@ -124,6 +124,7 @@
     "anel_pwrctrl" = ps: with ps; [
     ]; # missing inputs: anel_pwrctrl-homeassistant
     "anthemav" = ps: with ps; [
+      aiohttp-cors
     ]; # missing inputs: anthemav
     "apache_kafka" = ps: with ps; [
       aiokafka
@@ -281,10 +282,16 @@
     "bluesound" = ps: with ps; [
       xmltodict
     ];
+    "bluetooth" = ps: with ps; [
+      aiohttp-cors
+      bleak
+      bluetooth-adapters
+    ];
     "bluetooth_le_tracker" = ps: with ps; [
-      pygatt
-    ]
-    ++ pygatt.optional-dependencies.GATTTOOL;
+      aiohttp-cors
+      bleak
+      bluetooth-adapters
+    ];
     "bluetooth_tracker" = ps: with ps; [
       bt-proximity
       pybluez
@@ -489,11 +496,12 @@
       aiodiscover
       aiohttp-cors
       async-upnp-client
+      bleak
+      bluetooth-adapters
       fnvhash
       hass-nabucasa
       home-assistant-frontend
       ifaddr
-      lru-dict
       pillow
       pyserial
       pyudev
@@ -510,7 +518,6 @@
     "demo" = ps: with ps; [
       aiohttp-cors
       fnvhash
-      lru-dict
       sqlalchemy
     ];
     "denon" = ps: with ps; [
@@ -711,7 +718,6 @@
     "energy" = ps: with ps; [
       aiohttp-cors
       fnvhash
-      lru-dict
       sqlalchemy
     ];
     "enigma2" = ps: with ps; [
@@ -741,6 +747,9 @@
     "epsonworkforce" = ps: with ps; [
     ]; # missing inputs: epsonprinter
     "eq3btsmart" = ps: with ps; [
+      aiohttp-cors
+      bleak
+      bluetooth-adapters
       construct
     ]; # missing inputs: python-eq3bt
     "esphome" = ps: with ps; [
@@ -807,7 +816,6 @@
     ];
     "filter" = ps: with ps; [
       fnvhash
-      lru-dict
       sqlalchemy
     ];
     "fints" = ps: with ps; [
@@ -830,6 +838,9 @@
       fixerio
     ];
     "fjaraskupan" = ps: with ps; [
+      aiohttp-cors
+      bleak
+      bluetooth-adapters
       fjaraskupan
     ];
     "fleetgo" = ps: with ps; [
@@ -856,6 +867,7 @@
       pyflume
     ];
     "flunearyou" = ps: with ps; [
+      aiohttp-cors
       pyflunearyou
     ];
     "flux" = ps: with ps; [
@@ -916,7 +928,6 @@
       aiohttp-cors
       fnvhash
       home-assistant-frontend
-      lru-dict
       pillow
       sqlalchemy
     ];
@@ -944,7 +955,6 @@
     ];
     "generic_thermostat" = ps: with ps; [
       fnvhash
-      lru-dict
       sqlalchemy
     ];
     "geniushub" = ps: with ps; [
@@ -1024,6 +1034,12 @@
     ];
     "google_wifi" = ps: with ps; [
     ];
+    "govee_ble" = ps: with ps; [
+      aiohttp-cors
+      bleak
+      bluetooth-adapters
+      govee-ble
+    ];
     "gpsd" = ps: with ps; [
       gps3
     ];
@@ -1033,7 +1049,9 @@
     "graphite" = ps: with ps; [
     ];
     "gree" = ps: with ps; [
+      aiohttp-cors
       greeclimate
+      ifaddr
     ];
     "greeneye_monitor" = ps: with ps; [
       greeneye-monitor
@@ -1063,7 +1081,6 @@
       aiohttp-cors
       fnvhash
       home-assistant-frontend
-      lru-dict
       pillow
       sqlalchemy
     ];
@@ -1079,7 +1096,6 @@
       aiohttp-cors
       fnvhash
       home-assistant-frontend
-      lru-dict
       pillow
       sqlalchemy
     ];
@@ -1109,12 +1125,10 @@
     "history" = ps: with ps; [
       aiohttp-cors
       fnvhash
-      lru-dict
       sqlalchemy
     ];
     "history_stats" = ps: with ps; [
       fnvhash
-      lru-dict
       sqlalchemy
     ];
     "hitron_coda" = ps: with ps; [
@@ -1135,11 +1149,13 @@
     ];
     "homeassistant" = ps: with ps; [
     ];
+    "homeassistant_alerts" = ps: with ps; [
+      aiohttp-cors
+    ];
     "homeassistant_yellow" = ps: with ps; [
       aiohttp-cors
       fnvhash
       home-assistant-frontend
-      lru-dict
       pillow
       sqlalchemy
     ];
@@ -1157,6 +1173,8 @@
     "homekit_controller" = ps: with ps; [
       aiohomekit
       aiohttp-cors
+      bleak
+      bluetooth-adapters
       ifaddr
       zeroconf
     ];
@@ -1257,6 +1275,12 @@
       influxdb-client
       influxdb
     ];
+    "inkbird" = ps: with ps; [
+      aiohttp-cors
+      bleak
+      bluetooth-adapters
+      inkbird-ble
+    ];
     "input_boolean" = ps: with ps; [
     ];
     "input_button" = ps: with ps; [
@@ -1274,7 +1298,6 @@
       fnvhash
       home-assistant-frontend
       insteon-frontend-home-assistant
-      lru-dict
       pillow
       pyinsteon
       pyserial
@@ -1428,7 +1451,7 @@
       aiolifx
       aiolifx-effects
       ifaddr
-    ];
+    ]; # missing inputs: aiolifx-connection
     "lifx_cloud" = ps: with ps; [
     ];
     "light" = ps: with ps; [
@@ -1471,7 +1494,6 @@
       aiohttp-cors
       fnvhash
       home-assistant-frontend
-      lru-dict
       pillow
       sqlalchemy
     ];
@@ -1533,7 +1555,6 @@
       aiohttp-cors
       fnvhash
       home-assistant-frontend
-      lru-dict
       pillow
       sqlalchemy
     ];
@@ -1613,8 +1634,8 @@
       aiohttp-cors
     ];
     "miflora" = ps: with ps; [
-      bluepy
-    ]; # missing inputs: miflora
+      aiohttp-cors
+    ];
     "mikrotik" = ps: with ps; [
       librouteros
     ];
@@ -1633,9 +1654,16 @@
       minio
     ];
     "mitemp_bt" = ps: with ps; [
-    ]; # missing inputs: mitemp_bt
+      aiohttp-cors
+    ];
     "mjpeg" = ps: with ps; [
     ];
+    "moat" = ps: with ps; [
+      aiohttp-cors
+      bleak
+      bluetooth-adapters
+      moat-ble
+    ];
     "mobile_app" = ps: with ps; [
       pynacl
       pyturbojpeg
@@ -1713,7 +1741,6 @@
       aiohttp-cors
       fnvhash
       home-assistant-frontend
-      lru-dict
       pillow
       sqlalchemy
     ];
@@ -1795,6 +1822,9 @@
     "nextcloud" = ps: with ps; [
       nextcloudmonitor
     ];
+    "nextdns" = ps: with ps; [
+      nextdns
+    ];
     "nfandroidtv" = ps: with ps; [
     ]; # missing inputs: notifications-android-tv
     "nightscout" = ps: with ps; [
@@ -1885,7 +1915,6 @@
       aiohttp-cors
       fnvhash
       home-assistant-frontend
-      lru-dict
       pillow
       sqlalchemy
     ];
@@ -1913,6 +1942,7 @@
     "openalpr_cloud" = ps: with ps; [
     ];
     "openalpr_local" = ps: with ps; [
+      aiohttp-cors
     ];
     "opencv" = ps: with ps; [
       numpy
@@ -1992,7 +2022,6 @@
       aiohttp-cors
       fnvhash
       home-assistant-frontend
-      lru-dict
       pillow
       sqlalchemy
     ];
@@ -2000,7 +2029,6 @@
       aiohttp-cors
       fnvhash
       home-assistant-frontend
-      lru-dict
       pillow
       sqlalchemy
     ];
@@ -2044,7 +2072,6 @@
     ];
     "plant" = ps: with ps; [
       fnvhash
-      lru-dict
       sqlalchemy
     ];
     "plex" = ps: with ps; [
@@ -2162,6 +2189,7 @@
       radios
     ];
     "radiotherm" = ps: with ps; [
+      aiohttp-cors
       radiotherm
     ];
     "rainbird" = ps: with ps; [
@@ -2183,7 +2211,6 @@
       aiohttp-cors
       fnvhash
       home-assistant-frontend
-      lru-dict
       pillow
       sqlalchemy
     ];
@@ -2197,7 +2224,6 @@
     ];
     "recorder" = ps: with ps; [
       fnvhash
-      lru-dict
       sqlalchemy
     ];
     "recswitch" = ps: with ps; [
@@ -2214,10 +2240,14 @@
     "remote" = ps: with ps; [
     ];
     "remote_rpi_gpio" = ps: with ps; [
-    ]; # missing inputs: gpiozero pigpio
+      gpiozero
+    ]; # missing inputs: pigpio
     "renault" = ps: with ps; [
       renault-api
     ];
+    "repairs" = ps: with ps; [
+      aiohttp-cors
+    ];
     "repetier" = ps: with ps; [
     ]; # missing inputs: pyrepetierng
     "rest" = ps: with ps; [
@@ -2232,6 +2262,9 @@
     "rfxtrx" = ps: with ps; [
       pyrfxtrx
     ];
+    "rhasspy" = ps: with ps; [
+      aiohttp-cors
+    ];
     "ridwell" = ps: with ps; [
       aioridwell
     ];
@@ -2298,7 +2331,6 @@
       fnvhash
       hass-nabucasa
       home-assistant-frontend
-      lru-dict
       pillow
       sqlalchemy
     ];
@@ -2359,9 +2391,14 @@
     ];
     "sensor" = ps: with ps; [
       fnvhash
-      lru-dict
       sqlalchemy
     ];
+    "sensorpush" = ps: with ps; [
+      aiohttp-cors
+      bleak
+      bluetooth-adapters
+      sensorpush-ble
+    ];
     "sentry" = ps: with ps; [
       sentry-sdk
     ];
@@ -2413,6 +2450,7 @@
       pysignalclirestapi
     ];
     "simplepush" = ps: with ps; [
+      aiohttp-cors
     ]; # missing inputs: simplepush
     "simplisafe" = ps: with ps; [
       simplisafe-python
@@ -2528,9 +2566,7 @@
     ];
     "soundtouch" = ps: with ps; [
       aiohttp-cors
-      ifaddr
       libsoundtouch
-      zeroconf
     ];
     "spaceapi" = ps: with ps; [
       aiohttp-cors
@@ -2575,13 +2611,13 @@
     ];
     "statistics" = ps: with ps; [
       fnvhash
-      lru-dict
       sqlalchemy
     ];
     "statsd" = ps: with ps; [
       statsd
     ];
     "steam_online" = ps: with ps; [
+      aiohttp-cors
       steamodd
     ];
     "steamist" = ps: with ps; [
@@ -2635,6 +2671,9 @@
     ];
     "switchbot" = ps: with ps; [
       pyswitchbot
+      aiohttp-cors
+      bleak
+      bluetooth-adapters
     ];
     "switcher_kis" = ps: with ps; [
       aioswitcher
@@ -2745,7 +2784,6 @@
     ];
     "tibber" = ps: with ps; [
       fnvhash
-      lru-dict
       pytibber
       sqlalchemy
     ];
@@ -2916,6 +2954,7 @@
       pyudev
     ];
     "uscis" = ps: with ps; [
+      aiohttp-cors
     ]; # missing inputs: uscisstatus
     "usgs_earthquakes_feed" = ps: with ps; [
       aio-geojson-usgs-earthquakes
@@ -3101,6 +3140,12 @@
       netdisco
       zeroconf
     ];
+    "xiaomi_ble" = ps: with ps; [
+      aiohttp-cors
+      bleak
+      bluetooth-adapters
+      xiaomi-ble
+    ];
     "xiaomi_miio" = ps: with ps; [
       construct
       micloud
@@ -3177,7 +3222,6 @@
       fnvhash
       home-assistant-frontend
       ifaddr
-      lru-dict
       pillow
       pyserial-asyncio
       pyserial
@@ -3274,6 +3318,7 @@
     "blebox"
     "blink"
     "blueprint"
+    "bluetooth"
     "bluetooth_le_tracker"
     "bmw_connected_drive"
     "bond"
@@ -3424,6 +3469,7 @@
     "google_translate"
     "google_travel_time"
     "google_wifi"
+    "govee_ble"
     "gpslogger"
     "graphite"
     "gree"
@@ -3448,6 +3494,7 @@
     "home_connect"
     "home_plus_control"
     "homeassistant"
+    "homeassistant_alerts"
     "homeassistant_yellow"
     "homekit"
     "homekit_controller"
@@ -3473,6 +3520,7 @@
     "image_processing"
     "imap_email_content"
     "influxdb"
+    "inkbird"
     "input_boolean"
     "input_button"
     "input_datetime"
@@ -3550,6 +3598,7 @@
     "minecraft_server"
     "minio"
     "mjpeg"
+    "moat"
     "mobile_app"
     "modbus"
     "modem_callerid"
@@ -3580,6 +3629,7 @@
     "network"
     "nexia"
     "nextbus"
+    "nextdns"
     "nightscout"
     "nina"
     "no_ip"
@@ -3601,7 +3651,6 @@
     "onvif"
     "open_meteo"
     "openalpr_cloud"
-    "openalpr_local"
     "openerz"
     "opengarage"
     "openhardwaremonitor"
@@ -3656,10 +3705,12 @@
     "reddit"
     "remote"
     "renault"
+    "repairs"
     "rest"
     "rest_command"
     "rflink"
     "rfxtrx"
+    "rhasspy"
     "ridwell"
     "ring"
     "risco"
@@ -3686,6 +3737,7 @@
     "senseme"
     "sensibo"
     "sensor"
+    "sensorpush"
     "sentry"
     "senz"
     "seventeentrack"
@@ -3848,6 +3900,7 @@
     "xbox"
     "xiaomi"
     "xiaomi_aqara"
+    "xiaomi_ble"
     "xiaomi_miio"
     "yale_smart_alarm"
     "yamaha"
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index 671ee2dee47..c045703afe1 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -31,6 +31,17 @@ let
     # Override the version of some packages pinned in Home Assistant's setup.py and requirements_all.txt
 
     (self: super: {
+      advantage-air = super.advantage-air.overridePythonAttrs (oldAttrs: rec {
+        version = "0.3.1";
+        src = super.fetchPypi {
+          pname = "advantage_air";
+          inherit version;
+          hash = "sha256-C+cB6oHmbr9mHZKnbls42yenQy3+L8huLk9wKazIWfU=";
+        };
+      });
+    })
+
+    (self: super: {
       backoff = super.backoff.overridePythonAttrs (oldAttrs: rec {
         version = "1.11.1";
         src = fetchFromGitHub {
@@ -56,6 +67,30 @@ let
       });
     })
 
+    (self: super: {
+      gridnet = super.gridnet.overridePythonAttrs (oldAttrs: rec {
+        version = "4.0.0";
+        src = fetchFromGitHub {
+          owner = "klaasnicolaas";
+          repo = "python-gridnet";
+          rev = "refs/tags/v${version}";
+          hash = "sha256-Ihs8qUx50tAUcRBsVArRhzoLcQUi1vbYh8sPyK75AEk=";
+        };
+      });
+    })
+
+    (self: super: {
+      p1monitor = super.p1monitor.overridePythonAttrs (oldAttrs: rec {
+        version = "1.0.1";
+        src = fetchFromGitHub {
+          owner = "klaasnicolaas";
+          repo = "python-p1monitor";
+          rev = "refs/tags/v${version}";
+          hash = "sha256-g3isA2gF2AD+VVzTqpnD+YiJQ9Kcl0VKvwd5l5Yx/Uo=";
+        };
+      });
+    })
+
     # pytest-aiohttp>0.3.0 breaks home-assistant tests
     (self: super: {
       pytest-aiohttp = super.pytest-aiohttp.overridePythonAttrs (oldAttrs: rec {
@@ -77,9 +112,6 @@ let
       hass-nabucasa = super.hass-nabucasa.overridePythonAttrs (oldAttrs: {
         doCheck = false; # requires aiohttp>=1.0.0
       });
-      pydeconz = super.pydeconz.overridePythonAttrs (oldAttrs: {
-        doCheck = false; # requires pytest-aiohttp>=1.0.0
-      });
       pynws = super.pynws.overridePythonAttrs (oldAttrs: {
         doCheck = false; # requires pytest-aiohttp>=1.0.0
       });
@@ -97,6 +129,18 @@ let
       });
     })
 
+    (self: super: {
+      plugwise = super.plugwise.overridePythonAttrs (oldAttrs: rec {
+        version = "0.20.1";
+        src = fetchFromGitHub {
+          owner = "plugwise";
+          repo = "python-plugwise";
+          rev = "refs/tags/v${version}";
+          hash = "sha256-Sk7L0JPwn7IXVl5GeERxrG/vrHXeNwUjW1mgm4g40Ng=";
+        };
+      });
+    })
+
     # Pinned due to API changes in 0.1.0
     (mkOverride "poolsense" "0.0.8" "sha256-17MHrYRmqkH+1QLtgq2d6zaRtqvb9ju9dvPt9gB2xCc=")
 
@@ -114,6 +158,46 @@ let
     })
 
     (self: super: {
+      pyatmo = super.pyatmo.overridePythonAttrs (oldAttrs: rec {
+        version = "6.2.4";
+        src = fetchFromGitHub {
+          owner = "jabesq";
+          repo = "pyatmo";
+          rev = "refs/tags/v${version}";
+          hash = "sha256-VXkQByaNA02fwBO2yuf7w1ZF/oJwd/h21de1EQlCu2U=";
+        };
+        checkInputs = [ super.freezegun ];
+      });
+    })
+
+    # pyunifiprotect excludes pydantic==1.9.1
+    (self: super: {
+      pydantic = super.pydantic.overridePythonAttrs (oldAttrs: rec {
+        version = "1.9.0";
+        src = fetchFromGitHub {
+          owner = "samuelcolvin";
+          repo = "pydantic";
+          rev = "refs/tags/v${version}";
+          hash = "sha256-C4WP8tiMRFmkDkQRrvP3yOSM2zN8pHJmX9cdANIckpM=";
+        };
+      });
+    })
+
+    (self: super: {
+      pydeconz = super.pydeconz.overridePythonAttrs (oldAttrs: rec {
+        version = "102";
+        src = fetchFromGitHub {
+          owner = "Kane610";
+          repo = "deconz";
+          rev = "refs/tags/v${version}";
+          hash = "sha256-Dbhp/+xyyWhFcYp2VRnivn5d1JMR5hBctdArIzLKIjM=";
+        };
+        doCheck = false; # requires pytest-aiohttp>=1.0.0
+      });
+    })
+
+
+    (self: super: {
       python-slugify = super.python-slugify.overridePythonAttrs (oldAttrs: rec {
         pname = "python-slugify";
         version = "4.0.1";
@@ -124,6 +208,40 @@ let
       });
     })
 
+    (self: super: {
+      pytradfri = super.pytradfri.overridePythonAttrs (oldAttrs: rec {
+        version = "9.0.0";
+        src = fetchFromGitHub {
+          owner = "home-assistant-libs";
+          repo = "pytradfri";
+          rev = "refs/tags/${version}";
+          hash = "sha256-12ol+2CnoPfkxmDGJJAkoafHGpQuWC4lh0N7lSvx2DE=";
+        };
+      });
+    })
+
+    (self: super: {
+      solax = super.solax.overridePythonAttrs (oldAttrs: rec {
+        version = "0.2.9";
+        src = super.fetchPypi {
+          pname = "solax";
+          inherit version;
+          hash = "sha256-5m2wxdTshAsEfldPAyXqAYYtH1VjqERRBUGzX6pV85I=";
+        };
+      });
+    })
+
+    (self: super: {
+      pysoma = super.pysoma.overridePythonAttrs (oldAttrs: rec {
+        version = "0.0.10";
+        src = super.fetchPypi {
+          pname = "pysoma";
+          inherit version;
+          hash = "sha256-sU1qHbAjdIUu0etjate8+U1zvunbw3ddBtDVUU10CuE=";
+        };
+      });
+    })
+
     # Pinned due to API changes in 0.4.0
     (self: super: {
       vilfo-api-client = super.vilfo-api-client.overridePythonAttrs (oldAttrs: rec {
@@ -189,7 +307,7 @@ let
   extraPackagesFile = writeText "home-assistant-packages" (lib.concatMapStringsSep "\n" (pkg: pkg.pname) extraBuildInputs);
 
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "2022.7.5";
+  hassVersion = "2022.8.3";
 
 in python.pkgs.buildPythonApplication rec {
   pname = "homeassistant";
@@ -207,7 +325,7 @@ in python.pkgs.buildPythonApplication rec {
     owner = "home-assistant";
     repo = "core";
     rev = version;
-    hash = "sha256-fUKT9ZSu8dhwapvdjq50t5kh6ZwGsMteuvCjYpPQNx0=";
+    hash = "sha256-Wx5l51+vcByOqdwqcnOn1+yYgp98kXggRmgO/wtiI+U=";
   };
 
   # leave this in, so users don't have to constantly update their downstream patch handling
@@ -225,6 +343,7 @@ in python.pkgs.buildPythonApplication rec {
       "awesomeversion"
       "bcrypt"
       "cryptography"
+      "home-assistant-bluetooth"
       "httpx"
       "ifaddr"
       "orjson"
@@ -253,6 +372,7 @@ in python.pkgs.buildPythonApplication rec {
     ciso8601
     cryptography
     httpx
+    home-assistant-bluetooth
     ifaddr
     jinja2
     lru-dict
diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix
index c30afd13e6d..868b8359e7d 100644
--- a/pkgs/servers/home-assistant/frontend.nix
+++ b/pkgs/servers/home-assistant/frontend.nix
@@ -4,7 +4,7 @@ buildPythonPackage rec {
   # the frontend version corresponding to a specific home-assistant version can be found here
   # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
   pname = "home-assistant-frontend";
-  version = "20220707.1";
+  version = "20220802.0";
   format = "wheel";
 
   src = fetchPypi {
@@ -12,7 +12,7 @@ buildPythonPackage rec {
     pname = "home_assistant_frontend";
     dist = "py3";
     python = "py3";
-    sha256 = "sha256-nsQBMERX4DMm1s3jgDwUzWNnqP44S95AM3+RQ8MdCgI=";
+    sha256 = "sha256-vUK/apsaJLaR/i6I2EWPxyohps+EazOr9ZuBKoRcyCI=";
   };
 
   # there is nothing to strip in this package
diff --git a/pkgs/servers/hqplayerd/default.nix b/pkgs/servers/hqplayerd/default.nix
index 26f71e9dccc..37b60ce56aa 100644
--- a/pkgs/servers/hqplayerd/default.nix
+++ b/pkgs/servers/hqplayerd/default.nix
@@ -5,7 +5,7 @@
 , cairo
 , fetchurl
 , flac
-, gcc11
+, gcc12
 , gnome
 , gssdp
 , gupnp
@@ -22,11 +22,11 @@
 }:
 stdenv.mkDerivation rec {
   pname = "hqplayerd";
-  version = "4.32.2-92";
+  version = "4.32.4-94sse42";
 
   src = fetchurl {
-    url = "https://www.signalyst.eu/bins/${pname}/fc35/${pname}-${version}.fc35.x86_64.rpm";
-    hash = "sha256-chgzu5r35VTSc1xOVTPCWCRrjABOy+vs57SsKOSzvkM=";
+    url = "https://www.signalyst.eu/bins/${pname}/fc36/${pname}-${version}.fc36.x86_64.rpm";
+    hash = "sha256-hTckJdZzD/Sx/uV30dlGiT46QvzIGp6BQdNNRlQ/Mgw=";
   };
 
   unpackPhase = ''
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     alsa-lib
     cairo
     flac
-    gcc11.cc.lib
+    gcc12.cc.lib
     gnome.rygel
     gssdp
     gupnp
diff --git a/pkgs/servers/http/gitlab-pages/default.nix b/pkgs/servers/http/gitlab-pages/default.nix
index 124286d6fef..cc4b85518b2 100644
--- a/pkgs/servers/http/gitlab-pages/default.nix
+++ b/pkgs/servers/http/gitlab-pages/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gitlab-pages";
-  version = "1.59.0";
+  version = "1.62.0";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-pages";
     rev = "v${version}";
-    sha256 = "sha256-YfuGpenypYZrX0loLwBya2Yw1tFqEpEK7fcjCHnyHCQ=";
+    sha256 = "sha256-sGZUns6ad4FQ/5VYEi7hhgp35YIdbwyaMYPMbK8hlNA=";
   };
 
-  vendorSha256 = "sha256-CRIrqM6alELkd7904H7+W9IRICPawEZEcVf98hBQogU=";
+  vendorSha256 = "sha256-UHSXhRfegqgKyFl2W/2am9VNIzVYeIuUsVlha8nAZw0=";
   subPackages = [ "." ];
 
   meta = with lib; {
diff --git a/pkgs/servers/http/lighttpd/default.nix b/pkgs/servers/http/lighttpd/default.nix
index 4892870ab0d..2885676279d 100644
--- a/pkgs/servers/http/lighttpd/default.nix
+++ b/pkgs/servers/http/lighttpd/default.nix
@@ -15,11 +15,11 @@
 
 stdenv.mkDerivation rec {
   pname = "lighttpd";
-  version = "1.4.65";
+  version = "1.4.66";
 
   src = fetchurl {
     url = "https://download.lighttpd.net/lighttpd/releases-${lib.versions.majorMinor version}.x/${pname}-${version}.tar.xz";
-    sha256 = "sha256-vw+mimKfvEBAI6kSs3fnAEkzHWeXvLtLPo30w7QjKL4=";
+    sha256 = "sha256-R6xuYCcaoBluZUctAtAZVW3HxtCd87Zd8sGraGY0jjs=";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/http/nginx/modules.nix b/pkgs/servers/http/nginx/modules.nix
index 84133e3a087..e2f7119440a 100644
--- a/pkgs/servers/http/nginx/modules.nix
+++ b/pkgs/servers/http/nginx/modules.nix
@@ -264,8 +264,8 @@ in
       name = "moreheaders";
       owner = "openresty";
       repo = "headers-more-nginx-module";
-      rev = "e536bc595d8b490dbc9cf5999ec48fca3f488632";
-      sha256 = "sha256-gxLgs07XdFLcV4lv4JpiG2WGeLhBk13FRyzI0FOUjyA=";
+      rev = "v0.34";
+      sha256 = "sha256-LsrN/rF/p17x/80Jw9CgbmK69to6LycCM1OwTBojz8M=";
     };
   };
 
diff --git a/pkgs/servers/irc/charybdis/default.nix b/pkgs/servers/irc/charybdis/default.nix
index 53bfbb81cd9..37d5b299837 100644
--- a/pkgs/servers/irc/charybdis/default.nix
+++ b/pkgs/servers/irc/charybdis/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     description = "IRCv3 server designed to be highly scalable";
     homepage    = "https://github.com/charybdis-ircd/charybdis";
     license     = licenses.gpl2;
-    maintainers = with maintainers; [ lassulus fpletz ];
+    maintainers = with maintainers; [ lassulus ];
     platforms   = platforms.unix;
   };
 
diff --git a/pkgs/servers/janus-gateway/default.nix b/pkgs/servers/janus-gateway/default.nix
index 6c95551dd1f..d71f11fc5bb 100644
--- a/pkgs/servers/janus-gateway/default.nix
+++ b/pkgs/servers/janus-gateway/default.nix
@@ -15,13 +15,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "janus-gateway";
-  version = "1.0.3";
+  version = "1.0.4";
 
   src = fetchFromGitHub {
     owner = "meetecho";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-c+5NvJqrYoG96CPaR4CkC9y/CmpTDxyHUmPr+C0t484=";
+    sha256 = "sha256-1WQo1v5TJPPJjC2lc8k9aWmtRUFITYEuwSfsPzh5320=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config gengetopt ];
diff --git a/pkgs/servers/mail/mailman/hyperkitty.nix b/pkgs/servers/mail/mailman/hyperkitty.nix
index 2b8959a8f37..406e104e881 100644
--- a/pkgs/servers/mail/mailman/hyperkitty.nix
+++ b/pkgs/servers/mail/mailman/hyperkitty.nix
@@ -46,7 +46,7 @@ buildPythonPackage rec {
     django-haystack
     django-mailman3
     django-q
-    django_compressor
+    django-compressor
     django-extensions
     djangorestframework
     flufl_lock
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index 366720b01bb..8f5240b42eb 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -11,11 +11,11 @@ in
 with python3.pkgs;
 buildPythonApplication rec {
   pname = "matrix-synapse";
-  version = "1.63.1";
+  version = "1.64.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-AjxvZye3bRjGT355eAnwuP2lvTU/RSnOPxxKqaUxN9g=";
+    sha256 = "sha256-hybl63hbhuUYnMi03z0Yp7L4n0x01z5uR8r5ZwHzgfI=";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/servers/matrix-synapse/tools/rust-synapse-compress-state.nix b/pkgs/servers/matrix-synapse/tools/rust-synapse-compress-state.nix
index 3734d7c602d..fcf123d6e1d 100644
--- a/pkgs/servers/matrix-synapse/tools/rust-synapse-compress-state.nix
+++ b/pkgs/servers/matrix-synapse/tools/rust-synapse-compress-state.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-synapse-compress-state";
-  version = "0.1.2";
+  version = "0.1.3";
 
   src = fetchFromGitHub {
     owner = "matrix-org";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-uL7uoJPvZoTbrmEFY7jiBphvjWSRpH9pyk3x7s3Yvrs=";
+    sha256 = "sha256-SSfVtG8kwHarVbB1O7xC2SSbUpPGYMHTMyoxu8mpEk0=";
   };
 
-  cargoSha256 = "sha256-3w5RyVrpCnetXnxnzgVl94kUZa+1i9bU2O8vp7sb3lY=";
+  cargoSha256 = "sha256-PG+UeovhJMsIlm5dOYdtMxbUxZjwG3V59kAcB9aFP5c=";
 
   cargoBuildFlags = [
     "--all"
diff --git a/pkgs/servers/mattermost/default.nix b/pkgs/servers/mattermost/default.nix
index a9d18d5b3f7..20ffc299d01 100644
--- a/pkgs/servers/mattermost/default.nix
+++ b/pkgs/servers/mattermost/default.nix
@@ -45,6 +45,6 @@ buildGoModule rec {
     description = "Mattermost is an open source platform for secure collaboration across the entire software development lifecycle";
     homepage = "https://www.mattermost.org";
     license = with licenses; [ agpl3 asl20 ];
-    maintainers = with maintainers; [ fpletz ryantm numinit kranzes ];
+    maintainers = with maintainers; [ ryantm numinit kranzes ];
   };
 }
diff --git a/pkgs/servers/mattermost/matterircd.nix b/pkgs/servers/mattermost/matterircd.nix
index ac459234093..bc78495a501 100644
--- a/pkgs/servers/mattermost/matterircd.nix
+++ b/pkgs/servers/mattermost/matterircd.nix
@@ -19,7 +19,7 @@ buildGoModule rec {
     inherit (src.meta) homepage;
     description = "Minimal IRC server bridge to Mattermost";
     license = licenses.mit;
-    maintainers = with maintainers; [ fpletz ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/memcached/default.nix b/pkgs/servers/memcached/default.nix
index eedb420f2eb..61f48824ea4 100644
--- a/pkgs/servers/memcached/default.nix
+++ b/pkgs/servers/memcached/default.nix
@@ -1,12 +1,12 @@
 {lib, stdenv, fetchurl, cyrus_sasl, libevent, nixosTests }:
 
 stdenv.mkDerivation rec {
-  version = "1.6.15";
+  version = "1.6.16";
   pname = "memcached";
 
   src = fetchurl {
     url = "https://memcached.org/files/${pname}-${version}.tar.gz";
-    sha256 = "sha256-jXq+PWSTeO27oW9C7x1myj8qwHXy65cUXOFkOI5u1RU=";
+    sha256 = "sha256-MFGpO/HdDDry0OWJ/272UR+HY4WjWxjp/4dB5KGrNNo=";
   };
 
   configureFlags = [
diff --git a/pkgs/servers/minio/default.nix b/pkgs/servers/minio/default.nix
index 6459e5a5609..9340dc24fc2 100644
--- a/pkgs/servers/minio/default.nix
+++ b/pkgs/servers/minio/default.nix
@@ -15,16 +15,16 @@ let
 in
 buildGoModule rec {
   pname = "minio";
-  version = "2022-07-26T00-53-03Z";
+  version = "2022-08-08T18-34-09Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "minio";
     rev = "RELEASE.${version}";
-    sha256 = "sha256-/2oCivEZttYo4f06KvTked4jR7DIV4cGgejMzElYVaY=";
+    sha256 = "sha256-HuKfpQY6dllxkrictCMBczHTg2oCLQtZrJQqPG2l6N8=";
   };
 
-  vendorSha256 = "sha256-eohF8pfW9wiUvSbukpy1zAnaB/grN0RzvtDwJ/JV07E=";
+  vendorSha256 = "sha256-uoavsixaLQg0gL70m4ea5fgH5R06YyIZHy1oxDSA0ko=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/misc/gobgpd/default.nix b/pkgs/servers/misc/gobgpd/default.nix
index 52ba33c4220..a46a25ee5a1 100644
--- a/pkgs/servers/misc/gobgpd/default.nix
+++ b/pkgs/servers/misc/gobgpd/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gobgpd";
-  version = "3.4.0";
+  version = "3.5.0";
 
   src = fetchFromGitHub {
     owner = "osrg";
     repo = "gobgp";
     rev = "v${version}";
-    sha256 = "sha256-iV5iohDwJ6LCtX2qvv+Z7jYRukqM606UlAROLb/1Fak=";
+    sha256 = "sha256-iFtoxEjb+Wk8E2oj1SjSRNwxg20//0LgFtjMq9qJOEQ=";
   };
 
-  vendorSha256 = "sha256-hw2cyKJaLBmPRdF4D+GVcVCkTpIK0HZasbMyYfLef1w=";
+  vendorSha256 = "sha256-FxfER3THsA7NRuQKEdWQxgUN0SiNI00hGUMVD+3BaG4=";
 
   postConfigure = ''
     export CGO_ENABLED=0
diff --git a/pkgs/servers/misc/navidrome/default.nix b/pkgs/servers/misc/navidrome/default.nix
index 8c2a28affbd..173dd0caa88 100644
--- a/pkgs/servers/misc/navidrome/default.nix
+++ b/pkgs/servers/misc/navidrome/default.nix
@@ -41,7 +41,12 @@ buildGoModule {
 
   buildInputs = [ taglib zlib ];
 
-  CGO_CFLAGS = [ "-Wno-return-local-addr" ];
+  ldflags = [
+    "-X github.com/navidrome/navidrome/consts.gitSha=${src.rev}"
+    "-X github.com/navidrome/navidrome/consts.gitTag=v${version}"
+  ];
+
+  CGO_CFLAGS = lib.optionals stdenv.cc.isGNU [ "-Wno-return-local-addr" ];
 
   prePatch = ''
     cp -r ${ui}/* ui/build
@@ -52,8 +57,6 @@ buildGoModule {
       --prefix PATH : ${lib.makeBinPath [ ffmpeg ]}
   '';
 
-  doCheck = false;
-
   passthru = {
     inherit ui;
     tests.navidrome = nixosTests.navidrome;
diff --git a/pkgs/servers/monitoring/cadvisor/default.nix b/pkgs/servers/monitoring/cadvisor/default.nix
index 73fe3ed1192..186b893ac0b 100644
--- a/pkgs/servers/monitoring/cadvisor/default.nix
+++ b/pkgs/servers/monitoring/cadvisor/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "cadvisor";
-  version = "0.44.1";
+  version = "0.45.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "cadvisor";
     rev = "v${version}";
-    sha256 = "sha256-OVUKQGP9zzlzoC/25BHNbJuP6ELstBMaRFAzUnDSR0U=";
+    sha256 = "sha256-hH3unhGRrB8IegVaX+j2idY0woMqzchEEXZB/ppzIf0=";
   };
 
   modRoot = "./cmd";
 
-  vendorSha256 = "sha256-LGMouB76GT/ZvG3kLoo/jmnHT0CEeND9pObTOKaS9T0=";
+  vendorSha256 = "sha256-Mcelh/nYFcNTrI1Kq9KqkJeSnbgJhd7HfbexhNYbPFg=";
 
   ldflags = [ "-s" "-w" "-X github.com/google/cadvisor/version.Version=${version}" ];
 
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index 4c36a86c9eb..c25c34c125a 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "grafana";
-  version = "9.0.5";
+  version = "9.0.7";
 
   excludedPackages = [ "alert_webhook_listener" "clean-swagger" "release_publisher" "slow_proxy" "slow_proxy_mac" "macaron" "devenv" ];
 
@@ -10,12 +10,12 @@ buildGoModule rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    sha256 = "sha256-TYT1eJ9jg82GFunYofPMCWuHB60qFg1lWTH2iapyUlc=";
+    sha256 = "sha256-rmcoyYBTT1po0TphmoGSoiS13W98LvjBhizKkhZVMzE=";
   };
 
   srcStatic = fetchurl {
     url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
-    sha256 = "sha256-NljayyDOVazm5OyQw+XlHJgW0caC4TSmR56QwTTWrlw=";
+    sha256 = "sha256-9mXmot/UjMNrfDQ1MXSQvjn6cBBNQ4gP7bJvpBqBIKc=";
   };
 
   vendorSha256 = "sha256-6Z1qvn5HTybKAjsst8kSGYCbEIBsPyhNswVGGiMD9B8=";
diff --git a/pkgs/servers/monitoring/mackerel-agent/default.nix b/pkgs/servers/monitoring/mackerel-agent/default.nix
index 54307fb98b4..8b7f6042a70 100644
--- a/pkgs/servers/monitoring/mackerel-agent/default.nix
+++ b/pkgs/servers/monitoring/mackerel-agent/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "mackerel-agent";
-  version = "0.72.9";
+  version = "0.73.0";
 
   src = fetchFromGitHub {
     owner = "mackerelio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-+3a0FyVf5AB85gGGBI8/ssLBqj9Kp3w9DUNbSaAtXvA=";
+    sha256 = "sha256-Ev7GhJjGNgMlkvfGV2oi2uvtvlDTTIo3YQAM87KC4r0=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
   checkInputs = lib.optionals (!stdenv.isDarwin) [ nettools ];
   buildInputs = lib.optionals (!stdenv.isDarwin) [ iproute2 ];
 
-  vendorSha256 = "sha256-4hdy+Yr9EoUjJ4+pJ2ZEPGlnq+4sx5JLm92eFFav6tU=";
+  vendorSha256 = "sha256-K/HnlrXFgLsm+9161RkeTBbToY8SoHVinY2aY2+S6p4=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix b/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix
index f6cd44ca7b2..a5cb1f25cd6 100644
--- a/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "blackbox_exporter";
-  version = "0.21.1";
+  version = "0.22.0";
   rev = "v${version}";
 
   src = fetchFromGitHub {
     inherit rev;
     owner = "prometheus";
     repo = "blackbox_exporter";
-    sha256 = "sha256-57+bNoLUfB98WqDUe8ysRdoG87RhKXttmkA//ucSqbQ=";
+    sha256 = "sha256-TelyZTzh/+fHe42H3AarZzuU8zY1EflHVo9c4WymMVc=";
   };
 
-  vendorSha256 = "sha256-7V5WEEy/Rz1QjscPD2Kz+viGkKQsWjs+8QN/3W7D+Ik=";
+  vendorSha256 = "sha256-pzEEi9O/Sgsv1dFm7wQt6PaP/beV5PMrXEZC9N/6lUc=";
 
   # dns-lookup is performed for the tests
   doCheck = false;
diff --git a/pkgs/servers/monitoring/prometheus/collectd-exporter.nix b/pkgs/servers/monitoring/prometheus/collectd-exporter.nix
index d089a3877cd..4f059b7e84f 100644
--- a/pkgs/servers/monitoring/prometheus/collectd-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/collectd-exporter.nix
@@ -20,7 +20,7 @@ buildGoPackage rec {
     description = "Relay server for exporting metrics from collectd to Prometheus";
     homepage = "https://github.com/prometheus/collectd_exporter";
     license = licenses.asl20;
-    maintainers = with maintainers; [ benley fpletz ];
+    maintainers = with maintainers; [ benley ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/haproxy-exporter.nix b/pkgs/servers/monitoring/prometheus/haproxy-exporter.nix
index f4c64d225e9..5d47bede00b 100644
--- a/pkgs/servers/monitoring/prometheus/haproxy-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/haproxy-exporter.nix
@@ -19,7 +19,7 @@ buildGoModule rec {
     description = "HAProxy Exporter for the Prometheus monitoring system";
     homepage = "https://github.com/prometheus/haproxy_exporter";
     license = licenses.asl20;
-    maintainers = with maintainers; [ benley fpletz ];
+    maintainers = with maintainers; [ benley ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/openvpn-exporter.nix b/pkgs/servers/monitoring/prometheus/openvpn-exporter.nix
index 78224bcfaa8..735fc852998 100644
--- a/pkgs/servers/monitoring/prometheus/openvpn-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/openvpn-exporter.nix
@@ -18,6 +18,6 @@ buildGoModule rec {
     description = "Prometheus exporter for OpenVPN";
     broken = true;
     license = licenses.asl20;
-    maintainers = with maintainers; [ fpletz globin ];
+    maintainers = with maintainers; [ globin ];
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/pushgateway.nix b/pkgs/servers/monitoring/prometheus/pushgateway.nix
index f14ceec44e2..f8a195c92fe 100644
--- a/pkgs/servers/monitoring/prometheus/pushgateway.nix
+++ b/pkgs/servers/monitoring/prometheus/pushgateway.nix
@@ -42,7 +42,7 @@ buildGoPackage rec {
     description = "Allows ephemeral and batch jobs to expose metrics to Prometheus";
     homepage = "https://github.com/prometheus/pushgateway";
     license = licenses.asl20;
-    maintainers = with maintainers; [ benley fpletz ];
+    maintainers = with maintainers; [ benley ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/statsd-exporter.nix b/pkgs/servers/monitoring/prometheus/statsd-exporter.nix
index 398af245354..dbda3a7cf05 100644
--- a/pkgs/servers/monitoring/prometheus/statsd-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/statsd-exporter.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "statsd_exporter";
-  version = "0.22.2";
+  version = "0.22.7";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "prometheus";
     repo = "statsd_exporter";
-    sha256 = "sha256-pLzUbeSCMV0yr4gSR7m6NYrpm8ZhCPbwwZ5nQzy6lEM=";
+    sha256 = "sha256-hkzgLjxFczqKKJHdVfCKPqMXVFShlS5lZoX8NA27u90=";
   };
 
-  vendorSha256 = "sha256-gBeeOxnVT0+x33VuwZhfjk3Fb8JHZdAzaDuFZlUfdgM=";
+  vendorSha256 = "sha256-/qc3Ui18uSDfHsXiNA63+uPSfxShz7cs3kv0rQPgCok=";
 
   meta = with lib; {
     description = "Receives StatsD-style metrics and exports them to Prometheus";
diff --git a/pkgs/servers/monitoring/prometheus/systemd-exporter.nix b/pkgs/servers/monitoring/prometheus/systemd-exporter.nix
index 96029c99d8c..4d5d97da768 100644
--- a/pkgs/servers/monitoring/prometheus/systemd-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/systemd-exporter.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "systemd_exporter";
-  version = "0.4.0";
+  version = "0.5.0";
 
-  vendorSha256 = "sha256-bYoB0r+d0j3esi/kK2a7/Duup9cf4M3WJjiBNs2+bj8=";
+  vendorSha256 = "sha256-XkwBhj2M1poirPkWzS71NbRTshc8dTKwaHoDfFxpykU=";
 
   src = fetchFromGitHub {
     owner = "povilasv";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-JDfRHczFnTP9sxA7polUE9qzJhSPIiAU58GBNDYkX4c=";
+    sha256 = "sha256-q6rnD8JCtB1zTkUfZt6f2Uyo91uFi3HYI7WFlZdzpBM=";
   };
 
   passthru.tests = { inherit (nixosTests.prometheus-exporters) systemd; };
diff --git a/pkgs/servers/monitoring/prometheus/zfs-exporter.nix b/pkgs/servers/monitoring/prometheus/zfs-exporter.nix
new file mode 100644
index 00000000000..8f0be0901e0
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/zfs-exporter.nix
@@ -0,0 +1,30 @@
+{ buildGoModule
+, lib
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "zfs_exporter";
+  version = "2.2.5";
+
+  src = fetchFromGitHub {
+    owner = "pdf";
+    repo = pname;
+    rev = "v" + version;
+    hash = "sha256-FY3P2wmNWyr7mImc1PJs1G2Ae8rZvDzq0kRZfiRTzyc=";
+  };
+
+  vendorSha256 = "sha256-jQiw3HlqWcsjdadDdovCsDMBB3rnWtacfbtzDb5rc9c=";
+
+  postInstall = ''
+    install -Dm444 -t $out/share/doc/${pname} *.md
+  '';
+
+  meta = with lib; {
+    description = "ZFS Exporter for the Prometheus monitoring system";
+    homepage = "https://github.com/pdf/zfs_exporter";
+    license = licenses.mit;
+    maintainers = with maintainers; [ peterhoeg ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/mpd/default.nix b/pkgs/servers/mpd/default.nix
index 82c5ac5ea5d..28f3a85442b 100644
--- a/pkgs/servers/mpd/default.nix
+++ b/pkgs/servers/mpd/default.nix
@@ -185,7 +185,7 @@ let
         description = "A flexible, powerful daemon for playing music";
         homepage    = "https://www.musicpd.org/";
         license     = licenses.gpl2Only;
-        maintainers = with maintainers; [ astsmtl ehmry fpletz tobim ];
+        maintainers = with maintainers; [ astsmtl ehmry tobim ];
         platforms   = platforms.unix;
 
         longDescription = ''
diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix
index 01cdddfd398..2ac4be1af50 100644
--- a/pkgs/servers/nextcloud/default.nix
+++ b/pkgs/servers/nextcloud/default.nix
@@ -25,7 +25,7 @@ let
     meta = with lib; {
       description = "Sharing solution for files, calendars, contacts and more";
       homepage = "https://nextcloud.com";
-      maintainers = with maintainers; [ schneefux bachp globin fpletz ma27 ];
+      maintainers = with maintainers; [ schneefux bachp globin ma27 ];
       license = licenses.agpl3Plus;
       platforms = with platforms; unix;
       knownVulnerabilities = extraVulnerabilities
@@ -46,13 +46,13 @@ in {
   '';
 
   nextcloud23 = generic {
-    version = "23.0.7";
-    sha256 = "89a53d3447d1dcb7ea382d18accf52223040336d08899f0b7568c6dd8a36cd50";
+    version = "23.0.8";
+    sha256 = "ac3d042253399be25a2aa01c799dec75a1459b6ae453874414f6528cc2ee5061";
   };
 
   nextcloud24 = generic {
-    version = "24.0.3";
-    sha256 = "320c81f9b902922b4bcef3eacf858596a14347fd45bddd26dac198562d212439";
+    version = "24.0.4";
+    sha256 = "d107426f8e1c193db882a04c844f9bc7e7eeb7c21e46c46197e5154d6d6ac28e";
   };
 
   # tip: get the sha with:
diff --git a/pkgs/servers/nfs-ganesha/default.nix b/pkgs/servers/nfs-ganesha/default.nix
index 0c8b871ade7..34d0fde0e88 100644
--- a/pkgs/servers/nfs-ganesha/default.nix
+++ b/pkgs/servers/nfs-ganesha/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nfs-ganesha";
-  version = "4.0";
+  version = "4.0.7";
 
   src = fetchFromGitHub {
     owner = "nfs-ganesha";
     repo = "nfs-ganesha";
     rev = "V${version}";
-    sha256 = "1zv7aprmydyjs53xnn1h1s6xxb22pic7va23459zq0nfnhmsgd26";
+    sha256 = "sha256-SI8n3QdjI72QXQsK+LOj4wmmKQGPU+Y1Ysmfo+N+fY0=";
   };
 
   preConfigure = "cd src";
diff --git a/pkgs/servers/nosql/neo4j/default.nix b/pkgs/servers/nosql/neo4j/default.nix
index 9147de6d4a1..9f354fae821 100644
--- a/pkgs/servers/nosql/neo4j/default.nix
+++ b/pkgs/servers/nosql/neo4j/default.nix
@@ -1,14 +1,12 @@
-{ lib, stdenv, fetchurl, makeWrapper, jre, which, gawk }:
-
-with lib;
+{ stdenv, lib, fetchurl, nixosTests, makeWrapper, openjdk11, which, gawk }:
 
 stdenv.mkDerivation rec {
   pname = "neo4j";
-  version = "3.5.14";
+  version = "4.4.8";
 
   src = fetchurl {
     url = "https://neo4j.com/artifact.php?name=neo4j-community-${version}-unix.tar.gz";
-    sha256 = "1zjb6cgk2lpzx6pq1cs5fh65in6b5ccpl1cgfiglgpjc948mnhzv";
+    sha256 = "34c8ce7edc2ab9f63a204f74f37621cac3427f12b0aef4c6ef47eaf4c2b90d66";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -18,21 +16,27 @@ stdenv.mkDerivation rec {
     cp -R * "$out/share/neo4j"
 
     mkdir -p "$out/bin"
-    for NEO4J_SCRIPT in neo4j neo4j-admin neo4j-import cypher-shell
+    for NEO4J_SCRIPT in neo4j neo4j-admin cypher-shell
     do
+        chmod +x "$out/share/neo4j/bin/$NEO4J_SCRIPT"
         makeWrapper "$out/share/neo4j/bin/$NEO4J_SCRIPT" \
             "$out/bin/$NEO4J_SCRIPT" \
-            --prefix PATH : "${lib.makeBinPath [ jre which gawk ]}" \
-            --set JAVA_HOME "${jre}"
+            --prefix PATH : "${lib.makeBinPath [ openjdk11 which gawk ]}" \
+            --set JAVA_HOME "${openjdk11}"
     done
+
+    patchShebangs $out/share/neo4j/bin/neo4j-admin
+    # user will be asked to change password on first login
+    $out/bin/neo4j-admin set-initial-password neo4j
   '';
 
+  passthru.tests.nixos = nixosTests.neo4j;
+
   meta = with lib; {
     description = "A highly scalable, robust (fully ACID) native graph database";
-    homepage = "http://www.neo4j.org/";
+    homepage = "https://neo4j.com/";
     license = licenses.gpl3;
-
-    maintainers = [ maintainers.offline ];
-    platforms = lib.platforms.unix;
+    maintainers = with maintainers; [ jonringer offline ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/nosql/victoriametrics/default.nix b/pkgs/servers/nosql/victoriametrics/default.nix
index 0fe4dc28d27..b68fb2cf524 100644
--- a/pkgs/servers/nosql/victoriametrics/default.nix
+++ b/pkgs/servers/nosql/victoriametrics/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "VictoriaMetrics";
-  version = "1.77.2";
+  version = "1.80.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-S0HXIjZI48A+tMv+gT8UfYqmCI4NOwWAFykfhW73WPc=";
+    sha256 = "sha256-SIwl8Mgbkk/z3xZ6wCmce7D2T2A2+dcuQ607BOsfrkQ=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/servers/openafs/1.9/bosserver.patch b/pkgs/servers/openafs/1.9/bosserver.patch
deleted file mode 100644
index 094d9871f64..00000000000
--- a/pkgs/servers/openafs/1.9/bosserver.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -u openafs-1.8.0/src/bozo/bosserver.c /tmp/buffer-content-13110-gd
---- openafs-1.8.0/src/bozo/bosserver.c
-+++ #<buffer bosserver.c>
-@@ -244,24 +244,6 @@
- static int
- CreateDirs(const char *coredir)
- {
--    if ((!strncmp
--	 (AFSDIR_USR_DIRPATH, AFSDIR_CLIENT_ETC_DIRPATH,
--	  strlen(AFSDIR_USR_DIRPATH)))
--	||
--	(!strncmp
--	 (AFSDIR_USR_DIRPATH, AFSDIR_SERVER_BIN_DIRPATH,
--	  strlen(AFSDIR_USR_DIRPATH)))) {
--	if (MakeDir(AFSDIR_USR_DIRPATH))
--	    return errno;
--    }
--    if (!strncmp
--	(AFSDIR_SERVER_AFS_DIRPATH, AFSDIR_SERVER_BIN_DIRPATH,
--	 strlen(AFSDIR_SERVER_AFS_DIRPATH))) {
--	if (MakeDir(AFSDIR_SERVER_AFS_DIRPATH))
--	    return errno;
--    }
--    if (MakeDir(AFSDIR_SERVER_BIN_DIRPATH))
--	return errno;
-     if (MakeDir(AFSDIR_SERVER_ETC_DIRPATH))
- 	return errno;
-     if (MakeDir(AFSDIR_SERVER_LOCAL_DIRPATH))
-
-Diff finished.  Fri Jun 29 15:45:46 2018
diff --git a/pkgs/servers/openafs/1.9/cross-build.patch b/pkgs/servers/openafs/1.9/cross-build.patch
deleted file mode 100644
index 62254164a1b..00000000000
--- a/pkgs/servers/openafs/1.9/cross-build.patch
+++ /dev/null
@@ -1,223 +0,0 @@
-diff -Nur --unidirectional-new-file openafs-1.8.2/configure.ac openafs-1.8.2.new/configure.ac
---- openafs-1.8.2/configure.ac	2018-09-11 17:52:48.000000000 +0200
-+++ openafs-1.8.2.new/configure.ac	2018-10-16 15:56:36.512277860 +0200
-@@ -23,6 +23,7 @@
- AFS_LT_INIT
- 
- AC_PROG_CC
-+AX_PROG_CC_FOR_BUILD
- 
- AC_PATH_PROGS([PATH_CPP], [cpp], [${CC-cc} -E], [$PATH:/lib:/usr/ccs/lib])
- AC_SUBST([PATH_CPP])
-diff -Nur --unidirectional-new-file openafs-1.8.2/src/cf/ax_prog_cc_for_build.m4 openafs-1.8.2.new/src/cf/ax_prog_cc_for_build.m4
---- openafs-1.8.2/src/cf/ax_prog_cc_for_build.m4	1970-01-01 01:00:00.000000000 +0100
-+++ openafs-1.8.2.new/src/cf/ax_prog_cc_for_build.m4	2018-10-16 16:20:40.278641658 +0200
-@@ -0,0 +1,125 @@
-+# ===========================================================================
-+#   https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
-+# ===========================================================================
-+#
-+# SYNOPSIS
-+#
-+#   AX_PROG_CC_FOR_BUILD
-+#
-+# DESCRIPTION
-+#
-+#   This macro searches for a C compiler that generates native executables,
-+#   that is a C compiler that surely is not a cross-compiler. This can be
-+#   useful if you have to generate source code at compile-time like for
-+#   example GCC does.
-+#
-+#   The macro sets the CC_FOR_BUILD and CPP_FOR_BUILD macros to anything
-+#   needed to compile or link (CC_FOR_BUILD) and preprocess (CPP_FOR_BUILD).
-+#   The value of these variables can be overridden by the user by specifying
-+#   a compiler with an environment variable (like you do for standard CC).
-+#
-+#   It also sets BUILD_EXEEXT and BUILD_OBJEXT to the executable and object
-+#   file extensions for the build platform, and GCC_FOR_BUILD to `yes' if
-+#   the compiler we found is GCC. All these variables but GCC_FOR_BUILD are
-+#   substituted in the Makefile.
-+#
-+# LICENSE
-+#
-+#   Copyright (c) 2008 Paolo Bonzini <bonzini@gnu.org>
-+#
-+#   Copying and distribution of this file, with or without modification, are
-+#   permitted in any medium without royalty provided the copyright notice
-+#   and this notice are preserved. This file is offered as-is, without any
-+#   warranty.
-+
-+#serial 9
-+
-+AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
-+AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
-+AC_REQUIRE([AC_PROG_CC])dnl
-+AC_REQUIRE([AC_PROG_CPP])dnl
-+AC_REQUIRE([AC_EXEEXT])dnl
-+AC_REQUIRE([AC_CANONICAL_HOST])dnl
-+
-+dnl Use the standard macros, but make them use other variable names
-+dnl
-+pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
-+pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
-+pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
-+pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
-+pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl
-+pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl
-+pushdef([ac_cv_objext], ac_cv_build_objext)dnl
-+pushdef([ac_exeext], ac_build_exeext)dnl
-+pushdef([ac_objext], ac_build_objext)dnl
-+pushdef([CC], CC_FOR_BUILD)dnl
-+pushdef([CPP], CPP_FOR_BUILD)dnl
-+pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl
-+pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
-+pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl
-+pushdef([host], build)dnl
-+pushdef([host_alias], build_alias)dnl
-+pushdef([host_cpu], build_cpu)dnl
-+pushdef([host_vendor], build_vendor)dnl
-+pushdef([host_os], build_os)dnl
-+pushdef([ac_cv_host], ac_cv_build)dnl
-+pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
-+pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
-+pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
-+pushdef([ac_cv_host_os], ac_cv_build_os)dnl
-+pushdef([ac_cpp], ac_build_cpp)dnl
-+pushdef([ac_compile], ac_build_compile)dnl
-+pushdef([ac_link], ac_build_link)dnl
-+
-+save_cross_compiling=$cross_compiling
-+save_ac_tool_prefix=$ac_tool_prefix
-+cross_compiling=no
-+ac_tool_prefix=
-+
-+AC_PROG_CC
-+AC_PROG_CPP
-+AC_EXEEXT
-+
-+ac_tool_prefix=$save_ac_tool_prefix
-+cross_compiling=$save_cross_compiling
-+
-+dnl Restore the old definitions
-+dnl
-+popdef([ac_link])dnl
-+popdef([ac_compile])dnl
-+popdef([ac_cpp])dnl
-+popdef([ac_cv_host_os])dnl
-+popdef([ac_cv_host_vendor])dnl
-+popdef([ac_cv_host_cpu])dnl
-+popdef([ac_cv_host_alias])dnl
-+popdef([ac_cv_host])dnl
-+popdef([host_os])dnl
-+popdef([host_vendor])dnl
-+popdef([host_cpu])dnl
-+popdef([host_alias])dnl
-+popdef([host])dnl
-+popdef([LDFLAGS])dnl
-+popdef([CPPFLAGS])dnl
-+popdef([CFLAGS])dnl
-+popdef([CPP])dnl
-+popdef([CC])dnl
-+popdef([ac_objext])dnl
-+popdef([ac_exeext])dnl
-+popdef([ac_cv_objext])dnl
-+popdef([ac_cv_exeext])dnl
-+popdef([ac_cv_prog_cc_g])dnl
-+popdef([ac_cv_prog_cc_cross])dnl
-+popdef([ac_cv_prog_cc_works])dnl
-+popdef([ac_cv_prog_gcc])dnl
-+popdef([ac_cv_prog_CPP])dnl
-+
-+dnl Finally, set Makefile variables
-+dnl
-+BUILD_EXEEXT=$ac_build_exeext
-+BUILD_OBJEXT=$ac_build_objext
-+AC_SUBST(BUILD_EXEEXT)dnl
-+AC_SUBST(BUILD_OBJEXT)dnl
-+AC_SUBST([CFLAGS_FOR_BUILD])dnl
-+AC_SUBST([CPPFLAGS_FOR_BUILD])dnl
-+AC_SUBST([LDFLAGS_FOR_BUILD])dnl
-+])
-diff -Nur --unidirectional-new-file openafs-1.8.2/src/comerr/Makefile.in openafs-1.8.2.new/src/comerr/Makefile.in
---- openafs-1.8.2/src/comerr/Makefile.in	2018-09-11 17:52:48.000000000 +0200
-+++ openafs-1.8.2.new/src/comerr/Makefile.in	2018-10-16 15:48:19.678898925 +0200
-@@ -38,11 +38,14 @@
- compile_et:	compile_et.o error_table.o
- 	$(Q)case $(SYS_NAME) in \
- 	*_linux* | *_umlinux* | *_darwin* ) \
--	$(LT_LDRULE_static_NOQ) compile_et.o error_table.o -L${TOP_LIBDIR} -lopr $(buildtool_roken) $(MT_LIBS);; \
-+	$(LT_LDRULE_static_NOQ) compile_et.o error_table.o -L${TOP_LIBDIR} -lopr_build $(buildtool_roken) $(MT_LIBS);; \
- 	* ) \
--	$(LT_LDRULE_static_NOQ) compile_et.o error_table.o -L${TOP_LIBDIR} -lopr -ll $(buildtool_roken) $(MT_LIBS);; \
-+	$(LT_LDRULE_static_NOQ) compile_et.o error_table.o -L${TOP_LIBDIR} -lopr_build -ll $(buildtool_roken) $(MT_LIBS);; \
- 	esac
- 
-+compile_et compile_et.o error_table.o: CC=$(CC_FOR_BUILD)
-+compile_et compile_et.o error_table.o: LD=$(CC_FOR_BUILD)
-+
- libafscom_err.a: $(LT_objs)
- 	$(LT_LDLIB_lwp) $(LT_objs)
- 
-diff -Nur --unidirectional-new-file openafs-1.8.2/src/config/Makefile.in openafs-1.8.2.new/src/config/Makefile.in
---- openafs-1.8.2/src/config/Makefile.in	2018-09-11 17:52:48.000000000 +0200
-+++ openafs-1.8.2.new/src/config/Makefile.in	2018-10-16 15:48:19.677898926 +0200
-@@ -54,6 +54,8 @@
- 
- config.o: config.c AFS_component_version_number.c
- 
-+config mkvers config.o mc.o: CC=$(CC_FOR_BUILD)
-+
- #
- # Include installation targets
- #
-diff -Nur --unidirectional-new-file openafs-1.8.2/src/opr/Makefile.in openafs-1.8.2.new/src/opr/Makefile.in
---- openafs-1.8.2/src/opr/Makefile.in	2018-09-11 17:52:48.000000000 +0200
-+++ openafs-1.8.2.new/src/opr/Makefile.in	2018-10-16 15:48:19.678898925 +0200
-@@ -21,7 +21,7 @@
- 	  $(TOP_INCDIR)/opr/time.h \
- 	  $(TOP_INCDIR)/opr/uuid.h
- 
--all: $(HEADERS) liboafs_opr.la $(TOP_LIBDIR)/libopr_pic.a $(TOP_LIBDIR)/libopr.a
-+all: $(HEADERS) liboafs_opr.la $(TOP_LIBDIR)/libopr_pic.a $(TOP_LIBDIR)/libopr.a $(TOP_LIBDIR)/libopr_build.a
- 
- liboafs_opr.la: liboafs_opr.la.sym $(LT_objs) $(LT_deps)
- 	$(LT_LDLIB_shlib) $(LT_objs) $(LT_deps) $(LT_libs)
-@@ -29,12 +29,26 @@
- libopr.a: $(LT_objs)
- 	$(LT_LDLIB_static) $(LT_objs)
- 
-+LT_objs_build = $(patsubst %.lo, %_build.lo, $(LT_objs))
-+
-+%_build.lo: %.c
-+	$(LT_CCRULE) $<
-+
-+libopr_build.a: $(LT_objs_build)
-+	$(LT_LDLIB_static) $(LT_objs_build)
-+
-+libopr_build.a $(LT_objs_build): CC=$(CC_FOR_BUILD)
-+libopr_build.a $(LT_objs_build): LD=$(CC_FOR_BUILD)
-+
- libopr_pic.la: $(LT_objs)
- 	$(LT_LDLIB_pic) $(LT_objs)
- 
- $(TOP_LIBDIR)/libopr.a: libopr.a
- 	$(INSTALL_DATA) libopr.a $@
- 
-+$(TOP_LIBDIR)/libopr_build.a: libopr_build.a
-+	$(INSTALL_DATA) libopr_build.a $@
-+
- $(TOP_LIBDIR)/libopr_pic.a: libopr_pic.la
- 	$(INSTALL_DATA) .libs/libopr_pic.a $@
- 
-diff -Nur --unidirectional-new-file openafs-1.8.2/src/rxgen/Makefile.in openafs-1.8.2.new/src/rxgen/Makefile.in
---- openafs-1.8.2/src/rxgen/Makefile.in	2018-09-11 17:52:48.000000000 +0200
-+++ openafs-1.8.2.new/src/rxgen/Makefile.in	2018-10-16 15:48:19.677898926 +0200
-@@ -25,6 +25,8 @@
- 
- CFLAGS_rpc_main.o= -DPATH_CPP="\"$(PATH_CPP)\""
- 
-+rxgen $(OBJS): CC=$(CC_FOR_BUILD)
-+
- #
- # Install targets
- #
diff --git a/pkgs/servers/openafs/1.9/default.nix b/pkgs/servers/openafs/1.9/default.nix
deleted file mode 100644
index 918a20ce5a3..00000000000
--- a/pkgs/servers/openafs/1.9/default.nix
+++ /dev/null
@@ -1,105 +0,0 @@
-{ lib, stdenv, buildPackages, fetchurl, which, autoconf, automake, flex
-, bison , glibc, perl, libkrb5, libxslt, docbook_xsl, file
-, docbook_xml_dtd_43, libtool_2
-, withDevdoc ? false, doxygen, dblatex # Extra developer documentation
-, ncurses # Extra ncurses utilities. Needed for debugging and monitoring.
-, tsmbac ? null # Tivoli Storage Manager Backup Client from IBM
-}:
-
-with (import ./srcs.nix { inherit fetchurl; });
-let
-  inherit (lib) optional optionalString optionals;
-
-in stdenv.mkDerivation {
-  pname = "openafs";
-  inherit version srcs;
-
-  depsBuildBuild = [ buildPackages.stdenv.cc ];
-  nativeBuildInputs = [ autoconf automake flex libxslt libtool_2 perl
-    which bison ] ++ optionals withDevdoc [ doxygen dblatex ];
-
-  buildInputs = [ libkrb5 ncurses ];
-
-  patches = [ ./bosserver.patch ./cross-build.patch ] ++ optional (tsmbac != null) ./tsmbac.patch;
-
-  outputs = [ "out" "dev" "man" "doc" ] ++ optional withDevdoc "devdoc";
-
-  enableParallelBuilding = false;
-
-  setOutputFlags = false;
-
-  # Makefiles don't include install targets for all new shared libs, yet.
-  dontDisableStatic = true;
-
-  preConfigure = ''
-    patchShebangs .
-    for i in `grep -l -R '/usr/\(include\|src\)' .`; do
-      echo "Patch /usr/include and /usr/src in $i"
-      substituteInPlace $i \
-        --replace "/usr/include" "${glibc.dev}/include" \
-        --replace "/usr/src" "$TMP"
-    done
-
-    for i in ./doc/xml/{AdminGuide,QuickStartUnix,UserGuide}/*.xml; do
-      substituteInPlace "''${i}" --replace "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" \
-        "${docbook_xml_dtd_43}/xml/dtd/docbook/docbookx.dtd"
-    done
-
-    ./regen.sh
-
-
-    configureFlagsArray=(
-      "--with-gssapi"
-      "--sysconfdir=/etc"
-      "--localstatedir=/var"
-      "--disable-kernel-module"
-      "--disable-fuse-client"
-      "--with-docbook-stylesheets=${docbook_xsl}/share/xml/docbook-xsl"
-      ${optionalString (tsmbac != null) "--enable-tivoli-tsm"}
-      ${optionalString (ncurses == null) "--disable-gtx"}
-      "--disable-linux-d_splice-alias-extra-iput"
-    )
-  '' + optionalString (tsmbac != null) ''
-    export XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I${tsmbac}/lib64/sample -DXBSA_TSMLIB=\\\"${tsmbac}/lib64/libApiTSM64.so\\\""
-    export XBSA_XLIBS="-ldl"
-  '';
-
-  buildFlags = [ "all_nolibafs" ];
-
-  postBuild = ''
-    for d in doc/xml/{AdminGuide,QuickStartUnix,UserGuide}; do
-      make -C "''${d}" index.html
-    done
-  '' + optionalString withDevdoc ''
-    make dox
-  '';
-
-  postInstall = ''
-    mkdir -p $doc/share/doc/openafs/{AdminGuide,QuickStartUnix,UserGuide}
-    cp -r doc/txt README LICENSE $doc/share/doc/openafs
-    for d in AdminGuide QuickStartUnix UserGuide ; do
-      cp "doc/xml/''${d}"/*.html "$doc/share/doc/openafs/''${d}"
-    done
-
-    rm -r $out/lib/openafs
-  '' + optionalString withDevdoc ''
-    mkdir -p $devdoc/share/devhelp/openafs/doxygen
-    cp -r doc/{pdf,protocol} $devdoc/share/devhelp/openafs
-    cp -r doc/doxygen/output/html $devdoc/share/devhelp/openafs/doxygen
-  '';
-
-  # Avoid references to $TMPDIR by removing it and let patchelf cleanup the
-  # binaries.
-  preFixup = ''
-    rm -rf "$(pwd)" && mkdir "$(pwd)"
-  '';
-
-  meta = with lib; {
-    outputsToInstall = [ "out" "doc" "man" ];
-    description = "Open AFS client";
-    homepage = "https://www.openafs.org";
-    license = licenses.ipl10;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.maggesi maintainers.spacefrogg ];
-  };
-}
diff --git a/pkgs/servers/openafs/1.9/module.nix b/pkgs/servers/openafs/1.9/module.nix
deleted file mode 100644
index ec1b8e1d67e..00000000000
--- a/pkgs/servers/openafs/1.9/module.nix
+++ /dev/null
@@ -1,64 +0,0 @@
-{ lib, stdenv, fetchurl, which, autoconf, automake, flex, bison
-, kernel, glibc, perl, libtool_2, libkrb5, fetchpatch }:
-
-with (import ./srcs.nix {
-  inherit fetchurl;
-});
-
-let
-  modDestDir = "$out/lib/modules/${kernel.modDirVersion}/extra/openafs";
-  kernelBuildDir = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
-
-in stdenv.mkDerivation {
-  pname = "openafs";
-  version = "${version}-${kernel.modDirVersion}";
-  inherit src;
-
-  nativeBuildInputs = [ autoconf automake flex libtool_2 perl which bison ]
-    ++ kernel.moduleBuildDependencies;
-
-  buildInputs = [ libkrb5 ];
-
-  patches = [];
-
-  hardeningDisable = [ "pic" ];
-
-  configureFlags = [
-    "--with-linux-kernel-build=${kernelBuildDir}"
-    "--sysconfdir=/etc"
-    "--localstatedir=/var"
-    "--with-gssapi"
-    "--disable-linux-d_splice-alias-extra-iput"
-  ];
-
-  preConfigure = ''
-    patchShebangs .
-    for i in `grep -l -R '/usr/\(include\|src\)' .`; do
-      echo "Patch /usr/include and /usr/src in $i"
-      substituteInPlace $i \
-        --replace "/usr/include" "${glibc.dev}/include" \
-        --replace "/usr/src" "${kernelBuildDir}"
-    done
-
-    ./regen.sh -q
-  '';
-
-  buildPhase = ''
-    make V=1 only_libafs
-  '';
-
-  installPhase = ''
-    mkdir -p ${modDestDir}
-    cp src/libafs/MODLOAD-*/libafs-${kernel.modDirVersion}.* ${modDestDir}/libafs.ko
-    xz -f ${modDestDir}/libafs.ko
-  '';
-
-  meta = with lib; {
-    description = "Open AFS client kernel module";
-    homepage = "https://www.openafs.org";
-    license = licenses.ipl10;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.maggesi maintainers.spacefrogg ];
-    broken = kernel.kernelAtLeast "5.15" || kernel.isHardened;
-  };
-}
diff --git a/pkgs/servers/openafs/1.9/srcs.nix b/pkgs/servers/openafs/1.9/srcs.nix
deleted file mode 100644
index 853cd2aabad..00000000000
--- a/pkgs/servers/openafs/1.9/srcs.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ fetchurl }:
-rec {
-  version = "1.9.1";
-  src = fetchurl {
-    url = "https://www.openafs.org/dl/openafs/${version}/openafs-${version}-src.tar.bz2";
-    sha256 = "sha256-7rHihVR4VobHAzt0ZALFOLJnlfd1Qwsa5ohpRFWBPbw=";
-  };
-
-  srcs = [ src
-    (fetchurl {
-      url = "https://www.openafs.org/dl/openafs/${version}/openafs-${version}-doc.tar.bz2";
-      sha256 = "sha256-pvF8CdTl+5DNuymNvhb3UrGW05LcXRv8cZp2QQlXF+E=";
-    })];
-}
diff --git a/pkgs/servers/openafs/1.9/tsmbac.patch b/pkgs/servers/openafs/1.9/tsmbac.patch
deleted file mode 100644
index f68c777b6f0..00000000000
--- a/pkgs/servers/openafs/1.9/tsmbac.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-diff -ru openafs-1.8.0/src/butc/afsxbsa.c openafs-1.8.0.new/src/butc/afsxbsa.c
---- openafs-1.8.0/src/butc/afsxbsa.c	2018-04-06 03:21:12.000000000 +0200
-+++ openafs-1.8.0.new/src/butc/afsxbsa.c	2018-06-12 16:26:26.272522305 +0200
-@@ -651,7 +651,7 @@
- #if defined(AFS_AIX_ENV)
-         dynlib = dlopen("/usr/lib/libApiDS.a(dsmapish.o)", RTLD_NOW | RTLD_LOCAL | RTLD_MEMBER);
- #elif defined (AFS_AMD64_LINUX26_ENV)
--	dynlib = dlopen("/usr/lib64/libApiTSM64.so", RTLD_NOW | RTLD_LOCAL);
-+	dynlib = dlopen(XBSA_TSMLIB, RTLD_NOW | RTLD_LOCAL);
- #elif defined(AFS_SUN5_ENV) || defined(AFS_LINUX26_ENV)
-         dynlib = dlopen("/usr/lib/libApiDS.so", RTLD_NOW | RTLD_LOCAL);
- #else
-diff -ru openafs-1.8.0/src/cf/tivoli.m4 openafs-1.8.0.new/src/cf/tivoli.m4
---- openafs-1.8.0/src/cf/tivoli.m4	2018-04-06 03:21:12.000000000 +0200
-+++ openafs-1.8.0.new/src/cf/tivoli.m4	2018-06-12 16:26:26.072522485 +0200
-@@ -1,45 +1,7 @@
- AC_DEFUN([OPENAFS_TIVOLI_TESTS],[
- dnl check for tivoli
- AC_MSG_CHECKING(for tivoli tsm butc support)
--XBSA_CFLAGS=""
--if test "$enable_tivoli_tsm" = "yes"; then
--        XBSADIR1=/usr/tivoli/tsm/client/api/bin/xopen
--        XBSADIR2=/opt/tivoli/tsm/client/api/bin/xopen
--        XBSADIR3=/usr/tivoli/tsm/client/api/bin/sample
--        XBSADIR4=/opt/tivoli/tsm/client/api/bin/sample
--        XBSADIR5=/usr/tivoli/tsm/client/api/bin64/sample
--        XBSADIR6=/opt/tivoli/tsm/client/api/bin64/sample
--
--        if test -r "$XBSADIR3/dsmapifp.h"; then
--                XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I$XBSADIR3"
--                XBSA_XLIBS="-ldl"
--                AC_MSG_RESULT([yes, $XBSA_CFLAGS])
--        elif test -r "$XBSADIR4/dsmapifp.h"; then
--                XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I$XBSADIR4"
--                XBSA_XLIBS="-ldl"
--                AC_MSG_RESULT([yes, $XBSA_CFLAGS])
--        elif test -r "$XBSADIR5/dsmapifp.h"; then
--                XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I$XBSADIR5"
--                XBSA_XLIBS="-ldl"
--                AC_MSG_RESULT([yes, $XBSA_CFLAGS])
--        elif test -r "$XBSADIR6/dsmapifp.h"; then
--                XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I$XBSADIR6"
--                XBSA_XLIBS="-ldl"
--                AC_MSG_RESULT([yes, $XBSA_CFLAGS])
--        elif test -r "$XBSADIR1/xbsa.h"; then
--                XBSA_CFLAGS="-Dxbsa -I$XBSADIR1"
--                XBSA_XLIBS=""
--                AC_MSG_RESULT([yes, $XBSA_CFLAGS])
--        elif test -r "$XBSADIR2/xbsa.h"; then
--                XBSA_CFLAGS="-Dxbsa -I$XBSADIR2"
--                XBSA_XLIBS=""
--                AC_MSG_RESULT([yes, $XBSA_CFLAGS])
--        else
--                AC_MSG_RESULT([no, missing xbsa.h and dsmapifp.h header files])
--        fi
--else
--        AC_MSG_RESULT([no])
--fi
-+AC_MSG_RESULT([yes])
- AC_SUBST(XBSA_CFLAGS)
- AC_SUBST(XBSA_XLIBS)
- XLIBS="$XBSA_XLIBS $XLIBS"
diff --git a/pkgs/servers/openvscode-server/default.nix b/pkgs/servers/openvscode-server/default.nix
index 99ef62210bf..4953ac8592c 100644
--- a/pkgs/servers/openvscode-server/default.nix
+++ b/pkgs/servers/openvscode-server/default.nix
@@ -27,13 +27,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "openvscode-server";
-  version = "1.66.0";
+  version = "1.69.2";
 
   src = fetchFromGitHub {
     owner = "gitpod-io";
     repo = "openvscode-server";
     rev = "openvscode-server-v${version}";
-    sha256 = "g5QaxZDVXvE/vOe2BjBXlqYLGZ2EG4nTKdUlLdt8H8A=";
+    sha256 = "e2vEEZg2H37oFRN+0kZnWW5RU2ma2JJR66XLFDNEOXc=";
   };
 
   yarnCache = stdenv.mkDerivation {
@@ -56,7 +56,7 @@ in stdenv.mkDerivation rec {
 
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash = "sha256-BeVJsruiRLReGMwThfcEm/ez4UFcr0oI4wwevJwxt58=";
+    outputHash = "sha256-5wOR7rKzGLE8EAlGd4CkrFUsUOEJOdwuNWQzEdbAL+g=";
   };
 
   # Extract the Node.js source code which is used to compile packages with
diff --git a/pkgs/servers/p910nd/default.nix b/pkgs/servers/p910nd/default.nix
index 9cd06a3ebc6..858b5ed865e 100644
--- a/pkgs/servers/p910nd/default.nix
+++ b/pkgs/servers/p910nd/default.nix
@@ -1,28 +1,29 @@
-{ lib, stdenv, fetchurl }:
+{ lib, stdenv, fetchFromGitHub, installShellFiles }:
 
 stdenv.mkDerivation rec {
   pname = "p910nd";
   version = "0.97";
 
-  src = fetchurl {
-    sha256 = "0vy2qf386dif1nqznmy3j953mq7c4lk6j2hgyzkbmfi4msiq1jaa";
-    url = "mirror://sourceforge/p910nd/${pname}-${version}.tar.bz2";
+  src = fetchFromGitHub {
+    owner = "kenyapcomau";
+    repo = "p910nd";
+    rev = version;
+    hash = "sha256-MM4o7d3L3XIRYWJ/KPM2OltlVfVA/BgMuyhJMm/BS3c=";
   };
 
-  postPatch = ''
-    substituteInPlace Makefile --replace "/usr" ""
-    substituteInPlace Makefile --replace "gcc" "${stdenv.cc.targetPrefix}cc"
-  '';
+  nativeBuildInputs = [ installShellFiles ];
+
+  enableParallelBuilding = true;
 
-  makeFlags = [ "DESTDIR=$(out)" "BINDIR=/bin" ];
+  # instead of mucking around with the Makefile, just install the bits we need
+  installPhase = ''
+    runHook preInstall
 
-  postInstall = ''
-    # Match the man page:
-    mv $out/etc/init.d/p910nd{,.sh}
+    install -Dm555 -t $out/bin p910nd
+    install -Dm444 -t $out/share/doc/p910nd *.md
+    installManPage p910nd.?
 
-    # The legacy init script is useful only (and even then...) as an example:
-    mkdir -p $out/share/doc/examples
-    mv $out/etc $out/share/doc/examples
+    runHook postInstall
   '';
 
   meta = with lib; {
@@ -37,9 +38,9 @@ stdenv.mkDerivation rec {
       the AppSocket protocol and has the scheme socket://. LPRng also supports
       this protocol and the syntax is lp=remotehost%9100 in /etc/printcap.
     '';
-    homepage = "http://p910nd.sourceforge.net/";
-    downloadPage = "https://sourceforge.net/projects/p910nd/";
-    license = licenses.gpl2;
+    homepage = "https://github.com/kenyapcomau/p910nd";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ peterhoeg ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/peertube/default.nix b/pkgs/servers/peertube/default.nix
index f4a80cbe26f..6b94fec1538 100644
--- a/pkgs/servers/peertube/default.nix
+++ b/pkgs/servers/peertube/default.nix
@@ -6,18 +6,18 @@ let
     if stdenv.hostPlatform.system == "x86_64-linux" then "linux-x64"
     else throw "Unsupported architecture: ${stdenv.hostPlatform.system}";
 
-  version = "4.2.1";
+  version = "4.2.2";
 
   source = fetchFromGitHub {
     owner = "Chocobozzz";
     repo = "PeerTube";
     rev = "v${version}";
-    sha256 = "sha256-bb22/GidSPaRtvbht6FzVqTGzzNDYgBdHqHGnzA1Iy0=";
+    sha256 = "sha256-q6wSk5AO91Z6dw5MgpO7QTAlA8Q5Xx1CboBr7SElVUA=";
   };
 
   yarnOfflineCacheServer = fetchYarnDeps {
     yarnLock = "${source}/yarn.lock";
-    sha256 = "sha256-7fYQ4YS92XbzeI7nwpQfI2reDp6EiDgncK5YGSWzHF0=";
+    sha256 = "sha256-MMsxh20jcbW4YYsJyoupKbT9+Xa1BWZAmYHoj2/t+LM=";
   };
 
   yarnOfflineCacheTools = fetchYarnDeps {
diff --git a/pkgs/servers/plex/raw.nix b/pkgs/servers/plex/raw.nix
index 078bd329a3c..8c2e178e05b 100644
--- a/pkgs/servers/plex/raw.nix
+++ b/pkgs/servers/plex/raw.nix
@@ -12,16 +12,16 @@
 # server, and the FHS userenv and corresponding NixOS module should
 # automatically pick up the changes.
 stdenv.mkDerivation rec {
-  version = "1.27.2.5929-a806c5905";
+  version = "1.28.0.5999-97678ded3";
   pname = "plexmediaserver";
 
   # Fetch the source
   src = if stdenv.hostPlatform.system == "aarch64-linux" then fetchurl {
     url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_arm64.deb";
-    sha256 = "0xm8bjmmybmyv1nbip8n23pd61lnvr41rsxa12cb9j6bg4nbka3x";
+    sha256 = "sha256-irHHEkbdRabzcNiemcFeFoDmB7LZqhFYMe+zVpMv5JQ=";
   } else fetchurl {
     url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_amd64.deb";
-    sha256 = "15wjy59ga5y93y09l5mbi20rqw63v61xv7x831iinhp96v5ixq00";
+    sha256 = "sha256-RxD0wLZ/Uw0niKZdAfEhDxnf2jZapbrjSjH3XerfTsM=";
   };
 
   outputs = [ "out" "basedb" ];
diff --git a/pkgs/servers/redpanda/default.nix b/pkgs/servers/redpanda/default.nix
index 58e9ef05c5a..44be67fc89b 100644
--- a/pkgs/servers/redpanda/default.nix
+++ b/pkgs/servers/redpanda/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchzip }:
 
 let
-  version = "22.1.6";
+  version = "22.1.7";
   platform = if stdenv.isLinux then "linux" else "darwin";
   arch = if stdenv.isAarch64 then "arm" else "amd";
   sha256s = {
     darwin.amd = "sha256-AXk3aP1SGiHTfHTCBRTagX0DAVmdcVVIkxWaTnZxB8g=";
     darwin.arm = "sha256-pvOVvNc8lZ2d2fVZVYWvumVWYpnLORNY/3o1t4BN2N4=";
-    linux.amd = "sha256-17fLmvjv7+uCnOXfIgWqK8gL8GVOEvOgKOuH6HsfAbI=";
+    linux.amd = "sha256-FjDDrJmLvelQ8PmTEtnvV+5zpixizR0bowoJPLyPFcA=";
     linux.arm = "sha256-WHjYAbytiu747jFqN0KZ/CkIwAVI7fb32ywtRiQOBm8=";
   };
 in stdenv.mkDerivation rec {
diff --git a/pkgs/servers/search/groonga/default.nix b/pkgs/servers/search/groonga/default.nix
index fff449f3725..0ed96d249b4 100644
--- a/pkgs/servers/search/groonga/default.nix
+++ b/pkgs/servers/search/groonga/default.nix
@@ -7,11 +7,11 @@
 stdenv.mkDerivation rec {
 
   pname = "groonga";
-  version = "11.1.0";
+  version = "12.0.6";
 
   src = fetchurl {
     url    = "https://packages.groonga.org/source/groonga/${pname}-${version}.tar.gz";
-    sha256 = "sha256-di1uzTZxeRLevcSS5d/yba5Y6tdy21H2NgU7ZrZTObI=";
+    sha256 = "sha256-DVum2fUa1BiSyL0d8hzRo3AzEVSRX2EBrJ4DBBIxftE=";
   };
 
   preConfigure = ''
diff --git a/pkgs/servers/sks/default.nix b/pkgs/servers/sks/default.nix
index 0f21690bbee..2ace06edc97 100644
--- a/pkgs/servers/sks/default.nix
+++ b/pkgs/servers/sks/default.nix
@@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
     inherit (src.meta) homepage;
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ fpletz globin ];
+    maintainers = with maintainers; [ globin ];
   };
 }
 
diff --git a/pkgs/servers/soft-serve/default.nix b/pkgs/servers/soft-serve/default.nix
index 5884e026141..f5d743bde64 100644
--- a/pkgs/servers/soft-serve/default.nix
+++ b/pkgs/servers/soft-serve/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "soft-serve";
-  version = "0.3.1";
+  version = "0.3.3";
 
   src = fetchFromGitHub {
     owner = "charmbracelet";
     repo = "soft-serve";
     rev = "v${version}";
-    sha256 = "sha256-uzjcLLWo+67ayaSjAvk2ktBO3s1z0jDyGRj+Q9F6UVQ=";
+    sha256 = "sha256-LxtVum/yM+G3lyGSsOv3bICQrQC6kZKIMoAA7AnQ8VY=";
   };
 
-  vendorSha256 = "sha256-AQwd4N4uYEDCsrlxrrGiXAqLcsSA/2MBydHEnH1j+Do=";
+  vendorSha256 = "sha256-KUB6w03Dw57baRYhRK1wWVWFvjMLx3KOJnS/YLbE7GE=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/sonarr/default.nix b/pkgs/servers/sonarr/default.nix
index b944154631e..d47ea4c544a 100644
--- a/pkgs/servers/sonarr/default.nix
+++ b/pkgs/servers/sonarr/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "sonarr";
-  version = "3.0.8.1507";
+  version = "3.0.9.1549";
 
   src = fetchurl {
     url = "https://download.sonarr.tv/v3/main/${version}/Sonarr.main.${version}.linux.tar.gz";
-    sha256 = "sha256-O2UvU1juO54gb9LVnEuIXhT0Ux2rEIq2WdmsoWVDh1w=";
+    sha256 = "sha256-Ba1nrvnlmVkPI+OEpwShNxfNLrpxS+N7wsx3ajkcGoQ=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/spicedb/default.nix b/pkgs/servers/spicedb/default.nix
new file mode 100644
index 00000000000..a7da457ea38
--- /dev/null
+++ b/pkgs/servers/spicedb/default.nix
@@ -0,0 +1,32 @@
+
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "spicedb";
+  version = "1.11.0";
+
+  src = fetchFromGitHub {
+    owner = "authzed";
+    repo = "spicedb";
+    rev = "v${version}";
+    hash = "sha256-X52sf21IMr5muEx9SUoYQmFonXDPeW8NKylPmoAZYjw";
+  };
+
+  vendorHash = "sha256-lO4H2DlMfYuV2BYPnMV3Ynx0khFE6KDxf/aXA53pBpU";
+
+  subPackages = [ "cmd/spicedb" ];
+
+  meta = with lib; {
+    description = "Open source permission database";
+    longDescription = ''
+      SpiceDB is an open-source permissions database inspired by
+      Google Zanzibar.
+    '';
+    homepage = "https://authzed.com/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ thoughtpolice ];
+  };
+}
diff --git a/pkgs/servers/spicedb/zed.nix b/pkgs/servers/spicedb/zed.nix
new file mode 100644
index 00000000000..39ac2ddc6d6
--- /dev/null
+++ b/pkgs/servers/spicedb/zed.nix
@@ -0,0 +1,29 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "zed";
+  version = "0.4.4";
+
+  src = fetchFromGitHub {
+    owner = "authzed";
+    repo = "zed";
+    rev = "v${version}";
+    hash = "sha256-tw8Z8JtmmRLcvFacRDAdIi6TyMtm9FAZvRYNgd49qXg=";
+  };
+
+  vendorHash = "sha256-/BxQiaBFkJsySnQRU870CzvPxtPwvdwx4DwSzhaYYYQ=";
+
+  meta = with lib; {
+    description = "Command line for managing SpiceDB";
+    longDescription = ''
+      SpiceDB is an open-source permissions database inspired by
+      Google Zanzibar. zed is the command line client for SpiceDB.
+    '';
+    homepage = "https://authzed.com/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ thoughtpolice ];
+  };
+}
diff --git a/pkgs/servers/sql/postgresql/ext/pg_partman.nix b/pkgs/servers/sql/postgresql/ext/pg_partman.nix
index 4403e7601a2..561c16c9645 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_partman.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_partman.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "pg_partman";
-  version = "4.6.2";
+  version = "4.7.0";
 
   buildInputs = [ postgresql ];
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner  = "pgpartman";
     repo   = pname;
     rev    = "refs/tags/v${version}";
-    sha256 = "sha256-UQvgYynW1VzEIG6AwLRivmi8HpGc3Dx7J2+BYNpUGUM=";
+    sha256 = "sha256-Hbg3lf9XEIt5r4sYW+1r1tu6GyBgRXQxrPRWNuZPsvM=";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/sql/postgresql/ext/pgroonga.nix b/pkgs/servers/sql/postgresql/ext/pgroonga.nix
index 5d69e312f5b..b1d666f0b7a 100644
--- a/pkgs/servers/sql/postgresql/ext/pgroonga.nix
+++ b/pkgs/servers/sql/postgresql/ext/pgroonga.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pgroonga";
-  version = "2.3.7";
+  version = "2.3.8";
 
   src = fetchurl {
     url = "https://packages.groonga.org/source/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-EodqpYF3wJJdgzHZHqmY0tsrF2YnGirnQWCWaDZ9v8E=";
+    sha256 = "sha256-/xlnwnUMW7JuUcSnZUV4nqCFcrfGDvXToz7IJykHCGI=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/servers/sql/postgresql/ext/pgvector.nix b/pkgs/servers/sql/postgresql/ext/pgvector.nix
index 1b71dd01c8e..ddc51e8d2b7 100644
--- a/pkgs/servers/sql/postgresql/ext/pgvector.nix
+++ b/pkgs/servers/sql/postgresql/ext/pgvector.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pgvector";
-  version = "0.2.6";
+  version = "0.2.7";
 
   src = fetchFromGitHub {
-    owner = "ankane";
-    repo = pname;
+    owner = "pgvector";
+    repo = "pgvector";
     rev = "v${version}";
-    sha256 = "sha256-NmUI4pXwf6PHuLbkFy/hoA67j++A2Ju7zG/4og9U+qk=";
+    sha256 = "sha256-kIgdr3+KC11Qxk1uBTmcN4dDaLIhfo/Fs898boESsBc=";
   };
 
   buildInputs = [ postgresql ];
@@ -21,8 +21,8 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Open-source vector similarity search for PostgreSQL";
-    homepage = "https://github.com/ankane/pgvector";
-    changelog = "https://github.com/ankane/pgvector/raw/v${version}/CHANGELOG.md";
+    homepage = "https://github.com/pgvector/pgvector";
+    changelog = "https://github.com/pgvector/pgvector/raw/v${version}/CHANGELOG.md";
     license = licenses.postgresql;
     platforms = postgresql.meta.platforms;
     maintainers = [ maintainers.marsam ];
diff --git a/pkgs/servers/sql/postgresql/ext/repmgr.nix b/pkgs/servers/sql/postgresql/ext/repmgr.nix
index 4576febce91..f849e62e367 100644
--- a/pkgs/servers/sql/postgresql/ext/repmgr.nix
+++ b/pkgs/servers/sql/postgresql/ext/repmgr.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "repmgr";
-  version = "5.3.1";
+  version = "5.3.2";
 
   src = fetchFromGitHub {
     owner = "2ndQuadrant";
     repo = "repmgr";
     rev = "v${version}";
-    sha256 = "sha256-fHoXbFOF3xj/eNHgQIghF15vbDObnuwl2DAH+zRVGZQ=";
+    sha256 = "sha256-M8FMin9y6nAiPYeT5pUUy0KyZ1dkuH708GshZ6GoXXw=";
   };
 
   nativeBuildInputs = [ flex ];
diff --git a/pkgs/servers/squid/default.nix b/pkgs/servers/squid/default.nix
index 70b9c869f11..23749170386 100644
--- a/pkgs/servers/squid/default.nix
+++ b/pkgs/servers/squid/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "squid";
-  version = "5.4.1";
+  version = "5.6";
 
   src = fetchurl {
     url = "http://www.squid-cache.org/Versions/v5/${pname}-${version}.tar.xz";
-    sha256 = "sha256-300xCpFmOuWcKbD4GD8iYjxeb3MYaa95OAWYerlMpBw=";
+    sha256 = "sha256-ONJzOKNHWXzg6T0MO+bl9mtnUEF8R0yofuDWG7bRSNs=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
     homepage = "http://www.squid-cache.org";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ fpletz raskin ];
+    maintainers = with maintainers; [ raskin ];
   };
 }
diff --git a/pkgs/servers/syncstorage-rs/default.nix b/pkgs/servers/syncstorage-rs/default.nix
new file mode 100644
index 00000000000..17a7bb799fd
--- /dev/null
+++ b/pkgs/servers/syncstorage-rs/default.nix
@@ -0,0 +1,63 @@
+{ fetchFromGitHub
+, rustPlatform
+, pkg-config
+, python3
+, openssl
+, cmake
+, libmysqlclient
+, makeBinaryWrapper
+, lib
+}:
+
+let
+  pyFxADeps = python3.withPackages (p: [
+    p.setuptools # imports pkg_resources
+    # remainder taken from requirements.txt
+    p.pyfxa
+    p.tokenlib
+    p.cryptography
+  ]);
+in
+
+rustPlatform.buildRustPackage rec {
+  pname = "syncstorage-rs";
+  version = "0.12.0";
+
+  src = fetchFromGitHub {
+    owner = "mozilla-services";
+    repo = pname;
+    rev = version;
+    hash = "sha256-VfIpjpBS7LXe32fxIFp7xmbm40VwxUdHIEm5PnMpd4s=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    makeBinaryWrapper
+    pkg-config
+    python3
+  ];
+
+  buildInputs = [
+    libmysqlclient
+    openssl
+  ];
+
+  preFixup = ''
+    wrapProgram $out/bin/syncstorage \
+      --prefix PATH : ${lib.makeBinPath [ pyFxADeps ]}
+  '';
+
+  cargoSha256 = "sha256-JXxArKA/2SIYJvjNA1yZHR9xDKt3N2U7HVMP/6M3BxE=";
+
+  buildFeatures = [ "grpcio/openssl" ];
+
+  # almost all tests need a DB to test against
+  doCheck = false;
+
+  meta = {
+    description = "Mozilla Sync Storage built with Rust";
+    homepage = "https://github.com/mozilla-services/syncstorage-rs";
+    license = lib.licenses.mpl20;
+    maintainers = with lib.maintainers; [ pennae ];
+  };
+}
diff --git a/pkgs/servers/traefik/default.nix b/pkgs/servers/traefik/default.nix
index 425f8bcb8e9..522e6eb98be 100644
--- a/pkgs/servers/traefik/default.nix
+++ b/pkgs/servers/traefik/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "traefik";
-  version = "2.8.1";
+  version = "2.8.2";
 
   # Archive with static assets for webui
   src = fetchzip {
     url = "https://github.com/traefik/traefik/releases/download/v${version}/traefik-v${version}.src.tar.gz";
-    sha256 = "sha256-+5A94I9WKFs2/etoQpwImt6yneX8pt44F9NfFF/X0Hk=";
+    sha256 = "sha256-ycGbzkFwoLWJZTNhHNdMl41reDThKnnB6S5MqgM7u6Q=";
     stripRoot = false;
   };
 
-  vendorSha256 = "sha256-QHddmS1edjHckl3tpI9BDL4jjdvsMCw9aA9K/g3fSug=";
+  vendorSha256 = "sha256-xq3zGGKmWI/QlI49/JhHszTPazu7jcXv2XZBTIvtHxw=";
 
   subPackages = [ "cmd/traefik" ];
 
diff --git a/pkgs/servers/ttyd/default.nix b/pkgs/servers/ttyd/default.nix
index 9553862dc74..60038a21256 100644
--- a/pkgs/servers/ttyd/default.nix
+++ b/pkgs/servers/ttyd/default.nix
@@ -7,12 +7,12 @@ with builtins;
 
 stdenv.mkDerivation rec {
   pname = "ttyd";
-  version = "1.6.3";
+  version = "1.7.0";
   src = fetchFromGitHub {
     owner = "tsl0922";
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "ErWd99js2EldkRNWFdgZw/X3DIz266kM3lLlC34Deno=";
+    sha256 = "sha256-Q1A3UMlC3CYzqQxle7XT/o22eWHorMJ5hDXTIT/UMQM=";
   };
 
   nativeBuildInputs = [ pkg-config cmake xxd ];
diff --git a/pkgs/servers/uftp/default.nix b/pkgs/servers/uftp/default.nix
index 2a80f5ca28d..480857cc8a3 100644
--- a/pkgs/servers/uftp/default.nix
+++ b/pkgs/servers/uftp/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "uftp";
-  version = "5.0";
+  version = "5.0.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/uftp-multicast/source-tar/uftp-${version}.tar.gz";
-    sha256 = "1q08schd765fsm9647ac4ic2x70ys2x48mqz97mibdi4bbm72bsn";
+    sha256 = "sha256-8ENfvI6f+hJeBWAMtsf8kz19WH9brkGyVyZ75PLODmE=";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/servers/uxplay/default.nix b/pkgs/servers/uxplay/default.nix
index 46c68e349f4..e11cdad3351 100644
--- a/pkgs/servers/uxplay/default.nix
+++ b/pkgs/servers/uxplay/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "uxplay";
-  version = "1.52";
+  version = "1.55";
 
   src = fetchFromGitHub {
     owner = "FDH2";
     repo = "UxPlay";
     rev = "v${version}";
-    sha256 = "sha256-2wPUG50fbXLg6w2Rni3NyeiCyUNPcOvxvqopD9QZJaQ=";
+    sha256 = "sha256-X5+vqGhgEQqjbzSs58t1/znlhlDJHLUwgNokYV7xNhc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/varnish/default.nix b/pkgs/servers/varnish/default.nix
index e20cc1c972a..37705cc689d 100644
--- a/pkgs/servers/varnish/default.nix
+++ b/pkgs/servers/varnish/default.nix
@@ -2,14 +2,14 @@
 , coreutils, python3, makeWrapper }:
 
 let
-  common = { version, sha256, extraNativeBuildInputs ? [] }:
+  common = { version, hash, extraNativeBuildInputs ? [] }:
     stdenv.mkDerivation rec {
       pname = "varnish";
       inherit version;
 
       src = fetchurl {
         url = "https://varnish-cache.org/_downloads/${pname}-${version}.tgz";
-        inherit sha256;
+        inherit hash;
       };
 
       passthru.python = python3;
@@ -42,7 +42,7 @@ let
         description = "Web application accelerator also known as a caching HTTP reverse proxy";
         homepage = "https://www.varnish-cache.org";
         license = licenses.bsd2;
-        maintainers = with maintainers; [ fpletz ];
+        maintainers = with maintainers; [ ajs124 ];
         platforms = platforms.unix;
       };
     };
@@ -50,10 +50,10 @@ in
 {
   varnish60 = common {
     version = "6.0.10";
-    sha256 = "1sr60wg5mzjb14y75cga836f19sbmmpgh13mwc4alyg3irsbz1bb";
+    hash = "sha256-a4W/dI7jeaoI43UE+G6tS6fgzEDqsXI8CUv+Wh4HJus=";
   };
   varnish71 = common {
-    version = "7.1.0";
-    sha256 = "1flyqr212jamqpwafdil170vc966r1mbb7n3ngjn8xk6hn3bhjpm";
+    version = "7.1.1";
+    hash = "sha256-LK++JZDn1Yp7rIrZm+kuRA/k04raaBbdiDbyL6UToZA=";
   };
 }
diff --git a/pkgs/servers/web-apps/healthchecks/default.nix b/pkgs/servers/web-apps/healthchecks/default.nix
index aef269907ac..2f0f3740ca5 100644
--- a/pkgs/servers/web-apps/healthchecks/default.nix
+++ b/pkgs/servers/web-apps/healthchecks/default.nix
@@ -38,7 +38,7 @@ py.pkgs.buildPythonApplication rec {
     cronsim
     cryptography
     django
-    django_compressor
+    django-compressor
     fido2
     minio
     psycopg2
diff --git a/pkgs/servers/web-apps/nifi/default.nix b/pkgs/servers/web-apps/nifi/default.nix
index d6d6ba0d5fc..fafff020106 100644
--- a/pkgs/servers/web-apps/nifi/default.nix
+++ b/pkgs/servers/web-apps/nifi/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.16.3";
 
   src = fetchurl {
-    url = "https://dlcdn.apache.org/nifi/${version}/nifi-${version}-bin.tar.gz";
+    url = "https://archive.apache.org/dist/nifi/${version}/nifi-${version}-bin.tar.gz";
     sha256 = "sha256-57ZtgK1Z8G/nX2rtf7osmymvE4RukGi7CIvCvRQNKuE=";
   };
 
diff --git a/pkgs/servers/web-apps/rss-bridge/default.nix b/pkgs/servers/web-apps/rss-bridge/default.nix
index 89398a9edbe..70cf53e725b 100644
--- a/pkgs/servers/web-apps/rss-bridge/default.nix
+++ b/pkgs/servers/web-apps/rss-bridge/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rss-bridge";
-  version = "2022-01-20";
+  version = "2022-06-14";
 
   src = fetchFromGitHub {
     owner = "RSS-Bridge";
     repo = "rss-bridge";
     rev = version;
-    sha256 = "sha256-wQW6U24TMnRxQ9zxdq8cMzO0OGX/re065YDhl1AbwO8=";
+    sha256 = "sha256-yH+m65CIZokZSbnv1zfpKC/Qr/mPPC6dG49Zn62X0l4=";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/web-apps/searx/default.nix b/pkgs/servers/web-apps/searx/default.nix
index 5327b48d51e..3d65fe46314 100644
--- a/pkgs/servers/web-apps/searx/default.nix
+++ b/pkgs/servers/web-apps/searx/default.nix
@@ -70,6 +70,6 @@ toPythonModule (buildPythonApplication rec {
     homepage = "https://github.com/searx/searx";
     description = "A privacy-respecting, hackable metasearch engine";
     license = licenses.agpl3Plus;
-    maintainers = with maintainers; [ matejc fpletz globin danielfullmer ];
+    maintainers = with maintainers; [ matejc globin danielfullmer ];
   };
 })
diff --git a/pkgs/servers/web-apps/snipe-it/default.nix b/pkgs/servers/web-apps/snipe-it/default.nix
index 9da05a269c4..8023da77477 100644
--- a/pkgs/servers/web-apps/snipe-it/default.nix
+++ b/pkgs/servers/web-apps/snipe-it/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, stdenv, lib, fetchFromGitHub, dataDir ? "/var/lib/snipe-it" }:
+{ pkgs, stdenv, lib, fetchFromGitHub, dataDir ? "/var/lib/snipe-it", mariadb }:
 
 let
   package = (import ./composition.nix {
@@ -13,6 +13,7 @@ let
       ln -s ${dataDir}/public/uploads $out/public/uploads
       ln -s ${dataDir}/bootstrap/cache $out/bootstrap/cache
       chmod +x $out/artisan
+      substituteInPlace config/database.php --replace "env('DB_DUMP_PATH', '/usr/local/bin')" "env('DB_DUMP_PATH', '${mariadb}/bin')"
     '';
   });
 
diff --git a/pkgs/servers/web-apps/vikunja/api.nix b/pkgs/servers/web-apps/vikunja/api.nix
index 64ea04d1ef9..c78459936c0 100644
--- a/pkgs/servers/web-apps/vikunja/api.nix
+++ b/pkgs/servers/web-apps/vikunja/api.nix
@@ -2,14 +2,14 @@
 
 buildGoModule rec {
   pname = "vikunja-api";
-  version = "0.18.1";
+  version = "0.19.0";
 
   src = fetchFromGitea {
     domain = "kolaente.dev";
     owner = "vikunja";
     repo = "api";
     rev = "v${version}";
-    sha256 = "sha256-ngdtK8e4mLpbuY9OP1aHk99qPX/cKwnyhb/3ImTwF6M=";
+    sha256 = "sha256-1BxkQFiAqH+n8yzQn0+5cd/Z6oEBbGuK1pu1qt8CUbk=";
   };
 
   nativeBuildInputs =
@@ -24,7 +24,7 @@ buildGoModule rec {
         '';
       in [ fakeGit mage ];
 
-  vendorSha256 = "sha256-0MP04KpWX17Fa1WhLwF4yzIsDqGAeTUXxv81B+BTNe4=";
+  vendorSha256 = "fzk22B7KpXfGS+8GF6J3ydmFyvP7oelRuiF+IveYdg4=";
 
   # checks need to be disabled because of needed internet for some checks
   doCheck = false;
diff --git a/pkgs/servers/web-apps/vikunja/frontend.nix b/pkgs/servers/web-apps/vikunja/frontend.nix
index 161a65fa663..b46241931c6 100644
--- a/pkgs/servers/web-apps/vikunja/frontend.nix
+++ b/pkgs/servers/web-apps/vikunja/frontend.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "vikunja-frontend";
-  version = "0.18.1";
+  version = "0.19.0";
   src = fetchurl {
     url = "https://dl.vikunja.io/frontend/${pname}-${version}.zip";
-    sha256 = "sha256-u4XA6Jqn+p2J0sB2KabwZY/lFwZakZEvUUh/enrhtN4=";
+    sha256 = "sha256-pdUNPfGgbSMyXcS2HKMekIiIzJ3GutHCs0gFVkHN9yc=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/servers/web-apps/virtlyst/add-admin-password-env.patch b/pkgs/servers/web-apps/virtlyst/add-admin-password-env.patch
deleted file mode 100644
index e20acdb04a9..00000000000
--- a/pkgs/servers/web-apps/virtlyst/add-admin-password-env.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/src/virtlyst.cpp b/src/virtlyst.cpp
-index acd195d..8809e4f 100644
---- a/src/virtlyst.cpp
-+++ b/src/virtlyst.cpp
-@@ -340,7 +340,8 @@ bool Virtlyst::createDB()
-         qCCritical(VIRTLYST) << "Error creating database" << query.lastError().text();
-         return false;
-     }
--    const QString password = QString::fromLatin1(QUuid::createUuid().toRfc4122().toHex());
-+    const QString password = qEnvironmentVariable("VIRTLYST_ADMIN_PASSWORD",
-+            QString::fromLatin1(QUuid::createUuid().toRfc4122().toHex()));
-     query.bindValue(QStringLiteral(":password"), QString::fromLatin1(
-                         CredentialPassword::createPassword(password.toUtf8(), QCryptographicHash::Sha256, 10000, 16, 16)));
-     if (!query.exec()) {
diff --git a/pkgs/servers/web-apps/virtlyst/default.nix b/pkgs/servers/web-apps/virtlyst/default.nix
deleted file mode 100644
index d6a72916fae..00000000000
--- a/pkgs/servers/web-apps/virtlyst/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ stdenv, lib, fetchFromGitHub, cmake, pkg-config, autoPatchelfHook
-, qtbase, libvirt, cutelyst, grantlee }:
-
-stdenv.mkDerivation rec {
-  pname = "virtlyst";
-  version = "1.2.0";
-
-  src = fetchFromGitHub {
-    owner = "cutelyst";
-    repo = "Virtlyst";
-    rev = "v${version}";
-    sha256 = "1vgjai34hqppkpl0ryxkyhpm9dsx1chs3bii3wc3h40hl80n6dgy";
-  };
-
-  nativeBuildInputs = [ cmake pkg-config autoPatchelfHook ];
-  buildInputs = [ qtbase libvirt cutelyst grantlee ];
-
-  dontWrapQtApps = true;
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/lib
-    cp src/libVirtlyst${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib
-    cp -r ../root $out
-
-    runHook postInstall
-  '';
-
-  patches = [ ./add-admin-password-env.patch ];
-
-  meta = with lib; {
-    description = "Web interface to manage virtual machines with libvirt";
-    homepage = "https://github.com/cutelyst/Virtlyst";
-    license = licenses.agpl3Plus;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ fpletz ];
-  };
-}
diff --git a/pkgs/servers/web-apps/wallabag/default.nix b/pkgs/servers/web-apps/wallabag/default.nix
index 0f47ec0dca6..cf11bcf9298 100644
--- a/pkgs/servers/web-apps/wallabag/default.nix
+++ b/pkgs/servers/web-apps/wallabag/default.nix
@@ -15,7 +15,7 @@
 
 let
   pname = "wallabag";
-  version = "2.5.0";
+  version = "2.5.1";
 in
 stdenv.mkDerivation {
   inherit pname version;
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
   # GitHub distribution does not include vendored files
   src = fetchurl {
     url = "https://static.wallabag.org/releases/wallabag-release-${version}.tar.gz";
-    hash = "sha256-fE/4bVwImQ03wrfdrx6AlulO2xU1M2HIaSOGpTAb02E=";
+    hash = "sha256-vurjWI5Sh/SFPtxd5cHaaw7edcAzNub/duhOUF+Wshk=";
   };
 
   patches = [
diff --git a/pkgs/servers/web-apps/wordpress/default.nix b/pkgs/servers/web-apps/wordpress/default.nix
index 41b42f3762e..cc13317b0be 100644
--- a/pkgs/servers/web-apps/wordpress/default.nix
+++ b/pkgs/servers/web-apps/wordpress/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "wordpress";
-  version = "6.0";
+  version = "6.0.1";
 
   src = fetchurl {
     url = "https://wordpress.org/${pname}-${version}.tar.gz";
-    sha256 = "sha256-GIfzIj2wHW2Ijfd+oLO43eTGJDlhprSG0b7hvpMkvwg=";
+    sha256 = "sha256-9nhZaASqidfNySgIYpOEZOqyWurr/vqRrhdeFao+8FQ=";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/webdav/default.nix b/pkgs/servers/webdav/default.nix
index 4a3aca9f6e9..35744ba6e3d 100644
--- a/pkgs/servers/webdav/default.nix
+++ b/pkgs/servers/webdav/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "webdav";
-  version = "4.1.1";
+  version = "4.2.0";
 
   src = fetchFromGitHub {
     owner = "hacdias";
     repo = "webdav";
     rev = "v${version}";
-    sha256 = "0jnh1bhc98vcx2vm6hmgak6zwfc0rx898qcdjcca5y9dni4120aq";
+    sha256 = "sha256-4rgDO1vItmmCRXRiO24MPa9IPzrsfzCWLH6hl6oKkxk=";
   };
 
-  vendorSha256 = "19nhz6z8h4fxpy4gjx7zz69si499jak7qj9yb17x32lar5m88gvb";
+  vendorSha256 = "sha256-az+EasmKitFPWD5JfKaSKZGok/n/dPmIv90RiL750KY=";
 
   meta = with lib; {
     description = "Simple WebDAV server";
diff --git a/pkgs/servers/wishlist/default.nix b/pkgs/servers/wishlist/default.nix
index 942dd7aa96c..33d63417d59 100644
--- a/pkgs/servers/wishlist/default.nix
+++ b/pkgs/servers/wishlist/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "wishlist";
-  version = "0.5.0";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "charmbracelet";
     repo = "wishlist";
     rev = "v${version}";
-    sha256 = "sha256-J9Wd2CyQo8vzfE2jXQzbNA+oihG71F3ZQmEW/r0a72I=1";
+    sha256 = "sha256-Q2/F4/bPhPmwkbc7dulx4jubwdwiwVWMNBclO2qf8rU=";
   };
 
-  vendorSha256 = "sha256-5+wuavHLXwjtvwA9tSpdF2Zd8tw5FklzvaTeCZlA4WQ=";
+  vendorSha256 = "sha256-gmLPMar3ICZ14uxahQPkruKUoZbnvYAdu5IfO2pNEXM=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/xmpp/prosody/default.nix b/pkgs/servers/xmpp/prosody/default.nix
index 607a9dc0201..00a88b8073f 100644
--- a/pkgs/servers/xmpp/prosody/default.nix
+++ b/pkgs/servers/xmpp/prosody/default.nix
@@ -82,6 +82,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     homepage = "https://prosody.im";
     platforms = platforms.linux;
-    maintainers = with maintainers; [ fpletz globin ];
+    maintainers = with maintainers; [ globin ];
   };
 }
diff --git a/pkgs/servers/zigbee2mqtt/default.nix b/pkgs/servers/zigbee2mqtt/default.nix
index 3140c0c2d2c..1f6b3a106c6 100644
--- a/pkgs/servers/zigbee2mqtt/default.nix
+++ b/pkgs/servers/zigbee2mqtt/default.nix
@@ -3,14 +3,14 @@ let
   package = (import ./node.nix { inherit pkgs; inherit (stdenv.hostPlatform) system; }).package;
 in
 package.override rec {
-  version = "1.26.0";
+  version = "1.27.0";
   reconstructLock = true;
 
   src = pkgs.fetchFromGitHub {
     owner = "Koenkk";
     repo = "zigbee2mqtt";
     rev = version;
-    sha256 = "eK1Hk+P4pVfv5tk5Nl9GvUjGfcrYO+6mipkqFd8uA74=";
+    sha256 = "8qkoVXHXlvVK5GROVNhTkN52g9RQ/CuAMtDLq0Fx3T0=";
   };
 
   passthru.tests.zigbee2mqtt = nixosTests.zigbee2mqtt;
diff --git a/pkgs/servers/zigbee2mqtt/node-packages.nix b/pkgs/servers/zigbee2mqtt/node-packages.nix
index ce5e95330f4..121a0ea6f4d 100644
--- a/pkgs/servers/zigbee2mqtt/node-packages.nix
+++ b/pkgs/servers/zigbee2mqtt/node-packages.nix
@@ -13,85 +13,85 @@ let
         sha512 = "qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==";
       };
     };
-    "@babel/code-frame-7.16.7" = {
+    "@babel/code-frame-7.18.6" = {
       name = "_at_babel_slash_code-frame";
       packageName = "@babel/code-frame";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz";
-        sha512 = "iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==";
+        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz";
+        sha512 = "TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==";
       };
     };
-    "@babel/compat-data-7.17.10" = {
+    "@babel/compat-data-7.18.8" = {
       name = "_at_babel_slash_compat-data";
       packageName = "@babel/compat-data";
-      version = "7.17.10";
+      version = "7.18.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz";
-        sha512 = "GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==";
+        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz";
+        sha512 = "HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==";
       };
     };
-    "@babel/core-7.18.5" = {
+    "@babel/core-7.18.9" = {
       name = "_at_babel_slash_core";
       packageName = "@babel/core";
-      version = "7.18.5";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/core/-/core-7.18.5.tgz";
-        sha512 = "MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ==";
+        url = "https://registry.npmjs.org/@babel/core/-/core-7.18.9.tgz";
+        sha512 = "1LIb1eL8APMy91/IMW+31ckrfBM4yCoLaVzoDhZUKSM4cu1L1nIidyxkCgzPAgrC5WEz36IPEr/eSeSF9pIn+g==";
       };
     };
-    "@babel/generator-7.18.2" = {
+    "@babel/generator-7.18.9" = {
       name = "_at_babel_slash_generator";
       packageName = "@babel/generator";
-      version = "7.18.2";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz";
-        sha512 = "W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==";
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.18.9.tgz";
+        sha512 = "wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug==";
       };
     };
-    "@babel/helper-annotate-as-pure-7.16.7" = {
+    "@babel/helper-annotate-as-pure-7.18.6" = {
       name = "_at_babel_slash_helper-annotate-as-pure";
       packageName = "@babel/helper-annotate-as-pure";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz";
-        sha512 = "s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==";
+        url = "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz";
+        sha512 = "duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==";
       };
     };
-    "@babel/helper-builder-binary-assignment-operator-visitor-7.16.7" = {
+    "@babel/helper-builder-binary-assignment-operator-visitor-7.18.6" = {
       name = "_at_babel_slash_helper-builder-binary-assignment-operator-visitor";
       packageName = "@babel/helper-builder-binary-assignment-operator-visitor";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz";
-        sha512 = "C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==";
+        url = "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.6.tgz";
+        sha512 = "KT10c1oWEpmrIRYnthbzHgoOf6B+Xd6a5yhdbNtdhtG7aO1or5HViuf1TQR36xY/QprXA5nvxO6nAjhJ4y38jw==";
       };
     };
-    "@babel/helper-compilation-targets-7.18.2" = {
+    "@babel/helper-compilation-targets-7.18.9" = {
       name = "_at_babel_slash_helper-compilation-targets";
       packageName = "@babel/helper-compilation-targets";
-      version = "7.18.2";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz";
-        sha512 = "s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ==";
+        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz";
+        sha512 = "tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==";
       };
     };
-    "@babel/helper-create-class-features-plugin-7.18.0" = {
+    "@babel/helper-create-class-features-plugin-7.18.9" = {
       name = "_at_babel_slash_helper-create-class-features-plugin";
       packageName = "@babel/helper-create-class-features-plugin";
-      version = "7.18.0";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.0.tgz";
-        sha512 = "Kh8zTGR9de3J63e5nS0rQUdRs/kbtwoeQQ0sriS0lItjC96u8XXZN6lKpuyWd2coKSU13py/y+LTmThLuVX0Pg==";
+        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz";
+        sha512 = "WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw==";
       };
     };
-    "@babel/helper-create-regexp-features-plugin-7.17.12" = {
+    "@babel/helper-create-regexp-features-plugin-7.18.6" = {
       name = "_at_babel_slash_helper-create-regexp-features-plugin";
       packageName = "@babel/helper-create-regexp-features-plugin";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.12.tgz";
-        sha512 = "b2aZrV4zvutr9AIa6/gA3wsZKRwTKYoDxYiFKcESS3Ug2GTXzwBEvMuuFLhCQpEnRXs1zng4ISAXSUxxKBIcxw==";
+        url = "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz";
+        sha512 = "7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==";
       };
     };
     "@babel/helper-define-polyfill-provider-0.3.1" = {
@@ -103,346 +103,346 @@ let
         sha512 = "J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==";
       };
     };
-    "@babel/helper-environment-visitor-7.18.2" = {
+    "@babel/helper-environment-visitor-7.18.9" = {
       name = "_at_babel_slash_helper-environment-visitor";
       packageName = "@babel/helper-environment-visitor";
-      version = "7.18.2";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz";
-        sha512 = "14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==";
+        url = "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz";
+        sha512 = "3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==";
       };
     };
-    "@babel/helper-explode-assignable-expression-7.16.7" = {
+    "@babel/helper-explode-assignable-expression-7.18.6" = {
       name = "_at_babel_slash_helper-explode-assignable-expression";
       packageName = "@babel/helper-explode-assignable-expression";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz";
-        sha512 = "KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==";
+        url = "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz";
+        sha512 = "eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==";
       };
     };
-    "@babel/helper-function-name-7.17.9" = {
+    "@babel/helper-function-name-7.18.9" = {
       name = "_at_babel_slash_helper-function-name";
       packageName = "@babel/helper-function-name";
-      version = "7.17.9";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz";
-        sha512 = "7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==";
+        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz";
+        sha512 = "fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==";
       };
     };
-    "@babel/helper-hoist-variables-7.16.7" = {
+    "@babel/helper-hoist-variables-7.18.6" = {
       name = "_at_babel_slash_helper-hoist-variables";
       packageName = "@babel/helper-hoist-variables";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz";
-        sha512 = "m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==";
+        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz";
+        sha512 = "UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==";
       };
     };
-    "@babel/helper-member-expression-to-functions-7.17.7" = {
+    "@babel/helper-member-expression-to-functions-7.18.9" = {
       name = "_at_babel_slash_helper-member-expression-to-functions";
       packageName = "@babel/helper-member-expression-to-functions";
-      version = "7.17.7";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz";
-        sha512 = "thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==";
+        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz";
+        sha512 = "RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==";
       };
     };
-    "@babel/helper-module-imports-7.16.7" = {
+    "@babel/helper-module-imports-7.18.6" = {
       name = "_at_babel_slash_helper-module-imports";
       packageName = "@babel/helper-module-imports";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz";
-        sha512 = "LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==";
+        url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz";
+        sha512 = "0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==";
       };
     };
-    "@babel/helper-module-transforms-7.18.0" = {
+    "@babel/helper-module-transforms-7.18.9" = {
       name = "_at_babel_slash_helper-module-transforms";
       packageName = "@babel/helper-module-transforms";
-      version = "7.18.0";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz";
-        sha512 = "kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA==";
+        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz";
+        sha512 = "KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==";
       };
     };
-    "@babel/helper-optimise-call-expression-7.16.7" = {
+    "@babel/helper-optimise-call-expression-7.18.6" = {
       name = "_at_babel_slash_helper-optimise-call-expression";
       packageName = "@babel/helper-optimise-call-expression";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz";
-        sha512 = "EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==";
+        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz";
+        sha512 = "HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==";
       };
     };
-    "@babel/helper-plugin-utils-7.17.12" = {
+    "@babel/helper-plugin-utils-7.18.9" = {
       name = "_at_babel_slash_helper-plugin-utils";
       packageName = "@babel/helper-plugin-utils";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz";
-        sha512 = "JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==";
+        url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz";
+        sha512 = "aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==";
       };
     };
-    "@babel/helper-remap-async-to-generator-7.16.8" = {
+    "@babel/helper-remap-async-to-generator-7.18.6" = {
       name = "_at_babel_slash_helper-remap-async-to-generator";
       packageName = "@babel/helper-remap-async-to-generator";
-      version = "7.16.8";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz";
-        sha512 = "fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==";
+        url = "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.6.tgz";
+        sha512 = "z5wbmV55TveUPZlCLZvxWHtrjuJd+8inFhk7DG0WW87/oJuGDcjDiu7HIvGcpf5464L6xKCg3vNkmlVVz9hwyQ==";
       };
     };
-    "@babel/helper-replace-supers-7.18.2" = {
+    "@babel/helper-replace-supers-7.18.9" = {
       name = "_at_babel_slash_helper-replace-supers";
       packageName = "@babel/helper-replace-supers";
-      version = "7.18.2";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.2.tgz";
-        sha512 = "XzAIyxx+vFnrOxiQrToSUOzUOn0e1J2Li40ntddek1Y69AXUTXoDJ40/D5RdjFu7s7qHiaeoTiempZcbuVXh2Q==";
+        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz";
+        sha512 = "dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==";
       };
     };
-    "@babel/helper-simple-access-7.18.2" = {
+    "@babel/helper-simple-access-7.18.6" = {
       name = "_at_babel_slash_helper-simple-access";
       packageName = "@babel/helper-simple-access";
-      version = "7.18.2";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz";
-        sha512 = "7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ==";
+        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz";
+        sha512 = "iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==";
       };
     };
-    "@babel/helper-skip-transparent-expression-wrappers-7.16.0" = {
+    "@babel/helper-skip-transparent-expression-wrappers-7.18.9" = {
       name = "_at_babel_slash_helper-skip-transparent-expression-wrappers";
       packageName = "@babel/helper-skip-transparent-expression-wrappers";
-      version = "7.16.0";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz";
-        sha512 = "+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==";
+        url = "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz";
+        sha512 = "imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==";
       };
     };
-    "@babel/helper-split-export-declaration-7.16.7" = {
+    "@babel/helper-split-export-declaration-7.18.6" = {
       name = "_at_babel_slash_helper-split-export-declaration";
       packageName = "@babel/helper-split-export-declaration";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz";
-        sha512 = "xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==";
+        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz";
+        sha512 = "bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==";
       };
     };
-    "@babel/helper-validator-identifier-7.16.7" = {
+    "@babel/helper-validator-identifier-7.18.6" = {
       name = "_at_babel_slash_helper-validator-identifier";
       packageName = "@babel/helper-validator-identifier";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz";
-        sha512 = "hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==";
+        url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz";
+        sha512 = "MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==";
       };
     };
-    "@babel/helper-validator-option-7.16.7" = {
+    "@babel/helper-validator-option-7.18.6" = {
       name = "_at_babel_slash_helper-validator-option";
       packageName = "@babel/helper-validator-option";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz";
-        sha512 = "TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==";
+        url = "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz";
+        sha512 = "XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==";
       };
     };
-    "@babel/helper-wrap-function-7.16.8" = {
+    "@babel/helper-wrap-function-7.18.6" = {
       name = "_at_babel_slash_helper-wrap-function";
       packageName = "@babel/helper-wrap-function";
-      version = "7.16.8";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz";
-        sha512 = "8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==";
+        url = "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.6.tgz";
+        sha512 = "I5/LZfozwMNbwr/b1vhhuYD+J/mU+gfGAj5td7l5Rv9WYmH6i3Om69WGKNmlIpsVW/mF6O5bvTKbvDQZVgjqOw==";
       };
     };
-    "@babel/helpers-7.18.2" = {
+    "@babel/helpers-7.18.9" = {
       name = "_at_babel_slash_helpers";
       packageName = "@babel/helpers";
-      version = "7.18.2";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.2.tgz";
-        sha512 = "j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg==";
+        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz";
+        sha512 = "Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==";
       };
     };
-    "@babel/highlight-7.17.12" = {
+    "@babel/highlight-7.18.6" = {
       name = "_at_babel_slash_highlight";
       packageName = "@babel/highlight";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.12.tgz";
-        sha512 = "7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==";
+        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz";
+        sha512 = "u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==";
       };
     };
-    "@babel/parser-7.18.5" = {
+    "@babel/parser-7.18.9" = {
       name = "_at_babel_slash_parser";
       packageName = "@babel/parser";
-      version = "7.18.5";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.18.5.tgz";
-        sha512 = "YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw==";
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.18.9.tgz";
+        sha512 = "9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg==";
       };
     };
-    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12" = {
+    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6" = {
       name = "_at_babel_slash_plugin-bugfix-safari-id-destructuring-collision-in-function-expression";
       packageName = "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12.tgz";
-        sha512 = "xCJQXl4EeQ3J9C4yOmpTrtVGmzpm2iSzyxbkZHw7UCnZBftHpF/hpII80uWVyVrc40ytIClHjgWGTG1g/yB+aw==";
+        url = "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz";
+        sha512 = "Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==";
       };
     };
-    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12" = {
+    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9" = {
       name = "_at_babel_slash_plugin-bugfix-v8-spread-parameters-in-optional-chaining";
       packageName = "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12.tgz";
-        sha512 = "/vt0hpIw0x4b6BLKUkwlvEoiGZYYLNZ96CzyHYPbtG2jZGz6LBe7/V+drYrc/d+ovrF9NBi0pmtvmNb/FsWtRQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz";
+        sha512 = "AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==";
       };
     };
-    "@babel/plugin-proposal-async-generator-functions-7.17.12" = {
+    "@babel/plugin-proposal-async-generator-functions-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-async-generator-functions";
       packageName = "@babel/plugin-proposal-async-generator-functions";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.17.12.tgz";
-        sha512 = "RWVvqD1ooLKP6IqWTA5GyFVX2isGEgC5iFxKzfYOIy/QEFdxYyCybBDtIGjipHpb9bDWHzcqGqFakf+mVmBTdQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz";
+        sha512 = "WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w==";
       };
     };
-    "@babel/plugin-proposal-class-properties-7.17.12" = {
+    "@babel/plugin-proposal-class-properties-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-class-properties";
       packageName = "@babel/plugin-proposal-class-properties";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.17.12.tgz";
-        sha512 = "U0mI9q8pW5Q9EaTHFPwSVusPMV/DV9Mm8p7csqROFLtIE9rBF5piLqyrBGigftALrBcsBGu4m38JneAe7ZDLXw==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz";
+        sha512 = "cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==";
       };
     };
-    "@babel/plugin-proposal-class-static-block-7.18.0" = {
+    "@babel/plugin-proposal-class-static-block-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-class-static-block";
       packageName = "@babel/plugin-proposal-class-static-block";
-      version = "7.18.0";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.0.tgz";
-        sha512 = "t+8LsRMMDE74c6sV7KShIw13sqbqd58tlqNrsWoWBTIMw7SVQ0cZ905wLNS/FBCy/3PyooRHLFFlfrUNyyz5lA==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz";
+        sha512 = "+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==";
       };
     };
-    "@babel/plugin-proposal-decorators-7.18.2" = {
+    "@babel/plugin-proposal-decorators-7.18.9" = {
       name = "_at_babel_slash_plugin-proposal-decorators";
       packageName = "@babel/plugin-proposal-decorators";
-      version = "7.18.2";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.18.2.tgz";
-        sha512 = "kbDISufFOxeczi0v4NQP3p5kIeW6izn/6klfWBrIIdGZZe4UpHR+QU03FAoWjGGd9SUXAwbw2pup1kaL4OQsJQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.18.9.tgz";
+        sha512 = "KD7zDNaD14CRpjQjVbV4EnH9lsKYlcpUrhZH37ei2IY+AlXrfAPy5pTmRUE4X6X1k8EsKXPraykxeaogqQvSGA==";
       };
     };
-    "@babel/plugin-proposal-dynamic-import-7.16.7" = {
+    "@babel/plugin-proposal-dynamic-import-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-dynamic-import";
       packageName = "@babel/plugin-proposal-dynamic-import";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz";
-        sha512 = "I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz";
+        sha512 = "1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==";
       };
     };
-    "@babel/plugin-proposal-export-namespace-from-7.17.12" = {
+    "@babel/plugin-proposal-export-namespace-from-7.18.9" = {
       name = "_at_babel_slash_plugin-proposal-export-namespace-from";
       packageName = "@babel/plugin-proposal-export-namespace-from";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.17.12.tgz";
-        sha512 = "j7Ye5EWdwoXOpRmo5QmRyHPsDIe6+u70ZYZrd7uz+ebPYFKfRcLcNu3Ro0vOlJ5zuv8rU7xa+GttNiRzX56snQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz";
+        sha512 = "k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==";
       };
     };
-    "@babel/plugin-proposal-json-strings-7.17.12" = {
+    "@babel/plugin-proposal-json-strings-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-json-strings";
       packageName = "@babel/plugin-proposal-json-strings";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.17.12.tgz";
-        sha512 = "rKJ+rKBoXwLnIn7n6o6fulViHMrOThz99ybH+hKHcOZbnN14VuMnH9fo2eHE69C8pO4uX1Q7t2HYYIDmv8VYkg==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz";
+        sha512 = "lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==";
       };
     };
-    "@babel/plugin-proposal-logical-assignment-operators-7.17.12" = {
+    "@babel/plugin-proposal-logical-assignment-operators-7.18.9" = {
       name = "_at_babel_slash_plugin-proposal-logical-assignment-operators";
       packageName = "@babel/plugin-proposal-logical-assignment-operators";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.17.12.tgz";
-        sha512 = "EqFo2s1Z5yy+JeJu7SFfbIUtToJTVlC61/C7WLKDntSw4Sz6JNAIfL7zQ74VvirxpjB5kz/kIx0gCcb+5OEo2Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz";
+        sha512 = "128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==";
       };
     };
-    "@babel/plugin-proposal-nullish-coalescing-operator-7.17.12" = {
+    "@babel/plugin-proposal-nullish-coalescing-operator-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-nullish-coalescing-operator";
       packageName = "@babel/plugin-proposal-nullish-coalescing-operator";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.17.12.tgz";
-        sha512 = "ws/g3FSGVzv+VH86+QvgtuJL/kR67xaEIF2x0iPqdDfYW6ra6JF3lKVBkWynRLcNtIC1oCTfDRVxmm2mKzy+ag==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz";
+        sha512 = "wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==";
       };
     };
-    "@babel/plugin-proposal-numeric-separator-7.16.7" = {
+    "@babel/plugin-proposal-numeric-separator-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-numeric-separator";
       packageName = "@babel/plugin-proposal-numeric-separator";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz";
-        sha512 = "vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz";
+        sha512 = "ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==";
       };
     };
-    "@babel/plugin-proposal-object-rest-spread-7.18.0" = {
+    "@babel/plugin-proposal-object-rest-spread-7.18.9" = {
       name = "_at_babel_slash_plugin-proposal-object-rest-spread";
       packageName = "@babel/plugin-proposal-object-rest-spread";
-      version = "7.18.0";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.0.tgz";
-        sha512 = "nbTv371eTrFabDfHLElkn9oyf9VG+VKK6WMzhY2o4eHKaG19BToD9947zzGMO6I/Irstx9d8CwX6njPNIAR/yw==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz";
+        sha512 = "kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==";
       };
     };
-    "@babel/plugin-proposal-optional-catch-binding-7.16.7" = {
+    "@babel/plugin-proposal-optional-catch-binding-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-optional-catch-binding";
       packageName = "@babel/plugin-proposal-optional-catch-binding";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz";
-        sha512 = "eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz";
+        sha512 = "Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==";
       };
     };
-    "@babel/plugin-proposal-optional-chaining-7.17.12" = {
+    "@babel/plugin-proposal-optional-chaining-7.18.9" = {
       name = "_at_babel_slash_plugin-proposal-optional-chaining";
       packageName = "@babel/plugin-proposal-optional-chaining";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.17.12.tgz";
-        sha512 = "7wigcOs/Z4YWlK7xxjkvaIw84vGhDv/P1dFGQap0nHkc8gFKY/r+hXc8Qzf5k1gY7CvGIcHqAnOagVKJJ1wVOQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz";
+        sha512 = "v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==";
       };
     };
-    "@babel/plugin-proposal-private-methods-7.17.12" = {
+    "@babel/plugin-proposal-private-methods-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-private-methods";
       packageName = "@babel/plugin-proposal-private-methods";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.17.12.tgz";
-        sha512 = "SllXoxo19HmxhDWm3luPz+cPhtoTSKLJE9PXshsfrOzBqs60QP0r8OaJItrPhAj0d7mZMnNF0Y1UUggCDgMz1A==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz";
+        sha512 = "nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==";
       };
     };
-    "@babel/plugin-proposal-private-property-in-object-7.17.12" = {
+    "@babel/plugin-proposal-private-property-in-object-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-private-property-in-object";
       packageName = "@babel/plugin-proposal-private-property-in-object";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.17.12.tgz";
-        sha512 = "/6BtVi57CJfrtDNKfK5b66ydK2J5pXUKBKSPD2G1whamMuEnZWgoOIfO8Vf9F/DoD4izBLD/Au4NMQfruzzykg==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz";
+        sha512 = "9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==";
       };
     };
-    "@babel/plugin-proposal-unicode-property-regex-7.17.12" = {
+    "@babel/plugin-proposal-unicode-property-regex-7.18.6" = {
       name = "_at_babel_slash_plugin-proposal-unicode-property-regex";
       packageName = "@babel/plugin-proposal-unicode-property-regex";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.17.12.tgz";
-        sha512 = "Wb9qLjXf3ZazqXA7IvI7ozqRIXIGPtSo+L5coFmEkhTQK18ao4UDDD0zdTGAarmbLj2urpRwrc6893cu5Bfh0A==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz";
+        sha512 = "2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==";
       };
     };
     "@babel/plugin-syntax-async-generators-7.8.4" = {
@@ -481,13 +481,13 @@ let
         sha512 = "b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==";
       };
     };
-    "@babel/plugin-syntax-decorators-7.17.12" = {
+    "@babel/plugin-syntax-decorators-7.18.6" = {
       name = "_at_babel_slash_plugin-syntax-decorators";
       packageName = "@babel/plugin-syntax-decorators";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.17.12.tgz";
-        sha512 = "D1Hz0qtGTza8K2xGyEdVNCYLdVHukAcbQr4K3/s6r/esadyEriZovpJimQOpu8ju4/jV8dW/1xdaE0UpDroidw==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.18.6.tgz";
+        sha512 = "fqyLgjcxf/1yhyZ6A+yo1u9gJ7eleFQod2lkaUsF9DQ7sbbY3Ligym3L0+I2c0WmqNKDpoD9UTb1AKP3qRMOAQ==";
       };
     };
     "@babel/plugin-syntax-dynamic-import-7.8.3" = {
@@ -508,13 +508,13 @@ let
         sha512 = "MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==";
       };
     };
-    "@babel/plugin-syntax-import-assertions-7.17.12" = {
+    "@babel/plugin-syntax-import-assertions-7.18.6" = {
       name = "_at_babel_slash_plugin-syntax-import-assertions";
       packageName = "@babel/plugin-syntax-import-assertions";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.17.12.tgz";
-        sha512 = "n/loy2zkq9ZEM8tEOwON9wTQSTNDTDEz6NujPtJGLU7qObzT1N4c4YZZf8E6ATB2AjNQg/Ib2AIpO03EZaCehw==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz";
+        sha512 = "/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==";
       };
     };
     "@babel/plugin-syntax-import-meta-7.10.4" = {
@@ -607,319 +607,319 @@ let
         sha512 = "hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==";
       };
     };
-    "@babel/plugin-syntax-typescript-7.17.12" = {
+    "@babel/plugin-syntax-typescript-7.18.6" = {
       name = "_at_babel_slash_plugin-syntax-typescript";
       packageName = "@babel/plugin-syntax-typescript";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.12.tgz";
-        sha512 = "TYY0SXFiO31YXtNg3HtFwNJHjLsAyIIhAhNWkQ5whPPS7HWUFlg9z0Ta4qAQNjQbP1wsSt/oKkmZ/4/WWdMUpw==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz";
+        sha512 = "mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==";
       };
     };
-    "@babel/plugin-transform-arrow-functions-7.17.12" = {
+    "@babel/plugin-transform-arrow-functions-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-arrow-functions";
       packageName = "@babel/plugin-transform-arrow-functions";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.17.12.tgz";
-        sha512 = "PHln3CNi/49V+mza4xMwrg+WGYevSF1oaiXaC2EQfdp4HWlSjRsrDXWJiQBKpP7749u6vQ9mcry2uuFOv5CXvA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz";
+        sha512 = "9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==";
       };
     };
-    "@babel/plugin-transform-async-to-generator-7.17.12" = {
+    "@babel/plugin-transform-async-to-generator-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-async-to-generator";
       packageName = "@babel/plugin-transform-async-to-generator";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.17.12.tgz";
-        sha512 = "J8dbrWIOO3orDzir57NRsjg4uxucvhby0L/KZuGsWDj0g7twWK3g7JhJhOrXtuXiw8MeiSdJ3E0OW9H8LYEzLQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz";
+        sha512 = "ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==";
       };
     };
-    "@babel/plugin-transform-block-scoped-functions-7.16.7" = {
+    "@babel/plugin-transform-block-scoped-functions-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-block-scoped-functions";
       packageName = "@babel/plugin-transform-block-scoped-functions";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz";
-        sha512 = "JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz";
+        sha512 = "ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==";
       };
     };
-    "@babel/plugin-transform-block-scoping-7.17.12" = {
+    "@babel/plugin-transform-block-scoping-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-block-scoping";
       packageName = "@babel/plugin-transform-block-scoping";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.17.12.tgz";
-        sha512 = "jw8XW/B1i7Lqwqj2CbrViPcZijSxfguBWZP2aN59NHgxUyO/OcO1mfdCxH13QhN5LbWhPkX+f+brKGhZTiqtZQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz";
+        sha512 = "5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==";
       };
     };
-    "@babel/plugin-transform-classes-7.17.12" = {
+    "@babel/plugin-transform-classes-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-classes";
       packageName = "@babel/plugin-transform-classes";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.17.12.tgz";
-        sha512 = "cvO7lc7pZat6BsvH6l/EGaI8zpl8paICaoGk+7x7guvtfak/TbIf66nYmJOH13EuG0H+Xx3M+9LQDtSvZFKXKw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz";
+        sha512 = "EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==";
       };
     };
-    "@babel/plugin-transform-computed-properties-7.17.12" = {
+    "@babel/plugin-transform-computed-properties-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-computed-properties";
       packageName = "@babel/plugin-transform-computed-properties";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.17.12.tgz";
-        sha512 = "a7XINeplB5cQUWMg1E/GI1tFz3LfK021IjV1rj1ypE+R7jHm+pIHmHl25VNkZxtx9uuYp7ThGk8fur1HHG7PgQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz";
+        sha512 = "+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==";
       };
     };
-    "@babel/plugin-transform-destructuring-7.18.0" = {
+    "@babel/plugin-transform-destructuring-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-destructuring";
       packageName = "@babel/plugin-transform-destructuring";
-      version = "7.18.0";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.0.tgz";
-        sha512 = "Mo69klS79z6KEfrLg/1WkmVnB8javh75HX4pi2btjvlIoasuxilEyjtsQW6XPrubNd7AQy0MMaNIaQE4e7+PQw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz";
+        sha512 = "p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA==";
       };
     };
-    "@babel/plugin-transform-dotall-regex-7.16.7" = {
+    "@babel/plugin-transform-dotall-regex-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-dotall-regex";
       packageName = "@babel/plugin-transform-dotall-regex";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz";
-        sha512 = "Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz";
+        sha512 = "6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==";
       };
     };
-    "@babel/plugin-transform-duplicate-keys-7.17.12" = {
+    "@babel/plugin-transform-duplicate-keys-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-duplicate-keys";
       packageName = "@babel/plugin-transform-duplicate-keys";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.17.12.tgz";
-        sha512 = "EA5eYFUG6xeerdabina/xIoB95jJ17mAkR8ivx6ZSu9frKShBjpOGZPn511MTDTkiCO+zXnzNczvUM69YSf3Zw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz";
+        sha512 = "d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==";
       };
     };
-    "@babel/plugin-transform-exponentiation-operator-7.16.7" = {
+    "@babel/plugin-transform-exponentiation-operator-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-exponentiation-operator";
       packageName = "@babel/plugin-transform-exponentiation-operator";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz";
-        sha512 = "8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz";
+        sha512 = "wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==";
       };
     };
-    "@babel/plugin-transform-for-of-7.18.1" = {
+    "@babel/plugin-transform-for-of-7.18.8" = {
       name = "_at_babel_slash_plugin-transform-for-of";
       packageName = "@babel/plugin-transform-for-of";
-      version = "7.18.1";
+      version = "7.18.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.1.tgz";
-        sha512 = "+TTB5XwvJ5hZbO8xvl2H4XaMDOAK57zF4miuC9qQJgysPNEAZZ9Z69rdF5LJkozGdZrjBIUAIyKUWRMmebI7vg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz";
+        sha512 = "yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==";
       };
     };
-    "@babel/plugin-transform-function-name-7.16.7" = {
+    "@babel/plugin-transform-function-name-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-function-name";
       packageName = "@babel/plugin-transform-function-name";
-      version = "7.16.7";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz";
-        sha512 = "SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz";
+        sha512 = "WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==";
       };
     };
-    "@babel/plugin-transform-literals-7.17.12" = {
+    "@babel/plugin-transform-literals-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-literals";
       packageName = "@babel/plugin-transform-literals";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.17.12.tgz";
-        sha512 = "8iRkvaTjJciWycPIZ9k9duu663FT7VrBdNqNgxnVXEFwOIp55JWcZd23VBRySYbnS3PwQ3rGiabJBBBGj5APmQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz";
+        sha512 = "IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==";
       };
     };
-    "@babel/plugin-transform-member-expression-literals-7.16.7" = {
+    "@babel/plugin-transform-member-expression-literals-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-member-expression-literals";
       packageName = "@babel/plugin-transform-member-expression-literals";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz";
-        sha512 = "mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz";
+        sha512 = "qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==";
       };
     };
-    "@babel/plugin-transform-modules-amd-7.18.0" = {
+    "@babel/plugin-transform-modules-amd-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-modules-amd";
       packageName = "@babel/plugin-transform-modules-amd";
-      version = "7.18.0";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.0.tgz";
-        sha512 = "h8FjOlYmdZwl7Xm2Ug4iX2j7Qy63NANI+NQVWQzv6r25fqgg7k2dZl03p95kvqNclglHs4FZ+isv4p1uXMA+QA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz";
+        sha512 = "Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==";
       };
     };
-    "@babel/plugin-transform-modules-commonjs-7.18.2" = {
+    "@babel/plugin-transform-modules-commonjs-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-modules-commonjs";
       packageName = "@babel/plugin-transform-modules-commonjs";
-      version = "7.18.2";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.2.tgz";
-        sha512 = "f5A865gFPAJAEE0K7F/+nm5CmAE3y8AWlMBG9unu5j9+tk50UQVK0QS8RNxSp7MJf0wh97uYyLWt3Zvu71zyOQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz";
+        sha512 = "Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==";
       };
     };
-    "@babel/plugin-transform-modules-systemjs-7.18.0" = {
+    "@babel/plugin-transform-modules-systemjs-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-modules-systemjs";
       packageName = "@babel/plugin-transform-modules-systemjs";
-      version = "7.18.0";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.0.tgz";
-        sha512 = "vwKpxdHnlM5tIrRt/eA0bzfbi7gUBLN08vLu38np1nZevlPySRe6yvuATJB5F/WPJ+ur4OXwpVYq9+BsxqAQuQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz";
+        sha512 = "zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==";
       };
     };
-    "@babel/plugin-transform-modules-umd-7.18.0" = {
+    "@babel/plugin-transform-modules-umd-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-modules-umd";
       packageName = "@babel/plugin-transform-modules-umd";
-      version = "7.18.0";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.0.tgz";
-        sha512 = "d/zZ8I3BWli1tmROLxXLc9A6YXvGK8egMxHp+E/rRwMh1Kip0AP77VwZae3snEJ33iiWwvNv2+UIIhfalqhzZA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz";
+        sha512 = "dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==";
       };
     };
-    "@babel/plugin-transform-named-capturing-groups-regex-7.17.12" = {
+    "@babel/plugin-transform-named-capturing-groups-regex-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-named-capturing-groups-regex";
       packageName = "@babel/plugin-transform-named-capturing-groups-regex";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.12.tgz";
-        sha512 = "vWoWFM5CKaTeHrdUJ/3SIOTRV+MBVGybOC9mhJkaprGNt5demMymDW24yC74avb915/mIRe3TgNb/d8idvnCRA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz";
+        sha512 = "UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==";
       };
     };
-    "@babel/plugin-transform-new-target-7.17.12" = {
+    "@babel/plugin-transform-new-target-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-new-target";
       packageName = "@babel/plugin-transform-new-target";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.17.12.tgz";
-        sha512 = "CaOtzk2fDYisbjAD4Sd1MTKGVIpRtx9bWLyj24Y/k6p4s4gQ3CqDGJauFJxt8M/LEx003d0i3klVqnN73qvK3w==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz";
+        sha512 = "DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==";
       };
     };
-    "@babel/plugin-transform-object-super-7.16.7" = {
+    "@babel/plugin-transform-object-super-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-object-super";
       packageName = "@babel/plugin-transform-object-super";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz";
-        sha512 = "14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz";
+        sha512 = "uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==";
       };
     };
-    "@babel/plugin-transform-parameters-7.17.12" = {
+    "@babel/plugin-transform-parameters-7.18.8" = {
       name = "_at_babel_slash_plugin-transform-parameters";
       packageName = "@babel/plugin-transform-parameters";
-      version = "7.17.12";
+      version = "7.18.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.17.12.tgz";
-        sha512 = "6qW4rWo1cyCdq1FkYri7AHpauchbGLXpdwnYsfxFb+KtddHENfsY5JZb35xUwkK5opOLcJ3BNd2l7PhRYGlwIA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz";
+        sha512 = "ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==";
       };
     };
-    "@babel/plugin-transform-property-literals-7.16.7" = {
+    "@babel/plugin-transform-property-literals-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-property-literals";
       packageName = "@babel/plugin-transform-property-literals";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz";
-        sha512 = "z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz";
+        sha512 = "cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==";
       };
     };
-    "@babel/plugin-transform-regenerator-7.18.0" = {
+    "@babel/plugin-transform-regenerator-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-regenerator";
       packageName = "@babel/plugin-transform-regenerator";
-      version = "7.18.0";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.0.tgz";
-        sha512 = "C8YdRw9uzx25HSIzwA7EM7YP0FhCe5wNvJbZzjVNHHPGVcDJ3Aie+qGYYdS1oVQgn+B3eAIJbWFLrJ4Jipv7nw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz";
+        sha512 = "poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==";
       };
     };
-    "@babel/plugin-transform-reserved-words-7.17.12" = {
+    "@babel/plugin-transform-reserved-words-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-reserved-words";
       packageName = "@babel/plugin-transform-reserved-words";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.17.12.tgz";
-        sha512 = "1KYqwbJV3Co03NIi14uEHW8P50Md6KqFgt0FfpHdK6oyAHQVTosgPuPSiWud1HX0oYJ1hGRRlk0fP87jFpqXZA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz";
+        sha512 = "oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==";
       };
     };
-    "@babel/plugin-transform-shorthand-properties-7.16.7" = {
+    "@babel/plugin-transform-shorthand-properties-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-shorthand-properties";
       packageName = "@babel/plugin-transform-shorthand-properties";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz";
-        sha512 = "hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz";
+        sha512 = "eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==";
       };
     };
-    "@babel/plugin-transform-spread-7.17.12" = {
+    "@babel/plugin-transform-spread-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-spread";
       packageName = "@babel/plugin-transform-spread";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.17.12.tgz";
-        sha512 = "9pgmuQAtFi3lpNUstvG9nGfk9DkrdmWNp9KeKPFmuZCpEnxRzYlS8JgwPjYj+1AWDOSvoGN0H30p1cBOmT/Svg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz";
+        sha512 = "39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==";
       };
     };
-    "@babel/plugin-transform-sticky-regex-7.16.7" = {
+    "@babel/plugin-transform-sticky-regex-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-sticky-regex";
       packageName = "@babel/plugin-transform-sticky-regex";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz";
-        sha512 = "NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz";
+        sha512 = "kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==";
       };
     };
-    "@babel/plugin-transform-template-literals-7.18.2" = {
+    "@babel/plugin-transform-template-literals-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-template-literals";
       packageName = "@babel/plugin-transform-template-literals";
-      version = "7.18.2";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.2.tgz";
-        sha512 = "/cmuBVw9sZBGZVOMkpAEaVLwm4JmK2GZ1dFKOGGpMzEHWFmyZZ59lUU0PdRr8YNYeQdNzTDwuxP2X2gzydTc9g==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz";
+        sha512 = "S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==";
       };
     };
-    "@babel/plugin-transform-typeof-symbol-7.17.12" = {
+    "@babel/plugin-transform-typeof-symbol-7.18.9" = {
       name = "_at_babel_slash_plugin-transform-typeof-symbol";
       packageName = "@babel/plugin-transform-typeof-symbol";
-      version = "7.17.12";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.17.12.tgz";
-        sha512 = "Q8y+Jp7ZdtSPXCThB6zjQ74N3lj0f6TDh1Hnf5B+sYlzQ8i5Pjp8gW0My79iekSpT4WnI06blqP6DT0OmaXXmw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz";
+        sha512 = "SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==";
       };
     };
-    "@babel/plugin-transform-typescript-7.18.1" = {
+    "@babel/plugin-transform-typescript-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-typescript";
       packageName = "@babel/plugin-transform-typescript";
-      version = "7.18.1";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.18.1.tgz";
-        sha512 = "F+RJmL479HJmC0KeqqwEGZMg1P7kWArLGbAKfEi9yPthJyMNjF+DjxFF/halfQvq1Q9GFM4TUbYDNV8xe4Ctqg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.18.6.tgz";
+        sha512 = "ijHNhzIrLj5lQCnI6aaNVRtGVuUZhOXFLRVFs7lLrkXTHip4FKty5oAuQdk4tywG0/WjXmjTfQCWmuzrvFer1w==";
       };
     };
-    "@babel/plugin-transform-unicode-escapes-7.16.7" = {
+    "@babel/plugin-transform-unicode-escapes-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-unicode-escapes";
       packageName = "@babel/plugin-transform-unicode-escapes";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz";
-        sha512 = "TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.6.tgz";
+        sha512 = "XNRwQUXYMP7VLuy54cr/KS/WeL3AZeORhrmeZ7iewgu+X2eBqmpaLI/hzqr9ZxCeUoq0ASK4GUzSM0BDhZkLFw==";
       };
     };
-    "@babel/plugin-transform-unicode-regex-7.16.7" = {
+    "@babel/plugin-transform-unicode-regex-7.18.6" = {
       name = "_at_babel_slash_plugin-transform-unicode-regex";
       packageName = "@babel/plugin-transform-unicode-regex";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz";
-        sha512 = "oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz";
+        sha512 = "gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==";
       };
     };
-    "@babel/preset-env-7.18.2" = {
+    "@babel/preset-env-7.18.9" = {
       name = "_at_babel_slash_preset-env";
       packageName = "@babel/preset-env";
-      version = "7.18.2";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.2.tgz";
-        sha512 = "PfpdxotV6afmXMU47S08F9ZKIm2bJIQ0YbAAtDfIENX7G1NUAXigLREh69CWDjtgUy7dYn7bsMzkgdtAlmS68Q==";
+        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.9.tgz";
+        sha512 = "75pt/q95cMIHWssYtyfjVlvI+QEZQThQbKvR9xH+F/Agtw/s4Wfc2V9Bwd/P39VtixB7oWxGdH4GteTTwYJWMg==";
       };
     };
     "@babel/preset-modules-0.1.5" = {
@@ -931,13 +931,13 @@ let
         sha512 = "A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==";
       };
     };
-    "@babel/preset-typescript-7.17.12" = {
+    "@babel/preset-typescript-7.18.6" = {
       name = "_at_babel_slash_preset-typescript";
       packageName = "@babel/preset-typescript";
-      version = "7.17.12";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.17.12.tgz";
-        sha512 = "S1ViF8W2QwAKUGJXxP9NAfNaqGDdEBJKpYkxHf5Yy2C4NPPzXGeR3Lhk7G8xJaaLcFTRfNjVbtbVtm8Gb0mqvg==";
+        url = "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz";
+        sha512 = "s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==";
       };
     };
     "@babel/runtime-7.18.3" = {
@@ -949,31 +949,31 @@ let
         sha512 = "38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug==";
       };
     };
-    "@babel/template-7.16.7" = {
+    "@babel/template-7.18.6" = {
       name = "_at_babel_slash_template";
       packageName = "@babel/template";
-      version = "7.16.7";
+      version = "7.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz";
-        sha512 = "I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==";
+        url = "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz";
+        sha512 = "JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==";
       };
     };
-    "@babel/traverse-7.18.5" = {
+    "@babel/traverse-7.18.9" = {
       name = "_at_babel_slash_traverse";
       packageName = "@babel/traverse";
-      version = "7.18.5";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.5.tgz";
-        sha512 = "aKXj1KT66sBj0vVzk6rEeAO6Z9aiiQ68wfDgge3nHhA/my6xMM/7HGQUNumKZaoa2qUPQ5whJG9aAifsxUKfLA==";
+        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.9.tgz";
+        sha512 = "LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg==";
       };
     };
-    "@babel/types-7.18.4" = {
+    "@babel/types-7.18.9" = {
       name = "_at_babel_slash_types";
       packageName = "@babel/types";
-      version = "7.18.4";
+      version = "7.18.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/types/-/types-7.18.4.tgz";
-        sha512 = "ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==";
+        url = "https://registry.npmjs.org/@babel/types/-/types-7.18.9.tgz";
+        sha512 = "WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg==";
       };
     };
     "@bcoe/v8-coverage-0.2.3" = {
@@ -1048,130 +1048,130 @@ let
         sha512 = "ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==";
       };
     };
-    "@jest/console-28.1.1" = {
+    "@jest/console-28.1.3" = {
       name = "_at_jest_slash_console";
       packageName = "@jest/console";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/console/-/console-28.1.1.tgz";
-        sha512 = "0RiUocPVFEm3WRMOStIHbRWllG6iW6E3/gUPnf4lkrVFyXIIDeCe+vlKeYyFOMhB2EPE6FLFCNADSOOQMaqvyA==";
+        url = "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz";
+        sha512 = "QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==";
       };
     };
-    "@jest/core-28.1.1" = {
+    "@jest/core-28.1.3" = {
       name = "_at_jest_slash_core";
       packageName = "@jest/core";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/core/-/core-28.1.1.tgz";
-        sha512 = "3pYsBoZZ42tXMdlcFeCc/0j9kOlK7MYuXs2B1QbvDgMoW1K9NJ4G/VYvIbMb26iqlkTfPHo7SC2JgjDOk/mxXw==";
+        url = "https://registry.npmjs.org/@jest/core/-/core-28.1.3.tgz";
+        sha512 = "CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==";
       };
     };
-    "@jest/environment-28.1.1" = {
+    "@jest/environment-28.1.3" = {
       name = "_at_jest_slash_environment";
       packageName = "@jest/environment";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/environment/-/environment-28.1.1.tgz";
-        sha512 = "9auVQ2GzQ7nrU+lAr8KyY838YahElTX9HVjbQPPS2XjlxQ+na18G113OoBhyBGBtD6ZnO/SrUy5WR8EzOj1/Uw==";
+        url = "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz";
+        sha512 = "1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==";
       };
     };
-    "@jest/expect-28.1.1" = {
+    "@jest/expect-28.1.3" = {
       name = "_at_jest_slash_expect";
       packageName = "@jest/expect";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/expect/-/expect-28.1.1.tgz";
-        sha512 = "/+tQprrFoT6lfkMj4mW/mUIfAmmk/+iQPmg7mLDIFOf2lyf7EBHaS+x3RbeR0VZVMe55IvX7QRoT/2aK3AuUXg==";
+        url = "https://registry.npmjs.org/@jest/expect/-/expect-28.1.3.tgz";
+        sha512 = "lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw==";
       };
     };
-    "@jest/expect-utils-28.1.1" = {
+    "@jest/expect-utils-28.1.3" = {
       name = "_at_jest_slash_expect-utils";
       packageName = "@jest/expect-utils";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.1.tgz";
-        sha512 = "n/ghlvdhCdMI/hTcnn4qV57kQuV9OTsZzH1TTCVARANKhl6hXJqLKUkwX69ftMGpsbpt96SsDD8n8LD2d9+FRw==";
+        url = "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.3.tgz";
+        sha512 = "wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA==";
       };
     };
-    "@jest/fake-timers-28.1.1" = {
+    "@jest/fake-timers-28.1.3" = {
       name = "_at_jest_slash_fake-timers";
       packageName = "@jest/fake-timers";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.1.tgz";
-        sha512 = "BY/3+TyLs5+q87rGWrGUY5f8e8uC3LsVHS9Diz8+FV3ARXL4sNnkLlIB8dvDvRrp+LUCGM+DLqlsYubizGUjIA==";
+        url = "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.3.tgz";
+        sha512 = "D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==";
       };
     };
-    "@jest/globals-28.1.1" = {
+    "@jest/globals-28.1.3" = {
       name = "_at_jest_slash_globals";
       packageName = "@jest/globals";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/globals/-/globals-28.1.1.tgz";
-        sha512 = "dEgl/6v7ToB4vXItdvcltJBgny0xBE6xy6IYQrPJAJggdEinGxCDMivNv7sFzPcTITGquXD6UJwYxfJ/5ZwDSg==";
+        url = "https://registry.npmjs.org/@jest/globals/-/globals-28.1.3.tgz";
+        sha512 = "XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA==";
       };
     };
-    "@jest/reporters-28.1.1" = {
+    "@jest/reporters-28.1.3" = {
       name = "_at_jest_slash_reporters";
       packageName = "@jest/reporters";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.1.tgz";
-        sha512 = "597Zj4D4d88sZrzM4atEGLuO7SdA/YrOv9SRXHXRNC+/FwPCWxZhBAEzhXoiJzfRwn8zes/EjS8Lo6DouGN5Gg==";
+        url = "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.3.tgz";
+        sha512 = "JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg==";
       };
     };
-    "@jest/schemas-28.0.2" = {
+    "@jest/schemas-28.1.3" = {
       name = "_at_jest_slash_schemas";
       packageName = "@jest/schemas";
-      version = "28.0.2";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/schemas/-/schemas-28.0.2.tgz";
-        sha512 = "YVDJZjd4izeTDkij00vHHAymNXQ6WWsdChFRK86qck6Jpr3DCL5W3Is3vslviRlP+bLuMYRLbdp98amMvqudhA==";
+        url = "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz";
+        sha512 = "/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==";
       };
     };
-    "@jest/source-map-28.0.2" = {
+    "@jest/source-map-28.1.2" = {
       name = "_at_jest_slash_source-map";
       packageName = "@jest/source-map";
-      version = "28.0.2";
+      version = "28.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/source-map/-/source-map-28.0.2.tgz";
-        sha512 = "Y9dxC8ZpN3kImkk0LkK5XCEneYMAXlZ8m5bflmSL5vrwyeUpJfentacCUg6fOb8NOpOO7hz2+l37MV77T6BFPw==";
+        url = "https://registry.npmjs.org/@jest/source-map/-/source-map-28.1.2.tgz";
+        sha512 = "cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==";
       };
     };
-    "@jest/test-result-28.1.1" = {
+    "@jest/test-result-28.1.3" = {
       name = "_at_jest_slash_test-result";
       packageName = "@jest/test-result";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.1.tgz";
-        sha512 = "hPmkugBktqL6rRzwWAtp1JtYT4VHwv8OQ+9lE5Gymj6dHzubI/oJHMUpPOt8NrdVWSrz9S7bHjJUmv2ggFoUNQ==";
+        url = "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz";
+        sha512 = "kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==";
       };
     };
-    "@jest/test-sequencer-28.1.1" = {
+    "@jest/test-sequencer-28.1.3" = {
       name = "_at_jest_slash_test-sequencer";
       packageName = "@jest/test-sequencer";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.1.tgz";
-        sha512 = "nuL+dNSVMcWB7OOtgb0EGH5AjO4UBCt68SLP08rwmC+iRhyuJWS9MtZ/MpipxFwKAlHFftbMsydXqWre8B0+XA==";
+        url = "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.3.tgz";
+        sha512 = "NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw==";
       };
     };
-    "@jest/transform-28.1.1" = {
+    "@jest/transform-28.1.3" = {
       name = "_at_jest_slash_transform";
       packageName = "@jest/transform";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/transform/-/transform-28.1.1.tgz";
-        sha512 = "PkfaTUuvjUarl1EDr5ZQcCA++oXkFCP9QFUkG0yVKVmNObjhrqDy0kbMpMebfHWm3CCDHjYNem9eUSH8suVNHQ==";
+        url = "https://registry.npmjs.org/@jest/transform/-/transform-28.1.3.tgz";
+        sha512 = "u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==";
       };
     };
-    "@jest/types-28.1.1" = {
+    "@jest/types-28.1.3" = {
       name = "_at_jest_slash_types";
       packageName = "@jest/types";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/types/-/types-28.1.1.tgz";
-        sha512 = "vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw==";
+        url = "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz";
+        sha512 = "RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==";
       };
     };
     "@jridgewell/gen-mapping-0.1.1" = {
@@ -1183,13 +1183,13 @@ let
         sha512 = "sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==";
       };
     };
-    "@jridgewell/gen-mapping-0.3.1" = {
+    "@jridgewell/gen-mapping-0.3.2" = {
       name = "_at_jridgewell_slash_gen-mapping";
       packageName = "@jridgewell/gen-mapping";
-      version = "0.3.1";
+      version = "0.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz";
-        sha512 = "GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==";
+        url = "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz";
+        sha512 = "mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==";
       };
     };
     "@jridgewell/resolve-uri-3.0.7" = {
@@ -1409,13 +1409,13 @@ let
         sha512 = "bLye8Ub4vUFQGmkh8qEqehr7SE7EJs2yDs0h9jzuL5oKi+F34CFmWkEErO8GAOQ8YNn7p6b3GxUgs+0BrHHDZQ==";
       };
     };
-    "@sinclair/typebox-0.23.5" = {
+    "@sinclair/typebox-0.24.20" = {
       name = "_at_sinclair_slash_typebox";
       packageName = "@sinclair/typebox";
-      version = "0.23.5";
+      version = "0.24.20";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.23.5.tgz";
-        sha512 = "AFBVi/iT4g20DHoujvMH1aEDn8fGJh4xsRGCP6d8RpLPMqsNPvW01Jcn0QysXTsg++/xj25NmJsGyH9xug/wKg==";
+        url = "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.20.tgz";
+        sha512 = "kVaO5aEFZb33nPMTZBxiPEkY+slxiPtqC7QX8f9B3eGOMBvEfuMfxp9DSTTCsRJPumPKjrge4yagyssO4q6qzQ==";
       };
     };
     "@sinonjs/commons-1.8.3" = {
@@ -1544,13 +1544,13 @@ let
         sha512 = "c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==";
       };
     };
-    "@types/jest-28.1.3" = {
+    "@types/jest-28.1.6" = {
       name = "_at_types_slash_jest";
       packageName = "@types/jest";
-      version = "28.1.3";
+      version = "28.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/jest/-/jest-28.1.3.tgz";
-        sha512 = "Tsbjk8Y2hkBaY/gJsataeb4q9Mubw9EOz7+4RjPkzD5KjTvHHs7cpws22InaoXxAVAhF5HfFbzJjo6oKWqSZLw==";
+        url = "https://registry.npmjs.org/@types/jest/-/jest-28.1.6.tgz";
+        sha512 = "0RbGAFMfcBJKOmqRazM8L98uokwuwD5F8rHrv/ZMbrZBwVOWZUyPG6VFNscjYr/vjM3Vu4fRrCPbOs42AfemaQ==";
       };
     };
     "@types/js-yaml-4.0.5" = {
@@ -1697,76 +1697,76 @@ let
         sha512 = "iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==";
       };
     };
-    "@typescript-eslint/eslint-plugin-5.29.0" = {
+    "@typescript-eslint/eslint-plugin-5.31.0" = {
       name = "_at_typescript-eslint_slash_eslint-plugin";
       packageName = "@typescript-eslint/eslint-plugin";
-      version = "5.29.0";
+      version = "5.31.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.29.0.tgz";
-        sha512 = "kgTsISt9pM53yRFQmLZ4npj99yGl3x3Pl7z4eA66OuTzAGC4bQB5H5fuLwPnqTKU3yyrrg4MIhjF17UYnL4c0w==";
+        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.31.0.tgz";
+        sha512 = "VKW4JPHzG5yhYQrQ1AzXgVgX8ZAJEvCz0QI6mLRX4tf7rnFfh5D8SKm0Pq6w5PyNfAWJk6sv313+nEt3ohWMBQ==";
       };
     };
-    "@typescript-eslint/parser-5.29.0" = {
+    "@typescript-eslint/parser-5.31.0" = {
       name = "_at_typescript-eslint_slash_parser";
       packageName = "@typescript-eslint/parser";
-      version = "5.29.0";
+      version = "5.31.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.29.0.tgz";
-        sha512 = "ruKWTv+x0OOxbzIw9nW5oWlUopvP/IQDjB5ZqmTglLIoDTctLlAJpAQFpNPJP/ZI7hTT9sARBosEfaKbcFuECw==";
+        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.31.0.tgz";
+        sha512 = "UStjQiZ9OFTFReTrN+iGrC6O/ko9LVDhreEK5S3edmXgR396JGq7CoX2TWIptqt/ESzU2iRKXAHfSF2WJFcWHw==";
       };
     };
-    "@typescript-eslint/scope-manager-5.29.0" = {
+    "@typescript-eslint/scope-manager-5.31.0" = {
       name = "_at_typescript-eslint_slash_scope-manager";
       packageName = "@typescript-eslint/scope-manager";
-      version = "5.29.0";
+      version = "5.31.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.29.0.tgz";
-        sha512 = "etbXUT0FygFi2ihcxDZjz21LtC+Eps9V2xVx09zFoN44RRHPrkMflidGMI+2dUs821zR1tDS6Oc9IXxIjOUZwA==";
+        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.31.0.tgz";
+        sha512 = "8jfEzBYDBG88rcXFxajdVavGxb5/XKXyvWgvD8Qix3EEJLCFIdVloJw+r9ww0wbyNLOTYyBsR+4ALNGdlalLLg==";
       };
     };
-    "@typescript-eslint/type-utils-5.29.0" = {
+    "@typescript-eslint/type-utils-5.31.0" = {
       name = "_at_typescript-eslint_slash_type-utils";
       packageName = "@typescript-eslint/type-utils";
-      version = "5.29.0";
+      version = "5.31.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.29.0.tgz";
-        sha512 = "JK6bAaaiJozbox3K220VRfCzLa9n0ib/J+FHIwnaV3Enw/TO267qe0pM1b1QrrEuy6xun374XEAsRlA86JJnyg==";
+        url = "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.31.0.tgz";
+        sha512 = "7ZYqFbvEvYXFn9ax02GsPcEOmuWNg+14HIf4q+oUuLnMbpJ6eHAivCg7tZMVwzrIuzX3QCeAOqKoyMZCv5xe+w==";
       };
     };
-    "@typescript-eslint/types-5.29.0" = {
+    "@typescript-eslint/types-5.31.0" = {
       name = "_at_typescript-eslint_slash_types";
       packageName = "@typescript-eslint/types";
-      version = "5.29.0";
+      version = "5.31.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.29.0.tgz";
-        sha512 = "X99VbqvAXOMdVyfFmksMy3u8p8yoRGITgU1joBJPzeYa0rhdf5ok9S56/itRoUSh99fiDoMtarSIJXo7H/SnOg==";
+        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.31.0.tgz";
+        sha512 = "/f/rMaEseux+I4wmR6mfpM2wvtNZb1p9hAV77hWfuKc3pmaANp5dLAZSiE3/8oXTYTt3uV9KW5yZKJsMievp6g==";
       };
     };
-    "@typescript-eslint/typescript-estree-5.29.0" = {
+    "@typescript-eslint/typescript-estree-5.31.0" = {
       name = "_at_typescript-eslint_slash_typescript-estree";
       packageName = "@typescript-eslint/typescript-estree";
-      version = "5.29.0";
+      version = "5.31.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.29.0.tgz";
-        sha512 = "mQvSUJ/JjGBdvo+1LwC+GY2XmSYjK1nAaVw2emp/E61wEVYEyibRHCqm1I1vEKbXCpUKuW4G7u9ZCaZhJbLoNQ==";
+        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.31.0.tgz";
+        sha512 = "3S625TMcARX71wBc2qubHaoUwMEn+l9TCsaIzYI/ET31Xm2c9YQ+zhGgpydjorwQO9pLfR/6peTzS/0G3J/hDw==";
       };
     };
-    "@typescript-eslint/utils-5.29.0" = {
+    "@typescript-eslint/utils-5.31.0" = {
       name = "_at_typescript-eslint_slash_utils";
       packageName = "@typescript-eslint/utils";
-      version = "5.29.0";
+      version = "5.31.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.29.0.tgz";
-        sha512 = "3Eos6uP1nyLOBayc/VUdKZikV90HahXE5Dx9L5YlSd/7ylQPXhLk1BYb29SDgnBnTp+jmSZUU0QxUiyHgW4p7A==";
+        url = "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.31.0.tgz";
+        sha512 = "kcVPdQS6VIpVTQ7QnGNKMFtdJdvnStkqS5LeALr4rcwx11G6OWb2HB17NMPnlRHvaZP38hL9iK8DdE9Fne7NYg==";
       };
     };
-    "@typescript-eslint/visitor-keys-5.29.0" = {
+    "@typescript-eslint/visitor-keys-5.31.0" = {
       name = "_at_typescript-eslint_slash_visitor-keys";
       packageName = "@typescript-eslint/visitor-keys";
-      version = "5.29.0";
+      version = "5.31.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.29.0.tgz";
-        sha512 = "Hpb/mCWsjILvikMQoZIE3voc9wtQcS0A9FUw3h8bhr9UxBdtI/tw1ZDZUOXHXLOVMedKCH5NxyzATwnU78bWCQ==";
+        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.31.0.tgz";
+        sha512 = "ZK0jVxSjS4gnPirpVjXHz7mgdOsZUHzNYSfTw2yPa3agfbt9YfqaBiBZFSSxeBWnpWkzCxTfUpnzA3Vily/CSg==";
       };
     };
     "acorn-8.7.1" = {
@@ -1958,13 +1958,13 @@ let
         sha512 = "t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==";
       };
     };
-    "babel-jest-28.1.1" = {
+    "babel-jest-28.1.3" = {
       name = "babel-jest";
       packageName = "babel-jest";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.1.tgz";
-        sha512 = "MEt0263viUdAkTq5D7upHPNxvt4n9uLUGa6pPz3WviNBMtOmStb1lIXS3QobnoqM+qnH+vr4EKlvhe8QcmxIYw==";
+        url = "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.3.tgz";
+        sha512 = "epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q==";
       };
     };
     "babel-plugin-dynamic-import-node-2.3.3" = {
@@ -1985,13 +1985,13 @@ let
         sha512 = "Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==";
       };
     };
-    "babel-plugin-jest-hoist-28.1.1" = {
+    "babel-plugin-jest-hoist-28.1.3" = {
       name = "babel-plugin-jest-hoist";
       packageName = "babel-plugin-jest-hoist";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.1.tgz";
-        sha512 = "NovGCy5Hn25uMJSAU8FaHqzs13cFoOI4lhIujiepssjCKRsAo3TA734RDWSGxuFTsUJXerYOqQQodlxgmtqbzw==";
+        url = "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.3.tgz";
+        sha512 = "Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q==";
       };
     };
     "babel-plugin-polyfill-corejs2-0.3.1" = {
@@ -2030,13 +2030,13 @@ let
         sha512 = "M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==";
       };
     };
-    "babel-preset-jest-28.1.1" = {
+    "babel-preset-jest-28.1.3" = {
       name = "babel-preset-jest";
       packageName = "babel-preset-jest";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.1.1.tgz";
-        sha512 = "FCq9Oud0ReTeWtcneYf/48981aTfXYuB9gbU4rBNNJVBSQ6ssv7E6v/qvbBxtOWwZFXjLZwpg+W3q7J6vhH25g==";
+        url = "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.1.3.tgz";
+        sha512 = "L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A==";
       };
     };
     "balanced-match-1.0.2" = {
@@ -2219,15 +2219,6 @@ let
         sha512 = "kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==";
       };
     };
-    "charcodes-0.2.0" = {
-      name = "charcodes";
-      packageName = "charcodes";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/charcodes/-/charcodes-0.2.0.tgz";
-        sha512 = "Y4kiDb+AM4Ecy58YkuZrrSRJBDQdQ2L+NyS1vHHFtNtUjgutcZfx3yp1dAONI/oPaPmyGfCLx5CxL+zauIMyKQ==";
-      };
-    };
     "chownr-1.1.4" = {
       name = "chownr";
       packageName = "chownr";
@@ -2237,13 +2228,13 @@ let
         sha512 = "jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==";
       };
     };
-    "ci-info-3.3.1" = {
+    "ci-info-3.3.2" = {
       name = "ci-info";
       packageName = "ci-info";
-      version = "3.3.1";
+      version = "3.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ci-info/-/ci-info-3.3.1.tgz";
-        sha512 = "SXgeMX9VwDe7iFFaEWkA5AstuER9YKqy4EhHqr4DVqkwmD9rpVimkMKWHdjn30Ja45txyjhSn63lVX69eVCckg==";
+        url = "https://registry.npmjs.org/ci-info/-/ci-info-3.3.2.tgz";
+        sha512 = "xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==";
       };
     };
     "cjs-module-lexer-1.2.2" = {
@@ -2444,13 +2435,13 @@ let
         sha512 = "+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==";
       };
     };
-    "core-js-3.23.3" = {
+    "core-js-3.24.1" = {
       name = "core-js";
       packageName = "core-js";
-      version = "3.23.3";
+      version = "3.24.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.23.3.tgz";
-        sha512 = "oAKwkj9xcWNBAvGbT//WiCdOMpb9XQG92/Fe3ABFM/R16BsHgePG00mFOgKf7IsCtfj8tA1kHtf/VwErhriz5Q==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.24.1.tgz";
+        sha512 = "0QTBSYSUZ6Gq21utGzkfITDylE8jWC9Ne1D2MrhvlsZBI1x39OdDIVbzSqtgMndIy6BlHxBXpMGqzZmnztg2rg==";
       };
     };
     "core-js-compat-3.22.7" = {
@@ -2813,13 +2804,13 @@ let
         sha512 = "TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==";
       };
     };
-    "eslint-8.18.0" = {
+    "eslint-8.20.0" = {
       name = "eslint";
       packageName = "eslint";
-      version = "8.18.0";
+      version = "8.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-8.18.0.tgz";
-        sha512 = "As1EfFMVk7Xc6/CvhssHUjsAQSkpfXvUGMFC3ce8JDe6WvqCgRrLOBQbVpsBFr1X1V+RACOadnzVvcUS5ni2bA==";
+        url = "https://registry.npmjs.org/eslint/-/eslint-8.20.0.tgz";
+        sha512 = "d4ixhz5SKCa1D6SCPrivP7yYVi7nyD6A4vs6HIAul9ujBzcEmZVM3/0NN/yu5nKhmO1wjp5xQ46iRfmDGlOviA==";
       };
     };
     "eslint-config-google-0.14.0" = {
@@ -2831,13 +2822,13 @@ let
         sha512 = "WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw==";
       };
     };
-    "eslint-plugin-jest-26.5.3" = {
+    "eslint-plugin-jest-26.7.0" = {
       name = "eslint-plugin-jest";
       packageName = "eslint-plugin-jest";
-      version = "26.5.3";
+      version = "26.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.5.3.tgz";
-        sha512 = "sICclUqJQnR1bFRZGLN2jnSVsYOsmPYYnroGCIMVSvTS3y8XR3yjzy1EcTQmk6typ5pRgyIWzbjqxK6cZHEZuQ==";
+        url = "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.7.0.tgz";
+        sha512 = "/YNitdfG3o3cC6juZziAdkk6nfJt01jXVfj4AgaYVLs7bupHzRDL5K+eipdzhDXtQsiqaX1TzfwSuRlEgeln1A==";
       };
     };
     "eslint-scope-5.1.1" = {
@@ -2984,13 +2975,13 @@ let
         sha512 = "XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==";
       };
     };
-    "expect-28.1.1" = {
+    "expect-28.1.3" = {
       name = "expect";
       packageName = "expect";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/expect/-/expect-28.1.1.tgz";
-        sha512 = "/AANEwGL0tWBwzLNOvO0yUdy2D52jVdNXppOqswC49sxMN2cPWsGCQdzuIf9tj6hHoBQzNvx75JUYuQAckPo3w==";
+        url = "https://registry.npmjs.org/expect/-/expect-28.1.3.tgz";
+        sha512 = "eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==";
       };
     };
     "fast-deep-equal-3.1.3" = {
@@ -3236,13 +3227,13 @@ let
         sha512 = "DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==";
       };
     };
-    "get-intrinsic-1.1.1" = {
+    "get-intrinsic-1.1.2" = {
       name = "get-intrinsic";
       packageName = "get-intrinsic";
-      version = "1.1.1";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz";
-        sha512 = "kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==";
+        url = "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz";
+        sha512 = "Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==";
       };
     };
     "get-package-type-0.1.0" = {
@@ -3368,7 +3359,7 @@ let
       version = "3.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz";
-        sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
+        sha512 = "sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==";
       };
     };
     "has-flag-4.0.0" = {
@@ -3695,67 +3686,67 @@ let
         sha512 = "n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==";
       };
     };
-    "istanbul-reports-3.1.4" = {
+    "istanbul-reports-3.1.5" = {
       name = "istanbul-reports";
       packageName = "istanbul-reports";
-      version = "3.1.4";
+      version = "3.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz";
-        sha512 = "r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==";
+        url = "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz";
+        sha512 = "nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==";
       };
     };
-    "jest-28.1.1" = {
+    "jest-28.1.3" = {
       name = "jest";
       packageName = "jest";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest/-/jest-28.1.1.tgz";
-        sha512 = "qw9YHBnjt6TCbIDMPMpJZqf9E12rh6869iZaN08/vpOGgHJSAaLLUn6H8W3IAEuy34Ls3rct064mZLETkxJ2XA==";
+        url = "https://registry.npmjs.org/jest/-/jest-28.1.3.tgz";
+        sha512 = "N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA==";
       };
     };
-    "jest-changed-files-28.0.2" = {
+    "jest-changed-files-28.1.3" = {
       name = "jest-changed-files";
       packageName = "jest-changed-files";
-      version = "28.0.2";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.0.2.tgz";
-        sha512 = "QX9u+5I2s54ZnGoMEjiM2WeBvJR2J7w/8ZUmH2um/WLAuGAYFQcsVXY9+1YL6k0H/AGUdH8pXUAv6erDqEsvIA==";
+        url = "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.1.3.tgz";
+        sha512 = "esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA==";
       };
     };
-    "jest-circus-28.1.1" = {
+    "jest-circus-28.1.3" = {
       name = "jest-circus";
       packageName = "jest-circus";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.1.tgz";
-        sha512 = "75+BBVTsL4+p2w198DQpCeyh1RdaS2lhEG87HkaFX/UG0gJExVq2skG2pT7XZEGBubNj2CytcWSPan4QEPNosw==";
+        url = "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.3.tgz";
+        sha512 = "cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow==";
       };
     };
-    "jest-cli-28.1.1" = {
+    "jest-cli-28.1.3" = {
       name = "jest-cli";
       packageName = "jest-cli";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.1.tgz";
-        sha512 = "+sUfVbJqb1OjBZ0OdBbI6OWfYM1i7bSfzYy6gze1F1w3OKWq8ZTEKkZ8a7ZQPq6G/G1qMh/uKqpdWhgl11NFQQ==";
+        url = "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.3.tgz";
+        sha512 = "roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ==";
       };
     };
-    "jest-config-28.1.1" = {
+    "jest-config-28.1.3" = {
       name = "jest-config";
       packageName = "jest-config";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-config/-/jest-config-28.1.1.tgz";
-        sha512 = "tASynMhS+jVV85zKvjfbJ8nUyJS/jUSYZ5KQxLUN2ZCvcQc/OmhQl2j6VEL3ezQkNofxn5pQ3SPYWPHb0unTZA==";
+        url = "https://registry.npmjs.org/jest-config/-/jest-config-28.1.3.tgz";
+        sha512 = "MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==";
       };
     };
-    "jest-diff-28.1.1" = {
+    "jest-diff-28.1.3" = {
       name = "jest-diff";
       packageName = "jest-diff";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.1.tgz";
-        sha512 = "/MUUxeR2fHbqHoMMiffe/Afm+U8U4olFRJ0hiVG2lZatPJcnGxx292ustVu7bULhjV65IYMxRdploAKLbcrsyg==";
+        url = "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz";
+        sha512 = "8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==";
       };
     };
     "jest-docblock-28.1.1" = {
@@ -3767,22 +3758,22 @@ let
         sha512 = "3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==";
       };
     };
-    "jest-each-28.1.1" = {
+    "jest-each-28.1.3" = {
       name = "jest-each";
       packageName = "jest-each";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-each/-/jest-each-28.1.1.tgz";
-        sha512 = "A042rqh17ZvEhRceDMi784ppoXR7MWGDEKTXEZXb4svt0eShMZvijGxzKsx+yIjeE8QYmHPrnHiTSQVhN4nqaw==";
+        url = "https://registry.npmjs.org/jest-each/-/jest-each-28.1.3.tgz";
+        sha512 = "arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g==";
       };
     };
-    "jest-environment-node-28.1.1" = {
+    "jest-environment-node-28.1.3" = {
       name = "jest-environment-node";
       packageName = "jest-environment-node";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.1.tgz";
-        sha512 = "2aV/eeY/WNgUUJrrkDJ3cFEigjC5fqT1+fCclrY6paqJ5zVPoM//sHmfgUUp7WLYxIdbPwMiVIzejpN56MxnNA==";
+        url = "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.3.tgz";
+        sha512 = "ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A==";
       };
     };
     "jest-get-type-28.0.2" = {
@@ -3794,49 +3785,49 @@ let
         sha512 = "ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==";
       };
     };
-    "jest-haste-map-28.1.1" = {
+    "jest-haste-map-28.1.3" = {
       name = "jest-haste-map";
       packageName = "jest-haste-map";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.1.tgz";
-        sha512 = "ZrRSE2o3Ezh7sb1KmeLEZRZ4mgufbrMwolcFHNRSjKZhpLa8TdooXOOFlSwoUzlbVs1t0l7upVRW2K7RWGHzbQ==";
+        url = "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.3.tgz";
+        sha512 = "3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA==";
       };
     };
-    "jest-leak-detector-28.1.1" = {
+    "jest-leak-detector-28.1.3" = {
       name = "jest-leak-detector";
       packageName = "jest-leak-detector";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.1.tgz";
-        sha512 = "4jvs8V8kLbAaotE+wFR7vfUGf603cwYtFf1/PYEsyX2BAjSzj8hQSVTP6OWzseTl0xL6dyHuKs2JAks7Pfubmw==";
+        url = "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.3.tgz";
+        sha512 = "WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA==";
       };
     };
-    "jest-matcher-utils-28.1.1" = {
+    "jest-matcher-utils-28.1.3" = {
       name = "jest-matcher-utils";
       packageName = "jest-matcher-utils";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.1.tgz";
-        sha512 = "NPJPRWrbmR2nAJ+1nmnfcKKzSwgfaciCCrYZzVnNoxVoyusYWIjkBMNvu0RHJe7dNj4hH3uZOPZsQA+xAYWqsw==";
+        url = "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz";
+        sha512 = "kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==";
       };
     };
-    "jest-message-util-28.1.1" = {
+    "jest-message-util-28.1.3" = {
       name = "jest-message-util";
       packageName = "jest-message-util";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.1.tgz";
-        sha512 = "xoDOOT66fLfmTRiqkoLIU7v42mal/SqwDKvfmfiWAdJMSJiU+ozgluO7KbvoAgiwIrrGZsV7viETjc8GNrA/IQ==";
+        url = "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz";
+        sha512 = "PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==";
       };
     };
-    "jest-mock-28.1.1" = {
+    "jest-mock-28.1.3" = {
       name = "jest-mock";
       packageName = "jest-mock";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.1.tgz";
-        sha512 = "bDCb0FjfsmKweAvE09dZT59IMkzgN0fYBH6t5S45NoJfd2DHkS3ySG2K+hucortryhO3fVuXdlxWcbtIuV/Skw==";
+        url = "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.3.tgz";
+        sha512 = "o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==";
       };
     };
     "jest-pnp-resolver-1.2.2" = {
@@ -3857,85 +3848,85 @@ let
         sha512 = "4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==";
       };
     };
-    "jest-resolve-28.1.1" = {
+    "jest-resolve-28.1.3" = {
       name = "jest-resolve";
       packageName = "jest-resolve";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.1.tgz";
-        sha512 = "/d1UbyUkf9nvsgdBildLe6LAD4DalgkgZcKd0nZ8XUGPyA/7fsnaQIlKVnDiuUXv/IeZhPEDrRJubVSulxrShA==";
+        url = "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.3.tgz";
+        sha512 = "Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ==";
       };
     };
-    "jest-resolve-dependencies-28.1.1" = {
+    "jest-resolve-dependencies-28.1.3" = {
       name = "jest-resolve-dependencies";
       packageName = "jest-resolve-dependencies";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.1.tgz";
-        sha512 = "p8Y150xYJth4EXhOuB8FzmS9r8IGLEioiaetgdNGb9VHka4fl0zqWlVe4v7mSkYOuEUg2uB61iE+zySDgrOmgQ==";
+        url = "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.3.tgz";
+        sha512 = "qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA==";
       };
     };
-    "jest-runner-28.1.1" = {
+    "jest-runner-28.1.3" = {
       name = "jest-runner";
       packageName = "jest-runner";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.1.tgz";
-        sha512 = "W5oFUiDBgTsCloTAj6q95wEvYDB0pxIhY6bc5F26OucnwBN+K58xGTGbliSMI4ChQal5eANDF+xvELaYkJxTmA==";
+        url = "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.3.tgz";
+        sha512 = "GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA==";
       };
     };
-    "jest-runtime-28.1.1" = {
+    "jest-runtime-28.1.3" = {
       name = "jest-runtime";
       packageName = "jest-runtime";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.1.tgz";
-        sha512 = "J89qEJWW0leOsqyi0D9zHpFEYHwwafFdS9xgvhFHtIdRghbadodI0eA+DrthK/1PebBv3Px8mFSMGKrtaVnleg==";
+        url = "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.3.tgz";
+        sha512 = "NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw==";
       };
     };
-    "jest-snapshot-28.1.1" = {
+    "jest-snapshot-28.1.3" = {
       name = "jest-snapshot";
       packageName = "jest-snapshot";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.1.tgz";
-        sha512 = "1KjqHJ98adRcbIdMizjF5DipwZFbvxym/kFO4g4fVZCZRxH/dqV8TiBFCa6rqic3p0karsy8RWS1y4E07b7P0A==";
+        url = "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.3.tgz";
+        sha512 = "4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==";
       };
     };
-    "jest-util-28.1.1" = {
+    "jest-util-28.1.3" = {
       name = "jest-util";
       packageName = "jest-util";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-util/-/jest-util-28.1.1.tgz";
-        sha512 = "FktOu7ca1DZSyhPAxgxB6hfh2+9zMoJ7aEQA759Z6p45NuO8mWcqujH+UdHlCm/V6JTWwDztM2ITCzU1ijJAfw==";
+        url = "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz";
+        sha512 = "XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==";
       };
     };
-    "jest-validate-28.1.1" = {
+    "jest-validate-28.1.3" = {
       name = "jest-validate";
       packageName = "jest-validate";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.1.tgz";
-        sha512 = "Kpf6gcClqFCIZ4ti5++XemYJWUPCFUW+N2gknn+KgnDf549iLul3cBuKVe1YcWRlaF8tZV8eJCap0eECOEE3Ug==";
+        url = "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.3.tgz";
+        sha512 = "SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA==";
       };
     };
-    "jest-watcher-28.1.1" = {
+    "jest-watcher-28.1.3" = {
       name = "jest-watcher";
       packageName = "jest-watcher";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.1.tgz";
-        sha512 = "RQIpeZ8EIJMxbQrXpJQYIIlubBnB9imEHsxxE41f54ZwcqWLysL/A0ZcdMirf+XsMn3xfphVQVV4EW0/p7i7Ug==";
+        url = "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz";
+        sha512 = "t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==";
       };
     };
-    "jest-worker-28.1.1" = {
+    "jest-worker-28.1.3" = {
       name = "jest-worker";
       packageName = "jest-worker";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.1.tgz";
-        sha512 = "Au7slXB08C6h+xbJPp7VIb6U0XX5Kc9uel/WFc6/rcTzGiaVCBRngBExSYuXSLFPULPSYU3cJ3ybS988lNFQhQ==";
+        url = "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz";
+        sha512 = "CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==";
       };
     };
     "js-sdsl-2.1.4" = {
@@ -3980,7 +3971,7 @@ let
       version = "0.5.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz";
-        sha1 = "e7dee66e35d6fc16f710fe91d5cf69f70f08911d";
+        sha512 = "uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==";
       };
     };
     "jsesc-2.5.2" = {
@@ -4334,13 +4325,13 @@ let
         sha512 = "gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==";
       };
     };
-    "moment-2.29.3" = {
+    "moment-2.29.4" = {
       name = "moment";
       packageName = "moment";
-      version = "2.29.3";
+      version = "2.29.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz";
-        sha512 = "c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==";
+        url = "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz";
+        sha512 = "5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==";
       };
     };
     "mqtt-4.3.7" = {
@@ -4595,6 +4586,15 @@ let
         sha512 = "//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==";
       };
     };
+    "p-limit-3.1.0" = {
+      name = "p-limit";
+      packageName = "p-limit";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz";
+        sha512 = "TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==";
+      };
+    };
     "p-locate-4.1.0" = {
       name = "p-locate";
       packageName = "p-locate";
@@ -4748,13 +4748,13 @@ let
         sha512 = "vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==";
       };
     };
-    "pretty-format-28.1.1" = {
+    "pretty-format-28.1.3" = {
       name = "pretty-format";
       packageName = "pretty-format";
-      version = "28.1.1";
+      version = "28.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.1.tgz";
-        sha512 = "wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw==";
+        url = "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz";
+        sha512 = "8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==";
       };
     };
     "process-nextick-args-2.0.1" = {
@@ -4973,13 +4973,13 @@ let
         sha512 = "pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==";
       };
     };
-    "regexpu-core-5.0.1" = {
+    "regexpu-core-5.1.0" = {
       name = "regexpu-core";
       packageName = "regexpu-core";
-      version = "5.0.1";
+      version = "5.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz";
-        sha512 = "CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==";
+        url = "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz";
+        sha512 = "bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==";
       };
     };
     "regjsgen-0.6.0" = {
@@ -5603,15 +5603,6 @@ let
         sha1 = "1a1918d402d8fc3f98fbf234db0bcc8cc10e9726";
       };
     };
-    "throat-6.0.1" = {
-      name = "throat";
-      packageName = "throat";
-      version = "6.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz";
-        sha512 = "8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==";
-      };
-    };
     "tmp-0.2.1" = {
       name = "tmp";
       packageName = "tmp";
@@ -5846,13 +5837,13 @@ let
         sha512 = "l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==";
       };
     };
-    "v8-to-istanbul-9.0.0" = {
+    "v8-to-istanbul-9.0.1" = {
       name = "v8-to-istanbul";
       packageName = "v8-to-istanbul";
-      version = "9.0.0";
+      version = "9.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.0.tgz";
-        sha512 = "HcvgY/xaRm7isYmyx+lFKA4uQmfUbN0J4M0nNItvzTvH/iQ9kW5j/t4YSR+Ge323/lrgDAWJoF46tzGQHwBHFw==";
+        url = "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz";
+        sha512 = "74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==";
       };
     };
     "validate.io-array-1.0.6" = {
@@ -5936,22 +5927,22 @@ let
         sha512 = "eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==";
       };
     };
-    "winston-3.8.0" = {
+    "winston-3.8.1" = {
       name = "winston";
       packageName = "winston";
-      version = "3.8.0";
+      version = "3.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/winston/-/winston-3.8.0.tgz";
-        sha512 = "Iix1w8rIq2kBDkGvclO0db2CVOHYVamCIkVWcUbs567G9i2pdB+gvqLgDgxx4B4HXHYD6U4Zybh6ojepUOqcFQ==";
+        url = "https://registry.npmjs.org/winston/-/winston-3.8.1.tgz";
+        sha512 = "r+6YAiCR4uI3N8eQNOg8k3P3PqwAm20cLKlzVD9E66Ch39+LZC+VH1UKf9JemQj2B3QoUHfKD7Poewn0Pr3Y1w==";
       };
     };
-    "winston-syslog-2.5.0" = {
+    "winston-syslog-2.6.0" = {
       name = "winston-syslog";
       packageName = "winston-syslog";
-      version = "2.5.0";
+      version = "2.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/winston-syslog/-/winston-syslog-2.5.0.tgz";
-        sha512 = "tTMwijNAuZov5xDv3EB/QojvELcigF2YtadgEqoPWlRiV1fTvvLPNGxCNRzi6u3FNOJeZ2Qxjmjqn7ZcUxvp8Q==";
+        url = "https://registry.npmjs.org/winston-syslog/-/winston-syslog-2.6.0.tgz";
+        sha512 = "3auiQmb5TvDPZ26RqZwGVckV0x5ro//5ycvYtfnJ5enAs7Y+aOdjUa+cO2pCYNexTsJg0Otktv4ccY5HgNgC0w==";
       };
     };
     "winston-transport-4.5.0" = {
@@ -6008,13 +5999,13 @@ let
         sha512 = "ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw==";
       };
     };
-    "ws-8.8.0" = {
+    "ws-8.8.1" = {
       name = "ws";
       packageName = "ws";
-      version = "8.8.0";
+      version = "8.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-8.8.0.tgz";
-        sha512 = "JDAgSYQ1ksuwqfChJusw1LSJ8BizJ2e/vVu5Lxjq3YvNJNlROv1ui4i+c/kUUrPheBvQl4c5UbERhTwKa6QBJQ==";
+        url = "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz";
+        sha512 = "bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==";
       };
     };
     "xtend-4.0.2" = {
@@ -6062,113 +6053,122 @@ let
         sha512 = "9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==";
       };
     };
-    "zigbee-herdsman-0.14.40" = {
+    "yocto-queue-0.1.0" = {
+      name = "yocto-queue";
+      packageName = "yocto-queue";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz";
+        sha512 = "rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==";
+      };
+    };
+    "zigbee-herdsman-0.14.46" = {
       name = "zigbee-herdsman";
       packageName = "zigbee-herdsman";
-      version = "0.14.40";
+      version = "0.14.46";
       src = fetchurl {
-        url = "https://registry.npmjs.org/zigbee-herdsman/-/zigbee-herdsman-0.14.40.tgz";
-        sha512 = "3ubz5awyiHSTCGlb5WXk5uNefa9xEhRcAWbKqXnQTfDlJpIIquOa08t0g3reUq+u4WM3GWOmFOcqIwe5hrTUrw==";
+        url = "https://registry.npmjs.org/zigbee-herdsman/-/zigbee-herdsman-0.14.46.tgz";
+        sha512 = "i05yGfbe7xZv7dazBz1bZMHaMG7m5MMXr8u7huHuItyIgUysdY1fePVFQCoQOEKtDiPPbyXSJ/nzj157Trb9Cg==";
       };
     };
-    "zigbee-herdsman-converters-14.0.559" = {
+    "zigbee-herdsman-converters-14.0.583" = {
       name = "zigbee-herdsman-converters";
       packageName = "zigbee-herdsman-converters";
-      version = "14.0.559";
+      version = "14.0.583";
       src = fetchurl {
-        url = "https://registry.npmjs.org/zigbee-herdsman-converters/-/zigbee-herdsman-converters-14.0.559.tgz";
-        sha512 = "MJhsKZBXtzwenleFWI7UUydHWflSm5DA/+lKxYw26UAdXpsZ3V9Jw0aUpFdu1KNbKNvFei/DafTICy7Y6oPYTQ==";
+        url = "https://registry.npmjs.org/zigbee-herdsman-converters/-/zigbee-herdsman-converters-14.0.583.tgz";
+        sha512 = "yHaMj8hvaXgQ1gQ+IT2adg53AgI+gB7FgrvSxxBOYqq1v6/GJQKFIju0d3YiYoFMvQ7P2I5GNcKJz6yKK3wotg==";
       };
     };
-    "zigbee2mqtt-frontend-0.6.103" = {
+    "zigbee2mqtt-frontend-0.6.107" = {
       name = "zigbee2mqtt-frontend";
       packageName = "zigbee2mqtt-frontend";
-      version = "0.6.103";
+      version = "0.6.107";
       src = fetchurl {
-        url = "https://registry.npmjs.org/zigbee2mqtt-frontend/-/zigbee2mqtt-frontend-0.6.103.tgz";
-        sha512 = "HQcZcfBUgGYbiyOkabumqa6rg60T3IGFiJRT4qI8m/XhohFTrn31NQY8b0eSWJn/udXTztkDZZ1l95Dx1Ldlaw==";
+        url = "https://registry.npmjs.org/zigbee2mqtt-frontend/-/zigbee2mqtt-frontend-0.6.107.tgz";
+        sha512 = "/s9Ec2DnOPTH7+zOnebQdkC/9pDZ1H+kvOZhN2/V9yrwAXQHJm9A0RVhY/ErSk0Ecl/gR9jw1Dvn9bEmtK3Kuw==";
       };
     };
   };
   args = {
     name = "zigbee2mqtt";
     packageName = "zigbee2mqtt";
-    version = "1.26.0";
+    version = "1.27.0";
     src = ./.;
     dependencies = [
       sources."@ampproject/remapping-2.2.0"
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.17.10"
-      (sources."@babel/core-7.18.5" // {
+      sources."@babel/code-frame-7.18.6"
+      sources."@babel/compat-data-7.18.8"
+      (sources."@babel/core-7.18.9" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      (sources."@babel/generator-7.18.2" // {
+      (sources."@babel/generator-7.18.9" // {
         dependencies = [
-          sources."@jridgewell/gen-mapping-0.3.1"
+          sources."@jridgewell/gen-mapping-0.3.2"
         ];
       })
-      sources."@babel/helper-annotate-as-pure-7.16.7"
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.16.7"
-      (sources."@babel/helper-compilation-targets-7.18.2" // {
+      sources."@babel/helper-annotate-as-pure-7.18.6"
+      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.18.6"
+      (sources."@babel/helper-compilation-targets-7.18.9" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-create-class-features-plugin-7.18.0"
-      sources."@babel/helper-create-regexp-features-plugin-7.17.12"
+      sources."@babel/helper-create-class-features-plugin-7.18.9"
+      sources."@babel/helper-create-regexp-features-plugin-7.18.6"
       (sources."@babel/helper-define-polyfill-provider-0.3.1" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-environment-visitor-7.18.2"
-      sources."@babel/helper-explode-assignable-expression-7.16.7"
-      sources."@babel/helper-function-name-7.17.9"
-      sources."@babel/helper-hoist-variables-7.16.7"
-      sources."@babel/helper-member-expression-to-functions-7.17.7"
-      sources."@babel/helper-module-imports-7.16.7"
-      sources."@babel/helper-module-transforms-7.18.0"
-      sources."@babel/helper-optimise-call-expression-7.16.7"
-      sources."@babel/helper-plugin-utils-7.17.12"
-      sources."@babel/helper-remap-async-to-generator-7.16.8"
-      sources."@babel/helper-replace-supers-7.18.2"
-      sources."@babel/helper-simple-access-7.18.2"
-      sources."@babel/helper-skip-transparent-expression-wrappers-7.16.0"
-      sources."@babel/helper-split-export-declaration-7.16.7"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/helper-validator-option-7.16.7"
-      sources."@babel/helper-wrap-function-7.16.8"
-      sources."@babel/helpers-7.18.2"
-      sources."@babel/highlight-7.17.12"
-      sources."@babel/parser-7.18.5"
-      sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12"
-      sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12"
-      sources."@babel/plugin-proposal-async-generator-functions-7.17.12"
-      sources."@babel/plugin-proposal-class-properties-7.17.12"
-      sources."@babel/plugin-proposal-class-static-block-7.18.0"
-      sources."@babel/plugin-proposal-decorators-7.18.2"
-      sources."@babel/plugin-proposal-dynamic-import-7.16.7"
-      sources."@babel/plugin-proposal-export-namespace-from-7.17.12"
-      sources."@babel/plugin-proposal-json-strings-7.17.12"
-      sources."@babel/plugin-proposal-logical-assignment-operators-7.17.12"
-      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.17.12"
-      sources."@babel/plugin-proposal-numeric-separator-7.16.7"
-      sources."@babel/plugin-proposal-object-rest-spread-7.18.0"
-      sources."@babel/plugin-proposal-optional-catch-binding-7.16.7"
-      sources."@babel/plugin-proposal-optional-chaining-7.17.12"
-      sources."@babel/plugin-proposal-private-methods-7.17.12"
-      sources."@babel/plugin-proposal-private-property-in-object-7.17.12"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.17.12"
+      sources."@babel/helper-environment-visitor-7.18.9"
+      sources."@babel/helper-explode-assignable-expression-7.18.6"
+      sources."@babel/helper-function-name-7.18.9"
+      sources."@babel/helper-hoist-variables-7.18.6"
+      sources."@babel/helper-member-expression-to-functions-7.18.9"
+      sources."@babel/helper-module-imports-7.18.6"
+      sources."@babel/helper-module-transforms-7.18.9"
+      sources."@babel/helper-optimise-call-expression-7.18.6"
+      sources."@babel/helper-plugin-utils-7.18.9"
+      sources."@babel/helper-remap-async-to-generator-7.18.6"
+      sources."@babel/helper-replace-supers-7.18.9"
+      sources."@babel/helper-simple-access-7.18.6"
+      sources."@babel/helper-skip-transparent-expression-wrappers-7.18.9"
+      sources."@babel/helper-split-export-declaration-7.18.6"
+      sources."@babel/helper-validator-identifier-7.18.6"
+      sources."@babel/helper-validator-option-7.18.6"
+      sources."@babel/helper-wrap-function-7.18.6"
+      sources."@babel/helpers-7.18.9"
+      sources."@babel/highlight-7.18.6"
+      sources."@babel/parser-7.18.9"
+      sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6"
+      sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9"
+      sources."@babel/plugin-proposal-async-generator-functions-7.18.6"
+      sources."@babel/plugin-proposal-class-properties-7.18.6"
+      sources."@babel/plugin-proposal-class-static-block-7.18.6"
+      sources."@babel/plugin-proposal-decorators-7.18.9"
+      sources."@babel/plugin-proposal-dynamic-import-7.18.6"
+      sources."@babel/plugin-proposal-export-namespace-from-7.18.9"
+      sources."@babel/plugin-proposal-json-strings-7.18.6"
+      sources."@babel/plugin-proposal-logical-assignment-operators-7.18.9"
+      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.18.6"
+      sources."@babel/plugin-proposal-numeric-separator-7.18.6"
+      sources."@babel/plugin-proposal-object-rest-spread-7.18.9"
+      sources."@babel/plugin-proposal-optional-catch-binding-7.18.6"
+      sources."@babel/plugin-proposal-optional-chaining-7.18.9"
+      sources."@babel/plugin-proposal-private-methods-7.18.6"
+      sources."@babel/plugin-proposal-private-property-in-object-7.18.6"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.18.6"
       sources."@babel/plugin-syntax-async-generators-7.8.4"
       sources."@babel/plugin-syntax-bigint-7.8.3"
       sources."@babel/plugin-syntax-class-properties-7.12.13"
       sources."@babel/plugin-syntax-class-static-block-7.14.5"
-      sources."@babel/plugin-syntax-decorators-7.17.12"
+      sources."@babel/plugin-syntax-decorators-7.18.6"
       sources."@babel/plugin-syntax-dynamic-import-7.8.3"
       sources."@babel/plugin-syntax-export-namespace-from-7.8.3"
-      sources."@babel/plugin-syntax-import-assertions-7.17.12"
+      sources."@babel/plugin-syntax-import-assertions-7.18.6"
       sources."@babel/plugin-syntax-import-meta-7.10.4"
       sources."@babel/plugin-syntax-json-strings-7.8.3"
       sources."@babel/plugin-syntax-logical-assignment-operators-7.10.4"
@@ -6179,51 +6179,51 @@ let
       sources."@babel/plugin-syntax-optional-chaining-7.8.3"
       sources."@babel/plugin-syntax-private-property-in-object-7.14.5"
       sources."@babel/plugin-syntax-top-level-await-7.14.5"
-      sources."@babel/plugin-syntax-typescript-7.17.12"
-      sources."@babel/plugin-transform-arrow-functions-7.17.12"
-      sources."@babel/plugin-transform-async-to-generator-7.17.12"
-      sources."@babel/plugin-transform-block-scoped-functions-7.16.7"
-      sources."@babel/plugin-transform-block-scoping-7.17.12"
-      sources."@babel/plugin-transform-classes-7.17.12"
-      sources."@babel/plugin-transform-computed-properties-7.17.12"
-      sources."@babel/plugin-transform-destructuring-7.18.0"
-      sources."@babel/plugin-transform-dotall-regex-7.16.7"
-      sources."@babel/plugin-transform-duplicate-keys-7.17.12"
-      sources."@babel/plugin-transform-exponentiation-operator-7.16.7"
-      sources."@babel/plugin-transform-for-of-7.18.1"
-      sources."@babel/plugin-transform-function-name-7.16.7"
-      sources."@babel/plugin-transform-literals-7.17.12"
-      sources."@babel/plugin-transform-member-expression-literals-7.16.7"
-      sources."@babel/plugin-transform-modules-amd-7.18.0"
-      sources."@babel/plugin-transform-modules-commonjs-7.18.2"
-      sources."@babel/plugin-transform-modules-systemjs-7.18.0"
-      sources."@babel/plugin-transform-modules-umd-7.18.0"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.17.12"
-      sources."@babel/plugin-transform-new-target-7.17.12"
-      sources."@babel/plugin-transform-object-super-7.16.7"
-      sources."@babel/plugin-transform-parameters-7.17.12"
-      sources."@babel/plugin-transform-property-literals-7.16.7"
-      sources."@babel/plugin-transform-regenerator-7.18.0"
-      sources."@babel/plugin-transform-reserved-words-7.17.12"
-      sources."@babel/plugin-transform-shorthand-properties-7.16.7"
-      sources."@babel/plugin-transform-spread-7.17.12"
-      sources."@babel/plugin-transform-sticky-regex-7.16.7"
-      sources."@babel/plugin-transform-template-literals-7.18.2"
-      sources."@babel/plugin-transform-typeof-symbol-7.17.12"
-      sources."@babel/plugin-transform-typescript-7.18.1"
-      sources."@babel/plugin-transform-unicode-escapes-7.16.7"
-      sources."@babel/plugin-transform-unicode-regex-7.16.7"
-      (sources."@babel/preset-env-7.18.2" // {
+      sources."@babel/plugin-syntax-typescript-7.18.6"
+      sources."@babel/plugin-transform-arrow-functions-7.18.6"
+      sources."@babel/plugin-transform-async-to-generator-7.18.6"
+      sources."@babel/plugin-transform-block-scoped-functions-7.18.6"
+      sources."@babel/plugin-transform-block-scoping-7.18.9"
+      sources."@babel/plugin-transform-classes-7.18.9"
+      sources."@babel/plugin-transform-computed-properties-7.18.9"
+      sources."@babel/plugin-transform-destructuring-7.18.9"
+      sources."@babel/plugin-transform-dotall-regex-7.18.6"
+      sources."@babel/plugin-transform-duplicate-keys-7.18.9"
+      sources."@babel/plugin-transform-exponentiation-operator-7.18.6"
+      sources."@babel/plugin-transform-for-of-7.18.8"
+      sources."@babel/plugin-transform-function-name-7.18.9"
+      sources."@babel/plugin-transform-literals-7.18.9"
+      sources."@babel/plugin-transform-member-expression-literals-7.18.6"
+      sources."@babel/plugin-transform-modules-amd-7.18.6"
+      sources."@babel/plugin-transform-modules-commonjs-7.18.6"
+      sources."@babel/plugin-transform-modules-systemjs-7.18.9"
+      sources."@babel/plugin-transform-modules-umd-7.18.6"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.18.6"
+      sources."@babel/plugin-transform-new-target-7.18.6"
+      sources."@babel/plugin-transform-object-super-7.18.6"
+      sources."@babel/plugin-transform-parameters-7.18.8"
+      sources."@babel/plugin-transform-property-literals-7.18.6"
+      sources."@babel/plugin-transform-regenerator-7.18.6"
+      sources."@babel/plugin-transform-reserved-words-7.18.6"
+      sources."@babel/plugin-transform-shorthand-properties-7.18.6"
+      sources."@babel/plugin-transform-spread-7.18.9"
+      sources."@babel/plugin-transform-sticky-regex-7.18.6"
+      sources."@babel/plugin-transform-template-literals-7.18.9"
+      sources."@babel/plugin-transform-typeof-symbol-7.18.9"
+      sources."@babel/plugin-transform-typescript-7.18.6"
+      sources."@babel/plugin-transform-unicode-escapes-7.18.6"
+      sources."@babel/plugin-transform-unicode-regex-7.18.6"
+      (sources."@babel/preset-env-7.18.9" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
       sources."@babel/preset-modules-0.1.5"
-      sources."@babel/preset-typescript-7.17.12"
+      sources."@babel/preset-typescript-7.18.6"
       sources."@babel/runtime-7.18.3"
-      sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.18.5"
-      sources."@babel/types-7.18.4"
+      sources."@babel/template-7.18.6"
+      sources."@babel/traverse-7.18.9"
+      sources."@babel/types-7.18.9"
       sources."@bcoe/v8-coverage-0.2.3"
       sources."@colors/colors-1.5.0"
       sources."@dabh/diagnostics-2.0.3"
@@ -6244,7 +6244,7 @@ let
         ];
       })
       sources."@istanbuljs/schema-0.1.3"
-      (sources."@jest/console-28.1.1" // {
+      (sources."@jest/console-28.1.3" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -6254,7 +6254,7 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      (sources."@jest/core-28.1.1" // {
+      (sources."@jest/core-28.1.3" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -6264,12 +6264,12 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      sources."@jest/environment-28.1.1"
-      sources."@jest/expect-28.1.1"
-      sources."@jest/expect-utils-28.1.1"
-      sources."@jest/fake-timers-28.1.1"
-      sources."@jest/globals-28.1.1"
-      (sources."@jest/reporters-28.1.1" // {
+      sources."@jest/environment-28.1.3"
+      sources."@jest/expect-28.1.3"
+      sources."@jest/expect-utils-28.1.3"
+      sources."@jest/fake-timers-28.1.3"
+      sources."@jest/globals-28.1.3"
+      (sources."@jest/reporters-28.1.3" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -6279,11 +6279,11 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      sources."@jest/schemas-28.0.2"
-      sources."@jest/source-map-28.0.2"
-      sources."@jest/test-result-28.1.1"
-      sources."@jest/test-sequencer-28.1.1"
-      (sources."@jest/transform-28.1.1" // {
+      sources."@jest/schemas-28.1.3"
+      sources."@jest/source-map-28.1.2"
+      sources."@jest/test-result-28.1.3"
+      sources."@jest/test-sequencer-28.1.3"
+      (sources."@jest/transform-28.1.3" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -6293,7 +6293,7 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      (sources."@jest/types-28.1.1" // {
+      (sources."@jest/types-28.1.3" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -6334,7 +6334,7 @@ let
       sources."@serialport/parser-ready-9.2.4"
       sources."@serialport/parser-regex-9.2.4"
       sources."@serialport/stream-9.2.4"
-      sources."@sinclair/typebox-0.23.5"
+      sources."@sinclair/typebox-0.24.20"
       sources."@sinonjs/commons-1.8.3"
       sources."@sinonjs/fake-timers-9.1.2"
       sources."@types/babel__core-7.1.19"
@@ -6349,7 +6349,7 @@ let
       sources."@types/istanbul-lib-coverage-2.0.4"
       sources."@types/istanbul-lib-report-3.0.0"
       sources."@types/istanbul-reports-3.0.1"
-      sources."@types/jest-28.1.3"
+      sources."@types/jest-28.1.6"
       sources."@types/js-yaml-4.0.5"
       sources."@types/json-schema-7.0.11"
       sources."@types/minimatch-3.0.5"
@@ -6366,14 +6366,14 @@ let
       sources."@types/ws-8.5.3"
       sources."@types/yargs-17.0.10"
       sources."@types/yargs-parser-21.0.0"
-      sources."@typescript-eslint/eslint-plugin-5.29.0"
-      sources."@typescript-eslint/parser-5.29.0"
-      sources."@typescript-eslint/scope-manager-5.29.0"
-      sources."@typescript-eslint/type-utils-5.29.0"
-      sources."@typescript-eslint/types-5.29.0"
-      sources."@typescript-eslint/typescript-estree-5.29.0"
-      sources."@typescript-eslint/utils-5.29.0"
-      sources."@typescript-eslint/visitor-keys-5.29.0"
+      sources."@typescript-eslint/eslint-plugin-5.31.0"
+      sources."@typescript-eslint/parser-5.31.0"
+      sources."@typescript-eslint/scope-manager-5.31.0"
+      sources."@typescript-eslint/type-utils-5.31.0"
+      sources."@typescript-eslint/types-5.31.0"
+      sources."@typescript-eslint/typescript-estree-5.31.0"
+      sources."@typescript-eslint/utils-5.31.0"
+      sources."@typescript-eslint/visitor-keys-5.31.0"
       sources."acorn-8.7.1"
       sources."acorn-jsx-5.3.2"
       sources."agent-base-6.0.2"
@@ -6395,7 +6395,7 @@ let
       sources."async-3.2.3"
       sources."asynckit-0.4.0"
       sources."axios-0.27.2"
-      (sources."babel-jest-28.1.1" // {
+      (sources."babel-jest-28.1.3" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -6407,7 +6407,7 @@ let
       })
       sources."babel-plugin-dynamic-import-node-2.3.3"
       sources."babel-plugin-istanbul-6.1.1"
-      sources."babel-plugin-jest-hoist-28.1.1"
+      sources."babel-plugin-jest-hoist-28.1.3"
       (sources."babel-plugin-polyfill-corejs2-0.3.1" // {
         dependencies = [
           sources."semver-6.3.0"
@@ -6416,7 +6416,7 @@ let
       sources."babel-plugin-polyfill-corejs3-0.5.2"
       sources."babel-plugin-polyfill-regenerator-0.3.1"
       sources."babel-preset-current-node-syntax-1.0.1"
-      sources."babel-preset-jest-28.1.1"
+      sources."babel-preset-jest-28.1.3"
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
       sources."bind-decorator-1.0.11"
@@ -6435,9 +6435,8 @@ let
       sources."caniuse-lite-1.0.30001344"
       sources."chalk-2.4.2"
       sources."char-regex-1.0.2"
-      sources."charcodes-0.2.0"
       sources."chownr-1.1.4"
-      sources."ci-info-3.3.1"
+      sources."ci-info-3.3.2"
       sources."cjs-module-lexer-1.2.2"
       sources."classnames-2.3.1"
       sources."cliui-7.0.4"
@@ -6467,7 +6466,7 @@ let
       })
       sources."console-control-strings-1.1.0"
       sources."convert-source-map-1.8.0"
-      sources."core-js-3.23.3"
+      sources."core-js-3.24.1"
       (sources."core-js-compat-3.22.7" // {
         dependencies = [
           sources."semver-7.0.0"
@@ -6509,7 +6508,7 @@ let
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
-      (sources."eslint-8.18.0" // {
+      (sources."eslint-8.20.0" // {
         dependencies = [
           sources."ajv-6.12.6"
           sources."ansi-styles-4.3.0"
@@ -6527,7 +6526,7 @@ let
         ];
       })
       sources."eslint-config-google-0.14.0"
-      sources."eslint-plugin-jest-26.5.3"
+      sources."eslint-plugin-jest-26.7.0"
       sources."eslint-scope-5.1.1"
       (sources."eslint-utils-3.0.0" // {
         dependencies = [
@@ -6553,7 +6552,7 @@ let
       sources."execa-5.1.1"
       sources."exit-0.1.2"
       sources."expand-template-2.0.3"
-      sources."expect-28.1.1"
+      sources."expect-28.1.3"
       sources."fast-deep-equal-3.1.3"
       (sources."fast-glob-3.2.11" // {
         dependencies = [
@@ -6597,7 +6596,7 @@ let
       })
       sources."gensync-1.0.0-beta.2"
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.1"
+      sources."get-intrinsic-1.1.2"
       sources."get-package-type-0.1.0"
       sources."get-stream-6.0.1"
       sources."git-last-commit-1.0.1"
@@ -6656,20 +6655,25 @@ let
         ];
       })
       sources."istanbul-lib-source-maps-4.0.1"
-      sources."istanbul-reports-3.1.4"
-      sources."jest-28.1.1"
-      sources."jest-changed-files-28.0.2"
-      (sources."jest-circus-28.1.1" // {
+      sources."istanbul-reports-3.1.5"
+      sources."jest-28.1.3"
+      (sources."jest-changed-files-28.1.3" // {
+        dependencies = [
+          sources."p-limit-3.1.0"
+        ];
+      })
+      (sources."jest-circus-28.1.3" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
           sources."has-flag-4.0.0"
+          sources."p-limit-3.1.0"
           sources."supports-color-7.2.0"
         ];
       })
-      (sources."jest-cli-28.1.1" // {
+      (sources."jest-cli-28.1.3" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -6679,7 +6683,7 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      (sources."jest-config-28.1.1" // {
+      (sources."jest-config-28.1.3" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -6689,7 +6693,7 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      (sources."jest-diff-28.1.1" // {
+      (sources."jest-diff-28.1.3" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -6700,7 +6704,7 @@ let
         ];
       })
       sources."jest-docblock-28.1.1"
-      (sources."jest-each-28.1.1" // {
+      (sources."jest-each-28.1.3" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -6710,11 +6714,11 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      sources."jest-environment-node-28.1.1"
+      sources."jest-environment-node-28.1.3"
       sources."jest-get-type-28.0.2"
-      sources."jest-haste-map-28.1.1"
-      sources."jest-leak-detector-28.1.1"
-      (sources."jest-matcher-utils-28.1.1" // {
+      sources."jest-haste-map-28.1.3"
+      sources."jest-leak-detector-28.1.3"
+      (sources."jest-matcher-utils-28.1.3" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -6724,7 +6728,7 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      (sources."jest-message-util-28.1.1" // {
+      (sources."jest-message-util-28.1.3" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -6734,10 +6738,10 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      sources."jest-mock-28.1.1"
+      sources."jest-mock-28.1.3"
       sources."jest-pnp-resolver-1.2.2"
       sources."jest-regex-util-28.0.2"
-      (sources."jest-resolve-28.1.1" // {
+      (sources."jest-resolve-28.1.3" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -6747,19 +6751,20 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      sources."jest-resolve-dependencies-28.1.1"
-      (sources."jest-runner-28.1.1" // {
+      sources."jest-resolve-dependencies-28.1.3"
+      (sources."jest-runner-28.1.3" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
           sources."has-flag-4.0.0"
+          sources."p-limit-3.1.0"
           sources."source-map-support-0.5.13"
           sources."supports-color-7.2.0"
         ];
       })
-      (sources."jest-runtime-28.1.1" // {
+      (sources."jest-runtime-28.1.3" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -6769,7 +6774,7 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      (sources."jest-snapshot-28.1.1" // {
+      (sources."jest-snapshot-28.1.3" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -6779,7 +6784,7 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      (sources."jest-util-28.1.1" // {
+      (sources."jest-util-28.1.3" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -6789,7 +6794,7 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      (sources."jest-validate-28.1.1" // {
+      (sources."jest-validate-28.1.3" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."camelcase-6.3.0"
@@ -6800,7 +6805,7 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      (sources."jest-watcher-28.1.1" // {
+      (sources."jest-watcher-28.1.3" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -6810,7 +6815,7 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      (sources."jest-worker-28.1.1" // {
+      (sources."jest-worker-28.1.3" // {
         dependencies = [
           sources."has-flag-4.0.0"
           sources."supports-color-8.1.1"
@@ -6865,7 +6870,7 @@ let
       sources."mixin-deep-2.0.1"
       sources."mkdir-recursive-0.4.0"
       sources."mkdirp-classic-0.5.3"
-      sources."moment-2.29.3"
+      sources."moment-2.29.4"
       (sources."mqtt-4.3.7" // {
         dependencies = [
           sources."ws-7.5.8"
@@ -6913,7 +6918,7 @@ let
       sources."pkg-dir-4.2.0"
       sources."prebuild-install-7.1.0"
       sources."prelude-ls-1.2.1"
-      (sources."pretty-format-28.1.1" // {
+      (sources."pretty-format-28.1.3" // {
         dependencies = [
           sources."ansi-styles-5.2.0"
         ];
@@ -6952,7 +6957,7 @@ let
       sources."regenerator-runtime-0.13.9"
       sources."regenerator-transform-0.15.0"
       sources."regexpp-3.2.0"
-      sources."regexpu-core-5.0.1"
+      sources."regexpu-core-5.1.0"
       sources."regjsgen-0.6.0"
       (sources."regjsparser-0.8.4" // {
         dependencies = [
@@ -7041,7 +7046,6 @@ let
       sources."text-table-0.2.0"
       sources."thenify-3.3.1"
       sources."thenify-all-1.6.0"
-      sources."throat-6.0.1"
       sources."tmp-0.2.1"
       sources."tmpl-1.0.5"
       sources."to-fast-properties-2.0.0"
@@ -7067,7 +7071,7 @@ let
       sources."uri-js-4.4.1"
       sources."util-deprecate-1.0.2"
       sources."v8-compile-cache-2.3.0"
-      sources."v8-to-istanbul-9.0.0"
+      sources."v8-to-istanbul-9.0.1"
       sources."validate.io-array-1.0.6"
       sources."validate.io-function-1.0.2"
       sources."validate.io-integer-1.0.5"
@@ -7077,8 +7081,8 @@ let
       sources."warning-4.0.3"
       sources."which-2.0.2"
       sources."wide-align-1.1.5"
-      sources."winston-3.8.0"
-      sources."winston-syslog-2.5.0"
+      sources."winston-3.8.1"
+      sources."winston-syslog-2.6.0"
       sources."winston-transport-4.5.0"
       sources."word-wrap-1.2.3"
       (sources."wrap-ansi-7.0.0" // {
@@ -7090,15 +7094,16 @@ let
       })
       sources."wrappy-1.0.2"
       sources."write-file-atomic-4.0.1"
-      sources."ws-8.8.0"
+      sources."ws-8.8.1"
       sources."xtend-4.0.2"
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
       sources."yargs-17.5.1"
       sources."yargs-parser-21.0.1"
-      sources."zigbee-herdsman-0.14.40"
-      sources."zigbee-herdsman-converters-14.0.559"
-      sources."zigbee2mqtt-frontend-0.6.103"
+      sources."yocto-queue-0.1.0"
+      sources."zigbee-herdsman-0.14.46"
+      sources."zigbee-herdsman-converters-14.0.583"
+      sources."zigbee2mqtt-frontend-0.6.107"
     ];
     buildInputs = globalBuildInputs;
     meta = {
diff --git a/pkgs/shells/liquidprompt/default.nix b/pkgs/shells/liquidprompt/default.nix
index 4f06225e94f..47e2e72c7ab 100644
--- a/pkgs/shells/liquidprompt/default.nix
+++ b/pkgs/shells/liquidprompt/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "liquidprompt";
-  version = "2.0.4";
+  version = "2.1.2";
 
   src = fetchFromGitHub {
     owner = "nojhan";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ntCfXJUOQqL63HWoG+WJr9a+qB16AaL5zf58039t7GU=";
+    sha256 = "sha256-7mnrXLqnCdOuS2aRs4tVLfO8SRFrqZHNM40gWE/CVFI=";
   };
 
   strictDeps = true;
diff --git a/pkgs/shells/oil/default.nix b/pkgs/shells/oil/default.nix
index d1a8c9650f1..57b5d085c34 100644
--- a/pkgs/shells/oil/default.nix
+++ b/pkgs/shells/oil/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "oil";
-  version = "0.11.0";
+  version = "0.12.0";
 
   src = fetchurl {
     url = "https://www.oilshell.org/download/oil-${version}.tar.xz";
-    hash = "sha256-5eAK53aFLEEjPvwKMQIZloUjSFaAcU0tzsUAr2PQAgg=";
+    hash = "sha256-1zwGfM17SWWIvQ19cSbIfiLRaq+Ee1r94GPJWJEPoP8=";
   };
 
   postPatch = ''
diff --git a/pkgs/shells/zsh/zsh-completions/default.nix b/pkgs/shells/zsh/zsh-completions/default.nix
index 937114e982e..f75570a46b5 100644
--- a/pkgs/shells/zsh/zsh-completions/default.nix
+++ b/pkgs/shells/zsh/zsh-completions/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zsh-completions";
-  version = "0.33.0";
+  version = "0.34.0";
 
   src = fetchFromGitHub {
     owner = "zsh-users";
     repo = pname;
     rev = version;
-    sha256 = "0vs14n29wvkai84fvz3dz2kqznwsq2i5fzbwpv8nsfk1126ql13i";
+    sha256 = "sha256-qSobM4PRXjfsvoXY6ENqJGI9NEAaFFzlij6MPeTfT0o=";
   };
 
   strictDeps = true;
diff --git a/pkgs/shells/zsh/zsh-fzf-tab/default.nix b/pkgs/shells/zsh/zsh-fzf-tab/default.nix
index 5ce66fd8133..5e1fdd6e8fc 100644
--- a/pkgs/shells/zsh/zsh-fzf-tab/default.nix
+++ b/pkgs/shells/zsh/zsh-fzf-tab/default.nix
@@ -4,13 +4,13 @@ let
   INSTALL_PATH="${placeholder "out"}/share/fzf-tab";
 in stdenv.mkDerivation rec {
   pname = "zsh-fzf-tab";
-  version = "unstable-2022-04-15";
+  version = "unstable-2022-08-11";
 
   src = fetchFromGitHub {
     owner = "Aloxaf";
     repo = "fzf-tab";
-    rev = "7e0eee64df6c7c81a57792674646b5feaf89f263";
-    sha256 = "sha256-ixUnuNtxxmiigeVjzuV5uG6rIBPY/1vdBZF2/Qv0Trs=";
+    rev = "1efe7e3960caeba27e24dd7b546ee5c3545f68bc";
+    sha256 = "sha256-GI1+uEpxiMGYiXxfWr1+XtJroFRyX0LhpD7q3zft1E4=";
   };
 
   strictDeps = true;
diff --git a/pkgs/stdenv/darwin/make-bootstrap-tools.nix b/pkgs/stdenv/darwin/make-bootstrap-tools.nix
index da4a94e34b0..5e549e48287 100644
--- a/pkgs/stdenv/darwin/make-bootstrap-tools.nix
+++ b/pkgs/stdenv/darwin/make-bootstrap-tools.nix
@@ -105,16 +105,16 @@ in rec {
       mkdir $out/include
       cp -rd ${llvmPackages.libcxx.dev}/include/c++     $out/include
 
-      ${lib.optionalString targetPlatform.isAarch64 ''
-        # copy .tbd assembly utils
-        cp -d ${pkgs.darwin.rewrite-tbd}/bin/rewrite-tbd $out/bin
-        cp -d ${lib.getLib pkgs.libyaml}/lib/libyaml*.dylib $out/lib
+      # copy .tbd assembly utils
+      cp -d ${pkgs.darwin.rewrite-tbd}/bin/rewrite-tbd $out/bin
+      cp -d ${lib.getLib pkgs.libyaml}/lib/libyaml*.dylib $out/lib
 
-        # copy package extraction tools
-        cp -d ${pkgs.pbzx}/bin/pbzx $out/bin
-        cp -d ${lib.getLib pkgs.xar}/lib/libxar*.dylib $out/lib
-        cp -d ${pkgs.bzip2.out}/lib/libbz2*.dylib $out/lib
+      # copy package extraction tools
+      cp -d ${pkgs.pbzx}/bin/pbzx $out/bin
+      cp -d ${lib.getLib pkgs.xar}/lib/libxar*.dylib $out/lib
+      cp -d ${pkgs.bzip2.out}/lib/libbz2*.dylib $out/lib
 
+      ${lib.optionalString targetPlatform.isAarch64 ''
         # copy sigtool
         cp -d ${pkgs.darwin.sigtool}/bin/sigtool $out/bin
         cp -d ${pkgs.darwin.sigtool}/bin/codesign $out/bin
diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh
index de8d13160f9..0ba8d101823 100644
--- a/pkgs/stdenv/generic/setup.sh
+++ b/pkgs/stdenv/generic/setup.sh
@@ -771,9 +771,18 @@ substitute() {
 }
 
 substituteInPlace() {
-    local fileName="$1"
-    shift
-    substitute "$fileName" "$fileName" "$@"
+    local -a fileNames=()
+    for arg in "$@"; do
+        if [[ "$arg" = "--"* ]]; then
+            break
+        fi
+        fileNames+=("$arg")
+        shift
+    done
+
+    for file in "${fileNames[@]}"; do
+        substitute "$file" "$file" "$@"
+    done
 }
 
 _allFlags() {
diff --git a/pkgs/tools/X11/bumblebee/default.nix b/pkgs/tools/X11/bumblebee/default.nix
index 534099ea5ac..914972d91aa 100644
--- a/pkgs/tools/X11/bumblebee/default.nix
+++ b/pkgs/tools/X11/bumblebee/default.nix
@@ -132,10 +132,13 @@ in stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "https://github.com/Bumblebee-Project/Bumblebee";
     description = "Daemon for managing Optimus videocards (power-on/off, spawns xservers)";
-    platforms = platforms.linux;
+    homepage = "https://github.com/Bumblebee-Project/Bumblebee";
     license = licenses.gpl3;
     maintainers = with maintainers; [ abbradar ];
+    platforms = platforms.linux;
+    # linking fails with multiple error of type:
+    # multiple definition of `bb_pm_method_string'; src/module.o:(.bss+0x0): first defined here
+    broken = true; # Added 03-08-2022
   };
 }
diff --git a/pkgs/tools/X11/caffeine-ng/default.nix b/pkgs/tools/X11/caffeine-ng/default.nix
index ea8e5b389e4..619bd55b6f4 100644
--- a/pkgs/tools/X11/caffeine-ng/default.nix
+++ b/pkgs/tools/X11/caffeine-ng/default.nix
@@ -40,7 +40,7 @@ in buildPythonApplication rec {
     sha256 = "sha256-umIjXJ0et6Pi5Ejj96Q+ZhiKS+yj7bsgb4uQW6Ym6rU=";
   };
 
-  nativeBuildInputs = [ wrapGAppsHook glib setuptools-scm ];
+  nativeBuildInputs = [ wrapGAppsHook glib gobject-introspection setuptools-scm ];
 
   buildInputs = [
     libappindicator-gtk3
diff --git a/pkgs/tools/X11/opentabletdriver/default.nix b/pkgs/tools/X11/opentabletdriver/default.nix
index 50d7af80a03..e43e4e1947d 100644
--- a/pkgs/tools/X11/opentabletdriver/default.nix
+++ b/pkgs/tools/X11/opentabletdriver/default.nix
@@ -56,6 +56,8 @@ buildDotnetModule rec {
     udev
   ];
 
+  buildInputs = runtimeDeps;
+
   doCheck = true;
   testProjectFile = "OpenTabletDriver.Tests/OpenTabletDriver.Tests.csproj";
 
diff --git a/pkgs/tools/X11/xdg-user-dirs/default.nix b/pkgs/tools/X11/xdg-user-dirs/default.nix
index 3970a4f4870..c267a8386b3 100644
--- a/pkgs/tools/X11/xdg-user-dirs/default.nix
+++ b/pkgs/tools/X11/xdg-user-dirs/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xdg-user-dirs";
-  version = "0.17";
+  version = "0.18";
 
   src = fetchurl {
     url = "https://user-dirs.freedesktop.org/releases/xdg-user-dirs-${version}.tar.gz";
-    sha256 = "13216b8rfkzak5k6bvpx6jvqv3cnbgpijnjwj8a8d3kq4cl0a1ra";
+    sha256 = "sha256-7G8G10lc26N6cyA5+bXhV4vLKWV2/eDaQO2y9SIg3zw=";
   };
 
   nativeBuildInputs = [ makeWrapper libxslt docbook_xsl ];
diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix
index 5d0170ec735..b478ab4886b 100644
--- a/pkgs/tools/X11/xpra/default.nix
+++ b/pkgs/tools/X11/xpra/default.nix
@@ -89,6 +89,7 @@ in buildPythonApplication rec {
   INCLUDE_DIRS = "${pam}/include";
 
   nativeBuildInputs = [
+    gobject-introspection
     pkg-config
     wrapGAppsHook
     pandoc
@@ -119,7 +120,6 @@ in buildPythonApplication rec {
     ffmpeg
     gdk-pixbuf
     glib
-    gobject-introspection
     gtk3
     librsvg
     libvpx
diff --git a/pkgs/tools/X11/xwallpaper/default.nix b/pkgs/tools/X11/xwallpaper/default.nix
index a05ef18dc99..051a3a0d0fe 100644
--- a/pkgs/tools/X11/xwallpaper/default.nix
+++ b/pkgs/tools/X11/xwallpaper/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xwallpaper";
-  version = "0.7.3";
+  version = "0.7.4";
 
   src = fetchFromGitHub {
     owner = "stoeckmann";
     repo = "xwallpaper";
     rev = "v${version}";
-    sha256 = "sha256-O4VynpP3VJY/p6+NLUuKetwoMfbp93aXTiRoQJkgW+c=";
+    sha256 = "sha256-onxneLmXs1rYwpTzcnn+rbDboWVoEQgtGMHx/bMPRa8=";
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook installShellFiles ];
diff --git a/pkgs/tools/admin/awscli/default.nix b/pkgs/tools/admin/awscli/default.nix
index c997acd60ef..df3953b030f 100644
--- a/pkgs/tools/admin/awscli/default.nix
+++ b/pkgs/tools/admin/awscli/default.nix
@@ -35,11 +35,11 @@ let
 in
 with py.pkgs; buildPythonApplication rec {
   pname = "awscli";
-  version = "1.25.31"; # N.B: if you change this, change botocore and boto3 to a matching version too
+  version = "1.25.42"; # N.B: if you change this, change botocore and boto3 to a matching version too
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-z5FA8Xmv8Abqh/ckYB5Bcgwrnd0FlHJQJi562tLZ3hE=";
+    hash = "sha256-5DH3Ik0DHmHfZ+XfFjmC2CL5WRoA9ENgzDeYfCgwtTI=";
   };
 
   # https://github.com/aws/aws-cli/issues/4837
diff --git a/pkgs/tools/admin/copilot-cli/default.nix b/pkgs/tools/admin/copilot-cli/default.nix
index 3e12116d6e2..c58adf042d7 100644
--- a/pkgs/tools/admin/copilot-cli/default.nix
+++ b/pkgs/tools/admin/copilot-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "copilot-cli";
-  version = "1.19.0";
+  version = "1.20.0";
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2zF/cBc6TjAcFAI3zJ0yBQrVWDK5nkxYYkb04bjSjgY=";
+    sha256 = "sha256-l6XFaM5eShXrpuZgTfzceNu8U7Z5WnKBi/qoimj/8HM=";
   };
 
-  vendorSha256 = "sha256-1UFahXol1Lceccr/f24Mbhtk8bWyh4+Mb5VYZvF6VWs=";
+  vendorSha256 = "sha256-AXwiccfSxeX0NDIODEK+JvVjhcBNNpnZnLKGlDPWy48=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/admin/fastlane/Gemfile.lock b/pkgs/tools/admin/fastlane/Gemfile.lock
index 6f8de9b9a34..9b6bf65de55 100644
--- a/pkgs/tools/admin/fastlane/Gemfile.lock
+++ b/pkgs/tools/admin/fastlane/Gemfile.lock
@@ -8,8 +8,8 @@ GEM
     artifactory (3.0.15)
     atomos (0.1.3)
     aws-eventstream (1.2.0)
-    aws-partitions (1.608.0)
-    aws-sdk-core (3.131.3)
+    aws-partitions (1.617.0)
+    aws-sdk-core (3.132.0)
       aws-eventstream (~> 1, >= 1.0.2)
       aws-partitions (~> 1, >= 1.525.0)
       aws-sigv4 (~> 1.1)
@@ -34,10 +34,10 @@ GEM
       rake (>= 12.0.0, < 14.0.0)
     domain_name (0.5.20190701)
       unf (>= 0.0.5, < 1.0.0)
-    dotenv (2.7.6)
+    dotenv (2.8.1)
     emoji_regex (3.2.3)
-    excon (0.92.3)
-    faraday (1.10.0)
+    excon (0.92.4)
+    faraday (1.10.1)
       faraday-em_http (~> 1.0)
       faraday-em_synchrony (~> 1.0)
       faraday-excon (~> 1.1)
@@ -66,7 +66,7 @@ GEM
     faraday_middleware (1.2.0)
       faraday (~> 1.0)
     fastimage (2.2.6)
-    fastlane (2.208.0)
+    fastlane (2.209.0)
       CFPropertyList (>= 2.3, < 4.0.0)
       addressable (>= 2.8, < 3.0.0)
       artifactory (~> 3.0)
@@ -215,4 +215,4 @@ DEPENDENCIES
   fastlane
 
 BUNDLED WITH
-   2.3.9
+   2.3.20
diff --git a/pkgs/tools/admin/fastlane/gemset.nix b/pkgs/tools/admin/fastlane/gemset.nix
index 45df8e93857..88659c24c71 100644
--- a/pkgs/tools/admin/fastlane/gemset.nix
+++ b/pkgs/tools/admin/fastlane/gemset.nix
@@ -45,10 +45,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qym8s8msgpm0ybx34i0nmr8hvmvxn6x785kxymq7cf63hbpf2a0";
+      sha256 = "01fd3g1iic8agjbnynrqdvh95csvy1qf2x6v8zla5m2sx5xq3k88";
       type = "gem";
     };
-    version = "1.608.0";
+    version = "1.617.0";
   };
   aws-sdk-core = {
     dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"];
@@ -56,10 +56,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ri89cvl1wj3w64wx6l57fnv3w2mpgn03rfhpn2l7nl5lhn2d5x2";
+      sha256 = "0lal5x2qkz6ip36ladynb29j65brq8bbdcgx6cwbybsyadwcf693";
       type = "gem";
     };
-    version = "3.131.3";
+    version = "3.132.0";
   };
   aws-sdk-kms = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -193,10 +193,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0iym172c5337sm1x2ykc2i3f961vj3wdclbyg1x6sxs3irgfsl94";
+      sha256 = "1n0pi8x8ql5h1mijvm8lgn6bhq4xjb5a500p5r1krq4s6j9lg565";
       type = "gem";
     };
-    version = "2.7.6";
+    version = "2.8.1";
   };
   emoji_regex = {
     groups = ["default"];
@@ -213,10 +213,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rv2hq29lx2337214a1p2qy70fi77ch6p0p77nw9h6x84q028qr0";
+      sha256 = "0cdc76kgr4f1mq4jwbmq1qvr9c15hb4r1cx4dvrdra13vy9sckb5";
       type = "gem";
     };
-    version = "0.92.3";
+    version = "0.92.4";
   };
   faraday = {
     dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-multipart" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "faraday-retry" "ruby2_keywords"];
@@ -224,10 +224,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00palwawk897p5gypw5wjrh93d4p0xz2yl9w93yicb4kq7amh8d4";
+      sha256 = "037w5kg3y9jrwgg7izfn1pmzngy0hdhcr7slmxwqa3mdb4rx9r9q";
       type = "gem";
     };
-    version = "1.10.0";
+    version = "1.10.1";
   };
   faraday-cookie_jar = {
     dependencies = ["faraday" "http-cookie"];
@@ -368,10 +368,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00wv58qhf6kywqzj6ynlgh718h43269c93jfh24h0jknb9gkq8wa";
+      sha256 = "1119ahlcc26s6ii12sjv26fnrcdnw6srl17wa82ynqsgya5gyxrd";
       type = "gem";
     };
-    version = "2.208.0";
+    version = "2.209.0";
   };
   gh_inspector = {
     groups = ["default"];
diff --git a/pkgs/tools/admin/gtk-vnc/default.nix b/pkgs/tools/admin/gtk-vnc/default.nix
index f4c4b0facde..0f649a6948f 100644
--- a/pkgs/tools/admin/gtk-vnc/default.nix
+++ b/pkgs/tools/admin/gtk-vnc/default.nix
@@ -9,6 +9,7 @@
 , glib
 , pkg-config
 , cyrus_sasl
+, pulseaudioSupport ? stdenv.isLinux
 , libpulseaudio
 , libgcrypt
 , gtk3
@@ -51,8 +52,13 @@ stdenv.mkDerivation rec {
     glib
     libgcrypt
     cyrus_sasl
-    libpulseaudio
     gtk3
+  ] ++ lib.optionals pulseaudioSupport [
+    libpulseaudio
+  ];
+
+  mesonFlags = lib.optionals (!pulseaudioSupport) [
+    "-Dpulseaudio=disabled"
   ];
 
   passthru = {
@@ -67,6 +73,6 @@ stdenv.mkDerivation rec {
     homepage = "https://wiki.gnome.org/Projects/gtk-vnc";
     license = licenses.lgpl2Plus;
     maintainers = with maintainers; [ raskin offline ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/admin/kics/default.nix b/pkgs/tools/admin/kics/default.nix
index c6cc5db4027..8bf7544fdba 100644
--- a/pkgs/tools/admin/kics/default.nix
+++ b/pkgs/tools/admin/kics/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kics";
-  version = "1.5.12";
+  version = "1.5.13";
 
   src = fetchFromGitHub {
     owner = "Checkmarx";
     repo = "kics";
     rev = "v${version}";
-    sha256 = "sha256-jHspStyjq5T9jzYDRYaf2gOI4F/X+h4nDn0PFUOHoBY=";
+    sha256 = "sha256-+trrtcK0zIjgl8SzURbvaabB/RtDKMEYyU8ZttD0hOs=";
   };
 
-  vendorSha256 = "sha256-q5NuuP04kOoLVj210s17fIW2cxrsC/tAyET8YYGai0M=";
+  vendorSha256 = "sha256-/hoyT/PJ/nEQFg/1CJTb4lwOQ8ZYZtuHQeQUpPZepvc=";
 
   subPackages = [ "cmd/console" ];
 
diff --git a/pkgs/tools/admin/lxd/default.nix b/pkgs/tools/admin/lxd/default.nix
index 99515ce997e..a3a64d361c6 100644
--- a/pkgs/tools/admin/lxd/default.nix
+++ b/pkgs/tools/admin/lxd/default.nix
@@ -62,7 +62,7 @@ buildGoPackage rec {
     homepage = "https://linuxcontainers.org/lxd/";
     changelog = "https://github.com/lxc/lxd/releases/tag/lxd-${version}";
     license = licenses.asl20;
-    maintainers = with maintainers; [ fpletz marsam ];
+    maintainers = with maintainers; [ marsam ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/admin/pgadmin/default.nix b/pkgs/tools/admin/pgadmin/default.nix
index 9d7fa718a4f..dadd7982492 100644
--- a/pkgs/tools/admin/pgadmin/default.nix
+++ b/pkgs/tools/admin/pgadmin/default.nix
@@ -10,11 +10,11 @@
 
 let
   pname = "pgadmin";
-  version = "6.11";
+  version = "6.12";
 
   src = fetchurl {
     url = "https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v${version}/source/pgadmin4-${version}.tar.gz";
-    sha256 = "sha256-1MvvQvVoWiV5hhgJUcAHbMyZzkADunLtwmszaO4EeCA=";
+    sha256 = "sha256-cO7GdZDfJ0pq1jpMyrVy0UM49WhrKOIJOmMJauSkbyo=";
   };
 
   yarnDeps = mkYarnModules {
@@ -72,7 +72,7 @@ let
     azure-identity
   ];
 
-  # override necessary on pgadmin4 6.11
+  # override necessary on pgadmin4 6.12
   pythonPackages = python3.pkgs.overrideScope (final: prev: rec {
     werkzeug = prev.werkzeug.overridePythonAttrs (oldAttrs: rec {
       version = "2.0.3";
diff --git a/pkgs/tools/admin/pgadmin/expose-setup.py.patch b/pkgs/tools/admin/pgadmin/expose-setup.py.patch
index 0b1cb8f95e9..13f7d5069c6 100644
--- a/pkgs/tools/admin/pgadmin/expose-setup.py.patch
+++ b/pkgs/tools/admin/pgadmin/expose-setup.py.patch
@@ -1,9 +1,3 @@
-From 391433d020da52fba28ad08beb2cc85ffd852044 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= <mkg20001@gmail.com>
-Date: Wed, 23 Feb 2022 14:40:11 +0100
-Subject: [PATCH] Expose setup.py as pgadmin4-setup
-
----
  pkg/pip/setup_pip.py |  5 ++++-
  web/setup.py         | 14 ++++++++------
  2 files changed, 12 insertions(+), 7 deletions(-)
@@ -25,41 +19,42 @@ index 5592d1b04..131eaa1ed 100644
  
  )
 diff --git a/web/setup.py b/web/setup.py
-index 5f4257e86..df970f049 100644
+index 2204ffb..d5fda9f 100644
 --- a/web/setup.py
 +++ b/web/setup.py
-@@ -32,6 +32,10 @@ from pgadmin import create_app
- from pgadmin.utils import clear_database_servers, dump_database_servers,\
-     load_database_servers
- 
-+# Configuration settings
-+import config
-+from pgadmin.model import SCHEMA_VERSION
-+from pgadmin.setup import db_upgrade, create_app_data_directory
- 
- def dump_servers(args):
-     """Dump the server groups and servers.
-@@ -139,12 +143,7 @@ def clear_servers():
+@@ -14,7 +14,6 @@ import argparse
+ import os
+ import sys
+ import builtins
+-import config
+
+ # Grab the SERVER_MODE if it's been set by the runtime
+ if 'SERVER_MODE' in globals():
+@@ -91,6 +90,9 @@ def load_servers(args):
+ def setup_db(app):
+     """Setup the configuration database."""
+
++    # here we need an additional import, since the call to setup_db changed
++    # https://redmine.postgresql.org/projects/pgadmin4/repository/2/revisions/3a69d50458f57d19948b867aec55c55d635a36e5/diff/web/setup.py
++    import config
+     create_app_data_directory(config)
+
+     print("pgAdmin 4 - Application Initialisation")
+@@ -139,8 +141,9 @@ def clear_servers():
          clear_database_servers(load_user, True)
- 
- 
+
+
 -if __name__ == '__main__':
--    # Configuration settings
--    import config
--    from pgadmin.model import SCHEMA_VERSION
--    from pgadmin.setup import db_upgrade, create_app_data_directory
--
 +def main():
+     # Configuration settings
++    import config
      parser = argparse.ArgumentParser(description='Setup the pgAdmin config DB')
- 
+
      exp_group = parser.add_argument_group('Dump server config')
-@@ -194,3 +193,6 @@ if __name__ == '__main__':
-             print(str(e))
+@@ -191,3 +194,6 @@ if __name__ == '__main__':
      else:
-         setup_db()
+         app = create_app()
+         setup_db(app)
 +
 +if __name__ == '__main__':
 +    main()
--- 
-2.35.1
-
diff --git a/pkgs/tools/admin/pgadmin/package.json b/pkgs/tools/admin/pgadmin/package.json
index 60eef375e59..bdcbe761b7f 100644
--- a/pkgs/tools/admin/pgadmin/package.json
+++ b/pkgs/tools/admin/pgadmin/package.json
@@ -70,7 +70,7 @@
     "webpack": "^5.21.2",
     "webpack-bundle-analyzer": "^4.4.0",
     "webpack-cli": "^4.5.0",
-    "yarn-audit-html": "^3.0.1"
+    "yarn-audit-html": "^4.0.0"
   },
   "dependencies": {
     "@babel/plugin-proposal-class-properties": "^7.10.4",
@@ -111,12 +111,12 @@
     "closest": "^0.0.1",
     "codemirror": "^5.59.2",
     "context-menu": "^2.0.0",
+    "convert-units": "^2.3.4",
     "css-loader": "^5.0.1",
     "cssnano": "^5.0.2",
     "dagre": "^0.8.4",
     "date-fns": "^2.24.0",
     "diff-arrays-of-objects": "^1.1.8",
-    "dropzone": "^5.9.3",
     "html2canvas": "^1.0.0-rc.7",
     "immutability-helper": "^3.0.0",
     "imports-loader": "^2.0.0",
@@ -124,7 +124,7 @@
     "ip-address": "^7.1.0",
     "jquery": "^3.6.0",
     "jquery-contextmenu": "^2.9.2",
-    "jquery-ui": "^1.13.0",
+    "jquery-ui": "^1.13.2",
     "json-bignumber": "^1.0.1",
     "jsoneditor": "^9.5.4",
     "jsoneditor-react": "^3.1.1",
@@ -132,7 +132,7 @@
     "leaflet": "^1.5.1",
     "lodash": "4.*",
     "ml-matrix": "^6.5.0",
-    "moment": "^2.29.3",
+    "moment": "^2.29.4",
     "moment-timezone": "^0.5.34",
     "mousetrap": "^1.6.3",
     "notificar": "^1.0.1",
@@ -150,6 +150,7 @@
     "react-data-grid": "git+https://github.com/adityatoshniwal/react-data-grid.git/#8d9bc16ddd7c419acfbbd1c1cc2b70eb9f5b453c",
     "react-dom": "^17.0.1",
     "react-draggable": "^4.4.4",
+    "react-dropzone": "^14.2.1",
     "react-leaflet": "^3.2.2",
     "react-rnd": "^10.3.5",
     "react-router-dom": "^6.2.2",
@@ -165,7 +166,6 @@
     "socket.io-client": "^4.0.0",
     "split.js": "^1.5.10",
     "styled-components": "^5.2.1",
-    "tablesorter": "^2.31.2",
     "tempusdominus-bootstrap-4": "^5.1.2",
     "tempusdominus-core": "^5.19.3",
     "underscore": "^1.13.1",
diff --git a/pkgs/tools/admin/pgadmin/yarn.lock b/pkgs/tools/admin/pgadmin/yarn.lock
index 182e681f917..df627ad8636 100644
--- a/pkgs/tools/admin/pgadmin/yarn.lock
+++ b/pkgs/tools/admin/pgadmin/yarn.lock
@@ -2098,10 +2098,10 @@
   resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.4.tgz#ecda5712b61ac852c760d8b3c79c96adca5554e5"
   integrity sha512-eYm8vijH/hpzr/6/1CJ/V/Eb1xQFW2nnUKArb3z+yUWv7HTwj6M7SP957oMjfZjAHU6qpoNc2wQvIxBLWYa/Jg==
 
-"@gar/promisify@^1.0.1":
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.2.tgz#30aa825f11d438671d585bd44e7fd564535fc210"
-  integrity sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw==
+"@gar/promisify@^1.1.3":
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6"
+  integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==
 
 "@humanwhocodes/config-array@^0.5.0":
   version "0.5.0"
@@ -2131,11 +2131,11 @@
     "@jridgewell/sourcemap-codec" "^1.4.10"
 
 "@jridgewell/gen-mapping@^0.3.0":
-  version "0.3.1"
-  resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz#cf92a983c83466b8c0ce9124fadeaf09f7c66ea9"
-  integrity sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==
+  version "0.3.2"
+  resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9"
+  integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==
   dependencies:
-    "@jridgewell/set-array" "^1.0.0"
+    "@jridgewell/set-array" "^1.0.1"
     "@jridgewell/sourcemap-codec" "^1.4.10"
     "@jridgewell/trace-mapping" "^0.3.9"
 
@@ -2144,11 +2144,19 @@
   resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.4.tgz#b876e3feefb9c8d3aa84014da28b5e52a0640d72"
   integrity sha512-cz8HFjOFfUBtvN+NXYSFMHYRdxZMaEl0XypVrhzxBgadKIXhIkRd8aMeHhmF56Sl7SuS8OnUpQ73/k9LE4VnLg==
 
-"@jridgewell/set-array@^1.0.0":
+"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1":
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.1.tgz#36a6acc93987adcf0ba50c66908bd0b70de8afea"
   integrity sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==
 
+"@jridgewell/source-map@^0.3.2":
+  version "0.3.2"
+  resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb"
+  integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==
+  dependencies:
+    "@jridgewell/gen-mapping" "^0.3.0"
+    "@jridgewell/trace-mapping" "^0.3.9"
+
 "@jridgewell/sourcemap-codec@^1.4.10":
   version "1.4.13"
   resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz#b6461fb0c2964356c469e115f504c95ad97ab88c"
@@ -2277,18 +2285,18 @@
     "@nodelib/fs.scandir" "2.1.5"
     fastq "^1.6.0"
 
-"@npmcli/fs@^1.0.0":
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.0.0.tgz#589612cfad3a6ea0feafcb901d29c63fd52db09f"
-  integrity sha512-8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ==
+"@npmcli/fs@^2.1.0":
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.1.tgz#c0c480b03450d8b9fc086816a50cb682668a48bf"
+  integrity sha512-1Q0uzx6c/NVNGszePbr5Gc2riSU1zLpNlo/1YWntH+eaPmMgBssAW0qXofCVkpdj3ce4swZtlDYQu+NKiYcptg==
   dependencies:
-    "@gar/promisify" "^1.0.1"
+    "@gar/promisify" "^1.1.3"
     semver "^7.3.5"
 
-"@npmcli/move-file@^1.0.1":
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674"
-  integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==
+"@npmcli/move-file@^2.0.0":
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-2.0.0.tgz#417f585016081a0184cef3e38902cd917a9bbd02"
+  integrity sha512-UR6D5f4KEGWJV6BGPH3Qb2EtgH+t+1XQ1Tt85c7qicN6cezzuHPdZwwAxqZr4JLtnQu0LZsTza/5gmNmSl8XLg==
   dependencies:
     mkdirp "^1.0.4"
     rimraf "^3.0.2"
@@ -2500,10 +2508,10 @@
   dependencies:
     tippy.js "^6.3.1"
 
-"@tootallnate/once@1":
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82"
-  integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==
+"@tootallnate/once@2":
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf"
+  integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==
 
 "@trysound/sax@0.2.0":
   version "0.2.0"
@@ -2640,19 +2648,19 @@
   dependencies:
     "@types/react" "*"
 
-"@vusion/webfonts-generator@^0.7.2":
-  version "0.7.3"
-  resolved "https://registry.yarnpkg.com/@vusion/webfonts-generator/-/webfonts-generator-0.7.3.tgz#f940348b6251edfba4b2961097f44a391670e63d"
-  integrity sha512-0qDx8stMupH3s4WDVw2y347XEMvR+OSZIOYEdoD9YIw7ZRq9GA+B2GtR7KPPoGHbzWWR+VGkzplPO5tfukewiw==
+"@vusion/webfonts-generator@^0.8.0":
+  version "0.8.0"
+  resolved "https://registry.yarnpkg.com/@vusion/webfonts-generator/-/webfonts-generator-0.8.0.tgz#3ff41b9ec4b83decd87650637ee050741741e794"
+  integrity sha512-1q17CF6umBEjlAtO37TzRw3aOCCAyFX+T4HPG70BmM6qx8s6H4/LQOa8eHFZq/oiMuMyd0FehKgUt/pqYlIMWA==
   dependencies:
     handlebars "^4.0.11"
     mkdirp "^1.0.4"
     q "^1.1.2"
-    svg2ttf "^5.0.0"
-    svgicons2svgfont "^9.0.3"
-    ttf2eot "^2.0.0"
-    ttf2woff "^2.0.1"
-    ttf2woff2 "^4.0.1"
+    svg2ttf "^6.0.3"
+    svgicons2svgfont "^10.0.4"
+    ttf2eot "^3.0.0"
+    ttf2woff "^3.0.0"
+    ttf2woff2 "^4.0.4"
     underscore "^1.9.1"
     url-join "^4.0.0"
 
@@ -2809,6 +2817,11 @@
     react-test-renderer "^17.0.0"
     semver "^5.7.0"
 
+"@xmldom/xmldom@^0.7.2":
+  version "0.7.5"
+  resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.7.5.tgz#09fa51e356d07d0be200642b0e4f91d8e6dd408d"
+  integrity sha512-V3BIhmY36fXZ1OtVcI9W+FxQqxVLsPKcNjWigIaa81dLC9IolJl5Mt4Cvhmr0flUnjSpTdrbMTSbXqYqV5dT6A==
+
 "@xtuc/ieee754@^1.2.0":
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790"
@@ -2822,7 +2835,7 @@
 FileSaver@^0.10.0:
   version "0.10.0"
   resolved "https://registry.yarnpkg.com/FileSaver/-/FileSaver-0.10.0.tgz#7def3889944458042ef5df2e9064c88e3d2281c7"
-  integrity sha1-fe84iZREWAQu9d8ukGTIjj0igcc=
+  integrity sha512-W+syaSPuxeh8yRPinETA4RlBO0ZuyM8IQIln8Y/pYZ136+pxqr64/JRx8rDm3uVqvgQ4xIHgAmZoepujBT1mvg==
 
 JSONStream@^1.0.3:
   version "1.3.5"
@@ -2889,6 +2902,11 @@ acorn@^8.0.4, acorn@^8.4.1:
   resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2"
   integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==
 
+acorn@^8.5.0:
+  version "8.7.1"
+  resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30"
+  integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==
+
 agent-base@6, agent-base@^6.0.2:
   version "6.0.2"
   resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
@@ -2896,10 +2914,10 @@ agent-base@6, agent-base@^6.0.2:
   dependencies:
     debug "4"
 
-agentkeepalive@^4.1.3:
-  version "4.1.4"
-  resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.1.4.tgz#d928028a4862cb11718e55227872e842a44c945b"
-  integrity sha512-+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ==
+agentkeepalive@^4.2.1:
+  version "4.2.1"
+  resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.2.1.tgz#a7975cbb9f83b367f06c90cc51ff28fe7d499717"
+  integrity sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==
   dependencies:
     debug "^4.1.0"
     depd "^1.1.2"
@@ -2941,7 +2959,7 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.5.2:
 ajv@^5.0.0:
   version "5.5.2"
   resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
-  integrity sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=
+  integrity sha512-Ajr4IcMXq/2QmMkEmSvxqfLN5zGmJ92gHXAeOXq1OekoH2rfDNsgdDoL2f7QaRCy7G/E6TpxBVdRuNraMztGHw==
   dependencies:
     co "^4.6.0"
     fast-deep-equal "^1.0.0"
@@ -2985,7 +3003,7 @@ ajv@^8.8.2:
 alphanum-sort@^1.0.2:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
-  integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=
+  integrity sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ==
 
 ansi-colors@^4.1.1:
   version "4.1.1"
@@ -2995,7 +3013,7 @@ ansi-colors@^4.1.1:
 ansi-regex@^2.0.0:
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
-  integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
+  integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==
 
 ansi-regex@^5.0.1:
   version "5.0.1"
@@ -3005,7 +3023,7 @@ ansi-regex@^5.0.1:
 ansi-styles@^2.2.1:
   version "2.2.1"
   resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
-  integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
+  integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==
 
 ansi-styles@^3.2.1:
   version "3.2.1"
@@ -3037,20 +3055,20 @@ anymatch@~3.1.2:
     normalize-path "^3.0.0"
     picomatch "^2.0.4"
 
-aproba@^1.0.3:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
-  integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
+"aproba@^1.0.3 || ^2.0.0":
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc"
+  integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==
 
-are-we-there-yet@~1.1.2:
-  version "1.1.7"
-  resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz#b15474a932adab4ff8a50d9adfa7e4e926f21146"
-  integrity sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==
+are-we-there-yet@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz#ba20bd6b553e31d62fc8c31bd23d22b95734390d"
+  integrity sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==
   dependencies:
     delegates "^1.0.0"
-    readable-stream "^2.0.6"
+    readable-stream "^3.6.0"
 
-argparse@^1.0.6, argparse@^1.0.7:
+argparse@^1.0.7:
   version "1.0.10"
   resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
   integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
@@ -3112,16 +3130,6 @@ array.prototype.flat@^1.2.3:
     define-properties "^1.1.3"
     es-abstract "^1.19.0"
 
-array.prototype.flatmap@1.2.4:
-  version "1.2.4"
-  resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz#94cfd47cc1556ec0747d97f7c7738c58122004c9"
-  integrity sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q==
-  dependencies:
-    call-bind "^1.0.0"
-    define-properties "^1.1.3"
-    es-abstract "^1.18.0-next.1"
-    function-bind "^1.1.1"
-
 array.prototype.flatmap@^1.2.4:
   version "1.2.5"
   resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz#908dc82d8a406930fdf38598d51e7411d18d4446"
@@ -3183,11 +3191,6 @@ astral-regex@^2.0.0:
   resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
   integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
 
-async@0.9.x:
-  version "0.9.2"
-  resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d"
-  integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=
-
 async@^2.1.4:
   version "2.6.4"
   resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221"
@@ -3200,6 +3203,16 @@ async@^3.2.0:
   resolved "https://registry.yarnpkg.com/async/-/async-3.2.2.tgz#2eb7671034bb2194d45d30e31e24ec7e7f9670cd"
   integrity sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g==
 
+async@^3.2.3:
+  version "3.2.4"
+  resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c"
+  integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==
+
+attr-accept@^2.2.2:
+  version "2.2.2"
+  resolved "https://registry.yarnpkg.com/attr-accept/-/attr-accept-2.2.2.tgz#646613809660110749e92f2c10833b70968d929b"
+  integrity sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==
+
 autoprefixer@^10.2.4:
   version "10.4.0"
   resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.0.tgz#c3577eb32a1079a440ec253e404eaf1eb21388c8"
@@ -3236,7 +3249,7 @@ axios@^0.21.1:
 babel-code-frame@^6.26.0:
   version "6.26.0"
   resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
-  integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=
+  integrity sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==
   dependencies:
     chalk "^1.1.3"
     esutils "^2.0.2"
@@ -3269,7 +3282,7 @@ babel-loader@^8.1.0:
 babel-messages@^6.23.0:
   version "6.23.0"
   resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
-  integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=
+  integrity sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==
   dependencies:
     babel-runtime "^6.22.0"
 
@@ -3366,12 +3379,12 @@ babel-plugin-polyfill-regenerator@^0.3.0:
 babel-plugin-syntax-jsx@^6.18.0:
   version "6.18.0"
   resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946"
-  integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=
+  integrity sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==
 
 babel-runtime@^6.22.0, babel-runtime@^6.26.0:
   version "6.26.0"
   resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
-  integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4=
+  integrity sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==
   dependencies:
     core-js "^2.4.0"
     regenerator-runtime "^0.11.0"
@@ -3379,7 +3392,7 @@ babel-runtime@^6.22.0, babel-runtime@^6.26.0:
 babel-template@^6.16.0:
   version "6.26.0"
   resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02"
-  integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=
+  integrity sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==
   dependencies:
     babel-runtime "^6.26.0"
     babel-traverse "^6.26.0"
@@ -3390,7 +3403,7 @@ babel-template@^6.16.0:
 babel-traverse@^6.18.0, babel-traverse@^6.26.0:
   version "6.26.0"
   resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
-  integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=
+  integrity sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==
   dependencies:
     babel-code-frame "^6.26.0"
     babel-messages "^6.23.0"
@@ -3405,7 +3418,7 @@ babel-traverse@^6.18.0, babel-traverse@^6.26.0:
 babel-types@^6.18.0, babel-types@^6.26.0:
   version "6.26.0"
   resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
-  integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=
+  integrity sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==
   dependencies:
     babel-runtime "^6.26.0"
     esutils "^2.0.2"
@@ -3425,7 +3438,7 @@ babylon@^6.18.0:
 "backbone@1.1.2 || 1.2.3 || ~1.3.2":
   version "1.3.3"
   resolved "https://registry.yarnpkg.com/backbone/-/backbone-1.3.3.tgz#4cc80ea7cb1631ac474889ce40f2f8bc683b2999"
-  integrity sha1-TMgOp8sWMaxHSInOQPL4vGg7KZk=
+  integrity sha512-aK+k3TiU4tQDUrRCymDDE7XDFnMVuyE6zbZ4JX7mb4pJbQTVOH997/kyBzb8wB2s5Y/Oh7EUfj+sZhwRPxWwow==
   dependencies:
     underscore ">=1.8.3"
 
@@ -3439,19 +3452,19 @@ backbone@1.4.0:
 backbone@~1.2.3:
   version "1.2.3"
   resolved "https://registry.yarnpkg.com/backbone/-/backbone-1.2.3.tgz#c22cfd07fc86ebbeae61d18929ed115e999d65b9"
-  integrity sha1-wiz9B/yG676uYdGJKe0RXpmdZbk=
+  integrity sha512-1/eXj4agG79UDN7TWnZXcGD6BJrBwLZKCX7zYcBIy9jWf4mrtVkw7IE1VOYFnrKahsmPF9L55Tib9IQRvk027w==
   dependencies:
     underscore ">=1.7.0"
 
 backform@^0.2.0:
   version "0.2.0"
   resolved "https://registry.yarnpkg.com/backform/-/backform-0.2.0.tgz#b14cb8deb08c863fc595a2bc505066e32a2ad4ce"
-  integrity sha1-sUy43rCMhj/FlaK8UFBm4yoq1M4=
+  integrity sha512-QYwlItiVqb4CDELHyBC+TM4UcoG6Mw/al+PUDUVbQ7OJojpQHaa2TV8uJHhMR6o/Xq4FGt+52qIZLp36dletfw==
 
 backgrid-filter@^0.3.7:
   version "0.3.7"
   resolved "https://registry.yarnpkg.com/backgrid-filter/-/backgrid-filter-0.3.7.tgz#d4b19d0e707013d7f181f9e8c7febb4997d56f03"
-  integrity sha1-1LGdDnBwE9fxgfnox/67SZfVbwM=
+  integrity sha512-HKWOXXd/dES5Ll3R1+vsfPYO7yVQ0V4+h8cPirFqci4oKTyyZVJupXM2fINhqm0On9dvHijHje8h4X+Wg621gw==
   dependencies:
     backbone "~1.2.3"
     backgrid "~0.3.7"
@@ -3461,12 +3474,12 @@ backgrid-filter@^0.3.7:
 backgrid-select-all@^0.3.5:
   version "0.3.5"
   resolved "https://registry.yarnpkg.com/backgrid-select-all/-/backgrid-select-all-0.3.5.tgz#143a800e5d95ff2ae5a84d78bf4fba41f9481e94"
-  integrity sha1-FDqADl2V/yrlqE14v0+6QflIHpQ=
+  integrity sha512-bwMQi5d8AnBSZDiV4nWrXcOSmEODbxB6/70mSHG8cGoDfjgW5X7mLiXlmlgEP3VsA1avFD6VvCvpAKZ4BS5f9Q==
 
 backgrid@~0.3.7:
   version "0.3.8"
   resolved "https://registry.yarnpkg.com/backgrid/-/backgrid-0.3.8.tgz#7d26816742d72c859cad39b13f19c9f27baffed7"
-  integrity sha1-fSaBZ0LXLIWcrTmxPxnJ8nuv/tc=
+  integrity sha512-Klzo941ahoj8Kqd0tRsau+VfXddV3YnQTwb6wVwIaaQxoJ9ORykQy2MNit1MUBnZO6IValYJPvCQyvZhnV6Lfg==
   dependencies:
     backbone "1.1.2 || 1.2.3 || ~1.3.2"
     underscore "^1.8.0"
@@ -3474,7 +3487,7 @@ backgrid@~0.3.7:
 backo2@~1.0.2:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947"
-  integrity sha1-MasayLEpNjRj41s+u2n038+6eUc=
+  integrity sha512-zj6Z6M7Eq+PBZ7PQxl5NT665MvJdAkzp0f60nAJ+sLaSCBPMwVak5ZegFbgVCzFcCJTKFoMizvM5Ld7+JrRJHA==
 
 balanced-match@^1.0.0:
   version "1.0.2"
@@ -3557,7 +3570,7 @@ body-parser@^1.19.0:
 boolbase@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
-  integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24=
+  integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==
 
 bootstrap-datepicker@^1.8.0:
   version "1.9.0"
@@ -3589,10 +3602,17 @@ brace-expansion@^1.1.7:
     balanced-match "^1.0.0"
     concat-map "0.0.1"
 
+brace-expansion@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
+  integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
+  dependencies:
+    balanced-match "^1.0.0"
+
 brace@^0.11.1:
   version "0.11.1"
   resolved "https://registry.yarnpkg.com/brace/-/brace-0.11.1.tgz#4896fcc9d544eef45f4bb7660db320d3b379fe58"
-  integrity sha1-SJb8ydVE7vRfS7dmDbMg07N5/lg=
+  integrity sha512-Fc8Ne62jJlKHiG/ajlonC4Sd66Pq68fFwK4ihJGNZpGqboc324SQk+lRvMzpPRuJOmfrJefdG8/7JdWX4bzJ2Q==
 
 braces@^3.0.1, braces@^3.0.2, braces@~3.0.2:
   version "3.0.2"
@@ -3604,7 +3624,7 @@ braces@^3.0.1, braces@^3.0.2, braces@~3.0.2:
 brorand@^1.0.1, brorand@^1.1.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
-  integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=
+  integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==
 
 browser-pack@^6.0.1:
   version "6.1.0"
@@ -3789,7 +3809,7 @@ buffer-from@^1.0.0:
 buffer-xor@^1.0.3:
   version "1.0.3"
   resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
-  integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=
+  integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==
 
 buffer@^6.0.3:
   version "6.0.3"
@@ -3817,41 +3837,41 @@ bufferstreams@^3.0.0:
 builtin-status-codes@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
-  integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=
+  integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==
 
 bytes@3.1.0:
   version "3.1.0"
   resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
   integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
 
-cacache@^15.2.0:
-  version "15.3.0"
-  resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb"
-  integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==
+cacache@^16.1.0:
+  version "16.1.1"
+  resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.1.tgz#4e79fb91d3efffe0630d5ad32db55cc1b870669c"
+  integrity sha512-VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg==
   dependencies:
-    "@npmcli/fs" "^1.0.0"
-    "@npmcli/move-file" "^1.0.1"
+    "@npmcli/fs" "^2.1.0"
+    "@npmcli/move-file" "^2.0.0"
     chownr "^2.0.0"
-    fs-minipass "^2.0.0"
-    glob "^7.1.4"
+    fs-minipass "^2.1.0"
+    glob "^8.0.1"
     infer-owner "^1.0.4"
-    lru-cache "^6.0.0"
-    minipass "^3.1.1"
+    lru-cache "^7.7.1"
+    minipass "^3.1.6"
     minipass-collect "^1.0.2"
     minipass-flush "^1.0.5"
-    minipass-pipeline "^1.2.2"
-    mkdirp "^1.0.3"
+    minipass-pipeline "^1.2.4"
+    mkdirp "^1.0.4"
     p-map "^4.0.0"
     promise-inflight "^1.0.1"
     rimraf "^3.0.2"
-    ssri "^8.0.1"
-    tar "^6.0.2"
+    ssri "^9.0.0"
+    tar "^6.1.11"
     unique-filename "^1.1.1"
 
 cached-path-relative@^1.0.0, cached-path-relative@^1.0.2:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/cached-path-relative/-/cached-path-relative-1.1.0.tgz#865576dfef39c0d6a7defde794d078f5308e3ef3"
-  integrity "sha1-hlV23+85wNan3v3nlNB49TCOPvM= sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA=="
+  integrity sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==
 
 call-bind@^1.0.0, call-bind@^1.0.2:
   version "1.0.2"
@@ -3889,7 +3909,7 @@ camelcase@^6.3.0:
 camelize@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.0.tgz#164a5483e630fa4321e5af07020e531831b2609b"
-  integrity sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=
+  integrity sha512-W2lPwkBkMZwFlPCXhIlYgxu+7gC/NUlCtdK652DAJ1JdgV0sTrvuPFshNPrFa1TY2JOkLhgdeEBplB4ezEa+xg==
 
 caniuse-api@^3.0.0:
   version "3.0.0"
@@ -3903,7 +3923,7 @@ caniuse-api@^3.0.0:
 
 caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001272, caniuse-lite@^1.0.30001274, caniuse-lite@^1.0.30001286:
   version "1.0.30001338"
-  resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001338.tgz"
+  resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001338.tgz#b5dd7a7941a51a16480bdf6ff82bded1628eec0d"
   integrity sha512-1gLHWyfVoRDsHieO+CaeYe7jSo/MT7D7lhaXUiwwbuR5BwQxORs0f1tAwUSQr3YbxRXJvxHM/PA5FfPQRnsPeQ==
 
 caniuse-lite@^1.0.30001332:
@@ -3914,7 +3934,7 @@ caniuse-lite@^1.0.30001332:
 chalk@^1.1.3:
   version "1.1.3"
   resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
-  integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
+  integrity sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==
   dependencies:
     ansi-styles "^2.2.1"
     escape-string-regexp "^1.0.2"
@@ -3922,7 +3942,7 @@ chalk@^1.1.3:
     strip-ansi "^3.0.0"
     supports-color "^2.0.0"
 
-chalk@^2.0.0, chalk@^2.4.2:
+chalk@^2.0.0:
   version "2.4.2"
   resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
   integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
@@ -3931,7 +3951,7 @@ chalk@^2.0.0, chalk@^2.4.2:
     escape-string-regexp "^1.0.5"
     supports-color "^5.3.0"
 
-chalk@^4.0.0, chalk@^4.1.0:
+chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0:
   version "4.1.2"
   resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
   integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
@@ -4059,7 +4079,7 @@ clone-deep@^4.0.1:
 closest@^0.0.1:
   version "0.0.1"
   resolved "https://registry.yarnpkg.com/closest/-/closest-0.0.1.tgz#26da6f80b3e0e17e71f80f12782819e9f653495c"
-  integrity sha1-JtpvgLPg4X5x+A8SeCgZ6fZTSVw=
+  integrity sha512-HafRXTAiWp5nf6kxOy2EoIGSsJMn0zew9E5zp3Dy/8CXdp8GvVjZn1TSMEVdDxSP/acXZcWJWiIgF83Di7M1Ew==
   dependencies:
     matches-selector "0.0.1"
 
@@ -4071,12 +4091,7 @@ clsx@^1.0.2, clsx@^1.0.4, clsx@^1.1.0, clsx@^1.1.1:
 co@^4.6.0:
   version "4.6.0"
   resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
-  integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=
-
-code-point-at@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
-  integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
+  integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==
 
 codemirror@^5.59.2:
   version "5.63.3"
@@ -4100,13 +4115,18 @@ color-convert@^2.0.1:
 color-name@1.1.3:
   version "1.1.3"
   resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
-  integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
+  integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
 
 color-name@~1.1.4:
   version "1.1.4"
   resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
   integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
 
+color-support@^1.1.3:
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2"
+  integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==
+
 colord@^2.9.1:
   version "2.9.1"
   resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.1.tgz#c961ea0efeb57c9f0f4834458f26cb9cc4a3f90e"
@@ -4120,7 +4140,7 @@ colorette@^2.0.14:
 combine-source-map@^0.8.0, combine-source-map@~0.8.0:
   version "0.8.0"
   resolved "https://registry.yarnpkg.com/combine-source-map/-/combine-source-map-0.8.0.tgz#a58d0df042c186fcf822a8e8015f5450d2d79a8b"
-  integrity sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=
+  integrity sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==
   dependencies:
     convert-source-map "~1.1.0"
     inline-source-map "~0.6.0"
@@ -4132,25 +4152,20 @@ commander@^2.19.0, commander@^2.20.0:
   resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
   integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
 
-commander@^4.0.1:
-  version "4.1.1"
-  resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068"
-  integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
-
 commander@^7.0.0, commander@^7.2.0:
   version "7.2.0"
   resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7"
   integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
 
-commander@^8.2.0:
-  version "8.3.0"
-  resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66"
-  integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==
+commander@^9.3.0:
+  version "9.4.0"
+  resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.0.tgz#bc4a40918fefe52e22450c111ecd6b7acce6f11c"
+  integrity sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==
 
 commondir@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
-  integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=
+  integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==
 
 component-emitter@~1.3.0:
   version "1.3.0"
@@ -4160,7 +4175,7 @@ component-emitter@~1.3.0:
 concat-map@0.0.1:
   version "0.0.1"
   resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
-  integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
+  integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
 
 concat-stream@^1.6.0, concat-stream@^1.6.1, concat-stream@~1.6.0:
   version "1.6.2"
@@ -4187,15 +4202,15 @@ console-browserify@^1.1.0:
   resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336"
   integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==
 
-console-control-strings@^1.0.0, console-control-strings@~1.1.0:
+console-control-strings@^1.1.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
-  integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=
+  integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==
 
 constants-browserify@~1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
-  integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=
+  integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==
 
 content-type@~1.0.4:
   version "1.0.4"
@@ -4219,7 +4234,15 @@ convert-source-map@^1.5.0, convert-source-map@^1.7.0, convert-source-map@^1.8.0:
 convert-source-map@~1.1.0:
   version "1.1.3"
   resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.1.3.tgz#4829c877e9fe49b3161f3bf3673888e204699860"
-  integrity sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=
+  integrity sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==
+
+convert-units@^2.3.4:
+  version "2.3.4"
+  resolved "https://registry.yarnpkg.com/convert-units/-/convert-units-2.3.4.tgz#a279f4b3cb9b5d5094beba61abc742dcb46a180d"
+  integrity sha512-ERHfdA0UhHJp1IpwE6PnFJx8LqG7B1ZjJ20UvVCmopEnVCfER68Tbe3kvN63dLbYXDA2xFWRE6zd4Wsf0w7POg==
+  dependencies:
+    lodash.foreach "2.3.x"
+    lodash.keys "2.3.x"
 
 cookie@~0.4.1:
   version "0.4.1"
@@ -4368,7 +4391,7 @@ crypto-browserify@^3.0.0:
 css-color-keywords@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05"
-  integrity sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU=
+  integrity sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==
 
 css-color-names@^1.0.1:
   version "1.0.1"
@@ -4531,7 +4554,7 @@ csstype@^3.0.2:
   resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.9.tgz#6410af31b26bd0520933d02cbc64fce9ce3fbf0b"
   integrity sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==
 
-cubic2quad@^1.0.0:
+cubic2quad@^1.2.1:
   version "1.2.1"
   resolved "https://registry.yarnpkg.com/cubic2quad/-/cubic2quad-1.2.1.tgz#2442260b72c02ee4b6a2fe998fcc1c4073622286"
   integrity sha512-wT5Y7mO8abrV16gnssKdmIhIbA9wSkeMzhh27jAguKrV82i24wER0vL5TGhUJ9dbJNDcigoRZ0IAHFEEEI4THQ==
@@ -4539,7 +4562,7 @@ cubic2quad@^1.0.0:
 custom-event@~1.0.0:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425"
-  integrity sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=
+  integrity sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==
 
 dagre@^0.8.4:
   version "0.8.5"
@@ -4571,24 +4594,17 @@ debug@2.6.9, debug@^2.6.8:
   dependencies:
     ms "2.0.0"
 
-debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@~4.3.1:
-  version "4.3.2"
-  resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b"
-  integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==
-  dependencies:
-    ms "2.1.2"
-
-debug@^4.3.3, debug@~4.3.2:
-  version "4.3.3"
-  resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664"
-  integrity "sha1-BCZuC3CpjURi5uKI44JZITMytmQ= sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q=="
+debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.3, debug@~4.3.1, debug@~4.3.2:
+  version "4.3.4"
+  resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
+  integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
   dependencies:
     ms "2.1.2"
 
 decamelize-keys@^1.1.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9"
-  integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=
+  integrity sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==
   dependencies:
     decamelize "^1.1.0"
     map-obj "^1.0.0"
@@ -4596,7 +4612,7 @@ decamelize-keys@^1.1.0:
 decamelize@^1.1.0:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
-  integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
+  integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==
 
 decamelize@^5.0.0:
   version "5.0.1"
@@ -4611,7 +4627,7 @@ deep-diff@^1.0.2:
 deep-equal-ident@^1.1.1:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/deep-equal-ident/-/deep-equal-ident-1.1.1.tgz#06f4b89e53710cd6cea4a7781c7a956642de8dc9"
-  integrity sha1-BvS4nlNxDNbOpKd4HHqVZkLejck=
+  integrity sha512-aWv7VhTl/Lju1zenOD3E1w8PpUVrTDbwXCHtbSNr+p/uadr49Y1P1ld0W3Pl6gbvIbiRjoCVsqw70UupCNGh6g==
   dependencies:
     lodash.isequal "^3.0"
 
@@ -4635,17 +4651,17 @@ define-properties@^1.1.3:
 defined@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
-  integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=
+  integrity sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==
 
 delegates@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
-  integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
+  integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==
 
 depd@^1.1.2, depd@~1.1.2:
   version "1.1.2"
   resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
-  integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
+  integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==
 
 deps-sort@^2.0.1:
   version "2.0.1"
@@ -4668,7 +4684,7 @@ des.js@^1.0.0:
 detect-indent@^4.0.0:
   version "4.0.0"
   resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208"
-  integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg=
+  integrity sha512-BDKtmHlOzwI7iRuEkhzsnPoi5ypEhWAJB5RvHWe1kMr06js3uK5B3734i3ui5Yd+wOJV1cpE4JnivPD283GU/A==
   dependencies:
     repeating "^2.0.0"
 
@@ -4684,7 +4700,7 @@ detective@^5.2.0:
 di@^0.0.1:
   version "0.0.1"
   resolved "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz#806649326ceaa7caa3306d75d985ea2748ba913c"
-  integrity sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=
+  integrity sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==
 
 diff-arrays-of-objects@^1.1.8:
   version "1.1.9"
@@ -4713,7 +4729,7 @@ dir-glob@^3.0.1:
 discontinuous-range@1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/discontinuous-range/-/discontinuous-range-1.0.0.tgz#e38331f0844bba49b9a9cb71c771585aab1bc65a"
-  integrity sha1-44Mx8IRLukm5qctxx3FYWqsbxlo=
+  integrity sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==
 
 doctrine@^2.1.0:
   version "2.1.0"
@@ -4745,7 +4761,7 @@ dom-helpers@^5.0.1:
 dom-serialize@^2.2.1:
   version "2.2.1"
   resolved "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz#562ae8999f44be5ea3076f5419dcd59eb43ac95b"
-  integrity sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=
+  integrity sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==
   dependencies:
     custom-event "~1.0.0"
     ent "~2.2.0"
@@ -4787,15 +4803,10 @@ domutils@^2.5.2, domutils@^2.6.0, domutils@^2.7.0:
     domelementtype "^2.2.0"
     domhandler "^4.2.0"
 
-dropzone@^5.9.3:
-  version "5.9.3"
-  resolved "https://registry.yarnpkg.com/dropzone/-/dropzone-5.9.3.tgz#b3070ae090fa48cbc04c17535635537ca72d70d6"
-  integrity sha512-Azk8kD/2/nJIuVPK+zQ9sjKMRIpRvNyqn9XwbBHNq+iNuSccbJS6hwm1Woy0pMST0erSo0u4j+KJaodndDk4vA==
-
 duplexer2@^0.1.2, duplexer2@~0.1.0, duplexer2@~0.1.2:
   version "0.1.4"
   resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1"
-  integrity sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=
+  integrity sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==
   dependencies:
     readable-stream "^2.0.2"
 
@@ -4807,14 +4818,14 @@ duplexer@^0.1.2:
 ee-first@1.1.1:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
-  integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
+  integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
 
-ejs@~3.1.6:
-  version "3.1.6"
-  resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.6.tgz#5bfd0a0689743bb5268b3550cceeebbc1702822a"
-  integrity sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==
+ejs@~3.1.8:
+  version "3.1.8"
+  resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.8.tgz#758d32910c78047585c7ef1f92f9ee041c1c190b"
+  integrity sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==
   dependencies:
-    jake "^10.6.1"
+    jake "^10.8.5"
 
 electron-to-chromium@^1.3.886:
   version "1.3.889"
@@ -4857,9 +4868,9 @@ emojis-list@^3.0.0:
 encodeurl@~1.0.2:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
-  integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
+  integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
 
-encoding@^0.1.12:
+encoding@^0.1.13:
   version "0.1.13"
   resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9"
   integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==
@@ -4922,7 +4933,7 @@ enquirer@^2.3.5:
 ent@~2.2.0:
   version "2.2.0"
   resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d"
-  integrity sha1-6WQhkyWiHQX0RGai9obtbOX13R0=
+  integrity sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==
 
 entities@^2.0.0:
   version "2.2.0"
@@ -5013,7 +5024,7 @@ error-ex@^1.3.1:
   dependencies:
     is-arrayish "^0.2.1"
 
-es-abstract@^1.18.0-next.1, es-abstract@^1.18.5, es-abstract@^1.19.0, es-abstract@^1.19.1:
+es-abstract@^1.18.5, es-abstract@^1.19.0, es-abstract@^1.19.1:
   version "1.19.1"
   resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3"
   integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==
@@ -5066,12 +5077,12 @@ escalade@^3.1.1:
 escape-html@~1.0.3:
   version "1.0.3"
   resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
-  integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=
+  integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
 
 escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
   version "1.0.5"
   resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
-  integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
+  integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
 
 escape-string-regexp@^4.0.0:
   version "4.0.0"
@@ -5225,7 +5236,7 @@ esutils@^2.0.2:
 eve@~0.5.1:
   version "0.5.4"
   resolved "https://registry.yarnpkg.com/eve/-/eve-0.5.4.tgz#67d080b9725291d7e389e34c26860dd97f1debaa"
-  integrity sha1-Z9CAuXJSkdfjieNMJoYN2X8d66o=
+  integrity sha512-aqprQ9MAOh1t66PrHxDFmMXPlgNO6Uv1uqvxmwjprQV50jaQ2RqO7O1neY4PJwC+hMnkyMDphu2AQPOPZdjQog==
 
 eventemitter3@^4.0.0:
   version "4.0.7"
@@ -5275,7 +5286,7 @@ extend@^3.0.0:
 fast-deep-equal@^1.0.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614"
-  integrity sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=
+  integrity sha512-fueX787WZKCV0Is4/T2cyAdM4+x1S3MXXOAhavE1ys/W42SHAPacLTQhucja22QBYrfGw50M2sRiXPtTGv9Ymw==
 
 fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
   version "3.1.3"
@@ -5312,7 +5323,7 @@ fast-json-stable-stringify@^2.0.0:
 fast-levenshtein@^2.0.6:
   version "2.0.6"
   resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
-  integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
+  integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
 
 fast-memoize@^2.5.1:
   version "2.5.2"
@@ -5343,6 +5354,13 @@ file-entry-cache@^6.0.1:
   dependencies:
     flat-cache "^3.0.4"
 
+file-selector@^0.6.0:
+  version "0.6.0"
+  resolved "https://registry.yarnpkg.com/file-selector/-/file-selector-0.6.0.tgz#fa0a8d9007b829504db4d07dd4de0310b65287dc"
+  integrity sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw==
+  dependencies:
+    tslib "^2.4.0"
+
 file-type@^12.0.0:
   version "12.4.2"
   resolved "https://registry.yarnpkg.com/file-type/-/file-type-12.4.2.tgz#a344ea5664a1d01447ee7fb1b635f72feb6169d9"
@@ -5354,16 +5372,16 @@ file-uri-to-path@1.0.0:
   integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
 
 filelist@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.2.tgz#80202f21462d4d1c2e214119b1807c1bc0380e5b"
-  integrity sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5"
+  integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==
   dependencies:
-    minimatch "^3.0.4"
+    minimatch "^5.0.1"
 
 filename-reserved-regex@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz#abf73dfab735d045440abfea2d91f389ebbfa229"
-  integrity sha1-q/c9+rc10EVECr/qLZHzieu/oik=
+  integrity sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==
 
 fill-range@^7.0.1:
   version "7.0.1"
@@ -5436,12 +5454,12 @@ flatted@^3.2.4:
 follow-redirects@^1.0.0, follow-redirects@^1.14.0:
   version "1.14.8"
   resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.8.tgz#016996fb9a11a100566398b1c6839337d7bfa8fc"
-  integrity "sha1-AWmW+5oRoQBWY5ixxoOTN9e/qPw= sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA=="
+  integrity sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==
 
 foreach@^2.0.5:
   version "2.0.5"
   resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
-  integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k=
+  integrity sha512-ZBbtRiapkZYLsqoPyZOR+uPfto0GRMNQN1GwzZtZt7iZvPPbDDQV0JF5Hx4o/QFQ5c0vyuoZ98T8RSBbopzWtA==
 
 fraction.js@^4.1.1:
   version "4.1.1"
@@ -5457,7 +5475,7 @@ fs-extra@^10.0.0:
     jsonfile "^6.0.1"
     universalify "^2.0.0"
 
-fs-minipass@^2.0.0:
+fs-minipass@^2.0.0, fs-minipass@^2.1.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb"
   integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==
@@ -5467,7 +5485,7 @@ fs-minipass@^2.0.0:
 fs.realpath@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
-  integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
+  integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
 
 fsevents@~2.3.2:
   version "2.3.2"
@@ -5492,26 +5510,26 @@ function.prototype.name@^1.1.2, function.prototype.name@^1.1.3:
 functional-red-black-tree@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
-  integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
+  integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==
 
 functions-have-names@^1.2.2:
   version "1.2.2"
   resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.2.tgz#98d93991c39da9361f8e50b337c4f6e41f120e21"
   integrity sha512-bLgc3asbWdwPbx2mNk2S49kmJCuQeu0nfmaOgbs8WIyzzkw3r4htszdIi9Q9EMezDPTYuJx2wvjZ/EwgAthpnA==
 
-gauge@~2.7.3:
-  version "2.7.4"
-  resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
-  integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=
-  dependencies:
-    aproba "^1.0.3"
-    console-control-strings "^1.0.0"
-    has-unicode "^2.0.0"
-    object-assign "^4.1.0"
-    signal-exit "^3.0.0"
-    string-width "^1.0.1"
-    strip-ansi "^3.0.1"
-    wide-align "^1.1.0"
+gauge@^4.0.3:
+  version "4.0.4"
+  resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.4.tgz#52ff0652f2bbf607a989793d53b751bef2328dce"
+  integrity sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==
+  dependencies:
+    aproba "^1.0.3 || ^2.0.0"
+    color-support "^1.1.3"
+    console-control-strings "^1.1.0"
+    has-unicode "^2.0.1"
+    signal-exit "^3.0.7"
+    string-width "^4.2.3"
+    strip-ansi "^6.0.1"
+    wide-align "^1.1.5"
 
 gensync@^1.0.0-beta.2:
   version "1.0.0-beta.2"
@@ -5579,6 +5597,17 @@ glob@^7.1.0, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7:
     once "^1.3.0"
     path-is-absolute "^1.0.0"
 
+glob@^8.0.1:
+  version "8.0.3"
+  resolved "https://registry.yarnpkg.com/glob/-/glob-8.0.3.tgz#415c6eb2deed9e502c68fa44a272e6da6eeca42e"
+  integrity sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==
+  dependencies:
+    fs.realpath "^1.0.0"
+    inflight "^1.0.4"
+    inherits "2"
+    minimatch "^5.0.1"
+    once "^1.3.0"
+
 globals@^11.1.0:
   version "11.12.0"
   resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
@@ -5678,7 +5707,7 @@ hard-rejection@^2.1.0:
 has-ansi@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
-  integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
+  integrity sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==
   dependencies:
     ansi-regex "^2.0.0"
 
@@ -5690,12 +5719,12 @@ has-bigints@^1.0.1:
 has-cors@1.1.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39"
-  integrity sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=
+  integrity sha512-g5VNKdkFuUuVCP9gYfDJHjK2nqdQJ7aDLTnycnc2+RvsOQbuLdF5pm7vuE5J76SEBIQjs4kQY/BWq74JUmjbXA==
 
 has-flag@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
-  integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
+  integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
 
 has-flag@^4.0.0:
   version "4.0.0"
@@ -5714,10 +5743,10 @@ has-tostringtag@^1.0.0:
   dependencies:
     has-symbols "^1.0.2"
 
-has-unicode@^2.0.0:
+has-unicode@^2.0.1:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
-  integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=
+  integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==
 
 has@^1.0.0, has@^1.0.3:
   version "1.0.3"
@@ -5746,12 +5775,12 @@ hash.js@^1.0.0, hash.js@^1.0.3:
 hat@^0.0.3:
   version "0.0.3"
   resolved "https://registry.yarnpkg.com/hat/-/hat-0.0.3.tgz#bb014a9e64b3788aed8005917413d4ff3d502d8a"
-  integrity sha1-uwFKnmSzeIrtgAWRdBPU/z1QLYo=
+  integrity sha512-zpImx2GoKXy42fVDSEad2BPKuSQdLcqsCYa48K3zHSzM/ugWuYjLDr8IXxpVuL7uCLHw56eaiLxCRthhOzf5ug==
 
 heap@0.2.5:
   version "0.2.5"
   resolved "https://registry.yarnpkg.com/heap/-/heap-0.2.5.tgz#713b65590ebcc40fcbeeaf55e851694092b39af1"
-  integrity sha1-cTtlWQ68xA/L7q9V6FFpQJKzmvE=
+  integrity sha512-G7HLD+WKcrOyJP5VQwYZNC3Z6FcQ7YYjEFiFoIj8PfEr73mu421o8B1N5DKUcc8K37EsJ2XXWA8DtrDz/2dReg==
 
 history@^5.2.0:
   version "5.3.0"
@@ -5763,7 +5792,7 @@ history@^5.2.0:
 hmac-drbg@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
-  integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=
+  integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==
   dependencies:
     hash.js "^1.0.3"
     minimalistic-assert "^1.0.0"
@@ -5825,7 +5854,7 @@ html2canvas@^1.0.0-rc.7:
 htmlescape@^1.1.0:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/htmlescape/-/htmlescape-1.1.1.tgz#3a03edc2214bca3b66424a3e7959349509cb0351"
-  integrity sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=
+  integrity sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==
 
 htmlparser2@6.1.0, htmlparser2@^6.1.0:
   version "6.1.0"
@@ -5853,12 +5882,12 @@ http-errors@1.7.2:
     statuses ">= 1.5.0 < 2"
     toidentifier "1.0.0"
 
-http-proxy-agent@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a"
-  integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==
+http-proxy-agent@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43"
+  integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==
   dependencies:
-    "@tootallnate/once" "1"
+    "@tootallnate/once" "2"
     agent-base "6"
     debug "4"
 
@@ -5874,12 +5903,12 @@ http-proxy@^1.18.1:
 https-browserify@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
-  integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=
+  integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==
 
 https-proxy-agent@^5.0.0:
-  version "5.0.0"
-  resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2"
-  integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
+  integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==
   dependencies:
     agent-base "6"
     debug "4"
@@ -5892,7 +5921,7 @@ human-signals@^2.1.0:
 humanize-ms@^1.2.1:
   version "1.2.1"
   resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed"
-  integrity sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=
+  integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==
   dependencies:
     ms "^2.0.0"
 
@@ -5997,7 +6026,7 @@ imports-loader@^2.0.0:
 imurmurhash@^0.1.4:
   version "0.1.4"
   resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
-  integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
+  integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
 
 indent-string@^4.0.0:
   version "4.0.0"
@@ -6017,7 +6046,7 @@ infer-owner@^1.0.4:
 inflight@^1.0.4:
   version "1.0.6"
   resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
-  integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
+  integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
   dependencies:
     once "^1.3.0"
     wrappy "1"
@@ -6030,17 +6059,17 @@ inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1,
 inherits@2.0.1:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
-  integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=
+  integrity sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==
 
 inherits@2.0.3:
   version "2.0.3"
   resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
-  integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
+  integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==
 
 inline-source-map@~0.6.0:
   version "0.6.2"
   resolved "https://registry.yarnpkg.com/inline-source-map/-/inline-source-map-0.6.2.tgz#f9393471c18a79d1724f863fa38b586370ade2a5"
-  integrity sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=
+  integrity sha512-0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA==
   dependencies:
     source-map "~0.5.3"
 
@@ -6099,10 +6128,10 @@ ip-address@^7.1.0:
     jsbn "1.1.0"
     sprintf-js "1.1.2"
 
-ip@^1.1.5:
-  version "1.1.5"
-  resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a"
-  integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=
+ip@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da"
+  integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==
 
 is-absolute-url@^3.0.3:
   version "3.0.3"
@@ -6125,7 +6154,7 @@ is-arguments@^1.0.4:
 is-arrayish@^0.2.1:
   version "0.2.1"
   resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
-  integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
+  integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==
 
 is-bigint@^1.0.1:
   version "1.0.4"
@@ -6198,20 +6227,13 @@ is-docker@^2.1.1:
 is-extglob@^2.1.1:
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
-  integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
+  integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
 
 is-finite@^1.0.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3"
   integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==
 
-is-fullwidth-code-point@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
-  integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs=
-  dependencies:
-    number-is-nan "^1.0.0"
-
 is-fullwidth-code-point@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
@@ -6234,12 +6256,12 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
 is-in-browser@^1.0.2, is-in-browser@^1.1.3:
   version "1.1.3"
   resolved "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.1.3.tgz#56ff4db683a078c6082eb95dad7dc62e1d04f835"
-  integrity sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU=
+  integrity sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==
 
 is-lambda@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5"
-  integrity sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=
+  integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==
 
 is-negative-zero@^2.0.1:
   version "2.0.1"
@@ -6261,7 +6283,7 @@ is-number@^7.0.0:
 is-plain-obj@^1.1.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
-  integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4=
+  integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==
 
 is-plain-object@^2.0.4:
   version "2.0.4"
@@ -6310,7 +6332,7 @@ is-string@^1.0.5, is-string@^1.0.7:
 is-subset@^0.1.1:
   version "0.1.1"
   resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6"
-  integrity sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=
+  integrity sha512-6Ybun0IkarhmEqxXCNw/C0bna6Zb/TkfUX9UbwJtK6ObwAVCxmAP308WWTHviM/zAqXk05cdhYsUsZeGQh99iw==
 
 is-symbol@^1.0.2, is-symbol@^1.0.3:
   version "1.0.4"
@@ -6347,12 +6369,12 @@ is-weakref@^1.0.1:
 isarray@0.0.1:
   version "0.0.1"
   resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
-  integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=
+  integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==
 
 isarray@~1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
-  integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
+  integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
 
 isbinaryfile@^4.0.8:
   version "4.0.8"
@@ -6362,12 +6384,12 @@ isbinaryfile@^4.0.8:
 isexe@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
-  integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
+  integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
 
 isobject@^3.0.1:
   version "3.0.1"
   resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
-  integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
+  integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==
 
 istanbul-instrumenter-loader@^3.0.1:
   version "3.0.1"
@@ -6438,13 +6460,13 @@ istanbul-reports@^3.0.0:
     html-escaper "^2.0.0"
     istanbul-lib-report "^3.0.0"
 
-jake@^10.6.1:
-  version "10.8.2"
-  resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.2.tgz#ebc9de8558160a66d82d0eadc6a2e58fbc500a7b"
-  integrity sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==
+jake@^10.8.5:
+  version "10.8.5"
+  resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.5.tgz#f2183d2c59382cb274226034543b9c03b8164c46"
+  integrity sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==
   dependencies:
-    async "0.9.x"
-    chalk "^2.4.2"
+    async "^3.2.3"
+    chalk "^4.0.2"
     filelist "^1.0.1"
     minimatch "^3.0.4"
 
@@ -6463,7 +6485,7 @@ jasmine-enzyme@^7.1.2:
 javascript-natural-sort@^0.7.1:
   version "0.7.1"
   resolved "https://registry.yarnpkg.com/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz#f9e2303d4507f6d74355a73664d1440fb5a0ef59"
-  integrity sha1-+eIwPUUH9tdDVac2ZNFED7Wg71k=
+  integrity sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==
 
 jest-worker@^27.0.2, jest-worker@^27.0.6:
   version "27.3.1"
@@ -6477,7 +6499,7 @@ jest-worker@^27.0.2, jest-worker@^27.0.6:
 jmespath@^0.15.0:
   version "0.15.0"
   resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217"
-  integrity sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=
+  integrity sha512-+kHj8HXArPfpPEKGLZ+kB5ONRTCiGQXo8RQYL0hH8t6pWXUBBK5KkkQmTNOwKK4LEsd0yTsgtjJVm4UBSZea4w==
 
 jquery-contextmenu@^2.6.4, jquery-contextmenu@^2.9.2:
   version "2.9.2"
@@ -6486,14 +6508,14 @@ jquery-contextmenu@^2.6.4, jquery-contextmenu@^2.9.2:
   dependencies:
     jquery "^3.5.0"
 
-jquery-ui@>=1.8.0, jquery-ui@^1.13.0:
-  version "1.13.0"
-  resolved "https://registry.yarnpkg.com/jquery-ui/-/jquery-ui-1.13.0.tgz#ab5ac65f37ca093c51b3478c4097f55bbc008f36"
-  integrity sha512-Osf7ECXNTYHtKBkn9xzbIf9kifNrBhfywFEKxOeB/OVctVmLlouV9mfc2qXCp6uyO4Pn72PXKOnj09qXetopCw==
+jquery-ui@>=1.8.0, jquery-ui@^1.13.2:
+  version "1.13.2"
+  resolved "https://registry.yarnpkg.com/jquery-ui/-/jquery-ui-1.13.2.tgz#de03580ae6604773602f8d786ad1abfb75232034"
+  integrity sha512-wBZPnqWs5GaYJmo1Jj0k/mrSkzdQzKDwhXNtHKcBdAcKVxMM3KNYFq+iJ2i1rwiG53Z8M4mTn3Qxrm17uH1D4Q==
   dependencies:
     jquery ">=1.8.0 <4.0.0"
 
-jquery@>=1.2.6, "jquery@>=1.7.1 <4.0.0", jquery@>=1.8.0, "jquery@>=1.8.0 <4.0.0", jquery@^3.3.1, jquery@^3.5.0, jquery@^3.5.1, jquery@^3.6.0:
+"jquery@>=1.7.1 <4.0.0", jquery@>=1.8.0, "jquery@>=1.8.0 <4.0.0", jquery@^3.3.1, jquery@^3.5.0, jquery@^3.5.1, jquery@^3.6.0:
   version "3.6.0"
   resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.0.tgz#c72a09f15c1bdce142f49dbf1170bdf8adac2470"
   integrity sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==
@@ -6501,7 +6523,7 @@ jquery@>=1.2.6, "jquery@>=1.7.1 <4.0.0", jquery@>=1.8.0, "jquery@>=1.8.0 <4.0.0"
 js-string-escape@^1.0.0:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/js-string-escape/-/js-string-escape-1.0.1.tgz#e2625badbc0d67c7533e9edc1068c587ae4137ef"
-  integrity sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8=
+  integrity sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==
 
 "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
   version "4.0.0"
@@ -6511,7 +6533,7 @@ js-string-escape@^1.0.0:
 js-tokens@^3.0.2:
   version "3.0.2"
   resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
-  integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
+  integrity sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==
 
 js-yaml@^3.13.1:
   version "3.14.1"
@@ -6524,12 +6546,12 @@ js-yaml@^3.13.1:
 jsbn@1.1.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040"
-  integrity sha1-sBMHyym2GKHtJux56RH4A8TaAEA=
+  integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==
 
 jsesc@^1.3.0:
   version "1.3.0"
   resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
-  integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s=
+  integrity sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==
 
 jsesc@^2.5.1:
   version "2.5.2"
@@ -6539,7 +6561,7 @@ jsesc@^2.5.1:
 jsesc@~0.5.0:
   version "0.5.0"
   resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
-  integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=
+  integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==
 
 json-bignumber@^1.0.1:
   version "1.0.2"
@@ -6561,7 +6583,7 @@ json-parse-even-better-errors@^2.3.0:
 json-schema-traverse@^0.3.0:
   version "0.3.1"
   resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340"
-  integrity sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=
+  integrity sha512-4JD/Ivzg7PoW8NzdrBSr3UFwC9mHgvI7Z6z3QGBsSHgKaRTUDmyZAAKJo2UbG1kUVfS9WS8bi36N49U1xw43DA==
 
 json-schema-traverse@^0.4.1:
   version "0.4.1"
@@ -6581,7 +6603,7 @@ json-source-map@^0.6.1:
 json-stable-stringify-without-jsonify@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
-  integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
+  integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
 
 json5@^1.0.1:
   version "1.0.1"
@@ -6636,7 +6658,7 @@ jsonfile@^6.0.1:
 jsonparse@^1.2.0:
   version "1.3.1"
   resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280"
-  integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=
+  integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==
 
 jsonrepair@^2.2.1:
   version "2.2.1"
@@ -6777,7 +6799,7 @@ karma-jasmine@^4.0.1:
 karma-requirejs@~1.1.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/karma-requirejs/-/karma-requirejs-1.1.0.tgz#fddae2cb87d7ebc16fb0222893564d7fee578798"
-  integrity sha1-/driy4fX68FvsCIok1ZNf+5Xh5g=
+  integrity sha512-MHTOYKdwwJBkvYid0TaYvBzOnFH3TDtzo6ie5E4o9SaUSXXsfMRLa/whUz6efVIgTxj1xnKYasNn/XwEgJeB/Q==
 
 karma-source-map-support@^1.4.0:
   version "1.4.0"
@@ -6871,7 +6893,7 @@ lilconfig@^2.0.3:
 lines-and-columns@^1.1.6:
   version "1.1.6"
   resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
-  integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
+  integrity sha512-8ZmlJFVK9iCmtLz19HpSsR8HaAMWBT284VMNednLwlIMDP2hJDCIhUp0IZ2xUcZ+Ob6BM0VvCSJwzASDM45NLQ==
 
 loader-runner@^4.2.0:
   version "4.2.0"
@@ -6910,10 +6932,48 @@ locate-path@^6.0.0:
   dependencies:
     p-locate "^5.0.0"
 
+lodash._basebind@~2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/lodash._basebind/-/lodash._basebind-2.3.0.tgz#2b5bc452a0e106143b21869f233bdb587417d248"
+  integrity sha512-SHqM7YCuJ+BeGTs7lqpWnmdHEeF4MWxS3dksJctHFNxR81FXPOzA4bS5Vs5CpcGTkBpM8FCl+YEbQEblRw8ABg==
+  dependencies:
+    lodash._basecreate "~2.3.0"
+    lodash._setbinddata "~2.3.0"
+    lodash.isobject "~2.3.0"
+
+lodash._basecreate@~2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/lodash._basecreate/-/lodash._basecreate-2.3.0.tgz#9b88a86a4dcff7b7f3c61d83a2fcfc0671ec9de0"
+  integrity sha512-vwZaWldZwS2y9b99D8i9+WtgiZXbHKsBsMrpxJEqTsNW20NhJo5W8PBQkeQO9CmxuqEYn8UkMnfEM2MMT4cVrw==
+  dependencies:
+    lodash._renative "~2.3.0"
+    lodash.isobject "~2.3.0"
+    lodash.noop "~2.3.0"
+
+lodash._basecreatecallback@~2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/lodash._basecreatecallback/-/lodash._basecreatecallback-2.3.0.tgz#37b2ab17591a339e988db3259fcd46019d7ac362"
+  integrity sha512-Ev+pDzzfVfgbiucpXijconLGRBar7/+KNCf05kSnk4CmdDVhAy1RdbU9efCJ/o9GXI08JdUGwZ+5QJ3QX3kj0g==
+  dependencies:
+    lodash._setbinddata "~2.3.0"
+    lodash.bind "~2.3.0"
+    lodash.identity "~2.3.0"
+    lodash.support "~2.3.0"
+
+lodash._basecreatewrapper@~2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/lodash._basecreatewrapper/-/lodash._basecreatewrapper-2.3.0.tgz#aa0c61ad96044c3933376131483a9759c3651247"
+  integrity sha512-YLycQ7k8AB9Wc1EOvLNxuRWcqipDkMXq2GCgnLWQR6qtgTb3gY3LELzEpnFshrEO4LOLs+R2EpcY+uCOZaLQ8Q==
+  dependencies:
+    lodash._basecreate "~2.3.0"
+    lodash._setbinddata "~2.3.0"
+    lodash._slice "~2.3.0"
+    lodash.isobject "~2.3.0"
+
 lodash._baseisequal@^3.0.0:
   version "3.0.7"
   resolved "https://registry.yarnpkg.com/lodash._baseisequal/-/lodash._baseisequal-3.0.7.tgz#d8025f76339d29342767dcc887ce5cb95a5b51f1"
-  integrity sha1-2AJfdjOdKTQnZ9zIh85cuVpbUfE=
+  integrity sha512-U+3GsNEZj9ebI03ncLC2pLmYVjgtYZEwdkAPO7UGgtGvAz36JVFPAQUufpSaVL93Cz5arc6JGRKZRhaOhyVJYA==
   dependencies:
     lodash.isarray "^3.0.0"
     lodash.istypedarray "^3.0.0"
@@ -6922,42 +6982,112 @@ lodash._baseisequal@^3.0.0:
 lodash._bindcallback@^3.0.0:
   version "3.0.1"
   resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e"
-  integrity sha1-5THCdkTPi1epnhftlbNcdIeJOS4=
+  integrity sha512-2wlI0JRAGX8WEf4Gm1p/mv/SZ+jLijpj0jyaE/AXeuQphzCgD8ZQW4oSpoN8JAopujOFGU3KMuq7qfHBWlGpjQ==
+
+lodash._createwrapper@~2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/lodash._createwrapper/-/lodash._createwrapper-2.3.0.tgz#d1aae1102dadf440e8e06fc133a6edd7fe146075"
+  integrity sha512-XjaI/rzg9W+WO4WJDQ+PRlHD5sAMJ1RhJLuT65cBxLCb1kIYs4U20jqvTDGAWyVT3c34GYiLd9AreHYuB/8yJA==
+  dependencies:
+    lodash._basebind "~2.3.0"
+    lodash._basecreatewrapper "~2.3.0"
+    lodash.isfunction "~2.3.0"
 
 lodash._getnative@^3.0.0:
   version "3.9.1"
   resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"
-  integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=
+  integrity sha512-RrL9VxMEPyDMHOd9uFbvMe8X55X16/cGM5IgOKgRElQZutpX89iS6vwl64duTV1/16w5JY7tuFNXqoekmh1EmA==
+
+lodash._objecttypes@~2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/lodash._objecttypes/-/lodash._objecttypes-2.3.0.tgz#6a3ea3987dd6eeb8021b2d5c9c303549cc2bae1e"
+  integrity sha512-jbA6QyHt9cw3BzvbWzIcnU3Z12jSneT6xBgz3Y782CJsN1tV5aTBKrFo2B4AkeHBNaxSrbPYZZpi1Lwj3xjdtg==
+
+lodash._renative@~2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/lodash._renative/-/lodash._renative-2.3.0.tgz#77d8edd4ced26dd5971f9e15a5f772e4e317fbd3"
+  integrity sha512-v44MRirqYqZGK/h5UKoVqXWF2L+LUiLTU+Ogu5rHRVWJUA1uWIlHaMpG8f/OA8j++BzPMQij9+erXHtgFcbuwg==
+
+lodash._setbinddata@~2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/lodash._setbinddata/-/lodash._setbinddata-2.3.0.tgz#e5610490acd13277d59858d95b5f2727f1508f04"
+  integrity sha512-xMFfbF7dL+sFtrdE49uHFmfpBAEwlFtfgMp86nQRlAF6aizYL+3MTbnYMKJSkP1W501PhsgiBED5kBbZd8kR2g==
+  dependencies:
+    lodash._renative "~2.3.0"
+    lodash.noop "~2.3.0"
+
+lodash._shimkeys@~2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/lodash._shimkeys/-/lodash._shimkeys-2.3.0.tgz#611f93149e3e6c721096b48769ef29537ada8ba9"
+  integrity sha512-9Iuyi7TiWMGa/9+2rqEE+Zwye4b/U2w7Saw6UX1h6Xs88mEER+uz9FZcEBPKMVKsad9Pw5GNAcIBRnW2jNpneQ==
+  dependencies:
+    lodash._objecttypes "~2.3.0"
+
+lodash._slice@~2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/lodash._slice/-/lodash._slice-2.3.0.tgz#147198132859972e4680ca29a5992c855669aa5c"
+  integrity sha512-7C61GhzRUv36gTafr+RIb+AomCAYsSATEoK4OP0VkNBcwvsM022Z22AVgqjjzikeNO1U29LzsJZDvLbiNPUYvA==
+
+lodash.bind@~2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-2.3.0.tgz#c2a8e18b68e5ecc152e2b168266116fea5b016cc"
+  integrity sha512-goakyOo+FMN8lttMPnZ0UNlr5RlzX4IrUXyTJPT2A0tGCMXySupond9wzvDqTvVmYTcQjIKGrj8naJDS2xWAlQ==
+  dependencies:
+    lodash._createwrapper "~2.3.0"
+    lodash._renative "~2.3.0"
+    lodash._slice "~2.3.0"
 
 lodash.debounce@^4.0.8:
   version "4.0.8"
   resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
-  integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168=
+  integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
 
 lodash.escape@^4.0.1:
   version "4.0.1"
   resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-4.0.1.tgz#c9044690c21e04294beaa517712fded1fa88de98"
-  integrity sha1-yQRGkMIeBClL6qUXcS/e0fqI3pg=
+  integrity sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw==
 
 lodash.flattendeep@^4.4.0:
   version "4.4.0"
   resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2"
-  integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=
+  integrity sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==
+
+lodash.foreach@2.3.x:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-2.3.0.tgz#083404c91e846ee77245fdf9d76519c68b2af168"
+  integrity sha512-yLnyptVRJd0//AbGp480grgQG9iaDIV5uOgSbpurRy1dYybPbjNTLQ3FyLEQ84buVLPG7jyaiyvpzgfOutRB3Q==
+  dependencies:
+    lodash._basecreatecallback "~2.3.0"
+    lodash.forown "~2.3.0"
+
+lodash.forown@~2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/lodash.forown/-/lodash.forown-2.3.0.tgz#24fb4aaf800d45fc2dc60bfec3ce04c836a3ad7f"
+  integrity sha512-dUnCsuQTtq3Y7bxPNoEEqjJjPL2ftLtcz2PTeRKvhbpdM514AvnqCjewHGsm/W+dwspIwa14KoWEZeizJ7smxA==
+  dependencies:
+    lodash._basecreatecallback "~2.3.0"
+    lodash._objecttypes "~2.3.0"
+    lodash.keys "~2.3.0"
+
+lodash.identity@~2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/lodash.identity/-/lodash.identity-2.3.0.tgz#6b01a210c9485355c2a913b48b6711219a173ded"
+  integrity sha512-NYJ2r2cwy3tkx/saqbIZEX6oQUzjWTnGRu7d/zmBjMCZos3eHBxCpbvWFWSetv8jFVrptsp6EbWjzNgBKhUoOA==
 
 lodash.isarguments@^3.0.0:
   version "3.1.0"
   resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
-  integrity sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=
+  integrity sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==
 
 lodash.isarray@^3.0.0:
   version "3.0.4"
   resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55"
-  integrity sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=
+  integrity sha512-JwObCrNJuT0Nnbuecmqr5DgtuBppuCvGD9lxjFpAzwnVtdGoDQ1zig+5W8k5/6Gcn0gZ3936HDAlGd28i7sOGQ==
 
 lodash.isequal@^3.0:
   version "3.0.4"
   resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-3.0.4.tgz#1c35eb3b6ef0cd1ff51743e3ea3cf7fdffdacb64"
-  integrity sha1-HDXrO27wzR/1F0Pj6jz3/f/ay2Q=
+  integrity sha512-Bsu5fP9Omd+HBk2Dz8qp4BHbC+83DBykZ87Lz1JmPKTVNy4Q0XQVtUrbfXVAK/udQrWNcGStcKSA9yj/Zkm3TQ==
   dependencies:
     lodash._baseisequal "^3.0.0"
     lodash._bindcallback "^3.0.0"
@@ -6965,17 +7095,38 @@ lodash.isequal@^3.0:
 lodash.isequal@^4.5.0:
   version "4.5.0"
   resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
-  integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA=
+  integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==
+
+lodash.isfunction@~2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-2.3.0.tgz#6b2973e47a647cf12e70d676aea13643706e5267"
+  integrity sha512-X5lteBYlCrVO7Qc00fxP8W90fzRp6Ax9XcHANmU3OsZHdSyIVZ9ZlX5QTTpRq8aGY+9I5Rmd0UTzTIIyWPugEQ==
+
+lodash.isobject@~2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/lodash.isobject/-/lodash.isobject-2.3.0.tgz#2e16d3fc583da9831968953f2d8e6d73434f6799"
+  integrity sha512-jo1pfV61C4TE8BfEzqaHj6EIKiSkFANJrB6yscwuCJMSRw5tbqjk4Gv7nJzk4Z6nFKobZjGZ8Qd41vmnwgeQqQ==
+  dependencies:
+    lodash._objecttypes "~2.3.0"
 
 lodash.istypedarray@^3.0.0:
   version "3.0.6"
   resolved "https://registry.yarnpkg.com/lodash.istypedarray/-/lodash.istypedarray-3.0.6.tgz#c9a477498607501d8e8494d283b87c39281cef62"
-  integrity sha1-yaR3SYYHUB2OhJTSg7h8OSgc72I=
+  integrity sha512-lGWJ6N8AA3KSv+ZZxlTdn4f6A7kMfpJboeyvbFdE7IU9YAgweODqmOgdUHOA+c6lVWeVLysdaxciFXi+foVsWw==
+
+lodash.keys@2.3.x, lodash.keys@~2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-2.3.0.tgz#b350f4f92caa9f45a4a2ecf018454cf2f28ae253"
+  integrity sha512-c0UW0ffqMxSCtoVbmVt2lERJLkEqgoOn2ejPsWXzr0ZrqRbl3uruGgwHzhtqXxi6K/ei3Ey7zimOqSwXgzazPg==
+  dependencies:
+    lodash._renative "~2.3.0"
+    lodash._shimkeys "~2.3.0"
+    lodash.isobject "~2.3.0"
 
 lodash.keys@^3.0.0:
   version "3.1.2"
   resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a"
-  integrity sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=
+  integrity sha512-CuBsapFjcubOGMn3VD+24HOAPxM79tH+V6ivJL3CHYjtrawauDJHUk//Yew9Hvc6e9rbCrURGk8z6PC+8WJBfQ==
   dependencies:
     lodash._getnative "^3.0.0"
     lodash.isarguments "^3.0.0"
@@ -6984,27 +7135,39 @@ lodash.keys@^3.0.0:
 lodash.memoize@^4.1.2:
   version "4.1.2"
   resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
-  integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=
+  integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==
 
 lodash.memoize@~3.0.3:
   version "3.0.4"
   resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-3.0.4.tgz#2dcbd2c287cbc0a55cc42328bd0c736150d53e3f"
-  integrity sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=
+  integrity sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==
 
 lodash.merge@^4.6.2:
   version "4.6.2"
   resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
   integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
 
+lodash.noop@~2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/lodash.noop/-/lodash.noop-2.3.0.tgz#3059d628d51bbf937cd2a0b6fc3a7f212a669c2c"
+  integrity sha512-NpSm8HRm1WkBBWHUveDukLF4Kfb5P5E3fjHc9Qre9A11nNubozLWD2wH3UBTZbu+KSuX8aSUvy9b+PUyEceJ8g==
+
+lodash.support@~2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/lodash.support/-/lodash.support-2.3.0.tgz#7eaf038af4f0d6aab776b44aa6dcfc80334c9bfd"
+  integrity sha512-etc7VWbB0U3Iya8ixj2xy4sDBN3jvPX7ODi8iXtn4KkkjNpdngrdc7Vlt5jub/Vgqx6/dWtp7Ml9awhCQPYKGQ==
+  dependencies:
+    lodash._renative "~2.3.0"
+
 lodash.truncate@^4.4.2:
   version "4.4.2"
   resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193"
-  integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=
+  integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==
 
 lodash.uniq@^4.5.0:
   version "4.5.0"
   resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
-  integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
+  integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==
 
 lodash@4, lodash@4.*, lodash@^4.14.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4:
   version "4.17.21"
@@ -7036,10 +7199,15 @@ lru-cache@^6.0.0:
   dependencies:
     yallist "^4.0.0"
 
+lru-cache@^7.7.1:
+  version "7.13.1"
+  resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.13.1.tgz#267a81fbd0881327c46a81c5922606a2cfe336c4"
+  integrity sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==
+
 lunr@^0.7.0:
   version "0.7.2"
   resolved "https://registry.yarnpkg.com/lunr/-/lunr-0.7.2.tgz#79a30e932e216cba163541ee37a3607c12cd7281"
-  integrity sha1-eaMOky4hbLoWNUHuN6NgfBLNcoE=
+  integrity sha512-qXxxSzrWOhFu4EhyvYqCGMv1nJsTy5OGQN3GtClGbRSaqJ/1XASk41nF2jjxzKTS8kjU0QybhOgGgGo6HUZqSQ==
 
 make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0:
   version "3.1.0"
@@ -7048,47 +7216,47 @@ make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0:
   dependencies:
     semver "^6.0.0"
 
-make-fetch-happen@^9.1.0:
-  version "9.1.0"
-  resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz#53085a09e7971433e6765f7971bf63f4e05cb968"
-  integrity sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==
+make-fetch-happen@^10.0.3:
+  version "10.2.0"
+  resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.2.0.tgz#0bde3914f2f82750b5d48c6d2294d2c74f985e5b"
+  integrity sha512-OnEfCLofQVJ5zgKwGk55GaqosqKjaR6khQlJY3dBAA+hM25Bc5CmX5rKUfVut+rYA3uidA7zb7AvcglU87rPRg==
   dependencies:
-    agentkeepalive "^4.1.3"
-    cacache "^15.2.0"
+    agentkeepalive "^4.2.1"
+    cacache "^16.1.0"
     http-cache-semantics "^4.1.0"
-    http-proxy-agent "^4.0.1"
+    http-proxy-agent "^5.0.0"
     https-proxy-agent "^5.0.0"
     is-lambda "^1.0.1"
-    lru-cache "^6.0.0"
-    minipass "^3.1.3"
+    lru-cache "^7.7.1"
+    minipass "^3.1.6"
     minipass-collect "^1.0.2"
-    minipass-fetch "^1.3.2"
+    minipass-fetch "^2.0.3"
     minipass-flush "^1.0.5"
     minipass-pipeline "^1.2.4"
-    negotiator "^0.6.2"
+    negotiator "^0.6.3"
     promise-retry "^2.0.1"
-    socks-proxy-agent "^6.0.0"
-    ssri "^8.0.0"
+    socks-proxy-agent "^7.0.0"
+    ssri "^9.0.0"
 
 map-obj@^1.0.0:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
-  integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=
+  integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==
 
 map-obj@^4.1.0:
   version "4.3.0"
   resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a"
   integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==
 
-marked@^3.0.7:
-  version "3.0.8"
-  resolved "https://registry.yarnpkg.com/marked/-/marked-3.0.8.tgz#2785f0dc79cbdc6034be4bb4f0f0a396bd3f8aeb"
-  integrity sha512-0gVrAjo5m0VZSJb4rpL59K1unJAMb/hm8HRXqasD8VeC8m91ytDPMritgFSlKonfdt+rRYYpP/JfLxgIX8yoSw==
+marked@^4.0.17:
+  version "4.0.18"
+  resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.18.tgz#cd0ac54b2e5610cfb90e8fd46ccaa8292c9ed569"
+  integrity sha512-wbLDJ7Zh0sqA0Vdg6aqlbT+yPxqLblpAZh1mK2+AO2twQkPywvvqQNfEPVwSSRjZ7dZcdeVBIAgiO7MMp3Dszw==
 
 matches-selector@0.0.1:
   version "0.0.1"
   resolved "https://registry.yarnpkg.com/matches-selector/-/matches-selector-0.0.1.tgz#1df5262243ae341c1a0804dd302048267ac713bb"
-  integrity sha1-HfUmIkOuNBwaCATdMCBIJnrHE7s=
+  integrity sha512-Bm8wuvuNGPY3j1Mo23PxieRQAmQQe2qVcqgmpHOp1BEBNgb4dqzn2Dcgu5bYltMosjGi6LD7GPW72zboSdyJQg==
 
 md5.js@^1.3.4:
   version "1.3.5"
@@ -7107,7 +7275,7 @@ mdn-data@2.0.14:
 media-typer@0.3.0:
   version "0.3.0"
   resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
-  integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=
+  integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==
 
 "memoize-one@>=3.1.1 <6", memoize-one@^5.0.0:
   version "5.2.1"
@@ -7145,7 +7313,7 @@ merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1:
 microbuffer@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/microbuffer/-/microbuffer-1.0.0.tgz#8b3832ed40c87d51f47bb234913a698a756d19d2"
-  integrity sha1-izgy7UDIfVH0e7I0kTppinVtGdI=
+  integrity sha512-O/SUXauVN4x6RaEJFqSPcXNtLFL+QzJHKZlyDVYFwcDDRVca3Fa/37QXXC+4zAGGa4YhHrHxKXuuHvLDIQECtA==
 
 micromatch@^4.0.4:
   version "4.0.4"
@@ -7212,7 +7380,7 @@ minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
 minimalistic-crypto-utils@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
-  integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
+  integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==
 
 minimatch@^3.0.0, minimatch@^3.0.4:
   version "3.0.4"
@@ -7221,6 +7389,13 @@ minimatch@^3.0.0, minimatch@^3.0.4:
   dependencies:
     brace-expansion "^1.1.7"
 
+minimatch@^5.0.1:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7"
+  integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==
+  dependencies:
+    brace-expansion "^2.0.1"
+
 minimist-options@4.1.0:
   version "4.1.0"
   resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619"
@@ -7233,7 +7408,7 @@ minimist-options@4.1.0:
 minimist@^1.1.0, minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5:
   version "1.2.6"
   resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
-  integrity "sha1-hjelt1nqDW6YcCz7OpKDMjyTr0Q= sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
+  integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
 
 minipass-collect@^1.0.2:
   version "1.0.2"
@@ -7242,16 +7417,16 @@ minipass-collect@^1.0.2:
   dependencies:
     minipass "^3.0.0"
 
-minipass-fetch@^1.3.2:
-  version "1.4.1"
-  resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.4.1.tgz#d75e0091daac1b0ffd7e9d41629faff7d0c1f1b6"
-  integrity sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==
+minipass-fetch@^2.0.3:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.1.0.tgz#ca1754a5f857a3be99a9271277246ac0b44c3ff8"
+  integrity sha512-H9U4UVBGXEyyWJnqYDCLp1PwD8XIkJ4akNHp1aGVI+2Ym7wQMlxDKi4IB4JbmyU+pl9pEs/cVrK6cOuvmbK4Sg==
   dependencies:
-    minipass "^3.1.0"
+    minipass "^3.1.6"
     minipass-sized "^1.0.3"
-    minizlib "^2.0.0"
+    minizlib "^2.1.2"
   optionalDependencies:
-    encoding "^0.1.12"
+    encoding "^0.1.13"
 
 minipass-flush@^1.0.5:
   version "1.0.5"
@@ -7260,7 +7435,7 @@ minipass-flush@^1.0.5:
   dependencies:
     minipass "^3.0.0"
 
-minipass-pipeline@^1.2.2, minipass-pipeline@^1.2.4:
+minipass-pipeline@^1.2.4:
   version "1.2.4"
   resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c"
   integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==
@@ -7274,14 +7449,14 @@ minipass-sized@^1.0.3:
   dependencies:
     minipass "^3.0.0"
 
-minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3:
-  version "3.1.5"
-  resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.5.tgz#71f6251b0a33a49c01b3cf97ff77eda030dff732"
-  integrity sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw==
+minipass@^3.0.0, minipass@^3.1.1, minipass@^3.1.6:
+  version "3.3.4"
+  resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.4.tgz#ca99f95dd77c43c7a76bf51e6d200025eee0ffae"
+  integrity sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==
   dependencies:
     yallist "^4.0.0"
 
-minizlib@^2.0.0, minizlib@^2.1.1:
+minizlib@^2.1.1, minizlib@^2.1.2:
   version "2.1.2"
   resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931"
   integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==
@@ -7362,24 +7537,17 @@ module-deps@^6.2.3:
     through2 "^2.0.0"
     xtend "^4.0.0"
 
-moment-timezone@^0.5.31:
-  version "0.5.33"
-  resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.33.tgz#b252fd6bb57f341c9b59a5ab61a8e51a73bbd22c"
-  integrity sha512-PTc2vcT8K9J5/9rDEPe5czSIKgLoGsH8UNpA4qZTVw0Vd/Uz19geE9abbIOQKaAQFcnQ3v5YEXrbSc5BpshH+w==
-  dependencies:
-    moment ">= 2.9.0"
-
-moment-timezone@^0.5.34:
+moment-timezone@^0.5.31, moment-timezone@^0.5.34:
   version "0.5.34"
   resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.34.tgz#a75938f7476b88f155d3504a9343f7519d9a405c"
   integrity sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==
   dependencies:
     moment ">= 2.9.0"
 
-"moment@>= 2.9.0", moment@^2.29.0, moment@^2.29.3, moment@~2.29.2:
-  version "2.29.3"
-  resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.3.tgz#edd47411c322413999f7a5940d526de183c031f3"
-  integrity sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==
+"moment@>= 2.9.0", moment@^2.29.0, moment@^2.29.4, moment@~2.29.2:
+  version "2.29.4"
+  resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108"
+  integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==
 
 moo@^0.5.0:
   version "0.5.1"
@@ -7394,32 +7562,27 @@ mousetrap@^1.6.3:
 ms@2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
-  integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
+  integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
 
-ms@2.1.2:
+ms@2.1.2, ms@^2.0.0:
   version "2.1.2"
   resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
   integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
 
-ms@^2.0.0:
-  version "2.1.3"
-  resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
-  integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
-
 nan@^2.14.2:
-  version "2.15.0"
-  resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee"
-  integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==
+  version "2.16.0"
+  resolved "https://registry.yarnpkg.com/nan/-/nan-2.16.0.tgz#664f43e45460fb98faf00edca0bb0d7b8dce7916"
+  integrity sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==
 
 nanoid@^3.0.0:
   version "3.2.0"
   resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.2.0.tgz#62667522da6673971cca916a6d3eff3f415ff80c"
-  integrity "sha1-YmZ1Itpmc5ccypFqbT7/P0Ff+Aw= sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA=="
+  integrity sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==
 
 nanoid@^3.1.30:
   version "3.3.2"
   resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.2.tgz#c89622fafb4381cd221421c69ec58547a1eec557"
-  integrity "sha1-yJYi+vtDgc0iFCHGnsWFR6HuxVc= sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA=="
+  integrity sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==
 
 nanopop@^2.1.0:
   version "2.1.0"
@@ -7429,7 +7592,7 @@ nanopop@^2.1.0:
 natural-compare@^1.4.0:
   version "1.4.0"
   resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
-  integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
+  integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
 
 nearley@^2.7.10:
   version "2.20.1"
@@ -7444,31 +7607,36 @@ nearley@^2.7.10:
 neatequal@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/neatequal/-/neatequal-1.0.0.tgz#2ee1211bc9fa6e4c55715fd210bb05602eb1ae3b"
-  integrity sha1-LuEhG8n6bkxVcV/SELsFYC6xrjs=
+  integrity sha512-sVt5awO4a4w24QmAthdrCPiVRW3naB8FGLdyadin01BH+6BzNPEBwGrpwCczQvPlULS6uXTItTe1PJ5P0kYm7A==
   dependencies:
     varstream "^0.3.2"
 
-negotiator@0.6.2, negotiator@^0.6.2:
+negotiator@0.6.2:
   version "0.6.2"
   resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
   integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==
 
+negotiator@^0.6.3:
+  version "0.6.3"
+  resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd"
+  integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
+
 neo-async@^2.6.0, neo-async@^2.6.2:
   version "2.6.2"
   resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
   integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
 
-node-gyp@^8.1.0:
-  version "8.4.0"
-  resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-8.4.0.tgz#6e1112b10617f0f8559c64b3f737e8109e5a8338"
-  integrity sha512-Bi/oCm5bH6F+FmzfUxJpPaxMEyIhszULGR3TprmTeku8/dMFcdTcypk120NeZqEt54r1BrgEKtm2jJiuIKE28Q==
+node-gyp@^9.0.0:
+  version "9.1.0"
+  resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.1.0.tgz#c8d8e590678ea1f7b8097511dedf41fc126648f8"
+  integrity sha512-HkmN0ZpQJU7FLbJauJTHkHlSVAXlNGDAzH/VYFZGDOnFyn/Na3GlNJfkudmufOdS6/jNFhy88ObzL7ERz9es1g==
   dependencies:
     env-paths "^2.2.0"
     glob "^7.1.4"
     graceful-fs "^4.2.6"
-    make-fetch-happen "^9.1.0"
+    make-fetch-happen "^10.0.3"
     nopt "^5.0.0"
-    npmlog "^4.1.2"
+    npmlog "^6.0.0"
     rimraf "^3.0.2"
     semver "^7.3.5"
     tar "^6.1.2"
@@ -7509,7 +7677,7 @@ normalize-path@^3.0.0, normalize-path@~3.0.0:
 normalize-range@^0.1.2:
   version "0.1.2"
   resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
-  integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=
+  integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==
 
 normalize-url@^6.0.1:
   version "6.1.0"
@@ -7536,15 +7704,15 @@ npm-run-path@^4.0.1:
   dependencies:
     path-key "^3.0.0"
 
-npmlog@^4.1.2:
-  version "4.1.2"
-  resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
-  integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
+npmlog@^6.0.0:
+  version "6.0.2"
+  resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830"
+  integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==
   dependencies:
-    are-we-there-yet "~1.1.2"
-    console-control-strings "~1.1.0"
-    gauge "~2.7.3"
-    set-blocking "~2.0.0"
+    are-we-there-yet "^3.0.0"
+    console-control-strings "^1.1.0"
+    gauge "^4.0.3"
+    set-blocking "^2.0.0"
 
 nth-check@^2.0.0:
   version "2.0.1"
@@ -7553,15 +7721,10 @@ nth-check@^2.0.0:
   dependencies:
     boolbase "^1.0.0"
 
-number-is-nan@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
-  integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
-
-object-assign@^4, object-assign@^4.1.0, object-assign@^4.1.1:
+object-assign@^4, object-assign@^4.1.1:
   version "4.1.1"
   resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
-  integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
+  integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
 
 object-inspect@^1.11.0, object-inspect@^1.7.0, object-inspect@^1.9.0:
   version "1.11.0"
@@ -7629,14 +7792,14 @@ object.values@^1.1.1, object.values@^1.1.4:
 on-finished@~2.3.0:
   version "2.3.0"
   resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
-  integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=
+  integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==
   dependencies:
     ee-first "1.1.1"
 
 once@^1.3.0:
   version "1.4.0"
   resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
-  integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
+  integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
   dependencies:
     wrappy "1"
 
@@ -7667,12 +7830,12 @@ optionator@^0.9.1:
 os-browserify@~0.3.0:
   version "0.3.0"
   resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
-  integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=
+  integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==
 
 os-shim@^0.1.3:
   version "0.1.3"
   resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917"
-  integrity sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=
+  integrity sha512-jd0cvB8qQ5uVt0lvCIexBaROw1KyKm5sbulg2fWOHjETisuCzWyt+eTZKEMs8v6HwzoGs8xik26jg7eCM6pS+A==
 
 p-limit@^2.2.0:
   version "2.3.0"
@@ -7717,7 +7880,7 @@ p-pipe@^3.0.0:
 p-reduce@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa"
-  integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=
+  integrity sha512-3Tx1T3oM1xO/Y8Gj0sWyE78EIJZ+t+aEmXUdvQgvGmSMri7aPTHoovbXEreWKkL5j21Er60XAWLTzKbAKYOujQ==
 
 p-series@^1.0.0, p-series@^1.1.0:
   version "1.1.0"
@@ -7747,7 +7910,7 @@ parent-module@^1.0.0:
 parents@^1.0.0, parents@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/parents/-/parents-1.0.1.tgz#fedd4d2bf193a77745fe71e371d73c3307d9c751"
-  integrity sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=
+  integrity sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==
   dependencies:
     path-platform "~0.11.15"
 
@@ -7819,7 +7982,7 @@ path-fx@^2.0.0, path-fx@^2.1.1:
 path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
-  integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
+  integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
 
 path-key@^3.0.0, path-key@^3.1.0:
   version "3.1.1"
@@ -7834,7 +7997,7 @@ path-parse@^1.0.6:
 path-platform@~0.11.15:
   version "0.11.15"
   resolved "https://registry.yarnpkg.com/path-platform/-/path-platform-0.11.15.tgz#e864217f74c36850f0852b78dc7bf7d4a5721bf2"
-  integrity sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=
+  integrity sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==
 
 path-type@^4.0.0:
   version "4.0.0"
@@ -7844,7 +8007,7 @@ path-type@^4.0.0:
 pathfinding@^0.4.18:
   version "0.4.18"
   resolved "https://registry.yarnpkg.com/pathfinding/-/pathfinding-0.4.18.tgz#a9990f6fa22b7ef196e5651b049165403a045fe8"
-  integrity sha1-qZkPb6IrfvGW5WUbBJFlQDoEX+g=
+  integrity sha512-R0TGEQ9GRcFCDvAWlJAWC+KGJ9SLbW4c0nuZRcioVlXVTlw+F5RvXQ8SQgSqI9KXWC1ew95vgmIiyaWTlCe9Ag==
   dependencies:
     heap "0.2.5"
 
@@ -7867,7 +8030,7 @@ pbkdf2@^3.0.3:
 performance-now@^2.1.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
-  integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
+  integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==
 
 "pgadmin4-tree@git+https://github.com/EnterpriseDB/pgadmin4-treeview/#07cc449e1d89ecc8cce3679d8cff5a35f1db67ee":
   version "1.0.0"
@@ -7903,7 +8066,7 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3:
 picomodal@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/picomodal/-/picomodal-3.0.0.tgz#facd30f4fbf34a809c1e04ea525f004f399c0b82"
-  integrity sha1-+s0w9PvzSoCcHgTqUl8ATzmcC4I=
+  integrity sha512-FoR3TDfuLlqUvcEeK5ifpKSVVns6B4BQvc8SDF6THVMuadya6LLtji0QgUDSStw0ZR2J7I6UGi5V2V23rnPWTw==
 
 pkg-dir@^4.1.0, pkg-dir@^4.2.0:
   version "4.2.0"
@@ -8192,7 +8355,7 @@ postcss@^8.2.15, postcss@^8.3.5:
 precond@^0.2.3:
   version "0.2.3"
   resolved "https://registry.yarnpkg.com/precond/-/precond-0.2.3.tgz#aa9591bcaa24923f1e0f4849d240f47efc1075ac"
-  integrity sha1-qpWRvKokkj8eD0hJ0kD0fvwQdaw=
+  integrity sha512-QCYG84SgGyGzqJ/vlMsxeXd/pgL/I94ixdNFyh1PusWmTCyVfPJjZ1K1jvHtsbfnXQs2TSkEP2fR7QiMZAnKFQ==
 
 prelude-ls@^1.2.1:
   version "1.2.1"
@@ -8207,7 +8370,7 @@ process-nextick-args@~2.0.0:
 process@^0.11.10, process@~0.11.0:
   version "0.11.10"
   resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
-  integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
+  integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==
 
 progress@^2.0.0:
   version "2.0.3"
@@ -8217,7 +8380,7 @@ progress@^2.0.0:
 promise-inflight@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
-  integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM=
+  integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==
 
 promise-retry@^2.0.1:
   version "2.0.1"
@@ -8245,6 +8408,15 @@ prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2:
     object-assign "^4.1.1"
     react-is "^16.8.1"
 
+prop-types@^15.8.1:
+  version "15.8.1"
+  resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
+  integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
+  dependencies:
+    loose-envify "^1.4.0"
+    object-assign "^4.1.1"
+    react-is "^16.13.1"
+
 public-encrypt@^4.0.0:
   version "4.0.3"
   resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0"
@@ -8260,12 +8432,12 @@ public-encrypt@^4.0.0:
 punycode@1.3.2:
   version "1.3.2"
   resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
-  integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=
+  integrity sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==
 
 punycode@^1.3.2:
   version "1.4.1"
   resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
-  integrity sha1-wNWmOycYgArY4esPpSachN1BhF4=
+  integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==
 
 punycode@^2.1.0:
   version "2.1.1"
@@ -8275,7 +8447,7 @@ punycode@^2.1.0:
 q@^1.1.2:
   version "1.5.1"
   resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
-  integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=
+  integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==
 
 qjobs@^1.2.0:
   version "1.2.0"
@@ -8290,12 +8462,12 @@ qs@6.7.0:
 querystring-es3@~0.2.0:
   version "0.2.1"
   resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
-  integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=
+  integrity sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==
 
 querystring@0.2.0:
   version "0.2.0"
   resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
-  integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=
+  integrity sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==
 
 queue-microtask@^1.2.2:
   version "1.2.3"
@@ -8317,7 +8489,7 @@ raf@^3.4.1:
 railroad-diagrams@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz#eb7e6267548ddedfb899c1b90e57374559cddb7e"
-  integrity sha1-635iZ1SN3t+4mcG5Dlc3RVnN234=
+  integrity sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==
 
 randexp@0.4.6:
   version "0.4.6"
@@ -8554,6 +8726,15 @@ react-draggable@^4.4.4:
     clsx "^1.1.1"
     prop-types "^15.6.0"
 
+react-dropzone@^14.2.1:
+  version "14.2.1"
+  resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-14.2.1.tgz#aad17e06290723358398a7be76fb38ecf6d77c1a"
+  integrity sha512-jzX6wDtAjlfwZ+Fbg+G17EszWUkQVxhMTWMfAC9qSUq7II2pKglHA8aarbFKl0mLpRPDaNUcy+HD/Sf4gkf76Q==
+  dependencies:
+    attr-accept "^2.2.2"
+    file-selector "^0.6.0"
+    prop-types "^15.8.1"
+
 react-input-autosize@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/react-input-autosize/-/react-input-autosize-3.0.0.tgz#6b5898c790d4478d69420b55441fcc31d5c50a85"
@@ -8696,7 +8877,7 @@ react@^17.0.1:
 read-only-stream@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/read-only-stream/-/read-only-stream-2.0.0.tgz#2724fd6a8113d73764ac288d4386270c1dbf17f0"
-  integrity sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=
+  integrity sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==
   dependencies:
     readable-stream "^2.0.2"
 
@@ -8722,14 +8903,14 @@ read-pkg@^6.0.0:
 readable-stream@^1.0.33:
   version "1.1.14"
   resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
-  integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk=
+  integrity sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==
   dependencies:
     core-util-is "~1.0.0"
     inherits "~2.0.1"
     isarray "0.0.1"
     string_decoder "~0.10.x"
 
-readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.2.2, readable-stream@~2.3.6:
+readable-stream@^2.0.2, readable-stream@^2.2.2, readable-stream@~2.3.6:
   version "2.3.7"
   resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
   integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
@@ -8776,7 +8957,7 @@ redent@^4.0.0:
 reflect.ownkeys@^0.2.0:
   version "0.2.0"
   resolved "https://registry.yarnpkg.com/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz#749aceec7f3fdf8b63f927a04809e90c5c0b3460"
-  integrity sha1-dJrO7H8/34tj+SegSAnpDFwLNGA=
+  integrity sha512-qOLsBKHCpSOFKK1NUOCGC5VyeufB6lEsFe92AL2bhIJsacZS1qdoOZSbPk3MYKuT2cFlRDnulKXuuElIrMjGUg==
 
 regenerate-unicode-properties@^10.0.1:
   version "10.0.1"
@@ -8885,7 +9066,7 @@ regjsparser@^0.8.2:
 repeating@^2.0.0:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
-  integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=
+  integrity sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==
   dependencies:
     is-finite "^1.0.0"
 
@@ -8897,7 +9078,7 @@ replace-ext@^1.0.0:
 require-directory@^2.1.1:
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
-  integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
+  integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
 
 require-from-string@^2.0.2:
   version "2.0.2"
@@ -8907,7 +9088,7 @@ require-from-string@^2.0.2:
 requires-port@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
-  integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=
+  integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==
 
 resize-observer-polyfill@^1.5.1:
   version "1.5.1"
@@ -8955,7 +9136,7 @@ ret@~0.1.10:
 retry@^0.12.0:
   version "0.12.0"
   resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b"
-  integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=
+  integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==
 
 reusify@^1.0.4:
   version "1.0.4"
@@ -8992,7 +9173,7 @@ ripemd160@^2.0.0, ripemd160@^2.0.1:
 rst-selector-parser@^2.2.3:
   version "2.2.3"
   resolved "https://registry.yarnpkg.com/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz#81b230ea2fcc6066c89e3472de794285d9b03d91"
-  integrity sha1-gbIw6i/MYGbInjRy3nlChdmwPZE=
+  integrity sha512-nDG1rZeP6oFTLN6yNDV/uiAvs1+FS/KlrEwh7+y7dpuApDBy6bI2HTBcc0/V8lv9OTqfyD34eF7au2pm8aBbhA==
   dependencies:
     lodash.flattendeep "^4.4.0"
     nearley "^2.7.10"
@@ -9068,7 +9249,7 @@ scheduler@^0.20.2:
 schema-utils@^0.3.0:
   version "0.3.0"
   resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.3.0.tgz#f5877222ce3e931edae039f17eb3716e7137f8cf"
-  integrity sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=
+  integrity sha512-QaVYBaD9U8scJw2EBWnCBY+LJ0AD+/2edTaigDs0XLDLBfJmSUK9KGqktg1rb32U3z4j/XwvFwHHH1YfbYFd7Q==
   dependencies:
     ajv "^5.0.0"
 
@@ -9119,13 +9300,20 @@ semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0:
   resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
   integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
 
-semver@^7.2.1, semver@^7.3.4, semver@^7.3.5:
+semver@^7.2.1, semver@^7.3.4:
   version "7.3.5"
   resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
   integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
   dependencies:
     lru-cache "^6.0.0"
 
+semver@^7.3.5:
+  version "7.3.7"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f"
+  integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==
+  dependencies:
+    lru-cache "^6.0.0"
+
 serialize-javascript@^5.0.1:
   version "5.0.1"
   resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4"
@@ -9140,10 +9328,10 @@ serialize-javascript@^6.0.0:
   dependencies:
     randombytes "^2.1.0"
 
-set-blocking@~2.0.0:
+set-blocking@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
-  integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
+  integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==
 
 setprototypeof@1.1.1:
   version "1.1.1"
@@ -9197,7 +9385,7 @@ shell-quote@^1.6.1:
 shim-loader@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/shim-loader/-/shim-loader-1.0.1.tgz#2583a6d2aa938897c2a41658bcef73ec87d3aa5e"
-  integrity sha1-JYOm0qqTiJfCpBZYvO9z7IfTql4=
+  integrity sha512-O7amY2FR6Mmu0LRair5uLc/NG/sHFw/ulOf9s4iJfW/4KBSQdyqz9iZmOf57QG7xbKISHHPttMsVZWqQ/0vxpw==
   dependencies:
     loader-utils "^1.1.0"
     lodash "^4.14.1"
@@ -9213,10 +9401,10 @@ side-channel@^1.0.4:
     get-intrinsic "^1.0.2"
     object-inspect "^1.9.0"
 
-signal-exit@^3.0.0, signal-exit@^3.0.3:
-  version "3.0.5"
-  resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.5.tgz#9e3e8cc0c75a99472b44321033a7702e7738252f"
-  integrity sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==
+signal-exit@^3.0.3, signal-exit@^3.0.7:
+  version "3.0.7"
+  resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
+  integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
 
 simple-concat@^1.0.0:
   version "1.0.1"
@@ -9258,7 +9446,7 @@ slice-ansi@^4.0.0:
     jquery ">=1.8.0"
     jquery-ui ">=1.8.0"
 
-smart-buffer@^4.1.0:
+smart-buffer@^4.2.0:
   version "4.2.0"
   resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae"
   integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==
@@ -9266,14 +9454,14 @@ smart-buffer@^4.1.0:
 snapsvg-cjs@^0.0.6:
   version "0.0.6"
   resolved "https://registry.yarnpkg.com/snapsvg-cjs/-/snapsvg-cjs-0.0.6.tgz#3b2f56af2573d3d364c3ed5bf8885745f4d2dde1"
-  integrity sha1-Oy9WryVz09Nkw+1b+IhXRfTS3eE=
+  integrity sha512-7NNvoGrc3BQvWz5rWK1DsD5/Vni4STswz5B3JrBADboQWcN8OBVGjYVJFPT5JkUXb2iVnEflZANhufEpEcTHXw==
   dependencies:
     snapsvg "0.5.1"
 
 snapsvg@0.5.1:
   version "0.5.1"
   resolved "https://registry.yarnpkg.com/snapsvg/-/snapsvg-0.5.1.tgz#0caf52c79189a290746fc446cc5e863f6bdddfe3"
-  integrity sha1-DK9Sx5GJopB0b8RGzF6GP2vd3+M=
+  integrity sha512-CjwWYsL7+CCk1vCk9BBKGYS4WJVDfJAOMWU+Zhzf8wf6pAm/xT34wnpaMPAgcgCNkxuU6OkQPPd8wGuRCY9aNw==
   dependencies:
     eve "~0.5.1"
 
@@ -9323,27 +9511,27 @@ socket.io@^4.2.0:
     socket.io-adapter "~2.3.3"
     socket.io-parser "~4.0.4"
 
-socks-proxy-agent@^6.0.0:
-  version "6.1.0"
-  resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.1.0.tgz#869cf2d7bd10fea96c7ad3111e81726855e285c3"
-  integrity sha512-57e7lwCN4Tzt3mXz25VxOErJKXlPfXmkMLnk310v/jwW20jWRVcgsOit+xNkN3eIEdB47GwnfAEBLacZ/wVIKg==
+socks-proxy-agent@^7.0.0:
+  version "7.0.0"
+  resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz#dc069ecf34436621acb41e3efa66ca1b5fed15b6"
+  integrity sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==
   dependencies:
     agent-base "^6.0.2"
-    debug "^4.3.1"
-    socks "^2.6.1"
+    debug "^4.3.3"
+    socks "^2.6.2"
 
-socks@^2.6.1:
-  version "2.6.1"
-  resolved "https://registry.yarnpkg.com/socks/-/socks-2.6.1.tgz#989e6534a07cf337deb1b1c94aaa44296520d30e"
-  integrity sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA==
+socks@^2.6.2:
+  version "2.7.0"
+  resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.0.tgz#f9225acdb841e874dca25f870e9130990f3913d0"
+  integrity sha512-scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA==
   dependencies:
-    ip "^1.1.5"
-    smart-buffer "^4.1.0"
+    ip "^2.0.0"
+    smart-buffer "^4.2.0"
 
 source-list-map@^1.1.1:
   version "1.1.2"
   resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-1.1.2.tgz#9889019d1024cce55cdc069498337ef6186a11a1"
-  integrity sha1-mIkBnRAkzOVc3AaUmDN+9hhqEaE=
+  integrity sha512-FqR2O+cX+toUD3ULVIgTtiqYIqPnA62ehJD47mf4LG1PZCB+xmIa3gcTEhegGbP22aRPh88dJSdgDIolrvSxBQ==
 
 source-list-map@^2.0.0:
   version "2.0.1"
@@ -9374,18 +9562,13 @@ source-map-support@~0.5.20:
 source-map@^0.5.0, source-map@^0.5.7, source-map@~0.5.3:
   version "0.5.7"
   resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
-  integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
+  integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==
 
 source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1:
   version "0.6.1"
   resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
   integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
 
-source-map@~0.7.2:
-  version "0.7.3"
-  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
-  integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
-
 spdx-correct@^3.0.0:
   version "3.1.1"
   resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9"
@@ -9425,12 +9608,12 @@ sprintf-js@1.1.2:
 sprintf-js@~1.0.2:
   version "1.0.3"
   resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
-  integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
+  integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
 
-ssri@^8.0.0, ssri@^8.0.1:
-  version "8.0.1"
-  resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af"
-  integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==
+ssri@^9.0.0:
+  version "9.0.1"
+  resolved "https://registry.yarnpkg.com/ssri/-/ssri-9.0.1.tgz#544d4c357a8d7b71a19700074b6883fcb4eae057"
+  integrity sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==
   dependencies:
     minipass "^3.1.1"
 
@@ -9442,7 +9625,7 @@ stable@^0.1.8:
 "statuses@>= 1.5.0 < 2", statuses@~1.5.0:
   version "1.5.0"
   resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
-  integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
+  integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
 
 stream-browserify@^3.0.0:
   version "3.0.0"
@@ -9455,7 +9638,7 @@ stream-browserify@^3.0.0:
 stream-combiner2@^1.1.1:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz#fb4d8a1420ea362764e21ad4780397bebcb41cbe"
-  integrity sha1-+02KFCDqNidk4hrUeAOXvry0HL4=
+  integrity sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==
   dependencies:
     duplexer2 "~0.1.0"
     readable-stream "^2.0.2"
@@ -9487,15 +9670,6 @@ streamroller@^3.0.2:
     debug "^4.1.1"
     fs-extra "^10.0.0"
 
-string-width@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
-  integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
-  dependencies:
-    code-point-at "^1.0.0"
-    is-fullwidth-code-point "^1.0.0"
-    strip-ansi "^3.0.0"
-
 "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
   version "4.2.3"
   resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
@@ -9505,16 +9679,6 @@ string-width@^1.0.1:
     is-fullwidth-code-point "^3.0.0"
     strip-ansi "^6.0.1"
 
-string.fromcodepoint@^0.2.1:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/string.fromcodepoint/-/string.fromcodepoint-0.2.1.tgz#8d978333c0bc92538f50f383e4888f3e5619d653"
-  integrity sha1-jZeDM8C8klOPUPOD5IiPPlYZ1lM=
-
-string.prototype.codepointat@^0.2.1:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz#004ad44c8afc727527b108cd462b4d971cd469bc"
-  integrity sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==
-
 string.prototype.matchall@^4.0.5:
   version "4.0.6"
   resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz#5abb5dabc94c7b0ea2380f65ba610b3a544b15fa"
@@ -9564,7 +9728,7 @@ string_decoder@^1.1.1:
 string_decoder@~0.10.x:
   version "0.10.31"
   resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
-  integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=
+  integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==
 
 string_decoder@~1.1.1:
   version "1.1.1"
@@ -9573,10 +9737,10 @@ string_decoder@~1.1.1:
   dependencies:
     safe-buffer "~5.1.0"
 
-strip-ansi@^3.0.0, strip-ansi@^3.0.1:
+strip-ansi@^3.0.0:
   version "3.0.1"
   resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
-  integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
+  integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==
   dependencies:
     ansi-regex "^2.0.0"
 
@@ -9663,14 +9827,14 @@ stylis@^4.0.10, stylis@^4.0.7:
 subarg@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/subarg/-/subarg-1.0.0.tgz#f62cf17581e996b48fc965699f54c06ae268b8d2"
-  integrity sha1-9izxdYHplrSPyWVpn1TAauJouNI=
+  integrity sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==
   dependencies:
     minimist "^1.1.0"
 
 supports-color@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
-  integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
+  integrity sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==
 
 supports-color@^5.3.0, supports-color@^5.5.0:
   version "5.5.0"
@@ -9698,38 +9862,35 @@ svg-parser@^2.0.2:
   resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5"
   integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==
 
-svg-pathdata@^5.0.2:
-  version "5.0.5"
-  resolved "https://registry.yarnpkg.com/svg-pathdata/-/svg-pathdata-5.0.5.tgz#65e8d765642ba15fe15434444087d082bc526b29"
-  integrity sha512-TAAvLNSE3fEhyl/Da19JWfMAdhSXTYeviXsLSoDT1UM76ADj5ndwAPX1FKQEgB/gFMPavOy6tOqfalXKUiXrow==
+svg-pathdata@^6.0.0:
+  version "6.0.3"
+  resolved "https://registry.yarnpkg.com/svg-pathdata/-/svg-pathdata-6.0.3.tgz#80b0e0283b652ccbafb69ad4f8f73e8d3fbf2cac"
+  integrity sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==
 
-svg2ttf@^5.0.0:
-  version "5.2.0"
-  resolved "https://registry.yarnpkg.com/svg2ttf/-/svg2ttf-5.2.0.tgz#75c9b8d3c799a91c893ef7bdbfa72d8e00a48a5c"
-  integrity sha512-CzxPnSm2/CrMnJuKlXVllOx+q9wuarbIMi4Vf14eJoeESRqAOxVZiH0Ias71mhyXYGgz88A4T/E8fN/Y8eXoYA==
+svg2ttf@^6.0.3:
+  version "6.0.3"
+  resolved "https://registry.yarnpkg.com/svg2ttf/-/svg2ttf-6.0.3.tgz#7b92978ff124b2a583d21e1208b9675e245e56d1"
+  integrity sha512-CgqMyZrbOPpc+WqH7aga4JWkDPso23EgypLsbQ6gN3uoPWwwiLjXvzgrwGADBExvCRJrWFzAeK1bSoSpE7ixSQ==
   dependencies:
+    "@xmldom/xmldom" "^0.7.2"
     argparse "^2.0.1"
-    cubic2quad "^1.0.0"
+    cubic2quad "^1.2.1"
     lodash "^4.17.10"
     microbuffer "^1.0.0"
     svgpath "^2.1.5"
-    xmldom "~0.5.0"
 
-svgicons2svgfont@^9.0.3:
-  version "9.2.0"
-  resolved "https://registry.yarnpkg.com/svgicons2svgfont/-/svgicons2svgfont-9.2.0.tgz#9ff1b643891891eb52ab1bd764b468e2d06ded80"
-  integrity sha512-mWeiuob7L2ZTcnAEP4JvSQ1pnIsGjV16ykQ0fCiiXqoUAQ/iNsDvBc601ojjfP89eCPtr3IVZ9mDxYpdxYO3xQ==
+svgicons2svgfont@^10.0.4:
+  version "10.0.6"
+  resolved "https://registry.yarnpkg.com/svgicons2svgfont/-/svgicons2svgfont-10.0.6.tgz#2901f9016244049674d3b3178c36471994a30c0a"
+  integrity sha512-fUgQEVg3XwTbOHvlXahHGqCet5Wvfo1bV4DCvbSRvjsOCPCRunYbG4dUJCPegps37BMph3eOrfoobhH5AWuC6A==
   dependencies:
-    array.prototype.flatmap "1.2.4"
-    commander "^4.0.1"
+    commander "^7.2.0"
     geometry-interfaces "^1.1.4"
     glob "^7.1.6"
     neatequal "^1.0.0"
     readable-stream "^3.4.0"
     sax "^1.2.4"
-    string.fromcodepoint "^0.2.1"
-    string.prototype.codepointat "^0.2.1"
-    svg-pathdata "^5.0.2"
+    svg-pathdata "^6.0.0"
 
 svgo-loader@^2.2.0:
   version "2.2.2"
@@ -9753,9 +9914,9 @@ svgo@^2.5.0, svgo@^2.7.0:
     stable "^0.1.8"
 
 svgpath@^2.1.5:
-  version "2.3.1"
-  resolved "https://registry.yarnpkg.com/svgpath/-/svgpath-2.3.1.tgz#b102334bebd2244b4818460ba2ebad52716a0d43"
-  integrity sha512-wNz6lCoj+99GMoyU7SozTfPqiLHz6WcJYZ30Z+F4lF/gPtxWHBCpZ4DhoDI0+oZ0dObKyYsJdSPGbL2mJq/qCg==
+  version "2.5.0"
+  resolved "https://registry.yarnpkg.com/svgpath/-/svgpath-2.5.0.tgz#d57434641d9aa9abae02a4038ebf281fa3005b10"
+  integrity sha512-o/vohwqjUO9nDAh4rcjE3KaW/v//At8UJu2LJMybXidf5QLQLVA4bxH0//4YCsr+1H4Gw1Wi/Jc62ynzSBYidw==
 
 syntax-error@^1.1.1:
   version "1.4.0"
@@ -9775,19 +9936,12 @@ table@^6.0.9:
     string-width "^4.2.3"
     strip-ansi "^6.0.1"
 
-tablesorter@^2.31.2:
-  version "2.31.3"
-  resolved "https://registry.yarnpkg.com/tablesorter/-/tablesorter-2.31.3.tgz#94c33234ba0e5d9efc5ba4e48651010a396c8b64"
-  integrity sha512-ueEzeKiMajDcCWnUoT1dOeNEaS1OmPh9+8J0O2Sjp3TTijMygH74EA9QNJiNkLJqULyNU0RhbKY26UMUq9iurA==
-  dependencies:
-    jquery ">=1.2.6"
-
 tapable@^2.1.1, tapable@^2.2.0:
   version "2.2.1"
   resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0"
   integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==
 
-tar@^6.0.2, tar@^6.1.2:
+tar@^6.1.11, tar@^6.1.2:
   version "6.1.11"
   resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621"
   integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==
@@ -9832,12 +9986,13 @@ terser-webpack-plugin@^5.1.1, terser-webpack-plugin@^5.1.3:
     terser "^5.7.2"
 
 terser@^5.7.2:
-  version "5.9.0"
-  resolved "https://registry.yarnpkg.com/terser/-/terser-5.9.0.tgz#47d6e629a522963240f2b55fcaa3c99083d2c351"
-  integrity sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ==
+  version "5.14.2"
+  resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.2.tgz#9ac9f22b06994d736174f4091aa368db896f1c10"
+  integrity sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==
   dependencies:
+    "@jridgewell/source-map" "^0.3.2"
+    acorn "^8.5.0"
     commander "^2.20.0"
-    source-map "~0.7.2"
     source-map-support "~0.5.20"
 
 text-segmentation@^1.0.2:
@@ -9850,7 +10005,7 @@ text-segmentation@^1.0.2:
 text-table@^0.2.0:
   version "0.2.0"
   resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
-  integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
+  integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
 
 through2@^2.0.0:
   version "2.0.5"
@@ -9863,19 +10018,19 @@ through2@^2.0.0:
 "through@>=2.2.7 <3":
   version "2.3.8"
   resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
-  integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
+  integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==
 
 timers-browserify@^1.0.1:
   version "1.4.2"
   resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz#c9c58b575be8407375cb5e2462dacee74359f41d"
-  integrity sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=
+  integrity sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==
   dependencies:
     process "~0.11.0"
 
 timsort@^0.3.0:
   version "0.3.0"
   resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4"
-  integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=
+  integrity sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==
 
 tiny-emitter@^2.0.2:
   version "2.1.0"
@@ -9904,12 +10059,12 @@ tmp@^0.2.1:
 to-fast-properties@^1.0.3:
   version "1.0.3"
   resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
-  integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=
+  integrity sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==
 
 to-fast-properties@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
-  integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
+  integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==
 
 to-regex-range@^5.0.1:
   version "5.0.1"
@@ -9936,7 +10091,7 @@ trim-newlines@^4.0.2:
 trim-right@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
-  integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
+  integrity sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==
 
 tslib@2.3.0:
   version "2.3.0"
@@ -9948,31 +10103,34 @@ tslib@^2.2.0:
   resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01"
   integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==
 
-ttf2eot@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/ttf2eot/-/ttf2eot-2.0.0.tgz#8e6337a585abd1608a0c84958ab483ce69f6654b"
-  integrity sha1-jmM3pYWr0WCKDISVirSDzmn2ZUs=
+tslib@^2.4.0:
+  version "2.4.0"
+  resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3"
+  integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==
+
+ttf2eot@^3.0.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/ttf2eot/-/ttf2eot-3.1.0.tgz#c8971af7c68c5b996d8cfdb8847cdadfbf195e05"
+  integrity sha512-aHTbcYosNHVqb2Qtt9Xfta77ae/5y0VfdwNLUS6sGBeGr22cX2JDMo/i5h3uuOf+FAD3akYOr17+fYd5NK8aXw==
   dependencies:
-    argparse "^1.0.6"
-    microbuffer "^1.0.0"
+    argparse "^2.0.1"
 
-ttf2woff2@^4.0.1:
-  version "4.0.4"
-  resolved "https://registry.yarnpkg.com/ttf2woff2/-/ttf2woff2-4.0.4.tgz#a995856dc0cc6f4b12ea38c5de7ab289b645ef26"
-  integrity sha512-pdt/q89D6VmWToUkiwrUo/OrQtmHGr2iBl3GQriHE6xq0cnteb8gJF8UitOdXmFTX8ajKgb3HMGKpKAsCJM61g==
+ttf2woff2@^4.0.4:
+  version "4.0.5"
+  resolved "https://registry.yarnpkg.com/ttf2woff2/-/ttf2woff2-4.0.5.tgz#c7c87242938e9e2ed37fe5f477dd21acdb88fbfd"
+  integrity sha512-zpoU0NopfjoyVqkFeQ722SyKk/n607mm5OHxuDS/wCCSy82B8H3hHXrezftA2KMbKqfJIjie2lsJHdvPnBGbsw==
   dependencies:
     bindings "^1.5.0"
     bufferstreams "^3.0.0"
     nan "^2.14.2"
-    node-gyp "^8.1.0"
+    node-gyp "^9.0.0"
 
-ttf2woff@^2.0.1:
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/ttf2woff/-/ttf2woff-2.0.2.tgz#09a7cee59abd3c15282b57ed84ac7c7770749f1f"
-  integrity sha512-X68badwBjAy/+itU49scLjXUL094up+rHuYk+YAOTTBYSUMOmLZ7VyhZJuqQESj1gnyLAC2/5V8Euv+mExmyPA==
+ttf2woff@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/ttf2woff/-/ttf2woff-3.0.0.tgz#bd0fc0157e428b7a9a30340f78adf72fb741962a"
+  integrity sha512-OvmFcj70PhmAsVQKfC15XoKH55cRWuaRzvr2fpTNhTNer6JBpG8n6vOhRrIgxMjcikyYt88xqYXMMVapJ4Rjvg==
   dependencies:
-    argparse "^1.0.6"
-    microbuffer "^1.0.0"
+    argparse "^2.0.1"
     pako "^1.0.0"
 
 tty-browserify@0.0.1:
@@ -10008,7 +10166,7 @@ type-is@~1.6.17:
 typedarray@^0.0.6:
   version "0.0.6"
   resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
-  integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
+  integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==
 
 typescript@^3.2.2:
   version "3.9.10"
@@ -10021,9 +10179,9 @@ ua-parser-js@^0.7.30:
   integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==
 
 uglify-js@^3.1.4:
-  version "3.14.3"
-  resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.14.3.tgz#c0f25dfea1e8e5323eccf59610be08b6043c15cf"
-  integrity sha512-mic3aOdiq01DuSVx0TseaEzMIVqebMZ0Z3vaeDhFEh9bsc24hV1TFvN74reA2vs08D0ZWfNjAcJ3UbVLaBss+g==
+  version "3.16.2"
+  resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.16.2.tgz#0481e1dbeed343ad1c2ddf3c6d42e89b7a6d4def"
+  integrity sha512-AaQNokTNgExWrkEYA24BTNMSjyqEXPSfhqoS0AxmHkCJ4U+Dyy5AvbGV/sqxuxficEfGGoX3zWw9R7QpLFfEsg==
 
 umd@^3.0.0:
   version "3.0.3"
@@ -10043,7 +10201,7 @@ unbox-primitive@^1.0.1:
 unc-path-regex@^0.1.2:
   version "0.1.2"
   resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa"
-  integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo=
+  integrity sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==
 
 undeclared-identifiers@^1.1.2:
   version "1.1.3"
@@ -10110,7 +10268,7 @@ unicode-property-aliases-ecmascript@^2.0.0:
 uniqs@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02"
-  integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI=
+  integrity sha512-mZdDpf3vBV5Efh29kMw5tXoup/buMgxLzOt/XKFKcVmi+15ManNQWr6HfZ2aiZTYlYixbdNJ0KFmIZIv52tHSQ==
 
 unique-filename@^1.1.1:
   version "1.1.1"
@@ -10134,7 +10292,7 @@ universalify@^2.0.0:
 unpipe@1.0.0, unpipe@~1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
-  integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
+  integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
 
 uri-js@^4.2.2:
   version "4.4.1"
@@ -10160,7 +10318,7 @@ url-loader@^1.1.2:
 url@~0.11.0:
   version "0.11.0"
   resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
-  integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=
+  integrity sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==
   dependencies:
     punycode "1.3.2"
     querystring "0.2.0"
@@ -10168,12 +10326,12 @@ url@~0.11.0:
 util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
-  integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
+  integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
 
 util@0.10.3:
   version "0.10.3"
   resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
-  integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk=
+  integrity sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==
   dependencies:
     inherits "2.0.1"
 
@@ -10192,7 +10350,7 @@ util@~0.12.0:
 utils-merge@1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
-  integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
+  integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
 
 utrie@^1.0.1:
   version "1.0.1"
@@ -10209,7 +10367,7 @@ v8-compile-cache@^2.0.3:
 valid-filename@^2.0.1:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/valid-filename/-/valid-filename-2.0.1.tgz#0768d6f364b1ed3bdf68f0d15abffb0d9d6cecaf"
-  integrity sha1-B2jW82Sx7TvfaPDRWr/7DZ1s7K8=
+  integrity sha512-7eF/iUZ5SPd3FighoKgatSjXDJ25Vopo/6yvEKGyX4FIeZVHcLjHmyvbQ1WdFD9RQZ9PoBA7nrSxxAz/oC64SQ==
   dependencies:
     filename-reserved-regex "^2.0.0"
 
@@ -10231,14 +10389,14 @@ vanilla-picker@^2.11.2:
 varstream@^0.3.2:
   version "0.3.2"
   resolved "https://registry.yarnpkg.com/varstream/-/varstream-0.3.2.tgz#18ac6494765f3ff1a35ad9a4be053bec188a5de1"
-  integrity sha1-GKxklHZfP/GjWtmkvgU77BiKXeE=
+  integrity sha512-OpR3Usr9dGZZbDttlTxdviGdxiURI0prX68+DuaN/JfIDbK9ZOmREKM6PgmelsejMnhgjXmEEEgf+E4NbsSqMg==
   dependencies:
     readable-stream "^1.0.33"
 
 vary@^1:
   version "1.1.2"
   resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
-  integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=
+  integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
 
 vendors@^1.0.3:
   version "1.0.4"
@@ -10253,7 +10411,7 @@ vm-browserify@^1.0.0:
 void-elements@^2.0.0:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec"
-  integrity sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=
+  integrity sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==
 
 watchpack@^2.2.0:
   version "2.2.0"
@@ -10273,11 +10431,11 @@ watchpack@^2.2.0:
     jquery-contextmenu "^2.6.4"
 
 webfonts-loader@^7.3.0:
-  version "7.3.0"
-  resolved "https://registry.yarnpkg.com/webfonts-loader/-/webfonts-loader-7.3.0.tgz#a720fd919aad090ddb56252384035aa6fb882d99"
-  integrity sha512-vnqy8inrc5mvVXmyehCAZLy+yW1ir9MerPmklt3+2BL5f1QiD1HXtC/owyoQbjlWE6XAN+ev3JCJzaMoC+nuJg==
+  version "7.5.2"
+  resolved "https://registry.yarnpkg.com/webfonts-loader/-/webfonts-loader-7.5.2.tgz#9cdf86db9a24d07c6f9ad2fb59e7fa1e20fcfebb"
+  integrity sha512-XUCqaPZwWrQyTk7zWuHnxVy+ZDdKexAqPJm02dpQwN/zIaHdsGFohLVb09onRRsHRai49b7SZLDVaTxJY8wLsA==
   dependencies:
-    "@vusion/webfonts-generator" "^0.7.2"
+    "@vusion/webfonts-generator" "^0.8.0"
     glob "^7.1.6"
     loader-utils "^2.0.0"
 
@@ -10332,7 +10490,7 @@ webpack-merge@^5.7.3:
 webpack-sources@^0.2.3:
   version "0.2.3"
   resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.2.3.tgz#17c62bfaf13c707f9d02c479e0dcdde8380697fb"
-  integrity sha1-F8Yr+vE8cH+dAsR54Nzd6DgGl/s=
+  integrity sha512-iqanNZjOHLdPn/R0e/nKVn90dm4IsUMxKam0MZD1btWhFub/Cdo1nWdMio6yEqBc0F8mEieOjc+jfBSXwna94Q==
   dependencies:
     source-list-map "^1.1.1"
     source-map "~0.5.3"
@@ -10417,7 +10575,7 @@ which@^2.0.1, which@^2.0.2:
   dependencies:
     isexe "^2.0.0"
 
-wide-align@^1.1.0:
+wide-align@^1.1.5:
   version "1.1.5"
   resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3"
   integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==
@@ -10444,7 +10602,7 @@ word-wrap@^1.2.3:
 wordwrap@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
-  integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=
+  integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==
 
 wrap-ansi@^7.0.0:
   version "7.0.0"
@@ -10458,7 +10616,7 @@ wrap-ansi@^7.0.0:
 wrappy@1:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
-  integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
+  integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
 
 ws@^7.3.1:
   version "7.5.5"
@@ -10470,11 +10628,6 @@ ws@~8.2.3:
   resolved "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba"
   integrity sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==
 
-xmldom@~0.5.0:
-  version "0.5.0"
-  resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.5.0.tgz#193cb96b84aa3486127ea6272c4596354cb4962e"
-  integrity sha512-Foaj5FXVzgn7xFzsKeNIde9g6aFBxTPi37iwsno8QvApmtg7KYrr+OPyRHcJF7dud2a5nGRBXK3n0dL62Gf7PA==
-
 xmlhttprequest-ssl@~2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz#91360c86b914e67f44dce769180027c0da618c67"
@@ -10538,19 +10691,19 @@ yargs@^16.1.1:
     y18n "^5.0.5"
     yargs-parser "^20.2.2"
 
-yarn-audit-html@^3.0.1:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/yarn-audit-html/-/yarn-audit-html-3.0.1.tgz#222de37f2233f95a37b651efc2ac52e53a666a03"
-  integrity sha512-tdtbJyKD7lhGS3f1df/boxhNrnEfmjVCyjHGc/9WebZ3gHvF/dxyLDPOzio1vpJRczaYqW3WVF6M1Srgt1O2yQ==
+yarn-audit-html@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/yarn-audit-html/-/yarn-audit-html-4.0.0.tgz#dc04c9cf83e758fd6d9efad8c96df1fc8c4bf30c"
+  integrity sha512-PZW+M6b6BW4hBU6AuUnxFSOVOq6Gnrh+krBdzcX3OjWNqiDh8ovhiB6pTYEeR13jL8J9VXk/1POn2XljicWZNA==
   dependencies:
-    commander "^8.2.0"
-    ejs "~3.1.6"
-    marked "^3.0.7"
+    commander "^9.3.0"
+    ejs "~3.1.8"
+    marked "^4.0.17"
 
 yeast@0.1.2:
   version "0.1.2"
   resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"
-  integrity sha1-AI4G2AlDIMNy28L47XagymyKxBk=
+  integrity sha512-8HFIh676uyGYP6wP13R/j6OJ/1HwJ46snpvzE7aHAN3Ryqh2yX6Xox2B4CUmTwwOIzlG3Bs7ocsP5dZH/R1Qbg==
 
 yocto-queue@^0.1.0:
   version "0.1.0"
diff --git a/pkgs/tools/admin/pgadmin/yarn.nix b/pkgs/tools/admin/pgadmin/yarn.nix
index 13bd759ccc5..3e2513dd2cd 100644
--- a/pkgs/tools/admin/pgadmin/yarn.nix
+++ b/pkgs/tools/admin/pgadmin/yarn.nix
@@ -1898,11 +1898,11 @@
       };
     }
     {
-      name = "_gar_promisify___promisify_1.1.2.tgz";
+      name = "_gar_promisify___promisify_1.1.3.tgz";
       path = fetchurl {
-        name = "_gar_promisify___promisify_1.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.2.tgz";
-        sha512 = "82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw==";
+        name = "_gar_promisify___promisify_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz";
+        sha512 = "k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==";
       };
     }
     {
@@ -1938,11 +1938,11 @@
       };
     }
     {
-      name = "_jridgewell_gen_mapping___gen_mapping_0.3.1.tgz";
+      name = "_jridgewell_gen_mapping___gen_mapping_0.3.2.tgz";
       path = fetchurl {
-        name = "_jridgewell_gen_mapping___gen_mapping_0.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz";
-        sha512 = "GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==";
+        name = "_jridgewell_gen_mapping___gen_mapping_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz";
+        sha512 = "mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==";
       };
     }
     {
@@ -1962,6 +1962,14 @@
       };
     }
     {
+      name = "_jridgewell_source_map___source_map_0.3.2.tgz";
+      path = fetchurl {
+        name = "_jridgewell_source_map___source_map_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz";
+        sha512 = "m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==";
+      };
+    }
+    {
       name = "_jridgewell_sourcemap_codec___sourcemap_codec_1.4.13.tgz";
       path = fetchurl {
         name = "_jridgewell_sourcemap_codec___sourcemap_codec_1.4.13.tgz";
@@ -2066,19 +2074,19 @@
       };
     }
     {
-      name = "_npmcli_fs___fs_1.0.0.tgz";
+      name = "_npmcli_fs___fs_2.1.1.tgz";
       path = fetchurl {
-        name = "_npmcli_fs___fs_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.0.0.tgz";
-        sha512 = "8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ==";
+        name = "_npmcli_fs___fs_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.1.tgz";
+        sha512 = "1Q0uzx6c/NVNGszePbr5Gc2riSU1zLpNlo/1YWntH+eaPmMgBssAW0qXofCVkpdj3ce4swZtlDYQu+NKiYcptg==";
       };
     }
     {
-      name = "_npmcli_move_file___move_file_1.1.2.tgz";
+      name = "_npmcli_move_file___move_file_2.0.0.tgz";
       path = fetchurl {
-        name = "_npmcli_move_file___move_file_1.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz";
-        sha512 = "1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==";
+        name = "_npmcli_move_file___move_file_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-2.0.0.tgz";
+        sha512 = "UR6D5f4KEGWJV6BGPH3Qb2EtgH+t+1XQ1Tt85c7qicN6cezzuHPdZwwAxqZr4JLtnQu0LZsTza/5gmNmSl8XLg==";
       };
     }
     {
@@ -2322,11 +2330,11 @@
       };
     }
     {
-      name = "_tootallnate_once___once_1.1.2.tgz";
+      name = "_tootallnate_once___once_2.0.0.tgz";
       path = fetchurl {
-        name = "_tootallnate_once___once_1.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz";
-        sha512 = "RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==";
+        name = "_tootallnate_once___once_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz";
+        sha512 = "XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==";
       };
     }
     {
@@ -2506,11 +2514,11 @@
       };
     }
     {
-      name = "_vusion_webfonts_generator___webfonts_generator_0.7.3.tgz";
+      name = "_vusion_webfonts_generator___webfonts_generator_0.8.0.tgz";
       path = fetchurl {
-        name = "_vusion_webfonts_generator___webfonts_generator_0.7.3.tgz";
-        url  = "https://registry.yarnpkg.com/@vusion/webfonts-generator/-/webfonts-generator-0.7.3.tgz";
-        sha512 = "0qDx8stMupH3s4WDVw2y347XEMvR+OSZIOYEdoD9YIw7ZRq9GA+B2GtR7KPPoGHbzWWR+VGkzplPO5tfukewiw==";
+        name = "_vusion_webfonts_generator___webfonts_generator_0.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/@vusion/webfonts-generator/-/webfonts-generator-0.8.0.tgz";
+        sha512 = "1q17CF6umBEjlAtO37TzRw3aOCCAyFX+T4HPG70BmM6qx8s6H4/LQOa8eHFZq/oiMuMyd0FehKgUt/pqYlIMWA==";
       };
     }
     {
@@ -2666,6 +2674,14 @@
       };
     }
     {
+      name = "_xmldom_xmldom___xmldom_0.7.5.tgz";
+      path = fetchurl {
+        name = "_xmldom_xmldom___xmldom_0.7.5.tgz";
+        url  = "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.7.5.tgz";
+        sha512 = "V3BIhmY36fXZ1OtVcI9W+FxQqxVLsPKcNjWigIaa81dLC9IolJl5Mt4Cvhmr0flUnjSpTdrbMTSbXqYqV5dT6A==";
+      };
+    }
+    {
       name = "_xtuc_ieee754___ieee754_1.2.0.tgz";
       path = fetchurl {
         name = "_xtuc_ieee754___ieee754_1.2.0.tgz";
@@ -2686,7 +2702,7 @@
       path = fetchurl {
         name = "FileSaver___FileSaver_0.10.0.tgz";
         url  = "https://registry.yarnpkg.com/FileSaver/-/FileSaver-0.10.0.tgz";
-        sha1 = "fe84iZREWAQu9d8ukGTIjj0igcc=";
+        sha512 = "W+syaSPuxeh8yRPinETA4RlBO0ZuyM8IQIln8Y/pYZ136+pxqr64/JRx8rDm3uVqvgQ4xIHgAmZoepujBT1mvg==";
       };
     }
     {
@@ -2778,6 +2794,14 @@
       };
     }
     {
+      name = "acorn___acorn_8.7.1.tgz";
+      path = fetchurl {
+        name = "acorn___acorn_8.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz";
+        sha512 = "Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==";
+      };
+    }
+    {
       name = "agent_base___agent_base_6.0.2.tgz";
       path = fetchurl {
         name = "agent_base___agent_base_6.0.2.tgz";
@@ -2786,11 +2810,11 @@
       };
     }
     {
-      name = "agentkeepalive___agentkeepalive_4.1.4.tgz";
+      name = "agentkeepalive___agentkeepalive_4.2.1.tgz";
       path = fetchurl {
-        name = "agentkeepalive___agentkeepalive_4.1.4.tgz";
-        url  = "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.1.4.tgz";
-        sha512 = "+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ==";
+        name = "agentkeepalive___agentkeepalive_4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.2.1.tgz";
+        sha512 = "Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==";
       };
     }
     {
@@ -2830,7 +2854,7 @@
       path = fetchurl {
         name = "ajv___ajv_5.5.2.tgz";
         url  = "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz";
-        sha1 = "c7Xuyj+rZT49P5Qis0GtQiBdyWU=";
+        sha512 = "Ajr4IcMXq/2QmMkEmSvxqfLN5zGmJ92gHXAeOXq1OekoH2rfDNsgdDoL2f7QaRCy7G/E6TpxBVdRuNraMztGHw==";
       };
     }
     {
@@ -2878,7 +2902,7 @@
       path = fetchurl {
         name = "alphanum_sort___alphanum_sort_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz";
-        sha1 = "l6ERlkmyEa0zaR2fn0hqjsn74KM=";
+        sha512 = "0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ==";
       };
     }
     {
@@ -2894,7 +2918,7 @@
       path = fetchurl {
         name = "ansi_regex___ansi_regex_2.1.1.tgz";
         url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz";
-        sha1 = "w7M6te42DYbg5ijwRorn7yfWVN8=";
+        sha512 = "TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==";
       };
     }
     {
@@ -2910,7 +2934,7 @@
       path = fetchurl {
         name = "ansi_styles___ansi_styles_2.2.1.tgz";
         url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz";
-        sha1 = "tDLdM1i2NM914eRmQ2gkBTPB3b4=";
+        sha512 = "kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==";
       };
     }
     {
@@ -2946,19 +2970,19 @@
       };
     }
     {
-      name = "aproba___aproba_1.2.0.tgz";
+      name = "aproba___aproba_2.0.0.tgz";
       path = fetchurl {
-        name = "aproba___aproba_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz";
-        sha512 = "Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==";
+        name = "aproba___aproba_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz";
+        sha512 = "lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==";
       };
     }
     {
-      name = "are_we_there_yet___are_we_there_yet_1.1.7.tgz";
+      name = "are_we_there_yet___are_we_there_yet_3.0.0.tgz";
       path = fetchurl {
-        name = "are_we_there_yet___are_we_there_yet_1.1.7.tgz";
-        url  = "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz";
-        sha512 = "nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==";
+        name = "are_we_there_yet___are_we_there_yet_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz";
+        sha512 = "0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==";
       };
     }
     {
@@ -3026,14 +3050,6 @@
       };
     }
     {
-      name = "array.prototype.flatmap___array.prototype.flatmap_1.2.4.tgz";
-      path = fetchurl {
-        name = "array.prototype.flatmap___array.prototype.flatmap_1.2.4.tgz";
-        url  = "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz";
-        sha512 = "r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q==";
-      };
-    }
-    {
       name = "array.prototype.flatmap___array.prototype.flatmap_1.2.5.tgz";
       path = fetchurl {
         name = "array.prototype.flatmap___array.prototype.flatmap_1.2.5.tgz";
@@ -3098,14 +3114,6 @@
       };
     }
     {
-      name = "async___async_0.9.2.tgz";
-      path = fetchurl {
-        name = "async___async_0.9.2.tgz";
-        url  = "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz";
-        sha1 = "rqdNXmHB+JlhO/ZL2mbUx48v0X0=";
-      };
-    }
-    {
       name = "async___async_2.6.4.tgz";
       path = fetchurl {
         name = "async___async_2.6.4.tgz";
@@ -3122,6 +3130,22 @@
       };
     }
     {
+      name = "async___async_3.2.4.tgz";
+      path = fetchurl {
+        name = "async___async_3.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz";
+        sha512 = "iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==";
+      };
+    }
+    {
+      name = "attr_accept___attr_accept_2.2.2.tgz";
+      path = fetchurl {
+        name = "attr_accept___attr_accept_2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/attr-accept/-/attr-accept-2.2.2.tgz";
+        sha512 = "7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==";
+      };
+    }
+    {
       name = "autoprefixer___autoprefixer_10.4.0.tgz";
       path = fetchurl {
         name = "autoprefixer___autoprefixer_10.4.0.tgz";
@@ -3158,7 +3182,7 @@
       path = fetchurl {
         name = "babel_code_frame___babel_code_frame_6.26.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz";
-        sha1 = "Y/1D99weO7fONZR9uP42mj9Yx0s=";
+        sha512 = "XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==";
       };
     }
     {
@@ -3182,7 +3206,7 @@
       path = fetchurl {
         name = "babel_messages___babel_messages_6.23.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz";
-        sha1 = "8830cDhYA1sqKVHG7F7fbGLyYw4=";
+        sha512 = "Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==";
       };
     }
     {
@@ -3270,7 +3294,7 @@
       path = fetchurl {
         name = "babel_plugin_syntax_jsx___babel_plugin_syntax_jsx_6.18.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz";
-        sha1 = "CvMqmm4Tyno/1QaeYtew9Y0NiUY=";
+        sha512 = "qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==";
       };
     }
     {
@@ -3278,7 +3302,7 @@
       path = fetchurl {
         name = "babel_runtime___babel_runtime_6.26.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz";
-        sha1 = "llxwWGaOgrVde/4E/yM3vItWR/4=";
+        sha512 = "ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==";
       };
     }
     {
@@ -3286,7 +3310,7 @@
       path = fetchurl {
         name = "babel_template___babel_template_6.26.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz";
-        sha1 = "3gPi0WOWsGn0bdn/+FIfsaDjXgI=";
+        sha512 = "PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==";
       };
     }
     {
@@ -3294,7 +3318,7 @@
       path = fetchurl {
         name = "babel_traverse___babel_traverse_6.26.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz";
-        sha1 = "RqnL1+3MYsjlwGTi0tjQ9ANXZu4=";
+        sha512 = "iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==";
       };
     }
     {
@@ -3302,7 +3326,7 @@
       path = fetchurl {
         name = "babel_types___babel_types_6.26.0.tgz";
         url  = "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz";
-        sha1 = "o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=";
+        sha512 = "zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==";
       };
     }
     {
@@ -3326,7 +3350,7 @@
       path = fetchurl {
         name = "backbone___backbone_1.3.3.tgz";
         url  = "https://registry.yarnpkg.com/backbone/-/backbone-1.3.3.tgz";
-        sha1 = "TMgOp8sWMaxHSInOQPL4vGg7KZk=";
+        sha512 = "aK+k3TiU4tQDUrRCymDDE7XDFnMVuyE6zbZ4JX7mb4pJbQTVOH997/kyBzb8wB2s5Y/Oh7EUfj+sZhwRPxWwow==";
       };
     }
     {
@@ -3342,7 +3366,7 @@
       path = fetchurl {
         name = "backbone___backbone_1.2.3.tgz";
         url  = "https://registry.yarnpkg.com/backbone/-/backbone-1.2.3.tgz";
-        sha1 = "wiz9B/yG676uYdGJKe0RXpmdZbk=";
+        sha512 = "1/eXj4agG79UDN7TWnZXcGD6BJrBwLZKCX7zYcBIy9jWf4mrtVkw7IE1VOYFnrKahsmPF9L55Tib9IQRvk027w==";
       };
     }
     {
@@ -3350,7 +3374,7 @@
       path = fetchurl {
         name = "backform___backform_0.2.0.tgz";
         url  = "https://registry.yarnpkg.com/backform/-/backform-0.2.0.tgz";
-        sha1 = "sUy43rCMhj/FlaK8UFBm4yoq1M4=";
+        sha512 = "QYwlItiVqb4CDELHyBC+TM4UcoG6Mw/al+PUDUVbQ7OJojpQHaa2TV8uJHhMR6o/Xq4FGt+52qIZLp36dletfw==";
       };
     }
     {
@@ -3358,7 +3382,7 @@
       path = fetchurl {
         name = "backgrid_filter___backgrid_filter_0.3.7.tgz";
         url  = "https://registry.yarnpkg.com/backgrid-filter/-/backgrid-filter-0.3.7.tgz";
-        sha1 = "1LGdDnBwE9fxgfnox/67SZfVbwM=";
+        sha512 = "HKWOXXd/dES5Ll3R1+vsfPYO7yVQ0V4+h8cPirFqci4oKTyyZVJupXM2fINhqm0On9dvHijHje8h4X+Wg621gw==";
       };
     }
     {
@@ -3366,7 +3390,7 @@
       path = fetchurl {
         name = "backgrid_select_all___backgrid_select_all_0.3.5.tgz";
         url  = "https://registry.yarnpkg.com/backgrid-select-all/-/backgrid-select-all-0.3.5.tgz";
-        sha1 = "FDqADl2V/yrlqE14v0+6QflIHpQ=";
+        sha512 = "bwMQi5d8AnBSZDiV4nWrXcOSmEODbxB6/70mSHG8cGoDfjgW5X7mLiXlmlgEP3VsA1avFD6VvCvpAKZ4BS5f9Q==";
       };
     }
     {
@@ -3374,7 +3398,7 @@
       path = fetchurl {
         name = "backgrid___backgrid_0.3.8.tgz";
         url  = "https://registry.yarnpkg.com/backgrid/-/backgrid-0.3.8.tgz";
-        sha1 = "fSaBZ0LXLIWcrTmxPxnJ8nuv/tc=";
+        sha512 = "Klzo941ahoj8Kqd0tRsau+VfXddV3YnQTwb6wVwIaaQxoJ9ORykQy2MNit1MUBnZO6IValYJPvCQyvZhnV6Lfg==";
       };
     }
     {
@@ -3382,7 +3406,7 @@
       path = fetchurl {
         name = "backo2___backo2_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz";
-        sha1 = "MasayLEpNjRj41s+u2n038+6eUc=";
+        sha512 = "zj6Z6M7Eq+PBZ7PQxl5NT665MvJdAkzp0f60nAJ+sLaSCBPMwVak5ZegFbgVCzFcCJTKFoMizvM5Ld7+JrRJHA==";
       };
     }
     {
@@ -3494,7 +3518,7 @@
       path = fetchurl {
         name = "boolbase___boolbase_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz";
-        sha1 = "aN/1++YMUes3cl6p4+0xDcwed24=";
+        sha512 = "JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==";
       };
     }
     {
@@ -3538,11 +3562,19 @@
       };
     }
     {
+      name = "brace_expansion___brace_expansion_2.0.1.tgz";
+      path = fetchurl {
+        name = "brace_expansion___brace_expansion_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz";
+        sha512 = "XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==";
+      };
+    }
+    {
       name = "brace___brace_0.11.1.tgz";
       path = fetchurl {
         name = "brace___brace_0.11.1.tgz";
         url  = "https://registry.yarnpkg.com/brace/-/brace-0.11.1.tgz";
-        sha1 = "SJb8ydVE7vRfS7dmDbMg07N5/lg=";
+        sha512 = "Fc8Ne62jJlKHiG/ajlonC4Sd66Pq68fFwK4ihJGNZpGqboc324SQk+lRvMzpPRuJOmfrJefdG8/7JdWX4bzJ2Q==";
       };
     }
     {
@@ -3558,7 +3590,7 @@
       path = fetchurl {
         name = "brorand___brorand_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz";
-        sha1 = "EsJe/kCkXjwyPrhnWgoM5XsiNx8=";
+        sha512 = "cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==";
       };
     }
     {
@@ -3678,7 +3710,7 @@
       path = fetchurl {
         name = "buffer_xor___buffer_xor_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz";
-        sha1 = "JuYe0UIvtw3ULm42cp7VHYVf6Nk=";
+        sha512 = "571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==";
       };
     }
     {
@@ -3710,7 +3742,7 @@
       path = fetchurl {
         name = "builtin_status_codes___builtin_status_codes_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz";
-        sha1 = "hZgoeOIbmOHGZCXgPQF0eI9Wnug=";
+        sha512 = "HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==";
       };
     }
     {
@@ -3722,11 +3754,11 @@
       };
     }
     {
-      name = "cacache___cacache_15.3.0.tgz";
+      name = "cacache___cacache_16.1.1.tgz";
       path = fetchurl {
-        name = "cacache___cacache_15.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz";
-        sha512 = "VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==";
+        name = "cacache___cacache_16.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/cacache/-/cacache-16.1.1.tgz";
+        sha512 = "VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg==";
       };
     }
     {
@@ -3734,7 +3766,7 @@
       path = fetchurl {
         name = "cached_path_relative___cached_path_relative_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/cached-path-relative/-/cached-path-relative-1.1.0.tgz";
-        sha1 = "hlV23+85wNan3v3nlNB49TCOPvM=";
+        sha512 = "WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==";
       };
     }
     {
@@ -3782,7 +3814,7 @@
       path = fetchurl {
         name = "camelize___camelize_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/camelize/-/camelize-1.0.0.tgz";
-        sha1 = "FkpUg+Yw+kMh5a8HAg5TGDGyYJs=";
+        sha512 = "W2lPwkBkMZwFlPCXhIlYgxu+7gC/NUlCtdK652DAJ1JdgV0sTrvuPFshNPrFa1TY2JOkLhgdeEBplB4ezEa+xg==";
       };
     }
     {
@@ -3794,10 +3826,10 @@
       };
     }
     {
-      name = "https___registry.npmjs.org_caniuse_lite___caniuse_lite_1.0.30001338.tgz";
+      name = "caniuse_lite___caniuse_lite_1.0.30001338.tgz";
       path = fetchurl {
-        name = "https___registry.npmjs.org_caniuse_lite___caniuse_lite_1.0.30001338.tgz";
-        url  = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001338.tgz";
+        name = "caniuse_lite___caniuse_lite_1.0.30001338.tgz";
+        url  = "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001338.tgz";
         sha512 = "1gLHWyfVoRDsHieO+CaeYe7jSo/MT7D7lhaXUiwwbuR5BwQxORs0f1tAwUSQr3YbxRXJvxHM/PA5FfPQRnsPeQ==";
       };
     }
@@ -3814,7 +3846,7 @@
       path = fetchurl {
         name = "chalk___chalk_1.1.3.tgz";
         url  = "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz";
-        sha1 = "qBFcVeSnAv5NFQq9OHKCKn4J/Jg=";
+        sha512 = "U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==";
       };
     }
     {
@@ -3950,7 +3982,7 @@
       path = fetchurl {
         name = "closest___closest_0.0.1.tgz";
         url  = "https://registry.yarnpkg.com/closest/-/closest-0.0.1.tgz";
-        sha1 = "JtpvgLPg4X5x+A8SeCgZ6fZTSVw=";
+        sha512 = "HafRXTAiWp5nf6kxOy2EoIGSsJMn0zew9E5zp3Dy/8CXdp8GvVjZn1TSMEVdDxSP/acXZcWJWiIgF83Di7M1Ew==";
       };
     }
     {
@@ -3966,15 +3998,7 @@
       path = fetchurl {
         name = "co___co_4.6.0.tgz";
         url  = "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz";
-        sha1 = "bqa989hTrlTMuOR7+gvz+QMfsYQ=";
-      };
-    }
-    {
-      name = "code_point_at___code_point_at_1.1.0.tgz";
-      path = fetchurl {
-        name = "code_point_at___code_point_at_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz";
-        sha1 = "DQcLTQQ6W+ozovGkDi7bPZpMz3c=";
+        sha512 = "QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==";
       };
     }
     {
@@ -4006,7 +4030,7 @@
       path = fetchurl {
         name = "color_name___color_name_1.1.3.tgz";
         url  = "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz";
-        sha1 = "p9BVi9icQveV3UIyj3QIMcpTvCU=";
+        sha512 = "72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==";
       };
     }
     {
@@ -4018,6 +4042,14 @@
       };
     }
     {
+      name = "color_support___color_support_1.1.3.tgz";
+      path = fetchurl {
+        name = "color_support___color_support_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz";
+        sha512 = "qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==";
+      };
+    }
+    {
       name = "colord___colord_2.9.1.tgz";
       path = fetchurl {
         name = "colord___colord_2.9.1.tgz";
@@ -4038,7 +4070,7 @@
       path = fetchurl {
         name = "combine_source_map___combine_source_map_0.8.0.tgz";
         url  = "https://registry.yarnpkg.com/combine-source-map/-/combine-source-map-0.8.0.tgz";
-        sha1 = "pY0N8ELBhvz4IqjoAV9UUNLXmos=";
+        sha512 = "UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==";
       };
     }
     {
@@ -4050,14 +4082,6 @@
       };
     }
     {
-      name = "commander___commander_4.1.1.tgz";
-      path = fetchurl {
-        name = "commander___commander_4.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz";
-        sha512 = "NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==";
-      };
-    }
-    {
       name = "commander___commander_7.2.0.tgz";
       path = fetchurl {
         name = "commander___commander_7.2.0.tgz";
@@ -4066,11 +4090,11 @@
       };
     }
     {
-      name = "commander___commander_8.3.0.tgz";
+      name = "commander___commander_9.4.0.tgz";
       path = fetchurl {
-        name = "commander___commander_8.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz";
-        sha512 = "OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==";
+        name = "commander___commander_9.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-9.4.0.tgz";
+        sha512 = "sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==";
       };
     }
     {
@@ -4078,7 +4102,7 @@
       path = fetchurl {
         name = "commondir___commondir_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz";
-        sha1 = "3dgA2gxmEnOTzKWVDqloo6rxJTs=";
+        sha512 = "W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==";
       };
     }
     {
@@ -4094,7 +4118,7 @@
       path = fetchurl {
         name = "concat_map___concat_map_0.0.1.tgz";
         url  = "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz";
-        sha1 = "2Klr13/Wjfd5OnMDajug1UBdR3s=";
+        sha512 = "/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==";
       };
     }
     {
@@ -4126,7 +4150,7 @@
       path = fetchurl {
         name = "console_control_strings___console_control_strings_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz";
-        sha1 = "PXz0Rk22RG6mRL9LOVB/mFEAjo4=";
+        sha512 = "ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==";
       };
     }
     {
@@ -4134,7 +4158,7 @@
       path = fetchurl {
         name = "constants_browserify___constants_browserify_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz";
-        sha1 = "wguW2MYXdIqvHBYCF2DNJ/y4y3U=";
+        sha512 = "xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==";
       };
     }
     {
@@ -4166,7 +4190,15 @@
       path = fetchurl {
         name = "convert_source_map___convert_source_map_1.1.3.tgz";
         url  = "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.1.3.tgz";
-        sha1 = "SCnId+n+SbMWHzvzZziI4gRpmGA=";
+        sha512 = "Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==";
+      };
+    }
+    {
+      name = "convert_units___convert_units_2.3.4.tgz";
+      path = fetchurl {
+        name = "convert_units___convert_units_2.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/convert-units/-/convert-units-2.3.4.tgz";
+        sha512 = "ERHfdA0UhHJp1IpwE6PnFJx8LqG7B1ZjJ20UvVCmopEnVCfER68Tbe3kvN63dLbYXDA2xFWRE6zd4Wsf0w7POg==";
       };
     }
     {
@@ -4302,7 +4334,7 @@
       path = fetchurl {
         name = "css_color_keywords___css_color_keywords_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz";
-        sha1 = "/qJhbcZ2spYmhrOvjb2+GAskTgU=";
+        sha512 = "FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==";
       };
     }
     {
@@ -4454,7 +4486,7 @@
       path = fetchurl {
         name = "custom_event___custom_event_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz";
-        sha1 = "XQKkaFCt8bSjF5RqOSj8y1v9BCU=";
+        sha512 = "GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==";
       };
     }
     {
@@ -4498,19 +4530,11 @@
       };
     }
     {
-      name = "debug___debug_4.3.2.tgz";
-      path = fetchurl {
-        name = "debug___debug_4.3.2.tgz";
-        url  = "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz";
-        sha512 = "mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==";
-      };
-    }
-    {
-      name = "debug___debug_4.3.3.tgz";
+      name = "debug___debug_4.3.4.tgz";
       path = fetchurl {
-        name = "debug___debug_4.3.3.tgz";
-        url  = "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz";
-        sha1 = "BCZuC3CpjURi5uKI44JZITMytmQ=";
+        name = "debug___debug_4.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz";
+        sha512 = "PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==";
       };
     }
     {
@@ -4518,7 +4542,7 @@
       path = fetchurl {
         name = "decamelize_keys___decamelize_keys_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz";
-        sha1 = "0XGoeTMlKAfrPLYdwcFEXQeN8tk=";
+        sha512 = "ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==";
       };
     }
     {
@@ -4526,7 +4550,7 @@
       path = fetchurl {
         name = "decamelize___decamelize_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz";
-        sha1 = "9lNNFRSCabIDUue+4m9QH5oZEpA=";
+        sha512 = "z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==";
       };
     }
     {
@@ -4550,7 +4574,7 @@
       path = fetchurl {
         name = "deep_equal_ident___deep_equal_ident_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/deep-equal-ident/-/deep-equal-ident-1.1.1.tgz";
-        sha1 = "BvS4nlNxDNbOpKd4HHqVZkLejck=";
+        sha512 = "aWv7VhTl/Lju1zenOD3E1w8PpUVrTDbwXCHtbSNr+p/uadr49Y1P1ld0W3Pl6gbvIbiRjoCVsqw70UupCNGh6g==";
       };
     }
     {
@@ -4582,7 +4606,7 @@
       path = fetchurl {
         name = "defined___defined_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz";
-        sha1 = "yY2bzvdWdBiOEQlpFRGZ45sfppM=";
+        sha512 = "Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==";
       };
     }
     {
@@ -4590,7 +4614,7 @@
       path = fetchurl {
         name = "delegates___delegates_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz";
-        sha1 = "hMbhWbgZBP3KWaDvRM2HDTElD5o=";
+        sha512 = "bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==";
       };
     }
     {
@@ -4598,7 +4622,7 @@
       path = fetchurl {
         name = "depd___depd_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz";
-        sha1 = "m81S4UwJd2PnSbJ0xDRu0uVgtak=";
+        sha512 = "7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==";
       };
     }
     {
@@ -4622,7 +4646,7 @@
       path = fetchurl {
         name = "detect_indent___detect_indent_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz";
-        sha1 = "920GQ1LN9Docts5hnE7jqUdd4gg=";
+        sha512 = "BDKtmHlOzwI7iRuEkhzsnPoi5ypEhWAJB5RvHWe1kMr06js3uK5B3734i3ui5Yd+wOJV1cpE4JnivPD283GU/A==";
       };
     }
     {
@@ -4638,7 +4662,7 @@
       path = fetchurl {
         name = "di___di_0.0.1.tgz";
         url  = "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz";
-        sha1 = "gGZJMmzqp8qjMG112YXqJ0i6kTw=";
+        sha512 = "uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==";
       };
     }
     {
@@ -4670,7 +4694,7 @@
       path = fetchurl {
         name = "discontinuous_range___discontinuous_range_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/discontinuous-range/-/discontinuous-range-1.0.0.tgz";
-        sha1 = "44Mx8IRLukm5qctxx3FYWqsbxlo=";
+        sha512 = "c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==";
       };
     }
     {
@@ -4710,7 +4734,7 @@
       path = fetchurl {
         name = "dom_serialize___dom_serialize_2.2.1.tgz";
         url  = "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz";
-        sha1 = "ViromZ9Evl6jB29UGdzVnrQ6yVs=";
+        sha512 = "Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==";
       };
     }
     {
@@ -4754,19 +4778,11 @@
       };
     }
     {
-      name = "dropzone___dropzone_5.9.3.tgz";
-      path = fetchurl {
-        name = "dropzone___dropzone_5.9.3.tgz";
-        url  = "https://registry.yarnpkg.com/dropzone/-/dropzone-5.9.3.tgz";
-        sha512 = "Azk8kD/2/nJIuVPK+zQ9sjKMRIpRvNyqn9XwbBHNq+iNuSccbJS6hwm1Woy0pMST0erSo0u4j+KJaodndDk4vA==";
-      };
-    }
-    {
       name = "duplexer2___duplexer2_0.1.4.tgz";
       path = fetchurl {
         name = "duplexer2___duplexer2_0.1.4.tgz";
         url  = "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz";
-        sha1 = "ixLauHjA1p4+eJEFFmKjL8a93ME=";
+        sha512 = "asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==";
       };
     }
     {
@@ -4782,15 +4798,15 @@
       path = fetchurl {
         name = "ee_first___ee_first_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz";
-        sha1 = "WQxhFWsK4vTwJVcyoViyZrxWsh0=";
+        sha512 = "WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==";
       };
     }
     {
-      name = "ejs___ejs_3.1.6.tgz";
+      name = "ejs___ejs_3.1.8.tgz";
       path = fetchurl {
-        name = "ejs___ejs_3.1.6.tgz";
-        url  = "https://registry.yarnpkg.com/ejs/-/ejs-3.1.6.tgz";
-        sha512 = "9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==";
+        name = "ejs___ejs_3.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/ejs/-/ejs-3.1.8.tgz";
+        sha512 = "/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==";
       };
     }
     {
@@ -4846,7 +4862,7 @@
       path = fetchurl {
         name = "encodeurl___encodeurl_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz";
-        sha1 = "rT/0yG7C0CkyL1oCw6mmBslbP1k=";
+        sha512 = "TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==";
       };
     }
     {
@@ -4902,7 +4918,7 @@
       path = fetchurl {
         name = "ent___ent_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz";
-        sha1 = "6WQhkyWiHQX0RGai9obtbOX13R0=";
+        sha512 = "GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==";
       };
     }
     {
@@ -5030,7 +5046,7 @@
       path = fetchurl {
         name = "escape_html___escape_html_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz";
-        sha1 = "Aljq5NPQwJdN4cFpGI7wBR0dGYg=";
+        sha512 = "NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==";
       };
     }
     {
@@ -5038,7 +5054,7 @@
       path = fetchurl {
         name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz";
         url  = "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
-        sha1 = "G2HAViGQqN/2rjuyzwIAyhMLhtQ=";
+        sha512 = "vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==";
       };
     }
     {
@@ -5174,7 +5190,7 @@
       path = fetchurl {
         name = "eve___eve_0.5.4.tgz";
         url  = "https://registry.yarnpkg.com/eve/-/eve-0.5.4.tgz";
-        sha1 = "Z9CAuXJSkdfjieNMJoYN2X8d66o=";
+        sha512 = "aqprQ9MAOh1t66PrHxDFmMXPlgNO6Uv1uqvxmwjprQV50jaQ2RqO7O1neY4PJwC+hMnkyMDphu2AQPOPZdjQog==";
       };
     }
     {
@@ -5230,7 +5246,7 @@
       path = fetchurl {
         name = "fast_deep_equal___fast_deep_equal_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz";
-        sha1 = "wFNHeBfIa1HaqFPIHgWbcz0CNhQ=";
+        sha512 = "fueX787WZKCV0Is4/T2cyAdM4+x1S3MXXOAhavE1ys/W42SHAPacLTQhucja22QBYrfGw50M2sRiXPtTGv9Ymw==";
       };
     }
     {
@@ -5270,7 +5286,7 @@
       path = fetchurl {
         name = "fast_levenshtein___fast_levenshtein_2.0.6.tgz";
         url  = "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz";
-        sha1 = "PYpcZog6FqMMqGQ+hR8Zuqd5eRc=";
+        sha512 = "DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==";
       };
     }
     {
@@ -5314,6 +5330,14 @@
       };
     }
     {
+      name = "file_selector___file_selector_0.6.0.tgz";
+      path = fetchurl {
+        name = "file_selector___file_selector_0.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/file-selector/-/file-selector-0.6.0.tgz";
+        sha512 = "QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw==";
+      };
+    }
+    {
       name = "file_type___file_type_12.4.2.tgz";
       path = fetchurl {
         name = "file_type___file_type_12.4.2.tgz";
@@ -5330,11 +5354,11 @@
       };
     }
     {
-      name = "filelist___filelist_1.0.2.tgz";
+      name = "filelist___filelist_1.0.4.tgz";
       path = fetchurl {
-        name = "filelist___filelist_1.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/filelist/-/filelist-1.0.2.tgz";
-        sha512 = "z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==";
+        name = "filelist___filelist_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz";
+        sha512 = "w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==";
       };
     }
     {
@@ -5342,7 +5366,7 @@
       path = fetchurl {
         name = "filename_reserved_regex___filename_reserved_regex_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz";
-        sha1 = "q/c9+rc10EVECr/qLZHzieu/oik=";
+        sha512 = "lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==";
       };
     }
     {
@@ -5422,7 +5446,7 @@
       path = fetchurl {
         name = "follow_redirects___follow_redirects_1.14.8.tgz";
         url  = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.8.tgz";
-        sha1 = "AWmW+5oRoQBWY5ixxoOTN9e/qPw=";
+        sha512 = "1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==";
       };
     }
     {
@@ -5430,7 +5454,7 @@
       path = fetchurl {
         name = "foreach___foreach_2.0.5.tgz";
         url  = "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz";
-        sha1 = "C+4AUBiusmDQo6865ljdATbsG5k=";
+        sha512 = "ZBbtRiapkZYLsqoPyZOR+uPfto0GRMNQN1GwzZtZt7iZvPPbDDQV0JF5Hx4o/QFQ5c0vyuoZ98T8RSBbopzWtA==";
       };
     }
     {
@@ -5462,7 +5486,7 @@
       path = fetchurl {
         name = "fs.realpath___fs.realpath_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz";
-        sha1 = "FQStJSMVjKpA20onh8sBQRmU6k8=";
+        sha512 = "OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==";
       };
     }
     {
@@ -5494,7 +5518,7 @@
       path = fetchurl {
         name = "functional_red_black_tree___functional_red_black_tree_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz";
-        sha1 = "GwqzvVU7Kg1jmdKcDj6gslIHgyc=";
+        sha512 = "dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==";
       };
     }
     {
@@ -5506,11 +5530,11 @@
       };
     }
     {
-      name = "gauge___gauge_2.7.4.tgz";
+      name = "gauge___gauge_4.0.4.tgz";
       path = fetchurl {
-        name = "gauge___gauge_2.7.4.tgz";
-        url  = "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz";
-        sha1 = "LANAXHU4w51+s3sxcCLjJfsBi/c=";
+        name = "gauge___gauge_4.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/gauge/-/gauge-4.0.4.tgz";
+        sha512 = "f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==";
       };
     }
     {
@@ -5594,6 +5618,14 @@
       };
     }
     {
+      name = "glob___glob_8.0.3.tgz";
+      path = fetchurl {
+        name = "glob___glob_8.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/glob/-/glob-8.0.3.tgz";
+        sha512 = "ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==";
+      };
+    }
+    {
       name = "globals___globals_11.12.0.tgz";
       path = fetchurl {
         name = "globals___globals_11.12.0.tgz";
@@ -5694,7 +5726,7 @@
       path = fetchurl {
         name = "has_ansi___has_ansi_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz";
-        sha1 = "NPUEnOHs3ysGSa8+8k5F7TVBbZE=";
+        sha512 = "C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==";
       };
     }
     {
@@ -5710,7 +5742,7 @@
       path = fetchurl {
         name = "has_cors___has_cors_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz";
-        sha1 = "XkdHk/fqmEPRu5nCPu9J/xJv/zk=";
+        sha512 = "g5VNKdkFuUuVCP9gYfDJHjK2nqdQJ7aDLTnycnc2+RvsOQbuLdF5pm7vuE5J76SEBIQjs4kQY/BWq74JUmjbXA==";
       };
     }
     {
@@ -5718,7 +5750,7 @@
       path = fetchurl {
         name = "has_flag___has_flag_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz";
-        sha1 = "tdRU3CGZriJWmfNGfloH87lVuv0=";
+        sha512 = "sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==";
       };
     }
     {
@@ -5750,7 +5782,7 @@
       path = fetchurl {
         name = "has_unicode___has_unicode_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz";
-        sha1 = "4Ob+aijPUROIVeCG0Wkedx3iqLk=";
+        sha512 = "8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==";
       };
     }
     {
@@ -5782,7 +5814,7 @@
       path = fetchurl {
         name = "hat___hat_0.0.3.tgz";
         url  = "https://registry.yarnpkg.com/hat/-/hat-0.0.3.tgz";
-        sha1 = "uwFKnmSzeIrtgAWRdBPU/z1QLYo=";
+        sha512 = "zpImx2GoKXy42fVDSEad2BPKuSQdLcqsCYa48K3zHSzM/ugWuYjLDr8IXxpVuL7uCLHw56eaiLxCRthhOzf5ug==";
       };
     }
     {
@@ -5790,7 +5822,7 @@
       path = fetchurl {
         name = "heap___heap_0.2.5.tgz";
         url  = "https://registry.yarnpkg.com/heap/-/heap-0.2.5.tgz";
-        sha1 = "cTtlWQ68xA/L7q9V6FFpQJKzmvE=";
+        sha512 = "G7HLD+WKcrOyJP5VQwYZNC3Z6FcQ7YYjEFiFoIj8PfEr73mu421o8B1N5DKUcc8K37EsJ2XXWA8DtrDz/2dReg==";
       };
     }
     {
@@ -5806,7 +5838,7 @@
       path = fetchurl {
         name = "hmac_drbg___hmac_drbg_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz";
-        sha1 = "0nRXAQJabHdabFRXk+1QL8DGSaE=";
+        sha512 = "Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==";
       };
     }
     {
@@ -5870,7 +5902,7 @@
       path = fetchurl {
         name = "htmlescape___htmlescape_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/htmlescape/-/htmlescape-1.1.1.tgz";
-        sha1 = "OgPtwiFLyjtmQko+eVk0lQnLA1E=";
+        sha512 = "eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==";
       };
     }
     {
@@ -5898,11 +5930,11 @@
       };
     }
     {
-      name = "http_proxy_agent___http_proxy_agent_4.0.1.tgz";
+      name = "http_proxy_agent___http_proxy_agent_5.0.0.tgz";
       path = fetchurl {
-        name = "http_proxy_agent___http_proxy_agent_4.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz";
-        sha512 = "k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==";
+        name = "http_proxy_agent___http_proxy_agent_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz";
+        sha512 = "n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==";
       };
     }
     {
@@ -5918,15 +5950,15 @@
       path = fetchurl {
         name = "https_browserify___https_browserify_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz";
-        sha1 = "7AbBDgo0wPL68Zn3/X/Hj//QPHM=";
+        sha512 = "J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==";
       };
     }
     {
-      name = "https_proxy_agent___https_proxy_agent_5.0.0.tgz";
+      name = "https_proxy_agent___https_proxy_agent_5.0.1.tgz";
       path = fetchurl {
-        name = "https_proxy_agent___https_proxy_agent_5.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz";
-        sha512 = "EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==";
+        name = "https_proxy_agent___https_proxy_agent_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz";
+        sha512 = "dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==";
       };
     }
     {
@@ -5942,7 +5974,7 @@
       path = fetchurl {
         name = "humanize_ms___humanize_ms_1.2.1.tgz";
         url  = "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz";
-        sha1 = "xG4xWaKT9riW2ikxbYtv6Lt5u+0=";
+        sha512 = "Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==";
       };
     }
     {
@@ -6062,7 +6094,7 @@
       path = fetchurl {
         name = "imurmurhash___imurmurhash_0.1.4.tgz";
         url  = "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz";
-        sha1 = "khi5srkoojixPcT7a21XbyMUU+o=";
+        sha512 = "JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==";
       };
     }
     {
@@ -6094,7 +6126,7 @@
       path = fetchurl {
         name = "inflight___inflight_1.0.6.tgz";
         url  = "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz";
-        sha1 = "Sb1jMdfQLQwJvJEKEHW6gWW1bfk=";
+        sha512 = "k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==";
       };
     }
     {
@@ -6110,7 +6142,7 @@
       path = fetchurl {
         name = "inherits___inherits_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz";
-        sha1 = "sX0I0ya0Qj5Wjv9xn5GwscvfafE=";
+        sha512 = "8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==";
       };
     }
     {
@@ -6118,7 +6150,7 @@
       path = fetchurl {
         name = "inherits___inherits_2.0.3.tgz";
         url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz";
-        sha1 = "Yzwsg+PaQqUC9SRmAiSA9CCCYd4=";
+        sha512 = "x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==";
       };
     }
     {
@@ -6126,7 +6158,7 @@
       path = fetchurl {
         name = "inline_source_map___inline_source_map_0.6.2.tgz";
         url  = "https://registry.yarnpkg.com/inline-source-map/-/inline-source-map-0.6.2.tgz";
-        sha1 = "+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=";
+        sha512 = "0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA==";
       };
     }
     {
@@ -6186,11 +6218,11 @@
       };
     }
     {
-      name = "ip___ip_1.1.5.tgz";
+      name = "ip___ip_2.0.0.tgz";
       path = fetchurl {
-        name = "ip___ip_1.1.5.tgz";
-        url  = "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz";
-        sha1 = "vd7XARQpCCjAoDnnLvJfWq7ENUo=";
+        name = "ip___ip_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz";
+        sha512 = "WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==";
       };
     }
     {
@@ -6222,7 +6254,7 @@
       path = fetchurl {
         name = "is_arrayish___is_arrayish_0.2.1.tgz";
         url  = "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz";
-        sha1 = "d8mYQFJ6qOyxqLppe4BkWnqSap0=";
+        sha512 = "zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==";
       };
     }
     {
@@ -6318,7 +6350,7 @@
       path = fetchurl {
         name = "is_extglob___is_extglob_2.1.1.tgz";
         url  = "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz";
-        sha1 = "qIwCU1eR8C7TfHahueqXc8gz+MI=";
+        sha512 = "SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==";
       };
     }
     {
@@ -6330,14 +6362,6 @@
       };
     }
     {
-      name = "is_fullwidth_code_point___is_fullwidth_code_point_1.0.0.tgz";
-      path = fetchurl {
-        name = "is_fullwidth_code_point___is_fullwidth_code_point_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz";
-        sha1 = "754xOG8DGn8NZDr4L95QxFfvAMs=";
-      };
-    }
-    {
       name = "is_fullwidth_code_point___is_fullwidth_code_point_3.0.0.tgz";
       path = fetchurl {
         name = "is_fullwidth_code_point___is_fullwidth_code_point_3.0.0.tgz";
@@ -6366,7 +6390,7 @@
       path = fetchurl {
         name = "is_in_browser___is_in_browser_1.1.3.tgz";
         url  = "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.1.3.tgz";
-        sha1 = "Vv9NtoOgeMYILrldrX3GLh0E+DU=";
+        sha512 = "FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==";
       };
     }
     {
@@ -6374,7 +6398,7 @@
       path = fetchurl {
         name = "is_lambda___is_lambda_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz";
-        sha1 = "PZh3iZ5qU+/AFgUEzeFfgubwYdU=";
+        sha512 = "z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==";
       };
     }
     {
@@ -6406,7 +6430,7 @@
       path = fetchurl {
         name = "is_plain_obj___is_plain_obj_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz";
-        sha1 = "caUMhCnfync8kqOQpKA7OfzVHT4=";
+        sha512 = "yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==";
       };
     }
     {
@@ -6470,7 +6494,7 @@
       path = fetchurl {
         name = "is_subset___is_subset_0.1.1.tgz";
         url  = "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz";
-        sha1 = "ilkRfZMt4d4A8kX83TnOQ/HpOaY=";
+        sha512 = "6Ybun0IkarhmEqxXCNw/C0bna6Zb/TkfUX9UbwJtK6ObwAVCxmAP308WWTHviM/zAqXk05cdhYsUsZeGQh99iw==";
       };
     }
     {
@@ -6510,7 +6534,7 @@
       path = fetchurl {
         name = "isarray___isarray_0.0.1.tgz";
         url  = "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz";
-        sha1 = "ihis/Kmo9Bd+Cav8YDiTmwXR7t8=";
+        sha512 = "D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==";
       };
     }
     {
@@ -6518,7 +6542,7 @@
       path = fetchurl {
         name = "isarray___isarray_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz";
-        sha1 = "u5NdSFgsuhaMBoNJV6VKPgcSTxE=";
+        sha512 = "VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==";
       };
     }
     {
@@ -6534,7 +6558,7 @@
       path = fetchurl {
         name = "isexe___isexe_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz";
-        sha1 = "6PvzdNxVb/iUehDcsFctYz8s+hA=";
+        sha512 = "RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==";
       };
     }
     {
@@ -6542,7 +6566,7 @@
       path = fetchurl {
         name = "isobject___isobject_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz";
-        sha1 = "TkMekrEalzFjaqH5yNHMvP2reN8=";
+        sha512 = "WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==";
       };
     }
     {
@@ -6610,11 +6634,11 @@
       };
     }
     {
-      name = "jake___jake_10.8.2.tgz";
+      name = "jake___jake_10.8.5.tgz";
       path = fetchurl {
-        name = "jake___jake_10.8.2.tgz";
-        url  = "https://registry.yarnpkg.com/jake/-/jake-10.8.2.tgz";
-        sha512 = "eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==";
+        name = "jake___jake_10.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/jake/-/jake-10.8.5.tgz";
+        sha512 = "sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==";
       };
     }
     {
@@ -6638,7 +6662,7 @@
       path = fetchurl {
         name = "javascript_natural_sort___javascript_natural_sort_0.7.1.tgz";
         url  = "https://registry.yarnpkg.com/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz";
-        sha1 = "+eIwPUUH9tdDVac2ZNFED7Wg71k=";
+        sha512 = "nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==";
       };
     }
     {
@@ -6654,7 +6678,7 @@
       path = fetchurl {
         name = "jmespath___jmespath_0.15.0.tgz";
         url  = "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz";
-        sha1 = "o/Iiqarp+Wb10nx5ZRDigJF2Qhc=";
+        sha512 = "+kHj8HXArPfpPEKGLZ+kB5ONRTCiGQXo8RQYL0hH8t6pWXUBBK5KkkQmTNOwKK4LEsd0yTsgtjJVm4UBSZea4w==";
       };
     }
     {
@@ -6666,11 +6690,11 @@
       };
     }
     {
-      name = "jquery_ui___jquery_ui_1.13.0.tgz";
+      name = "jquery_ui___jquery_ui_1.13.2.tgz";
       path = fetchurl {
-        name = "jquery_ui___jquery_ui_1.13.0.tgz";
-        url  = "https://registry.yarnpkg.com/jquery-ui/-/jquery-ui-1.13.0.tgz";
-        sha512 = "Osf7ECXNTYHtKBkn9xzbIf9kifNrBhfywFEKxOeB/OVctVmLlouV9mfc2qXCp6uyO4Pn72PXKOnj09qXetopCw==";
+        name = "jquery_ui___jquery_ui_1.13.2.tgz";
+        url  = "https://registry.yarnpkg.com/jquery-ui/-/jquery-ui-1.13.2.tgz";
+        sha512 = "wBZPnqWs5GaYJmo1Jj0k/mrSkzdQzKDwhXNtHKcBdAcKVxMM3KNYFq+iJ2i1rwiG53Z8M4mTn3Qxrm17uH1D4Q==";
       };
     }
     {
@@ -6686,7 +6710,7 @@
       path = fetchurl {
         name = "js_string_escape___js_string_escape_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/js-string-escape/-/js-string-escape-1.0.1.tgz";
-        sha1 = "4mJbrbwNZ8dTPp7cEGjFh65BN+8=";
+        sha512 = "Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==";
       };
     }
     {
@@ -6702,7 +6726,7 @@
       path = fetchurl {
         name = "js_tokens___js_tokens_3.0.2.tgz";
         url  = "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz";
-        sha1 = "mGbfOVECEw449/mWvOtlRDIJwls=";
+        sha512 = "RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==";
       };
     }
     {
@@ -6718,7 +6742,7 @@
       path = fetchurl {
         name = "jsbn___jsbn_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz";
-        sha1 = "sBMHyym2GKHtJux56RH4A8TaAEA=";
+        sha512 = "4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==";
       };
     }
     {
@@ -6726,7 +6750,7 @@
       path = fetchurl {
         name = "jsesc___jsesc_1.3.0.tgz";
         url  = "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz";
-        sha1 = "RsP+yMGJKxKwgz25vHYiF226s0s=";
+        sha512 = "Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==";
       };
     }
     {
@@ -6742,7 +6766,7 @@
       path = fetchurl {
         name = "jsesc___jsesc_0.5.0.tgz";
         url  = "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz";
-        sha1 = "597mbjXW/Bb3EP6R1c9p9w8IkR0=";
+        sha512 = "uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==";
       };
     }
     {
@@ -6774,7 +6798,7 @@
       path = fetchurl {
         name = "json_schema_traverse___json_schema_traverse_0.3.1.tgz";
         url  = "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz";
-        sha1 = "NJptRMU6Ud6JtAgFxdXlm0F9M0A=";
+        sha512 = "4JD/Ivzg7PoW8NzdrBSr3UFwC9mHgvI7Z6z3QGBsSHgKaRTUDmyZAAKJo2UbG1kUVfS9WS8bi36N49U1xw43DA==";
       };
     }
     {
@@ -6806,7 +6830,7 @@
       path = fetchurl {
         name = "json_stable_stringify_without_jsonify___json_stable_stringify_without_jsonify_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz";
-        sha1 = "nbe1lJatPzz+8wp1FC0tkwrXJlE=";
+        sha512 = "Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==";
       };
     }
     {
@@ -6862,7 +6886,7 @@
       path = fetchurl {
         name = "jsonparse___jsonparse_1.3.1.tgz";
         url  = "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz";
-        sha1 = "P02uSpH6wxX3EGL4UhzCOfE2YoA=";
+        sha512 = "POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==";
       };
     }
     {
@@ -7006,7 +7030,7 @@
       path = fetchurl {
         name = "karma_requirejs___karma_requirejs_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/karma-requirejs/-/karma-requirejs-1.1.0.tgz";
-        sha1 = "/driy4fX68FvsCIok1ZNf+5Xh5g=";
+        sha512 = "MHTOYKdwwJBkvYid0TaYvBzOnFH3TDtzo6ie5E4o9SaUSXXsfMRLa/whUz6efVIgTxj1xnKYasNn/XwEgJeB/Q==";
       };
     }
     {
@@ -7094,7 +7118,7 @@
       path = fetchurl {
         name = "lines_and_columns___lines_and_columns_1.1.6.tgz";
         url  = "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz";
-        sha1 = "HADHQ7QzzQpOgHWPe2SldEDZ/wA=";
+        sha512 = "8ZmlJFVK9iCmtLz19HpSsR8HaAMWBT284VMNednLwlIMDP2hJDCIhUp0IZ2xUcZ+Ob6BM0VvCSJwzASDM45NLQ==";
       };
     }
     {
@@ -7138,11 +7162,43 @@
       };
     }
     {
+      name = "lodash._basebind___lodash._basebind_2.3.0.tgz";
+      path = fetchurl {
+        name = "lodash._basebind___lodash._basebind_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash._basebind/-/lodash._basebind-2.3.0.tgz";
+        sha512 = "SHqM7YCuJ+BeGTs7lqpWnmdHEeF4MWxS3dksJctHFNxR81FXPOzA4bS5Vs5CpcGTkBpM8FCl+YEbQEblRw8ABg==";
+      };
+    }
+    {
+      name = "lodash._basecreate___lodash._basecreate_2.3.0.tgz";
+      path = fetchurl {
+        name = "lodash._basecreate___lodash._basecreate_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash._basecreate/-/lodash._basecreate-2.3.0.tgz";
+        sha512 = "vwZaWldZwS2y9b99D8i9+WtgiZXbHKsBsMrpxJEqTsNW20NhJo5W8PBQkeQO9CmxuqEYn8UkMnfEM2MMT4cVrw==";
+      };
+    }
+    {
+      name = "lodash._basecreatecallback___lodash._basecreatecallback_2.3.0.tgz";
+      path = fetchurl {
+        name = "lodash._basecreatecallback___lodash._basecreatecallback_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash._basecreatecallback/-/lodash._basecreatecallback-2.3.0.tgz";
+        sha512 = "Ev+pDzzfVfgbiucpXijconLGRBar7/+KNCf05kSnk4CmdDVhAy1RdbU9efCJ/o9GXI08JdUGwZ+5QJ3QX3kj0g==";
+      };
+    }
+    {
+      name = "lodash._basecreatewrapper___lodash._basecreatewrapper_2.3.0.tgz";
+      path = fetchurl {
+        name = "lodash._basecreatewrapper___lodash._basecreatewrapper_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash._basecreatewrapper/-/lodash._basecreatewrapper-2.3.0.tgz";
+        sha512 = "YLycQ7k8AB9Wc1EOvLNxuRWcqipDkMXq2GCgnLWQR6qtgTb3gY3LELzEpnFshrEO4LOLs+R2EpcY+uCOZaLQ8Q==";
+      };
+    }
+    {
       name = "lodash._baseisequal___lodash._baseisequal_3.0.7.tgz";
       path = fetchurl {
         name = "lodash._baseisequal___lodash._baseisequal_3.0.7.tgz";
         url  = "https://registry.yarnpkg.com/lodash._baseisequal/-/lodash._baseisequal-3.0.7.tgz";
-        sha1 = "2AJfdjOdKTQnZ9zIh85cuVpbUfE=";
+        sha512 = "U+3GsNEZj9ebI03ncLC2pLmYVjgtYZEwdkAPO7UGgtGvAz36JVFPAQUufpSaVL93Cz5arc6JGRKZRhaOhyVJYA==";
       };
     }
     {
@@ -7150,7 +7206,15 @@
       path = fetchurl {
         name = "lodash._bindcallback___lodash._bindcallback_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz";
-        sha1 = "5THCdkTPi1epnhftlbNcdIeJOS4=";
+        sha512 = "2wlI0JRAGX8WEf4Gm1p/mv/SZ+jLijpj0jyaE/AXeuQphzCgD8ZQW4oSpoN8JAopujOFGU3KMuq7qfHBWlGpjQ==";
+      };
+    }
+    {
+      name = "lodash._createwrapper___lodash._createwrapper_2.3.0.tgz";
+      path = fetchurl {
+        name = "lodash._createwrapper___lodash._createwrapper_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash._createwrapper/-/lodash._createwrapper-2.3.0.tgz";
+        sha512 = "XjaI/rzg9W+WO4WJDQ+PRlHD5sAMJ1RhJLuT65cBxLCb1kIYs4U20jqvTDGAWyVT3c34GYiLd9AreHYuB/8yJA==";
       };
     }
     {
@@ -7158,7 +7222,55 @@
       path = fetchurl {
         name = "lodash._getnative___lodash._getnative_3.9.1.tgz";
         url  = "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz";
-        sha1 = "VwvH3t5G1hzc3mh9ZdPuy6o6r/U=";
+        sha512 = "RrL9VxMEPyDMHOd9uFbvMe8X55X16/cGM5IgOKgRElQZutpX89iS6vwl64duTV1/16w5JY7tuFNXqoekmh1EmA==";
+      };
+    }
+    {
+      name = "lodash._objecttypes___lodash._objecttypes_2.3.0.tgz";
+      path = fetchurl {
+        name = "lodash._objecttypes___lodash._objecttypes_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash._objecttypes/-/lodash._objecttypes-2.3.0.tgz";
+        sha512 = "jbA6QyHt9cw3BzvbWzIcnU3Z12jSneT6xBgz3Y782CJsN1tV5aTBKrFo2B4AkeHBNaxSrbPYZZpi1Lwj3xjdtg==";
+      };
+    }
+    {
+      name = "lodash._renative___lodash._renative_2.3.0.tgz";
+      path = fetchurl {
+        name = "lodash._renative___lodash._renative_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash._renative/-/lodash._renative-2.3.0.tgz";
+        sha512 = "v44MRirqYqZGK/h5UKoVqXWF2L+LUiLTU+Ogu5rHRVWJUA1uWIlHaMpG8f/OA8j++BzPMQij9+erXHtgFcbuwg==";
+      };
+    }
+    {
+      name = "lodash._setbinddata___lodash._setbinddata_2.3.0.tgz";
+      path = fetchurl {
+        name = "lodash._setbinddata___lodash._setbinddata_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash._setbinddata/-/lodash._setbinddata-2.3.0.tgz";
+        sha512 = "xMFfbF7dL+sFtrdE49uHFmfpBAEwlFtfgMp86nQRlAF6aizYL+3MTbnYMKJSkP1W501PhsgiBED5kBbZd8kR2g==";
+      };
+    }
+    {
+      name = "lodash._shimkeys___lodash._shimkeys_2.3.0.tgz";
+      path = fetchurl {
+        name = "lodash._shimkeys___lodash._shimkeys_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash._shimkeys/-/lodash._shimkeys-2.3.0.tgz";
+        sha512 = "9Iuyi7TiWMGa/9+2rqEE+Zwye4b/U2w7Saw6UX1h6Xs88mEER+uz9FZcEBPKMVKsad9Pw5GNAcIBRnW2jNpneQ==";
+      };
+    }
+    {
+      name = "lodash._slice___lodash._slice_2.3.0.tgz";
+      path = fetchurl {
+        name = "lodash._slice___lodash._slice_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash._slice/-/lodash._slice-2.3.0.tgz";
+        sha512 = "7C61GhzRUv36gTafr+RIb+AomCAYsSATEoK4OP0VkNBcwvsM022Z22AVgqjjzikeNO1U29LzsJZDvLbiNPUYvA==";
+      };
+    }
+    {
+      name = "lodash.bind___lodash.bind_2.3.0.tgz";
+      path = fetchurl {
+        name = "lodash.bind___lodash.bind_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-2.3.0.tgz";
+        sha512 = "goakyOo+FMN8lttMPnZ0UNlr5RlzX4IrUXyTJPT2A0tGCMXySupond9wzvDqTvVmYTcQjIKGrj8naJDS2xWAlQ==";
       };
     }
     {
@@ -7166,7 +7278,7 @@
       path = fetchurl {
         name = "lodash.debounce___lodash.debounce_4.0.8.tgz";
         url  = "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz";
-        sha1 = "gteb/zCmfEAF/9XiUVMArZyk168=";
+        sha512 = "FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==";
       };
     }
     {
@@ -7174,7 +7286,7 @@
       path = fetchurl {
         name = "lodash.escape___lodash.escape_4.0.1.tgz";
         url  = "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-4.0.1.tgz";
-        sha1 = "yQRGkMIeBClL6qUXcS/e0fqI3pg=";
+        sha512 = "nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw==";
       };
     }
     {
@@ -7182,7 +7294,31 @@
       path = fetchurl {
         name = "lodash.flattendeep___lodash.flattendeep_4.4.0.tgz";
         url  = "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz";
-        sha1 = "+wMJF/hqMTTlvJvsDWngAT3f7bI=";
+        sha512 = "uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==";
+      };
+    }
+    {
+      name = "lodash.foreach___lodash.foreach_2.3.0.tgz";
+      path = fetchurl {
+        name = "lodash.foreach___lodash.foreach_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-2.3.0.tgz";
+        sha512 = "yLnyptVRJd0//AbGp480grgQG9iaDIV5uOgSbpurRy1dYybPbjNTLQ3FyLEQ84buVLPG7jyaiyvpzgfOutRB3Q==";
+      };
+    }
+    {
+      name = "lodash.forown___lodash.forown_2.3.0.tgz";
+      path = fetchurl {
+        name = "lodash.forown___lodash.forown_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.forown/-/lodash.forown-2.3.0.tgz";
+        sha512 = "dUnCsuQTtq3Y7bxPNoEEqjJjPL2ftLtcz2PTeRKvhbpdM514AvnqCjewHGsm/W+dwspIwa14KoWEZeizJ7smxA==";
+      };
+    }
+    {
+      name = "lodash.identity___lodash.identity_2.3.0.tgz";
+      path = fetchurl {
+        name = "lodash.identity___lodash.identity_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.identity/-/lodash.identity-2.3.0.tgz";
+        sha512 = "NYJ2r2cwy3tkx/saqbIZEX6oQUzjWTnGRu7d/zmBjMCZos3eHBxCpbvWFWSetv8jFVrptsp6EbWjzNgBKhUoOA==";
       };
     }
     {
@@ -7190,7 +7326,7 @@
       path = fetchurl {
         name = "lodash.isarguments___lodash.isarguments_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz";
-        sha1 = "L1c9hcaiQon/AGY7SRwdM4/zRYo=";
+        sha512 = "chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==";
       };
     }
     {
@@ -7198,7 +7334,7 @@
       path = fetchurl {
         name = "lodash.isarray___lodash.isarray_3.0.4.tgz";
         url  = "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz";
-        sha1 = "eeTriMNqgSKvhvhEqpvNhRtfu1U=";
+        sha512 = "JwObCrNJuT0Nnbuecmqr5DgtuBppuCvGD9lxjFpAzwnVtdGoDQ1zig+5W8k5/6Gcn0gZ3936HDAlGd28i7sOGQ==";
       };
     }
     {
@@ -7206,7 +7342,7 @@
       path = fetchurl {
         name = "lodash.isequal___lodash.isequal_3.0.4.tgz";
         url  = "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-3.0.4.tgz";
-        sha1 = "HDXrO27wzR/1F0Pj6jz3/f/ay2Q=";
+        sha512 = "Bsu5fP9Omd+HBk2Dz8qp4BHbC+83DBykZ87Lz1JmPKTVNy4Q0XQVtUrbfXVAK/udQrWNcGStcKSA9yj/Zkm3TQ==";
       };
     }
     {
@@ -7214,7 +7350,23 @@
       path = fetchurl {
         name = "lodash.isequal___lodash.isequal_4.5.0.tgz";
         url  = "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz";
-        sha1 = "QVxEePK8wwEgwizhDtMib30+GOA=";
+        sha512 = "pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==";
+      };
+    }
+    {
+      name = "lodash.isfunction___lodash.isfunction_2.3.0.tgz";
+      path = fetchurl {
+        name = "lodash.isfunction___lodash.isfunction_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-2.3.0.tgz";
+        sha512 = "X5lteBYlCrVO7Qc00fxP8W90fzRp6Ax9XcHANmU3OsZHdSyIVZ9ZlX5QTTpRq8aGY+9I5Rmd0UTzTIIyWPugEQ==";
+      };
+    }
+    {
+      name = "lodash.isobject___lodash.isobject_2.3.0.tgz";
+      path = fetchurl {
+        name = "lodash.isobject___lodash.isobject_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isobject/-/lodash.isobject-2.3.0.tgz";
+        sha512 = "jo1pfV61C4TE8BfEzqaHj6EIKiSkFANJrB6yscwuCJMSRw5tbqjk4Gv7nJzk4Z6nFKobZjGZ8Qd41vmnwgeQqQ==";
       };
     }
     {
@@ -7222,7 +7374,15 @@
       path = fetchurl {
         name = "lodash.istypedarray___lodash.istypedarray_3.0.6.tgz";
         url  = "https://registry.yarnpkg.com/lodash.istypedarray/-/lodash.istypedarray-3.0.6.tgz";
-        sha1 = "yaR3SYYHUB2OhJTSg7h8OSgc72I=";
+        sha512 = "lGWJ6N8AA3KSv+ZZxlTdn4f6A7kMfpJboeyvbFdE7IU9YAgweODqmOgdUHOA+c6lVWeVLysdaxciFXi+foVsWw==";
+      };
+    }
+    {
+      name = "lodash.keys___lodash.keys_2.3.0.tgz";
+      path = fetchurl {
+        name = "lodash.keys___lodash.keys_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-2.3.0.tgz";
+        sha512 = "c0UW0ffqMxSCtoVbmVt2lERJLkEqgoOn2ejPsWXzr0ZrqRbl3uruGgwHzhtqXxi6K/ei3Ey7zimOqSwXgzazPg==";
       };
     }
     {
@@ -7230,7 +7390,7 @@
       path = fetchurl {
         name = "lodash.keys___lodash.keys_3.1.2.tgz";
         url  = "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz";
-        sha1 = "TbwEcrFWvlCgsoaFXRvQsMZWCYo=";
+        sha512 = "CuBsapFjcubOGMn3VD+24HOAPxM79tH+V6ivJL3CHYjtrawauDJHUk//Yew9Hvc6e9rbCrURGk8z6PC+8WJBfQ==";
       };
     }
     {
@@ -7238,7 +7398,7 @@
       path = fetchurl {
         name = "lodash.memoize___lodash.memoize_4.1.2.tgz";
         url  = "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz";
-        sha1 = "vMbEmkKihA7Zl/Mj6tpezRguC/4=";
+        sha512 = "t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==";
       };
     }
     {
@@ -7246,7 +7406,7 @@
       path = fetchurl {
         name = "lodash.memoize___lodash.memoize_3.0.4.tgz";
         url  = "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-3.0.4.tgz";
-        sha1 = "LcvSwofLwKVcxCMovQxzYVDVPj8=";
+        sha512 = "eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==";
       };
     }
     {
@@ -7258,11 +7418,27 @@
       };
     }
     {
+      name = "lodash.noop___lodash.noop_2.3.0.tgz";
+      path = fetchurl {
+        name = "lodash.noop___lodash.noop_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.noop/-/lodash.noop-2.3.0.tgz";
+        sha512 = "NpSm8HRm1WkBBWHUveDukLF4Kfb5P5E3fjHc9Qre9A11nNubozLWD2wH3UBTZbu+KSuX8aSUvy9b+PUyEceJ8g==";
+      };
+    }
+    {
+      name = "lodash.support___lodash.support_2.3.0.tgz";
+      path = fetchurl {
+        name = "lodash.support___lodash.support_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.support/-/lodash.support-2.3.0.tgz";
+        sha512 = "etc7VWbB0U3Iya8ixj2xy4sDBN3jvPX7ODi8iXtn4KkkjNpdngrdc7Vlt5jub/Vgqx6/dWtp7Ml9awhCQPYKGQ==";
+      };
+    }
+    {
       name = "lodash.truncate___lodash.truncate_4.4.2.tgz";
       path = fetchurl {
         name = "lodash.truncate___lodash.truncate_4.4.2.tgz";
         url  = "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz";
-        sha1 = "WjUNoLERO4N+z//VgSy+WNbq4ZM=";
+        sha512 = "jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==";
       };
     }
     {
@@ -7270,7 +7446,7 @@
       path = fetchurl {
         name = "lodash.uniq___lodash.uniq_4.5.0.tgz";
         url  = "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz";
-        sha1 = "0CJTc662Uq3BvILklFM5qEJ1R3M=";
+        sha512 = "xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==";
       };
     }
     {
@@ -7306,11 +7482,19 @@
       };
     }
     {
+      name = "lru_cache___lru_cache_7.13.1.tgz";
+      path = fetchurl {
+        name = "lru_cache___lru_cache_7.13.1.tgz";
+        url  = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.13.1.tgz";
+        sha512 = "CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==";
+      };
+    }
+    {
       name = "lunr___lunr_0.7.2.tgz";
       path = fetchurl {
         name = "lunr___lunr_0.7.2.tgz";
         url  = "https://registry.yarnpkg.com/lunr/-/lunr-0.7.2.tgz";
-        sha1 = "eaMOky4hbLoWNUHuN6NgfBLNcoE=";
+        sha512 = "qXxxSzrWOhFu4EhyvYqCGMv1nJsTy5OGQN3GtClGbRSaqJ/1XASk41nF2jjxzKTS8kjU0QybhOgGgGo6HUZqSQ==";
       };
     }
     {
@@ -7322,11 +7506,11 @@
       };
     }
     {
-      name = "make_fetch_happen___make_fetch_happen_9.1.0.tgz";
+      name = "make_fetch_happen___make_fetch_happen_10.2.0.tgz";
       path = fetchurl {
-        name = "make_fetch_happen___make_fetch_happen_9.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz";
-        sha512 = "+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==";
+        name = "make_fetch_happen___make_fetch_happen_10.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.2.0.tgz";
+        sha512 = "OnEfCLofQVJ5zgKwGk55GaqosqKjaR6khQlJY3dBAA+hM25Bc5CmX5rKUfVut+rYA3uidA7zb7AvcglU87rPRg==";
       };
     }
     {
@@ -7334,7 +7518,7 @@
       path = fetchurl {
         name = "map_obj___map_obj_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz";
-        sha1 = "2TPOuSBdgr3PSIb2dCvcK03qFG0=";
+        sha512 = "7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==";
       };
     }
     {
@@ -7346,11 +7530,11 @@
       };
     }
     {
-      name = "marked___marked_3.0.8.tgz";
+      name = "marked___marked_4.0.18.tgz";
       path = fetchurl {
-        name = "marked___marked_3.0.8.tgz";
-        url  = "https://registry.yarnpkg.com/marked/-/marked-3.0.8.tgz";
-        sha512 = "0gVrAjo5m0VZSJb4rpL59K1unJAMb/hm8HRXqasD8VeC8m91ytDPMritgFSlKonfdt+rRYYpP/JfLxgIX8yoSw==";
+        name = "marked___marked_4.0.18.tgz";
+        url  = "https://registry.yarnpkg.com/marked/-/marked-4.0.18.tgz";
+        sha512 = "wbLDJ7Zh0sqA0Vdg6aqlbT+yPxqLblpAZh1mK2+AO2twQkPywvvqQNfEPVwSSRjZ7dZcdeVBIAgiO7MMp3Dszw==";
       };
     }
     {
@@ -7358,7 +7542,7 @@
       path = fetchurl {
         name = "matches_selector___matches_selector_0.0.1.tgz";
         url  = "https://registry.yarnpkg.com/matches-selector/-/matches-selector-0.0.1.tgz";
-        sha1 = "HfUmIkOuNBwaCATdMCBIJnrHE7s=";
+        sha512 = "Bm8wuvuNGPY3j1Mo23PxieRQAmQQe2qVcqgmpHOp1BEBNgb4dqzn2Dcgu5bYltMosjGi6LD7GPW72zboSdyJQg==";
       };
     }
     {
@@ -7382,7 +7566,7 @@
       path = fetchurl {
         name = "media_typer___media_typer_0.3.0.tgz";
         url  = "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz";
-        sha1 = "hxDXrwqmJvj/+hzgAWhUUmMlV0g=";
+        sha512 = "dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==";
       };
     }
     {
@@ -7422,7 +7606,7 @@
       path = fetchurl {
         name = "microbuffer___microbuffer_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/microbuffer/-/microbuffer-1.0.0.tgz";
-        sha1 = "izgy7UDIfVH0e7I0kTppinVtGdI=";
+        sha512 = "O/SUXauVN4x6RaEJFqSPcXNtLFL+QzJHKZlyDVYFwcDDRVca3Fa/37QXXC+4zAGGa4YhHrHxKXuuHvLDIQECtA==";
       };
     }
     {
@@ -7510,7 +7694,7 @@
       path = fetchurl {
         name = "minimalistic_crypto_utils___minimalistic_crypto_utils_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz";
-        sha1 = "9sAMHAsIIkblxNmd+4x8CDsrWCo=";
+        sha512 = "JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==";
       };
     }
     {
@@ -7522,6 +7706,14 @@
       };
     }
     {
+      name = "minimatch___minimatch_5.1.0.tgz";
+      path = fetchurl {
+        name = "minimatch___minimatch_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz";
+        sha512 = "9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==";
+      };
+    }
+    {
       name = "minimist_options___minimist_options_4.1.0.tgz";
       path = fetchurl {
         name = "minimist_options___minimist_options_4.1.0.tgz";
@@ -7534,7 +7726,7 @@
       path = fetchurl {
         name = "minimist___minimist_1.2.6.tgz";
         url  = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz";
-        sha1 = "hjelt1nqDW6YcCz7OpKDMjyTr0Q=";
+        sha512 = "Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==";
       };
     }
     {
@@ -7546,11 +7738,11 @@
       };
     }
     {
-      name = "minipass_fetch___minipass_fetch_1.4.1.tgz";
+      name = "minipass_fetch___minipass_fetch_2.1.0.tgz";
       path = fetchurl {
-        name = "minipass_fetch___minipass_fetch_1.4.1.tgz";
-        url  = "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.4.1.tgz";
-        sha512 = "CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==";
+        name = "minipass_fetch___minipass_fetch_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.1.0.tgz";
+        sha512 = "H9U4UVBGXEyyWJnqYDCLp1PwD8XIkJ4akNHp1aGVI+2Ym7wQMlxDKi4IB4JbmyU+pl9pEs/cVrK6cOuvmbK4Sg==";
       };
     }
     {
@@ -7578,11 +7770,11 @@
       };
     }
     {
-      name = "minipass___minipass_3.1.5.tgz";
+      name = "minipass___minipass_3.3.4.tgz";
       path = fetchurl {
-        name = "minipass___minipass_3.1.5.tgz";
-        url  = "https://registry.yarnpkg.com/minipass/-/minipass-3.1.5.tgz";
-        sha512 = "+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw==";
+        name = "minipass___minipass_3.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/minipass/-/minipass-3.3.4.tgz";
+        sha512 = "I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==";
       };
     }
     {
@@ -7666,14 +7858,6 @@
       };
     }
     {
-      name = "moment_timezone___moment_timezone_0.5.33.tgz";
-      path = fetchurl {
-        name = "moment_timezone___moment_timezone_0.5.33.tgz";
-        url  = "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.33.tgz";
-        sha512 = "PTc2vcT8K9J5/9rDEPe5czSIKgLoGsH8UNpA4qZTVw0Vd/Uz19geE9abbIOQKaAQFcnQ3v5YEXrbSc5BpshH+w==";
-      };
-    }
-    {
       name = "moment_timezone___moment_timezone_0.5.34.tgz";
       path = fetchurl {
         name = "moment_timezone___moment_timezone_0.5.34.tgz";
@@ -7682,11 +7866,11 @@
       };
     }
     {
-      name = "moment___moment_2.29.3.tgz";
+      name = "moment___moment_2.29.4.tgz";
       path = fetchurl {
-        name = "moment___moment_2.29.3.tgz";
-        url  = "https://registry.yarnpkg.com/moment/-/moment-2.29.3.tgz";
-        sha512 = "c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==";
+        name = "moment___moment_2.29.4.tgz";
+        url  = "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz";
+        sha512 = "5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==";
       };
     }
     {
@@ -7710,7 +7894,7 @@
       path = fetchurl {
         name = "ms___ms_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz";
-        sha1 = "VgiurfwAvmwpAd9fmGF4jeDVl8g=";
+        sha512 = "Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==";
       };
     }
     {
@@ -7722,19 +7906,11 @@
       };
     }
     {
-      name = "ms___ms_2.1.3.tgz";
+      name = "nan___nan_2.16.0.tgz";
       path = fetchurl {
-        name = "ms___ms_2.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz";
-        sha512 = "6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==";
-      };
-    }
-    {
-      name = "nan___nan_2.15.0.tgz";
-      path = fetchurl {
-        name = "nan___nan_2.15.0.tgz";
-        url  = "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz";
-        sha512 = "8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==";
+        name = "nan___nan_2.16.0.tgz";
+        url  = "https://registry.yarnpkg.com/nan/-/nan-2.16.0.tgz";
+        sha512 = "UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==";
       };
     }
     {
@@ -7742,7 +7918,7 @@
       path = fetchurl {
         name = "nanoid___nanoid_3.2.0.tgz";
         url  = "https://registry.yarnpkg.com/nanoid/-/nanoid-3.2.0.tgz";
-        sha1 = "YmZ1Itpmc5ccypFqbT7/P0Ff+Aw=";
+        sha512 = "fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==";
       };
     }
     {
@@ -7750,7 +7926,7 @@
       path = fetchurl {
         name = "nanoid___nanoid_3.3.2.tgz";
         url  = "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.2.tgz";
-        sha1 = "yJYi+vtDgc0iFCHGnsWFR6HuxVc=";
+        sha512 = "CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==";
       };
     }
     {
@@ -7766,7 +7942,7 @@
       path = fetchurl {
         name = "natural_compare___natural_compare_1.4.0.tgz";
         url  = "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz";
-        sha1 = "Sr6/7tdUHywnrPspvbvRXI1bpPc=";
+        sha512 = "OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==";
       };
     }
     {
@@ -7782,7 +7958,7 @@
       path = fetchurl {
         name = "neatequal___neatequal_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/neatequal/-/neatequal-1.0.0.tgz";
-        sha1 = "LuEhG8n6bkxVcV/SELsFYC6xrjs=";
+        sha512 = "sVt5awO4a4w24QmAthdrCPiVRW3naB8FGLdyadin01BH+6BzNPEBwGrpwCczQvPlULS6uXTItTe1PJ5P0kYm7A==";
       };
     }
     {
@@ -7794,6 +7970,14 @@
       };
     }
     {
+      name = "negotiator___negotiator_0.6.3.tgz";
+      path = fetchurl {
+        name = "negotiator___negotiator_0.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz";
+        sha512 = "+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==";
+      };
+    }
+    {
       name = "neo_async___neo_async_2.6.2.tgz";
       path = fetchurl {
         name = "neo_async___neo_async_2.6.2.tgz";
@@ -7802,11 +7986,11 @@
       };
     }
     {
-      name = "node_gyp___node_gyp_8.4.0.tgz";
+      name = "node_gyp___node_gyp_9.1.0.tgz";
       path = fetchurl {
-        name = "node_gyp___node_gyp_8.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/node-gyp/-/node-gyp-8.4.0.tgz";
-        sha512 = "Bi/oCm5bH6F+FmzfUxJpPaxMEyIhszULGR3TprmTeku8/dMFcdTcypk120NeZqEt54r1BrgEKtm2jJiuIKE28Q==";
+        name = "node_gyp___node_gyp_9.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.1.0.tgz";
+        sha512 = "HkmN0ZpQJU7FLbJauJTHkHlSVAXlNGDAzH/VYFZGDOnFyn/Na3GlNJfkudmufOdS6/jNFhy88ObzL7ERz9es1g==";
       };
     }
     {
@@ -7854,7 +8038,7 @@
       path = fetchurl {
         name = "normalize_range___normalize_range_0.1.2.tgz";
         url  = "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz";
-        sha1 = "LRDAa9/TEuqXd2laTShDlFa3WUI=";
+        sha512 = "bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==";
       };
     }
     {
@@ -7890,11 +8074,11 @@
       };
     }
     {
-      name = "npmlog___npmlog_4.1.2.tgz";
+      name = "npmlog___npmlog_6.0.2.tgz";
       path = fetchurl {
-        name = "npmlog___npmlog_4.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz";
-        sha512 = "2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==";
+        name = "npmlog___npmlog_6.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz";
+        sha512 = "/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==";
       };
     }
     {
@@ -7906,19 +8090,11 @@
       };
     }
     {
-      name = "number_is_nan___number_is_nan_1.0.1.tgz";
-      path = fetchurl {
-        name = "number_is_nan___number_is_nan_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz";
-        sha1 = "CXtgK1NCKlIsGvuHkDGDNpQaAR0=";
-      };
-    }
-    {
       name = "object_assign___object_assign_4.1.1.tgz";
       path = fetchurl {
         name = "object_assign___object_assign_4.1.1.tgz";
         url  = "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz";
-        sha1 = "IQmtx5ZYh8/AXLvUQsrIv7s2CGM=";
+        sha512 = "rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==";
       };
     }
     {
@@ -7990,7 +8166,7 @@
       path = fetchurl {
         name = "on_finished___on_finished_2.3.0.tgz";
         url  = "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz";
-        sha1 = "IPEzZIGwg811M3mSoWlxqi2QaUc=";
+        sha512 = "ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==";
       };
     }
     {
@@ -7998,7 +8174,7 @@
       path = fetchurl {
         name = "once___once_1.4.0.tgz";
         url  = "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz";
-        sha1 = "WDsap3WWHUsROsF9nFC6753Xa9E=";
+        sha512 = "lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==";
       };
     }
     {
@@ -8030,7 +8206,7 @@
       path = fetchurl {
         name = "os_browserify___os_browserify_0.3.0.tgz";
         url  = "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz";
-        sha1 = "hUNzx/XCMVkU/Jv8a9gjj92h7Cc=";
+        sha512 = "gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==";
       };
     }
     {
@@ -8038,7 +8214,7 @@
       path = fetchurl {
         name = "os_shim___os_shim_0.1.3.tgz";
         url  = "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz";
-        sha1 = "a2LDeRz3kJ6jXtRuF2WLtBfLORc=";
+        sha512 = "jd0cvB8qQ5uVt0lvCIexBaROw1KyKm5sbulg2fWOHjETisuCzWyt+eTZKEMs8v6HwzoGs8xik26jg7eCM6pS+A==";
       };
     }
     {
@@ -8094,7 +8270,7 @@
       path = fetchurl {
         name = "p_reduce___p_reduce_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz";
-        sha1 = "GMKw3ZNqRpClKfgjH1ig/bakffo=";
+        sha512 = "3Tx1T3oM1xO/Y8Gj0sWyE78EIJZ+t+aEmXUdvQgvGmSMri7aPTHoovbXEreWKkL5j21Er60XAWLTzKbAKYOujQ==";
       };
     }
     {
@@ -8134,7 +8310,7 @@
       path = fetchurl {
         name = "parents___parents_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/parents/-/parents-1.0.1.tgz";
-        sha1 = "/t1NK/GTp3dF/nHjcdc8MwfZx1E=";
+        sha512 = "mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==";
       };
     }
     {
@@ -8222,7 +8398,7 @@
       path = fetchurl {
         name = "path_is_absolute___path_is_absolute_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
-        sha1 = "F0uSaHNVNP+8es5r9TpanhtcX18=";
+        sha512 = "AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==";
       };
     }
     {
@@ -8246,7 +8422,7 @@
       path = fetchurl {
         name = "path_platform___path_platform_0.11.15.tgz";
         url  = "https://registry.yarnpkg.com/path-platform/-/path-platform-0.11.15.tgz";
-        sha1 = "6GQhf3TDaFDwhSt43Hv31KVyG/I=";
+        sha512 = "Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==";
       };
     }
     {
@@ -8262,7 +8438,7 @@
       path = fetchurl {
         name = "pathfinding___pathfinding_0.4.18.tgz";
         url  = "https://registry.yarnpkg.com/pathfinding/-/pathfinding-0.4.18.tgz";
-        sha1 = "qZkPb6IrfvGW5WUbBJFlQDoEX+g=";
+        sha512 = "R0TGEQ9GRcFCDvAWlJAWC+KGJ9SLbW4c0nuZRcioVlXVTlw+F5RvXQ8SQgSqI9KXWC1ew95vgmIiyaWTlCe9Ag==";
       };
     }
     {
@@ -8286,7 +8462,7 @@
       path = fetchurl {
         name = "performance_now___performance_now_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz";
-        sha1 = "Ywn04OX6kT7BxpMHrjZLSzd8nns=";
+        sha512 = "7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==";
       };
     }
     {
@@ -8326,7 +8502,7 @@
       path = fetchurl {
         name = "picomodal___picomodal_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/picomodal/-/picomodal-3.0.0.tgz";
-        sha1 = "+s0w9PvzSoCcHgTqUl8ATzmcC4I=";
+        sha512 = "FoR3TDfuLlqUvcEeK5ifpKSVVns6B4BQvc8SDF6THVMuadya6LLtji0QgUDSStw0ZR2J7I6UGi5V2V23rnPWTw==";
       };
     }
     {
@@ -8638,7 +8814,7 @@
       path = fetchurl {
         name = "precond___precond_0.2.3.tgz";
         url  = "https://registry.yarnpkg.com/precond/-/precond-0.2.3.tgz";
-        sha1 = "qpWRvKokkj8eD0hJ0kD0fvwQdaw=";
+        sha512 = "QCYG84SgGyGzqJ/vlMsxeXd/pgL/I94ixdNFyh1PusWmTCyVfPJjZ1K1jvHtsbfnXQs2TSkEP2fR7QiMZAnKFQ==";
       };
     }
     {
@@ -8662,7 +8838,7 @@
       path = fetchurl {
         name = "process___process_0.11.10.tgz";
         url  = "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz";
-        sha1 = "czIwDoQBYb2j5podHZGn1LwW8YI=";
+        sha512 = "cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==";
       };
     }
     {
@@ -8678,7 +8854,7 @@
       path = fetchurl {
         name = "promise_inflight___promise_inflight_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz";
-        sha1 = "mEcocL8igTL8vdhoEputEsPAKeM=";
+        sha512 = "6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==";
       };
     }
     {
@@ -8706,6 +8882,14 @@
       };
     }
     {
+      name = "prop_types___prop_types_15.8.1.tgz";
+      path = fetchurl {
+        name = "prop_types___prop_types_15.8.1.tgz";
+        url  = "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz";
+        sha512 = "oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==";
+      };
+    }
+    {
       name = "public_encrypt___public_encrypt_4.0.3.tgz";
       path = fetchurl {
         name = "public_encrypt___public_encrypt_4.0.3.tgz";
@@ -8718,7 +8902,7 @@
       path = fetchurl {
         name = "punycode___punycode_1.3.2.tgz";
         url  = "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz";
-        sha1 = "llOgNvt8HuQjQvIyXM7v6jkmxI0=";
+        sha512 = "RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==";
       };
     }
     {
@@ -8726,7 +8910,7 @@
       path = fetchurl {
         name = "punycode___punycode_1.4.1.tgz";
         url  = "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz";
-        sha1 = "wNWmOycYgArY4esPpSachN1BhF4=";
+        sha512 = "jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==";
       };
     }
     {
@@ -8742,7 +8926,7 @@
       path = fetchurl {
         name = "q___q_1.5.1.tgz";
         url  = "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz";
-        sha1 = "fjL3W0E4EpHQRhHxvxQQmsAGUdc=";
+        sha512 = "kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==";
       };
     }
     {
@@ -8766,7 +8950,7 @@
       path = fetchurl {
         name = "querystring_es3___querystring_es3_0.2.1.tgz";
         url  = "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz";
-        sha1 = "nsYfeQSYdXB9aUFFlv2Qek1xHnM=";
+        sha512 = "773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==";
       };
     }
     {
@@ -8774,7 +8958,7 @@
       path = fetchurl {
         name = "querystring___querystring_0.2.0.tgz";
         url  = "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz";
-        sha1 = "sgmEkgO7Jd+CDadW50cAWHhSFiA=";
+        sha512 = "X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==";
       };
     }
     {
@@ -8806,7 +8990,7 @@
       path = fetchurl {
         name = "railroad_diagrams___railroad_diagrams_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz";
-        sha1 = "635iZ1SN3t+4mcG5Dlc3RVnN234=";
+        sha512 = "cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==";
       };
     }
     {
@@ -9018,6 +9202,14 @@
       };
     }
     {
+      name = "react_dropzone___react_dropzone_14.2.1.tgz";
+      path = fetchurl {
+        name = "react_dropzone___react_dropzone_14.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-14.2.1.tgz";
+        sha512 = "jzX6wDtAjlfwZ+Fbg+G17EszWUkQVxhMTWMfAC9qSUq7II2pKglHA8aarbFKl0mLpRPDaNUcy+HD/Sf4gkf76Q==";
+      };
+    }
+    {
       name = "react_input_autosize___react_input_autosize_3.0.0.tgz";
       path = fetchurl {
         name = "react_input_autosize___react_input_autosize_3.0.0.tgz";
@@ -9174,7 +9366,7 @@
       path = fetchurl {
         name = "read_only_stream___read_only_stream_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/read-only-stream/-/read-only-stream-2.0.0.tgz";
-        sha1 = "JyT9aoET1zdkrCiNQ4YnDB2/F/A=";
+        sha512 = "3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==";
       };
     }
     {
@@ -9198,7 +9390,7 @@
       path = fetchurl {
         name = "readable_stream___readable_stream_1.1.14.tgz";
         url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz";
-        sha1 = "fPTFTvZI44EwhMY23SB54WbAgdk=";
+        sha512 = "+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==";
       };
     }
     {
@@ -9246,7 +9438,7 @@
       path = fetchurl {
         name = "reflect.ownkeys___reflect.ownkeys_0.2.0.tgz";
         url  = "https://registry.yarnpkg.com/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz";
-        sha1 = "dJrO7H8/34tj+SegSAnpDFwLNGA=";
+        sha512 = "qOLsBKHCpSOFKK1NUOCGC5VyeufB6lEsFe92AL2bhIJsacZS1qdoOZSbPk3MYKuT2cFlRDnulKXuuElIrMjGUg==";
       };
     }
     {
@@ -9374,7 +9566,7 @@
       path = fetchurl {
         name = "repeating___repeating_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz";
-        sha1 = "UhTFOpJtNVJwdSf7q0FdvAjQbdo=";
+        sha512 = "ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==";
       };
     }
     {
@@ -9390,7 +9582,7 @@
       path = fetchurl {
         name = "require_directory___require_directory_2.1.1.tgz";
         url  = "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz";
-        sha1 = "jGStX9MNqxyXbiNE/+f3kqam30I=";
+        sha512 = "fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==";
       };
     }
     {
@@ -9406,7 +9598,7 @@
       path = fetchurl {
         name = "requires_port___requires_port_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz";
-        sha1 = "kl0mAdOaxIXgkc8NpcbmlNw9yv8=";
+        sha512 = "KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==";
       };
     }
     {
@@ -9470,7 +9662,7 @@
       path = fetchurl {
         name = "retry___retry_0.12.0.tgz";
         url  = "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz";
-        sha1 = "G0KmJmoh8HQh0bC1S33BZ7AcATs=";
+        sha512 = "9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==";
       };
     }
     {
@@ -9518,7 +9710,7 @@
       path = fetchurl {
         name = "rst_selector_parser___rst_selector_parser_2.2.3.tgz";
         url  = "https://registry.yarnpkg.com/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz";
-        sha1 = "gbIw6i/MYGbInjRy3nlChdmwPZE=";
+        sha512 = "nDG1rZeP6oFTLN6yNDV/uiAvs1+FS/KlrEwh7+y7dpuApDBy6bI2HTBcc0/V8lv9OTqfyD34eF7au2pm8aBbhA==";
       };
     }
     {
@@ -9606,7 +9798,7 @@
       path = fetchurl {
         name = "schema_utils___schema_utils_0.3.0.tgz";
         url  = "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.3.0.tgz";
-        sha1 = "9YdyIs4+kx7a4DnxfrNxbnE3+M8=";
+        sha512 = "QaVYBaD9U8scJw2EBWnCBY+LJ0AD+/2edTaigDs0XLDLBfJmSUK9KGqktg1rb32U3z4j/XwvFwHHH1YfbYFd7Q==";
       };
     }
     {
@@ -9674,6 +9866,14 @@
       };
     }
     {
+      name = "semver___semver_7.3.7.tgz";
+      path = fetchurl {
+        name = "semver___semver_7.3.7.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz";
+        sha512 = "QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==";
+      };
+    }
+    {
       name = "serialize_javascript___serialize_javascript_5.0.1.tgz";
       path = fetchurl {
         name = "serialize_javascript___serialize_javascript_5.0.1.tgz";
@@ -9694,7 +9894,7 @@
       path = fetchurl {
         name = "set_blocking___set_blocking_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz";
-        sha1 = "BF+XgtARrppoA93TgrJDkrPYkPc=";
+        sha512 = "KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==";
       };
     }
     {
@@ -9766,7 +9966,7 @@
       path = fetchurl {
         name = "shim_loader___shim_loader_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/shim-loader/-/shim-loader-1.0.1.tgz";
-        sha1 = "JYOm0qqTiJfCpBZYvO9z7IfTql4=";
+        sha512 = "O7amY2FR6Mmu0LRair5uLc/NG/sHFw/ulOf9s4iJfW/4KBSQdyqz9iZmOf57QG7xbKISHHPttMsVZWqQ/0vxpw==";
       };
     }
     {
@@ -9778,11 +9978,11 @@
       };
     }
     {
-      name = "signal_exit___signal_exit_3.0.5.tgz";
+      name = "signal_exit___signal_exit_3.0.7.tgz";
       path = fetchurl {
-        name = "signal_exit___signal_exit_3.0.5.tgz";
-        url  = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.5.tgz";
-        sha512 = "KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==";
+        name = "signal_exit___signal_exit_3.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz";
+        sha512 = "wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==";
       };
     }
     {
@@ -9854,7 +10054,7 @@
       path = fetchurl {
         name = "snapsvg_cjs___snapsvg_cjs_0.0.6.tgz";
         url  = "https://registry.yarnpkg.com/snapsvg-cjs/-/snapsvg-cjs-0.0.6.tgz";
-        sha1 = "Oy9WryVz09Nkw+1b+IhXRfTS3eE=";
+        sha512 = "7NNvoGrc3BQvWz5rWK1DsD5/Vni4STswz5B3JrBADboQWcN8OBVGjYVJFPT5JkUXb2iVnEflZANhufEpEcTHXw==";
       };
     }
     {
@@ -9862,7 +10062,7 @@
       path = fetchurl {
         name = "snapsvg___snapsvg_0.5.1.tgz";
         url  = "https://registry.yarnpkg.com/snapsvg/-/snapsvg-0.5.1.tgz";
-        sha1 = "DK9Sx5GJopB0b8RGzF6GP2vd3+M=";
+        sha512 = "CjwWYsL7+CCk1vCk9BBKGYS4WJVDfJAOMWU+Zhzf8wf6pAm/xT34wnpaMPAgcgCNkxuU6OkQPPd8wGuRCY9aNw==";
       };
     }
     {
@@ -9906,19 +10106,19 @@
       };
     }
     {
-      name = "socks_proxy_agent___socks_proxy_agent_6.1.0.tgz";
+      name = "socks_proxy_agent___socks_proxy_agent_7.0.0.tgz";
       path = fetchurl {
-        name = "socks_proxy_agent___socks_proxy_agent_6.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.1.0.tgz";
-        sha512 = "57e7lwCN4Tzt3mXz25VxOErJKXlPfXmkMLnk310v/jwW20jWRVcgsOit+xNkN3eIEdB47GwnfAEBLacZ/wVIKg==";
+        name = "socks_proxy_agent___socks_proxy_agent_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz";
+        sha512 = "Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==";
       };
     }
     {
-      name = "socks___socks_2.6.1.tgz";
+      name = "socks___socks_2.7.0.tgz";
       path = fetchurl {
-        name = "socks___socks_2.6.1.tgz";
-        url  = "https://registry.yarnpkg.com/socks/-/socks-2.6.1.tgz";
-        sha512 = "kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA==";
+        name = "socks___socks_2.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/socks/-/socks-2.7.0.tgz";
+        sha512 = "scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA==";
       };
     }
     {
@@ -9926,7 +10126,7 @@
       path = fetchurl {
         name = "source_list_map___source_list_map_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/source-list-map/-/source-list-map-1.1.2.tgz";
-        sha1 = "mIkBnRAkzOVc3AaUmDN+9hhqEaE=";
+        sha512 = "FqR2O+cX+toUD3ULVIgTtiqYIqPnA62ehJD47mf4LG1PZCB+xmIa3gcTEhegGbP22aRPh88dJSdgDIolrvSxBQ==";
       };
     }
     {
@@ -9966,7 +10166,7 @@
       path = fetchurl {
         name = "source_map___source_map_0.5.7.tgz";
         url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz";
-        sha1 = "igOdLRAh0i0eoUyA2OpGi6LvP8w=";
+        sha512 = "LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==";
       };
     }
     {
@@ -9978,14 +10178,6 @@
       };
     }
     {
-      name = "source_map___source_map_0.7.3.tgz";
-      path = fetchurl {
-        name = "source_map___source_map_0.7.3.tgz";
-        url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz";
-        sha512 = "CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==";
-      };
-    }
-    {
       name = "spdx_correct___spdx_correct_3.1.1.tgz";
       path = fetchurl {
         name = "spdx_correct___spdx_correct_3.1.1.tgz";
@@ -10038,15 +10230,15 @@
       path = fetchurl {
         name = "sprintf_js___sprintf_js_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz";
-        sha1 = "BOaSb2YolTVPPdAVIDYzuFcpfiw=";
+        sha512 = "D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==";
       };
     }
     {
-      name = "ssri___ssri_8.0.1.tgz";
+      name = "ssri___ssri_9.0.1.tgz";
       path = fetchurl {
-        name = "ssri___ssri_8.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz";
-        sha512 = "97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==";
+        name = "ssri___ssri_9.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/ssri/-/ssri-9.0.1.tgz";
+        sha512 = "o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==";
       };
     }
     {
@@ -10062,7 +10254,7 @@
       path = fetchurl {
         name = "statuses___statuses_1.5.0.tgz";
         url  = "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz";
-        sha1 = "Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=";
+        sha512 = "OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==";
       };
     }
     {
@@ -10078,7 +10270,7 @@
       path = fetchurl {
         name = "stream_combiner2___stream_combiner2_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz";
-        sha1 = "+02KFCDqNidk4hrUeAOXvry0HL4=";
+        sha512 = "3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==";
       };
     }
     {
@@ -10106,14 +10298,6 @@
       };
     }
     {
-      name = "string_width___string_width_1.0.2.tgz";
-      path = fetchurl {
-        name = "string_width___string_width_1.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz";
-        sha1 = "EYvfW4zcUaKn5w0hHgfisLmxB9M=";
-      };
-    }
-    {
       name = "string_width___string_width_4.2.3.tgz";
       path = fetchurl {
         name = "string_width___string_width_4.2.3.tgz";
@@ -10122,22 +10306,6 @@
       };
     }
     {
-      name = "string.fromcodepoint___string.fromcodepoint_0.2.1.tgz";
-      path = fetchurl {
-        name = "string.fromcodepoint___string.fromcodepoint_0.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/string.fromcodepoint/-/string.fromcodepoint-0.2.1.tgz";
-        sha1 = "jZeDM8C8klOPUPOD5IiPPlYZ1lM=";
-      };
-    }
-    {
-      name = "string.prototype.codepointat___string.prototype.codepointat_0.2.1.tgz";
-      path = fetchurl {
-        name = "string.prototype.codepointat___string.prototype.codepointat_0.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz";
-        sha512 = "2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==";
-      };
-    }
-    {
       name = "string.prototype.matchall___string.prototype.matchall_4.0.6.tgz";
       path = fetchurl {
         name = "string.prototype.matchall___string.prototype.matchall_4.0.6.tgz";
@@ -10182,7 +10350,7 @@
       path = fetchurl {
         name = "string_decoder___string_decoder_0.10.31.tgz";
         url  = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz";
-        sha1 = "YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=";
+        sha512 = "ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==";
       };
     }
     {
@@ -10198,7 +10366,7 @@
       path = fetchurl {
         name = "strip_ansi___strip_ansi_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz";
-        sha1 = "ajhfuIU9lS1f8F0Oiq+UJ43GPc8=";
+        sha512 = "VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==";
       };
     }
     {
@@ -10294,7 +10462,7 @@
       path = fetchurl {
         name = "subarg___subarg_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/subarg/-/subarg-1.0.0.tgz";
-        sha1 = "9izxdYHplrSPyWVpn1TAauJouNI=";
+        sha512 = "RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==";
       };
     }
     {
@@ -10302,7 +10470,7 @@
       path = fetchurl {
         name = "supports_color___supports_color_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz";
-        sha1 = "U10EXOa2Nj+kARcIRimZXp3zJMc=";
+        sha512 = "KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==";
       };
     }
     {
@@ -10338,27 +10506,27 @@
       };
     }
     {
-      name = "svg_pathdata___svg_pathdata_5.0.5.tgz";
+      name = "svg_pathdata___svg_pathdata_6.0.3.tgz";
       path = fetchurl {
-        name = "svg_pathdata___svg_pathdata_5.0.5.tgz";
-        url  = "https://registry.yarnpkg.com/svg-pathdata/-/svg-pathdata-5.0.5.tgz";
-        sha512 = "TAAvLNSE3fEhyl/Da19JWfMAdhSXTYeviXsLSoDT1UM76ADj5ndwAPX1FKQEgB/gFMPavOy6tOqfalXKUiXrow==";
+        name = "svg_pathdata___svg_pathdata_6.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/svg-pathdata/-/svg-pathdata-6.0.3.tgz";
+        sha512 = "qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==";
       };
     }
     {
-      name = "svg2ttf___svg2ttf_5.2.0.tgz";
+      name = "svg2ttf___svg2ttf_6.0.3.tgz";
       path = fetchurl {
-        name = "svg2ttf___svg2ttf_5.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/svg2ttf/-/svg2ttf-5.2.0.tgz";
-        sha512 = "CzxPnSm2/CrMnJuKlXVllOx+q9wuarbIMi4Vf14eJoeESRqAOxVZiH0Ias71mhyXYGgz88A4T/E8fN/Y8eXoYA==";
+        name = "svg2ttf___svg2ttf_6.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/svg2ttf/-/svg2ttf-6.0.3.tgz";
+        sha512 = "CgqMyZrbOPpc+WqH7aga4JWkDPso23EgypLsbQ6gN3uoPWwwiLjXvzgrwGADBExvCRJrWFzAeK1bSoSpE7ixSQ==";
       };
     }
     {
-      name = "svgicons2svgfont___svgicons2svgfont_9.2.0.tgz";
+      name = "svgicons2svgfont___svgicons2svgfont_10.0.6.tgz";
       path = fetchurl {
-        name = "svgicons2svgfont___svgicons2svgfont_9.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/svgicons2svgfont/-/svgicons2svgfont-9.2.0.tgz";
-        sha512 = "mWeiuob7L2ZTcnAEP4JvSQ1pnIsGjV16ykQ0fCiiXqoUAQ/iNsDvBc601ojjfP89eCPtr3IVZ9mDxYpdxYO3xQ==";
+        name = "svgicons2svgfont___svgicons2svgfont_10.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/svgicons2svgfont/-/svgicons2svgfont-10.0.6.tgz";
+        sha512 = "fUgQEVg3XwTbOHvlXahHGqCet5Wvfo1bV4DCvbSRvjsOCPCRunYbG4dUJCPegps37BMph3eOrfoobhH5AWuC6A==";
       };
     }
     {
@@ -10378,11 +10546,11 @@
       };
     }
     {
-      name = "svgpath___svgpath_2.3.1.tgz";
+      name = "svgpath___svgpath_2.5.0.tgz";
       path = fetchurl {
-        name = "svgpath___svgpath_2.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/svgpath/-/svgpath-2.3.1.tgz";
-        sha512 = "wNz6lCoj+99GMoyU7SozTfPqiLHz6WcJYZ30Z+F4lF/gPtxWHBCpZ4DhoDI0+oZ0dObKyYsJdSPGbL2mJq/qCg==";
+        name = "svgpath___svgpath_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/svgpath/-/svgpath-2.5.0.tgz";
+        sha512 = "o/vohwqjUO9nDAh4rcjE3KaW/v//At8UJu2LJMybXidf5QLQLVA4bxH0//4YCsr+1H4Gw1Wi/Jc62ynzSBYidw==";
       };
     }
     {
@@ -10402,14 +10570,6 @@
       };
     }
     {
-      name = "tablesorter___tablesorter_2.31.3.tgz";
-      path = fetchurl {
-        name = "tablesorter___tablesorter_2.31.3.tgz";
-        url  = "https://registry.yarnpkg.com/tablesorter/-/tablesorter-2.31.3.tgz";
-        sha512 = "ueEzeKiMajDcCWnUoT1dOeNEaS1OmPh9+8J0O2Sjp3TTijMygH74EA9QNJiNkLJqULyNU0RhbKY26UMUq9iurA==";
-      };
-    }
-    {
       name = "tapable___tapable_2.2.1.tgz";
       path = fetchurl {
         name = "tapable___tapable_2.2.1.tgz";
@@ -10450,11 +10610,11 @@
       };
     }
     {
-      name = "terser___terser_5.9.0.tgz";
+      name = "terser___terser_5.14.2.tgz";
       path = fetchurl {
-        name = "terser___terser_5.9.0.tgz";
-        url  = "https://registry.yarnpkg.com/terser/-/terser-5.9.0.tgz";
-        sha512 = "h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ==";
+        name = "terser___terser_5.14.2.tgz";
+        url  = "https://registry.yarnpkg.com/terser/-/terser-5.14.2.tgz";
+        sha512 = "oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==";
       };
     }
     {
@@ -10470,7 +10630,7 @@
       path = fetchurl {
         name = "text_table___text_table_0.2.0.tgz";
         url  = "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz";
-        sha1 = "f17oI66AUgfACvLfSoTsP8+lcLQ=";
+        sha512 = "N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==";
       };
     }
     {
@@ -10486,7 +10646,7 @@
       path = fetchurl {
         name = "through___through_2.3.8.tgz";
         url  = "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz";
-        sha1 = "DdTJ/6q8NXlgsbckEV1+Doai4fU=";
+        sha512 = "w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==";
       };
     }
     {
@@ -10494,7 +10654,7 @@
       path = fetchurl {
         name = "timers_browserify___timers_browserify_1.4.2.tgz";
         url  = "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz";
-        sha1 = "ycWLV1voQHN1y14kYtrO50NZ9B0=";
+        sha512 = "PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==";
       };
     }
     {
@@ -10502,7 +10662,7 @@
       path = fetchurl {
         name = "timsort___timsort_0.3.0.tgz";
         url  = "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz";
-        sha1 = "QFQRqOfmM5/mTbmiNN4R3DHgK9Q=";
+        sha512 = "qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==";
       };
     }
     {
@@ -10542,7 +10702,7 @@
       path = fetchurl {
         name = "to_fast_properties___to_fast_properties_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz";
-        sha1 = "uDVx+k2MJbguIxsG46MFXeTKGkc=";
+        sha512 = "lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==";
       };
     }
     {
@@ -10550,7 +10710,7 @@
       path = fetchurl {
         name = "to_fast_properties___to_fast_properties_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz";
-        sha1 = "3F5pjL0HkmW8c+A3doGk5Og/YW4=";
+        sha512 = "/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==";
       };
     }
     {
@@ -10590,7 +10750,7 @@
       path = fetchurl {
         name = "trim_right___trim_right_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz";
-        sha1 = "yy4SAwZ+DI3h9hQJS5/kVwTqYAM=";
+        sha512 = "WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==";
       };
     }
     {
@@ -10610,27 +10770,35 @@
       };
     }
     {
-      name = "ttf2eot___ttf2eot_2.0.0.tgz";
+      name = "tslib___tslib_2.4.0.tgz";
       path = fetchurl {
-        name = "ttf2eot___ttf2eot_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/ttf2eot/-/ttf2eot-2.0.0.tgz";
-        sha1 = "jmM3pYWr0WCKDISVirSDzmn2ZUs=";
+        name = "tslib___tslib_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz";
+        sha512 = "d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==";
       };
     }
     {
-      name = "ttf2woff2___ttf2woff2_4.0.4.tgz";
+      name = "ttf2eot___ttf2eot_3.1.0.tgz";
       path = fetchurl {
-        name = "ttf2woff2___ttf2woff2_4.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/ttf2woff2/-/ttf2woff2-4.0.4.tgz";
-        sha512 = "pdt/q89D6VmWToUkiwrUo/OrQtmHGr2iBl3GQriHE6xq0cnteb8gJF8UitOdXmFTX8ajKgb3HMGKpKAsCJM61g==";
+        name = "ttf2eot___ttf2eot_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/ttf2eot/-/ttf2eot-3.1.0.tgz";
+        sha512 = "aHTbcYosNHVqb2Qtt9Xfta77ae/5y0VfdwNLUS6sGBeGr22cX2JDMo/i5h3uuOf+FAD3akYOr17+fYd5NK8aXw==";
       };
     }
     {
-      name = "ttf2woff___ttf2woff_2.0.2.tgz";
+      name = "ttf2woff2___ttf2woff2_4.0.5.tgz";
       path = fetchurl {
-        name = "ttf2woff___ttf2woff_2.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/ttf2woff/-/ttf2woff-2.0.2.tgz";
-        sha512 = "X68badwBjAy/+itU49scLjXUL094up+rHuYk+YAOTTBYSUMOmLZ7VyhZJuqQESj1gnyLAC2/5V8Euv+mExmyPA==";
+        name = "ttf2woff2___ttf2woff2_4.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/ttf2woff2/-/ttf2woff2-4.0.5.tgz";
+        sha512 = "zpoU0NopfjoyVqkFeQ722SyKk/n607mm5OHxuDS/wCCSy82B8H3hHXrezftA2KMbKqfJIjie2lsJHdvPnBGbsw==";
+      };
+    }
+    {
+      name = "ttf2woff___ttf2woff_3.0.0.tgz";
+      path = fetchurl {
+        name = "ttf2woff___ttf2woff_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ttf2woff/-/ttf2woff-3.0.0.tgz";
+        sha512 = "OvmFcj70PhmAsVQKfC15XoKH55cRWuaRzvr2fpTNhTNer6JBpG8n6vOhRrIgxMjcikyYt88xqYXMMVapJ4Rjvg==";
       };
     }
     {
@@ -10678,7 +10846,7 @@
       path = fetchurl {
         name = "typedarray___typedarray_0.0.6.tgz";
         url  = "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz";
-        sha1 = "hnrHTjhkGHsdPUfZlqeOxciDB3c=";
+        sha512 = "/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==";
       };
     }
     {
@@ -10698,11 +10866,11 @@
       };
     }
     {
-      name = "uglify_js___uglify_js_3.14.3.tgz";
+      name = "uglify_js___uglify_js_3.16.2.tgz";
       path = fetchurl {
-        name = "uglify_js___uglify_js_3.14.3.tgz";
-        url  = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.14.3.tgz";
-        sha512 = "mic3aOdiq01DuSVx0TseaEzMIVqebMZ0Z3vaeDhFEh9bsc24hV1TFvN74reA2vs08D0ZWfNjAcJ3UbVLaBss+g==";
+        name = "uglify_js___uglify_js_3.16.2.tgz";
+        url  = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.16.2.tgz";
+        sha512 = "AaQNokTNgExWrkEYA24BTNMSjyqEXPSfhqoS0AxmHkCJ4U+Dyy5AvbGV/sqxuxficEfGGoX3zWw9R7QpLFfEsg==";
       };
     }
     {
@@ -10726,7 +10894,7 @@
       path = fetchurl {
         name = "unc_path_regex___unc_path_regex_0.1.2.tgz";
         url  = "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz";
-        sha1 = "5z3T17DXxe2G+6xrCufYxqadUPo=";
+        sha512 = "eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==";
       };
     }
     {
@@ -10814,7 +10982,7 @@
       path = fetchurl {
         name = "uniqs___uniqs_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz";
-        sha1 = "/+3ks2slKQaW5uFl1KWe25mOawI=";
+        sha512 = "mZdDpf3vBV5Efh29kMw5tXoup/buMgxLzOt/XKFKcVmi+15ManNQWr6HfZ2aiZTYlYixbdNJ0KFmIZIv52tHSQ==";
       };
     }
     {
@@ -10846,7 +11014,7 @@
       path = fetchurl {
         name = "unpipe___unpipe_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz";
-        sha1 = "sr9O6FFKrmFltIF4KdIbLvSZBOw=";
+        sha512 = "pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==";
       };
     }
     {
@@ -10878,7 +11046,7 @@
       path = fetchurl {
         name = "url___url_0.11.0.tgz";
         url  = "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz";
-        sha1 = "ODjpfPxgUh63PFJajlW/3Z4uKPE=";
+        sha512 = "kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==";
       };
     }
     {
@@ -10886,7 +11054,7 @@
       path = fetchurl {
         name = "util_deprecate___util_deprecate_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz";
-        sha1 = "RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=";
+        sha512 = "EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==";
       };
     }
     {
@@ -10894,7 +11062,7 @@
       path = fetchurl {
         name = "util___util_0.10.3.tgz";
         url  = "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz";
-        sha1 = "evsa/lCAUkZInj23/g7TeTNqwPk=";
+        sha512 = "5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==";
       };
     }
     {
@@ -10910,7 +11078,7 @@
       path = fetchurl {
         name = "utils_merge___utils_merge_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz";
-        sha1 = "n5VxD1CiZ5R7LMwSR0HBAoQn5xM=";
+        sha512 = "pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==";
       };
     }
     {
@@ -10934,7 +11102,7 @@
       path = fetchurl {
         name = "valid_filename___valid_filename_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/valid-filename/-/valid-filename-2.0.1.tgz";
-        sha1 = "B2jW82Sx7TvfaPDRWr/7DZ1s7K8=";
+        sha512 = "7eF/iUZ5SPd3FighoKgatSjXDJ25Vopo/6yvEKGyX4FIeZVHcLjHmyvbQ1WdFD9RQZ9PoBA7nrSxxAz/oC64SQ==";
       };
     }
     {
@@ -10958,7 +11126,7 @@
       path = fetchurl {
         name = "varstream___varstream_0.3.2.tgz";
         url  = "https://registry.yarnpkg.com/varstream/-/varstream-0.3.2.tgz";
-        sha1 = "GKxklHZfP/GjWtmkvgU77BiKXeE=";
+        sha512 = "OpR3Usr9dGZZbDttlTxdviGdxiURI0prX68+DuaN/JfIDbK9ZOmREKM6PgmelsejMnhgjXmEEEgf+E4NbsSqMg==";
       };
     }
     {
@@ -10966,7 +11134,7 @@
       path = fetchurl {
         name = "vary___vary_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz";
-        sha1 = "IpnwLG3tMNSllhsLn3RSShj2NPw=";
+        sha512 = "BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==";
       };
     }
     {
@@ -10990,7 +11158,7 @@
       path = fetchurl {
         name = "void_elements___void_elements_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz";
-        sha1 = "wGavtYK7HLQSjWDqkjkulNXp2+w=";
+        sha512 = "qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==";
       };
     }
     {
@@ -11018,11 +11186,11 @@
         '';
   }
     {
-      name = "webfonts_loader___webfonts_loader_7.3.0.tgz";
+      name = "webfonts_loader___webfonts_loader_7.5.2.tgz";
       path = fetchurl {
-        name = "webfonts_loader___webfonts_loader_7.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/webfonts-loader/-/webfonts-loader-7.3.0.tgz";
-        sha512 = "vnqy8inrc5mvVXmyehCAZLy+yW1ir9MerPmklt3+2BL5f1QiD1HXtC/owyoQbjlWE6XAN+ev3JCJzaMoC+nuJg==";
+        name = "webfonts_loader___webfonts_loader_7.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/webfonts-loader/-/webfonts-loader-7.5.2.tgz";
+        sha512 = "XUCqaPZwWrQyTk7zWuHnxVy+ZDdKexAqPJm02dpQwN/zIaHdsGFohLVb09onRRsHRai49b7SZLDVaTxJY8wLsA==";
       };
     }
     {
@@ -11062,7 +11230,7 @@
       path = fetchurl {
         name = "webpack_sources___webpack_sources_0.2.3.tgz";
         url  = "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.2.3.tgz";
-        sha1 = "F8Yr+vE8cH+dAsR54Nzd6DgGl/s=";
+        sha512 = "iqanNZjOHLdPn/R0e/nKVn90dm4IsUMxKam0MZD1btWhFub/Cdo1nWdMio6yEqBc0F8mEieOjc+jfBSXwna94Q==";
       };
     }
     {
@@ -11158,7 +11326,7 @@
       path = fetchurl {
         name = "wordwrap___wordwrap_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz";
-        sha1 = "J1hIEIkUVqQXHI0CJkQa3pDLyus=";
+        sha512 = "gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==";
       };
     }
     {
@@ -11174,7 +11342,7 @@
       path = fetchurl {
         name = "wrappy___wrappy_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz";
-        sha1 = "tSQ9jz7BqjXxNkYFvA0QNuMKtp8=";
+        sha512 = "l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==";
       };
     }
     {
@@ -11194,14 +11362,6 @@
       };
     }
     {
-      name = "xmldom___xmldom_0.5.0.tgz";
-      path = fetchurl {
-        name = "xmldom___xmldom_0.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/xmldom/-/xmldom-0.5.0.tgz";
-        sha512 = "Foaj5FXVzgn7xFzsKeNIde9g6aFBxTPi37iwsno8QvApmtg7KYrr+OPyRHcJF7dud2a5nGRBXK3n0dL62Gf7PA==";
-      };
-    }
-    {
       name = "xmlhttprequest_ssl___xmlhttprequest_ssl_2.0.0.tgz";
       path = fetchurl {
         name = "xmlhttprequest_ssl___xmlhttprequest_ssl_2.0.0.tgz";
@@ -11290,11 +11450,11 @@
       };
     }
     {
-      name = "yarn_audit_html___yarn_audit_html_3.0.1.tgz";
+      name = "yarn_audit_html___yarn_audit_html_4.0.0.tgz";
       path = fetchurl {
-        name = "yarn_audit_html___yarn_audit_html_3.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/yarn-audit-html/-/yarn-audit-html-3.0.1.tgz";
-        sha512 = "tdtbJyKD7lhGS3f1df/boxhNrnEfmjVCyjHGc/9WebZ3gHvF/dxyLDPOzio1vpJRczaYqW3WVF6M1Srgt1O2yQ==";
+        name = "yarn_audit_html___yarn_audit_html_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/yarn-audit-html/-/yarn-audit-html-4.0.0.tgz";
+        sha512 = "PZW+M6b6BW4hBU6AuUnxFSOVOq6Gnrh+krBdzcX3OjWNqiDh8ovhiB6pTYEeR13jL8J9VXk/1POn2XljicWZNA==";
       };
     }
     {
@@ -11302,7 +11462,7 @@
       path = fetchurl {
         name = "yeast___yeast_0.1.2.tgz";
         url  = "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz";
-        sha1 = "AI4G2AlDIMNy28L47XagymyKxBk=";
+        sha512 = "8HFIh676uyGYP6wP13R/j6OJ/1HwJ46snpvzE7aHAN3Ryqh2yX6Xox2B4CUmTwwOIzlG3Bs7ocsP5dZH/R1Qbg==";
       };
     }
     {
diff --git a/pkgs/tools/admin/realvnc-vnc-viewer/default.nix b/pkgs/tools/admin/realvnc-vnc-viewer/default.nix
index b1d22d5ee3c..f7a8f7ca92f 100644
--- a/pkgs/tools/admin/realvnc-vnc-viewer/default.nix
+++ b/pkgs/tools/admin/realvnc-vnc-viewer/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   pname = "realvnc-vnc-viewer";
-  version = "6.22.207";
+  version = "6.22.515";
 
   src = {
     "x86_64-linux" = fetchurl {
       url = "https://www.realvnc.com/download/file/viewer.files/VNC-Viewer-${version}-Linux-x64.rpm";
-      sha256 = "0jybfqj1svkb297ahyp07xf4b8qyb5h1l2kp50a50ivb6flqd3jr";
+      sha256 = "1l9kfmb1695pv2v9hm8z5yr7y5yhadbbs61s4yf9ksvvfypzwrpn";
     };
     "i686-linux" = fetchurl {
       url = "https://www.realvnc.com/download/file/viewer.files/VNC-Viewer-${version}-Linux-x86.rpm";
-      sha256 = "06jmkd474nql6p3hnqwnwj5ac29m2021flnvf44mfhrhaa5wnpz6";
+      sha256 = "15fi1siwbsxmy7qi6f8r8ym346a8mx3kqcp9mvwvx39wm3ija6dh";
     };
   }.${stdenv.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
@@ -40,6 +40,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "VNC remote desktop client software by RealVNC";
     homepage = "https://www.realvnc.com/en/connect/download/viewer/";
+    mainProgram = "vncviewer";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = {
       fullName = "VNC Connect End User License Agreement";
diff --git a/pkgs/tools/admin/sec/default.nix b/pkgs/tools/admin/sec/default.nix
index 11a18dc199d..b8950707de7 100644
--- a/pkgs/tools/admin/sec/default.nix
+++ b/pkgs/tools/admin/sec/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sec";
-  version = "2.9.0";
+  version = "2.9.1";
 
   src = fetchFromGitHub {
     owner = "simple-evcorr";
     repo = "sec";
     rev = version;
-    sha256 = "sha256-WYSlIRhDBIDaza92VqCQcdMNicuRUX2IKY5CJyhswdI=";
+    sha256 = "sha256-DKbh6q0opf749tbGsDMVuI5G2UV7faCHUfddH3SGOpo=";
   };
 
   buildInputs = [ perl ];
diff --git a/pkgs/tools/admin/stripe-cli/default.nix b/pkgs/tools/admin/stripe-cli/default.nix
index 8ed36c02902..141496eaa65 100644
--- a/pkgs/tools/admin/stripe-cli/default.nix
+++ b/pkgs/tools/admin/stripe-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "stripe-cli";
-  version = "1.9.0";
+  version = "1.10.3";
 
   src = fetchFromGitHub {
     owner = "stripe";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-OKCrz+A+y9XmYKsN5wsrcpDeBLMlalVULib/1FCKqhM=";
+    sha256 = "sha256-jos6SZ2ZkUeWOM0ALlsc5a+5kcullNF/2AknTQpRnIc=";
   };
   vendorSha256 = "sha256-1c+YtfRy1ey0z117YHHkrCnpb7g+DmM+LR1rjn1YwMQ=";
 
diff --git a/pkgs/tools/admin/uacme/default.nix b/pkgs/tools/admin/uacme/default.nix
index b47560c44be..45f897afbe8 100644
--- a/pkgs/tools/admin/uacme/default.nix
+++ b/pkgs/tools/admin/uacme/default.nix
@@ -10,13 +10,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "uacme";
-  version = "1.7.1";
+  version = "1.7.2";
 
   src = fetchFromGitHub {
     owner = "ndilieto";
     repo = "uacme";
     rev = "v${version}";
-    hash = "sha256-QCI34B/C4vZ3hNnp06NIScY03RTZ0EZBl2HPnQjjtnc=";
+    hash = "sha256-mbH5Z/ieV4fiLCLWag1aLPNA89sexd5upNF3KHTfhKM=";
   };
 
   configureFlags = [ "--with-openssl" ];
diff --git a/pkgs/tools/audio/abcmidi/default.nix b/pkgs/tools/audio/abcmidi/default.nix
index 17b83a09131..b5b484159c3 100644
--- a/pkgs/tools/audio/abcmidi/default.nix
+++ b/pkgs/tools/audio/abcmidi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "abcMIDI";
-  version = "2022.06.14";
+  version = "2022.08.01";
 
   src = fetchzip {
     url = "https://ifdo.ca/~seymour/runabc/${pname}-${version}.zip";
-    hash = "sha256-dmd0iPRKm5/GNz3VJ9pJgYiCSTENB0ZAOt3rLjujlYs=";
+    hash = "sha256-qFk/Rij7P17ZlJFjsrW8snp2anCGjqxfytzopIyHLL0=";
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/audio/beets/common.nix b/pkgs/tools/audio/beets/common.nix
index 9a81c7518e5..968544f2790 100644
--- a/pkgs/tools/audio/beets/common.nix
+++ b/pkgs/tools/audio/beets/common.nix
@@ -23,6 +23,10 @@
 , version
 , pluginOverrides ? { }
 , disableAllPlugins ? false
+
+  # tests
+, runCommand
+, beets
 }@inputs:
 let
   inherit (lib) attrNames attrValues concatMap;
@@ -63,6 +67,11 @@ python3Packages.buildPythonApplication rec {
     unidecode
   ] ++ (concatMap (p: p.propagatedBuildInputs) (attrValues enabledPlugins));
 
+  # see: https://github.com/NixOS/nixpkgs/issues/56943#issuecomment-1131643663
+  nativeBuildInputs = [
+    gobject-introspection
+  ];
+
   buildInputs = [
   ] ++ (with gst_all_1; [
     gst-plugins-base
@@ -137,8 +146,26 @@ python3Packages.buildPythonApplication rec {
     runHook postCheck
   '';
 
+
   passthru.plugins = allPlugins;
 
+  passthru.tests.gstreamer = runCommand "beets-gstreamer-test" {
+    meta.timeout = 60;
+  }
+  ''
+  set -euo pipefail
+  export HOME=$(mktemp -d)
+  mkdir $out
+
+  cat << EOF > $out/config.yaml
+replaygain:
+  backend: gstreamer
+EOF
+
+  echo $out/config.yaml
+  ${beets}/bin/beet -c $out/config.yaml > /dev/null
+  '';
+
   meta = with lib; {
     description = "Music tagger and library organizer";
     homepage = "https://beets.io";
diff --git a/pkgs/tools/audio/darkice/default.nix b/pkgs/tools/audio/darkice/default.nix
index bc3bcbe4eff..73c71ee6f1a 100644
--- a/pkgs/tools/audio/darkice/default.nix
+++ b/pkgs/tools/audio/darkice/default.nix
@@ -32,6 +32,6 @@ stdenv.mkDerivation rec {
     homepage = "http://darkice.org/";
     description = "Live audio streamer";
     license = lib.licenses.gpl3;
-    maintainers = with lib.maintainers; [ ikervagyok fpletz ];
+    maintainers = with lib.maintainers; [ ikervagyok ];
   };
 }
diff --git a/pkgs/tools/audio/nanotts/default.nix b/pkgs/tools/audio/nanotts/default.nix
index d05fdf6c52c..85f786d2081 100644
--- a/pkgs/tools/audio/nanotts/default.nix
+++ b/pkgs/tools/audio/nanotts/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, popt, alsaLib }:
+{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, popt, alsa-lib }:
 
 stdenv.mkDerivation {
   pname = "nano-tts";
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
 
   strictDeps = true;
   nativeBuildInputs = [ autoconf automake libtool ];
-  buildInputs = [ popt alsaLib ];
+  buildInputs = [ popt alsa-lib ];
 
   patchPhase = ''
     substituteInPlace "src/main.cpp" --replace "/usr/share/pico/lang" "$out/share/lang"
diff --git a/pkgs/tools/backup/grab-site/default.nix b/pkgs/tools/backup/grab-site/default.nix
index 3b7e0a9a600..c904a49cd40 100644
--- a/pkgs/tools/backup/grab-site/default.nix
+++ b/pkgs/tools/backup/grab-site/default.nix
@@ -18,13 +18,13 @@ let
 in
 with python.pkgs; buildPythonApplication rec {
   pname = "grab-site";
-  version = "2.2.2";
+  version = "2.2.7";
 
   src = fetchFromGitHub {
     rev = version;
     owner = "ArchiveTeam";
     repo = "grab-site";
-    sha256 = "0af53g703kqpxa6bn72mb2l5l0qrjknq5wqwl4wryyscdp4xabx4";
+    sha256 = "sha256-tf8GyFjya3+TVc2VjlY6ztfjCJgof6tg4an18pz+Ig8=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/bluetooth/blueberry/default.nix b/pkgs/tools/bluetooth/blueberry/default.nix
index 3954d3f5cd9..9208e286c9b 100644
--- a/pkgs/tools/bluetooth/blueberry/default.nix
+++ b/pkgs/tools/bluetooth/blueberry/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     bluez-tools
-    cinnamon.xapps
+    cinnamon.xapp
     gnome.gnome-bluetooth_1_0
     python3Packages.python
     util-linux
diff --git a/pkgs/tools/bluetooth/blueman/default.nix b/pkgs/tools/bluetooth/blueman/default.nix
index 43c7ee6a251..45f5e5ce0b6 100644
--- a/pkgs/tools/bluetooth/blueman/default.nix
+++ b/pkgs/tools/bluetooth/blueman/default.nix
@@ -9,11 +9,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "blueman";
-  version = "2.3.1";
+  version = "2.3.2";
 
   src = fetchurl {
     url = "https://github.com/blueman-project/blueman/releases/download/${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-9swQ+lLgcEG+f8cMnB+5SFeT5BBrwUCcjVXJsfwXq4I=";
+    sha256 = "sha256-hM99f9Fzh1HHfgYF9y5M3UtyMHindo/j81MJmToDUK4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/bluetooth/bluetuith/default.nix b/pkgs/tools/bluetooth/bluetuith/default.nix
index 8495cfad8dd..56318b7f4a5 100644
--- a/pkgs/tools/bluetooth/bluetuith/default.nix
+++ b/pkgs/tools/bluetooth/bluetuith/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "bluetuith";
-  version = "0.0.5";
+  version = "0.0.7";
 
   src = fetchFromGitHub {
     owner = "darkhz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-NXQa3aOjTIcQQZNwkS5ypBp7jzUhXztJ6LgtucIEDYI=";
+    sha256 = "sha256-3rN82Ywr7iJk3f+RvyqPRirDUQuRksAFf5TzCXk8fgo=";
   };
 
-  vendorSha256 = "sha256-sCpJow5tiliiNSnKjgzxmgyHxPk8j1RdjobFwKhpU4w=";
+  vendorSha256 = "sha256-/CEQfpE5ENpfWQ0OvMaG9rZ/4BtFm21JkqDZtHwzqNU=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/pkgs/tools/compression/heatshrink/default.nix b/pkgs/tools/compression/heatshrink/default.nix
new file mode 100644
index 00000000000..290e2dc9d8c
--- /dev/null
+++ b/pkgs/tools/compression/heatshrink/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+}:
+
+stdenv.mkDerivation rec {
+  pname = "heatshrink";
+  version = "0.4.1";
+
+  src = fetchFromGitHub {
+    owner = "atomicobject";
+    repo = "heatshrink";
+    rev = "v${version}";
+    hash = "sha256-Nm9/+JFMDXY1N90hmNFGh755V2sXSRQ4VBN9f8TcsGk=";
+  };
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  preInstall = ''
+    mkdir -p $out/{bin,lib,include}
+  '';
+
+  doCheck = true;
+  checkTarget = "test";
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+    echo "Hello world" | \
+      $out/bin/heatshrink -e - | \
+      $out/bin/heatshrink -d - | \
+      grep "Hello world"
+    runHook postInstallCheck
+  '';
+
+  meta = with lib; {
+    description = "A data compression/decompression library for embedded/real-time systems";
+    homepage = "https://github.com/atomicobject/heatshrink";
+    license = licenses.isc;
+    maintainers = with maintainers; [ fgaz ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/filesystems/aefs/default.nix b/pkgs/tools/filesystems/aefs/default.nix
index c523255ddb0..5364b62c29c 100644
--- a/pkgs/tools/filesystems/aefs/default.nix
+++ b/pkgs/tools/filesystems/aefs/default.nix
@@ -1,21 +1,22 @@
-{ lib, stdenv, fetchurl, fetchpatch, fuse }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, fuse
+, git
+}:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   pname = "aefs";
-  version = "0.4pre259-8843b7c";
+  version = "unstable-2015-05-06";
 
-  src = fetchurl {
-    url = "http://tarballs.nixos.org/aefs-${version}.tar.bz2";
-    sha256 = "167hp58hmgdavg2mqn5dx1xgq24v08n8d6psf33jhbdabzx6a6zq";
+  src = fetchFromGitHub {
+    owner = "edolstra";
+    repo = "aefs";
+    rev = "e7a9bf8cfa9166668fe1514cc1afd31fc4e10e9a";
+    hash = "sha256-a3YQWxJ7+bYhf1W1kdIykV8U1R4dcDZJ7K3NvNxbF0s=";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/edolstra/aefs/commit/15d8df8b8d5dc1ee20d27a86c4d23163a67f3123.patch";
-      sha256 = "0k36hsyvf8a0ji2hpghgqff2fncj0pllxn8p0rs0aj4h7j2vp4iv";
-    })
-  ];
-
   # autoconf's AC_CHECK_HEADERS and AC_CHECK_LIBS fail to detect libfuse on
   # Darwin if FUSE_USE_VERSION isn't set at configure time.
   #
@@ -26,13 +27,16 @@ stdenv.mkDerivation rec {
   #     $ grep -R FUSE_USE_VERSION
   configureFlags = lib.optional stdenv.isDarwin "CPPFLAGS=-DFUSE_USE_VERSION=26";
 
+  nativeBuildInputs = [ autoreconfHook git ];
+
   buildInputs = [ fuse ];
 
   meta = with lib; {
     homepage = "https://github.com/edolstra/aefs";
     description = "A cryptographic filesystem implemented in userspace using FUSE";
-    platforms = platforms.unix;
     maintainers = [ maintainers.eelco ];
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
+    platforms = platforms.unix;
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/tools/filesystems/apfsprogs/default.nix b/pkgs/tools/filesystems/apfsprogs/default.nix
index a9f9a746d98..bbda1721cce 100644
--- a/pkgs/tools/filesystems/apfsprogs/default.nix
+++ b/pkgs/tools/filesystems/apfsprogs/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation {
   pname = "apfsprogs";
-  version = "unstable-2022-02-23";
+  version = "unstable-2022-07-21";
 
   src = fetchFromGitHub {
     owner = "linux-apfs";
     repo = "apfsprogs";
-    rev = "5bce5c7f42843dfbbed90767640e748062e23dd2";
-    sha256 = "sha256-0N+aC5paP6ZoXUD7A9lLnF2onbOJU+dqZ8oKs+dCUcg=";
+    rev = "8c5340bcc0a261ffe6e5ed85a1742fb60ee982f3";
+    sha256 = "sha256-cDxXWfXl1VxdpKBcU00ULWlidzg6kQFG4AGEu5DBCaw=";
   };
 
   buildPhase = ''
diff --git a/pkgs/tools/filesystems/dwarfs/default.nix b/pkgs/tools/filesystems/dwarfs/default.nix
new file mode 100644
index 00000000000..22b29b5ed27
--- /dev/null
+++ b/pkgs/tools/filesystems/dwarfs/default.nix
@@ -0,0 +1,103 @@
+{ lib
+, fetchFromGitHub
+, stdenv
+, substituteAll
+
+, bison
+, boost
+, cmake
+, double-conversion
+, fmt_8
+, fuse3
+, gflags
+, glog
+, gtest
+, jemalloc
+, libarchive
+, libevent
+, libunwind
+, lz4
+, openssl
+, pkg-config
+, ronn
+, xxHash
+, zstd
+}:
+
+stdenv.mkDerivation rec {
+  pname = "dwarfs";
+  version = "0.6.1";
+
+  src = fetchFromGitHub {
+    owner = "mhx";
+    repo = "dwarfs";
+    rev = "v${version}";
+    fetchSubmodules = true;
+    sha256 = "sha256-bGJkgcq8JxueRTX08QpJv1A0O5wXbiIgUY7BrY0Ln/M=";
+  };
+
+  patches = with lib.versions; [
+    (substituteAll {
+      src = ./version_info.patch;
+
+      gitRev = "v${version}";
+      gitDesc = "v${version}";
+      gitBranch = "v${version}";
+      gitId = "v${version}"; # displayed as version number
+
+      versionMajor = major version;
+      versionMinor = minor version;
+      versionPatch = patch version;
+    })
+  ];
+
+  cmakeFlags = [
+    "-DPREFER_SYSTEM_ZSTD=ON"
+    "-DPREFER_SYSTEM_XXHASH=ON"
+    "-DPREFER_SYSTEM_GTEST=ON"
+
+    # may be added under an option in the future
+    # "-DWITH_LEGACY_FUSE=ON"
+    "-DWITH_TESTS=ON"
+  ];
+
+  nativeBuildInputs = [
+    bison
+    cmake
+    pkg-config
+    ronn
+  ];
+
+  buildInputs = [
+    # dwarfs
+    boost
+    fmt_8
+    fuse3
+    jemalloc
+    libarchive
+    lz4
+    xxHash
+    zstd
+
+    # folly
+    double-conversion
+    glog
+    libevent
+    libunwind
+    openssl
+  ];
+
+  doCheck = true;
+  checkInputs = [ gtest ];
+  # this fails inside of the sandbox due to missing access
+  # to the FUSE device
+  GTEST_FILTER = "-tools.everything";
+
+  meta = with lib; {
+    description = "A fast high compression read-only file system";
+    homepage = "https://github.com/mhx/dwarfs";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ keksbg ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/filesystems/dwarfs/version_info.patch b/pkgs/tools/filesystems/dwarfs/version_info.patch
new file mode 100644
index 00000000000..59936302ace
--- /dev/null
+++ b/pkgs/tools/filesystems/dwarfs/version_info.patch
@@ -0,0 +1,40 @@
+diff --git a/include/dwarfs/version.h b/include/dwarfs/version.h
+new file mode 100755
+index 0000000..9b12c59
+--- /dev/null
++++ b/include/dwarfs/version.h
+@@ -0,0 +1,16 @@
++// autogenerated code, do not modify
++
++#pragma once
++
++#define PRJ_VERSION_MAJOR @versionMajor@
++#define PRJ_VERSION_MINOR @versionMinor@
++#define PRJ_VERSION_PATCH @versionPatch@
++
++namespace dwarfs {
++
++extern char const* PRJ_GIT_REV;
++extern char const* PRJ_GIT_DESC;
++extern char const* PRJ_GIT_BRANCH;
++extern char const* PRJ_GIT_ID;
++
++} // namespace dwarfs
+diff --git a/src/dwarfs/version.cpp b/src/dwarfs/version.cpp
+new file mode 100755
+index 0000000..3af0215
+--- /dev/null
++++ b/src/dwarfs/version.cpp
+@@ -0,0 +1,12 @@
++// autogenerated code, do not modify
++
++#include "dwarfs/version.h"
++
++namespace dwarfs {
++
++char const* PRJ_GIT_REV = "@gitRev@";
++char const* PRJ_GIT_DESC = "@gitDesc@";
++char const* PRJ_GIT_BRANCH = "@gitBranch@";
++char const* PRJ_GIT_ID = "@gitId@";
++
++} // namespace dwarfs
diff --git a/pkgs/tools/filesystems/httm/default.nix b/pkgs/tools/filesystems/httm/default.nix
index 0373f7aa725..efcb1241b61 100644
--- a/pkgs/tools/filesystems/httm/default.nix
+++ b/pkgs/tools/filesystems/httm/default.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "httm";
-  version = "0.14.7";
+  version = "0.14.8";
 
   src = fetchFromGitHub {
     owner = "kimono-koans";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Bn2ZksGUiRNFb9AncPYlhzvjhYRdP89aKJmDP8qnTNg=";
+    sha256 = "sha256-PakfSEQCp4LG7mInJvPKFnpRqI7HVr5BxEOM2TronXQ=";
   };
 
-  cargoSha256 = "sha256-zoK8J8b70sKKDSb2Hhh1v9qY2PlNn26/H18hAWnHETk=";
+  cargoSha256 = "sha256-hCoStHD+RG700IBXMV4I007mzFvaKk/bVpnte3cigYk=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/filesystems/kdiskmark/default.nix b/pkgs/tools/filesystems/kdiskmark/default.nix
new file mode 100644
index 00000000000..b12da3eade3
--- /dev/null
+++ b/pkgs/tools/filesystems/kdiskmark/default.nix
@@ -0,0 +1,54 @@
+{ stdenv
+, lib
+, wrapQtAppsHook
+, qtbase
+, qttools
+, fio
+, cmake
+, kauth
+, extra-cmake-modules
+, fetchFromGitHub
+}:
+stdenv.mkDerivation rec {
+  name = "kdiskmark";
+  version = "2.3.0";
+
+  src = fetchFromGitHub {
+    owner = "jonmagon";
+    repo = "kdiskmark";
+    rev = version;
+    sha256 = "sha256-9ufRxEbqwcRs+m/YW8D3+1USCJNZEaOUZRec7gvgmtA=";
+  };
+
+  nativeBuildInputs = [ cmake wrapQtAppsHook ];
+
+  buildInputs = [
+    qtbase
+    qttools
+    extra-cmake-modules
+    kauth
+  ];
+
+  postInstall = ''
+    # so that kdiskmark can be used as unpriviledged user even on non-kde
+    # (where kauth is not in environment.systemPackages)
+    ln -s ${kauth}/share/dbus-1/system.d/org.kde.kf5auth.conf $out/share/dbus-1/system.d/00-kdiskmark-needs-org.kde.kf5auth.conf
+  '';
+
+  qtWrapperArgs =
+    [ "--prefix" "PATH" ":" (lib.makeBinPath [ fio ]) ];
+
+  meta = with lib; {
+    description = "HDD and SSD benchmark tool with a friendly graphical user interface";
+    longDescription = ''
+      If kdiskmark is not run as root it can rely on polkit to get the necessary
+      privileges. In this case you must install it with `environment.systemPackages`
+      on NixOS, nix-env will not work.
+    '';
+    homepage = "https://github.com/JonMagon/KDiskMark";
+    maintainers = [ maintainers.symphorien ];
+    license = licenses.gpl3Only;
+    platforms = platforms.linux;
+  };
+}
+
diff --git a/pkgs/tools/filesystems/ntfs-3g/default.nix b/pkgs/tools/filesystems/ntfs-3g/default.nix
index fe0ae20f557..018621b8019 100644
--- a/pkgs/tools/filesystems/ntfs-3g/default.nix
+++ b/pkgs/tools/filesystems/ntfs-3g/default.nix
@@ -40,6 +40,7 @@ stdenv.mkDerivation rec {
     "--enable-extras"
     "--with-mount-helper=${mount}/bin/mount"
     "--with-umount-helper=${mount}/bin/umount"
+  ] ++ lib.optionals stdenv.isLinux [
     "--with-modprobe-helper=${kmod}/bin/modprobe"
   ];
 
diff --git a/pkgs/tools/games/scarab/default.nix b/pkgs/tools/games/scarab/default.nix
new file mode 100644
index 00000000000..039e46f7194
--- /dev/null
+++ b/pkgs/tools/games/scarab/default.nix
@@ -0,0 +1,79 @@
+{ lib
+, buildDotnetModule
+, fetchFromGitHub
+, dotnetCorePackages
+, glibc
+, zlib
+, libX11
+, libICE
+, libSM
+, fontconfig
+, gtk3
+, copyDesktopItems
+, graphicsmagick
+, wrapGAppsHook
+, makeDesktopItem
+}:
+
+buildDotnetModule rec {
+  pname = "scarab";
+  version = "1.19.0.0";
+
+  src = fetchFromGitHub {
+    owner = "fifty-six";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "10pmzy7nhcam0686kpn64cgar59shzzy5k7j3vrgmnm27zgkr22v";
+  };
+
+  nugetDeps = ./deps.nix;
+  projectFile = "Scarab.sln";
+  executables = [ "Scarab" ];
+
+  runtimeDeps = [
+    glibc
+    zlib
+    libX11
+    libICE
+    libSM
+    fontconfig
+    gtk3
+  ];
+
+  buildInputs = [
+    gtk3
+  ];
+
+  nativeBuildInputs = [
+    copyDesktopItems
+    graphicsmagick
+    wrapGAppsHook
+  ];
+
+  postFixup = ''
+    # Icon for the desktop file
+    mkdir -p $out/share/icons/hicolor/256x256/apps/
+    gm convert $src/Scarab/Assets/omegamaggotprime.ico $out/share/icons/hicolor/256x256/apps/scarab.png
+  '';
+
+  desktopItems = [(makeDesktopItem {
+    desktopName = "Scarab";
+    name = "scarab";
+    exec = "Scarab";
+    icon = "scarab";
+    comment = meta.description;
+    type = "Application";
+    categories = [ "Game" ];
+  })];
+
+  meta = with lib; {
+    description = "Hollow Knight mod installer and manager";
+    homepage = "https://github.com/fifty-six/Scarab";
+    downloadPage = "https://github.com/fifty-six/Scarab/releases";
+    changelog = "https://github.com/fifty-six/Scarab/releases/tag/v${version}";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ huantian ];
+    mainProgram = "Scarab";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/games/scarab/deps.nix b/pkgs/tools/games/scarab/deps.nix
new file mode 100644
index 00000000000..bfef60b66d3
--- /dev/null
+++ b/pkgs/tools/games/scarab/deps.nix
@@ -0,0 +1,225 @@
+{ fetchNuGet }: [
+  (fetchNuGet { pname = "Avalonia"; version = "0.10.12"; sha256 = "1hb6v8sm7gd8aswdv0slnk8cvvxs5ac82knc3pzvxj0js2n4lnv2"; })
+  (fetchNuGet { pname = "Avalonia.Angle.Windows.Natives"; version = "2.1.0.2020091801"; sha256 = "04jm83cz7vkhhr6n2c9hya2k8i2462xbf6np4bidk55as0jdq43a"; })
+  (fetchNuGet { pname = "Avalonia.Controls.DataGrid"; version = "0.10.12"; sha256 = "1r8qi0kgd9rqbacnriy5sa684d12vxi45a6n2a4w7ydxr97zv5nm"; })
+  (fetchNuGet { pname = "Avalonia.Desktop"; version = "0.10.12"; sha256 = "17ng7vvmynnmll7fb8zkjlhcn0ksg7p4v6kw207yq72acgvyn96g"; })
+  (fetchNuGet { pname = "Avalonia.Diagnostics"; version = "0.10.12"; sha256 = "17skzs05iv5ljgnqm36zrbhrh3x20xf5hgni543i02zffj2015ki"; })
+  (fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "0.10.12"; sha256 = "00920pdiv8wlpym0s80nz8lfmw515ikrr5f2a6sr4kmjwfd9cffj"; })
+  (fetchNuGet { pname = "Avalonia.Native"; version = "0.10.12"; sha256 = "1j6gxg0n55923rbw2p7z6yh27i81xrzpqarb268d3hd6hgjycwc1"; })
+  (fetchNuGet { pname = "Avalonia.ReactiveUI"; version = "0.10.12"; sha256 = "04ga7f8bmz3bqp4dsc4fzrphfq61zf62hlz4nbazf1igx0jzdygy"; })
+  (fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "0.10.12"; sha256 = "0ghrb8yf4qahwlpa2appk7q0m0n01q0s65nx1xj1plpi4jr6vvw2"; })
+  (fetchNuGet { pname = "Avalonia.Skia"; version = "0.10.12"; sha256 = "1qj0sw4780za3p6hbwvx1p3b6px3s5vp3ml3vvyak1bajvifz969"; })
+  (fetchNuGet { pname = "Avalonia.Win32"; version = "0.10.12"; sha256 = "1af174qca95gxf04zhxm716mi1dazfz7k3995i1nyaz7hygs3p04"; })
+  (fetchNuGet { pname = "Avalonia.X11"; version = "0.10.12"; sha256 = "1jjg4lhg0a95laffwm7imgs92q06whrfkaszm7svgfv1ryazv71q"; })
+  (fetchNuGet { pname = "coverlet.collector"; version = "1.3.0"; sha256 = "0k65d9hag6d59w1ixf4n5ihcphp04vrjmd99x5nhga81w1k9i20y"; })
+  (fetchNuGet { pname = "DynamicData"; version = "7.1.1"; sha256 = "14xcqkw87zbjljy1pb727kwq5a4dfmsf5vg99fq0xxb71q828nvh"; })
+  (fetchNuGet { pname = "HarfBuzzSharp"; version = "2.8.2-preview.178"; sha256 = "1p5nwzl7jpypsd6df7hgcf47r977anjlyv21wacmalsj6lvdgnvn"; })
+  (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Linux"; version = "2.8.2-preview.178"; sha256 = "1402ylkxbgcnagcarqlfvg4gppy2pqs3bmin4n5mphva1g7bqb2p"; })
+  (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "2.8.2-preview.178"; sha256 = "0p8miaclnbfpacc1jaqxwfg0yfx9byagi4j4k91d9621vd19i8b2"; })
+  (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; version = "2.8.2-preview.178"; sha256 = "1n9jay9sji04xly6n8bzz4591fgy8i65p21a8mv5ip9lsyj1c320"; })
+  (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "2.8.2-preview.178"; sha256 = "1r5syii96wv8q558cvsqw3lr10cdw6677lyiy82p6i3if51v3mr7"; })
+  (fetchNuGet { pname = "JetBrains.Annotations"; version = "10.3.0"; sha256 = "1grdx28ga9fp4hwwpwv354rizm8anfq4lp045q4ss41gvhggr3z8"; })
+  (fetchNuGet { pname = "MessageBox.Avalonia"; version = "1.8.1-night"; sha256 = "1gcbqj0a10m8cxg6p1jmj19c8y34pbh9h3h08c50z348f3cyvrlx"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.6"; sha256 = "0ndah9cqkgswhi60wrnni10j1d2hdg8jljij83lk1wbfqbng86jm"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "2.9.6"; sha256 = "18mr1f0wpq0fir8vjnq0a8pz50zpnblr7sabff0yqx37c975934a"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "3.4.0"; sha256 = "12rn6gl4viycwk3pz5hp5df63g66zvba4hnkwr3f0876jj5ivmsw"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "3.4.0"; sha256 = "0rhylcwa95bxawcgixk64knv7p7xrykdjcabmx3gknk8hvj1ai9y"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Scripting"; version = "3.4.0"; sha256 = "1h2f0z9xnw987x8bydka1sd42ijqjx973md6v1gvpy1qc6ad244g"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Scripting.Common"; version = "3.4.0"; sha256 = "195gqnpwqkg2wlvk8x6yzm7byrxfq9bki20xmhf6lzfsdw3z4mf2"; })
+  (fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "16.7.1"; sha256 = "1farw63445cdyciplfs6l9j1gayxw16rkzmrwsiswfyjhqz70xd4"; })
+  (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.0.1"; sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; })
+  (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.3.0"; sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "6.0.0-preview.5.21301.5"; sha256 = "1ibsp938w6788jpjzk5813sma3ljda4hwy8xx3nabjwqps187pk3"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "6.0.0-preview.5.21301.5"; sha256 = "146baaxblq1zfs3za7avpsay1v7d8m3ds067hza98y0yawvj5sd2"; })
+  (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "16.7.1"; sha256 = "0yqxipj74ax2n76w9ccydppx78ym8m5fda88qnvj4670qjvl0kf8"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.6"; sha256 = "0fjbjh7yxqc9h47ix37y963xi9f9y99jvl26cw3x3kvjlb8x0bgj"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.1.2"; sha256 = "1507hnpr9my3z4w1r6xk5n0s1j3y6a2c2cnynj76za7cphxi1141"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
+  (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "16.7.1"; sha256 = "0s9dyh99gzdpk1i5v468i2r9m6i3jrr41r394pwdwiajsz99kay0"; })
+  (fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "16.7.1"; sha256 = "1xik06rxn9ps83in0zn9vcl2ibv3acmdqvrx07qq89lxj1sgqlhs"; })
+  (fetchNuGet { pname = "Microsoft.Toolkit.HighPerformance"; version = "7.1.2"; sha256 = "18l950mq0l8s1z771l9p332ni7jryidjh4hi9p37l6p8frcnccxb"; })
+  (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; })
+  (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "4.5.0"; sha256 = "0fnkv3ky12227zqg4zshx4kw2mvysq2ppxjibfw02cc3iprv4njq"; })
+  (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; })
+  (fetchNuGet { pname = "Newtonsoft.Json"; version = "9.0.1"; sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; })
+  (fetchNuGet { pname = "NuGet.Frameworks"; version = "5.0.0"; sha256 = "18ijvmj13cwjdrrm52c8fpq021531zaz4mj4b4zapxaqzzxf2qjr"; })
+  (fetchNuGet { pname = "PropertyChanged.SourceGenerator"; version = "1.0.1"; sha256 = "1dbsqi5jfyvhxbz62s4w70kyh31agbhjj4vwcira3pv8kavq83gb"; })
+  (fetchNuGet { pname = "ReactiveUI"; version = "13.2.10"; sha256 = "0x4pk45wipzsjzkv23as8l0sdds665l9404gaix8c0z2n24s76gg"; })
+  (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; })
+  (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "1wl76vk12zhdh66vmagni66h5xbhgqq7zkdpgw21jhxhvlbcl8pk"; })
+  (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; })
+  (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; })
+  (fetchNuGet { pname = "runtime.any.System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201"; })
+  (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; })
+  (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; })
+  (fetchNuGet { pname = "runtime.any.System.Reflection.Extensions"; version = "4.3.0"; sha256 = "0zyri97dfc5vyaz9ba65hjj1zbcrzaffhsdlpxc9bh09wy22fq33"; })
+  (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; })
+  (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; })
+  (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.3.0"; sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; })
+  (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; })
+  (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; })
+  (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; })
+  (fetchNuGet { pname = "runtime.any.System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; })
+  (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; })
+  (fetchNuGet { pname = "runtime.any.System.Threading.Timer"; version = "4.3.0"; sha256 = "0aw4phrhwqz9m61r79vyfl5la64bjxj8l34qnrcwb28v49fg2086"; })
+  (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; })
+  (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; })
+  (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; })
+  (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; })
+  (fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.3.0"; sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d"; })
+  (fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.3.0"; sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; })
+  (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q"; })
+  (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; })
+  (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; })
+  (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; })
+  (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi"; })
+  (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; })
+  (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; })
+  (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; })
+  (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; })
+  (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; })
+  (fetchNuGet { pname = "runtime.unix.Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id"; })
+  (fetchNuGet { pname = "runtime.unix.System.Console"; version = "4.3.0"; sha256 = "1pfpkvc6x2if8zbdzg9rnc5fx51yllprl8zkm5npni2k50lisy80"; })
+  (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; })
+  (fetchNuGet { pname = "runtime.unix.System.IO.FileSystem"; version = "4.3.0"; sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix"; })
+  (fetchNuGet { pname = "runtime.unix.System.Net.Primitives"; version = "4.3.0"; sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4"; })
+  (fetchNuGet { pname = "runtime.unix.System.Net.Sockets"; version = "4.3.0"; sha256 = "03npdxzy8gfv035bv1b9rz7c7hv0rxl5904wjz51if491mw0xy12"; })
+  (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; })
+  (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; })
+  (fetchNuGet { pname = "SkiaSharp"; version = "2.88.0-preview.178"; sha256 = "062g14s6b2bixanpwihj3asm3jwvfw15mhvzqv6901afrlgzx4nk"; })
+  (fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.0-preview.178"; sha256 = "07kga1j51l3l302nvf537zg5clf6rflinjy0xd6i06cmhpkf3ksw"; })
+  (fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.0-preview.178"; sha256 = "14p95nxccs6yq4rn2h9zbb60k0232k6349zdpy31jcfr6gc99cgi"; })
+  (fetchNuGet { pname = "SkiaSharp.NativeAssets.WebAssembly"; version = "2.88.0-preview.178"; sha256 = "09jmcg5k1vpsal8jfs90mwv0isf2y5wq3h4hd77rv6vffn5ic4sm"; })
+  (fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.0-preview.178"; sha256 = "0ficil702lv3fvwpngbqh5l85i05l5jafzyh4jprzshr2qbnd8nl"; })
+  (fetchNuGet { pname = "Splat"; version = "10.0.1"; sha256 = "18fzrn7xwjzxj4v3drs8djd3yf14bnq5n9n8vdnwfa1zk5jqpsb9"; })
+  (fetchNuGet { pname = "Splat"; version = "12.1.4"; sha256 = "0s2whs849fs0zk9qk4384m9sdz3c9dzb53w43pdag22znq3h0cyp"; })
+  (fetchNuGet { pname = "Splat.Microsoft.Extensions.DependencyInjection"; version = "12.1.4"; sha256 = "1j49l2ykqxs0icil5f43sci2ypv8pwcvvxza2cmimr3jq154bmsy"; })
+  (fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; })
+  (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; })
+  (fetchNuGet { pname = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; })
+  (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
+  (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; })
+  (fetchNuGet { pname = "System.Collections.Immutable"; version = "1.5.0"; sha256 = "1d5gjn5afnrf461jlxzawcvihz195gayqpcfbv6dd7pxa9ialn06"; })
+  (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "4.5.0"; sha256 = "1jj6f6g87k0iwsgmg3xmnn67a14mq88np0l1ys5zkxhkvbc8976p"; })
+  (fetchNuGet { pname = "System.Console"; version = "4.3.0"; sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay"; })
+  (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; })
+  (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; })
+  (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.3.0"; sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; })
+  (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.0.1"; sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; })
+  (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; })
+  (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; })
+  (fetchNuGet { pname = "System.Drawing.Common"; version = "4.5.0"; sha256 = "0knqa0zsm91nfr34br8gx5kjqq4v81zdhqkacvs2hzc8nqk0ddhc"; })
+  (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.0.11"; sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9"; })
+  (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.3.0"; sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; })
+  (fetchNuGet { pname = "System.Globalization"; version = "4.0.11"; sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; })
+  (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; })
+  (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; })
+  (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.3.0"; sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; })
+  (fetchNuGet { pname = "System.IO"; version = "4.1.0"; sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; })
+  (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; })
+  (fetchNuGet { pname = "System.IO.Abstractions"; version = "13.2.43"; sha256 = "0x6b9avb291dciay29dr67qgx22fkyj55gvnqhw4yw6iai4fyp1a"; })
+  (fetchNuGet { pname = "System.IO.Abstractions"; version = "16.1.15"; sha256 = "03pvy7vfh7qz03ahp0d1xcfy6dwj54c2xlf563rvqlriyzx26i6x"; })
+  (fetchNuGet { pname = "System.IO.Abstractions.TestingHelpers"; version = "13.2.43"; sha256 = "0fy9qjc9mky3sbhdxnfb4s3c868pwsxpx9pf8lhpdyb56yzvlpl3"; })
+  (fetchNuGet { pname = "System.IO.Compression"; version = "4.3.0"; sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz"; })
+  (fetchNuGet { pname = "System.IO.Compression.ZipFile"; version = "4.3.0"; sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar"; })
+  (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.0.1"; sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1"; })
+  (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; })
+  (fetchNuGet { pname = "System.IO.FileSystem.AccessControl"; version = "5.0.0"; sha256 = "0ixl68plva0fsj3byv76bai7vkin86s6wyzr8vcav3szl862blvk"; })
+  (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.0.1"; sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; })
+  (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; })
+  (fetchNuGet { pname = "System.Linq"; version = "4.1.0"; sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; })
+  (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
+  (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.1.0"; sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; })
+  (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; })
+  (fetchNuGet { pname = "System.Memory"; version = "4.5.3"; sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; })
+  (fetchNuGet { pname = "System.Net.Http"; version = "4.3.0"; sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j"; })
+  (fetchNuGet { pname = "System.Net.NameResolution"; version = "4.3.0"; sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq"; })
+  (fetchNuGet { pname = "System.Net.Primitives"; version = "4.3.0"; sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; })
+  (fetchNuGet { pname = "System.Net.Sockets"; version = "4.3.0"; sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla"; })
+  (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; })
+  (fetchNuGet { pname = "System.ObjectModel"; version = "4.0.12"; sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj"; })
+  (fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; })
+  (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; })
+  (fetchNuGet { pname = "System.Reactive"; version = "5.0.0"; sha256 = "1lafmpnadhiwxyd543kraxa3jfdpm6ipblxrjlibym9b1ykpr5ik"; })
+  (fetchNuGet { pname = "System.Reflection"; version = "4.1.0"; sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; })
+  (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; })
+  (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.0.1"; sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp"; })
+  (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; })
+  (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.7.0"; sha256 = "121l1z2ypwg02yz84dy6gr82phpys0njk7yask3sihgy214w43qp"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.0.1"; sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.0.1"; sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; })
+  (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.0.1"; sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; })
+  (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; })
+  (fetchNuGet { pname = "System.Reflection.Metadata"; version = "1.6.0"; sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4"; })
+  (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; })
+  (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; })
+  (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.1.0"; sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7"; })
+  (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.3.0"; sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; })
+  (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.0.1"; sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi"; })
+  (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; })
+  (fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; })
+  (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
+  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.2"; sha256 = "1vz4275fjij8inf31np78hw50al8nqkngk04p3xv5n4fcmf1grgi"; })
+  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.6.0"; sha256 = "0xmzi2gpbmgyfr75p24rqqsba3cmrqgmcv45lsqp5amgrdwd0f0m"; })
+  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0-preview.5.21301.5"; sha256 = "1ibndmjwyihqv7302pjbhsb02sqkpfx87pxm4978jwqg5vq0r4cb"; })
+  (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.1.0"; sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; })
+  (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; })
+  (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.0.1"; sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; })
+  (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; })
+  (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.1.0"; sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1"; })
+  (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; })
+  (fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.3.0"; sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii"; })
+  (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.3.0"; sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; })
+  (fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.1.1"; sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; })
+  (fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.3.0"; sha256 = "01vv2p8h4hsz217xxs0rixvb7f2xzbh6wv1gzbfykcbfrza6dvnf"; })
+  (fetchNuGet { pname = "System.Security.AccessControl"; version = "5.0.0"; sha256 = "17n3lrrl6vahkqmhlpn3w20afgz09n7i6rv0r3qypngwi7wqdr5r"; })
+  (fetchNuGet { pname = "System.Security.Claims"; version = "4.3.0"; sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.3.0"; sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.3.0"; sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.3.0"; sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.3.0"; sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; })
+  (fetchNuGet { pname = "System.Security.Principal"; version = "4.3.0"; sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf"; })
+  (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.3.0"; sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr"; })
+  (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.7.0"; sha256 = "1a56ls5a9sr3ya0nr086sdpa9qv0abv31dd6fp27maqa9zclqq5d"; })
+  (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; })
+  (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; })
+  (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
+  (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.5.1"; sha256 = "1z21qyfs6sg76rp68qdx0c9iy57naan89pg7p6i3qpj8kyzn921w"; })
+  (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11"; sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; })
+  (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; })
+  (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.1.0"; sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; })
+  (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.3.0"; sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; })
+  (fetchNuGet { pname = "System.Threading"; version = "4.0.11"; sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; })
+  (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; })
+  (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.0.11"; sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; })
+  (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
+  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.0.0"; sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; })
+  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.3.0"; sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z"; })
+  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.3"; sha256 = "0g7r6hm572ax8v28axrdxz1gnsblg6kszq17g51pj14a5rn2af7i"; })
+  (fetchNuGet { pname = "System.Threading.ThreadPool"; version = "4.3.0"; sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1"; })
+  (fetchNuGet { pname = "System.Threading.Timer"; version = "4.3.0"; sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56"; })
+  (fetchNuGet { pname = "System.ValueTuple"; version = "4.5.0"; sha256 = "00k8ja51d0f9wrq4vv5z2jhq8hy31kac2rg0rv06prylcybzl8cy"; })
+  (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.0.11"; sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5"; })
+  (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.3.0"; sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; })
+  (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.0.11"; sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; })
+  (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.3.0"; sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd"; })
+  (fetchNuGet { pname = "Tmds.DBus"; version = "0.9.0"; sha256 = "0vvx6sg8lxm23g5jvm5wh2gfs95mv85vd52lkq7d1b89bdczczf3"; })
+  (fetchNuGet { pname = "xunit"; version = "2.4.1"; sha256 = "0xf3kaywpg15flqaqfgywqyychzk15kz0kz34j21rcv78q9ywq20"; })
+  (fetchNuGet { pname = "xunit.abstractions"; version = "2.0.3"; sha256 = "00wl8qksgkxld76fgir3ycc5rjqv1sqds6x8yx40927q5py74gfh"; })
+  (fetchNuGet { pname = "xunit.analyzers"; version = "0.10.0"; sha256 = "15n02q3akyqbvkp8nq75a8rd66d4ax0rx8fhdcn8j78pi235jm7j"; })
+  (fetchNuGet { pname = "xunit.assert"; version = "2.4.1"; sha256 = "1imynzh80wxq2rp9sc4gxs4x1nriil88f72ilhj5q0m44qqmqpc6"; })
+  (fetchNuGet { pname = "xunit.core"; version = "2.4.1"; sha256 = "1nnb3j4kzmycaw1g76ii4rfqkvg6l8gqh18falwp8g28h802019a"; })
+  (fetchNuGet { pname = "xunit.extensibility.core"; version = "2.4.1"; sha256 = "103qsijmnip2pnbhciqyk2jyhdm6snindg5z2s57kqf5pcx9a050"; })
+  (fetchNuGet { pname = "xunit.extensibility.execution"; version = "2.4.1"; sha256 = "1pbilxh1gp2ywm5idfl0klhl4gb16j86ib4x83p8raql1dv88qia"; })
+  (fetchNuGet { pname = "xunit.runner.visualstudio"; version = "2.4.3"; sha256 = "0j1d0rbcm7pp6dypi61sjxp8l22sv261252z55b243l39jgv2rp3"; })
+]
diff --git a/pkgs/tools/games/steam-rom-manager/default.nix b/pkgs/tools/games/steam-rom-manager/default.nix
new file mode 100644
index 00000000000..b39e87fbe90
--- /dev/null
+++ b/pkgs/tools/games/steam-rom-manager/default.nix
@@ -0,0 +1,28 @@
+{ lib, appimageTools, fetchurl }:
+
+appimageTools.wrapType2 rec {
+  name = "steam-rom-manager";
+  version = "2.3.40";
+
+  src = fetchurl {
+    url = "https://github.com/SteamGridDB/steam-rom-manager/releases/download/v${version}/Steam-ROM-Manager-${version}.AppImage";
+    sha256 = "sha256-qm7F1/+3iVtsxSAptbhiI5sEHR0B9vo7AdEPy1/PANU=";
+  };
+
+  extraInstallCommands = let
+    appimageContents = appimageTools.extract { inherit name src; };
+    in ''
+      install -m 444 -D ${appimageContents}/${name}.desktop -t $out/share/applications
+      substituteInPlace $out/share/applications/${name}.desktop \
+        --replace 'Exec=AppRun' 'Exec=${name}'
+      cp -r ${appimageContents}/usr/share/icons $out/share
+    '';
+
+  meta = with lib; {
+    description = "An app for managing ROMs in Steam";
+    homepage = "https://github.com/SteamGridDB/steam-rom-manager";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ squarepear ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/tools/graphics/mangohud/default.nix b/pkgs/tools/graphics/mangohud/default.nix
index e62cfa6b8a8..26c1b99216c 100644
--- a/pkgs/tools/graphics/mangohud/default.nix
+++ b/pkgs/tools/graphics/mangohud/default.nix
@@ -1,28 +1,26 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , fetchurl
 , substituteAll
 , coreutils
 , curl
-, gawk
 , glxinfo
 , gnugrep
 , gnused
-, lsof
 , xdg-utils
 , dbus
 , hwdata
 , libX11
 , mangohud32
 , vulkan-headers
+, appstream
 , glslang
 , makeWrapper
+, Mako
 , meson
 , ninja
 , pkg-config
-, python3Packages
 , unzip
 , vulkan-loader
 , libXNVCtrl
@@ -43,24 +41,24 @@ let
     src = fetchFromGitHub {
       owner = "ocornut";
       repo = "imgui";
-      rev = "v${version}";
-      hash = "sha256-rRkayXk3xz758v6vlMSaUu5fui6NR8Md3njhDB0gJ18=";
+      rev = "refs/tags/v${version}";
+      sha256 = "sha256-rRkayXk3xz758v6vlMSaUu5fui6NR8Md3njhDB0gJ18=";
     };
     patch = fetchurl {
       url = "https://wrapdb.mesonbuild.com/v2/imgui_${version}-1/get_patch";
-      hash = "sha256-bQC0QmkLalxdj4mDEdqvvOFtNwz2T1MpTDuMXGYeQ18=";
+      sha256 = "sha256-bQC0QmkLalxdj4mDEdqvvOFtNwz2T1MpTDuMXGYeQ18=";
     };
   };
 in stdenv.mkDerivation rec {
   pname = "mangohud";
-  version = "0.6.7-1";
+  version = "0.6.8";
 
   src = fetchFromGitHub {
     owner = "flightlessmango";
     repo = "MangoHud";
-    rev = "v${version}";
+    rev = "refs/tags/v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-60cZYo+d679KRggLBGbpLYM5Iu1XySEEGp+MxZs6wF0=";
+    sha256 = "sha256-jfmgN90kViHa7vMOjo2x4bNY2QbLk93uYEvaA4DxYvg=";
   };
 
   outputs = [ "out" "doc" "man" ];
@@ -81,23 +79,15 @@ in stdenv.mkDerivation rec {
       path = lib.makeBinPath [
         coreutils
         curl
-        gawk
         glxinfo
         gnugrep
         gnused
-        lsof
         xdg-utils
       ];
 
       libdbus = dbus.lib;
       inherit hwdata libX11;
     })
-
-    (fetchpatch {
-      name = "allow-system-nlohmann-json.patch";
-      url = "https://github.com/flightlessmango/MangoHud/commit/e1ffa0f85820abea44639438fca2152290c87ee8.patch";
-      sha256 = "sha256-CaJb0RpXmNGCBidMXM39VJVLIXb6NbN5HXWkH/5Sfvo=";
-    })
   ] ++ lib.optional (stdenv.hostPlatform.system == "x86_64-linux") [
     # Support 32bit OpenGL applications by appending the mangohud32
     # lib path to LD_LIBRARY_PATH.
@@ -124,13 +114,13 @@ in stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [
+    appstream
     glslang
     makeWrapper
+    Mako
     meson
     ninja
     pkg-config
-    python3Packages.Mako
-    python3Packages.python
     unzip
     vulkan-loader
   ];
diff --git a/pkgs/tools/graphics/mangohud/hardcode-dependencies.patch b/pkgs/tools/graphics/mangohud/hardcode-dependencies.patch
index 379e1dd7ba2..0416008a99a 100644
--- a/pkgs/tools/graphics/mangohud/hardcode-dependencies.patch
+++ b/pkgs/tools/graphics/mangohud/hardcode-dependencies.patch
@@ -1,15 +1,3 @@
-From 56a191f6db6d530c2bc89d9d3395b4c9768d108f Mon Sep 17 00:00:00 2001
-From: Atemu <atemu.main@gmail.com>
-Date: Tue, 17 May 2022 16:58:08 +0200
-Subject: [PATCH 1/2] hardcode dependencies
-
----
- src/dbus.cpp               | 2 +-
- src/loaders/loader_x11.cpp | 2 +-
- src/logging.cpp            | 7 +++++++
- src/pci_ids.cpp            | 6 ++----
- 4 files changed, 11 insertions(+), 6 deletions(-)
-
 diff --git a/src/dbus.cpp b/src/dbus.cpp
 index 3b3cccb..1405725 100644
 --- a/src/dbus.cpp
@@ -34,21 +22,18 @@ index 4db6f78..c60d08c 100644
 -std::shared_ptr<libx11_loader> g_x11(new libx11_loader("libX11.so.6"));
 +std::shared_ptr<libx11_loader> g_x11(new libx11_loader("@libX11@/lib/libX11.so.6"));
 diff --git a/src/logging.cpp b/src/logging.cpp
-index b27f21e..48f5e03 100644
+index 1668226..f0c8df5 100644
 --- a/src/logging.cpp
 +++ b/src/logging.cpp
-@@ -22,7 +22,14 @@ string exec(string command) {
+@@ -24,7 +24,11 @@ string exec(string command) {
  #endif
      std::array<char, 128> buffer;
      std::string result;
 +
 +    char* originalPath = getenv("PATH");
 +    setenv("PATH", "@path@", 1);
-+
      std::unique_ptr<FILE, decltype(&pclose)> pipe(popen(command.c_str(), "r"), pclose);
-+
 +    setenv("PATH", originalPath, 1);
-+
      if (!pipe) {
        return "popen failed!";
      }
@@ -70,6 +55,3 @@ index feec222..6baa707 100644
      }
  
      std::string line;
--- 
-2.36.0
-
diff --git a/pkgs/tools/graphics/mangohud/opengl32-nix-workaround.patch b/pkgs/tools/graphics/mangohud/opengl32-nix-workaround.patch
index f4f2e112d94..03af397faee 100644
--- a/pkgs/tools/graphics/mangohud/opengl32-nix-workaround.patch
+++ b/pkgs/tools/graphics/mangohud/opengl32-nix-workaround.patch
@@ -1,24 +1,12 @@
-From 1ac93cbf0eed951af6967a81f731a0f418ea0b3d Mon Sep 17 00:00:00 2001
-From: Atemu <atemu.main@gmail.com>
-Date: Tue, 17 May 2022 16:58:45 +0200
-Subject: [PATCH 2/2] opengl32 nix workaround
-
----
- bin/mangohud.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
 diff --git a/bin/mangohud.in b/bin/mangohud.in
-index 8ec21de..f65304a 100755
+index e13da99..086443c 100755
 --- a/bin/mangohud.in
 +++ b/bin/mangohud.in
 @@ -23,6 +23,6 @@ fi
  # figure out whether the 32 or 64 bit version should be used, and will search
  # for it in the correct directory
- LD_PRELOAD="${LD_PRELOAD}:${MANGOHUD_LIB_NAME}"
--LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:@ld_libdir_mangohud@"
-+LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:@ld_libdir_mangohud@:@mangohud32@/lib/mangohud"
+ LD_PRELOAD="${LD_PRELOAD}${LD_PRELOAD:+:}${MANGOHUD_LIB_NAME}"
+-LD_LIBRARY_PATH="${LD_LIBRARY_PATH}${LD_LIBRARY_PATH:+:}@ld_libdir_mangohud@"
++LD_LIBRARY_PATH="${LD_LIBRARY_PATH}${LD_LIBRARY_PATH:+:}@ld_libdir_mangohud@:@mangohud32@/lib/mangohud"
  
  exec env MANGOHUD=1 LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" LD_PRELOAD="${LD_PRELOAD}" "$@"
--- 
-2.36.0
-
diff --git a/pkgs/tools/graphics/vips/default.nix b/pkgs/tools/graphics/vips/default.nix
index 072327de013..64ddc3e3f46 100644
--- a/pkgs/tools/graphics/vips/default.nix
+++ b/pkgs/tools/graphics/vips/default.nix
@@ -38,7 +38,7 @@
 
 stdenv.mkDerivation rec {
   pname = "vips";
-  version = "8.12.2";
+  version = "8.13.0";
 
   outputs = [ "bin" "out" "man" "dev" ];
 
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
     owner = "libvips";
     repo = "libvips";
     rev = "v${version}";
-    sha256 = "sha256-ffDJJWe/SzG+lppXEiyfXXL5KLdZgnMjv1SYnuYnh4c=";
+    sha256 = "sha256-N2jq68Vs/D+lZcIJVdjBLVaz2gK/TwqKeNfHUWdS3NA=";
     # Remove unicode file names which leads to different checksums on HFS+
     # vs. other filesystems because of unicode normalisation.
     postFetch = ''
diff --git a/pkgs/tools/graphics/vkBasalt/default.nix b/pkgs/tools/graphics/vkBasalt/default.nix
index b0b9c9b07b4..5ace5af97e5 100644
--- a/pkgs/tools/graphics/vkBasalt/default.nix
+++ b/pkgs/tools/graphics/vkBasalt/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vkBasalt";
-  version = "0.3.2.5";
+  version = "0.3.2.6";
 
   src = fetchFromGitHub {
     owner = "DadSchoorse";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-1UHxPtpmkDNOJwKXVlRN2lpvRm4XPHNwxOBpEikXxqA=";
+    sha256 = "sha256-wk/bmbwdE1sBZPlD+EqXfQWDITIfCelTpoFBtNtZV8Q=";
   };
 
   nativeBuildInputs = [ glslang meson ninja pkg-config ];
diff --git a/pkgs/tools/graphics/vulkan-caps-viewer/default.nix b/pkgs/tools/graphics/vulkan-caps-viewer/default.nix
new file mode 100644
index 00000000000..7b6a43b4333
--- /dev/null
+++ b/pkgs/tools/graphics/vulkan-caps-viewer/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, qmake
+, vulkan-loader
+, wrapQtAppsHook
+, withX11 ? true
+, qtx11extras
+}:
+
+stdenv.mkDerivation rec {
+  pname = "vulkan-caps-viewer";
+  version = "3.24";
+
+  src = fetchFromGitHub {
+    owner = "SaschaWillems";
+    repo = "VulkanCapsViewer";
+    rev = "${version}";
+    hash = "sha256-BSydAPZ74rGzW4UA/aqL2K/86NTK/eZqc3MZUbdq7iU=";
+    # Note: this derivation strictly requires vulkan-header to be the same it was developed against.
+    # To help they put in a git-submodule.
+    # It works with older vulkan-loaders.
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [
+    qmake
+    wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    vulkan-loader
+  ] ++ lib.lists.optionals withX11 [ qtx11extras ];
+
+  patchPhase = ''
+    substituteInPlace vulkanCapsViewer.pro \
+      --replace '/usr/' "/"
+  '';
+
+  qmakeFlags = [
+    "DEFINES+=wayland"
+    "CONFIG+=release"
+  ]  ++ lib.lists.optionals withX11 [ "DEFINES+=X11" ];
+
+  installFlags = [ "INSTALL_ROOT=$(out)" ];
+
+  meta = with lib; {
+    mainProgram = "vulkanCapsViewer";
+    description = "Vulkan hardware capability viewer";
+    longDescription = ''
+      Client application to display hardware implementation details for GPUs supporting the Vulkan API by Khronos.
+      The hardware reports can be submitted to a public online database that allows comparing different devices, browsing available features, extensions, formats, etc.
+    '';
+    homepage    = "https://vulkan.gpuinfo.org/";
+    platforms   = platforms.unix;
+    license     = licenses.gpl2Only;
+    maintainers = with maintainers; [ pedrohlc ];
+  };
+}
diff --git a/pkgs/tools/inputmethods/emote/default.nix b/pkgs/tools/inputmethods/emote/default.nix
index b51c058bd05..21d50d76d4c 100644
--- a/pkgs/tools/inputmethods/emote/default.nix
+++ b/pkgs/tools/inputmethods/emote/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchFromGitHub, python3Packages, wrapGAppsHook, gobject-introspection, gtk3, keybinder3, xdotool, pango, gdk-pixbuf, atk, librsvg }:
+{ lib, fetchFromGitHub, python3Packages, wrapGAppsHook, gobject-introspection, gtk3, keybinder3, xdotool, pango, gdk-pixbuf, atk }:
 
 python3Packages.buildPythonApplication rec {
   pname = "emote";
@@ -23,18 +23,19 @@ python3Packages.buildPythonApplication rec {
   nativeBuildInputs = [
     wrapGAppsHook
     gobject-introspection
+  ];
+
+  buildInputs = [
+    atk
+    gdk-pixbuf
+    gtk3
     keybinder3
     pango
-    gdk-pixbuf
-    atk
   ];
 
   propagatedBuildInputs = [
     python3Packages.manimpango
     python3Packages.pygobject3
-    gtk3
-    xdotool
-    librsvg
   ];
 
   postInstall = ''
@@ -45,16 +46,19 @@ python3Packages.buildPythonApplication rec {
 
   dontWrapGApps = true;
   preFixup = ''
-    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+    makeWrapperArgs+=(
+      "''${gappsWrapperArgs[@]}"
+      --prefix PATH : ${lib.makeBinPath [ xdotool ]}
+    )
   '';
 
   doCheck = false;
 
   meta = with lib; {
-    description = "A modern emoji picker for Linux";
+    description = "Modern emoji picker for Linux";
     homepage = "https://github.com/tom-james-watson/emote";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ emilytrau ];
+    maintainers = with maintainers; [ emilytrau SuperSandro2000 ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix
index f8d8b4d5af4..d71fca87ab2 100644
--- a/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix
@@ -26,13 +26,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-gtk";
-  version = "5.0.16";
+  version = "5.0.17";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    sha256 = "sha256-gdYtQyCczJOGkCjl7fVCjcKkhEW3wDO5HDYNfMhnb1g=";
+    sha256 = "sha256-sAPbbMoZ4NGiE7lbtcdzQQsPib6i52JwWsLe+bmTshU=";
   };
 
   cmakeFlags = [
diff --git a/pkgs/tools/misc/0x/add-Cargo-lock.diff b/pkgs/tools/misc/0x/add-Cargo-lock.diff
new file mode 100644
index 00000000000..01498c2977b
--- /dev/null
+++ b/pkgs/tools/misc/0x/add-Cargo-lock.diff
@@ -0,0 +1,236 @@
+diff -Naur 0x-main.old/Cargo.lock 0x-main/Cargo.lock
+--- 0x-main.old/Cargo.lock	1969-12-31 21:00:00.000000000 -0300
++++ 0x-main/Cargo.lock	2022-08-12 02:28:29.538688138 -0300
+@@ -0,0 +1,232 @@
++# This file is automatically @generated by Cargo.
++# It is not intended for manual editing.
++version = 3
++
++[[package]]
++name = "approx"
++version = "0.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6"
++dependencies = [
++ "num-traits",
++]
++
++[[package]]
++name = "argh"
++version = "0.1.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a7e7e4aa7e40747e023c0761dafcb42333a9517575bbf1241747f68dd3177a62"
++dependencies = [
++ "argh_derive",
++ "argh_shared",
++]
++
++[[package]]
++name = "argh_derive"
++version = "0.1.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "69f2bd7ff6ed6414f4e5521bd509bae46454bbd513801767ced3f21a751ab4bc"
++dependencies = [
++ "argh_shared",
++ "heck",
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "argh_shared"
++version = "0.1.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "47253b98986dafc7a3e1cf3259194f1f47ac61abb57a57f46ec09e48d004ecda"
++
++[[package]]
++name = "autocfg"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
++
++[[package]]
++name = "colorous"
++version = "1.0.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "882e392738ed515520f38708166e9efec85ee154f80bf1fc64510e2fc54bf481"
++
++[[package]]
++name = "find-crate"
++version = "0.6.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "59a98bbaacea1c0eb6a0876280051b892eb73594fd90cf3b20e9c817029c57d2"
++dependencies = [
++ "toml",
++]
++
++[[package]]
++name = "heck"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
++dependencies = [
++ "unicode-segmentation",
++]
++
++[[package]]
++name = "num-traits"
++version = "0.2.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
++dependencies = [
++ "autocfg",
++]
++
++[[package]]
++name = "ohx"
++version = "0.1.0"
++dependencies = [
++ "argh",
++ "colorous",
++ "palette",
++]
++
++[[package]]
++name = "palette"
++version = "0.6.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8f9cd68f7112581033f157e56c77ac4a5538ec5836a2e39284e65bd7d7275e49"
++dependencies = [
++ "approx",
++ "num-traits",
++ "palette_derive",
++ "phf",
++]
++
++[[package]]
++name = "palette_derive"
++version = "0.6.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "05eedf46a8e7c27f74af0c9cfcdb004ceca158cb1b918c6f68f8d7a549b3e427"
++dependencies = [
++ "find-crate",
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "phf"
++version = "0.11.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "928c6535de93548188ef63bb7c4036bd415cd8f36ad25af44b9789b2ee72a48c"
++dependencies = [
++ "phf_macros",
++ "phf_shared",
++]
++
++[[package]]
++name = "phf_generator"
++version = "0.11.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b1181c94580fa345f50f19d738aaa39c0ed30a600d95cb2d3e23f94266f14fbf"
++dependencies = [
++ "phf_shared",
++ "rand",
++]
++
++[[package]]
++name = "phf_macros"
++version = "0.11.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "92aacdc5f16768709a569e913f7451034034178b05bdc8acda226659a3dccc66"
++dependencies = [
++ "phf_generator",
++ "phf_shared",
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "phf_shared"
++version = "0.11.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e1fb5f6f826b772a8d4c0394209441e7d37cbbb967ae9c7e0e8134365c9ee676"
++dependencies = [
++ "siphasher",
++]
++
++[[package]]
++name = "proc-macro2"
++version = "1.0.43"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab"
++dependencies = [
++ "unicode-ident",
++]
++
++[[package]]
++name = "quote"
++version = "1.0.21"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
++dependencies = [
++ "proc-macro2",
++]
++
++[[package]]
++name = "rand"
++version = "0.8.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
++dependencies = [
++ "rand_core",
++]
++
++[[package]]
++name = "rand_core"
++version = "0.6.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
++
++[[package]]
++name = "serde"
++version = "1.0.143"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "53e8e5d5b70924f74ff5c6d64d9a5acd91422117c60f48c4e07855238a254553"
++
++[[package]]
++name = "siphasher"
++version = "0.3.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
++
++[[package]]
++name = "syn"
++version = "1.0.99"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "unicode-ident",
++]
++
++[[package]]
++name = "toml"
++version = "0.5.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "unicode-ident"
++version = "1.0.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c4f5b37a154999a8f3f98cc23a628d850e154479cd94decf3414696e12e31aaf"
++
++[[package]]
++name = "unicode-segmentation"
++version = "1.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99"
diff --git a/pkgs/tools/misc/0x/default.nix b/pkgs/tools/misc/0x/default.nix
new file mode 100644
index 00000000000..a8264df3c34
--- /dev/null
+++ b/pkgs/tools/misc/0x/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, fetchFromGitHub
+, rustPlatform
+}:
+
+rustPlatform.buildRustPackage {
+  pname = "0x";
+  version = "unstable-2022-07-11";
+
+  src = fetchFromGitHub {
+    owner = "mcy";
+    repo = "0x";
+    rev = "8070704b8efdd1f16bc7e01e393230f16cd8b0a6";
+    hash = "sha256-NzD/j8rBfk/cpoBnkFHFqpXz58mswLZr8TUS16vlrZQ=";
+  };
+
+  cargoPatches = [ ./add-Cargo-lock.diff ];
+
+  cargoHash = "sha256-3qaPGIbl1jF4784KGxbfBTgW/0ayxIO9Ufp9vkhIJa4=";
+
+  meta = with lib; {
+    homepage = "https://github.com/mcy/0x";
+    description = "A colorful, configurable xxd";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ AndersonTorres ];
+  };
+}
diff --git a/pkgs/tools/misc/3mux/default.nix b/pkgs/tools/misc/3mux/default.nix
index 4b5db58c640..d91a52ddd3e 100644
--- a/pkgs/tools/misc/3mux/default.nix
+++ b/pkgs/tools/misc/3mux/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub, makeWrapper }:
+{ lib, buildGoModule, fetchFromGitHub, fetchpatch, makeWrapper }:
 
 buildGoModule rec {
   pname = "3mux";
@@ -11,9 +11,18 @@ buildGoModule rec {
     sha256 = "sha256-QT4QXTlJf2NfTqXE4GF759EoW6Ri12lxDyodyEFc+ag=";
   };
 
+  patches = [
+    # Fix the build for Darwin when building with Go 1.18.
+    (fetchpatch {
+      name = "darwin-go-1.18-fix.patch";
+      url = "https://github.com/aaronjanse/3mux/pull/127/commits/91aed826c50f75a5175b63c72a1fb6a4ad57a008.patch";
+      sha256 = "sha256-MOPAyWAYYWrlCCgw1rBaNmHZO9oTIpIQwLJcs0aY/m8=";
+    })
+  ];
+
   nativeBuildInputs = [ makeWrapper ];
 
-  vendorSha256 = "sha256-tbziQZIA1+b+ZtvA/865c8YQxn+r8HQy6Pqaac2kwcU=";
+  vendorSha256 = "sha256-qt8MYnvbZMuU1VwdSij6+x4N0r10c1R5Gcm+jDt76uc=";
 
   # This is a package used for internally testing 3mux. It's meant for
   # use by 3mux maintainers/contributors only.
diff --git a/pkgs/tools/misc/antimicrox/default.nix b/pkgs/tools/misc/antimicrox/default.nix
index 73e430e54e3..508e39da9d8 100644
--- a/pkgs/tools/misc/antimicrox/default.nix
+++ b/pkgs/tools/misc/antimicrox/default.nix
@@ -12,13 +12,13 @@
 
 mkDerivation rec {
   pname = "antimicrox";
-  version = "3.2.4";
+  version = "3.2.5";
 
   src = fetchFromGitHub {
     owner = "AntiMicroX";
     repo = pname;
     rev = version;
-    sha256 = "sha256-catgal3bpWJUcTo0x0V0X3VV87AHO2Dp58IpQ/ILsZ8=";
+    sha256 = "sha256-Lc23VvIZguE6nRHeGDW3pL4exKtJtF8XmFkN2SxUL0g=";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules pkg-config itstool ];
diff --git a/pkgs/tools/misc/audible-cli/default.nix b/pkgs/tools/misc/audible-cli/default.nix
index 21e0143ef15..48fe07fff72 100644
--- a/pkgs/tools/misc/audible-cli/default.nix
+++ b/pkgs/tools/misc/audible-cli/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "audible-cli";
-  version = "0.2.0";
+  version = "0.2.1";
 
   src = fetchFromGitHub {
     owner = "mkb79";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "1dalil8aaywdshf48d45ap4mgzxbyzhklr8nga7qhpwi22w84cgz";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-KPuAY/QMO2029tD4DMGCwmKuqpnxXAALYT+wE1ApfsI=";
   };
 
   propagatedBuildInputs = with python3Packages; [ aiofiles audible click httpx pillow tabulate toml tqdm packaging setuptools questionary ];
diff --git a/pkgs/tools/misc/czkawka/default.nix b/pkgs/tools/misc/czkawka/default.nix
index 1bbcaf1f34b..06127a62df0 100644
--- a/pkgs/tools/misc/czkawka/default.nix
+++ b/pkgs/tools/misc/czkawka/default.nix
@@ -7,26 +7,31 @@
 , pango
 , gdk-pixbuf
 , atk
-, gtk3
+, gtk4
+, wrapGAppsHook
+, gobject-introspection
+, xvfb-run
 , testers
 , czkawka
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "czkawka";
-  version = "4.1.0";
+  version = "5.0.1";
 
   src = fetchFromGitHub {
     owner = "qarmin";
     repo = "czkawka";
     rev = version;
-    sha256 = "sha256-N7fCYcjhYlFVkvWdFpR5cu98Vy+jStlBkR/vz/k1lLY=";
+    sha256 = "sha256-ochHohwCOKCF9kiiMxMIaJXaHUWNbq7pIh+VNRKQlcg=";
   };
 
-  cargoSha256 = "sha256-4L7OjJ26Qpl5YuHil7JEYU8xWH65jiyFz0a/ufr7wYQ=";
+  cargoSha256 = "sha256-ap8OpaLs1jZtEHbXVZyaGj3gvblWtyHmYrHiHvZKhfs=";
 
   nativeBuildInputs = [
     pkg-config
+    wrapGAppsHook
+    gobject-introspection
   ];
 
   buildInputs = [
@@ -35,9 +40,19 @@ rustPlatform.buildRustPackage rec {
     pango
     gdk-pixbuf
     atk
-    gtk3
+    gtk4
   ];
 
+  checkInputs = [
+    xvfb-run
+  ];
+
+  checkPhase = ''
+    runHook preCheck
+    xvfb-run cargo test
+    runHook postCheck
+  '';
+
   passthru.tests.version = testers.testVersion {
     package = czkawka;
     command = "czkawka_cli --version";
diff --git a/pkgs/tools/misc/debootstrap/default.nix b/pkgs/tools/misc/debootstrap/default.nix
index 4efa6f69924..b8d099795e0 100644
--- a/pkgs/tools/misc/debootstrap/default.nix
+++ b/pkgs/tools/misc/debootstrap/default.nix
@@ -16,14 +16,14 @@ let binPath = lib.makeBinPath [
   ];
 in stdenv.mkDerivation rec {
   pname = "debootstrap";
-  version = "1.0.126";
+  version = "1.0.127";
 
   src = fetchFromGitLab {
     domain = "salsa.debian.org";
     owner = "installer-team";
     repo = pname;
     rev = version;
-    sha256 = "0hfx6k86kby4xf0xqskpllq00g159j4khh66hfi6dhcdb91dgyd7";
+    sha256 = "sha256-KKH9F0e4HEO2FFh1/V5UIY5C95ZOUm4nUhVUGqpZWaI=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/fclones/default.nix b/pkgs/tools/misc/fclones/default.nix
index e257d2ad4c8..0f8aecc5b1d 100644
--- a/pkgs/tools/misc/fclones/default.nix
+++ b/pkgs/tools/misc/fclones/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fclones";
-  version = "0.26.0";
+  version = "0.27.0";
 
   src = fetchFromGitHub {
     owner = "pkolaczk";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-GimCHMUUjD1q5CfKXKtucIs/HLIJZnIbp+wtN+/jjhY=";
+    sha256 = "sha256-SmYRhOxyptY/DVc+JRT9Yn52WRHOS0B5tfmrqp05hxE=";
   };
 
-  cargoSha256 = "sha256-/qSaPvI4K9AinewMlsCp2funJrZtwvoBUQ6816NQ8zw=";
+  cargoSha256 = "sha256-chiKNVZg6sUN9s1fhWCk64UOsw0nXkrjopfkAFbZbwI=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     AppKit
diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix
index c5131b8a11e..850b4fe920b 100644
--- a/pkgs/tools/misc/fzf/default.nix
+++ b/pkgs/tools/misc/fzf/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "fzf";
-  version = "0.31.0";
+  version = "0.32.1";
 
   src = fetchFromGitHub {
     owner = "junegunn";
     repo = pname;
     rev = version;
-    sha256 = "sha256-HKwf/ogNx+jCNSVHI8rt6WYRbuyT18V4nnMyZ6TmwVQ=";
+    sha256 = "sha256-gtRMoUEQEVoQXtA2PnVMLqrENUh5Jv8QiolqmeX5naQ=";
   };
 
   vendorSha256 = "sha256-3ry93xV3KKtFoFGt2yxzMd4jx3QG2+8TBrEEywj7HPQ=";
diff --git a/pkgs/tools/misc/getoptions/default.nix b/pkgs/tools/misc/getoptions/default.nix
new file mode 100644
index 00000000000..364cf2aca82
--- /dev/null
+++ b/pkgs/tools/misc/getoptions/default.nix
@@ -0,0 +1,33 @@
+{ lib, stdenvNoCC, fetchFromGitHub, shellcheck, shellspec, busybox-sandbox-shell, ksh, mksh, yash, zsh }:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "getoptions";
+  version = "3.3.0";
+
+  src = fetchFromGitHub {
+    owner = "ko1nksm";
+    repo = "getoptions";
+    rev = "v${version}";
+    hash = "sha256-kUQ0dPjPr/A/btgFQu13ZLklnI284Ij74hCYbGgzF3A=";
+  };
+
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
+
+  doCheck = true;
+
+  checkInputs = [ shellcheck shellspec busybox-sandbox-shell ksh mksh yash zsh ];
+
+  preCheck = ''
+    sed -i '/shellspec -s posh/d' Makefile
+  '';
+
+  checkTarget = "check testall";
+
+  meta = with lib; {
+    description = "An elegant option/argument parser for shell scripts (full support for bash and all POSIX shells)";
+    homepage = "https://github.com/ko1nksm/getoptions";
+    license = licenses.cc0;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ matrss ];
+  };
+}
diff --git a/pkgs/tools/misc/gh-dash/default.nix b/pkgs/tools/misc/gh-dash/default.nix
new file mode 100644
index 00000000000..2dcf9dfea46
--- /dev/null
+++ b/pkgs/tools/misc/gh-dash/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, fetchFromGitHub
+, buildGoModule
+}:
+
+buildGoModule rec {
+  pname = "gh-dash";
+  version = "3.2.0";
+
+  src = fetchFromGitHub {
+    owner = "dlvhdr";
+    repo = "gh-dash";
+    rev = "v${version}";
+    sha256 = "sha256-y7PJ8BDTiip6cjKQ3CVIcf3LwlGsEj3DHn3EOtCGa4A=";
+  };
+
+  vendorSha256 = "sha256-Hk/sBUI2XYB+ZHfuGUR3muEzUtVsGR28EkRD1jKg0Ss=";
+
+  ldflags = [ "-s" "-w" ];
+
+  meta = {
+    description = "gh extension to display a dashboard with pull requests and issues";
+    homepage = "https://github.com/dlvhdr/gh-dash";
+    changelog = "https://github.com/dlvhdr/gh-dash/releases/tag/${src.rev}";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ amesgen ];
+  };
+}
diff --git a/pkgs/tools/misc/goaccess/default.nix b/pkgs/tools/misc/goaccess/default.nix
index 20942f4e3c9..c2d422fe9af 100644
--- a/pkgs/tools/misc/goaccess/default.nix
+++ b/pkgs/tools/misc/goaccess/default.nix
@@ -10,14 +10,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.6";
+  version = "1.6.2";
   pname = "goaccess";
 
   src = fetchFromGitHub {
     owner = "allinurl";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-+42jTYYJyj+6ZRCfkgVwpyTS2lXdThlGHKD2iSoZkEI=";
+    sha256 = "sha256-Ie+66zfw11dzUgAHSRtJA09nWSSvyHZ0ygkVL4aZO14=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/heatseeker/default.nix b/pkgs/tools/misc/heatseeker/default.nix
index 5f8c15253aa..24da793445c 100644
--- a/pkgs/tools/misc/heatseeker/default.nix
+++ b/pkgs/tools/misc/heatseeker/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "heatseeker";
-  version = "1.7.1";
+  version = "1.7.2";
 
   src = fetchFromGitHub {
     owner = "rschmitt";
     repo = "heatseeker";
     rev = "v${version}";
-    sha256 = "1x7mdyf1m17s55f6yjdr1j510kb7a8f3zkd7lb2kzdc7nd3vgaxg";
+    sha256 = "sha256-SU5HLAFA7IHnVhsmVtxskteeKKIEvvVSqHIeEk5BkfA=";
   };
 
-  cargoSha256 = "0qs2s1bi93sdmmmfmkcnf55fm2blj9f095k95m210fyv5fpizdfm";
+  cargoSha256 = "sha256-RHD2/Uvj8NWpZ+xK16xTN5K/hDWYhwHnu2E5NslGFQI=";
 
   # https://github.com/rschmitt/heatseeker/issues/42
   # I've suggested using `/usr/bin/env stty`, but doing that isn't quite as simple
diff --git a/pkgs/tools/misc/infracost/default.nix b/pkgs/tools/misc/infracost/default.nix
index f9336fc5335..8cf91fe4808 100644
--- a/pkgs/tools/misc/infracost/default.nix
+++ b/pkgs/tools/misc/infracost/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "infracost";
-  version = "0.10.8";
+  version = "0.10.10";
 
   src = fetchFromGitHub {
     owner = "infracost";
     rev = "v${version}";
     repo = "infracost";
-    sha256 = "sha256-2jA6X/emjRl3hiy1riOUAhtb9gocs3rcs8i4TvzXXvc=";
+    sha256 = "sha256-7SaT2jwrM0pD0BqX18d3nutU52RMCnQb2FuDtoJZMQM=";
   };
-  vendorSha256 = "sha256-uoGkckOIEUa5aoiUMEY1f+emgLo8hyUqKtcNvOGPOMI=";
+  vendorSha256 = "sha256-ccoFTg5OYpaagyzb2lJLr6WlTO/L4YevXK09gZOELOw=";
 
   ldflags = [ "-s" "-w" "-X github.com/infracost/infracost/internal/version.Version=v${version}" ];
 
diff --git a/pkgs/tools/misc/mongodb-compass/default.nix b/pkgs/tools/misc/mongodb-compass/default.nix
index 170a2a48434..d9c5c2a04bb 100644
--- a/pkgs/tools/misc/mongodb-compass/default.nix
+++ b/pkgs/tools/misc/mongodb-compass/default.nix
@@ -33,7 +33,7 @@ xorg,
 }:
 
 let
-  version = "1.32.5";
+  version = "1.32.6";
 
   rpath = lib.makeLibraryPath [
     alsa-lib
@@ -82,7 +82,7 @@ let
     if stdenv.hostPlatform.system == "x86_64-linux" then
       fetchurl {
         url = "https://downloads.mongodb.com/compass/mongodb-compass_${version}_amd64.deb";
-        sha256 = "sha256-ANktXRokO0rIkiSj6OQDepB+UfTItBMDkEhD9ia52s4=";
+        sha256 = "sha256-lrdDy8wtkIBQC/OPdSoKmOFIuajKeu1qtyRHOLZSSVI=";
       }
     else
       throw "MongoDB compass is not supported on ${stdenv.hostPlatform.system}";
diff --git a/pkgs/tools/misc/mutagen-compose/default.nix b/pkgs/tools/misc/mutagen-compose/default.nix
index 3147acb7025..53afa9f4dbd 100644
--- a/pkgs/tools/misc/mutagen-compose/default.nix
+++ b/pkgs/tools/misc/mutagen-compose/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "mutagen-compose";
-  version = "0.15.0-1";
+  version = "0.15.1";
 
   src = fetchFromGitHub {
     owner = "mutagen-io";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Po3AsY6IMSY6Bu51ZhV50cmB79J3Xud4svdjssKKBOU=";
+    sha256 = "sha256-vdgAil/88fl5/UhsbbAWrxh/YUiGbyXj4pqZFv4YwHc=";
   };
 
-  vendorSha256 = "sha256-lkb4+EA6UB/GysqiA8z+84Lpb93PiMb4/3LKxfltGNE=";
+  vendorSha256 = "sha256-qb0auYQJHnpGafonWoYq3tax6uLdOCIdz+oZ7I6bytk=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/misc/nix-direnv/default.nix b/pkgs/tools/misc/nix-direnv/default.nix
index 6ec36156382..e4e34d1fb6e 100644
--- a/pkgs/tools/misc/nix-direnv/default.nix
+++ b/pkgs/tools/misc/nix-direnv/default.nix
@@ -7,13 +7,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "nix-direnv";
-  version = "2.1.1";
+  version = "2.1.2";
 
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = "nix-direnv";
     rev = version;
-    sha256 = "sha256-0K2qnoft7eBlhhHiEMHi4FcSy92ufAtAAmIz2dZkm7M=";
+    sha256 = "sha256-6UvOnFmohdhFenpEangbLLEdE0PeessRJjiO0mcydWI=";
   };
 
   # Substitute instead of wrapping because the resulting file is
diff --git a/pkgs/tools/misc/nomino/default.nix b/pkgs/tools/misc/nomino/default.nix
index c8dcfd31303..01c6b43069e 100644
--- a/pkgs/tools/misc/nomino/default.nix
+++ b/pkgs/tools/misc/nomino/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nomino";
-  version = "1.2.1";
+  version = "1.2.2";
 
   src = fetchFromGitHub {
     owner = "yaa110";
     repo = pname;
     rev = version;
-    sha256 = "sha256-+bnEuSro3/t9aXu2WpwsaqHqB+poSXsVbna01a7pnKo=";
+    sha256 = "sha256-Zczj2HQkm6/hXH24pOXYT5r7RS/SI/39s5XtNnc7f9o=";
   };
 
-  cargoSha256 = "sha256-IKsA8btCmKnZfRIwS4QdxJMi1As6SNbTI7ibOL7M+5U=";
+  cargoSha256 = "sha256-mjekXjHhi8gxjD47DmTs3TGtnXp3FbxiIq7Uo+rOvKc=";
 
   meta = with lib; {
     description = "Batch rename utility for developers";
diff --git a/pkgs/tools/misc/ntfy/default.nix b/pkgs/tools/misc/ntfy/default.nix
index d905c92438d..8bee0c304f7 100644
--- a/pkgs/tools/misc/ntfy/default.nix
+++ b/pkgs/tools/misc/ntfy/default.nix
@@ -46,6 +46,13 @@ in python.pkgs.buildPythonApplication rec {
       url = "https://github.com/dschep/ntfy/commit/2346e7cfdca84c8f1afc7462a92145c1789deb3e.patch";
       sha256 = "13k7jbsdx0jx7l5s8whirric76hml5bznkfcxab5xdp88q52kpk7";
     })
+    # Add compatibility with emoji 2.0
+    # https://github.com/dschep/ntfy/pull/250
+    (fetchpatch {
+      name = "ntfy-Add-compatibility-with-emoji-2.0.patch";
+      url = "https://github.com/dschep/ntfy/commit/4128942bb7a706117e7154a50a73b88f531631fe.patch";
+      sha256 = "sha256-V8dIy/K957CPFQQS1trSI3gZOjOcVNQLgdWY7g17bRw=";
+    })
   ];
 
   checkPhase = ''
diff --git a/pkgs/tools/misc/odyssey/default.nix b/pkgs/tools/misc/odyssey/default.nix
index f0a59e1d0aa..086c1eea58a 100644
--- a/pkgs/tools/misc/odyssey/default.nix
+++ b/pkgs/tools/misc/odyssey/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, openssl, postgresql, zstd }:
+{ lib, stdenv, fetchFromGitHub, cmake, openssl, postgresql, zstd, fetchpatch }:
 
 stdenv.mkDerivation rec {
   pname = "odyssey";
@@ -11,9 +11,17 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-1ALTKRjpKmmFcAuhmgpcbJBkNuUlTyau8xWDRHh7gf0=";
   };
 
+  patches = [
+    # Fix compression build. Remove with the next release. https://github.com/yandex/odyssey/pull/441
+    (fetchpatch {
+      url = "https://github.com/yandex/odyssey/commit/01ca5b345c4483add7425785c9c33dfa2c135d63.patch";
+      sha256 = "sha256-8UPkZkiI08ZZL6GShhug/5/kOVrmdqYlsD1bcqfxg/w=";
+    })
+  ];
+
   nativeBuildInputs = [ cmake ];
   buildInputs = [ openssl postgresql zstd ];
-  cmakeFlags = [ "-DPQ_LIBRARY=${postgresql.lib}/lib" ];
+  cmakeFlags = [ "-DPQ_LIBRARY=${postgresql.lib}/lib" "-DBUILD_COMPRESSION=ON" ];
 
   installPhase = ''
     install -Dm755 -t $out/bin sources/odyssey
diff --git a/pkgs/tools/misc/opentelemetry-collector/contrib.nix b/pkgs/tools/misc/opentelemetry-collector/contrib.nix
index 31f5cb701c9..71b8d492fe2 100644
--- a/pkgs/tools/misc/opentelemetry-collector/contrib.nix
+++ b/pkgs/tools/misc/opentelemetry-collector/contrib.nix
@@ -6,17 +6,17 @@
 
 buildGoModule rec {
   pname = "opentelemetry-collector-contrib";
-  version = "0.56.0";
+  version = "0.58.0";
 
   src = fetchFromGitHub {
     owner = "open-telemetry";
     repo = "opentelemetry-collector-contrib";
     rev = "v${version}";
-    sha256 = "sha256-uNUMXtDlnC9HHBw+QJj5p21pWMfr2kGeVghpTLFBlsg=";
+    sha256 = "sha256-7gvtITPN7NqC4E8Z4nEFgz2jp1HD4HhuVrE8Qk3WM+A=";
   };
   # proxy vendor to avoid hash missmatches between linux and macOS
   proxyVendor = true;
-  vendorSha256 = "sha256-2VfzdGgzF9A1PGv1Dum0Me10OCKK27h9ZLvb1uWscmk=";
+  vendorSha256 = "sha256-aCwySLvfseMBNU+Q1f7awiivChpPyn/V7osEwzieNxg=";
 
   subPackages = [ "cmd/otelcontribcol" ];
 
diff --git a/pkgs/tools/misc/opentelemetry-collector/default.nix b/pkgs/tools/misc/opentelemetry-collector/default.nix
index 35ae2ca3f14..a32512157cf 100644
--- a/pkgs/tools/misc/opentelemetry-collector/default.nix
+++ b/pkgs/tools/misc/opentelemetry-collector/default.nix
@@ -12,17 +12,17 @@ let
 in
 buildGoModule rec {
   pname = "opentelemetry-collector";
-  version = "0.51.0";
+  version = "0.58.0";
 
   src = fetchFromGitHub {
     owner = "open-telemetry";
     repo = "opentelemetry-collector";
     rev = "v${version}";
-    sha256 = "sha256-XCOyvFWvgGxjuOdyFk4Rh+HO8GBdRfWcR73h+7lF+8E=";
+    sha256 = "sha256-qWRuVzRFuUBfnBkc6KDWTkPahk980KLdRqUnPbKJjpU=";
   };
   # there is a nested go.mod
   sourceRoot = "source/cmd/otelcorecol";
-  vendorSha256 = "sha256-BAcJpiO6jFKcjtbBA9LDad1ifDpb47nWOylH8dDBUN0=";
+  vendorSha256 = "sha256-iK4oXNZe4/4/Yh9/Rq3St9MmeqEq6bVu8sTh4rdMi0c=";
 
   preBuild = ''
     # set the build version, can't be done via ldflags
diff --git a/pkgs/tools/misc/ostree/default.nix b/pkgs/tools/misc/ostree/default.nix
index 6da0de81cd5..06176efb01e 100644
--- a/pkgs/tools/misc/ostree/default.nix
+++ b/pkgs/tools/misc/ostree/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchurl
 , fetchpatch
 , substituteAll
@@ -41,13 +42,13 @@ let
   ]));
 in stdenv.mkDerivation rec {
   pname = "ostree";
-  version = "2022.2";
+  version = "2022.5";
 
   outputs = [ "out" "dev" "man" "installedTests" ];
 
   src = fetchurl {
     url = "https://github.com/ostreedev/ostree/releases/download/v${version}/libostree-${version}.tar.xz";
-    sha256 = "sha256-duL1tXhNjLaG6QvjL87LtWxsaoJOA3ShpoILV3EDZ2s=";
+    sha256 = "sha256-kUxNmTvBEdfdMK6XIbb/6KtW6x/W6BsJewn0AMwbBT8=";
   };
 
   patches = [
diff --git a/pkgs/tools/misc/outils/default.nix b/pkgs/tools/misc/outils/default.nix
new file mode 100644
index 00000000000..065d641f4f3
--- /dev/null
+++ b/pkgs/tools/misc/outils/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, lib }:
+
+stdenv.mkDerivation rec {
+  pname = "outils";
+  version = "0.10";
+
+  src = fetchFromGitHub {
+    owner = "leahneukirchen";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-xYjILa0Km57q/xNP+M34r29WLGC15tzUNoUgPzQTtIs=";
+  };
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/leahneukirchen/outils";
+    description = "Port of OpenBSD-exclusive tools such as `calendar`, `vis`, and `signify`";
+    license = with licenses; [
+      beerware
+      bsd2
+      bsd3
+      bsdOriginal
+      isc
+      mit
+      publicDomain
+    ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ somasis ];
+  };
+}
diff --git a/pkgs/tools/misc/partition-manager/default.nix b/pkgs/tools/misc/partition-manager/default.nix
index 851179c8d87..e4691100da0 100644
--- a/pkgs/tools/misc/partition-manager/default.nix
+++ b/pkgs/tools/misc/partition-manager/default.nix
@@ -41,11 +41,11 @@ let
 in mkDerivation rec {
   pname = "partitionmanager";
   # NOTE: When changing this version, also change the version of `kpmcore`.
-  version = "22.04.0";
+  version = "22.04.3";
 
   src = fetchurl {
     url = "mirror://kde/stable/release-service/${version}/src/${pname}-${version}.tar.xz";
-    hash = "sha256-eChn3OkdLHC9pedDBBwszTeTj2l7ky2W79INqvjrkBo=";
+    hash = "sha256-wt5iQC8Ok6Ey4JJEipz8rk5UxS8kCKRmQZnQAm0WhOg=";
   };
 
   nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook ];
diff --git a/pkgs/tools/misc/perccli/default.nix b/pkgs/tools/misc/perccli/default.nix
new file mode 100644
index 00000000000..517fffead53
--- /dev/null
+++ b/pkgs/tools/misc/perccli/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, stdenvNoCC
+, fetchurl
+, rpmextract
+}:
+stdenvNoCC.mkDerivation rec {
+  pname = "perccli";
+  version = "7.1910.00";
+
+  src = fetchurl {
+    url = "https://dl.dell.com/FOLDER07815522M/1/PERCCLI_${version}_A12_Linux.tar.gz";
+    sha256 = "sha256-Gt/kr5schR/IzFmnhXO57gjZpOJ9NSnPX/Sj7zo8Qjk=";
+    # Dell seems to block "uncommon" user-agents, such as Nixpkgs's custom one.
+    # Sending no user-agent at all seems to be fine though.
+    curlOptsList = [ "--user-agent" "" ];
+  };
+
+  nativeBuildInputs = [ rpmextract ];
+
+  buildCommand = ''
+    tar xf $src
+    rpmextract PERCCLI_*_Linux/perccli-*.noarch.rpm
+    install -D ./opt/MegaRAID/perccli/perccli64 $out/bin/perccli64
+    ln -s perccli64 $out/bin/perccli
+
+    # Not needed because the binary is statically linked
+    #eval fixupPhase
+  '';
+
+  meta = with lib; {
+    description = "Perccli Support for PERC RAID controllers";
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
+    license = licenses.unfree;
+    maintainers = with maintainers; [ panicgh ];
+    platforms = with platforms; intersectLists x86_64 linux;
+  };
+}
diff --git a/pkgs/tools/misc/plantuml/default.nix b/pkgs/tools/misc/plantuml/default.nix
index 14ef1b33582..7692c413b0b 100644
--- a/pkgs/tools/misc/plantuml/default.nix
+++ b/pkgs/tools/misc/plantuml/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, makeWrapper, jre, graphviz }:
 
 stdenv.mkDerivation rec {
-  version = "1.2022.5";
+  version = "1.2022.6";
   pname = "plantuml";
 
   src = fetchurl {
     url = "https://github.com/plantuml/plantuml/releases/download/v${version}/plantuml-pdf-${version}.jar";
-    sha256 = "sha256-Mi5aH5tlbo8qDj91ZTglFCKETcbXPfTQsBnhYOHrXpQ=";
+    sha256 = "sha256-J3EfNwDYQ2CO5qWH37wMKtdLStGjHu75wfEMX5Y2NeE=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/plowshare/default.nix b/pkgs/tools/misc/plowshare/default.nix
index 1d15db02040..b5396f130f1 100644
--- a/pkgs/tools/misc/plowshare/default.nix
+++ b/pkgs/tools/misc/plowshare/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper, curl, recode, spidermonkey_78 }:
+{ lib, stdenv, fetchFromGitHub, makeWrapper, curl, recode, spidermonkey_102 }:
 
 stdenv.mkDerivation rec {
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     make PREFIX="$out" install
 
     for fn in plow{del,down,list,mod,probe,up}; do
-      wrapProgram "$out/bin/$fn" --prefix PATH : "${lib.makeBinPath [ curl recode spidermonkey_78 ]}"
+      wrapProgram "$out/bin/$fn" --prefix PATH : "${lib.makeBinPath [ curl recode spidermonkey_102 ]}"
     done
   '';
 
diff --git a/pkgs/tools/misc/pls/default.nix b/pkgs/tools/misc/pls/default.nix
index 78501bbf482..d6ffd653204 100644
--- a/pkgs/tools/misc/pls/default.nix
+++ b/pkgs/tools/misc/pls/default.nix
@@ -2,14 +2,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "pls";
-  version = "5.3.0";
+  version = "5.4.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "dhruvkb";
     repo = "pls";
     rev = version;
-    sha256 = "sha256-MtbOrdMTwnKRGlmiisHuGvQ6ScWbAAV8100ruO0MRvM=";
+    sha256 = "sha256-h93Kz+ETdHfnzypa8JjMvbzA1o/KS1UuTG8/vhEt7Vo=";
   };
 
   nativeBuildInputs = [ python3.pkgs.poetry-core ];
diff --git a/pkgs/tools/misc/pubs/default.nix b/pkgs/tools/misc/pubs/default.nix
index 04021e40b74..81cb81829a4 100644
--- a/pkgs/tools/misc/pubs/default.nix
+++ b/pkgs/tools/misc/pubs/default.nix
@@ -1,5 +1,6 @@
 { lib
 , fetchFromGitHub
+, fetchpatch
 , python3
 }:
 
@@ -14,6 +15,19 @@ python3.pkgs.buildPythonApplication rec {
     hash = "sha256-U/9MLqfXrzYVGttFSafw4pYDy26WgdsJMCxciZzO1pw=";
   };
 
+  patches = [
+    # https://github.com/pubs/pubs/pull/278
+    (fetchpatch {
+      url = "https://github.com/pubs/pubs/commit/9623d2c3ca8ff6d2bb7f6c8d8624f9a174d831bc.patch";
+      hash = "sha256-6qoufKPv3k6C9BQTZ2/175Nk7zWPh89vG+zebx6ZFOk=";
+    })
+    # https://github.com/pubs/pubs/pull/279
+    (fetchpatch {
+      url = "https://github.com/pubs/pubs/commit/05e214eb406447196c77c8aa3e4658f70e505f23.patch";
+      hash = "sha256-UBkKiYaG6y6z8lsRpdcsaGsoklv6qj07KWdfkQcVl2g=";
+    })
+  ];
+
   propagatedBuildInputs = with python3.pkgs; [
     pyyaml
     bibtexparser
diff --git a/pkgs/tools/misc/qflipper/default.nix b/pkgs/tools/misc/qflipper/default.nix
index 3a711a1be31..d182f906721 100644
--- a/pkgs/tools/misc/qflipper/default.nix
+++ b/pkgs/tools/misc/qflipper/default.nix
@@ -23,8 +23,8 @@
 }:
 let
   pname = "qFlipper";
-  version = "1.1.1";
-  sha256 = "sha256-X29iurCloH//7soHd+trPTjhOe9S6ixFts5KldATlwA=";
+  version = "1.1.2";
+  sha256 = "sha256-llbsyzRXJnaX53wnJ1j5X88nucq6qoRljVIGGyYuxuA=";
   timestamp = "99999999999";
   commit = "nix-${version}";
 
diff --git a/pkgs/tools/misc/remind/default.nix b/pkgs/tools/misc/remind/default.nix
index da2a969aafc..a397e318a21 100644
--- a/pkgs/tools/misc/remind/default.nix
+++ b/pkgs/tools/misc/remind/default.nix
@@ -16,11 +16,11 @@ let
 in
 tcl.mkTclDerivation rec {
   pname = "remind";
-  version = "04.00.00";
+  version = "04.00.02";
 
   src = fetchurl {
     url = "https://dianne.skoll.ca/projects/remind/download/remind-${version}.tar.gz";
-    sha256 = "sha256-I7bmsO3EAUnmo2KoIy5myxXuZB8tzs5kCEXpG550x8Y=";
+    sha256 = "sha256-8Yrdu3IMN1yD+zlAAlEW688EVqNYZQhkKzxtsAKtd3Q=";
   };
 
   propagatedBuildInputs = tclLibraries;
diff --git a/pkgs/tools/misc/reredirect/default.nix b/pkgs/tools/misc/reredirect/default.nix
index eb1c90324e0..479c8ac28e5 100644
--- a/pkgs/tools/misc/reredirect/default.nix
+++ b/pkgs/tools/misc/reredirect/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "reredirect";
-  version = "0.2";
+  version = "0.3";
 
   src = fetchFromGitHub {
     owner = "jerome-pouiller";
     repo = "reredirect";
     rev = "v${version}";
-    sha256 = "0aqzs940kwvw80lhkszx8spcdh9ilsx5ncl9vnp611hwlryfw7kk";
+    sha256 = "sha256-RHRamDo7afnJ4DlOVAqM8lQAC60YESGSMKa8Io2vcX0=";
   };
 
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
diff --git a/pkgs/tools/misc/rpm-ostree/default.nix b/pkgs/tools/misc/rpm-ostree/default.nix
index e7025217e34..2e6a050457f 100644
--- a/pkgs/tools/misc/rpm-ostree/default.nix
+++ b/pkgs/tools/misc/rpm-ostree/default.nix
@@ -40,13 +40,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rpm-ostree";
-  version = "2022.3";
+  version = "2022.12";
 
   outputs = [ "out" "dev" "man" "devdoc" ];
 
   src = fetchurl {
     url = "https://github.com/coreos/${pname}/releases/download/v${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-ERDaCLj/qvyzAxmpUfFsCx9fsDjlhQ19PRyUTVZ2Z2w=";
+    sha256 = "sha256-kl9TwrvrIdF/R4NIVXUP2WYDflwB6BE+0j9Rum9jTXY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/sanctity/default.nix b/pkgs/tools/misc/sanctity/default.nix
index 6cb33a78bf4..cdfc1b89e63 100644
--- a/pkgs/tools/misc/sanctity/default.nix
+++ b/pkgs/tools/misc/sanctity/default.nix
@@ -2,17 +2,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "sanctity";
-  version = "1.2.1";
+  version = "1.3.1";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "annaaurora";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-rK4em0maJQS50zPfnuFSxRoXUuFCaw9ZOfmgf70Sdac=";
+    sha256 = "sha256-y6xj4A5SHcW747aFE9TfuurNnuUxjTUeKJmzxeiWqVc=";
   };
 
-  cargoSha256 = "sha256-IQp/sSVgKY1j6N+UcifEi74dg/PkZJoeqLekeLc/vMU=";
+  cargoSha256 = "sha256-co58YBeFjP9DKzxDegQI7txuJ1smqJxdlRLae+Ppwh0=";
 
   meta = with lib; {
     description = "Test the 16 terminal colors in all combinations";
diff --git a/pkgs/tools/misc/smenu/default.nix b/pkgs/tools/misc/smenu/default.nix
index 3ee4de082bd..a56978e0728 100644
--- a/pkgs/tools/misc/smenu/default.nix
+++ b/pkgs/tools/misc/smenu/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub, ncurses }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.19";
+  version = "1.0.0";
   pname = "smenu";
 
   src = fetchFromGitHub {
     owner = "p-gen";
     repo = "smenu";
     rev = "v${version}";
-    sha256 = "sha256-0ZA8Op1IMZMJ7g1waK2uOYOCDfqPfiqnnjopGtBW1w8=";
+    sha256 = "sha256-jmQ5QLsy0T2ytq1xYJkLBlEw5NxVTsAN+wckyV+68zg=";
   };
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/tools/misc/storcli/default.nix b/pkgs/tools/misc/storcli/default.nix
new file mode 100644
index 00000000000..03300f46f8c
--- /dev/null
+++ b/pkgs/tools/misc/storcli/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, stdenvNoCC
+, fetchurl
+, rpmextract
+, unzip
+}:
+stdenvNoCC.mkDerivation rec {
+  pname = "storcli";
+  version = "7.2106.00";
+
+  src = fetchurl {
+    url = "https://docs.broadcom.com/docs-and-downloads/raid-controllers/raid-controllers-common-files/00${version}00.0000_Unified_StorCLI.zip";
+    sha256 = "sha256-sRMpNXCdcysliVQwRE/1yAeU/cp+y0f2F8BPiWyotxQ=";
+  };
+
+  nativeBuildInputs = [ rpmextract unzip ];
+
+  buildCommand = ''
+    unzip $src
+    rpmextract Unified_storcli_all_os/Linux/storcli-*.noarch.rpm
+    install -D ./opt/MegaRAID/storcli/storcli64 $out/bin/storcli64
+    ln -s storcli64 $out/bin/storcli
+
+    # Not needed because the binary is statically linked
+    #eval fixupPhase
+  '';
+
+  meta = with lib; {
+    description = "Storage Command Line Tool";
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
+    license = licenses.unfree;
+    maintainers = with maintainers; [ panicgh ];
+    platforms = with platforms; intersectLists x86_64 linux;
+  };
+}
diff --git a/pkgs/tools/misc/taoup/default.nix b/pkgs/tools/misc/taoup/default.nix
index df61794185d..f63e6f7a027 100644
--- a/pkgs/tools/misc/taoup/default.nix
+++ b/pkgs/tools/misc/taoup/default.nix
@@ -4,13 +4,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "taoup";
-  version = "1.1.16";
+  version = "1.1.17";
 
   src = fetchFromGitHub {
     owner = "globalcitizen";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-LNS4m7Er4dQKYDuHMF/5mAi4yGcYzppxfqVKFOT6I/s=";
+    hash = "sha256-awVom/X9R//w8yYaIwjm5RFYsptySl+PkArF1wP/LAc=";
   };
 
   buildInputs = [ rubyEnv bash ncurses ];
diff --git a/pkgs/tools/misc/tldr/default.nix b/pkgs/tools/misc/tldr/default.nix
index 698236ada18..bd521238ca8 100644
--- a/pkgs/tools/misc/tldr/default.nix
+++ b/pkgs/tools/misc/tldr/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tldr";
-  version = "1.4.3";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "tldr-pages";
     repo = "tldr-cpp-client";
     rev = "v${version}";
-    sha256 = "sha256-ZNUW2PebRUDLcZ2/dXClXqf8NUjgw6N73h32PJ8iwmM=";
+    sha256 = "sha256-xim5SB9/26FMjLqhiV+lj+Rm5Tk5luSIqwyYb3kXoFY=";
   };
 
   buildInputs = [ curl libzip ];
diff --git a/pkgs/tools/misc/topicctl/default.nix b/pkgs/tools/misc/topicctl/default.nix
index 99e49185cb0..926b27c905d 100644
--- a/pkgs/tools/misc/topicctl/default.nix
+++ b/pkgs/tools/misc/topicctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "topicctl";
-  version = "1.4.0";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "segmentio";
     repo = "topicctl";
     rev = "v${version}";
-    sha256 = "sha256-uuASiJXyYzQC+9TkoALKiygRrgoEeR2cFPDQeZ9pIQ4=";
+    sha256 = "sha256-7dw1UldffSCoJYhICb7v7XWQdXerSkrKonNNio0PkTQ=";
   };
 
-  vendorSha256 = "sha256-u5U6JnlkQOjzKjbwdKgJ2YAh8//x7H/F3PC/H60boZc=";
+  vendorSha256 = "sha256-P3o4P6CUDB0jIpmgxgYL7D6TJuaWQBCprsE4NLTLELY=";
 
   ldflags = [
     "-X main.BuildVersion=${version}"
diff --git a/pkgs/tools/misc/watchexec/default.nix b/pkgs/tools/misc/watchexec/default.nix
index 6fa707b521f..a7ba390b101 100644
--- a/pkgs/tools/misc/watchexec/default.nix
+++ b/pkgs/tools/misc/watchexec/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "watchexec";
-  version = "1.20.4";
+  version = "1.20.5";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "cli-v${version}";
-    sha256 = "sha256-se3iqz+qjwf71wvHQhCWYryEdUc+kY0Q0ZTg4i1ayNI=";
+    sha256 = "sha256-x1weerTOpD4g1Fbm5erbS4S87ZjygF2X3MyyXl+9DXw=";
   };
 
-  cargoSha256 = "sha256-YM+Zm3wFp3Lsx5LmyjGwZywV/SZjriL6JMDO1l0tNf4=";
+  cargoSha256 = "sha256-hyPIdMVUXc03B8opcqq7y0wS1rqCfOQ1W5M8jDUqr0k=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/misc/xstow/default.nix b/pkgs/tools/misc/xstow/default.nix
index b57b546f947..079f4e67579 100644
--- a/pkgs/tools/misc/xstow/default.nix
+++ b/pkgs/tools/misc/xstow/default.nix
@@ -1,11 +1,11 @@
 { stdenv, lib, fetchurl, ncurses }:
 stdenv.mkDerivation rec {
   pname = "xstow";
-  version = "1.0.2";
+  version = "1.1.0";
 
   src = fetchurl {
     url = "http://downloads.sourceforge.net/sourceforge/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "6f041f19a5d71667f6a9436d56f5a50646b6b8c055ef5ae0813dcecb35a3c6ef";
+    sha256 = "sha256-wXQ5XSmogAt1torfarrqIU4nBYj69MGM/HBYqeIE+dw=";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/misc/yank/default.nix b/pkgs/tools/misc/yank/default.nix
index dbbe14cf386..9579b3fa3f5 100644
--- a/pkgs/tools/misc/yank/default.nix
+++ b/pkgs/tools/misc/yank/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "yank";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "mptre";
     repo = "yank";
     rev = "v${version}";
-    sha256 = "1izygx7f1z35li74i2cwca0p28c3v8fbr7w72dwpiqdaiwywa8xc";
+    sha256 = "sha256-sZiZki2Zl0Tfmls5KrLGxT94Bdf9TA9EwoaLoFOX9B4=";
   };
 
   installFlags = [ "PREFIX=$(out)" ];
diff --git a/pkgs/tools/misc/yt-dlp/default.nix b/pkgs/tools/misc/yt-dlp/default.nix
index 069f4e13aff..eef90d17d67 100644
--- a/pkgs/tools/misc/yt-dlp/default.nix
+++ b/pkgs/tools/misc/yt-dlp/default.nix
@@ -20,12 +20,11 @@ buildPythonPackage rec {
   # The websites yt-dlp deals with are a very moving target. That means that
   # downloads break constantly. Because of that, updates should always be backported
   # to the latest stable release.
-  version = "2022.07.18";
+  version = "2022.8.8";
 
   src = fetchPypi {
-    inherit pname;
-    version = builtins.replaceStrings [ ".0" ] [ "." ] version;
-    sha256 = "sha256-DnuB/GrI0bfT//p5+QRMpBY3hEIlgsmjWTMF2ipp7AI=";
+    inherit pname version;
+    sha256 = "sha256-Fcq2Em4SrxETQhOAbmpc+X0cYiHhSKomGN3UKTmjCo0=";
   };
 
   propagatedBuildInputs = [ brotli certifi mutagen pycryptodomex websockets ];
@@ -57,7 +56,6 @@ buildPythonPackage rec {
   meta = with lib; {
     homepage = "https://github.com/yt-dlp/yt-dlp/";
     description = "Command-line tool to download videos from YouTube.com and other sites (youtube-dl fork)";
-    changelog = "https://github.com/yt-dlp/yt-dlp/raw/${version}/Changelog.md";
     longDescription = ''
       yt-dlp is a youtube-dl fork based on the now inactive youtube-dlc.
 
diff --git a/pkgs/tools/misc/ytfzf/default.nix b/pkgs/tools/misc/ytfzf/default.nix
index 1dddd4b64ce..c199473179e 100644
--- a/pkgs/tools/misc/ytfzf/default.nix
+++ b/pkgs/tools/misc/ytfzf/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ytfzf";
-  version = "2.4.0";
+  version = "2.4.1";
 
   src = fetchFromGitHub {
     owner = "pystardust";
     repo = "ytfzf";
     rev = "v${version}";
-    hash = "sha256-IQ6YIHcFriqLAGoB8QhvWiYkI7Aq4RL12TL3c/N+YqE=";
+    hash = "sha256-nci2VXto9LptfNHBmLGxfMXQnzbVP1+GlvllOqWFGKU=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/zellij/default.nix b/pkgs/tools/misc/zellij/default.nix
index c6dff7b1353..ac4d926a2ed 100644
--- a/pkgs/tools/misc/zellij/default.nix
+++ b/pkgs/tools/misc/zellij/default.nix
@@ -15,16 +15,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "zellij";
-  version = "0.31.0";
+  version = "0.31.1";
 
   src = fetchFromGitHub {
     owner = "zellij-org";
     repo = "zellij";
     rev = "v${version}";
-    sha256 = "sha256-8QHebxjNKnEhF7CdaEkSuSwvb0nbDSxYTlJN2Vn/pRk=";
+    sha256 = "sha256-8ISOyfLNtLW244HkCOpB38fhafnxRaOBBezpVz4Mb2o=";
   };
 
-  cargoSha256 = "sha256-dPK0gq+zCLn5n3tXt2DNqsL4+I+3vwR8ebRsrPlaMl0=";
+  cargoSha256 = "sha256-lBmJL7p7mqfly6CmZBFR2FFD4QlAccCAYU251HuI9jY=";
 
   nativeBuildInputs = [
     mandown
diff --git a/pkgs/tools/networking/acme-client/default.nix b/pkgs/tools/networking/acme-client/default.nix
index 427bcd62233..ba47d930cfa 100644
--- a/pkgs/tools/networking/acme-client/default.nix
+++ b/pkgs/tools/networking/acme-client/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "acme-client";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchurl {
     url = "https://data.wolfsden.cz/sources/acme-client-${version}.tar.gz";
-    hash = "sha256-rIeWZSOT+nPzLf2mDtOkN/wmCGffG4H6PCQb2Vxbxxk=";
+    hash = "sha256-lMCDis4CZQF6YwZGzdWD92/S1yT2cEAXXlTAipYYxro=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/networking/airgeddon/default.nix b/pkgs/tools/networking/airgeddon/default.nix
index 2effd550852..b0528a8808e 100644
--- a/pkgs/tools/networking/airgeddon/default.nix
+++ b/pkgs/tools/networking/airgeddon/default.nix
@@ -109,13 +109,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "airgeddon";
-  version = "11.01";
+  version = "11.02";
 
   src = fetchFromGitHub {
     owner = "v1s1t0r1sh3r3";
     repo = "airgeddon";
     rev = "v${version}";
-    sha256 = "3TjaLEcerRk69Ys4kj7vOMCRUd0ifFJzL4MB5ifoK68=";
+    hash = "sha256-k3xQndF1m3fnn7nCb2T/wGxbUPJ83wOV33Ky0FbToVg=";
   };
 
   strictDeps = true;
diff --git a/pkgs/tools/networking/babeld/default.nix b/pkgs/tools/networking/babeld/default.nix
index 28caace1028..5714a75e50e 100644
--- a/pkgs/tools/networking/babeld/default.nix
+++ b/pkgs/tools/networking/babeld/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     homepage = "http://www.irif.fr/~jch/software/babel/";
     description = "Loop-avoiding distance-vector routing protocol";
     license = licenses.mit;
-    maintainers = with maintainers; [ fpletz hexa ];
+    maintainers = with maintainers; [ hexa ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/dhcpcd/default.nix b/pkgs/tools/networking/dhcpcd/default.nix
index 1cd1918e3c8..81c721a20a4 100644
--- a/pkgs/tools/networking/dhcpcd/default.nix
+++ b/pkgs/tools/networking/dhcpcd/default.nix
@@ -64,6 +64,6 @@ stdenv.mkDerivation rec {
     homepage = "https://roy.marples.name/projects/dhcpcd";
     platforms = platforms.linux;
     license = licenses.bsd2;
-    maintainers = with maintainers; [ eelco fpletz ];
+    maintainers = with maintainers; [ eelco ];
   };
 }
diff --git a/pkgs/tools/networking/eggdrop/default.nix b/pkgs/tools/networking/eggdrop/default.nix
index a294267bef6..9c5c8efa5a7 100644
--- a/pkgs/tools/networking/eggdrop/default.nix
+++ b/pkgs/tools/networking/eggdrop/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "eggdrop";
-  version = "1.9.1";
+  version = "1.9.3";
 
   src = fetchFromGitHub {
     owner = "eggheads";
     repo = "eggdrop";
     rev = "v${version}";
-    sha256 = "sha256-vh8nym7aYeTRUQ7FBZRy4ToG2ajwRDhzi4jNiJQOEyQ=";
+    sha256 = "sha256-BYPDIPn1nuVhnPjs2vZ6KC6pjBVYDWsRjB8c1Z6UUdE=";
   };
 
   buildInputs = [ tcl ];
diff --git a/pkgs/tools/networking/flannel/default.nix b/pkgs/tools/networking/flannel/default.nix
index a4480f4eac4..9136b81a00a 100644
--- a/pkgs/tools/networking/flannel/default.nix
+++ b/pkgs/tools/networking/flannel/default.nix
@@ -4,7 +4,7 @@ with lib;
 
 buildGoModule rec {
   pname = "flannel";
-  version = "0.19.0";
+  version = "0.19.1";
   rev = "v${version}";
 
   vendorSha256 = null;
@@ -13,7 +13,7 @@ buildGoModule rec {
     inherit rev;
     owner = "flannel-io";
     repo = "flannel";
-    sha256 = "sha256-vWDOEeHJaXGo+p60ls3a5FGwjDBI49QdZ92ibxO1aEU=";
+    sha256 = "sha256-pWi4JKBfIb6c4fh0EAPf86B4axrDzOPM+ZWquFd6mTk=";
   };
 
   ldflags = [ "-X github.com/flannel-io/flannel/version.Version=${rev}" ];
diff --git a/pkgs/tools/networking/globalprotect-openconnect/default.nix b/pkgs/tools/networking/globalprotect-openconnect/default.nix
index acda428875e..e35abc33ca9 100644
--- a/pkgs/tools/networking/globalprotect-openconnect/default.nix
+++ b/pkgs/tools/networking/globalprotect-openconnect/default.nix
@@ -4,14 +4,14 @@
 
 stdenv.mkDerivation rec {
   pname = "globalprotect-openconnect";
-  version = "1.4.5";
+  version = "1.4.8";
 
   src = fetchFromGitHub {
     owner = "yuezk";
     repo = "GlobalProtect-openconnect";
     fetchSubmodules = true;
     rev = "v${version}";
-    sha256 = "sha256-9wRe7pJiosk2b0FKhHKpG6P2QPuBo8bVi6rnUMIkG6I=";
+    sha256 = "sha256-PQAlGeHVayImKalCNv2SwPcxD0ts4BVSqeo1hKYmnMA=";
   };
 
   nativeBuildInputs = [ cmake wrapQtAppsHook ];
diff --git a/pkgs/tools/networking/gobgp/default.nix b/pkgs/tools/networking/gobgp/default.nix
index 83da29cd78f..3e22f247147 100644
--- a/pkgs/tools/networking/gobgp/default.nix
+++ b/pkgs/tools/networking/gobgp/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gobgp";
-  version = "3.4.0";
+  version = "3.5.0";
 
   src = fetchFromGitHub {
     owner = "osrg";
     repo = "gobgp";
     rev = "v${version}";
-    sha256 = "sha256-iV5iohDwJ6LCtX2qvv+Z7jYRukqM606UlAROLb/1Fak=";
+    sha256 = "sha256-iFtoxEjb+Wk8E2oj1SjSRNwxg20//0LgFtjMq9qJOEQ=";
   };
 
-  vendorSha256 = "sha256-hw2cyKJaLBmPRdF4D+GVcVCkTpIK0HZasbMyYfLef1w=";
+  vendorSha256 = "sha256-FxfER3THsA7NRuQKEdWQxgUN0SiNI00hGUMVD+3BaG4=";
 
   postConfigure = ''
     export CGO_ENABLED=0
diff --git a/pkgs/tools/networking/godns/default.nix b/pkgs/tools/networking/godns/default.nix
index 116b8b0c4c7..068baff54d8 100644
--- a/pkgs/tools/networking/godns/default.nix
+++ b/pkgs/tools/networking/godns/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "godns";
-  version = "2.8.7";
+  version = "2.8.8";
 
   src = fetchFromGitHub {
     owner = "TimothyYe";
     repo = "godns";
     rev = "v${version}";
-    sha256 = "sha256-BxANSw+SWOpz9vM2I3ODghOqJRi5dBr7j0YVSSBrrto=";
+    sha256 = "sha256-2vjOxbfCBNBNlEUOXmmWEJYxM2aeEi3yIbJ1XsFmNNw=";
   };
 
   vendorSha256 = "sha256-PGqknRGtN0XRGPnAsWzQrlJZG5BzQIhlSysGefkxysE=";
diff --git a/pkgs/tools/networking/grpcui/default.nix b/pkgs/tools/networking/grpcui/default.nix
index f6828470fcb..704d39099d7 100644
--- a/pkgs/tools/networking/grpcui/default.nix
+++ b/pkgs/tools/networking/grpcui/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "grpcui";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "fullstorydev";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-XDVt5fml2zYXOcZYXnxxGu4uaUA75DnRlFkbcc6tDag=";
+    sha256 = "sha256-9rKZFbRJn/Rv/9vznBujEt0bSCvx9eLKADoYc4pXBeY=";
   };
 
-  vendorSha256 = "sha256-jHNjvh4rpZdQ/RC9gN3KXnuOLkJX8Ow5GV+Qwfyvx1o=";
+  vendorSha256 = "sha256-DTLguUSFgGOF+okHQdFxL944NA+WPWT1zaeu38p1p0M=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/networking/grpcurl/default.nix b/pkgs/tools/networking/grpcurl/default.nix
index 40c28a2a1d1..7df4c51f035 100644
--- a/pkgs/tools/networking/grpcurl/default.nix
+++ b/pkgs/tools/networking/grpcurl/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "grpcurl";
-  version = "1.8.6";
+  version = "1.8.7";
 
   src = fetchFromGitHub {
     owner = "fullstorydev";
     repo = "grpcurl";
     rev = "v${version}";
-    sha256 = "sha256-dS9r738y0B+p2eoo1NV54OEeRzsj9fOs09NB3HRKmJY=";
+    sha256 = "sha256-03Uo40kz9CNK3lC91J8smDlviRNQymP95DWmIMwZF/E=";
   };
 
   subPackages = [ "cmd/grpcurl" ];
 
-  vendorSha256 = "sha256-3f/GcOonE46GjCztjShRsisS/QGPjM4IJelZ8jAiSWU=";
+  vendorSha256 = "sha256-xe3xb1+qa53Xph+CLcUqxJYeD9d4kBaY6SJfc7bhjQY=";
 
   ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
diff --git a/pkgs/tools/networking/haproxy/default.nix b/pkgs/tools/networking/haproxy/default.nix
index c5eef48192a..ef40e467365 100644
--- a/pkgs/tools/networking/haproxy/default.nix
+++ b/pkgs/tools/networking/haproxy/default.nix
@@ -11,11 +11,11 @@ assert usePcre -> pcre != null;
 
 stdenv.mkDerivation rec {
   pname = "haproxy";
-  version = "2.5.5";
+  version = "2.6.2";
 
   src = fetchurl {
     url = "https://www.haproxy.org/download/${lib.versions.majorMinor version}/src/${pname}-${version}.tar.gz";
-    sha256 = "sha256-BjxIRc2y128pLvRNnAEXqFPY0Qrl2WFbQGsUpNdP5Lk=";
+    sha256 = "sha256-+bfcBuAusTtdlNxm4IZKcUruKvnfqxD6NT/58fUsggI=";
   };
 
   buildInputs = [ openssl zlib ]
diff --git a/pkgs/tools/networking/htpdate/default.nix b/pkgs/tools/networking/htpdate/default.nix
index 482d01342bb..9e4cf7846bd 100644
--- a/pkgs/tools/networking/htpdate/default.nix
+++ b/pkgs/tools/networking/htpdate/default.nix
@@ -1,14 +1,14 @@
 { stdenv, lib, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  version = "1.3.3";
+  version = "1.3.5";
   pname = "htpdate";
 
   src = fetchFromGitHub {
     owner = "twekkel";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-/xZxwEui8V5kyfGsmwRRkiyhj7lcJQaTmOjBihvdWg8=";
+    sha256 = "sha256-L3CKBgGk9R8qJFWOS98Tm1j/s/5t6+/Vt2EcZ+or0Ng=";
   };
 
   makeFlags = [
diff --git a/pkgs/tools/networking/hysteria/default.nix b/pkgs/tools/networking/hysteria/default.nix
new file mode 100644
index 00000000000..6807b509adc
--- /dev/null
+++ b/pkgs/tools/networking/hysteria/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, fetchFromGitHub
+, buildGoModule
+}:
+buildGoModule rec {
+  pname = "hysteria";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "HyNetwork";
+    repo = "hysteria";
+    rev = "v${version}";
+    sha256 = "sha256-V+umf7+qRANSNsMrU1Vij3ni6ayq/d41xSy3o+7sEHQ=";
+  };
+
+  vendorSha256 = "sha256-oxCZ4+E3kffHr8ca9BKCSYcSWQ8jwpzrFs0fvCvZyJE=";
+  proxyVendor = true;
+
+  # Network required
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A feature-packed proxy & relay utility optimized for lossy, unstable connections";
+    homepage = "https://github.com/HyNetwork/hysteria";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ oluceps ];
+  };
+}
diff --git a/pkgs/tools/networking/kapp/default.nix b/pkgs/tools/networking/kapp/default.nix
index 260b1109f9d..62166f9976d 100644
--- a/pkgs/tools/networking/kapp/default.nix
+++ b/pkgs/tools/networking/kapp/default.nix
@@ -1,13 +1,13 @@
 { lib, buildGoModule, fetchFromGitHub, installShellFiles }:
 buildGoModule rec {
   pname = "kapp";
-  version = "0.50.0";
+  version = "0.51.0";
 
   src = fetchFromGitHub {
     owner = "vmware-tanzu";
     repo = "carvel-kapp";
     rev = "v${version}";
-    sha256 = "sha256-rNn3CgqOCHe8rTQGM6SscYhX9rR6MBWRs9xdoOWXPIo=";
+    sha256 = "sha256-TfTnq6cGlCm8Fv/pf6wAFrxbW2CJyZFze+woxy70OzA=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/tools/networking/minio-client/default.nix b/pkgs/tools/networking/minio-client/default.nix
index c8710b4a82e..e01cddab88b 100644
--- a/pkgs/tools/networking/minio-client/default.nix
+++ b/pkgs/tools/networking/minio-client/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "minio-client";
-  version = "2022-07-24T02-25-13Z";
+  version = "2022-08-05T08-01-28Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "mc";
     rev = "RELEASE.${version}";
-    sha256 = "sha256-wBAZD2qX/EoAgUVPdBJrPJe4Na6yPgjoJeKGBqwYJzs=";
+    sha256 = "sha256-XtRpRp5KtqM+VwaouzbcjoiwuUDo4NtgaQ/bsCmwP58=";
   };
 
-  vendorSha256 = "sha256-F/BNi8DA2NbAE0lUn63DzNeFDXY9hBeIgSv6XBb4cCc=";
+  vendorSha256 = "sha256-0WljjAgL//PqooHwAusMQwJpLRYzjpDUNcrmCHUGyNs=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/tools/networking/mu/default.nix b/pkgs/tools/networking/mu/default.nix
index 510c3a69185..bbaa588545f 100644
--- a/pkgs/tools/networking/mu/default.nix
+++ b/pkgs/tools/networking/mu/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mu";
-  version = "1.8.7";
+  version = "1.8.8";
 
   src = fetchFromGitHub {
     owner = "djcb";
     repo = "mu";
     rev = "v${version}";
-    sha256 = "/RGq/q0N623RR4HuAmyfFx1/OYZBrmK1ddhiT4bgy3k=";
+    hash = "sha256-kgskeQM6zESkjDWmgGqhZlGnH8naZ5k0sw+70ZzW2/E=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/networking/networkmanager/default.nix b/pkgs/tools/networking/networkmanager/default.nix
index 2d4e11f5b99..2c49c3951cf 100644
--- a/pkgs/tools/networking/networkmanager/default.nix
+++ b/pkgs/tools/networking/networkmanager/default.nix
@@ -57,11 +57,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "networkmanager";
-  version = "1.38.2";
+  version = "1.38.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/NetworkManager/${lib.versions.majorMinor version}/NetworkManager-${version}.tar.xz";
-    sha256 = "sha256-nP/SrcaGUTFt8tL4oJ4XF7sdDC6jic/HIaAQnbmzWCY=";
+    sha256 = "sha256-hB9k1Bd2qt2SsVH0flD2K+igYRqQVv5r+BiBAk5qlsU=";
   };
 
   outputs = [ "out" "dev" "devdoc" "man" "doc" ];
@@ -124,22 +124,6 @@ stdenv.mkDerivation rec {
     # Meson does not support using different directories during build and
     # for installation like Autotools did with flags passed to make install.
     ./fix-install-paths.patch
-
-    (fetchpatch {
-      # Prevent downgrade to plain network on Enhanced Open profiles
-      url = "https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/b7946e50acc0d20d31b0c1098fdadc2f105ba799.patch";
-      hash = "sha256-CdZiubfqhJQ5w4+s9O8C5WI9Ls/paONzDX4rX6yEmS0=";
-    })
-    (fetchpatch {
-      # Treat OWE BSSIDs as valid candidates for open profiles
-      url = "https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/dd80cdcc1bd5e2535b8e4a1d1d0c62f1d3328a7c.patch";
-      hash = "sha256-QMZvWN3g8K+UH6y05+RkCmF+gHHU4pB+UXfU770AUis=";
-    })
-    (fetchpatch {
-      # Allow distinguishing pure OWE networks from those with transition mode enabled
-      url = "https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/13ea8d2e7dddd8279c82230594cea533ca349dd3.patch";
-      hash = "sha256-BiINGzX/Zp8pwdbMiDScrZvrHtH7coXkZm1HScFuFWA=";
-    })
   ];
 
   buildInputs = [
diff --git a/pkgs/tools/networking/networkmanager/fix-install-paths.patch b/pkgs/tools/networking/networkmanager/fix-install-paths.patch
index 4e80247cf14..642c386d07c 100644
--- a/pkgs/tools/networking/networkmanager/fix-install-paths.patch
+++ b/pkgs/tools/networking/networkmanager/fix-install-paths.patch
@@ -1,8 +1,8 @@
 diff --git a/meson.build b/meson.build
-index a2d925a7e..5a65cd2fe 100644
+index 9675cd8d03..a4562b693c 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -959,9 +959,9 @@ meson.add_install_script(
+@@ -1005,9 +1005,9 @@ meson.add_install_script(
    join_paths('tools', 'meson-post-install.sh'),
    nm_datadir,
    nm_bindir,
diff --git a/pkgs/tools/networking/networkmanager/fix-paths.patch b/pkgs/tools/networking/networkmanager/fix-paths.patch
index 75d2b7c7541..79b1fd37373 100644
--- a/pkgs/tools/networking/networkmanager/fix-paths.patch
+++ b/pkgs/tools/networking/networkmanager/fix-paths.patch
@@ -24,10 +24,10 @@ index e23b3a5282..c7246a3b61 100644
  ExecStart=@sbindir@/NetworkManager --no-daemon
  Restart=on-failure
 diff --git a/src/core/devices/nm-device.c b/src/core/devices/nm-device.c
-index a11486d54b..de8e9022c6 100644
+index 6b854517e5..7a642e76fe 100644
 --- a/src/core/devices/nm-device.c
 +++ b/src/core/devices/nm-device.c
-@@ -13571,14 +13571,14 @@ nm_device_start_ip_check(NMDevice *self)
+@@ -13605,14 +13605,14 @@ nm_device_start_ip_check(NMDevice *self)
              gw = nm_l3_config_data_get_best_default_route(l3cd, AF_INET);
              if (gw) {
                  _nm_utils_inet4_ntop(NMP_OBJECT_CAST_IP4_ROUTE(gw)->gateway, buf);
@@ -45,10 +45,10 @@ index a11486d54b..de8e9022c6 100644
              }
          }
 diff --git a/src/libnm-client-impl/meson.build b/src/libnm-client-impl/meson.build
-index 21a01e0b04..091c98428f 100644
+index 2026f98dc3..8ec6978b8e 100644
 --- a/src/libnm-client-impl/meson.build
 +++ b/src/libnm-client-impl/meson.build
-@@ -162,7 +162,6 @@ if enable_introspection
+@@ -170,7 +170,6 @@ if enable_introspection
        input: libnm_core_settings_sources,
        output: 'nm-propery-infos-' + info + '.xml',
        command: [
@@ -56,7 +56,7 @@ index 21a01e0b04..091c98428f 100644
          join_paths(meson.source_root(), 'tools', 'generate-docs-nm-property-infos.py'),
          info,
          '@OUTPUT@',
-@@ -219,7 +218,6 @@ if enable_introspection
+@@ -227,7 +226,6 @@ if enable_introspection
        'env',
        'GI_TYPELIB_PATH=' + gi_typelib_path,
        'LD_LIBRARY_PATH=' + ld_library_path,
@@ -65,10 +65,10 @@ index 21a01e0b04..091c98428f 100644
        '--lib-path', meson.current_build_dir(),
        '--gir', '@INPUT@',
 diff --git a/src/libnm-platform/nm-platform-utils.c b/src/libnm-platform/nm-platform-utils.c
-index 9ad030df76..8d800fb1c0 100644
+index bebc53a851..93710455d5 100644
 --- a/src/libnm-platform/nm-platform-utils.c
 +++ b/src/libnm-platform/nm-platform-utils.c
-@@ -2207,7 +2207,7 @@ nmp_utils_modprobe(GError **error, gboolean suppress_error_logging, const char *
+@@ -2209,7 +2209,7 @@ nmp_utils_modprobe(GError **error, gboolean suppress_error_logging, const char *
  
      /* construct the argument list */
      argv = g_ptr_array_sized_new(4);
diff --git a/pkgs/tools/networking/nss-mdns/default.nix b/pkgs/tools/networking/nss-mdns/default.nix
index 6ba996401a8..238c0c364f9 100644
--- a/pkgs/tools/networking/nss-mdns/default.nix
+++ b/pkgs/tools/networking/nss-mdns/default.nix
@@ -1,14 +1,17 @@
-{ fetchurl, lib, stdenv, fetchpatch }:
+{ fetchurl, lib, autoreconfHook, pkg-config, stdenv, fetchpatch, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
   pname = "nss-mdns";
-  version = "0.10";
+  version = "v0.15.1";
 
-  src = fetchurl {
-    url = "http://0pointer.de/lennart/projects/nss-mdns/nss-mdns-${version}.tar.gz";
-    sha256 = "0vgs6j0qsl0mwzh5a0m0bykr7x6bx79vnbyn0r3q289rghp3qs0y";
+  src = fetchFromGitHub {
+    owner = "lathiat";
+    repo = pname;
+    rev = version;
+    hash = "sha256-iRaf9/gu9VkGi1VbGpxvC5q+0M8ivezCz/oAKEg5V1M=";
   };
 
+  buildInputs = [ autoreconfHook pkg-config ];
   # Note: Although `nss-mdns' works by talking to `avahi-daemon', it
   # doesn't depend on the Avahi libraries.  Instead, it contains
   # hand-written D-Bus code to talk to the Avahi daemon.
@@ -21,15 +24,6 @@ stdenv.mkDerivation rec {
       "--localstatedir=/var"
     ];
 
-  patches = [
-    # Provide compat definition for libc lacking <nss.h> (e.g. musl)
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/openembedded/openembedded-core/94f780e889f194b67a48587ac68b3200288bee10/meta/recipes-connectivity/libnss-mdns/libnss-mdns/0001-check-for-nss.h.patch";
-      sha256 = "1l1kjbdw8z31br4vib3l5b85jy7kxin760a2f24lww8v6lqdpgds";
-    })
-  ];
-
-
   meta = {
     description = "The mDNS Name Service Switch (NSS) plug-in";
     longDescription = ''
diff --git a/pkgs/tools/networking/oha/default.nix b/pkgs/tools/networking/oha/default.nix
index 315a4b6084b..ddf3e543688 100644
--- a/pkgs/tools/networking/oha/default.nix
+++ b/pkgs/tools/networking/oha/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "oha";
-  version = "0.5.0";
+  version = "0.5.3";
 
   src = fetchFromGitHub {
     owner = "hatoo";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-wCoBlbi4/EiTAA1xiZ/taVrokE0ECf8STAlA1sk/pm0=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-P21rANxgreXu8vA1vsFCSkh1Irs67r3s33XT1dMFD7I=";
   };
 
-  cargoSha256 = "sha256-tcORdyxGViUhKbtxVJaZ1G3uUpyr1pRLu5j8v52lMg8=";
+  cargoSha256 = "sha256-l6xQbZVrWF8Uw27datqvv9B3LoPtoaCnumo0gIjKdaA=";
 
   nativeBuildInputs = lib.optional stdenv.isLinux pkg-config;
 
@@ -24,6 +24,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "HTTP load generator inspired by rakyll/hey with tui animation";
     homepage = "https://github.com/hatoo/oha";
+    changelog = "https://github.com/hatoo/oha/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
   };
diff --git a/pkgs/tools/networking/ooniprobe-cli/default.nix b/pkgs/tools/networking/ooniprobe-cli/default.nix
index 8ae015102bb..ea7a1456325 100644
--- a/pkgs/tools/networking/ooniprobe-cli/default.nix
+++ b/pkgs/tools/networking/ooniprobe-cli/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "ooniprobe-cli";
-  version = "3.15.1";
+  version = "3.15.3";
 
   src = fetchFromGitHub {
     owner = "ooni";
     repo = "probe-cli";
     rev = "v${version}";
-    hash = "sha256-s1q9QgdbLmMaEV2ovGRKWHRhUFvbTHhFvo7ALdhUG4Y=";
+    hash = "sha256-21D/1ImKOr9+GeSrIRCUGCcALU0WPohrnz1qqUXLy1A=";
   };
 
-  vendorSha256 = "sha256-h06WoKykuVzNgco74YbpSP+1nu/bOEf2mT4rUEX8MxU=";
+  vendorSha256 = "sha256-tZHBcVTCll3dSfQnQDfo9z3ALAykRmFvH7vjLLtQHDc=";
 
   subPackages = [ "cmd/ooniprobe" ];
 
diff --git a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
index f50920186df..a47483a11f3 100644
--- a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
+++ b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
@@ -61,7 +61,7 @@ python3Packages.buildPythonApplication rec {
   propagatedBuildInputs = with python3Packages; [
     appdirs beautifulsoup4 characteristic distro eliot fixtures foolscap future
     html5lib magic-wormhole netifaces pyasn1 pycrypto pyutil pyyaml recommonmark
-    service-identity simplejson sphinx_rtd_theme testtools treq twisted zfec
+    service-identity simplejson sphinx-rtd-theme testtools treq twisted zfec
     zope_interface
   ] ++ twisted.optional-dependencies.tls
     ++ twisted.optional-dependencies.conch;
diff --git a/pkgs/tools/networking/pixiewps/default.nix b/pkgs/tools/networking/pixiewps/default.nix
index 561daacfd53..82d420755d0 100644
--- a/pkgs/tools/networking/pixiewps/default.nix
+++ b/pkgs/tools/networking/pixiewps/default.nix
@@ -2,23 +2,21 @@
 
 stdenv.mkDerivation rec {
   pname = "pixiewps";
-  version = "1.2.2";
+  version = "1.4.2";
   src = fetchFromGitHub {
-    owner = "wiire";
+    owner = "wiire-a";
     repo = "pixiewps";
     rev = "v${version}";
-    sha256 = "09znnj7p8cks7zxzklkdm4zy2qnp92vhngm9r0zfgawnl2b4r2aw";
+    sha256 = "sha256-cJ20Gp6YaSdgUXK/ckK5Yv0rGbGXuFMP5zKZG0c4oOY=";
   };
 
   preBuild = ''
-    cd src
-    substituteInPlace Makefile --replace "\$(DESTDIR)/usr" "$out"
-    substituteInPlace Makefile --replace "/local" ""
+    substituteInPlace Makefile --replace "/usr/local" "$out"
   '';
 
   meta = {
     description = "An offline WPS bruteforce utility";
-    homepage = "https://github.com/wiire/pixiewps";
+    homepage = "https://github.com/wiire-a/pixiewps";
     license = lib.licenses.gpl3;
     maintainers = [ lib.maintainers.nico202 ];
     platforms = lib.platforms.all;
diff --git a/pkgs/tools/networking/quicktun/default.nix b/pkgs/tools/networking/quicktun/default.nix
index e9fa828af53..b997aad0c2d 100644
--- a/pkgs/tools/networking/quicktun/default.nix
+++ b/pkgs/tools/networking/quicktun/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
     broken = stdenv.isDarwin;
     description = "Very simple, yet secure VPN software";
     homepage = "http://wiki.ucis.nl/QuickTun";
-    maintainers = [ maintainers.fpletz ];
+    maintainers = [ ];
     platforms = platforms.unix;
     license = licenses.bsd2;
   };
diff --git a/pkgs/tools/networking/siege/default.nix b/pkgs/tools/networking/siege/default.nix
index ea810ca77d4..b8b70d861e8 100644
--- a/pkgs/tools/networking/siege/default.nix
+++ b/pkgs/tools/networking/siege/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "siege";
-  version = "4.1.4";
+  version = "4.1.5";
 
   src = fetchurl {
     url = "http://download.joedog.org/siege/${pname}-${version}.tar.gz";
-    hash = "sha256-zkPfnH9rCBqE52CxaEMlGUebrrRXtHTAl6/6W0UqRcs=";
+    hash = "sha256-B235/Nt/Y8Rtb2YazCzMhAWTeunK5JCrip14qdLnuMs=";
   };
 
   NIX_LDFLAGS = lib.optionalString stdenv.isLinux [
diff --git a/pkgs/tools/networking/sipexer/default.nix b/pkgs/tools/networking/sipexer/default.nix
new file mode 100644
index 00000000000..b8646270f8a
--- /dev/null
+++ b/pkgs/tools/networking/sipexer/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "sipexer";
+  version = "1.0.3";
+
+  src = fetchFromGitHub {
+    owner = "miconda";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-cM40hxHMBH0wT1prSRipAZscSBxkZX7riwCrnLQUT0k=";
+  };
+
+  vendorSha256 = "sha256-q2uNqKZc6Zye7YimPDrg40o68Fo4ux4fygjVjJdhqQU=";
+
+  meta = with lib; {
+    description = "Modern and flexible SIP CLI tool";
+    homepage = "https://github.com/miconda/sipexer";
+    changelog = "https://github.com/miconda/sipexer/releases/tag/v${version}";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ astro ];
+  };
+}
diff --git a/pkgs/tools/networking/smartdns/default.nix b/pkgs/tools/networking/smartdns/default.nix
index 9763d52d0b1..691ea6e8a3d 100644
--- a/pkgs/tools/networking/smartdns/default.nix
+++ b/pkgs/tools/networking/smartdns/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "smartdns";
-  version = "36.1";
+  version = "37";
 
   src = fetchFromGitHub {
     owner = "pymumu";
     repo = pname;
     rev = "Release${version}";
-    sha256 = "sha256-5pAt7IjgbCCGaHeSoQvuoc6KPD9Yn5iXL1CAawgBeY0=";
+    sha256 = "sha256-zmcLXhqgwP9SKTyUUhOehQRJk6uX7iwgu9WP2TVhsR8=";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/tools/networking/sstp/default.nix b/pkgs/tools/networking/sstp/default.nix
index 77f86458ad1..b297f2565f9 100644
--- a/pkgs/tools/networking/sstp/default.nix
+++ b/pkgs/tools/networking/sstp/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "sstp-client";
-  version = "1.0.16";
+  version = "1.0.17";
 
   src = fetchurl {
     url = "mirror://sourceforge/sstp-client/sstp-client/sstp-client-${version}.tar.gz";
-    sha256 = "sha256-r74U/RIveHX0+tDtmC0XRRNtLmbMNrl/cu8aERF4TKE=";
+    sha256 = "sha256-Kd07nHERrWmDzWY9Wi8Gnh+KlakTqryOFmlwFGZXkl0=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/networking/strongswan/default.nix b/pkgs/tools/networking/strongswan/default.nix
index 560457bdaa5..6c6dffbef14 100644
--- a/pkgs/tools/networking/strongswan/default.nix
+++ b/pkgs/tools/networking/strongswan/default.nix
@@ -18,13 +18,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "strongswan";
-  version = "5.9.5"; # Make sure to also update <nixpkgs/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix> when upgrading!
+  version = "5.9.7"; # Make sure to also update <nixpkgs/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix> when upgrading!
 
   src = fetchFromGitHub {
     owner = "strongswan";
     repo = "strongswan";
     rev = version;
-    sha256 = "sha256-Jx0Wd/xgkl/WrBfcEvZPogPAQp0MW9HE+AQR2anP5Vo=";
+    sha256 = "sha256-4FOeY3a6DyftrbFtBqtY0nLxdIXPnY91wMAVIBm/KvY=";
   };
 
   dontPatchELF = true;
diff --git a/pkgs/tools/networking/subfinder/default.nix b/pkgs/tools/networking/subfinder/default.nix
index 054b396bd9e..bc05f3d998e 100644
--- a/pkgs/tools/networking/subfinder/default.nix
+++ b/pkgs/tools/networking/subfinder/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "subfinder";
-  version = "2.5.2";
+  version = "2.5.3";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-upqNrr4w/j9e1T5Y1wNeZSm/g05c3rby8slLwE27RKU=";
+    sha256 = "sha256-IAFV8yDgA7ZGGZwdEWxiggIheAN4nH5UFfXQv8IjpwQ=";
   };
 
-  vendorSha256 = "sha256-QBydwf2ED43r13d0tZeO+c6aafrJqnYb8SxXzp0pddA=";
+  vendorSha256 = "sha256-mE2yFGRAgi9RAzt08abbeAuAvmwBFMiAJuMZCDChg3Y=";
 
   modRoot = "./v2";
 
diff --git a/pkgs/tools/networking/swagger-codegen3/default.nix b/pkgs/tools/networking/swagger-codegen3/default.nix
index 224b71f63d9..d1443ddd20a 100644
--- a/pkgs/tools/networking/swagger-codegen3/default.nix
+++ b/pkgs/tools/networking/swagger-codegen3/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, jre, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  version = "3.0.33";
+  version = "3.0.34";
   pname = "swagger-codegen";
 
   jarfilename = "${pname}-cli-${version}.jar";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://maven/io/swagger/codegen/v3/${pname}-cli/${version}/${jarfilename}";
-    sha256 = "sha256-1oGir5F3wgwRQxz3eXI58wMIKYwvtHrRW4VJh0hIVyE=";
+    sha256 = "sha256-C6uSqb8o6hcK7r7NxlHckMBcdMf2APK4FYRpQFMaE9Y=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/tools/networking/telepresence2/default.nix b/pkgs/tools/networking/telepresence2/default.nix
index 283bf6bd5b2..83449c38306 100644
--- a/pkgs/tools/networking/telepresence2/default.nix
+++ b/pkgs/tools/networking/telepresence2/default.nix
@@ -31,7 +31,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Local development against a remote Kubernetes or OpenShift cluster";
-    homepage = "https://www.getambassador.io/docs/telepresence/2.1/quick-start/";
+    homepage = "https://telepresence.io";
     license = licenses.asl20;
     maintainers = with maintainers; [ mausch ];
     mainProgram = "telepresence";
diff --git a/pkgs/tools/networking/tendermint/default.nix b/pkgs/tools/networking/tendermint/default.nix
index 31ff5235aac..4f22a8221d8 100644
--- a/pkgs/tools/networking/tendermint/default.nix
+++ b/pkgs/tools/networking/tendermint/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "tendermint";
-  version = "0.35.2";
+  version = "0.35.9";
 
   src = fetchFromGitHub {
     owner = "tendermint";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-QCCDZ0zsAqV7tvlBeyTpN5iz/jBc50oBgrmUB/R5wCY=";
+    sha256 = "sha256-3tggW+M3vZChDT1g77W5M3hchEN6pTSVvkrZda6ZTCY=";
   };
 
-  vendorSha256 = "sha256-h4sNfV8B+WGgfVPDmWVNek7fQo5qZ3+VGkx4VSw4QF8=";
+  vendorSha256 = "sha256-/enY0qERFzAIJNcuw1djRGoAcmtz7R5Ikvlts0f7rLc=";
 
   subPackages = [ "cmd/tendermint" ];
 
diff --git a/pkgs/tools/networking/termscp/default.nix b/pkgs/tools/networking/termscp/default.nix
index 4a497a767f4..7fbf30614e7 100644
--- a/pkgs/tools/networking/termscp/default.nix
+++ b/pkgs/tools/networking/termscp/default.nix
@@ -5,6 +5,8 @@
 , openssl
 , pkg-config
 , rustPlatform
+, AppKit
+, Cocoa
 , Foundation
 , Security
 , stdenv
@@ -12,16 +14,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "termscp";
-  version = "0.8.2";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "veeso";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-7T3VmcI9CWrKROQ0U2du2d8e0A6XnOxpd8Zl0T4w+KQ=";
+    sha256 = "sha256-iazp3Qx2AivuL+S1Ma/64BLJtE46tc33dq5qsgw+a6Q=";
   };
 
-  cargoSha256 = "sha256-WuoN7b9Fw2Op8tck4ek8gyufInlbPkDHHtLAsbG1NLE=";
+  cargoSha256 = "sha256-FBW3Hl67Efnc/sNGM1LQw6msWHCYRj3KwfmSD2lpbUc=";
 
   nativeBuildInputs = [
     pkg-config
@@ -32,10 +34,16 @@ rustPlatform.buildRustPackage rec {
     libssh
     openssl
   ] ++ lib.optional stdenv.isDarwin [
+    AppKit
+    Cocoa
     Foundation
     Security
   ];
 
+  NIX_CFLAGS_COMPILE = lib.optionals stdenv.isDarwin [
+    "-framework" "AppKit"
+  ];
+
   # Requires network access
   doCheck = false;
 
diff --git a/pkgs/tools/networking/tinc/pre.nix b/pkgs/tools/networking/tinc/pre.nix
index 5bd1858c195..173d2432a77 100644
--- a/pkgs/tools/networking/tinc/pre.nix
+++ b/pkgs/tools/networking/tinc/pre.nix
@@ -39,6 +39,6 @@ stdenv.mkDerivation rec {
     homepage="http://www.tinc-vpn.org/";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ fpletz lassulus mic92 ];
+    maintainers = with maintainers; [ lassulus mic92 ];
   };
 }
diff --git a/pkgs/tools/networking/whois/default.nix b/pkgs/tools/networking/whois/default.nix
index 7e9e20dd3b8..b87991003cf 100644
--- a/pkgs/tools/networking/whois/default.nix
+++ b/pkgs/tools/networking/whois/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub, perl, gettext, pkg-config, libidn2, libiconv }:
 
 stdenv.mkDerivation rec {
-  version = "5.5.12";
+  version = "5.5.13";
   pname = "whois";
 
   src = fetchFromGitHub {
     owner = "rfc1036";
     repo = "whois";
     rev = "v${version}";
-    sha256 = "sha256-UJy71VKEKPYfRXZB2lJiy6Ua6BkGW9Uz0zXciZC4oJE=";
+    sha256 = "sha256-Qd1tPRKbiTNmsOdawxQhJO1ykEA1VdAAXeBPPVlXwvI=";
   };
 
   nativeBuildInputs = [ perl gettext pkg-config ];
diff --git a/pkgs/tools/nix/nixos-generators/default.nix b/pkgs/tools/nix/nixos-generators/default.nix
index ffbb5e0882f..fa4495647c6 100644
--- a/pkgs/tools/nix/nixos-generators/default.nix
+++ b/pkgs/tools/nix/nixos-generators/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "nixos-generators";
-  version = "1.6.0";
+  version = "1.7.0";
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = "nixos-generators";
     rev = version;
-    sha256 = "sha256-dpim9Mtd57Yj6qt7p7UKwjWm6NnOU3S7jaEyEscSyPE=";
+    sha256 = "sha256-WecDwDY/hEcDQYzFnccCNa+5Umht0lfjx/d1qGDy/rQ=";
   };
   nativeBuildInputs = [ makeWrapper ];
   installFlags = [ "PREFIX=$(out)" ];
diff --git a/pkgs/tools/package-management/apt/default.nix b/pkgs/tools/package-management/apt/default.nix
index 550f010d754..352bf98a706 100644
--- a/pkgs/tools/package-management/apt/default.nix
+++ b/pkgs/tools/package-management/apt/default.nix
@@ -28,11 +28,11 @@
 
 stdenv.mkDerivation rec {
   pname = "apt";
-  version = "2.4.4";
+  version = "2.5.2";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/a/apt/apt_${version}.tar.xz";
-    hash = "sha256-1tg9Ei3dfMg7LC+DmlWUDBOrk+XPYCSgENamtBENzw4=";
+    hash = "sha256-zFw3TCgxyeOQ2cXwgCmoHDyit3irwN0UJsgcZXYo/p0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/package-management/deploy-rs/default.nix b/pkgs/tools/package-management/deploy-rs/default.nix
index d763b370603..63c70facb91 100644
--- a/pkgs/tools/package-management/deploy-rs/default.nix
+++ b/pkgs/tools/package-management/deploy-rs/default.nix
@@ -1,17 +1,17 @@
 { stdenv, lib, fetchFromGitHub, rustPlatform, CoreServices, SystemConfiguration }:
 
 rustPlatform.buildRustPackage rec {
-  pname = "deploy-rs-unstable";
-  version = "2022-05-26";
+  pname = "deploy-rs";
+  version = "unstable-2022-08-05";
 
   src = fetchFromGitHub {
     owner = "serokell";
     repo = "deploy-rs";
-    rev = "184349d8149436748986d1bdba087e4149e9c160";
-    sha256 = "sha256-kJ0ENmnQJ4qL2FeYKZba9kvv1KmIuB3NVpBwMeI7AJQ=";
+    rev = "41f15759dd8b638e7b4f299730d94d5aa46ab7eb";
+    sha256 = "sha256-1ZxuK67TL29YLw88vQ18Y2Y6iYg8Jb7I6/HVzmNB6nM=";
   };
 
-  cargoHash = "sha256-Ocb1kwNDfODGceCaCJ16CTGGTxIQacgHQ3I6HIR/EUo=";
+  cargoHash = "sha256-IXmcpYcWmTGBVNwNCk1TMDOcLxkZytlEIILknUle3Rg=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices SystemConfiguration ];
 
diff --git a/pkgs/tools/package-management/opkg/default.nix b/pkgs/tools/package-management/opkg/default.nix
index 1853c080166..2fbdebebb10 100644
--- a/pkgs/tools/package-management/opkg/default.nix
+++ b/pkgs/tools/package-management/opkg/default.nix
@@ -2,11 +2,11 @@
 , autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  version = "0.4.5";
+  version = "0.6.0";
   pname = "opkg";
   src = fetchurl {
     url = "https://downloads.yoctoproject.org/releases/opkg/opkg-${version}.tar.gz";
-    sha256 = "sha256-oSFKdfo0+5Io242kcwjg5xGxyT/Yk4zxZMEP0o61Dx4=";
+    sha256 = "sha256-VoRHIu/yN9rxSqbmgUNvMkUhPFWQ7QzaN6ed9jf/Okw=";
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
diff --git a/pkgs/tools/security/arti/default.nix b/pkgs/tools/security/arti/default.nix
index 2c3861d60ba..990534b13df 100644
--- a/pkgs/tools/security/arti/default.nix
+++ b/pkgs/tools/security/arti/default.nix
@@ -10,7 +10,7 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "arti";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.torproject.org";
@@ -18,10 +18,10 @@ rustPlatform.buildRustPackage rec {
     owner = "core";
     repo = "arti";
     rev = "arti-v${version}";
-    sha256 = "sha256-xze8Frxy9Rv01yz0L8GkEaXUoLlpODv3pEat1HnDIOs=";
+    sha256 = "sha256-3zlpmOGCjox8dVItVxyQloPgC0+dYw57pFFBySAXC5g=";
   };
 
-  cargoSha256 = "sha256-yCQLSLxEziDQGDNtP7pmXlTImSKzr/O/5sITMHVJg8E=";
+  cargoSha256 = "sha256-LvhSgJQyPyTSD1koXBXYaC6I5njZavgQK4WaW5/b9g4=";
 
   nativeBuildInputs = lib.optionals stdenv.isLinux [ pkg-config ];
 
diff --git a/pkgs/tools/security/b2sum/default.nix b/pkgs/tools/security/b2sum/default.nix
index bf415e7554e..e5de613bee7 100644
--- a/pkgs/tools/security/b2sum/default.nix
+++ b/pkgs/tools/security/b2sum/default.nix
@@ -26,6 +26,6 @@ stdenv.mkDerivation {
     license = with licenses; [ asl20 cc0 openssl ];
     maintainers = with maintainers; [ kirelagin ];
     # "This code requires at least SSE2."
-    platforms = with platforms; [ "x86_64-linux" "i686-linux" ] ++ darwin;
+    platforms = [ "x86_64-linux" "i686-linux" ] ++ platforms.darwin;
   };
 }
diff --git a/pkgs/tools/security/bitwarden/default.nix b/pkgs/tools/security/bitwarden/default.nix
index e440ef4eedb..842eb758c30 100644
--- a/pkgs/tools/security/bitwarden/default.nix
+++ b/pkgs/tools/security/bitwarden/default.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bitwarden";
-  version = "2022.6.2";
+  version = "2022.8.1";
 
   src = fetchurl {
     url = "https://github.com/bitwarden/clients/releases/download/desktop-v${version}/Bitwarden-${version}-amd64.deb";
-    sha256 = "sha256-FaYxnCUsKBMbPhiNKcB4eZFDN0fC1nfG6Si4UK6ekh0=";
+    sha256 = "sha256-MmhHs1Gp6H1CkLO/yCBhsF0KMiYXz37D6QP26fS+/u0=";
   };
 
   desktopItem = makeDesktopItem {
diff --git a/pkgs/tools/security/brutespray/default.nix b/pkgs/tools/security/brutespray/default.nix
index d7f8e30e182..200cd96c238 100644
--- a/pkgs/tools/security/brutespray/default.nix
+++ b/pkgs/tools/security/brutespray/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "brutespray";
-  version = "1.7.0";
+  version = "1.8";
 
   src = fetchFromGitHub {
     owner = "x90skysn3k";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "0lkm3fvx35ml5jh4ykjr2srq8qfajkmxwp4qfcn9xi58khk3asq3";
+    sha256 = "sha256-hlFp2ZQnoydxF2NBCjSKtmNzMj9V14AKrNYKMF/8m70=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/security/buttercup-desktop/default.nix b/pkgs/tools/security/buttercup-desktop/default.nix
index 22106727e39..7d6122fe5f4 100644
--- a/pkgs/tools/security/buttercup-desktop/default.nix
+++ b/pkgs/tools/security/buttercup-desktop/default.nix
@@ -2,24 +2,23 @@
 
 let
   pname = "buttercup-desktop";
-  version = "2.14.2";
-  name = "${pname}-${version}";
+  version = "2.16.0";
   src = fetchurl {
     url = "https://github.com/buttercup/buttercup-desktop/releases/download/v${version}/Buttercup-linux-x86_64.AppImage";
-    sha256 = "sha256-ZZaolebDGqRk4BHP5PxFxBsMgOQAxUoIMTlhxM58k0Y=";
+    sha256 = "sha256-o6KdbwD0VdCTYLEfar7Jt7MRZUayGHyasnmtU8Cqg3E=";
   };
-  appimageContents = appimageTools.extractType2 { inherit name src; };
+  appimageContents = appimageTools.extractType2 { inherit pname src version; };
 
 in appimageTools.wrapType2 {
-  inherit name src;
+  inherit pname src version;
 
   extraPkgs = pkgs: (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs) ++ [ pkgs.libsecret ];
 
   extraInstallCommands = ''
-    mv $out/bin/${name} $out/bin/buttercup-desktop
+    mv $out/bin/${pname}-${version} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/buttercup.desktop -t $out/share/applications
     substituteInPlace $out/share/applications/buttercup.desktop \
-      --replace 'Exec=AppRun' 'Exec=buttercup-desktop'
+      --replace 'Exec=AppRun' 'Exec=${pname}'
     cp -r ${appimageContents}/usr/share/icons $out/share
   '';
 
diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix
index eb27468b40f..16cd827b8f3 100644
--- a/pkgs/tools/security/clamav/default.nix
+++ b/pkgs/tools/security/clamav/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.clamav.net";
     description = "Antivirus engine designed for detecting Trojans, viruses, malware and other malicious threats";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ robberer qknight fpletz globin ];
+    maintainers = with maintainers; [ robberer qknight globin ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/security/clevis/default.nix b/pkgs/tools/security/clevis/default.nix
index 753fd8a6395..6cfd1034785 100644
--- a/pkgs/tools/security/clevis/default.nix
+++ b/pkgs/tools/security/clevis/default.nix
@@ -1,6 +1,21 @@
-{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, asciidoc
-, makeWrapper, jansson, jose, cryptsetup, curl, libpwquality, luksmeta
-, coreutils, tpm2-tools
+{ lib
+, stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, pkg-config
+, asciidoc
+, makeWrapper
+, jansson
+, jose
+, cryptsetup
+, curl
+, libpwquality
+, luksmeta
+, coreutils
+, tpm2-tools
+, gnugrep
+, gnused
 }:
 
 stdenv.mkDerivation rec {
@@ -24,7 +39,7 @@ stdenv.mkDerivation rec {
   postInstall = ''
     # We wrap the main clevis binary entrypoint but not the sub-binaries.
     wrapProgram $out/bin/clevis \
-      --prefix PATH ':' "${tpm2-tools}/bin:${jose}/bin:${placeholder "out"}/bin"
+      --prefix PATH ':' "${lib.makeBinPath [tpm2-tools jose cryptsetup libpwquality luksmeta gnugrep gnused coreutils]}:${placeholder "out"}/bin"
   '';
 
   nativeBuildInputs = [ meson ninja pkg-config asciidoc makeWrapper ];
@@ -35,7 +50,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Automated Encryption Framework";
     homepage = "https://github.com/latchset/clevis";
-    maintainers = with lib.maintainers; [ fpletz ];
+    maintainers = with lib.maintainers; [ ];
     license = lib.licenses.gpl3Plus;
   };
 }
diff --git a/pkgs/tools/security/cosign/default.nix b/pkgs/tools/security/cosign/default.nix
index 4fe0fba4f65..c698fa4fa9e 100644
--- a/pkgs/tools/security/cosign/default.nix
+++ b/pkgs/tools/security/cosign/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cosign";
-  version = "1.10.0";
+  version = "1.10.1";
 
   src = fetchFromGitHub {
     owner = "sigstore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-EJ1NOaGLLBkEkWLWn8wfyFA6Kgsb9mctkw4G2um9cWE=";
+    sha256 = "sha256-DMNjzTor22uyTzieWsni9wvscfU7uCFuf3AXOYP4LRo=";
   };
 
   buildInputs = lib.optional (stdenv.isLinux && pivKeySupport) (lib.getDev pcsclite)
@@ -16,7 +16,7 @@ buildGoModule rec {
 
   nativeBuildInputs = [ pkg-config installShellFiles ];
 
-  vendorSha256 = "sha256-JL7bqdLrNwOQPVUhlIktRM1cAPycq0PVpB1xXXiJiKM=";
+  vendorSha256 = "sha256-onRfo3ZK/+uEa0xR7P9IlEsd2aXy9foJjZl0UBO/cbs=";
 
   subPackages = [
     "cmd/cosign"
diff --git a/pkgs/tools/security/crackmapexec/default.nix b/pkgs/tools/security/crackmapexec/default.nix
index f88563498b2..9646f3a7caf 100644
--- a/pkgs/tools/security/crackmapexec/default.nix
+++ b/pkgs/tools/security/crackmapexec/default.nix
@@ -1,19 +1,18 @@
 { lib
 , fetchFromGitHub
-, fetchpatch
 , python3
 }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "crackmapexec";
-  version = "5.2.2";
+  version = "5.3.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "byt3bl33d3r";
     repo = "CrackMapExec";
     rev = "v${version}";
-    hash = "sha256-IgD8RjwVEoEXmnHU3DR3wzUdJDWIbFw9sES5qYg30a8=";
+    hash = "sha256-wPS1PCvR9Ffp0r9lZZkFATt+i+eR5ap16HzLWDZbJKI=";
   };
 
   nativeBuildInputs = with python3.pkgs; [
@@ -23,6 +22,7 @@ python3.pkgs.buildPythonApplication rec {
 
   propagatedBuildInputs = with python3.pkgs; [
     aioconsole
+    aardwolf
     beautifulsoup4
     dsinternals
     impacket
@@ -40,21 +40,13 @@ python3.pkgs.buildPythonApplication rec {
     xmltodict
   ];
 
-  patches = [
-    # Switch to poetry-core, https://github.com/byt3bl33d3r/CrackMapExec/pull/580
-    (fetchpatch {
-      name = "switch-to-poetry-core.patch";
-      url = "https://github.com/byt3bl33d3r/CrackMapExec/commit/e5c6c2b5c7110035b34ea7a080defa6d42d21dd4.patch";
-      hash = "sha256-5SpoQD+uSYLM6Rdq0/NTbyEv4RsBUuawNNsknS71I9M=";
-    })
-  ];
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace '{ git = "https://github.com/mpgn/impacket.git", branch = "master" }' '"x"'
+  '';
 
   pythonRelaxDeps = true;
 
-  pythonRemoveDeps = [
-    "bs4"
-  ];
-
   # Project has no tests
   doCheck = false;
 
diff --git a/pkgs/tools/security/credential-detector/default.nix b/pkgs/tools/security/credential-detector/default.nix
index 1e3497b0ca0..e4ef8a6e90d 100644
--- a/pkgs/tools/security/credential-detector/default.nix
+++ b/pkgs/tools/security/credential-detector/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "credential-detector";
-  version = "1.7.0";
+  version = "1.11.0";
 
   src = fetchFromGitHub {
     owner = "ynori7";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1g5ja32rsf1b7y9gvmy29qz2ymyyvgh53wzd6vvknfla1df0slab";
+    sha256 = "sha256-zUQRzlp/7gZhCm5JYu9kYxcoFjDldCYKarRorOHa3E0=";
   };
 
-  vendorSha256 = "1mn3sysvdz4b94804gns1yssk2q08djq3kq3cd1h7gm942zwrnq4";
+  vendorSha256 = "sha256-VWmfATUbfnI3eJbFTUp6MR1wGESuI15PHZWuon5M5rg=";
 
   meta = with lib; {
     description = "Tool to detect potentially hard-coded credentials";
diff --git a/pkgs/tools/security/cryptomator/default.nix b/pkgs/tools/security/cryptomator/default.nix
index 7e8d8ca4bf8..19387045e73 100644
--- a/pkgs/tools/security/cryptomator/default.nix
+++ b/pkgs/tools/security/cryptomator/default.nix
@@ -6,13 +6,13 @@
 
 let
   pname = "cryptomator";
-  version = "1.6.10";
+  version = "1.6.13";
 
   src = fetchFromGitHub {
     owner = "cryptomator";
     repo = "cryptomator";
     rev = version;
-    sha256 = "sha256-klNkMCgXC0gGqNV7S5EObHYCcgN4SayeNHXF9bq+20s=";
+    sha256 = "sha256-xQxCSWbovdecTFWFDFu2K+lbA6+bSV2l2kk+R/hFcQ0=";
   };
 
   # perform fake build to make a fixed-output derivation out of the files downloaded from maven central (120MB)
@@ -37,7 +37,7 @@ let
 
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "sha256-biQBP0rV94+Hoqte36Xmzm1XWtWC+1ne5lgpUj0GPak=";
+    outputHash = "sha256-SFiYHUH1Et7/SgciIvLcQGh54Z3fDVp22jSvDavXPjE=";
 
     doCheck = false;
   };
diff --git a/pkgs/tools/security/davtest/default.nix b/pkgs/tools/security/davtest/default.nix
new file mode 100644
index 00000000000..d4a7b6068c5
--- /dev/null
+++ b/pkgs/tools/security/davtest/default.nix
@@ -0,0 +1,40 @@
+{ lib, stdenv, perl, perlPackages, fetchurl }:
+
+stdenv.mkDerivation rec {
+  pname = "davtest";
+  version = "1.0";
+
+  src = fetchurl {
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/davtest/davtest-${version}.tar.bz2";
+    sha256 = "0kigcgv1bbnan9yr5481s4b9islmvzl2arpg1ig1i39sxrna06y7";
+  };
+
+  postPatch = ''
+    substituteInPlace davtest.pl \
+      --replace "backdoors/" "$out/share/davtest/backdoors/" \
+      --replace "tests/" "$out/share/davtest/tests/"
+  '';
+
+  buildInputs = [
+    (perl.withPackages (p: with p; [ HTTPDAV ]))
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm755 davtest.pl $out/bin/davtest.pl
+    mkdir -p $out/share/davtest
+    cp -r backdoors/ tests/ $out/share/davtest/
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Tests WebDAV servers by uploading test files, and then optionally testing for command execution or other actions directly on the target";
+    homepage = "https://code.google.com/p/davtest/";
+    mainProgram = "davtest.pl";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ emilytrau ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/security/dnsrecon/default.nix b/pkgs/tools/security/dnsrecon/default.nix
index 73e4f79cab8..3b9fa39c604 100644
--- a/pkgs/tools/security/dnsrecon/default.nix
+++ b/pkgs/tools/security/dnsrecon/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "dnsrecon";
-  version = "1.1.1";
+  version = "1.1.2";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "darkoperator";
     repo = pname;
     rev = version;
-    hash = "sha256-zbFtaEklkfLkrqJAPptOqDTdWGbCE+3ZO79t68iqLIU=";
+    hash = "sha256-rOFDoQEIlwV02c2aJsovnhvaC2XTFq9mMEfilG+Gs4w=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/tools/security/expliot/default.nix b/pkgs/tools/security/expliot/default.nix
index eb5fd03416f..4c0318ffa3b 100644
--- a/pkgs/tools/security/expliot/default.nix
+++ b/pkgs/tools/security/expliot/default.nix
@@ -12,6 +12,7 @@ let
           inherit version;
           sha256 = "0qiax309my534drk81lihq9ghngr96qnm40kbmgc9ay4fncqq6kh";
         };
+        doCheck = false;
       });
     };
   };
diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix
index 34a73bc2eb3..744c5c6aabe 100644
--- a/pkgs/tools/security/exploitdb/default.nix
+++ b/pkgs/tools/security/exploitdb/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "exploitdb";
-  version = "2022-07-27";
+  version = "2022-08-10";
 
   src = fetchFromGitHub {
     owner = "offensive-security";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-4GVlnr7ga+1xOb9cFKNeb0HELj8A8NgxwsKTnNpWqJI=";
+    hash = "sha256-t+y28QDeu0tIUidPjSqSPcmOzfaH6SnreuiEBDtKzP0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/security/fail2ban/default.nix b/pkgs/tools/security/fail2ban/default.nix
index ef09cc1ac71..459f9f12c1e 100644
--- a/pkgs/tools/security/fail2ban/default.nix
+++ b/pkgs/tools/security/fail2ban/default.nix
@@ -80,7 +80,7 @@ python3.pkgs.buildPythonApplication rec {
     homepage = "https://www.fail2ban.org/";
     description = "A program that scans log files for repeated failing login attempts and bans IP addresses";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ eelco lovek323 fpletz ];
+    maintainers = with maintainers; [ eelco lovek323 ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/security/faraday-agent-dispatcher/default.nix b/pkgs/tools/security/faraday-agent-dispatcher/default.nix
index af3c3f8347e..1442bba07fb 100644
--- a/pkgs/tools/security/faraday-agent-dispatcher/default.nix
+++ b/pkgs/tools/security/faraday-agent-dispatcher/default.nix
@@ -49,6 +49,7 @@ python3.pkgs.buildPythonApplication rec {
 
   disabledTests = [
     "test_execute_agent"
+    "SSL"
   ];
 
   disabledTestPaths = [
diff --git a/pkgs/tools/security/fido2luks/default.nix b/pkgs/tools/security/fido2luks/default.nix
index 1229620c21c..3c67c4aa780 100644
--- a/pkgs/tools/security/fido2luks/default.nix
+++ b/pkgs/tools/security/fido2luks/default.nix
@@ -9,13 +9,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fido2luks";
-  version = "0.2.19";
+  version = "0.2.20";
 
   src = fetchFromGitHub {
     owner = "shimunn";
     repo = pname;
     rev = version;
-    sha256 = "sha256-o21KdsAE9KznobdMMKfVmVnENsLW3cMZjssnrsoN+KY=";
+    sha256 = "04gl7wn38f42mapmkf026rya668vvhm03yi8iqnz31xgggbr2irm";
   };
 
   buildInputs = [ cryptsetup ];
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
     export LIBCLANG_PATH="${llvmPackages.libclang.lib}/lib"
   '';
 
-  cargoSha256 = "sha256-8JFe3mivf2Ewu1nLMugeeK+9ZXAGPHaqCyKfWfwLOc8=";
+  cargoSha256 = "1sp52zsj0s3736zih71plnk01si24jsawnx0580qfgg322d5f601";
 
   meta = with lib; {
     description = "Decrypt your LUKS partition using a FIDO2 compatible authenticator";
diff --git a/pkgs/tools/security/flare-floss/default.nix b/pkgs/tools/security/flare-floss/default.nix
index fbf065dc3b1..6416adec0ec 100644
--- a/pkgs/tools/security/flare-floss/default.nix
+++ b/pkgs/tools/security/flare-floss/default.nix
@@ -2,44 +2,73 @@
 , python3
 , fetchFromGitHub
 }:
+let
+  py = python3.override {
+    packageOverrides = final: prev: {
+      # required for networkx 2.5.1
+      decorator = prev.decorator.overridePythonAttrs (o: o // rec {
+        version = "4.4.2";
+        src = o.src.override {
+          inherit version;
+          sha256 = "sha256-46YvBSAXJEDKDcyCN0kxk4Ljd/N/FAoLme9F/suEv+c=";
+        };
+      });
 
-python3.pkgs.buildPythonPackage rec {
+      # flare-floss requires this exact version (newer versions are incompatible)
+      networkx = prev.networkx.overridePythonAttrs (o: o // rec {
+        version = "2.5.1";
+        src = o.src.override {
+          inherit version;
+          sha256 = "sha256-EJzVhcrEEpf3EQPDxCrG73N58peI61TLdRvlpmO7I1o=";
+        };
+      });
+    };
+  };
+in
+py.pkgs.buildPythonPackage rec {
   pname = "flare-floss";
-  version = "1.7.0";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
-    owner = "fireeye";
+    owner = "mandiant";
     repo = "flare-floss";
     rev = "v${version}";
-    sha256 = "GMOA1+qM2A/Qw33kOTIINEvjsfqjWQWBXHNemh3IK8w=";
+    fetchSubmodules = true; # for tests
+    sha256 = "sha256-V4OWYcISyRdjf8x93B6h2hJwRgmRmk32hr8TrgRDu8Q=";
   };
 
-  propagatedBuildInputs = with python3.pkgs; [
-    pyyaml
-    simplejson
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "==" ">="
+
+    substituteInPlace floss/main.py \
+      --replace 'sigs_path = os.path.join(get_default_root(), "sigs")' 'sigs_path = "'"$out"'/share/flare-floss/sigs"'
+  '';
+
+  propagatedBuildInputs = with py.pkgs; [
+    halo
+    networkx
+    pydantic
     tabulate
-    vivisect
-    plugnplay
+    tqdm
     viv-utils
-  ];
+    vivisect
+  ] ++ viv-utils.optional-dependencies.flirt;
 
-  checkInputs = with python3.pkgs; [
+  checkInputs = with py.pkgs; [
+    pytest-sugar
     pytestCheckHook
+    pyyaml
   ];
 
-  disabledTests = [
-    # test data is in a submodule
-    "test_main"
-  ];
-
-  pythonImportsCheck = [
-    "floss"
-    "floss.plugins"
-  ];
+  postInstall = ''
+    mkdir -p $out/share/flare-floss/
+    cp -r sigs $out/share/flare-floss/
+  '';
 
   meta = with lib; {
     description = "Automatically extract obfuscated strings from malware";
-    homepage = "https://github.com/fireeye/flare-floss";
+    homepage = "https://github.com/mandiant/flare-floss";
     license = licenses.asl20;
     maintainers = teams.determinatesystems.members;
   };
diff --git a/pkgs/tools/security/gitleaks/default.nix b/pkgs/tools/security/gitleaks/default.nix
index 951e45e0442..960f502e2e7 100644
--- a/pkgs/tools/security/gitleaks/default.nix
+++ b/pkgs/tools/security/gitleaks/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "gitleaks";
-  version = "8.9.0";
+  version = "8.10.2";
 
   src = fetchFromGitHub {
     owner = "zricethezav";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-LH8iW2RsBq+mxGXR/RKsIqPWMqHNlhQ9Ye9Z/LOdmYQ=";
+    sha256 = "sha256-FiR1zJ9aOdysp5807vZ9aX3O7l8GhDXlFDWuyk5zJQw=";
   };
 
   vendorSha256 = "sha256-X8z9iKRR3PptNHwy1clZG8QsClsjbW45nZb2fHGfSYk=";
diff --git a/pkgs/tools/security/gopass/default.nix b/pkgs/tools/security/gopass/default.nix
index 2e9f0e7c44c..5286d0f4a27 100644
--- a/pkgs/tools/security/gopass/default.nix
+++ b/pkgs/tools/security/gopass/default.nix
@@ -13,7 +13,7 @@
 
 buildGoModule rec {
   pname = "gopass";
-  version = "1.14.3";
+  version = "1.14.4";
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
 
@@ -21,10 +21,10 @@ buildGoModule rec {
     owner = "gopasspw";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Tep57FowoDWujgh0pyawzOu3w37cCWKAkb4SOT/5L10=";
+    sha256 = "sha256-UQvwkprHGez5qRpk6KodtgX99013rcezbgpaCateI4k=";
   };
 
-  vendorSha256 = "sha256-8Ergb3qYCAlyYVQw6433jEi7cHiqwvwiZHIgnOS6D8w=";
+  vendorSha256 = "sha256-169KBsJhytzfOgIOHb54gEsLAmhVv+O64hP/DU6cT6A=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/tools/security/hcxtools/default.nix b/pkgs/tools/security/hcxtools/default.nix
index 15abe8449eb..2a0d0fe9405 100644
--- a/pkgs/tools/security/hcxtools/default.nix
+++ b/pkgs/tools/security/hcxtools/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hcxtools";
-  version = "6.2.5";
+  version = "6.2.7";
 
   src = fetchFromGitHub {
     owner = "ZerBea";
     repo = pname;
     rev = version;
-    sha256 = "sha256-f8QNP4ApBdgZooeWOs4Om2LtIFoiBbe1ZfCzokyzs0I=";
+    sha256 = "sha256-C9Vh8PEbxNm+8KnE6F++2CzvDwAzG/AGBYYTwFZvwBA=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/tools/security/iaito/default.nix b/pkgs/tools/security/iaito/default.nix
index e2a4d37a977..d8bfc9e4747 100644
--- a/pkgs/tools/security/iaito/default.nix
+++ b/pkgs/tools/security/iaito/default.nix
@@ -1,44 +1,52 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, meson
+, ninja
 , pkg-config
+, python3
 , qtbase
 , qttools
 , radare2
 , wrapQtAppsHook
-, zip
 , nix-update-script
 }:
 
+# TODO MacOS support.
+# TODO Build and install translations.
+
 stdenv.mkDerivation rec {
   pname = "iaito";
-  version = "5.7.0";
+  version = "5.7.2";
 
   src = fetchFromGitHub {
     owner = "radareorg";
     repo = pname;
     rev = version;
-    fetchSubmodules = true;
-    sha256 = "sha256-qEJTsS669eEwo2iiuybN72O5oopCaGEkju8+ekjw2zk=";
+    sha256 = "sha256-5/G5wfdc6aua90XLP3B7Ruy8F3NTXzWfQE6yVDZ0rX8=";
   };
 
-  nativeBuildInputs = [ pkg-config qttools wrapQtAppsHook zip ];
+  nativeBuildInputs = [ meson ninja pkg-config python3 qttools wrapQtAppsHook ];
+
   buildInputs = [ radare2 qtbase ];
 
-  postPatch = ''
-    substituteInPlace Makefile \
-      --replace "git submodule update --init" ""
+  postUnpack = ''
+    sourceRoot=$sourceRoot/src
   '';
 
-  NIX_CFLAGS_COMPILE = [ "-I${radare2}/include/libr" "-I${radare2}/include/libr/sdb" ];
+  # TODO Fix version checking and version information for r2.
+  # Version checking always fails due to values being empty strings for some
+  # reason. Meanwhile, we can safely assume that radare2's runtime and
+  # compile-time implementations are the same and remove this check.
+  patches = [ ./remove-broken-version-check.patch ];
 
   installPhase = ''
     runHook preInstall
 
-    install -Dm755 build/iaito $out/bin/iaito
-    install -Dm644 $src/src/org.radare.iaito.appdata.xml $out/share/metainfo/org.radare.iaito.appdata.xml
-    install -Dm644 $src/src/org.radare.iaito.desktop $out/share/applications/org.radare.iaito.desktop
-    install -Dm644 $src/src/img/iaito-o.svg $out/share/pixmaps/iaito-o.svg
+    install -m755 -Dt $out/bin iaito
+    install -m644 -Dt $out/share/metainfo $src/src/org.radare.iaito.appdata.xml
+    install -m644 -Dt $out/share/applications $src/src/org.radare.iaito.desktop
+    install -m644 -Dt $out/share/pixmaps $src/src/img/iaito-o.svg
 
     runHook postInstall
   '';
@@ -48,14 +56,15 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    description = "Official frontend of radare2";
+    description = "An official graphical interface of radare2";
     longDescription = ''
-      The official graphical interface for radare2, a libre reverse engineering
-      framework.
+      iaito is the official graphical interface of radare2. It's the
+      continuation of Cutter for radare2 after the Rizin fork.
     '';
-    homepage = "https://github.com/radareorg/iaito";
+    homepage = "https://radare.org/n/iaito.html";
     changelog = "https://github.com/radareorg/iaito/releases/tag/${src.rev}";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ azahi ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/security/iaito/remove-broken-version-check.patch b/pkgs/tools/security/iaito/remove-broken-version-check.patch
new file mode 100644
index 00000000000..7c4e3ef30ac
--- /dev/null
+++ b/pkgs/tools/security/iaito/remove-broken-version-check.patch
@@ -0,0 +1,54 @@
+diff --git i/IaitoApplication.cpp w/IaitoApplication.cpp
+index 25b6a4e7..4cbde5c4 100644
+--- i/IaitoApplication.cpp
++++ w/IaitoApplication.cpp
+@@ -33,27 +33,6 @@
+ #include <R2GhidraDecompiler.h>
+ #endif
+ 
+-static bool versionCheck() {
+-    // Check r2 version
+-    QString a = r_core_version (); // runtime library version
+-    QString b = "" R2_GITTAP; // compiled version
+-    QStringList la = a.split(".");
+-    QStringList lb = b.split(".");
+-    if (la.size() < 2 && lb.size() < 2) {
+-      eprintf ("Invalid version string somwhere\n");
+-      return false;
+-    }
+-    if (la.at(0) != lb.at(0)) {
+-      eprintf ("Major version differs\n");
+-      return false;
+-    }
+-    if (la.at(1) != lb.at(1)) {
+-      eprintf ("Minor version differs\n");
+-      return false;
+-    }
+-    return true;
+-}
+-
+ IaitoApplication::IaitoApplication(int &argc, char **argv) : QApplication(argc, argv)
+ {
+     // Setup application information
+@@ -101,21 +80,6 @@ IaitoApplication::IaitoApplication(int &argc, char **argv) : QApplication(argc,
+         std::exit(1);
+     }
+ 
+-    if (!versionCheck ()) {
+-        QMessageBox msg;
+-        msg.setIcon(QMessageBox::Critical);
+-        msg.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
+-        msg.setWindowTitle(QObject::tr("Version mismatch!"));
+-        QString localVersion = r_core_version ();
+-        QString r2version = R2_GITTAP;
+-        msg.setText(QString(
+-                        QObject::tr("The version used to compile Iaito (%1) does not match the binary version of radare2 (%2). This could result in unexpected behaviour. Are you sure you want to continue?")).arg(
+-                        localVersion, r2version));
+-        if (msg.exec() == QMessageBox::No) {
+-            std::exit(1);
+-        }
+-    }
+-
+ #ifdef IAITO_ENABLE_PYTHON
+     // Init python
+     if (!clOptions.pythonHome.isEmpty()) {
diff --git a/pkgs/tools/security/kube-bench/default.nix b/pkgs/tools/security/kube-bench/default.nix
new file mode 100644
index 00000000000..e95ff1a0547
--- /dev/null
+++ b/pkgs/tools/security/kube-bench/default.nix
@@ -0,0 +1,48 @@
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
+
+buildGoModule rec {
+  pname = "kube-bench";
+  version = "0.6.8";
+
+  src = fetchFromGitHub {
+    owner = "aquasecurity";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-uqjF2WtsGMzA/JDS93BSQNuBJorMIJha9qPHJkIbjQo=";
+  };
+  vendorSha256 = "sha256-/LSgIfLBsGRSyz9gExgLKAjO+RF/C8CkxSvwx2jZjoI=";
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/aquasecurity/kube-bench/cmd.KubeBenchVersion=v${version}"
+  ];
+
+  postInstall = ''
+    mkdir -p $out/share/kube-bench/
+    mv ./cfg $out/share/kube-bench/
+
+    installShellCompletion --cmd kube-bench \
+      --bash <($out/bin/kube-bench completion bash) \
+      --fish <($out/bin/kube-bench completion fish) \
+      --zsh <($out/bin/kube-bench completion zsh)
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+    $out/bin/kube-bench --help
+    $out/bin/kube-bench version | grep "v${version}"
+    runHook postInstallCheck
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/aquasecurity/kube-bench";
+    changelog = "https://github.com/aquasecurity/kube-bench/releases/tag/v${version}";
+    description = "Checks whether Kubernetes is deployed according to security best practices as defined in the CIS Kubernetes Benchmark";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jk ];
+  };
+}
diff --git a/pkgs/tools/security/linux-exploit-suggester/default.nix b/pkgs/tools/security/linux-exploit-suggester/default.nix
new file mode 100644
index 00000000000..9744c416bb7
--- /dev/null
+++ b/pkgs/tools/security/linux-exploit-suggester/default.nix
@@ -0,0 +1,29 @@
+{ lib, stdenvNoCC, fetchFromGitHub }:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "linux-exploit-suggester";
+  version = "unstable-2022-04-01";
+
+  src = fetchFromGitHub {
+    owner = "mzet-";
+    repo = pname;
+    rev = "54a5c01497d6655be88f6262ccad5bc5a5e4f4ec";
+    sha256 = "v0Q8O+aaXEqwWAwGP/u5Nkm4DzM6nM11GI4XbK2PeWM=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm755 linux-exploit-suggester.sh $out/bin/${pname}
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Tool designed to assist in detecting security deficiencies for given Linux kernel/Linux-based machine";
+    homepage = "https://github.com/mzet-/linux-exploit-suggester";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ emilytrau ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/security/metasploit/Gemfile b/pkgs/tools/security/metasploit/Gemfile
index dc964d2b8cb..176a9c231b9 100644
--- a/pkgs/tools/security/metasploit/Gemfile
+++ b/pkgs/tools/security/metasploit/Gemfile
@@ -1,4 +1,4 @@
 # frozen_string_literal: true
 source "https://rubygems.org"
 
-gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.2.6"
+gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.2.11"
diff --git a/pkgs/tools/security/metasploit/Gemfile.lock b/pkgs/tools/security/metasploit/Gemfile.lock
index 914ef4a791b..eb7bd292a0f 100644
--- a/pkgs/tools/security/metasploit/Gemfile.lock
+++ b/pkgs/tools/security/metasploit/Gemfile.lock
@@ -1,9 +1,9 @@
 GIT
   remote: https://github.com/rapid7/metasploit-framework
-  revision: cb251272d8937b0b5bc92c5194a3617392b50625
-  ref: refs/tags/6.2.6
+  revision: addeeea49e5217ade1407a2e9a3cf6514ad8972e
+  ref: refs/tags/6.2.11
   specs:
-    metasploit-framework (6.2.6)
+    metasploit-framework (6.2.11)
       actionpack (~> 6.0)
       activerecord (~> 6.0)
       activesupport (~> 6.0)
@@ -130,26 +130,26 @@ GEM
     arel-helpers (2.14.0)
       activerecord (>= 3.1.0, < 8)
     aws-eventstream (1.2.0)
-    aws-partitions (1.605.0)
-    aws-sdk-core (3.131.2)
+    aws-partitions (1.616.0)
+    aws-sdk-core (3.132.0)
       aws-eventstream (~> 1, >= 1.0.2)
       aws-partitions (~> 1, >= 1.525.0)
       aws-sigv4 (~> 1.1)
       jmespath (~> 1, >= 1.6.1)
-    aws-sdk-ec2 (1.321.0)
+    aws-sdk-ec2 (1.326.0)
       aws-sdk-core (~> 3, >= 3.127.0)
       aws-sigv4 (~> 1.1)
     aws-sdk-iam (1.69.0)
       aws-sdk-core (~> 3, >= 3.127.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-kms (1.57.0)
+    aws-sdk-kms (1.58.0)
       aws-sdk-core (~> 3, >= 3.127.0)
       aws-sigv4 (~> 1.1)
     aws-sdk-s3 (1.114.0)
       aws-sdk-core (~> 3, >= 3.127.0)
       aws-sdk-kms (~> 1)
       aws-sigv4 (~> 1.4)
-    aws-sigv4 (1.5.0)
+    aws-sigv4 (1.5.1)
       aws-eventstream (~> 1, >= 1.0.2)
     bcrypt (3.1.18)
     bcrypt_pbkdf (1.1.0)
@@ -174,14 +174,14 @@ GEM
       http_parser.rb (>= 0.6.0)
     em-socksify (0.3.2)
       eventmachine (>= 1.0.0.beta.4)
-    erubi (1.10.0)
+    erubi (1.11.0)
     eventmachine (1.2.7)
-    faker (2.21.0)
+    faker (2.22.0)
       i18n (>= 1.8.11, < 2)
-    faraday (2.3.0)
-      faraday-net_http (~> 2.0)
+    faraday (2.5.1)
+      faraday-net_http (>= 2.0, < 3.1)
       ruby2_keywords (>= 0.0.4)
-    faraday-net_http (2.0.3)
+    faraday-net_http (3.0.0)
     faraday-retry (2.0.0)
       faraday (~> 2.0)
     faye-websocket (0.11.1)
@@ -224,7 +224,7 @@ GEM
       activemodel (~> 6.0)
       activesupport (~> 6.0)
       railties (~> 6.0)
-    metasploit-credential (5.0.7)
+    metasploit-credential (5.0.8)
       metasploit-concern
       metasploit-model
       metasploit_data_models (>= 5.0.0)
@@ -234,7 +234,7 @@ GEM
       rex-socket
       rubyntlm
       rubyzip
-    metasploit-model (4.0.5)
+    metasploit-model (4.0.6)
       activemodel (~> 6.0)
       activesupport (~> 6.0)
       railties (~> 6.0)
@@ -254,9 +254,9 @@ GEM
     mini_portile2 (2.8.0)
     minitest (5.16.2)
     mqtt (0.5.0)
-    msgpack (1.5.3)
+    msgpack (1.5.4)
     multi_json (1.15.0)
-    mustermann (1.1.1)
+    mustermann (2.0.2)
       ruby2_keywords (~> 0.0.1)
     nessus_rest (0.1.6)
     net-ldap (0.17.1)
@@ -270,15 +270,15 @@ GEM
     network_interface (0.0.2)
     nexpose (7.3.0)
     nio4r (2.5.8)
-    nokogiri (1.13.7)
+    nokogiri (1.13.8)
       mini_portile2 (~> 2.8.0)
       racc (~> 1.4)
     nori (2.6.0)
-    octokit (5.1.0)
+    octokit (5.2.0)
       faraday (>= 1, < 3)
       sawyer (~> 0.9)
-    openssl-ccm (1.2.2)
-    openssl-cmac (2.0.1)
+    openssl-ccm (1.2.3)
+    openssl-cmac (2.0.2)
     openvas-omp (0.0.4)
     packetfu (1.1.13)
       pcaprub
@@ -290,13 +290,13 @@ GEM
       hashery (~> 2.0)
       ruby-rc4
       ttfunk
-    pg (1.4.1)
+    pg (1.4.3)
     public_suffix (4.0.7)
     puma (5.6.4)
       nio4r (~> 2.0)
     racc (1.6.0)
     rack (2.2.4)
-    rack-protection (2.2.0)
+    rack-protection (2.2.2)
       rack
     rack-test (2.0.2)
       rack (>= 1.3)
@@ -331,7 +331,7 @@ GEM
       metasm
       rex-arch
       rex-text
-    rex-exploitation (0.1.32)
+    rex-exploitation (0.1.35)
       jsobfu
       metasm
       rex-arch
@@ -356,14 +356,14 @@ GEM
       metasm
       rex-core
       rex-text
-    rex-socket (0.1.40)
+    rex-socket (0.1.41)
       rex-core
     rex-sslscan (0.1.7)
       rex-core
       rex-socket
       rex-text
     rex-struct2 (0.1.3)
-    rex-text (0.2.38)
+    rex-text (0.2.39)
     rex-zip (0.1.4)
       rex-text
     rexml (3.2.5)
@@ -371,7 +371,7 @@ GEM
     ruby-macho (3.0.0)
     ruby-rc4 (0.1.5)
     ruby2_keywords (0.0.5)
-    ruby_smb (3.1.6)
+    ruby_smb (3.1.7)
       bindata
       openssl-ccm
       openssl-cmac
@@ -384,10 +384,10 @@ GEM
       faraday (>= 0.17.3, < 3)
     simpleidn (0.2.1)
       unf (~> 0.1.4)
-    sinatra (2.2.0)
-      mustermann (~> 1.0)
+    sinatra (2.2.2)
+      mustermann (~> 2.0)
       rack (~> 2.2)
-      rack-protection (= 2.2.0)
+      rack-protection (= 2.2.2)
       tilt (~> 2.0)
     sqlite3 (1.4.4)
     sshkey (2.0.0)
@@ -397,10 +397,10 @@ GEM
       eventmachine (~> 1.0, >= 1.0.4)
       rack (>= 1, < 3)
     thor (1.2.1)
-    tilt (2.0.10)
+    tilt (2.0.11)
     timeout (0.3.0)
     ttfunk (1.7.0)
-    tzinfo (2.0.4)
+    tzinfo (2.0.5)
       concurrent-ruby (~> 1.0)
     tzinfo-data (1.2022.1)
       tzinfo (>= 1.0.0)
diff --git a/pkgs/tools/security/metasploit/default.nix b/pkgs/tools/security/metasploit/default.nix
index c188dfb266f..9cbe1ff2ff3 100644
--- a/pkgs/tools/security/metasploit/default.nix
+++ b/pkgs/tools/security/metasploit/default.nix
@@ -15,13 +15,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "metasploit-framework";
-  version = "6.2.6";
+  version = "6.2.11";
 
   src = fetchFromGitHub {
     owner = "rapid7";
     repo = "metasploit-framework";
     rev = version;
-    sha256 = "sha256-GppCjA35d4cvCuGE29czAu4JVCq3l2CHIRFkKWNSNH0=";
+    sha256 = "sha256-MdSAJc0H+UU5pr6OzUNOaZDE3d0MdRQyZS2Ear2Wv9k=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/metasploit/gemset.nix b/pkgs/tools/security/metasploit/gemset.nix
index e73b8fa3783..078640cb9e3 100644
--- a/pkgs/tools/security/metasploit/gemset.nix
+++ b/pkgs/tools/security/metasploit/gemset.nix
@@ -104,30 +104,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15ff3d8ijqh7har1cgwv2aiq77gkp8jyb8km15vz4kbckf7jps2m";
+      sha256 = "1bz5wb377xnp4hs13sf4sxalfn2ycxfry1g5lfwixzvwhhbim5x1";
       type = "gem";
     };
-    version = "1.605.0";
+    version = "1.616.0";
   };
   aws-sdk-core = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "164abp3cvmvfa2qsgzbxvkafbhwbgn3qwknp0amwmxw5nwvz8p3s";
+      sha256 = "0lal5x2qkz6ip36ladynb29j65brq8bbdcgx6cwbybsyadwcf693";
       type = "gem";
     };
-    version = "3.131.2";
+    version = "3.132.0";
   };
   aws-sdk-ec2 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0a4j83p1a8x9zdrmlnvqr9g53wmrf1dcf7i5glyamsj4lmqxlnv1";
+      sha256 = "0674pphc7m3di01dzbcvl9g5brv1mmcmj14lwaj73gsvbc6zybhy";
       type = "gem";
     };
-    version = "1.321.0";
+    version = "1.326.0";
   };
   aws-sdk-iam = {
     groups = ["default"];
@@ -144,10 +144,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m8vwm4cakfv3i4f723a6id07myx18fpdbq8ypa2j7r5njwxpmzz";
+      sha256 = "1p2dbmb1vl8vk2xchrrsp2sxa95ya5w7ll1jlw89yyhls3l2l1ag";
       type = "gem";
     };
-    version = "1.57.0";
+    version = "1.58.0";
   };
   aws-sdk-s3 = {
     groups = ["default"];
@@ -164,10 +164,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xp7diwq7nv4vvxrl9x3lis2l4x6bissrfzbfyy6rv5bmj5w109z";
+      sha256 = "1d4bifmll4hrf4gihr5hdvn59wjpz4qpyg5jj95kp17fykzqg36n";
       type = "gem";
     };
-    version = "1.5.0";
+    version = "1.5.1";
   };
   bcrypt = {
     groups = ["default"];
@@ -324,10 +324,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09l8lz3j00m898li0yfsnb6ihc63rdvhw3k5xczna5zrjk104f2l";
+      sha256 = "11bz1v1cxabm8672gabrw542zyg51dizlcvdck6vvwzagxbjv9zx";
       type = "gem";
     };
-    version = "1.10.0";
+    version = "1.11.0";
   };
   eventmachine = {
     groups = ["default"];
@@ -344,30 +344,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "025lapimxw0db74gf2yd6zypqq1yvfblhk7wkd6h3r1szk7k8r8p";
+      sha256 = "1na8p9r9zdvz75aihjczhamlygrjs9dj7pcbxgg8vfavrx8d89b5";
       type = "gem";
     };
-    version = "2.21.0";
+    version = "2.22.0";
   };
   faraday = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rvxs99wvrcw65v8ykppih323kw1qr5pnzgw3daxch1sfj828f2k";
+      sha256 = "1jf9gfr2viracxm0nzd2mzs07j2ilznj7w3awyrr2wm53b56pc3h";
       type = "gem";
     };
-    version = "2.3.0";
+    version = "2.5.1";
   };
   faraday-net_http = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mbgcnjikbqa5d0pyn6cv30f33p2vaj3rgzkx45gwxw2gmx4wlb6";
+      sha256 = "0yicplzlh5da8pr64286zga3my86cjsb2y9dqlzsacpw8hbkmjvw";
       type = "gem";
     };
-    version = "2.0.3";
+    version = "3.0.0";
   };
   faraday-retry = {
     groups = ["default"];
@@ -604,32 +604,32 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "073bhxlyszk5iknx6896kch4yfcjk48wq7q5vnjd5k7akx0k9h8p";
+      sha256 = "08w1yhjybrdrn7rv77j4d58w9m8fdh4l5kaw7wsikv1zzcjdqwrl";
       type = "gem";
     };
-    version = "5.0.7";
+    version = "5.0.8";
   };
   metasploit-framework = {
     groups = ["default"];
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "cb251272d8937b0b5bc92c5194a3617392b50625";
-      sha256 = "0z9la9ijjr0i463n15xp59a0kvh26gbxp17118pqfxzr1n6456hs";
+      rev = "addeeea49e5217ade1407a2e9a3cf6514ad8972e";
+      sha256 = "1ndzjsynm11dclr18x8cvpfw94399r1wv3mylqwlby87rljq1m1i";
       type = "git";
       url = "https://github.com/rapid7/metasploit-framework";
     };
-    version = "6.2.6";
+    version = "6.2.11";
   };
   metasploit-model = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i08iwb7xgddh798xb3blyygqwgnb15ww3vlvw45248llk01gay3";
+      sha256 = "17kmw9gx4mdimv5wbf3935g43ad9spdx9bshdgk5y754kw80cnqd";
       type = "gem";
     };
-    version = "4.0.5";
+    version = "4.0.6";
   };
   metasploit-payloads = {
     groups = ["default"];
@@ -706,10 +706,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bqf9yp0kvcmqskixzhg66w922z280bkyfq41id6kk5nixlnmwg7";
+      sha256 = "02af38s49111wglqzcjcpa7bwg6psjgysrjvgk05h3x4zchb6gd5";
       type = "gem";
     };
-    version = "1.5.3";
+    version = "1.5.4";
   };
   multi_json = {
     groups = ["default"];
@@ -726,10 +726,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ccm54qgshr1lq3pr1dfh7gphkilc19dp63rw6fcx7460pjwy88a";
+      sha256 = "0m70qz27mlv2rhk4j1li6pw797gmiwwqg02vcgxcxr1rq2v53rnb";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "2.0.2";
   };
   nessus_rest = {
     groups = ["default"];
@@ -817,10 +817,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lhhnqch8r9n1835p6pvmg4m2r4hb98nkfxrpr4yf6246d9xg8bc";
+      sha256 = "0g7axlq2y6gzmixzzzhw3fn6nhrhg469jj8gfr7gs8igiclpkhkr";
       type = "gem";
     };
-    version = "1.13.7";
+    version = "1.13.8";
   };
   nori = {
     groups = ["default"];
@@ -837,30 +837,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jxx0pxm46vyrc3zp684m5b7xvw12ca2gnhnwizyvh15d65aribm";
+      sha256 = "1xn53wdrk0vy08d88s6dd2n3mly3prw8m00pcc9hm7ykmbs1668r";
       type = "gem";
     };
-    version = "5.1.0";
+    version = "5.2.0";
   };
   openssl-ccm = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gxwxk657jya2s5m8cpckvgy5m7qx0hzfp8xvc0hg2wf1lg5gwp0";
+      sha256 = "1mqr538wcfjc1q9qxsc2pz0s81kw1f3xk7k1qy903n5b3bh9vri3";
       type = "gem";
     };
-    version = "1.2.2";
+    version = "1.2.3";
   };
   openssl-cmac = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1k69p0p0ilvqnwskhc0bfax8rwvyk6n4wzarg8qsjdvm13xwx508";
+      sha256 = "1mml6105j6ryd9d019gbwzkdjmvycjlxxld0qzg9vs70f1qdihcc";
       type = "gem";
     };
-    version = "2.0.1";
+    version = "2.0.2";
   };
   openvas-omp = {
     groups = ["default"];
@@ -917,10 +917,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11q4zw8n0lmff5k514ip30yizr38jb2x5nh3m7fy3k13sbxbysrq";
+      sha256 = "1ypj64nhq3grs9zh40vmyfyhmxlhljjsbg5q0jxhlxg5v76ij0mb";
       type = "gem";
     };
-    version = "1.4.1";
+    version = "1.4.3";
   };
   public_suffix = {
     groups = ["default"];
@@ -967,10 +967,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hz6h6d67r217qi202qmxq2xkn3643ay3iybhl3dq3qd6j8nm3b2";
+      sha256 = "169jzzgvbjrqmz4q55wp9pg4ji2h90mggcdxy152gv5vp96l2hgx";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "2.2.2";
   };
   rack-test = {
     groups = ["default"];
@@ -1107,10 +1107,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0646y7nbc54ljgw28gmlsqbmwxs1hs5v3h24arj4jrnvqrq9bw71";
+      sha256 = "1hnwjilqyx39w0vi94ixj6qa2nlmb0z69f57vdb2xw3z9q29jlsl";
       type = "gem";
     };
-    version = "0.1.32";
+    version = "0.1.35";
   };
   rex-java = {
     groups = ["default"];
@@ -1197,10 +1197,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ckcqycg8jl2iiibpcry88rl0j2hsiklsxh6za5vp9rxsl09wlv6";
+      sha256 = "1ws7xj7898ba2ib3c2ww2g6df1jyjny42smndqb5sa4gfzynkcfp";
       type = "gem";
     };
-    version = "0.1.40";
+    version = "0.1.41";
   };
   rex-sslscan = {
     groups = ["default"];
@@ -1227,10 +1227,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10jxl3p3ndhb5cfj5y5qbiv82d3zn9wn0sr8q32cqlib4wnwx254";
+      sha256 = "0za2rihc8d1hr4g5gqabpdd19npah0mmh93wylrh503hiwq7ljsv";
       type = "gem";
     };
-    version = "0.2.38";
+    version = "0.2.39";
   };
   rex-zip = {
     groups = ["default"];
@@ -1297,10 +1297,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0yvm8qg4i6qgdgqh5j4k3vw5hz9zl8w06jxhmwx69l7gvjxqi2fr";
+      sha256 = "0y6yz3zpf64hrz5pa43jhrk8jxl2iivsirh7n7gzy6gfbxxmvssb";
       type = "gem";
     };
-    version = "3.1.6";
+    version = "3.1.7";
   };
   rubyntlm = {
     groups = ["default"];
@@ -1347,10 +1347,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1x3rci7k30g96y307hvglpdgm3f7nga3k3n4i8n1v2xxx290800y";
+      sha256 = "0mbjp75dy35q796iard8izsy7gk55g2c3q864r2p13my3yjmlcvz";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "2.2.2";
   };
   sqlite3 = {
     groups = ["default"];
@@ -1407,10 +1407,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rn8z8hda4h41a64l0zhkiwz2vxw9b1nb70gl37h1dg2k874yrlv";
+      sha256 = "186nfbcsk0l4l86gvng1fw6jq6p6s7rc0caxr23b3pnbfb20y63v";
       type = "gem";
     };
-    version = "2.0.10";
+    version = "2.0.11";
   };
   timeout = {
     groups = ["default"];
@@ -1437,10 +1437,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10qp5x7f9hvlc0psv9gsfbxg4a7s0485wsbq1kljkxq94in91l4z";
+      sha256 = "0rx114mpqnw2k4h98vc0rs0x0bmf0img84yh8mkkjkal07cjydf5";
       type = "gem";
     };
-    version = "2.0.4";
+    version = "2.0.5";
   };
   tzinfo-data = {
     groups = ["default"];
diff --git a/pkgs/tools/security/msfpc/default.nix b/pkgs/tools/security/msfpc/default.nix
new file mode 100644
index 00000000000..42861118141
--- /dev/null
+++ b/pkgs/tools/security/msfpc/default.nix
@@ -0,0 +1,38 @@
+{ lib, stdenv, fetchFromGitHub, makeWrapper, metasploit, curl, inetutils, openssl }:
+
+stdenv.mkDerivation rec {
+  pname = "msfpc";
+  version = "1.4.5";
+
+  src = fetchFromGitHub {
+    owner = "g0tmi1k";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "UIdE0oSaNu16pf+M96x8AnNju88hdzokv86wm8uBYDQ=";
+  };
+
+  nativeBuildInputs = [
+    makeWrapper
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm755 msfpc.sh $out/bin/msfpc
+
+    runHook postInstall
+  '';
+
+  postFixup = ''
+    wrapProgram $out/bin/msfpc \
+      --prefix PATH : "${lib.makeBinPath [ metasploit curl inetutils openssl ]}"
+  '';
+
+  meta = with lib; {
+    description = "MSFvenom Payload Creator";
+    homepage = "https://github.com/g0tmi1k/msfpc";
+    license = licenses.mit;
+    maintainers = with maintainers; [ emilytrau ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/security/naabu/default.nix b/pkgs/tools/security/naabu/default.nix
index ab34d667ee2..14c2c1def40 100644
--- a/pkgs/tools/security/naabu/default.nix
+++ b/pkgs/tools/security/naabu/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "naabu";
-  version = "2.0.9";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = "naabu";
     rev = "v${version}";
-    sha256 = "sha256-RmgyltdBk8uiE8EU5fJROJgCz0bTT1aUp8ZzbsnCzow=";
+    sha256 = "sha256-Gx2bYJXSApYhci7yQW45lLZjyfHVV8orPUIumC3+Yxg=";
   };
 
-  vendorSha256 = "sha256-5Rp+/RPUmD3bAPEFGH03swx9/eV7dvvVL3UNwfIGkgQ=";
+  vendorSha256 = "sha256-wXXtebZUL4Nm7M7Eu0Ucks9forCC+6Yb8eyKPb43rxA=";
 
   buildInputs = [
     libpcap
diff --git a/pkgs/tools/security/nitrokey-app/default.nix b/pkgs/tools/security/nitrokey-app/default.nix
index f06877b99fe..acc82636f32 100644
--- a/pkgs/tools/security/nitrokey-app/default.nix
+++ b/pkgs/tools/security/nitrokey-app/default.nix
@@ -37,6 +37,6 @@ stdenv.mkDerivation rec {
     '';
     homepage         = "https://github.com/Nitrokey/nitrokey-app";
     license          = licenses.gpl3;
-    maintainers      = with maintainers; [ kaiha fpletz ];
+    maintainers      = with maintainers; [ kaiha ];
   };
 }
diff --git a/pkgs/tools/security/otpauth/default.nix b/pkgs/tools/security/otpauth/default.nix
index e4c42a83f04..1d93647ed49 100644
--- a/pkgs/tools/security/otpauth/default.nix
+++ b/pkgs/tools/security/otpauth/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "otpauth";
-  version = "0.4.2";
+  version = "0.4.3";
 
   src = fetchFromGitHub {
     owner = "dim13";
     repo = "otpauth";
     rev = "v${version}";
-    sha256 = "sha256-qSu0kGRi1es9OciN1s9Eh1Z3JkxbcKO8W5cAC7c7n0k=";
+    sha256 = "sha256-x5/OVUxuNjK05D8n1l5F6qT/wmrBYnOSEoSL0c0fsqc=";
   };
 
-  vendorSha256 = "sha256-TU5crhmQAhSfURdfPe/xaa3RgGyc+UFn2E+jJ0flNsg=";
+  vendorSha256 = "sha256-jnIq7Zc2MauJReJ9a8TeqXXsvHixsBB+znmXAxcpqUQ=";
   doCheck = true;
 
   meta = with lib; {
diff --git a/pkgs/tools/security/padbuster/default.nix b/pkgs/tools/security/padbuster/default.nix
new file mode 100644
index 00000000000..de71010ccba
--- /dev/null
+++ b/pkgs/tools/security/padbuster/default.nix
@@ -0,0 +1,34 @@
+{ lib, stdenv, fetchFromGitHub, perl }:
+
+stdenv.mkDerivation rec {
+  pname = "padbuster";
+  version = "0.3.3";
+
+  src = fetchFromGitHub {
+    owner = "AonCyberLabs";
+    repo = pname;
+    rev = "50e4a3e2bf5dfff5699440b3ebc61ed1b5c49bbe";
+    sha256 = "VIvZ28MVnTSQru6l8flLVVqIIpxxXD8lCqzH81sPe/U=";
+  };
+
+  buildInputs = [
+    (perl.withPackages (ps: with ps; [ LWP LWPProtocolHttps CryptSSLeay ]))
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm755 padBuster.pl $out/bin/padBuster.pl
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Automated script for performing Padding Oracle attacks";
+    homepage = "https://www.gdssecurity.com/l/t.php";
+    mainProgram = "padBuster.pl";
+    maintainers = with maintainers; [ emilytrau ];
+    license = licenses.asl20;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/security/parsero/default.nix b/pkgs/tools/security/parsero/default.nix
new file mode 100644
index 00000000000..a8cd9c39eb1
--- /dev/null
+++ b/pkgs/tools/security/parsero/default.nix
@@ -0,0 +1,28 @@
+{ lib, python3Packages, fetchFromGitHub }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "parsero";
+  version = "0.81";
+
+  src = fetchFromGitHub {
+    owner = "behindthefirewalls";
+    repo = pname;
+    rev = "e5b585a19b79426975a825cafa4cc8a353cd267e";
+    sha256 = "rqupeJxslL3AfQ+CzBWRb4ZS32VoYd8hlA+eACMKGPY=";
+  };
+
+  propagatedBuildInputs = with python3Packages; [
+    beautifulsoup4
+    urllib3
+  ];
+
+  # Project has no tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Robots.txt audit tool";
+    homepage = "https://github.com/behindthefirewalls/Parsero";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ emilytrau fab ];
+  };
+}
diff --git a/pkgs/tools/security/semgrep/common.nix b/pkgs/tools/security/semgrep/common.nix
index bd1bf690e5f..2c4a377efab 100644
--- a/pkgs/tools/security/semgrep/common.nix
+++ b/pkgs/tools/security/semgrep/common.nix
@@ -1,13 +1,13 @@
-{ lib, fetchFromGitHub, fetchzip }:
+{ lib, fetchFromGitHub, fetchzip, stdenv }:
 
 rec {
-  version = "0.106.0";
+  version = "0.108.0";
 
   src = fetchFromGitHub {
     owner = "returntocorp";
     repo = "semgrep";
     rev = "v${version}";
-    sha256 = "sha256-/L8w8imvfjO3ICe0FBhfVrTivK58/9Y+j9Hc71tlpjA=";
+    sha256 = "sha256-Vdrv7lVPsBsxkwwfviD5zRAdsD02RfWmM+IlaThduQs=";
   };
 
   # submodule dependencies
@@ -24,15 +24,18 @@ rec {
   interfacesSrc = fetchFromGitHub {
     owner = "returntocorp";
     repo = "semgrep-interfaces";
-    rev = "8bc79b2bca62c051e46a33fb65751357a71b87b6";
-    sha256 = "sha256-k/rsTGYqHnw/4bsmeg7pQ/ckNglvuA0yhuz+OayXCdw=";
+    rev = "bad298d06a5dc50e69b6818ba73f0cc9b9a17b58";
+    sha256 = "sha256-AgNSvjVsP4b4zwkmq6BoNcOX3xdCSnQmXK+fVSkDXxQ=";
   };
 
   # fetch pre-built semgrep-core since the ocaml build is complex and relies on
   # the opam package manager at some point
-  coreRelease = fetchzip {
-    url = "https://github.com/returntocorp/semgrep/releases/download/v${version}/semgrep-v${version}-ubuntu-16.04.tgz";
-    sha256 = "sha256-ARf776uOJkCBGsJI8ul3IDWI24vFQxs2jlGEA6uXG+o=";
+  coreRelease = if stdenv.isDarwin then fetchzip {
+      url = "https://github.com/returntocorp/semgrep/releases/download/v${version}/semgrep-v${version}-osx.zip";
+      sha256 = "sha256-f3ah4yGvtUL3Ievz+3hhh5Am1YMplRxsRQzdRAoF9uU=";
+  } else fetchzip {
+      url = "https://github.com/returntocorp/semgrep/releases/download/v${version}/semgrep-v${version}-ubuntu-16.04.tgz";
+      sha256 = "sha256-qie9svlzRoAsI33W+Sxh4YTVk1iPV0NVXfzfKlEUul4=";
   };
 
   meta = with lib; {
@@ -50,6 +53,6 @@ rec {
     license = licenses.lgpl21Plus;
     maintainers = with maintainers; [ jk ambroisie ];
     # limited by semgrep-core
-    platforms = [ "x86_64-linux" ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
   };
 }
diff --git a/pkgs/tools/security/shellnoob/default.nix b/pkgs/tools/security/shellnoob/default.nix
new file mode 100644
index 00000000000..f7814b24384
--- /dev/null
+++ b/pkgs/tools/security/shellnoob/default.nix
@@ -0,0 +1,33 @@
+{ lib, stdenvNoCC, fetchFromGitHub, python3 }:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "shellnoob";
+  version = "unstable-2022-03-16";
+
+  src = fetchFromGitHub {
+    owner = "reyammer";
+    repo = pname;
+    rev = "72cf49804d8ea3de1faa7fae5794449301987bff";
+    sha256 = "xF9OTFFe8godW4+z9MFaFEkjE9FB42bKWwdl9xRcmEo=";
+  };
+
+  buildInputs = [
+    python3
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm755 shellnoob.py $out/bin/snoob
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A shellcode writing toolkit";
+    homepage = "https://github.com/reyammer/shellnoob";
+    mainProgram = "snoob";
+    license = licenses.mit;
+    maintainers = with maintainers; [ emilytrau ];
+  };
+}
diff --git a/pkgs/tools/security/sigma-cli/default.nix b/pkgs/tools/security/sigma-cli/default.nix
index 5a3ed90a418..8b10d6412d1 100644
--- a/pkgs/tools/security/sigma-cli/default.nix
+++ b/pkgs/tools/security/sigma-cli/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "sigma-cli";
-  version = "0.4.3";
+  version = "0.5.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "SigmaHQ";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-3LFakeS3aQaacm7HqeAJPMJhi3Wf8zbJc//SEWUA1Rg=";
+    hash = "sha256-i0rin4TLoqo+F2nWG4kcFp3x/cRtkMzAo5Ldyo0Si5w=";
   };
 
   nativeBuildInputs = with python3.pkgs; [
@@ -23,8 +23,11 @@ python3.pkgs.buildPythonApplication rec {
     click
     prettytable
     pysigma
-    pysigma-backend-splunk
+    pysigma-backend-elasticsearch
     pysigma-backend-insightidr
+    pysigma-backend-opensearch
+    pysigma-backend-qradar
+    pysigma-backend-splunk
     pysigma-pipeline-crowdstrike
     pysigma-pipeline-sysmon
     pysigma-pipeline-windows
@@ -37,7 +40,7 @@ python3.pkgs.buildPythonApplication rec {
   postPatch = ''
     substituteInPlace pyproject.toml \
       --replace 'prettytable = "^3.1.1"' 'prettytable = "*"' \
-      --replace 'pysigma = "^0.5.0"' 'pysigma = "*"'
+      --replace 'pysigma = "^0.7.2"' 'pysigma = "*"'
   '';
 
   pythonImportsCheck = [
diff --git a/pkgs/tools/security/signing-party/default.nix b/pkgs/tools/security/signing-party/default.nix
index ee099b704aa..e0863215438 100644
--- a/pkgs/tools/security/signing-party/default.nix
+++ b/pkgs/tools/security/signing-party/default.nix
@@ -220,7 +220,7 @@ in stdenv.mkDerivation rec {
       * gpg-key2latex: generate LaTeX file with fingerprint paper slips
     '';
     license = with licenses; [ bsd2 bsd3 gpl2 gpl2Plus gpl3Plus ];
-    maintainers = with maintainers; [ fpletz primeos ];
+    maintainers = with maintainers; [ primeos ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/security/spire/default.nix b/pkgs/tools/security/spire/default.nix
index 0ddd6d4db72..aa121e72ea9 100644
--- a/pkgs/tools/security/spire/default.nix
+++ b/pkgs/tools/security/spire/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "spire";
-  version = "1.3.3";
+  version = "1.4.0";
 
   outputs = [ "out" "agent" "server" ];
 
@@ -10,10 +10,10 @@ buildGoModule rec {
     owner = "spiffe";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-hkmmNY0L7yMH1DoPKHUq6F2lWpKnGj6Ftni8E+jIfH4=";
+    sha256 = "sha256-wyKluqYKNmaJaXK70v7/f2WEGgekd0Qgdu3UZnXm/UU=";
   };
 
-  vendorSha256 = "sha256-sjR8HCEBWj4BAIMeYkQZqzuOVL3PDG7ELpRo8K5wn1A=";
+  vendorSha256 = "sha256-EZWoMSBxdvnrdBmSrRYf4+2d1LCka7oUIhRAW+2n7CU=";
 
   subPackages = [ "cmd/spire-agent" "cmd/spire-server" ];
 
diff --git a/pkgs/tools/security/step-ca/default.nix b/pkgs/tools/security/step-ca/default.nix
index 5877910ad2c..bb2663a70c3 100644
--- a/pkgs/tools/security/step-ca/default.nix
+++ b/pkgs/tools/security/step-ca/default.nix
@@ -12,16 +12,16 @@
 
 buildGoModule rec {
   pname = "step-ca";
-  version = "0.19.0";
+  version = "0.21.0";
 
   src = fetchFromGitHub {
     owner = "smallstep";
     repo = "certificates";
     rev = "v${version}";
-    sha256 = "sha256-BhPup3q2muYGWzAa/9b4vnIjBces4GhUHZ/mg4CWMRc=";
+    sha256 = "sha256-n6rKkhz1J4KNq84UvxRFH2H2PIsRZGONRIhgUyrlkhA=";
   };
 
-  vendorSha256 = "sha256-oVaziWZGslZCVqkEXL32XvOVU54VOf41Qg+VoVWo7x0=";
+  vendorSha256 = "sha256-lRezUowItjW2IuxRc5GOnnuWq7VOBacSNrtMvi+3Agc=";
 
   ldflags = [ "-buildid=" ];
 
diff --git a/pkgs/tools/security/tlsx/default.nix b/pkgs/tools/security/tlsx/default.nix
new file mode 100644
index 00000000000..c616e86d793
--- /dev/null
+++ b/pkgs/tools/security/tlsx/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "tlsx";
+  version = "0.0.5";
+
+  src = fetchFromGitHub {
+    owner = "projectdiscovery";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-zUaCUi7U757A8OVQHQV2LPVqu4o73qrp2xGrH7u2viA=";
+  };
+
+  vendorSha256 = "sha256-+pSmErlxRyDH1drri294vE+hUmlmKgh3zrKpVJVC1do=";
+
+  meta = with lib; {
+    description = "TLS grabber focused on TLS based data collection";
+    longDescription = ''
+      A fast and configurable TLS grabber focused on TLS based data
+      collection and analysis.
+    '';
+    homepage = "https://github.com/projectdiscovery/tlsx";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/tools/security/uncover/default.nix b/pkgs/tools/security/uncover/default.nix
new file mode 100644
index 00000000000..f8102c6987d
--- /dev/null
+++ b/pkgs/tools/security/uncover/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "uncover";
+  version = "0.0.6";
+
+  src = fetchFromGitHub {
+    owner = "projectdiscovery";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-iWSaNfRZJ59C7DWsPett9zM6hi/kOtpxlkw2haMeuaY=";
+  };
+
+  vendorSha256 = "sha256-M50pQJCzEXSBXUsjwxlM8s1WgcPwZgBpArUExLP+bRY=";
+
+  meta = with lib; {
+    description = "API wrapper to search for exposed hosts";
+    longDescription = ''
+      uncover is a go wrapper using APIs of well known search engines to quickly
+      discover exposed hosts on the internet. It is built with automation in mind,
+      so you can query it and utilize the results with your current pipeline tools.
+      Currently, it supports shodan,shodan-internetdb, censys, and fofa search API.
+    '';
+    homepage = "https://github.com/projectdiscovery/uncover";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/tools/security/vault/default.nix b/pkgs/tools/security/vault/default.nix
index 32fe50b257b..0d16ee9a995 100644
--- a/pkgs/tools/security/vault/default.nix
+++ b/pkgs/tools/security/vault/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "vault";
-  version = "1.11.1";
+  version = "1.11.2";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "vault";
     rev = "v${version}";
-    sha256 = "sha256-U/oRUalDYJ8ChrknfUKcXOqWeml8y869SIWRDMVbpAo=";
+    sha256 = "sha256-dEIrTz24zBN6axl8bPdc4N9iebE7YBF0mGUSAbHx9Ug=";
   };
 
-  vendorSha256 = "sha256-qnvmLimuOkJiH1ct1a7WCYh/bcgQ5XY5GzgVbrQyr/0=";
+  vendorSha256 = "sha256-/EXrOS7kBxu6LtwTMipVJfjrJH7RuIwqD5LHH3yDADQ=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/tools/security/vault/vault-bin.nix b/pkgs/tools/security/vault/vault-bin.nix
index 840269995c1..b253898c02b 100644
--- a/pkgs/tools/security/vault/vault-bin.nix
+++ b/pkgs/tools/security/vault/vault-bin.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "vault-bin";
-  version = "1.11.0";
+  version = "1.11.1";
 
   src =
     let
@@ -16,11 +16,11 @@ stdenv.mkDerivation rec {
         aarch64-darwin = "darwin_arm64";
       };
       sha256 = selectSystem {
-        x86_64-linux = "sha256-3oxIjILjl85GAl/YwTRrXunWY7UmPtOuG0wxA7wrzp0=";
-        aarch64-linux = "sha256-PiIibaFPBBTWPLVIWmCXqR51+HujoQmVOsm8AJTNr9s=";
-        i686-linux = "sha256-t3myhfPUe/28BlSIoxNbjmYykHlet5mWxOLuyNcu4o4=";
-        x86_64-darwin = "sha256-nPcKir2NcsXnQ6RG6TrioLC4jT9Pn7NssNjjDnw+fAY=";
-        aarch64-darwin = "sha256-yJJXmoR4Re1iIbSI6+VwOGP3FZvlJcumjxXM+PfPZm4=";
+        x86_64-linux = "sha256-mh/O9X4yOEspZ3Z+N22Wt8PeNee9U7U4R8laS7PCrhI=";
+        aarch64-linux = "sha256-9LybdftRdc9NYxYzPwojYdYxu1DbtVjG0nlT88oxX9E=";
+        i686-linux = "sha256-nPnWzxv5AVfOrGJxnFImZacUeKRZ0+Gyesf5TiRvz/0=";
+        x86_64-darwin = "sha256-kOT1Vs2LxCih/GewL66tVI5t50eKU/ejT9ccSjp7ar8=";
+        aarch64-darwin = "sha256-UkuZAFzT3pjg7q7NJ4+DaAk0syAVf6N512bxwLuQHHE=";
       };
     in
     fetchzip {
diff --git a/pkgs/tools/security/webanalyze/default.nix b/pkgs/tools/security/webanalyze/default.nix
index b61afb16fb6..1cbc22b1482 100644
--- a/pkgs/tools/security/webanalyze/default.nix
+++ b/pkgs/tools/security/webanalyze/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "webanalyze";
-  version = "0.3.6";
+  version = "0.3.7";
 
   src = fetchFromGitHub {
     owner = "rverton";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-r5HIXh0mKCZmzOOAKThNUPtJLsTYvnVE8FYA6vV5xjg=";
+    hash = "sha256-W7NgV50r/MNSF6+e0IR9C1dcg/k0w67GcTs0NTbhKBc=";
   };
 
   vendorSha256 = "sha256-kXtWYGsZUUhBNvkTOah3Z+ta118k6PXfpBx6MLr/pq0=";
diff --git a/pkgs/tools/security/yara/default.nix b/pkgs/tools/security/yara/default.nix
index 59647c250e4..07f36f4892c 100644
--- a/pkgs/tools/security/yara/default.nix
+++ b/pkgs/tools/security/yara/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "yara";
-  version = "4.2.2";
+  version = "4.2.3";
 
   src = fetchFromGitHub {
     owner = "VirusTotal";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-HWLyDhFQHHmXUaAKp7EZ3ZsXlbwCEoJj4Q0qAtxwN1Y=";
+    hash = "sha256-Ol2btm1A8JdvYrjD0hPtc17A4L9wgr4l30C8VrImVoE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/system/collectd/default.nix b/pkgs/tools/system/collectd/default.nix
index e957c10a85c..b350558887f 100644
--- a/pkgs/tools/system/collectd/default.nix
+++ b/pkgs/tools/system/collectd/default.nix
@@ -61,6 +61,6 @@ stdenv.mkDerivation rec {
     homepage = "https://collectd.org";
     license = licenses.gpl2;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ bjornfor fpletz ];
+    maintainers = with maintainers; [ bjornfor ];
   };
 }
diff --git a/pkgs/tools/system/foremost/default.nix b/pkgs/tools/system/foremost/default.nix
index 1d0a2fa3188..f3b353501ff 100644
--- a/pkgs/tools/system/foremost/default.nix
+++ b/pkgs/tools/system/foremost/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   #   ld: api.o:(.bss+0xbdba0): multiple definition of `wildcard'; main.o:(.bss+0xbd760): first defined here
   NIX_CFLAGS_COMPILE = "-fcommon";
 
-  makeFlags = [ "PREFIX=$(out)" ];
+  makeFlags = [ "PREFIX=$(out)" ] ++ lib.optionals stdenv.isDarwin [ "mac" ];
 
   enableParallelBuilding = true;
 
@@ -39,6 +39,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "http://foremost.sourceforge.net/";
     license = licenses.publicDomain;
-    platforms = platforms.linux;
+    maintainers = [ maintainers.jiegec ];
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/tools/system/foremost/makefile.patch b/pkgs/tools/system/foremost/makefile.patch
index 6626c9520ec..3166fffe73f 100644
--- a/pkgs/tools/system/foremost/makefile.patch
+++ b/pkgs/tools/system/foremost/makefile.patch
@@ -1,6 +1,15 @@
---- a/Makefile	2015-04-21 00:40:46.949266581 +0200
-+++ b/Makefile	2015-04-21 00:41:38.637165883 +0200
-@@ -24,9 +24,9 @@
+diff --git a/Makefile b/Makefile
+index 1a20f4f..077acdb 100755
+--- a/Makefile
++++ b/Makefile
+@@ -1,5 +1,5 @@
+ 
+-RAW_CC = gcc
++RAW_CC := $(CC)
+ RAW_FLAGS = -Wall -O2
+ LINK_OPT = 
+ VERSION = 1.5.7
+@@ -24,9 +24,9 @@ MAN_PAGES = $(NAME).8.gz
  RAW_FLAGS += -DVERSION=\"$(VERSION)\"
  
  # Where we get installed
@@ -13,7 +22,7 @@
  # Setup for compiling and cross-compiling for Windows
  # The CR_ prefix refers to cross compiling from OSX to Windows
  CR_CC = $(CR_BASE)/gcc
-@@ -120,7 +120,6 @@
+@@ -120,7 +120,6 @@ foremost: $(OBJ)
  install: goals
  	install -m 755 $(NAME) $(BIN)
  	install -m 444 $(MAN_PAGES) $(MAN)
diff --git a/pkgs/tools/system/gdu/default.nix b/pkgs/tools/system/gdu/default.nix
index f6f0e1fe7f3..cbc8c759c70 100644
--- a/pkgs/tools/system/gdu/default.nix
+++ b/pkgs/tools/system/gdu/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "gdu";
-  version = "5.14.0";
+  version = "5.15.0";
 
   src = fetchFromGitHub {
     owner = "dundee";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-a0H/OqIHgutuW1egqlhMy5mX2FMYxmAwCbhecCrXuOU=";
+    sha256 = "sha256-XfBmxAuhGt5SYl4D8pf+FnB3R5Hg/G72r4pYgIrL2mg=";
   };
 
-  vendorSha256 = "sha256-9+Zez33oET0nx/Xm3fXh1WFoQduMBodvml1oGO6jUYc=";
+  vendorSha256 = "sha256-w+nOoEtEtRjXakrVV3aLj+clhyqgL5cJ6iu689cJeKs=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/system/goreman/default.nix b/pkgs/tools/system/goreman/default.nix
index 51d70fbc933..a9e840860bc 100644
--- a/pkgs/tools/system/goreman/default.nix
+++ b/pkgs/tools/system/goreman/default.nix
@@ -1,24 +1,24 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, testers, goreman }:
 
 buildGoModule rec {
   pname = "goreman";
-  version = "0.3.11";
-  rev = "6006c6e410ec5a5ba22b50e96227754a42f2834d";
+  version = "0.3.13";
 
   src = fetchFromGitHub {
     owner = "mattn";
     repo = "goreman";
     rev = "v${version}";
-    sha256 = "sha256-TbJfeU94wakI2028kDqU+7dRRmqXuqpPeL4XBaA/HPo=";
+    sha256 = "sha256-BQMRkXHac2Is3VvqrBFA+/NrR3sw/gA1k3fPi3EzONQ=";
   };
 
-  ldflags = [
-    "-s"
-    "-w"
-    "-X main.revision=${builtins.substring 0 7 rev}"
-  ];
+  vendorSha256 = "sha256-BWfhvJ6kPz3X3TpHNvRIBgfUAQJB2f/lngRvHq91uyw=";
 
-  vendorSha256 = "sha256-87aHBRWm5Odv6LeshZty5N31sC+vdSwGlTYhk3BZkPo=";
+  ldflags = [ "-s" "-w" ];
+
+  passthru.tests.version = testers.testVersion {
+    package = goreman;
+    command = "goreman version";
+  };
 
   meta = with lib; {
     description = "foreman clone written in go language";
diff --git a/pkgs/tools/system/hwinfo/default.nix b/pkgs/tools/system/hwinfo/default.nix
index 0b8bb97ec68..fcdf3534581 100644
--- a/pkgs/tools/system/hwinfo/default.nix
+++ b/pkgs/tools/system/hwinfo/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hwinfo";
-  version = "21.82";
+  version = "22.0";
 
   src = fetchFromGitHub {
     owner = "opensuse";
     repo = "hwinfo";
     rev = version;
-    sha256 = "sha256-kFoOqMaejvlv8RnAcUPi03qrhV/Jcy8jQ4AQA1/eBsY=";
+    sha256 = "sha256-hjKF/fyV7/uQF6iJNOsRpX4Iw7aDURkdb7hbwfIDBPo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/system/kanata/default.nix b/pkgs/tools/system/kanata/default.nix
index e3a377163e3..08023b0e032 100644
--- a/pkgs/tools/system/kanata/default.nix
+++ b/pkgs/tools/system/kanata/default.nix
@@ -1,4 +1,5 @@
 { fetchFromGitHub
+, fetchpatch
 , lib
 , libevdev
 , pkg-config
@@ -8,16 +9,24 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kanata";
-  version = "1.0.5";
+  version = "1.0.6";
 
   src = fetchFromGitHub {
     owner = "jtroo";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-sL9hP+222i8y0sK3ZEx66yXBTgZp5ewoPUlZS4XnphY=";
+    sha256 = "sha256-0S27dOwtHxQi5ERno040RWZNo5+ao0ULFwHKJz27wWw=";
   };
 
-  cargoHash = "sha256-uhN1UdwtU0C0/lpxUYoCcMLABFTPNO5wKsIGOBnFpzw=";
+  cargoHash = "sha256-Ge9CiYIl6R8cjfUAY4B9ggjNZv5vpjmQKMPv93wGJwc=";
+
+  cargoPatches = [
+    (fetchpatch {
+      name = "update-cargo.lock-for-1.0.6.patch";
+      url = "https://github.com/jtroo/kanata/commit/29a7669ac230571c30c9113e5c82e8440c8b89af.patch";
+      sha256 = "sha256-s4R7vUFlrL1XTNpgXRyIpIq4rDuM5A85ECzbMUX4MAw=";
+    })
+  ];
 
   buildFeatures = lib.optional withCmd "cmd";
 
diff --git a/pkgs/tools/system/localtime/default.nix b/pkgs/tools/system/localtime/default.nix
index b8f2b460528..ee2a25bdf79 100644
--- a/pkgs/tools/system/localtime/default.nix
+++ b/pkgs/tools/system/localtime/default.nix
@@ -19,6 +19,14 @@ buildGoModule {
 
   nativeBuildInputs = [ m4 ];
 
+  buildPhase = ''
+    runHook preBuild
+    make PREFIX="$out"
+    runHook postBuild
+  '';
+
+  doCheck = false; # no tests
+
   installPhase = ''
     runHook preInstall
     make PREFIX="$out" install
diff --git a/pkgs/tools/system/minijail/default.nix b/pkgs/tools/system/minijail/default.nix
index bf2c6adf76a..73f8cad580a 100644
--- a/pkgs/tools/system/minijail/default.nix
+++ b/pkgs/tools/system/minijail/default.nix
@@ -1,13 +1,4 @@
-{ stdenv, lib, fetchFromGitiles, glibc, libcap, qemu }:
-
-let
-  dumpConstants =
-    if stdenv.buildPlatform == stdenv.hostPlatform then "./dump_constants"
-    else if stdenv.hostPlatform.isAarch32 then "qemu-arm dump_constants"
-    else if stdenv.hostPlatform.isAarch64 then "qemu-aarch64 dump_constants"
-    else if stdenv.hostPlatform.isx86_64 then "qemu-x86_64 dump_constants"
-    else throw "Unsupported host platform";
-in
+{ stdenv, lib, fetchFromGitiles, libcap }:
 
 stdenv.mkDerivation rec {
   pname = "minijail";
@@ -19,24 +10,15 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-OpwzISZ5iZNQvJAX7UJJ4gELEaVfcQgY9cqMM0YvBzc=";
   };
 
-  nativeBuildInputs =
-    lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) qemu;
   buildInputs = [ libcap ];
 
   makeFlags = [ "ECHO=echo" "LIBDIR=$(out)/lib" ];
-  dumpConstantsFlags = lib.optional (stdenv.hostPlatform.libc == "glibc")
-    "LDFLAGS=-L${glibc.static}/lib";
 
   postPatch = ''
     substituteInPlace Makefile --replace /bin/echo echo
     patchShebangs platform2_preinstall.sh
   '';
 
-  postBuild = ''
-    make $makeFlags $buildFlags $dumpConstantsFlags dump_constants
-    ${dumpConstants} > constants.json
-  '';
-
   installPhase = ''
     ./platform2_preinstall.sh ${version} $out/include/chromeos
 
@@ -47,7 +29,6 @@ stdenv.mkDerivation rec {
     cp -v *.pc $out/lib/pkgconfig
     cp -v libminijail.h scoped_minijail.h $out/include/chromeos
     cp -v minijail0 $out/bin
-    cp -v constants.json $out/share/minijail
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/tools/system/minijail/tools.nix b/pkgs/tools/system/minijail/tools.nix
index 875ea0dbff9..caaba84c083 100644
--- a/pkgs/tools/system/minijail/tools.nix
+++ b/pkgs/tools/system/minijail/tools.nix
@@ -1,9 +1,36 @@
-{ buildPythonApplication, lib, minijail }:
+{ lib, stdenv, buildPythonApplication, pkgsBuildTarget, python, minijail }:
+
+let
+  targetClang = pkgsBuildTarget.targetPackages.clangStdenv.cc;
+in
 
 buildPythonApplication {
   pname = "minijail-tools";
   inherit (minijail) version src;
 
+  postPatch = ''
+    substituteInPlace Makefile --replace /bin/echo echo
+  '';
+
+  postConfigure = ''
+    substituteInPlace tools/compile_seccomp_policy.py \
+        --replace "'constants.json'" "'$out/share/constants.json'"
+  '';
+
+  preBuild = ''
+    make libconstants.gen.c libsyscalls.gen.c
+    ${targetClang}/bin/${targetClang.targetPrefix}cc -S -emit-llvm \
+        libconstants.gen.c libsyscalls.gen.c
+    ${python.pythonForBuild.interpreter} tools/generate_constants_json.py \
+        --output constants.json \
+        libconstants.gen.ll libsyscalls.gen.ll
+  '';
+
+  postInstall = ''
+    mkdir -p $out/share
+    cp -v constants.json $out/share/constants.json
+  '';
+
   meta = with lib; {
     homepage = "https://android.googlesource.com/platform/external/minijail/+/refs/heads/master/tools/";
     description = "A set of tools for minijail";
diff --git a/pkgs/tools/system/netdata/default.nix b/pkgs/tools/system/netdata/default.nix
index 0d5b7e23c12..751725eec6b 100644
--- a/pkgs/tools/system/netdata/default.nix
+++ b/pkgs/tools/system/netdata/default.nix
@@ -19,14 +19,14 @@ with lib;
 let
   go-d-plugin = callPackage ./go.d.plugin.nix {};
 in stdenv.mkDerivation rec {
-  version = "1.35.1";
+  version = "1.36.0";
   pname = "netdata";
 
   src = fetchFromGitHub {
     owner = "netdata";
     repo = "netdata";
     rev = "v${version}";
-    sha256 = "sha256-wYphy3+DlT0UpQ5su/LkMJRIcABiBR+fIL/0w9bUeS0=";
+    sha256 = "sha256-ir8NO150PgDEaWjTvXuSZMIK3qwZrGyPuGHxLIBfCfU=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/tools/system/pciutils/default.nix b/pkgs/tools/system/pciutils/default.nix
index 31532167181..b7cfde58070 100644
--- a/pkgs/tools/system/pciutils/default.nix
+++ b/pkgs/tools/system/pciutils/default.nix
@@ -14,10 +14,11 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ zlib kmod which ] ++
-    lib.optional stdenv.hostPlatform.isDarwin IOKit;
+  buildInputs = [ which zlib ]
+    ++ lib.optionals stdenv.hostPlatform.isDarwin [ IOKit ]
+    ++ lib.optionals stdenv.hostPlatform.isLinux [ kmod ];
 
-  preConfigure = if stdenv.cc.isGNU then null else ''
+  preConfigure = lib.optionalString (!stdenv.cc.isGNU) ''
     substituteInPlace Makefile --replace 'CC=$(CROSS_COMPILE)gcc' ""
   '';
 
diff --git a/pkgs/tools/system/plan9port/builder.sh b/pkgs/tools/system/plan9port/builder.sh
deleted file mode 100644
index b5196e512f4..00000000000
--- a/pkgs/tools/system/plan9port/builder.sh
+++ /dev/null
@@ -1,71 +0,0 @@
-source $stdenv/setup
-
-export PLAN9=$out/plan9
-export PLAN9_TARGET=$PLAN9
-
-plan9portLinkFlags()
-{
-    eval set -- "$NIX_LDFLAGS"
-    local flag
-    for flag in "$@"; do
-        printf ' -Wl,%s' "$flag"
-    done
-}
-
-configurePhase()
-{
-    (
-        echo CC9=\"$(command -v $CC)\"
-        echo CFLAGS=\"$NIX_CFLAGS_COMPILE\"
-        echo LDFLAGS=\"$(plan9portLinkFlags)\"
-        echo X11=\"${libXt_dev}/include\"
-        case "$system" in
-          x86_64-*) echo OBJTYPE=x86_64;;
-          i?86-*)   echo OBJTYPE=386;;
-          *power*)  echo OBJTYPE=power;;
-          *sparc*)  echo OBJTYPE=sparc;;
-        esac
-        if [[ $system =~ .*linux.* ]]; then
-          echo SYSVERSION=2.6.x
-        fi
-    ) >config
-
-    for f in `grep -l -r /usr/local/plan9`; do
-        sed "s,/usr/local/plan9,${PLAN9},g" -i $f
-    done
-}
-
-buildPhase()
-{
-    mkdir -p $PLAN9
-
-    # Copy sources, some necessary bin scripts
-    cp -R * $PLAN9
-
-    local originalPath="$PATH"
-    export PATH="$PLAN9/bin:$PATH"
-    export NPROC=$NIX_BUILD_CORES
-    pushd src
-    ../dist/buildmk
-    mk clean
-    mk libs-nuke
-    mk all
-    mk -k install
-    if [[ -f $PLAN9/bin/quote1 ]]; then
-        cp $PLAN9/bin/quote1 $PLAN9/bin/'"'
-        cp $PLAN9/bin/quote2 $PLAN9/bin/'""'
-    fi
-    popd
-    export PATH="$originalPath"
-}
-
-installPhase()
-{
-    # Copy the `9' utility. This way you can use
-    # $ 9 awk
-    # to use the plan 9 awk
-    mkdir $out/bin
-    ln -s $PLAN9/bin/9 $out/bin
-}
-
-genericBuild
diff --git a/pkgs/tools/system/plan9port/default.nix b/pkgs/tools/system/plan9port/default.nix
index de076e181e8..3e52d10a240 100644
--- a/pkgs/tools/system/plan9port/default.nix
+++ b/pkgs/tools/system/plan9port/default.nix
@@ -2,7 +2,7 @@
 , fontconfig, freetype, libX11, libXext, libXt, xorgproto
 , Carbon, Cocoa, IOKit, Metal, QuartzCore, DarwinTools
 , perl # For building web manuals
-, which
+, which, ed
 }:
 
 stdenv.mkDerivation rec {
@@ -19,26 +19,69 @@ stdenv.mkDerivation rec {
   postPatch = ''
     substituteInPlace bin/9c \
       --replace 'which uniq' '${which}/bin/which uniq'
+
+    ed -sE INSTALL <<EOF
+    # get /bin:/usr/bin out of PATH
+    /^PATH=[^ ]*/s,,PATH=\$PATH:\$PLAN9/bin,
+    # no xcbuild nonsense
+    /^if.* = Darwin/+;/^fi/-c
+    ${"\t"}export NPROC=$NIX_BUILD_CORES
+    .
+    # remove absolute include paths from fontsrv test
+    /cc -o a.out -c -I.*freetype2/;/x11.c/j
+    s/(-Iinclude).*-I[^ ]*/\1/
+    wq
+    EOF
   '';
 
-  buildInputs = [ perl ] ++ (if !stdenv.isDarwin then [
-    fontconfig
-    freetype # fontsrv wants ft2build.h
-    libX11
-    libXext
-    libXt
-    xorgproto
+  nativeBuildInputs = [ ed ];
+  buildInputs = [ perl which ] ++ (if !stdenv.isDarwin then [
+    fontconfig freetype # fontsrv uses these
+    libX11 libXext libXt xorgproto
   ] else [
-    Carbon
-    Cocoa
-    IOKit
-    Metal
-    QuartzCore
+    Carbon Cocoa IOKit Metal QuartzCore
     DarwinTools
   ]);
 
-  builder = ./builder.sh;
-  libXt_dev = libXt.dev;
+  configurePhase = ''
+    runHook preConfigure
+    cat >LOCAL.config <<EOF
+    CC9='$(command -v $CC)'
+    CFLAGS='$NIX_CFLAGS_COMPILE'
+    LDFLAGS='$(for f in $NIX_LDFLAGS; do echo "-Wl,$f"; done | xargs echo)'
+    ${lib.optionalString (!stdenv.isDarwin) "X11='${libXt.dev}/include'"}
+    EOF
+
+    # make '9' available in the path so there's some way to find out $PLAN9
+    cat >LOCAL.INSTALL <<EOF
+    #!$out/plan9/bin/rc
+    mkdir $out/bin
+    ln -s $out/plan9/bin/9 $out/bin/
+    EOF
+    chmod +x LOCAL.INSTALL
+
+    # now, not in fixupPhase, so ./INSTALL works
+    patchShebangs .
+    runHook postConfigure
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+    ./INSTALL -b
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    mkdir $out
+    cp -r . $out/plan9
+    cd $out/plan9
+
+    ./INSTALL -c
+    runHook postInstall
+  '';
+
+  dontPatchShebangs = true;
 
   doInstallCheck = true;
   installCheckPhase = ''
@@ -70,12 +113,7 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.mit;
     maintainers = with maintainers; [
-      AndersonTorres
-      bbarker
-      ehmry
-      ftrvxmtrx
-      kovirobi
-      ylh
+      AndersonTorres bbarker ehmry ftrvxmtrx kovirobi ylh
     ];
     mainProgram = "9";
     platforms = platforms.unix;
diff --git a/pkgs/tools/system/rsyslog/default.nix b/pkgs/tools/system/rsyslog/default.nix
index 6876d441c52..2493d96a253 100644
--- a/pkgs/tools/system/rsyslog/default.nix
+++ b/pkgs/tools/system/rsyslog/default.nix
@@ -11,11 +11,11 @@
 with lib;
 stdenv.mkDerivation rec {
   pname = "rsyslog";
-  version = "8.2204.1";
+  version = "8.2208.0";
 
   src = fetchurl {
     url = "https://www.rsyslog.com/files/download/rsyslog/${pname}-${version}.tar.gz";
-    sha256 = "sha256-ptcx5GrT1k9q1LGbvxv1bKR2CkSiS7loIxidwucfcCg=";
+    sha256 = "sha256-FN5o57jlqwxdc0+C4tyf/yLNf0cQrWkHJ+sQp7mz314=";
   };
 
   #patches = [ ./fix-gnutls-detection.patch ];
diff --git a/pkgs/tools/system/syslog-ng/default.nix b/pkgs/tools/system/syslog-ng/default.nix
index 990e7afc39a..ecd3290f564 100644
--- a/pkgs/tools/system/syslog-ng/default.nix
+++ b/pkgs/tools/system/syslog-ng/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "syslog-ng";
-  version = "3.36.1";
+  version = "3.37.1";
 
   src = fetchurl {
     url = "https://github.com/${pname}/${pname}/releases/download/${pname}-${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-kKJcl2f+dJ21DxGN38kuxxOZdj0uzVrU8R/17qBJ5gs=";
+    sha256 = "sha256-1noyDLiWzV1i8k2eG+wTiEf6RhiuE6OUbK4rdcUo7hQ=";
   };
 
   nativeBuildInputs = [ pkg-config which ];
@@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.syslog-ng.com";
     description = "Next-generation syslogd with advanced networking and filtering capabilities";
     license = with licenses; [ gpl2Plus lgpl21Plus ];
-    maintainers = with maintainers; [ fpletz ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/system/systeroid/default.nix b/pkgs/tools/system/systeroid/default.nix
index 25d1a534277..39cca93b988 100644
--- a/pkgs/tools/system/systeroid/default.nix
+++ b/pkgs/tools/system/systeroid/default.nix
@@ -7,13 +7,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "systeroid";
-  version = "0.1.1";
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner = "orhun";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0xf81wyp5qg67r0vyqg0209pcabx70vvxx4nrg2y7qa0mhvf6p94";
+    sha256 = "sha256-o72tjYc+1dBLAIG75Fyt2UubjeK6j/nufjiz3wn2SdI=";
   };
 
   postPatch = ''
@@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec {
       --replace '"/usr/share/doc/kernel-doc-*/Documentation/*",' '"${linux-doc}/share/doc/linux-doc/*",'
   '';
 
-  cargoSha256 = "sha256-D/sSeMR1Zg3OH1fdSVKdxdIcoP4OLp3T8mwQ28O8rfk=";
+  cargoSha256 = "sha256-8DGAiPAq+L1aWleeWEl95+hcgT+PHsxdg118U8IDyOA=";
 
   buildInputs = [
     xorg.libxcb
diff --git a/pkgs/tools/text/difftastic/default.nix b/pkgs/tools/text/difftastic/default.nix
index 63d6d8f45a5..4493066a624 100644
--- a/pkgs/tools/text/difftastic/default.nix
+++ b/pkgs/tools/text/difftastic/default.nix
@@ -9,13 +9,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "difftastic";
-  version = "0.31.0";
+  version = "0.32.0";
 
   src = fetchFromGitHub {
     owner = "wilfred";
     repo = pname;
     rev = version;
-    sha256 = "sha256-jxxrmlavHdfou9w6KRIoAG3kBDBpg1lpk7J+E8Rx/ew=";
+    sha256 = "sha256-7Y51S4PM+HpiPCG3ju7Aagw1XoPM3DpckGtVhH7Od8Q=";
   };
 
   depsExtraArgs = {
@@ -40,7 +40,7 @@ rustPlatform.buildRustPackage rec {
       popd
     '';
   };
-  cargoSha256 = "sha256-QW7Y/27AFjuNj+MSwi+DPdjPWqglBW6mAtg9N6BhyAY=";
+  cargoSha256 = "sha256-36HZ/5rx5K3mVNyBtDzJnSrKRGShFd1aEt3qqPsNqfs=";
 
   passthru.tests.version = testers.testVersion { package = difftastic; };
 
diff --git a/pkgs/tools/text/fastmod/default.nix b/pkgs/tools/text/fastmod/default.nix
index d6e2dc4dd1f..a9f1b79c474 100644
--- a/pkgs/tools/text/fastmod/default.nix
+++ b/pkgs/tools/text/fastmod/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fastmod";
-  version = "0.4.2";
+  version = "0.4.3";
 
   src = fetchFromGitHub {
     owner = "facebookincubator";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Lv8hARD/aVWiWpJQmPWPeACpX15+3NogoUl5yh63E7A=";
+    sha256 = "sha256-j5+6ijJ04/Non7AUSN35OhfZ04MiPUDU4V1HLwZaM9k=";
   };
 
-  cargoSha256 = "sha256-L1MKoVacVKcpEG2IfS+eENxFZNiSaTDTxfFbFlvzYl8=";
+  cargoSha256 = "sha256-RNTnP3RKRZXo3+L54y/8nBunGbsxVY72sbl+ZrqfeMI=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
 
diff --git a/pkgs/tools/text/jsawk/default.nix b/pkgs/tools/text/jsawk/default.nix
index 4efaf56ccf6..2f21900b8d0 100644
--- a/pkgs/tools/text/jsawk/default.nix
+++ b/pkgs/tools/text/jsawk/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper, spidermonkey_78 }:
+{ lib, stdenv, fetchFromGitHub, makeWrapper, spidermonkey_102 }:
 
 stdenv.mkDerivation {
   pname = "jsawk";
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
     mkdir -p $out/bin
     cp $src/jsawk $out/bin/
     wrapProgram $out/bin/jsawk \
-      --prefix PATH : "${spidermonkey_78}/bin"
+      --prefix PATH : "${spidermonkey_102}/bin"
   '';
 
   meta = {
diff --git a/pkgs/tools/text/mdcat/default.nix b/pkgs/tools/text/mdcat/default.nix
index 4fe156600c0..87ac39fb56f 100644
--- a/pkgs/tools/text/mdcat/default.nix
+++ b/pkgs/tools/text/mdcat/default.nix
@@ -12,21 +12,21 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdcat";
-  version = "0.27.1";
+  version = "0.28.0";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "flausch";
     repo = "mdcat";
     rev = "mdcat-${version}";
-    sha256 = "sha256-iWFWpUyg/VYI+AKFsJe/rOYco+680l/bIHX0qXfD3u0=";
+    sha256 = "sha256-l64gRoWYYLbPA0n6vNQf14CCUtnkfMnQdqbetIbWvBU=";
   };
 
   nativeBuildInputs = [ pkg-config asciidoctor installShellFiles ];
   buildInputs = [ openssl ]
     ++ lib.optional stdenv.isDarwin Security;
 
-  cargoSha256 = "sha256-e/yupkCqWZZCfD8brVb2yD4pt3ExSfwCm2bmTyjRGpA=";
+  cargoSha256 = "sha256-MCldDRleFfl4UrITuMEmLo0JyR+eoi6S6zGvFOMnIBE=";
 
   checkInputs = [ ansi2html ];
   # Skip tests that use the network and that include files.
diff --git a/pkgs/tools/text/poedit/default.nix b/pkgs/tools/text/poedit/default.nix
index c64828579c9..1a9f33438c8 100644
--- a/pkgs/tools/text/poedit/default.nix
+++ b/pkgs/tools/text/poedit/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "poedit";
-  version = "3.1";
+  version = "3.1.1";
 
   src = fetchFromGitHub {
     owner = "vslavik";
     repo = "poedit";
     rev = "v${version}-oss";
-    sha256 = "sha256-Wxj1xPbtupEnzuvf7JdUgdTxX2oAZDEYk6W4CjrmRRE=";
+    sha256 = "sha256-kun1x1ql8KLS1+nh5+iItxYZnfvFcrx62cvX4OEczG4=";
   };
 
   nativeBuildInputs = [ autoconf automake asciidoc wrapGAppsHook
diff --git a/pkgs/tools/text/tidy-viewer/default.nix b/pkgs/tools/text/tidy-viewer/default.nix
index 187bde3958e..47fabde6068 100644
--- a/pkgs/tools/text/tidy-viewer/default.nix
+++ b/pkgs/tools/text/tidy-viewer/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tidy-viewer";
-  version = "1.4.6";
+  version = "1.4.30";
 
   src = fetchFromGitHub {
     owner = "alexhallam";
     repo = "tv";
     rev = version;
-    sha256 = "sha256-aCso4+EdHKeYVFyOrVwE967//9VkfNHvvnumtkORVmw=";
+    sha256 = "sha256-z1H27D0DYQieU91FBZreN6XQCFvwxBJBIWBZRO50cnw=";
   };
 
-  cargoSha256 = "sha256-bEwfdjvBbvlMyuqdH0xprCVrOV5Wm2E1uwDsg2M66dY=";
+  cargoSha256 = "sha256-rLRyzQkwbjIMhLLHSuDKQznBIDV9iAqCUVg6q5gRhsA=";
 
   # this test parses command line arguments
   # error: Found argument '--test-threads' which wasn't expected, or isn't valid in this context
diff --git a/pkgs/tools/text/tuc/default.nix b/pkgs/tools/text/tuc/default.nix
new file mode 100644
index 00000000000..5401515d0fb
--- /dev/null
+++ b/pkgs/tools/text/tuc/default.nix
@@ -0,0 +1,21 @@
+{ lib, fetchFromGitHub, rustPlatform }:
+rustPlatform.buildRustPackage rec {
+  pname = "tuc";
+  version = "0.11.0";
+
+  src = fetchFromGitHub {
+    owner = "riquito";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-M2SK6KF8R0WcyFf8eTyYNK5oXj/DfCrAkUZJ3J2LF6U=";
+  };
+
+  cargoSha256 = "sha256-MhEIDRC40zQ8mBXxONavtPr87SrueV57HhmIRLIagGA=";
+
+  meta = with lib; {
+    description = "When cut doesn't cut it";
+    homepage = "https://github.com/riquito/tuc";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ dit7ya ];
+  };
+}
diff --git a/pkgs/tools/text/xml/basex/default.nix b/pkgs/tools/text/xml/basex/default.nix
index 1313e8370ee..714918c24d1 100644
--- a/pkgs/tools/text/xml/basex/default.nix
+++ b/pkgs/tools/text/xml/basex/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "basex";
-  version = "9.7.3";
+  version = "10.0";
 
   src = fetchurl {
     url = "http://files.basex.org/releases/${version}/BaseX${builtins.replaceStrings ["."] [""] version}.zip";
-    hash = "sha256-ymuitTQoPdm5ZGu6h8UWYiKbUQHUz2r6B8WmJkHfYOM=";
+    hash = "sha256-3NWmgvMEWdj3h7b/kg4u3EdQupgldYc/SiPO2vzF140=";
   };
 
   nativeBuildInputs = [ unzip copyDesktopItems ];
diff --git a/pkgs/tools/typesetting/asciidoctor-with-extensions/default.nix b/pkgs/tools/typesetting/asciidoctor-with-extensions/default.nix
index c4aa7fa4a27..e31ce69baa1 100644
--- a/pkgs/tools/typesetting/asciidoctor-with-extensions/default.nix
+++ b/pkgs/tools/typesetting/asciidoctor-with-extensions/default.nix
@@ -2,9 +2,13 @@
 , bundlerApp
 , bundlerUpdateScript
 , makeWrapper
+, withJava ? true, jre # Used by asciidoctor-diagram for ditaa and PlantUML
 }:
 
-bundlerApp {
+let
+  path = lib.makeBinPath (lib.optional withJava jre);
+in
+bundlerApp rec {
   pname = "asciidoctor";
   gemdir = ./.;
 
@@ -16,6 +20,13 @@ bundlerApp {
     "asciidoctor-revealjs"
   ];
 
+  buildInputs = [ makeWrapper ];
+
+  postBuild = lib.optionalString (path != "") (lib.concatMapStrings (exe: ''
+    wrapProgram $out/bin/${exe} \
+      --prefix PATH : ${path}
+  '') exes);
+
   passthru = {
     updateScript = bundlerUpdateScript "asciidoctor-with-extensions";
   };
diff --git a/pkgs/tools/typesetting/sile/default.nix b/pkgs/tools/typesetting/sile/default.nix
index 60eefa32c8b..5e1a3333cfb 100644
--- a/pkgs/tools/typesetting/sile/default.nix
+++ b/pkgs/tools/typesetting/sile/default.nix
@@ -33,7 +33,6 @@ let
     luasocket
     luautf8
     penlight
-    stdlib
     vstruct
   ] ++ lib.optionals (lib.versionOlder lua.luaversion "5.2") [
     bit32
@@ -44,11 +43,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "sile";
-  version = "0.13.3";
+  version = "0.14.2";
 
   src = fetchurl {
     url = "https://github.com/sile-typesetter/sile/releases/download/v${version}/${pname}-${version}.tar.xz";
-    sha256 = "0x8w63xr3nd0is1pv55dlgnv7fkn8s5ny6453wn84h44i7qwdc8s";
+    sha256 = "1q32a1ps66am6sbi3al528175kscq1fqc47gkdpb58r1kiyj9pm3";
   };
 
   configureFlags = [
diff --git a/pkgs/tools/video/svt-av1/default.nix b/pkgs/tools/video/svt-av1/default.nix
index dc57cf11609..3d633c2da25 100644
--- a/pkgs/tools/video/svt-av1/default.nix
+++ b/pkgs/tools/video/svt-av1/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "svt-av1";
-  version = "1.0.0";
+  version = "1.2.0";
 
   src = fetchFromGitLab {
     owner = "AOMediaCodec";
     repo = "SVT-AV1";
     rev = "v${version}";
-    sha256 = "sha256-M5ErWB/klVijsF+GysR0b3m180h+O+10weKr1pTh8ow=";
+    sha256 = "sha256-mUWWYaExEd/WkIYb1d8AduioHBxGp4Nn7Trhe2vv6Z0=";
   };
 
   nativeBuildInputs = [ cmake nasm ];
diff --git a/pkgs/tools/virtualization/alpine-make-vm-image/default.nix b/pkgs/tools/virtualization/alpine-make-vm-image/default.nix
index f6cfe011488..6f518d10f6b 100644
--- a/pkgs/tools/virtualization/alpine-make-vm-image/default.nix
+++ b/pkgs/tools/virtualization/alpine-make-vm-image/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "alpine-make-vm-image";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "alpinelinux";
     repo = "alpine-make-vm-image";
     rev = "v${version}";
-    sha256 = "14rkqlg319h8agiydgknjfv2f7vl6rdj848xfkngvydrf1rr38j6";
+    sha256 = "sha256-WxuExPn+ni4F7hxO1hrrYGm1hsehX8EcaOGevbrHKDM=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/virtualization/awsebcli/default.nix b/pkgs/tools/virtualization/awsebcli/default.nix
index 961d8f9a9db..f3ebb7cc5df 100644
--- a/pkgs/tools/virtualization/awsebcli/default.nix
+++ b/pkgs/tools/virtualization/awsebcli/default.nix
@@ -51,7 +51,7 @@ with localPython.pkgs; buildPythonApplication rec {
       --replace "six>=1.11.0,<1.15.0" "six==1.16.0" \
       --replace "requests>=2.20.1,<=2.26" "requests==2.28.1" \
       --replace "jmespath>=0.7.1,<1.0.0" "jmespath==1.0.1" \
-      --replace "botocore>1.23.41,<1.24.0" "botocore==1.27.31"
+      --replace "botocore>1.23.41,<1.24.0" "botocore>1.23.41,<1.27.49"
   '';
 
   buildInputs = [
diff --git a/pkgs/tools/virtualization/ec2-api-tools/default.nix b/pkgs/tools/virtualization/ec2-api-tools/default.nix
index babcbcfc6c3..97545204bfd 100644
--- a/pkgs/tools/virtualization/ec2-api-tools/default.nix
+++ b/pkgs/tools/virtualization/ec2-api-tools/default.nix
@@ -1,31 +1,35 @@
-{ lib, stdenv, fetchurl, unzip, makeWrapper, jre }:
+{ lib
+, stdenv
+, fetchurl
+, unzip
+, makeWrapper
+, jre
+}:
 
 stdenv.mkDerivation rec {
   pname = "ec2-api-tools";
   version = "1.7.5.1";
 
   src = fetchurl {
-    url = "http://tarballs.nixos.org/ec2-api-tools-${version}.zip";
-    sha256 = "0figmvcm82ghmpz3018ihysz8zpxpysgbpdx7rmciq9y80qbw6l5";
+    url = "http://s3.amazonaws.com/ec2-downloads/${pname}-${version}.zip";
+    sha256 = "sha256-hRq+MEA+4chqPr3d9bS//X70tYcRBTD+rfAJVNmuLzo=";
   };
 
   nativeBuildInputs = [ makeWrapper unzip ];
 
-  installPhase =
-    ''
-      d=$out/libexec/ec2-api-tools
-      mkdir -p $d
-      mv * $d
-      rm $d/bin/*.cmd # Windows stuff
-
-      for i in $d/bin/*; do
-          b=$(basename $i)
-          if [ $b = "ec2-cmd" ]; then continue; fi
-          makeWrapper $i $out/bin/$(basename $i) \
-            --set EC2_HOME $d \
-            --set JAVA_HOME ${jre}
-      done
-    ''; # */
+  installPhase = ''
+    d=$out/libexec/ec2-api-tools
+    mkdir -p $d
+    mv * $d
+    rm $d/bin/*.cmd # Windows stuff
+    for i in $d/bin/*; do
+      b=$(basename $i)
+      if [ $b = "ec2-cmd" ]; then continue; fi
+      makeWrapper $i $out/bin/$(basename $i) \
+        --set EC2_HOME $d \
+        --set JAVA_HOME ${jre}
+    done
+  '';
 
   meta = {
     homepage = "http://developer.amazonwebservices.com/connect/entry.jspa?externalID=351";
diff --git a/pkgs/tools/wayland/way-displays/default.nix b/pkgs/tools/wayland/way-displays/default.nix
index 77b97563d52..126f2a4ec9f 100644
--- a/pkgs/tools/wayland/way-displays/default.nix
+++ b/pkgs/tools/wayland/way-displays/default.nix
@@ -9,19 +9,15 @@
 
 stdenv.mkDerivation rec {
   pname = "way-displays";
-  version = "1.5.3";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "alex-courtis";
     repo = "way-displays";
     rev = "${version}";
-    sha256 = "sha256-5A0qZRpWw3Deo9cGqGULpQMoPCVh85cWE/wJ5XSbVJk=";
+    sha256 = "sha256-wrfRSJaVz0GjYxuIDvJ+16aaz+kRTtv0q5jN2IG4Uco=";
   };
 
-  postPatch = ''
-    substituteInPlace src/cfg.cpp --replace "\"/etc" "\"$out/etc"
-  '';
-
   strictDeps = true;
 
   nativeBuildInputs = [
@@ -35,7 +31,7 @@ stdenv.mkDerivation rec {
     libinput
   ];
 
-  makeFlags = [ "DESTDIR=$(out) PREFIX= PREFIX_ETC="];
+  makeFlags = [ "DESTDIR=$(out) PREFIX= PREFIX_ETC= ROOT_ETC=$(out)/etc"];
 
   meta = with lib; {
     homepage = "https://github.com/alex-courtis/way-displays";
diff --git a/pkgs/tools/wayland/wl-mirror/default.nix b/pkgs/tools/wayland/wl-mirror/default.nix
index 3b876c53060..129f02e8017 100644
--- a/pkgs/tools/wayland/wl-mirror/default.nix
+++ b/pkgs/tools/wayland/wl-mirror/default.nix
@@ -14,6 +14,7 @@
 , pipectl
 , slurp
 , rofi
+, scdoc
 }:
 
 let
@@ -27,17 +28,17 @@ in
 
 stdenv.mkDerivation rec {
   pname = "wl-mirror";
-  version = "0.11.2";
+  version = "0.12.1";
 
   src = fetchFromGitHub {
     owner = "Ferdi265";
     repo = "wl-mirror";
     rev = "v${version}";
-    hash = "sha256-D5uUKaepcSW9v2x6uBeLGXAyuLorlt4Lb6lZD/prfp8=";
+    hash = "sha256-XuwHHJfUKYugx0CKxkloJnpm6s5rHetinsZCSlLJ0Zg=";
   };
 
   strictDeps = true;
-  nativeBuildInputs = [ cmake pkg-config wayland-scanner makeWrapper ];
+  nativeBuildInputs = [ cmake pkg-config wayland-scanner scdoc makeWrapper ];
   buildInputs = [ libGL wayland wayland-protocols wlr-protocols bash ];
 
   postPatch = ''
@@ -49,6 +50,7 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-DINSTALL_EXAMPLE_SCRIPTS=${if installExampleScripts then "ON" else "OFF"}"
+    "-DINSTALL_DOCUMENTATION=ON"
   ];
 
   postInstall = lib.optionalString installExampleScripts ''
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 3c28d18108c..b2a8d4a5a65 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -423,6 +423,7 @@ mapAliases ({
   firefox-wrapper = throw "'firefox-wrapper' has been renamed to/replaced by 'firefox'"; # Converted to throw 2022-02-22
   firmwareLinuxNonfree = linux-firmware; # Added 2022-01-09
   fish-foreign-env = throw "fish-foreign-env has been replaced with fishPlugins.foreign-env"; # Added 2020-12-29, modified 2021-01-10
+  fishfight = jumpy; # Added 2022-08-03
   flameGraph = throw "'flameGraph' has been renamed to/replaced by 'flamegraph'"; # Converted to throw 2022-02-22
   flashplayer-standalone-debugger = throw "flashplayer-standalone-debugger has been removed as Adobe Flash Player is now deprecated"; # Added 2021-02-07
   flashplayer-standalone = throw "flashplayer-standalone has been removed as Adobe Flash Player is now deprecated"; # Added 2021-02-07
@@ -580,6 +581,7 @@ mapAliases ({
   ### H ###
 
   hal-flash = throw "hal-flash has been removed as Adobe Flash Player is now deprecated"; # Added 2021-02-07
+  inherit (harePackages) hare harec; # Added 2022-08-10
   hawkthorne = throw "hawkthorne has been removed because it depended on a broken version of love"; # Added 2022-01-15
   heapster = throw "Heapster is now retired. See https://github.com/kubernetes-retired/heapster/blob/master/docs/deprecation.md"; # Added 2022-04-05
   heimdalFull = throw "'heimdalFull' has been renamed to/replaced by 'heimdal'"; # Converted to throw 2022-02-22
@@ -754,6 +756,7 @@ mapAliases ({
   libva-full = throw "'libva-full' has been renamed to/replaced by 'libva'"; # Converted to throw 2022-02-22
   libva1-full = throw "'libva1-full' has been renamed to/replaced by 'libva1'"; # Converted to throw 2022-02-22
   libwnck3 = libwnck;
+  lightdm_gtk_greeter = lightdm-gtk-greeter; # Added 2022-08-01
   lighthouse = throw "lighthouse has been removed: abandoned by upstream"; # Added 2022-04-24
   lighttable = throw "'lighttable' crashes (SIGSEGV) on startup, has not been updated in years and depends on deprecated GTK2"; # Added 2022-06-15
   lilypond-unstable = lilypond; # Added 2021-03-11
@@ -774,6 +777,7 @@ mapAliases ({
   linuxPackages_5_16 = linuxKernel.packages.linux_5_16;
   linuxPackages_5_17 = linuxKernel.packages.linux_5_17;
   linuxPackages_5_18 = linuxKernel.packages.linux_5_18;
+  linuxPackages_5_19 = linuxKernel.packages.linux_5_19;
   linuxPackages_5_4 = linuxKernel.packages.linux_5_4;
   linuxPackages_hardkernel_4_14 = linuxKernel.packages.hardkernel_4_14;
   linuxPackages_rpi0 = linuxKernel.packages.linux_rpi1;
@@ -793,6 +797,7 @@ mapAliases ({
   linux_5_16 = linuxKernel.kernels.linux_5_16;
   linux_5_17 = linuxKernel.kernels.linux_5_17;
   linux_5_18 = linuxKernel.kernels.linux_5_18;
+  linux_5_19 = linuxKernel.kernels.linux_5_19;
   linux_5_4 = linuxKernel.kernels.linux_5_4;
   linux_mptcp_95 = linuxKernel.kernels.linux_mptcp_95;
   linux_rpi0 = linuxKernel.kernels.linux_rpi1;
@@ -891,6 +896,7 @@ mapAliases ({
   mopidy-spotify-tunigo = throw "mopidy-spotify-tunigo has been removed because Spotify stopped supporting libspotify"; # added 2022-05-29
 
   morituri = throw "'morituri' has been renamed to/replaced by 'whipper'"; # Converted to throw 2022-02-22
+  moz-phab = mozphab; # Added 2022-08-09
   mozart-binary = mozart2-binary; # Added 2019-09-23
   mozart = mozart2-binary; # Added 2019-09-23
   mpc_cli = mpc-cli; # moved from top-level 2022-01-24
@@ -1383,6 +1389,7 @@ mapAliases ({
   telepathy_qt5 = throw "'telepathy_qt5' has been renamed to/replaced by 'libsForQt5.telepathy'"; # Converted to throw 2022-02-22
   telnet = throw "'telnet' has been renamed to/replaced by 'inetutils'"; # Converted to throw 2022-02-22
   terminus = throw "terminus has been removed, it was unmaintained in nixpkgs"; # Added 2021-08-21
+  terraform-full = throw "terraform-full has been removed, it was an alias for 'terraform.full'"; # Added 2022-08-02
   terraform_0_13 = throw "terraform_0_13 has been removed from nixpkgs"; # Added 2022-06-26
   terraform_0_14 = throw "terraform_0_14 has been removed from nixpkgs"; # Added 2022-06-26
   terraform_0_15 = throw "terraform_0_15 has been removed from nixpkgs"; # Added 2022-06-26
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index ab743a3ff93..d3c097f739c 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -242,6 +242,8 @@ with pkgs;
 
   atkinson-hyperlegible = callPackage ../data/fonts/atkinson-hyperlegible { };
 
+  _0x =  callPackage ../tools/misc/0x { };
+
   atuin = callPackage ../tools/misc/atuin {
     inherit (darwin.apple_sdk.frameworks) Security SystemConfiguration;
   };
@@ -500,6 +502,8 @@ with pkgs;
 
   ptags = callPackage ../development/tools/misc/ptags { };
 
+  resolve-march-native = callPackage ../development/tools/resolve-march-native { };
+
   ptouch-print = callPackage ../misc/ptouch-print { };
 
   demoit = callPackage ../servers/demoit { };
@@ -1087,7 +1091,6 @@ with pkgs;
 
   acme-client = callPackage ../tools/networking/acme-client {
     stdenv = gccStdenv;
-    libressl = libressl_3_4;
   };
 
   adrgen = callPackage ../tools/misc/adrgen { };
@@ -1138,6 +1141,8 @@ with pkgs;
 
   aide = callPackage ../tools/security/aide { };
 
+  aioblescan = with python3Packages; toPythonApplication aioblescan;
+
   aiodnsbrute = python3Packages.callPackage ../tools/security/aiodnsbrute { };
 
   aircrack-ng = callPackage ../tools/networking/aircrack-ng { };
@@ -1195,10 +1200,14 @@ with pkgs;
 
   davinci-resolve = callPackage ../applications/video/davinci-resolve { };
 
+  dwarfs = callPackage ../tools/filesystems/dwarfs { };
+
   gamemode = callPackage ../tools/games/gamemode {
     libgamemode32 = pkgsi686Linux.gamemode.lib;
   };
 
+  gamescope = callPackage ../applications/window-managers/gamescope { };
+
   gay = callPackage ../tools/misc/gay {  };
 
   elkhound = callPackage ../development/tools/elkhound { };
@@ -1215,6 +1224,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  gh-dash = callPackage ../tools/misc/gh-dash { };
+
   gh-eco = callPackage ../tools/misc/gh-eco { };
 
   glooctl = callPackage ../applications/networking/cluster/glooctl { };
@@ -1273,6 +1284,8 @@ with pkgs;
 
   redfang = callPackage ../tools/networking/redfang { };
 
+  scarab = callPackage ../tools/games/scarab { };
+
   sdbus-cpp = callPackage ../development/libraries/sdbus-cpp { };
 
   sdlookup = callPackage ../tools/security/sdlookup { };
@@ -1782,8 +1795,8 @@ with pkgs;
 
   wayst = callPackage ../applications/terminal-emulators/wayst { };
 
-  wezterm = callPackage ../applications/terminal-emulators/wezterm {
-    inherit (darwin.apple_sdk.frameworks) Cocoa CoreGraphics Foundation;
+  wezterm = darwin.apple_sdk_11_0.callPackage ../applications/terminal-emulators/wezterm {
+    inherit (darwin.apple_sdk_11_0.frameworks) Cocoa CoreGraphics Foundation UserNotifications;
   };
 
   x3270 = callPackage ../applications/terminal-emulators/x3270 { };
@@ -2301,6 +2314,8 @@ with pkgs;
 
   cue = callPackage ../development/tools/cue { };
 
+  cuelsp = callPackage ../development/tools/cuelsp {};
+
   cyclone-scheme = callPackage ../development/interpreters/cyclone { };
 
   cyclonedx-python = callPackage ../tools/misc/cyclonedx-python { };
@@ -2523,9 +2538,13 @@ with pkgs;
 
   hime = callPackage ../tools/inputmethods/hime {};
 
-  himitsu = callPackage ../tools/security/himitsu { };
+  himitsu = callPackage ../tools/security/himitsu {
+    inherit (harePackages) hare;
+  };
 
-  himitsu-firefox = callPackage ../tools/security/himitsu-firefox { };
+  himitsu-firefox = callPackage ../tools/security/himitsu-firefox {
+    inherit (harePackages) hare;
+  };
 
   hinit = haskell.lib.compose.justStaticExecutables haskellPackages.hinit;
 
@@ -2609,44 +2628,15 @@ with pkgs;
 
   go-audit = callPackage ../tools/system/go-audit { };
 
-  gopass = callPackage ../tools/security/gopass {
-    buildGoModule = __buildGo118ModuleCL417615;
-  };
-
-  gopass-hibp = callPackage ../tools/security/gopass/hibp.nix {
-    buildGoModule = __buildGo118ModuleCL417615;
-  };
+  gopass = callPackage ../tools/security/gopass { };
 
-  gopass-jsonapi = callPackage ../tools/security/gopass/jsonapi.nix {
-    buildGoModule = __buildGo118ModuleCL417615;
-  };
+  gopass-hibp = callPackage ../tools/security/gopass/hibp.nix { };
 
-  git-credential-gopass = callPackage ../tools/security/gopass/git-credential.nix {
-    buildGoModule = __buildGo118ModuleCL417615;
-  };
+  gopass-jsonapi = callPackage ../tools/security/gopass/jsonapi.nix { };
 
-  gopass-summon-provider = callPackage ../tools/security/gopass/summon.nix {
-    buildGoModule = __buildGo118ModuleCL417615;
-  };
+  git-credential-gopass = callPackage ../tools/security/gopass/git-credential.nix { };
 
-  # custom override for go 1.18 including the revert of CL411617, CL417615.
-  # Can be dropped if/once go 1.18.5 is released with CL417615.
-  # or when staging go 1.18.4 includes the revert.
-  __buildGo118ModuleCL417615 = let
-    fetchBase64Patch = args: (fetchpatch args).overrideAttrs (o: {
-      postFetch = "mv $out p; base64 -d p > $out; " + o.postFetch;
-    });
-  in darwin.apple_sdk_11_0.callPackage ../development/go-modules/generic {
-    go = buildPackages.go_1_18.overrideAttrs (oldAttrs: rec {
-      patches = oldAttrs.patches or [] ++ [
-        # https://go-review.googlesource.com/c/go/+/417615/
-        (fetchBase64Patch {
-          url = "https://go-review.googlesource.com/changes/go~417615/revisions/3/patch";
-          sha256 = "sha256-Gu5eZUwGGch7et75A/BNynbs4VlQUBClVUxjxPkdjOs=";
-        })
-      ];
-    });
-  };
+  gopass-summon-provider = callPackage ../tools/security/gopass/summon.nix { };
 
   gosh = callPackage ../tools/security/gosh { };
 
@@ -2660,6 +2650,14 @@ with pkgs;
 
   goku = callPackage ../os-specific/darwin/goku { };
 
+  kerf   = kerf_1; /* kerf2 is WIP */
+  kerf_1 = callPackage ../development/interpreters/kerf {
+    stdenv = clangStdenv;
+    inherit (darwin.apple_sdk.frameworks)
+      Accelerate CoreGraphics CoreVideo
+    ;
+  };
+
   kwakd = callPackage ../servers/kwakd { };
 
   kwm = callPackage ../os-specific/darwin/kwm { };
@@ -3191,6 +3189,8 @@ with pkgs;
 
   cinny = callPackage ../applications/networking/instant-messengers/cinny { stdenv = stdenvNoCC; };
 
+  cinny-desktop = callPackage ../applications/networking/instant-messengers/cinny-desktop { };
+
   ckbcomp = callPackage ../tools/X11/ckbcomp { };
 
   clac = callPackage ../tools/misc/clac {};
@@ -3518,6 +3518,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  refinery-cli = callPackage ../development/tools/refinery-cli { };
+
   digitemp = callPackage ../tools/misc/digitemp { };
 
   dijo = callPackage ../tools/misc/dijo {
@@ -4380,6 +4382,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  inherit (ocamlPackages) patdiff;
+
   patool = with python3Packages; toPythonApplication patool;
 
   pbgopy = callPackage ../tools/text/pbgopy { };
@@ -4402,6 +4406,8 @@ with pkgs;
 
   piglit = callPackage ../tools/graphics/piglit { };
 
+  pika = callPackage ../applications/graphics/pika { };
+
   playerctl = callPackage ../tools/audio/playerctl { };
 
   pn = callPackage ../tools/text/pn { };
@@ -4490,6 +4496,8 @@ with pkgs;
 
   shellhub-agent = callPackage ../applications/networking/shellhub-agent { };
 
+  shellnoob = callPackage ../tools/security/shellnoob { };
+
   sheesy-cli = callPackage ../tools/security/sheesy-cli {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -4717,7 +4725,7 @@ with pkgs;
 
   bdsync = callPackage ../tools/backup/bdsync { };
 
-  beamerpresenter = libsForQt5.callPackage ../applications/office/beamerpresenter { };
+  beamerpresenter = qt6Packages.callPackage ../applications/office/beamerpresenter { };
 
   beanstalkd = callPackage ../servers/beanstalkd { };
 
@@ -5046,6 +5054,8 @@ with pkgs;
 
   keyd = callPackage ../tools/inputmethods/keyd { };
 
+  twitch-tui = callPackage ../applications/networking/instant-messengers/twitch-tui { };
+
   gebaar-libinput = callPackage ../tools/inputmethods/gebaar-libinput { stdenv = gcc10StdenvCompat; };
 
   kime = callPackage ../tools/inputmethods/kime { };
@@ -5523,6 +5533,8 @@ with pkgs;
     tk = tk-8_5;
   };
 
+  dwdiff = callPackage ../applications/misc/dwdiff { };
+
   picoscope = callPackage ../applications/science/electronics/picoscope { };
 
   picotts = callPackage ../tools/audio/picotts { };
@@ -5851,6 +5863,10 @@ with pkgs;
 
   zabbixctl = callPackage ../tools/misc/zabbixctl { };
 
+  zee = callPackage ../applications/editors/zee {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   zeek = callPackage ../applications/networking/ids/zeek { };
 
   zoekt = callPackage ../tools/text/zoekt { };
@@ -5933,6 +5949,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) AppKit CoreGraphics CoreServices Foundation OpenGL;
   };
 
+  emulsion-palette = callPackage ../applications/graphics/emulsion-palette { };
+
   emv = callPackage ../tools/misc/emv { };
 
   enblend-enfuse = callPackage ../tools/graphics/enblend-enfuse {
@@ -6489,6 +6507,8 @@ with pkgs;
 
   getopt = callPackage ../tools/misc/getopt { };
 
+  getoptions = callPackage ../tools/misc/getoptions { };
+
   gexiv2 = callPackage ../development/libraries/gexiv2 { };
 
   gftp = callPackage ../applications/networking/ftp/gftp {
@@ -7204,8 +7224,7 @@ with pkgs;
     llvmPackages = llvmPackages_9;
   };
 
-  harec = callPackage ../development/compilers/hare/harec.nix { };
-  hare = callPackage ../development/compilers/hare/hare.nix { };
+  harePackages = recurseIntoAttrs (callPackage ../development/compilers/hare { });
 
   ham = pkgs.perlPackages.ham;
 
@@ -7250,6 +7269,8 @@ with pkgs;
 
   heaptrack = libsForQt5.callPackage ../development/tools/profiling/heaptrack {};
 
+  heatshrink = callPackage ../tools/compression/heatshrink { };
+
   heimdall = libsForQt5.callPackage ../tools/misc/heimdall { };
 
   heimdall-gui = heimdall.override { enableGUI = true; };
@@ -7393,6 +7414,8 @@ with pkgs;
 
   bc-decaf = callPackage ../development/libraries/bc-decaf { };
 
+  deckmaster = callPackage ../applications/misc/deckmaster { };
+
   deco = callPackage ../applications/misc/deco { };
 
   decoder = callPackage ../tools/security/decoder { };
@@ -7763,6 +7786,8 @@ with pkgs;
 
   kdigger = callPackage ../tools/security/kdigger { };
 
+  kdiskmark = libsForQt5.callPackage ../tools/filesystems/kdiskmark { };
+
   keepalived = callPackage ../tools/networking/keepalived { };
 
   kexec-tools = callPackage ../os-specific/linux/kexec-tools { };
@@ -8119,7 +8144,7 @@ with pkgs;
 
   motion = callPackage ../applications/video/motion { };
 
-  moz-phab = python3Packages.callPackage ../applications/misc/moz-phab { };
+  mozphab = callPackage ../applications/misc/mozphab { };
 
   mtail = callPackage ../servers/monitoring/mtail { };
 
@@ -8426,6 +8451,8 @@ with pkgs;
 
   limesurvey = callPackage ../servers/limesurvey { };
 
+  linux-exploit-suggester = callPackage ../tools/security/linux-exploit-suggester { };
+
   linuxquota = callPackage ../tools/misc/linuxquota { };
 
   liquidctl = with python3Packages; toPythonApplication liquidctl;
@@ -8480,7 +8507,9 @@ with pkgs;
 
   lshw = callPackage ../tools/system/lshw { };
 
-  lunatic = callPackage ../development/interpreters/lunatic { };
+  lunatic = callPackage ../development/interpreters/lunatic {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   lv = callPackage ../tools/text/lv { };
 
@@ -8569,6 +8598,7 @@ with pkgs;
   mangohud = callPackage ../tools/graphics/mangohud {
     libXNVCtrl = linuxPackages.nvidia_x11.settings.libXNVCtrl;
     mangohud32 = pkgsi686Linux.mangohud;
+    inherit (python3Packages) Mako;
   };
 
   manix = callPackage ../tools/nix/manix {
@@ -8765,6 +8795,8 @@ with pkgs;
 
   mscgen = callPackage ../tools/graphics/mscgen { };
 
+  msfpc = callPackage ../tools/security/msfpc { };
+
   melt = callPackage ../tools/security/melt { };
 
   metabigor = callPackage ../tools/security/metabigor { };
@@ -9250,8 +9282,9 @@ with pkgs;
 
   ola = callPackage ../applications/misc/ola { };
 
-  olive-editor = libsForQt514.callPackage ../applications/video/olive-editor
-    { stdenv = gcc10StdenvCompat;     inherit (darwin.apple_sdk.frameworks) CoreFoundation; };
+  olive-editor = libsForQt514.callPackage ../applications/video/olive-editor {
+    inherit (darwin.apple_sdk.frameworks) CoreFoundation;
+  };
 
   ombi = callPackage ../servers/ombi { };
 
@@ -9346,6 +9379,8 @@ with pkgs;
 
   tinystatus = callPackage ../tools/networking/tinystatus { };
 
+  tuc = callPackage ../tools/text/tuc { };
+
   opensshPackages = dontRecurseIntoAttrs (callPackage ../tools/networking/openssh {});
 
   openssh = opensshPackages.openssh.override {
@@ -9490,6 +9525,8 @@ with pkgs;
 
   padthv1 = libsForQt5.callPackage ../applications/audio/padthv1 { };
 
+  padbuster = callPackage ../tools/security/padbuster { };
+
   page = callPackage ../tools/misc/page { };
 
   PageEdit = libsForQt5.callPackage ../applications/office/PageEdit { };
@@ -9552,6 +9589,8 @@ with pkgs;
 
   pell = callPackage ../applications/misc/pell { };
 
+  perccli = callPackage ../tools/misc/perccli { };
+
   perceptualdiff = callPackage ../tools/graphics/perceptualdiff { };
 
   percona-xtrabackup = percona-xtrabackup_8_0;
@@ -9793,6 +9832,10 @@ with pkgs;
     libpng = libpng12;
   };
 
+  pngpaste = callPackage ../os-specific/darwin/pngpaste {
+    inherit (darwin.apple_sdk.frameworks) AppKit Cocoa;
+  };
+
   pngtools = callPackage ../tools/graphics/pngtools { };
 
   pngpp = callPackage ../development/libraries/png++ { };
@@ -10019,6 +10062,8 @@ with pkgs;
 
   ouch = callPackage ../tools/compression/ouch { };
 
+  outils = callPackage ../tools/misc/outils {};
+
   mpi = openmpi; # this attribute should used to build MPI applications
 
   ucx = callPackage ../development/libraries/ucx {};
@@ -10061,7 +10106,7 @@ with pkgs;
 
   qosmic = libsForQt5.callPackage ../applications/graphics/qosmic { };
 
-  qownnotes = libsForQt514.callPackage ../applications/office/qownnotes { };
+  qownnotes = libsForQt5.callPackage ../applications/office/qownnotes { };
 
   qpdf = callPackage ../development/libraries/qpdf { };
 
@@ -10113,6 +10158,10 @@ with pkgs;
 
   radvd = callPackage ../tools/networking/radvd { };
 
+  rain = callPackage ../development/tools/rain {
+    buildGoModule = buildGo117Module;
+  };
+
   rainbowstream = with python3.pkgs; toPythonApplication rainbowstream;
 
   rambox = callPackage ../applications/networking/instant-messengers/rambox { };
@@ -10666,6 +10715,8 @@ with pkgs;
 
   simplescreenrecorder = libsForQt5.callPackage ../applications/video/simplescreenrecorder { };
 
+  sipexer = callPackage ../tools/networking/sipexer { };
+
   sipsak = callPackage ../tools/networking/sipsak { };
 
   sipvicious = python3Packages.callPackage ../tools/security/sipvicious { };
@@ -10850,6 +10901,8 @@ with pkgs;
 
   stm32loader = with python3Packages; toPythonApplication stm32loader;
 
+  storcli = callPackage ../tools/misc/storcli { };
+
   stremio = qt5.callPackage ../applications/video/stremio { };
 
   sunwait = callPackage ../applications/misc/sunwait { };
@@ -11183,7 +11236,7 @@ with pkgs;
   termcolor = callPackage ../development/libraries/termcolor { };
 
   termscp = callPackage ../tools/networking/termscp {
-    inherit (darwin.apple_sdk.frameworks) Foundation Security;
+    inherit (darwin.apple_sdk.frameworks) AppKit Cocoa Foundation Security;
   };
 
   termius = callPackage ../applications/networking/termius { };
@@ -11298,6 +11351,8 @@ with pkgs;
 
   tlspool = callPackage ../tools/networking/tlspool { };
 
+  tlsx = callPackage ../tools/security/tlsx { };
+
   tmate = callPackage ../tools/misc/tmate { };
 
   tmate-ssh-server = callPackage ../servers/tmate-ssh-server { };
@@ -11776,17 +11831,21 @@ with pkgs;
 
   wbox = callPackage ../tools/networking/wbox {};
 
-  webassemblyjs-cli = nodePackages."@webassemblyjs/cli";
-  webassemblyjs-repl = nodePackages."@webassemblyjs/repl";
+  webassemblyjs-cli = nodePackages."@webassemblyjs/cli-1.11.1";
+  webassemblyjs-repl = nodePackages."@webassemblyjs/repl-1.11.1";
   wasm-strip = nodePackages."@webassemblyjs/wasm-strip";
-  wasm-text-gen = nodePackages."@webassemblyjs/wasm-text-gen";
-  wast-refmt = nodePackages."@webassemblyjs/wast-refmt";
+  wasm-text-gen = nodePackages."@webassemblyjs/wasm-text-gen-1.11.1";
+  wast-refmt = nodePackages."@webassemblyjs/wast-refmt-1.11.1";
 
   wasm-bindgen-cli = callPackage ../development/tools/wasm-bindgen-cli {
     inherit (darwin.apple_sdk.frameworks) Security;
     nodejs = nodejs_latest;
   };
 
+  wasmedge = callPackage ../development/tools/wasmedge {
+    llvmPackages = llvmPackages_12;
+  };
+
   welkin = callPackage ../tools/graphics/welkin {};
 
   wemux = callPackage ../tools/misc/wemux { };
@@ -13048,9 +13107,9 @@ with pkgs;
   clangMultiStdenv = overrideCC stdenv buildPackages.clang_multi;
   multiStdenv = if stdenv.cc.isClang then clangMultiStdenv else gccMultiStdenv;
 
-  gcc_debug = lowPrio (wrapCC (gcc.cc.override {
-    stripped = false;
-  }));
+  gcc_debug = lowPrio (wrapCC (gcc.cc.overrideAttrs (_: {
+    dontStrip = true;
+  })));
 
   gccCrossLibcStdenv = overrideCC stdenv buildPackages.gccCrossStageStatic;
 
@@ -13435,6 +13494,7 @@ with pkgs;
   gcc-arm-embedded-8 = callPackage ../development/compilers/gcc-arm-embedded/8 {};
   gcc-arm-embedded-9 = callPackage ../development/compilers/gcc-arm-embedded/9 {};
   gcc-arm-embedded-10 = callPackage ../development/compilers/gcc-arm-embedded/10 {};
+  gcc-arm-embedded-11 = callPackage ../development/compilers/gcc-arm-embedded/11 {};
   gcc-arm-embedded = gcc-arm-embedded-10;
 
   # Has to match the default gcc so that there are no linking errors when
@@ -13517,6 +13577,9 @@ with pkgs;
 
   remarkable2-toolchain = callPackage ../development/tools/misc/remarkable/remarkable2-toolchain { };
 
+  spicedb     = callPackage ../servers/spicedb { };
+  spicedb-zed = callPackage ../servers/spicedb/zed.nix { };
+
   tacacsplus = callPackage ../servers/tacacsplus { };
 
   tamarin-prover =
@@ -14173,6 +14236,9 @@ with pkgs;
   cargo-outdated = callPackage ../development/tools/rust/cargo-outdated {
     inherit (darwin.apple_sdk.frameworks) Security SystemConfiguration;
   };
+  cargo-pgx = callPackage ../development/tools/rust/cargo-pgx {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
   cargo-release = callPackage ../development/tools/rust/cargo-release {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -14714,7 +14780,7 @@ with pkgs;
     stdenv = clangStdenv;
   };
 
-  jacinda = haskell.lib.compose.justStaticExecutables haskell.packages.ghc923.jacinda;
+  jacinda = haskell.lib.compose.justStaticExecutables haskell.packages.ghc924.jacinda;
 
   janet = callPackage ../development/interpreters/janet {};
 
@@ -14905,6 +14971,8 @@ with pkgs;
   pythonInterpreters = callPackage ./../development/interpreters/python { };
   inherit (pythonInterpreters) python27 python37 python38 python39 python310 python311 python3Minimal pypy27 pypy38 pypy37 rustpython;
 
+  # List of extensions with overrides to apply to all Python package sets.
+  pythonPackagesExtensions = [ ];
   # Python package sets.
   python27Packages = python27.pkgs;
   python37Packages = python37.pkgs;
@@ -15067,8 +15135,15 @@ with pkgs;
 
   sparkleshare = callPackage ../applications/version-management/sparkleshare { };
 
-  spidermonkey_78 = callPackage ../development/interpreters/spidermonkey/78.nix { };
-  spidermonkey_91 = callPackage ../development/interpreters/spidermonkey/91.nix { };
+  spidermonkey_78 = callPackage ../development/interpreters/spidermonkey/78.nix {
+    inherit (darwin) libobjc;
+  };
+  spidermonkey_91 = callPackage ../development/interpreters/spidermonkey/91.nix {
+    inherit (darwin) libobjc;
+  };
+  spidermonkey_102 = callPackage ../development/interpreters/spidermonkey/102.nix {
+    inherit (darwin) libobjc;
+  };
 
   ssm-agent = callPackage ../applications/networking/cluster/ssm-agent { };
   ssm-session-manager-plugin = callPackage ../applications/networking/cluster/ssm-session-manager-plugin { };
@@ -15335,7 +15410,8 @@ with pkgs;
     electron_16
     electron_17
     electron_18
-    electron_19;
+    electron_19
+    electron_20;
 
   autobuild = callPackage ../development/tools/misc/autobuild { };
 
@@ -15696,8 +15772,8 @@ with pkgs;
 
   cmake-format = python3Packages.callPackage ../development/tools/cmake-format { };
 
-  cmake-language-server = python3Packages.callPackage ../development/tools/cmake-language-server {
-    inherit cmake;
+  cmake-language-server = python3Packages.callPackage ../development/tools/misc/cmake-language-server {
+    inherit cmake cmake-format;
   };
 
   # Does not actually depend on Qt 5
@@ -16211,13 +16287,13 @@ with pkgs;
 
   krew = callPackage ../development/tools/krew { };
 
+  kube-bench = callPackage ../tools/security/kube-bench { };
+
   kube-hunter = callPackage ../tools/security/kube-hunter { };
 
   kubeaudit = callPackage ../tools/security/kubeaudit { };
 
-  kubectx = callPackage ../development/tools/kubectx {
-    buildGoModule = buildGo117Module;
-  };
+  kubectx = callPackage ../development/tools/kubectx { };
 
   kube-linter = callPackage ../development/tools/kube-linter { };
 
@@ -16296,6 +16372,8 @@ with pkgs;
       stdenv = overrideCC stdenv llvmPackages_9.clang;
     });
 
+  lurk = callPackage ../development/tools/lurk { };
+
   malt = callPackage ../development/tools/profiling/malt {};
 
   massif-visualizer = libsForQt5.callPackage ../development/tools/analysis/massif-visualizer { };
@@ -16605,6 +16683,8 @@ with pkgs;
 
   sd-local = callPackage ../development/tools/sd-local { };
 
+  seer = libsForQt5.callPackage ../development/tools/misc/seer { };
+
   selenium-server-standalone = callPackage ../development/tools/selenium/server { };
 
   selendroid = callPackage ../development/tools/selenium/selendroid { };
@@ -17422,8 +17502,6 @@ with pkgs;
 
   cutee = callPackage ../development/libraries/cutee { };
 
-  cutelyst = libsForQt5.callPackage ../development/libraries/cutelyst { };
-
   cxxtools = callPackage ../development/libraries/cxxtools { stdenv = gcc10StdenvCompat; };
 
   cwiid = callPackage ../development/libraries/cwiid { };
@@ -17773,10 +17851,7 @@ with pkgs;
 
   ganv = callPackage ../development/libraries/ganv { };
 
-  garble = callPackage ../build-support/go/garble.nix {
-    # pinned due to build failure or vendoring problems. When unpinning double check with: nix-build -A $name.go-modules --rebuild
-    buildGoModule = buildGo117Module;
-  };
+  garble = callPackage ../development/tools/garble { };
 
   gcab = callPackage ../development/libraries/gcab { };
 
@@ -18663,7 +18738,9 @@ with pkgs;
 
   libad9361 = callPackage ../development/libraries/libad9361 { };
 
-  libadwaita = callPackage ../development/libraries/libadwaita { };
+  libadwaita = callPackage ../development/libraries/libadwaita {
+    inherit (pkgs.darwin.apple_sdk.frameworks) AppKit Foundation;
+  };
 
   libaec = callPackage ../development/libraries/libaec { };
 
@@ -20144,6 +20221,8 @@ with pkgs;
 
   mimalloc = callPackage ../development/libraries/mimalloc { };
 
+  miniz = callPackage ../development/libraries/miniz { };
+
   minizip = callPackage ../development/libraries/minizip { };
 
   minizip2 = callPackage ../development/libraries/minizip2 { };
@@ -20543,6 +20622,8 @@ with pkgs;
 
   paperkey = callPackage ../tools/security/paperkey { };
 
+  parsero = callPackage ../tools/security/parsero { };
+
   pcaudiolib = callPackage ../development/libraries/pcaudiolib { };
 
   pcg_c = callPackage ../development/libraries/pcg-c { };
@@ -21487,6 +21568,8 @@ with pkgs;
     buildGoModule = buildGo117Module;
   };
 
+  uncover = callPackage ../tools/security/uncover { };
+
   unibilium = callPackage ../development/libraries/unibilium { };
 
   unicap = callPackage ../development/libraries/unicap {};
@@ -21603,6 +21686,8 @@ with pkgs;
   vtk = vtk_8;
   vtkWithQt5 = vtk_8_withQt5;
 
+  vulkan-caps-viewer = libsForQt5.callPackage ../tools/graphics/vulkan-caps-viewer { };
+
   vulkan-extension-layer = callPackage ../tools/graphics/vulkan-extension-layer { };
   vulkan-headers = callPackage ../development/libraries/vulkan-headers { };
   vulkan-loader = callPackage ../development/libraries/vulkan-loader { inherit (darwin) moltenvk; };
@@ -21954,10 +22039,10 @@ with pkgs;
     stdenv = gcc8Stdenv;
     buildPackages = buildPackages // { stdenv = buildPackages.gcc8Stdenv; };
   });
-  buildGo117Module = callPackage ../development/go-modules/generic {
+  buildGo117Module = callPackage ../build-support/go/module.nix {
     go = buildPackages.go_1_17;
   };
-  buildGo117Package = callPackage ../development/go-packages/generic {
+  buildGo117Package = callPackage ../build-support/go/package.nix {
     go = buildPackages.go_1_17;
   };
 
@@ -21965,13 +22050,24 @@ with pkgs;
   go_1_18 = darwin.apple_sdk_11_0.callPackage ../development/compilers/go/1.18.nix {
     inherit (darwin.apple_sdk_11_0.frameworks) Foundation Security;
   };
-  buildGo118Module = darwin.apple_sdk_11_0.callPackage ../development/go-modules/generic {
+  buildGo118Module = darwin.apple_sdk_11_0.callPackage ../build-support/go/module.nix {
     go = buildPackages.go_1_18;
   };
-  buildGo118Package = darwin.apple_sdk_11_0.callPackage ../development/go-packages/generic {
+  buildGo118Package = darwin.apple_sdk_11_0.callPackage ../build-support/go/package.nix{
     go = buildPackages.go_1_18;
   };
 
+  # requires a newer Apple SDK
+  go_1_19 = darwin.apple_sdk_11_0.callPackage ../development/compilers/go/1.19.nix {
+    inherit (darwin.apple_sdk_11_0.frameworks) Foundation Security;
+  };
+  buildGo119Module = darwin.apple_sdk_11_0.callPackage ../build-support/go/module.nix {
+    go = buildPackages.go_1_19;
+  };
+  buildGo119Package = darwin.apple_sdk_11_0.callPackage ../build-support/go/package.nix {
+    go = buildPackages.go_1_19;
+  };
+
   go2nix = callPackage ../development/tools/go2nix { };
 
   leaps = callPackage ../development/tools/leaps { };
@@ -22231,10 +22327,7 @@ with pkgs;
 
   dcnnt = python3Packages.callPackage ../servers/dcnnt { };
 
-  dendrite = callPackage ../servers/dendrite {
-    # pinned due to build failure or vendoring problems. When unpinning double check with: nix-build -A $name.go-modules --rebuild
-    buildGoModule = buildGo117Module;
-  };
+  dendrite = callPackage ../servers/dendrite { };
 
   dex-oidc = callPackage ../servers/dex { };
 
@@ -22665,7 +22758,6 @@ with pkgs;
   openbgpd = callPackage ../servers/openbgpd { };
 
   openafs_1_8 = callPackage ../servers/openafs/1.8 { tsmbac = null; ncurses = null; };
-  openafs_1_9 = callPackage ../servers/openafs/1.9 { tsmbac = null; ncurses = null; };
   # Current stable release; don't backport release updates!
   openafs = openafs_1_8;
 
@@ -22721,6 +22813,8 @@ with pkgs;
 
   sympa = callPackage ../servers/mail/sympa { };
 
+  syncstorage-rs = callPackage ../servers/syncstorage-rs { };
+
   system-sendmail = lowPrio (callPackage ../servers/mail/system-sendmail { });
 
   # PulseAudio daemons
@@ -22841,7 +22935,10 @@ with pkgs;
   percona-server56 = callPackage ../servers/sql/percona/5.6.x.nix { stdenv = gcc10StdenvCompat; };
   percona-server = percona-server56;
 
-  influxdb = callPackage ../servers/nosql/influxdb { };
+  influxdb = callPackage ../servers/nosql/influxdb {
+    # pinned due to build failure or vendoring problems. When unpinning double check with: nix-build -A $name.go-modules --rebuild
+    buildGoModule = buildGo117Module;
+  };
   influxdb2-server = callPackage ../servers/nosql/influxdb2 { };
   influxdb2-cli = callPackage ../servers/nosql/influxdb2/cli.nix { };
   # For backwards compatibility with older versions of influxdb2,
@@ -22903,9 +23000,7 @@ with pkgs;
 
   check_zfs = callPackage ../servers/monitoring/nagios/plugins/zfs.nix { };
 
-  neo4j = callPackage ../servers/nosql/neo4j {
-    jre = jre8_headless;
-  };
+  neo4j = callPackage ../servers/nosql/neo4j { };
 
   neo4j-desktop = callPackage ../applications/misc/neo4j-desktop { };
 
@@ -23054,6 +23149,7 @@ with pkgs;
   prometheus-wireguard-exporter = callPackage ../servers/monitoring/prometheus/wireguard-exporter.nix {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
+  prometheus-zfs-exporter = callPackage ../servers/monitoring/prometheus/zfs-exporter.nix { };
   prometheus-xmpp-alerts = callPackage ../servers/monitoring/prometheus/xmpp-alerts.nix { };
 
   prometheus-cpp = callPackage ../development/libraries/prometheus-cpp { };
@@ -23204,7 +23300,7 @@ with pkgs;
 
   switcheroo-control = callPackage ../os-specific/linux/switcheroo-control { };
 
-  slurm = callPackage ../servers/computing/slurm { gtk2 = null; };
+  slurm = callPackage ../servers/computing/slurm { };
 
   slurm-spank-stunnel = callPackage ../servers/computing/slurm-spank-stunnel { };
 
@@ -23278,8 +23374,6 @@ with pkgs;
 
   virtiofsd = callPackage ../servers/misc/virtiofsd { };
 
-  virtlyst = libsForQt5.callPackage ../servers/web-apps/virtlyst { };
-
   virtualenv = with python3Packages; toPythonApplication virtualenv;
 
   virtualenv-clone = with python3Packages; toPythonApplication virtualenv-clone;
@@ -23660,10 +23754,7 @@ with pkgs;
 
   gomp = callPackage ../applications/version-management/gomp { };
 
-  gomplate = callPackage ../development/tools/gomplate {
-    # pinned due to build failure or vendoring problems. When unpinning double check with: nix-build -A $name.go-modules --rebuild
-    buildGoModule = buildGo117Module;
-  };
+  gomplate = callPackage ../development/tools/gomplate { };
 
   gpm = callPackage ../servers/gpm {
     ncurses = null;  # Keep curses disabled for lack of value
@@ -23959,6 +24050,10 @@ with pkgs;
     cudaSupport = false;
   };
 
+  librealsense-gui = callPackage ../development/libraries/librealsense {
+    enableGUI = true;
+  };
+
   libsass = callPackage ../development/libraries/libsass { };
 
   libsepol = callPackage ../os-specific/linux/libsepol { };
@@ -25306,6 +25401,8 @@ with pkgs;
 
   oldsindhi = callPackage ../data/fonts/oldsindhi { };
 
+  omni-gtk-theme = callPackage ../data/themes/omni-gtk-theme { };
+
   onestepback = callPackage ../data/themes/onestepback { };
 
   open-dyslexic = callPackage ../data/fonts/open-dyslexic { };
@@ -25957,6 +26054,10 @@ with pkgs;
   aucatctl = callPackage ../applications/audio/aucatctl { };
 
   audacious = libsForQt5.callPackage ../applications/audio/audacious { };
+  audacious-plugins = libsForQt5.callPackage ../applications/audio/audacious/plugins.nix {
+    # Avoid circular dependency
+    audacious = audacious.override { audacious-plugins = null; };
+  };
   audaciousQt5 = audacious;
 
   audacity-gtk2 = callPackage ../applications/audio/audacity { wxGTK = wxGTK31-gtk2; };
@@ -27283,6 +27384,8 @@ with pkgs;
 
   fluxbox = callPackage ../applications/window-managers/fluxbox { };
 
+  hackedbox = callPackage ../applications/window-managers/hackedbox { };
+
   fomp = callPackage ../applications/audio/fomp { };
 
   formatter = callPackage ../applications/misc/formatter { };
@@ -27424,6 +27527,7 @@ with pkgs;
   gitMinimal = git.override {
     withManual = false;
     pythonSupport = false;
+    perlSupport = false;
     withpcre2 = false;
   };
 
@@ -30194,6 +30298,10 @@ with pkgs;
 
   runc = callPackage ../applications/virtualization/runc {};
 
+  rusty-psn = callPackage ../applications/misc/rusty-psn {};
+
+  rusty-psn-gui = rusty-psn.override { withGui = true; };
+
   rymcast = callPackage ../applications/audio/rymcast {
     inherit (gnome) zenity;
   };
@@ -30296,6 +30404,8 @@ with pkgs;
 
   snixembed = callPackage ../applications/misc/snixembed { };
 
+  sommelier = callPackage ../applications/window-managers/sommelier { };
+
   sooperlooper = callPackage ../applications/audio/sooperlooper { };
 
   sops = callPackage ../tools/security/sops { };
@@ -30393,7 +30503,7 @@ with pkgs;
     inherit (xorg) libX11 libXdmcp libpthreadstubs;
   };
 
-  lightdm_gtk_greeter = callPackage ../applications/display-managers/lightdm/gtk-greeter.nix {
+  lightdm-gtk-greeter = callPackage ../applications/display-managers/lightdm/gtk-greeter.nix {
     inherit (xfce) xfce4-dev-tools;
   };
 
@@ -30685,6 +30795,8 @@ with pkgs;
 
   telegram-cli = callPackage ../applications/networking/instant-messengers/telegram/telegram-cli { };
 
+  tg = python3Packages.callPackage ../applications/networking/instant-messengers/telegram/tg { };
+
   telepathy-gabble = callPackage ../applications/networking/instant-messengers/telepathy/gabble { };
 
   telepathy-haze = callPackage ../applications/networking/instant-messengers/telepathy/haze {};
@@ -30793,7 +30905,7 @@ with pkgs;
 
   timelimit = callPackage ../tools/misc/timelimit { };
 
-  timeshift-unwrapped = callPackage ../applications/backup/timeshift/unwrapped.nix { inherit (cinnamon) xapps; };
+  timeshift-unwrapped = callPackage ../applications/backup/timeshift/unwrapped.nix { inherit (cinnamon) xapp; };
 
   timeshift = callPackage ../applications/backup/timeshift { grubPackage = grub2_full; };
 
@@ -31541,7 +31653,7 @@ with pkgs;
   xdotool = callPackage ../tools/X11/xdotool { };
 
   xed-editor = callPackage ../applications/editors/xed-editor {
-    xapps = cinnamon.xapps;
+    xapp = cinnamon.xapp;
   };
 
   xenPackages = recurseIntoAttrs (callPackage ../applications/virtualization/xen/packages.nix {});
@@ -31651,7 +31763,7 @@ with pkgs;
 
   xplayer = callPackage ../applications/video/xplayer {
     inherit (gst_all_1) gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad;
-    inherit (cinnamon) xapps;
+    inherit (cinnamon) xapp;
   };
   libxplayer-plparser = callPackage ../applications/video/xplayer/plparser.nix { };
 
@@ -31791,6 +31903,8 @@ with pkgs;
 
   zim = callPackage ../applications/office/zim { };
 
+  zine = callPackage ../applications/misc/zine { };
+
   zita-ajbridge = callPackage ../applications/audio/zita-ajbridge { };
 
   zita-at1 = callPackage ../applications/audio/zita-at1 { };
@@ -32082,6 +32196,8 @@ with pkgs;
     stdenv = if stdenv.isDarwin then stdenv else llvmPackages_13.stdenv;
   };
 
+  zecwallet-lite = callPackage ../applications/blockchains/zecwallet-lite { };
+
   lightwalletd = callPackage ../applications/blockchains/lightwalletd { };
 
   openethereum = callPackage ../applications/blockchains/openethereum { };
@@ -32503,7 +32619,7 @@ with pkgs;
 
   fish-fillets-ng = callPackage ../games/fish-fillets-ng { };
 
-  fishfight = callPackage ../games/fishfight {
+  jumpy = callPackage ../games/jumpy {
     inherit (xorg) libX11 libXi;
     inherit (darwin.apple_sdk.frameworks) Cocoa OpenGL;
   };
@@ -32922,7 +33038,9 @@ with pkgs;
   quakespasm = callPackage ../games/quakespasm {
     inherit (darwin.apple_sdk.frameworks) Cocoa CoreAudio CoreFoundation IOKit OpenGL;
   };
-  vkquake = callPackage ../games/quakespasm/vulkan.nix { };
+  vkquake = callPackage ../games/quakespasm/vulkan.nix {
+    inherit (darwin) moltenvk;
+  };
 
   ioquake3 = callPackage ../games/quake3/ioquake { };
   quake3e = callPackage ../games/quake3/quake3e { };
@@ -33013,6 +33131,10 @@ with pkgs;
 
   sgtpuzzles = callPackage ../games/sgt-puzzles { };
 
+  sgtpuzzles-mobile = callPackage ../games/sgt-puzzles {
+    isMobile = true;
+  };
+
   shattered-pixel-dungeon = callPackage ../games/shattered-pixel-dungeon { };
 
   shticker-book-unwritten = callPackage ../games/shticker-book-unwritten { };
@@ -33079,6 +33201,8 @@ with pkgs;
 
   protonup = with python3Packages; toPythonApplication protonup;
 
+  steam-rom-manager = callPackage ../tools/games/steam-rom-manager {};
+
   sdlpop = callPackage ../games/sdlpop { };
 
   stepmania = callPackage ../games/stepmania { };
@@ -33132,7 +33256,7 @@ with pkgs;
 
   tibia = pkgsi686Linux.callPackage ../games/tibia { };
 
-  tintin = throw "tintin has been removed due to lack of maintainers";
+  tintin = callPackage ../games/tintin { };
 
   tinyfugue = callPackage ../games/tinyfugue { };
 
@@ -33565,6 +33689,8 @@ with pkgs;
 
   dalfox = callPackage ../tools/security/dalfox { };
 
+  davtest = callPackage ../tools/security/davtest { };
+
   dcm2niix = callPackage ../applications/science/biology/dcm2niix { };
 
   deepdiff = with python3Packages; toPythonApplication deepdiff;
@@ -34435,6 +34561,8 @@ with pkgs;
 
   pynac = callPackage ../applications/science/math/pynac { };
 
+  scalp = callPackage ../applications/science/math/scalp { };
+
   singular = callPackage ../applications/science/math/singular { };
 
   scilab-bin = callPackage ../applications/science/math/scilab-bin {};
@@ -34475,6 +34603,13 @@ with pkgs;
     jre = openjdk11;
   };
 
+  faiss = callPackage ../development/libraries/science/math/faiss {
+    pythonPackages = python3Packages;
+    # faiss wants the "-doxygen" option
+    # available only since swig4
+    swig = swig4;
+  };
+
   fityk = callPackage ../applications/science/misc/fityk { };
 
   galario = callPackage ../development/libraries/galario { };
@@ -35539,8 +35674,6 @@ with pkgs;
     ;
 
   terraform = terraform_1;
-  # deprecated
-  terraform-full = terraform.full;
 
   terraform-providers = recurseIntoAttrs (
     callPackage ../applications/networking/cluster/terraform-providers { }
@@ -35601,6 +35734,8 @@ with pkgs;
 
   thinkfan = callPackage ../tools/system/thinkfan { };
 
+  touchosc = callPackage ../applications/audio/touchosc {};
+
   tp-auto-kbbl = callPackage ../tools/system/tp-auto-kbbl { };
 
   tup = callPackage ../development/tools/build-managers/tup { };
@@ -35613,6 +35748,8 @@ with pkgs;
 
   tvheadend = callPackage ../servers/tvheadend { };
 
+  twiggy = callPackage ../development/tools/twiggy { };
+
   uacme = callPackage ../tools/admin/uacme { };
 
   ums = callPackage ../servers/ums { };
@@ -35660,9 +35797,7 @@ with pkgs;
 
   viewnior = callPackage ../applications/graphics/viewnior { };
 
-  vimUtils = callPackage ../applications/editors/vim/plugins/vim-utils.nix {
-    inherit (lua51Packages) hasLuaModule;
-  };
+  vimUtils = callPackage ../applications/editors/vim/plugins/vim-utils.nix { };
 
   vimPlugins = recurseIntoAttrs (callPackage ../applications/editors/vim/plugins {
     llvmPackages = llvmPackages_6;
@@ -36148,7 +36283,9 @@ with pkgs;
 
   uhubctl = callPackage ../tools/misc/uhubctl {};
 
-  kodelife = callPackage ../applications/graphics/kodelife {};
+  kodelife = callPackage ../applications/graphics/kodelife {
+    inherit (gst_all_1) gstreamer gst-plugins-base;
+  };
 
   bunnyfetch = callPackage ../tools/misc/bunnyfetch {};
 
diff --git a/pkgs/top-level/cuda-packages.nix b/pkgs/top-level/cuda-packages.nix
index 211540260d1..70d57672a0f 100644
--- a/pkgs/top-level/cuda-packages.nix
+++ b/pkgs/top-level/cuda-packages.nix
@@ -58,15 +58,16 @@ let
 
   };
 
-  composedExtension = composeManyExtensions [
+  composedExtension = composeManyExtensions ([
     extraPackagesExtension
     (import ../development/compilers/cudatoolkit/extension.nix)
     (import ../development/compilers/cudatoolkit/redist/extension.nix)
     (import ../development/compilers/cudatoolkit/redist/overrides.nix)
     (import ../development/libraries/science/math/cudnn/extension.nix)
+    (import ../development/libraries/science/math/tensorrt/extension.nix)
     (import ../test/cuda/cuda-samples/extension.nix)
     (import ../test/cuda/cuda-library-samples/extension.nix)
     cutensorExtension
-  ];
+  ]);
 
 in (scope.overrideScope' composedExtension)
diff --git a/pkgs/top-level/darwin-packages.nix b/pkgs/top-level/darwin-packages.nix
index 27023a991c9..8c1e2595250 100644
--- a/pkgs/top-level/darwin-packages.nix
+++ b/pkgs/top-level/darwin-packages.nix
@@ -120,8 +120,10 @@ impure-cmds // appleSourcePackages // chooseLibs // {
     executable = true;
 
     text = ''
-      CODESIGN_ALLOCATE=${targetPrefix}codesign_allocate \
-        ${self.sigtool}/bin/codesign -f -s - "$linkerOutput"
+      if [ "$linkerOutput" != "/dev/null" ]; then
+        CODESIGN_ALLOCATE=${targetPrefix}codesign_allocate \
+          ${self.sigtool}/bin/codesign -f -s - "$linkerOutput"
+      fi
     '';
   };
 
diff --git a/pkgs/top-level/dotnet-packages.nix b/pkgs/top-level/dotnet-packages.nix
index 732fb66731e..7d20bcbde9e 100644
--- a/pkgs/top-level/dotnet-packages.nix
+++ b/pkgs/top-level/dotnet-packages.nix
@@ -2,6 +2,7 @@
 , lib
 , pkgs
 , buildDotnetPackage
+, buildDotnetModule
 , fetchurl
 , fetchFromGitHub
 , fetchNuGet
@@ -124,7 +125,51 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; {
 
   # SOURCE PACKAGES
 
-  Boogie = buildDotnetPackage rec {
+  Boogie = buildDotnetModule rec {
+    pname = "Boogie";
+    version = "2.15.7";
+
+    src = fetchFromGitHub {
+      owner = "boogie-org";
+      repo = "boogie";
+      rev = "v${version}";
+      sha256 = "16kdvkbx2zwj7m43cra12vhczbpj23wyrdnj0ygxf7np7c2aassp";
+    };
+
+    projectFile = [ "Source/Boogie.sln" ];
+    nugetDeps = ../development/dotnet-modules/boogie-deps.nix;
+
+    postInstall = ''
+        mkdir -pv "$out/lib/dotnet/${pname}"
+        ln -sv "${pkgs.z3}/bin/z3" "$out/lib/dotnet/${pname}/z3.exe"
+
+        # so that this derivation can be used as a vim plugin to install syntax highlighting
+        vimdir=$out/share/vim-plugins/boogie
+        install -Dt $vimdir/syntax/ Util/vim/syntax/boogie.vim
+        mkdir $vimdir/ftdetect
+        echo 'au BufRead,BufNewFile *.bpl set filetype=boogie' > $vimdir/ftdetect/bpl.vim
+    '';
+
+    postFixup = ''
+        ln -s "$out/bin/BoogieDriver" "$out/bin/boogie"
+    '';
+
+    meta = with lib; {
+      description = "An intermediate verification language";
+      homepage = "https://github.com/boogie-org/boogie";
+      longDescription = ''
+        Boogie is an intermediate verification language (IVL), intended as a
+        layer on which to build program verifiers for other languages.
+
+        This derivation may be used as a vim plugin to provide syntax highlighting.
+      '';
+      license = licenses.mspl;
+      maintainers = [ maintainers.taktoa ];
+      platforms = with platforms; (linux ++ darwin);
+    };
+  };
+
+  Boogie_2_4_1 = buildDotnetPackage rec {
     pname = "Boogie";
     version = "2.4.1";
 
@@ -192,7 +237,7 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; {
     self' = pkgs.dotnetPackages.override ({
       pkgs = pkgs // { inherit z3; };
     });
-    Boogie = assert self'.Boogie.version == "2.4.1"; self'.Boogie;
+    Boogie = assert self'.Boogie_2_4_1.version == "2.4.1"; self'.Boogie_2_4_1;
   in buildDotnetPackage rec {
     pname = "Dafny";
     version = "2.3.0";
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index c6b36677875..744ddcb879e 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -15,14 +15,14 @@ let
     "integer-simple"
     "native-bignum"
     "ghc902"
-    "ghc923"
+    "ghc924"
     "ghc941"
     "ghcHEAD"
   ];
 
   nativeBignumIncludes = [
     "ghc902"
-    "ghc923"
+    "ghc924"
     "ghc941"
     "ghcHEAD"
   ];
@@ -138,7 +138,7 @@ in {
       buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
       llvmPackages = pkgs.llvmPackages_12;
     };
-    ghc923 = callPackage ../development/compilers/ghc/9.2.3.nix {
+    ghc924 = callPackage ../development/compilers/ghc/9.2.4.nix {
       bootPkgs =
         # aarch64 ghc8107Binary exceeds max output size on hydra
         if stdenv.hostPlatform.isAarch then
@@ -277,9 +277,9 @@ in {
       ghc = bh.compiler.ghc902;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.0.x.nix { };
     };
-    ghc923 = callPackage ../development/haskell-modules {
-      buildHaskellPackages = bh.packages.ghc923;
-      ghc = bh.compiler.ghc923;
+    ghc924 = callPackage ../development/haskell-modules {
+      buildHaskellPackages = bh.packages.ghc924;
+      ghc = bh.compiler.ghc924;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { };
     };
     ghc941 = callPackage ../development/haskell-modules {
diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix
index 7c51912fe8f..7f7c4bb4e9c 100644
--- a/pkgs/top-level/linux-kernels.nix
+++ b/pkgs/top-level/linux-kernels.nix
@@ -405,7 +405,6 @@ in {
     rtw89 = if lib.versionOlder kernel.version "5.16" then callPackage ../os-specific/linux/rtw89 { } else null;
 
     openafs_1_8 = callPackage ../servers/openafs/1.8/module.nix { };
-    openafs_1_9 = callPackage ../servers/openafs/1.9/module.nix { };
     # Current stable release; don't backport release updates!
     openafs = openafs_1_8;
 
diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix
index 53e534811bf..012a4d1e0c7 100644
--- a/pkgs/top-level/lua-packages.nix
+++ b/pkgs/top-level/lua-packages.nix
@@ -104,6 +104,11 @@ in
     };
   };
 
+  nfd = callPackage ../development/lua-modules/nfd {
+    inherit (lib) maintainers;
+    inherit (pkgs.gnome) zenity;
+  };
+
   vicious = luaLib.toLuaModule( stdenv.mkDerivation rec {
     pname = "vicious";
     version = "2.5.1";
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index b6d982a1503..5bc1299ee5c 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -759,10 +759,10 @@ let
 
   Appcpm = buildPerlModule {
     pname = "App-cpm";
-    version = "0.997006";
+    version = "0.997011";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/S/SK/SKAJI/App-cpm-0.997006.tar.gz";
-      sha256 = "1mh4bg141qbch0vdvir2l9533zzm3k8hnqx36iwciwzhvpd9hl9s";
+      url = "mirror://cpan/authors/id/S/SK/SKAJI/App-cpm-0.997011.tar.gz";
+      sha256 = "sha256-YyECxuZ958nP9R1vqg2dA7/vvtNbXMXZaRn3uSAlAck=";
     };
     buildInputs = [ ModuleBuildTiny ];
     propagatedBuildInputs = [ CPAN02PackagesSearch CPANCommonIndex CPANDistnameInfo ClassTiny CommandRunner ExtUtilsInstall ExtUtilsInstallPaths FileCopyRecursive Filepushd HTTPTinyish MenloLegacy Modulecpmfile ModuleCPANfile ParsePMFile ParallelPipes locallib ];
@@ -1521,6 +1521,22 @@ let
     };
   };
 
+  BioPerl = buildPerlPackage {
+    pname = "BioPerl";
+    version = "1.7.8";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/C/CJ/CJFIELDS/BioPerl-1.7.8.tar.gz";
+      sha256 = "c490a3be7715ea6e4305efd9710e5edab82dabc55fd786b6505b550a30d71738";
+    };
+    buildInputs = [ ModuleBuild TestMemoryCycle TestWeaken TestDeep TestWarn TestException TestDifferences ];
+    propagatedBuildInputs = [ DataStag Error Graph HTTPMessage IOString IOStringy IPCRun LWP ListMoreUtils SetScalar TestMost TestRequiresInternet URI XMLDOM XMLLibXML XMLSAX XMLSAXBase XMLSAXWriter XMLTwig XMLWriter YAML DBFile libxml_perl ];
+    meta = {
+      homepage = "https://metacpan.org/release/BioPerl";
+      description = "Perl modules for biology";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   BitVector = buildPerlPackage {
     pname = "Bit-Vector";
     version = "7.4";
@@ -3527,13 +3543,13 @@ let
 
   CommandRunner = buildPerlModule {
     pname = "Command-Runner";
-    version = "0.103";
+    version = "0.200";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/S/SK/SKAJI/Command-Runner-0.103.tar.gz";
-      sha256 = "0f180b5c3b3fc9db7b83d4a5fdd959db34f7d6d2472f817dbf8b4b795a9dc82a";
+      url = "mirror://cpan/authors/id/S/SK/SKAJI/Command-Runner-0.200.tar.gz";
+      sha256 = "sha256-WtJtBhEb/s1TyPW7XeqUvyAl9seOlfbYAS5M+oninyY=";
     };
     buildInputs = [ ModuleBuildTiny ];
-    propagatedBuildInputs = [ CaptureTiny StringShellQuote Win32ShellQuote ];
+    propagatedBuildInputs = [ CaptureTiny Filepushd StringShellQuote Win32ShellQuote ];
     meta = {
       homepage = "https://github.com/skaji/Command-Runner";
       description = "Run external commands and Perl code refs";
@@ -5439,6 +5455,20 @@ let
     };
   };
 
+  DataStag = buildPerlPackage {
+    pname = "Data-Stag";
+    version = "0.14";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/C/CM/CMUNGALL/Data-Stag-0.14.tar.gz";
+      sha256 = "4ab122508d2fb86d171a15f4006e5cf896d5facfa65219c0b243a89906258e59";
+    };
+    propagatedBuildInputs = [ IOString ];
+    meta = {
+      description = "Structured Tags";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   DataStreamBulk = buildPerlPackage {
     pname = "Data-Stream-Bulk";
     version = "0.11";
@@ -9248,10 +9278,10 @@ let
 
   Future = buildPerlModule {
     pname = "Future";
-    version = "0.47";
+    version = "0.48";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/P/PE/PEVANS/Future-0.47.tar.gz";
-      sha256 = "1pmhkhrmvaf8c3jbrfqqhmxjrzcsxdn2q7apj033gwxggland88h";
+      url = "mirror://cpan/authors/id/P/PE/PEVANS/Future-0.48.tar.gz";
+      sha256 = "sha256-D+ixXBQvKjBKMXGKIKEFA6m0TMASw69eN7i34koHUqM=";
     };
     buildInputs = [ TestFatal TestIdentity TestRefcount ];
     meta = {
@@ -9262,12 +9292,12 @@ let
 
   FutureAsyncAwait = buildPerlModule rec {
     pname = "Future-AsyncAwait";
-    version = "0.52";
+    version = "0.58";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/P/PE/PEVANS/Future-AsyncAwait-${version}.tar.gz";
-      sha256 = "0dwij2r51vij91hx808zc2l5q38h55jahzrh73h4rn816jv597yx";
+      url = "mirror://cpan/authors/id/P/PE/PEVANS/Future-AsyncAwait-0.58.tar.gz";
+      sha256 = "sha256-OLtJ9jabBUrAUuaNomR/4i0Io605rgNuJ6KRELtOQi4=";
     };
-    buildInputs = [ TestRefcount ];
+    buildInputs = [ TestRefcount TestFatal ];
     propagatedBuildInputs = [ Future XSParseKeyword XSParseSublike ];
     perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
     meta = {
@@ -9277,6 +9307,23 @@ let
     };
   };
 
+  FutureIO = buildPerlModule {
+    pname = "Future-IO";
+    version = "0.11";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/P/PE/PEVANS/Future-IO-0.11.tar.gz";
+      sha256 = "sha256-dVM2JvgfdoxfIxyXAhBsJbV3KotplcqixYvMSsyRB8k=";
+    };
+    buildInputs = [ TestIdentity ];
+    propagatedBuildInputs = [ Future StructDumb ];
+    preCheck = "rm t/06connect.t"; # this test fails in sandbox
+    meta = {
+      description = "Future-returning IO methods";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.zakame ];
+    };
+  };
+
   GamesSolitaireVerify = buildPerlModule {
     pname = "Games-Solitaire-Verify";
     version = "0.2403";
@@ -11014,10 +11061,10 @@ let
 
   Imager = buildPerlPackage {
     pname = "Imager";
-    version = "1.012";
+    version = "1.019";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/T/TO/TONYC/Imager-1.012.tar.gz";
-      sha256 = "a321c728e3277fd15de842351e69bbef0e2a5a608a31d089e5029b8381e23f21";
+      url = "mirror://cpan/authors/id/T/TO/TONYC/Imager-1.019.tar.gz";
+      sha256 = "sha256-dNRNcBwfFPxLmE+toelVcmtQTC2LBtJl56hh+llDy0g=";
     };
     buildInputs = [ pkgs.freetype pkgs.fontconfig pkgs.libjpeg pkgs.libpng ];
     makeMakerFlags = "--incpath ${pkgs.libjpeg.dev}/include --libpath ${pkgs.libjpeg.out}/lib --incpath ${pkgs.libpng.dev}/include --libpath ${pkgs.libpng.out}/lib";
@@ -11214,14 +11261,14 @@ let
 
   IOAsync = buildPerlModule {
     pname = "IO-Async";
-    version = "0.78";
+    version = "0.801";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/P/PE/PEVANS/IO-Async-0.78.tar.gz";
-      sha256 = "sha256-P7UYhZd7hiGKiepC84yvvOWCO/SPqqLRhaGGwqNYNmw=";
+      url = "mirror://cpan/authors/id/P/PE/PEVANS/IO-Async-0.801.tar.gz";
+      sha256 = "sha256-ieRZuhe3alcrsbS7EgMBVB6MyTJCQXFmI2tsbbDhybk=";
     };
     preCheck = "rm t/50resolver.t"; # this test fails with "Temporary failure in name resolution" in sandbox
     propagatedBuildInputs = [ Future StructDumb ];
-    buildInputs = [ TestFatal TestIdentity TestMetricsAny TestRefcount ];
+    buildInputs = [ FutureIO TestFatal TestIdentity TestMetricsAny TestRefcount ];
     meta = {
       description = "Asynchronous event-driven programming";
       license = with lib.licenses; [ artistic1 gpl1Plus ];
@@ -11230,10 +11277,10 @@ let
 
   IOAsyncSSL = buildPerlModule {
     pname = "IO-Async-SSL";
-    version = "0.22";
+    version = "0.23";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/P/PE/PEVANS/IO-Async-SSL-0.22.tar.gz";
-      sha256 = "0c7363a7f1a08805bd1b2cf2b1a42a950ca71914c2aedbdd985970e011331a21";
+      url = "mirror://cpan/authors/id/P/PE/PEVANS/IO-Async-SSL-0.23.tar.gz";
+      sha256 = "sha256-0vyuFuJ+F6yjkDpK1aK/L7wmjQZRzn8ARabQVG9YTy4=";
     };
     buildInputs = [ TestIdentity ];
     propagatedBuildInputs = [ Future IOAsync IOSocketSSL ];
@@ -13030,12 +13077,12 @@ let
 
   LWP = buildPerlPackage {
     pname = "libwww-perl";
-    version = "6.49";
+    version = "6.67";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/O/OA/OALDERS/libwww-perl-6.49.tar.gz";
-      sha256 = "19k0cg4j4qz005a4ngy48z4r8dc99dxlpq8kvj7qnk15mvgd1r63";
+      url = "mirror://cpan/authors/id/O/OA/OALDERS/libwww-perl-6.67.tar.gz";
+      sha256 = "sha256-lu7ECj/QqhvYNBF75eshxDj3MJTYYaGn5XdPCxImtyM=";
     };
-    propagatedBuildInputs = [ FileListing HTMLParser HTTPCookies HTTPDaemon HTTPNegotiate NetHTTP TryTiny WWWRobotRules ];
+    propagatedBuildInputs = [ FileListing HTMLParser HTTPCookies HTTPNegotiate NetHTTP TryTiny WWWRobotRules ];
     # support cross-compilation by avoiding using `has_module` which does not work in miniperl (it requires B native module)
     postPatch = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
       substituteInPlace Makefile.PL --replace 'if has_module' 'if 0; #'
@@ -13045,7 +13092,7 @@ let
       description = "The World-Wide Web library for Perl";
       license = with licenses; [ artistic1 gpl1Plus ];
     };
-    buildInputs = [ TestFatal TestNeeds TestRequiresInternet ];
+    checkInputs = [ HTTPDaemon TestFatal TestNeeds TestRequiresInternet ];
   };
 
   LWPAuthenOAuth = buildPerlPackage {
@@ -16772,6 +16819,19 @@ let
     };
   };
 
+  NetMQTTSimple = buildPerlPackage {
+    pname = "Net-MQTT-Simple";
+    version = "1.26";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/J/JU/JUERD/Net-MQTT-Simple-1.26.tar.gz";
+      sha256 = "sha256-ERxNNnu1AgXci8AjFfDGuw3mDRwwfQLnUuQuwRtPiLQ=";
+    };
+    meta = {
+      description = "Minimal MQTT version 3 interface";
+      license = with lib.licenses; [ free ];
+    };
+  };
+
   NetOAuth = buildPerlModule {
     pname = "Net-OAuth";
     version = "0.28";
@@ -17533,10 +17593,10 @@ let
 
   ParallelPipes = buildPerlModule {
     pname = "Parallel-Pipes";
-    version = "0.005";
+    version = "0.102";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/S/SK/SKAJI/Parallel-Pipes-0.005.tar.gz";
-      sha256 = "44bd9e2be33d7b314f81c9b886a95d53514689090635f9fad53181f2d3051fd5";
+      url = "mirror://cpan/authors/id/S/SK/SKAJI/Parallel-Pipes-0.102.tar.gz";
+      sha256 = "sha256-JjZfgQXcYGsUC9HUX41w1cMFQ5D3Xk/bdISj5ZHL+pc=";
     };
     buildInputs = [ ModuleBuildTiny ];
     meta = {
@@ -20028,6 +20088,7 @@ let
       license = with lib.licenses; [ artistic1 gpl1Plus ];
     };
     buildInputs = [ TestWarn XMLParserLite ];
+    checkInputs = [ HTTPDaemon ];
   };
 
   Socket6 = buildPerlPackage {
@@ -21101,10 +21162,10 @@ let
 
   SyntaxKeywordTry = buildPerlModule {
     pname = "Syntax-Keyword-Try";
-    version = "0.25";
+    version = "0.27";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/P/PE/PEVANS/Syntax-Keyword-Try-0.25.tar.gz";
-      sha256 = "0xd82gcpcrnmwxsbk7x0ainmyybdc087g6j69hrpy80j0asnq2f5";
+      url = "mirror://cpan/authors/id/P/PE/PEVANS/Syntax-Keyword-Try-0.27.tar.gz";
+      sha256 = "sha256-JG4bAz4/8i/VQgVQ1Lbg1WtDjNy7nTXL6LG1uhV03iM=";
     };
     propagatedBuildInputs = [ XSParseKeyword ];
     perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
@@ -23275,6 +23336,20 @@ let
     };
   };
 
+  TestWeaken = buildPerlPackage {
+    pname = "Test-Weaken";
+    version = "3.022000";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/K/KR/KRYDE/Test-Weaken-3.022000.tar.gz";
+      sha256 = "2631a87121310262e0e96107a6fa0ed69487b7701520773bee5fa9accc295f5b";
+    };
+    propagatedBuildInputs = [ ScalarListUtils ];
+    meta = {
+      description = "Test that freed memory objects were, indeed, freed";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   TestWithoutModule = buildPerlPackage {
     pname = "Test-Without-Module";
     version = "0.20";
@@ -24473,6 +24548,7 @@ let
       IPCShareLite
       JSON
       LWP
+      HTTPDaemon
       pkgs.cairo
       pkgs.mapnik
       pkgs.zlib
@@ -25794,10 +25870,10 @@ let
 
   XSParseKeyword = buildPerlModule {
     pname = "XS-Parse-Keyword";
-    version = "0.12";
+    version = "0.25";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/P/PE/PEVANS/XS-Parse-Keyword-0.12.tar.gz";
-      sha256 = "0crwhcw9ciqndvwvhycd93m6jgyhi77yyj4vi9xfyglpv84p3y68";
+      url = "mirror://cpan/authors/id/P/PE/PEVANS/XS-Parse-Keyword-0.25.tar.gz";
+      sha256 = "sha256-9e2zDPfH8iDQxsMdwetVQDKECpnHwpgxT1zD/vZscsc=";
     };
     buildInputs = [ ExtUtilsCChecker ];
     perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
@@ -25810,10 +25886,10 @@ let
 
   XSParseSublike = buildPerlModule {
     pname = "XS-Parse-Sublike";
-    version = "0.12";
+    version = "0.16";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/P/PE/PEVANS/XS-Parse-Sublike-0.12.tar.gz";
-      sha256 = "08kpia48f1rqc44rvbns97h3jyy2y5c8qlkh4a95v1m0yr5cb22s";
+      url = "mirror://cpan/authors/id/P/PE/PEVANS/XS-Parse-Sublike-0.16.tar.gz";
+      sha256 = "sha256-IV5AmzmFgdJfDv8DeFBjvCUTu4YbrL6Z/m1VNTRvZt8=";
     };
     buildInputs = [ TestFatal ];
     perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix
index b5f3a9b39a3..fd546e026b5 100644
--- a/pkgs/top-level/python-aliases.nix
+++ b/pkgs/top-level/python-aliases.nix
@@ -90,6 +90,7 @@ mapAliases ({
   hdlparse = throw "hdlparse has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; # added 2022-01-18
   hyperkitty = throw "Please use pkgs.mailmanPackages.hyperkitty"; # added 2022-04-29
   IMAPClient = imapclient; # added 2021-10-28
+  imdbpy = throw "imdbpy has been renamed to cinemagoer"; # added 2022-08-08
   ipaddress = throw "ipaddress has been removed because it is no longer required since python 2.7."; # added 2022-05-30
   influxgraph = throw "influxgraph has been removed because it is no longer maintained"; # added 2022-07-10
   jupyter_client = jupyter-client; # added 2021-10-15
@@ -150,6 +151,7 @@ mapAliases ({
   python-lz4 = lz4; # added 2018-06-01
   python_magic = python-magic; # added 2022-05-07
   python_mimeparse = python-mimeparse; # added 2021-10-31
+  python-language-server = throw "python-language-server is no longer maintained, use the python-lsp-server community fork instead."; # Added 2022-08-03
   python-subunit = subunit; # added 2021-09-10
   pytest_xdist = pytest-xdist; # added 2021-01-04
   python_simple_hipchat = python-simple-hipchat; # added 2021-07-21
@@ -174,6 +176,7 @@ mapAliases ({
   smart_open = smart-open; # added 2021-03-14
   smmap2 = throw "smmap2 has been deprecated, use smmap instead."; # added 2020-03-14
   SPARQLWrapper = sparqlwrapper;
+  sphinx_rtd_theme = sphinx-rtd-theme; # added 2022-08-03
   sphinxcontrib_plantuml = sphinxcontrib-plantuml; # added 2021-08-02
   sqlalchemy_migrate = sqlalchemy-migrate; # added 2021-10-28
   SQLAlchemy-ImageAttach = throw "sqlalchemy-imageattach has been removed as it is incompatible with sqlalchemy 1.4 and unmaintained"; # added 2022-04-23
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index ccdf1ba1b85..641cde900b0 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -151,6 +151,8 @@ in {
 
   aafigure = callPackage ../development/python-modules/aafigure { };
 
+  aardwolf = callPackage ../development/python-modules/aardwolf { };
+
   abodepy = callPackage ../development/python-modules/abodepy { };
 
   absl-py = callPackage ../development/python-modules/absl-py { };
@@ -269,6 +271,8 @@ in {
 
   aioazuredevops = callPackage ../development/python-modules/aioazuredevops { };
 
+  aioblescan = callPackage ../development/python-modules/aioblescan { };
+
   aiocache = callPackage ../development/python-modules/aiocache { };
 
   aiocoap = callPackage ../development/python-modules/aiocoap { };
@@ -287,6 +291,8 @@ in {
 
   aioeagle = callPackage ../development/python-modules/aioeagle { };
 
+  aioecowitt = callPackage ../development/python-modules/aioecowitt { };
+
   aioemonitor = callPackage ../development/python-modules/aioemonitor { };
 
   aioesphomeapi = callPackage ../development/python-modules/aioesphomeapi { };
@@ -327,6 +333,8 @@ in {
 
   aioitertools = callPackage ../development/python-modules/aioitertools { };
 
+  aiobiketrax = callPackage ../development/python-modules/aiobiketrax { };
+
   aiobotocore = callPackage ../development/python-modules/aiobotocore { };
 
   aiobroadlink = callPackage ../development/python-modules/aiobroadlink { };
@@ -363,6 +371,8 @@ in {
 
   aiomusiccast = callPackage ../development/python-modules/aiomusiccast { };
 
+  aiomysensors = callPackage ../development/python-modules/aiomysensors { };
+
   aiomysql = callPackage ../development/python-modules/aiomysql { };
 
   aionanoleaf = callPackage ../development/python-modules/aionanoleaf { };
@@ -373,6 +383,8 @@ in {
 
   aiooncue = callPackage ../development/python-modules/aiooncue { };
 
+  aioopenexchangerates = callPackage ../development/python-modules/aioopenexchangerates { };
+
   aiopg = callPackage ../development/python-modules/aiopg { };
 
   aioprocessing = callPackage ../development/python-modules/aioprocessing { };
@@ -399,6 +411,8 @@ in {
 
   aiorpcx = callPackage ../development/python-modules/aiorpcx { };
 
+  aiortm = callPackage ../development/python-modules/aiortm { };
+
   aiorun = callPackage ../development/python-modules/aiorun { };
 
   aiosenseme = callPackage ../development/python-modules/aiosenseme { };
@@ -619,10 +633,14 @@ in {
 
   apycula = callPackage ../development/python-modules/apycula { };
 
+  aqipy-atmotech = callPackage ../development/python-modules/aqipy-atmotech { };
+
   aqualogic = callPackage ../development/python-modules/aqualogic { };
 
   arabic-reshaper = callPackage ../development/python-modules/arabic-reshaper { };
 
+  arc4 = callPackage ../development/python-modules/arc4 { };
+
   arcam-fmj = callPackage ../development/python-modules/arcam-fmj { };
 
   archinfo = callPackage ../development/python-modules/archinfo { };
@@ -1235,6 +1253,8 @@ in {
 
   beautifultable = callPackage ../development/python-modules/beautifultable { };
 
+  bech32 = callPackage ../development/python-modules/bech32 { };
+
   bedup = callPackage ../development/python-modules/bedup { };
 
   behave = callPackage ../development/python-modules/behave { };
@@ -1345,6 +1365,10 @@ in {
 
   bluepy-devices = callPackage ../development/python-modules/bluepy-devices { };
 
+  bluetooth-adapters = callPackage ../development/python-modules/bluetooth-adapters { };
+
+  bluetooth-sensor-state-data = callPackage ../development/python-modules/bluetooth-sensor-state-data { };
+
   blurhash = callPackage ../development/python-modules/blurhash { };
 
   bme280spi = callPackage ../development/python-modules/bme280spi { };
@@ -1522,6 +1546,8 @@ in {
 
   caldav = callPackage ../development/python-modules/caldav { };
 
+  callee = callPackage ../development/python-modules/callee { };
+
   calmjs-parse = callPackage ../development/python-modules/calmjs-parse { };
 
   can = callPackage ../development/python-modules/can { };
@@ -1696,6 +1722,8 @@ in {
 
   ci-py = callPackage ../development/python-modules/ci-py { };
 
+  cinemagoer = callPackage ../development/python-modules/cinemagoer { };
+
   circuit-webhook = callPackage ../development/python-modules/circuit-webhook { };
 
   circuitbreaker = callPackage ../development/python-modules/circuitbreaker { };
@@ -1888,6 +1916,8 @@ in {
 
   colorthief = callPackage ../development/python-modules/colorthief { };
 
+  colorzero = callPackage ../development/python-modules/colorzero { };
+
   colour = callPackage ../development/python-modules/colour { };
 
   cometblue-lite = callPackage ../development/python-modules/cometblue-lite { };
@@ -1910,6 +1940,8 @@ in {
 
   configargparse = callPackage ../development/python-modules/configargparse { };
 
+  configclass = callPackage ../development/python-modules/configclass { };
+
   configobj = callPackage ../development/python-modules/configobj { };
 
   configparser = callPackage ../development/python-modules/configparser { };
@@ -2025,6 +2057,10 @@ in {
     inherit (pkgs.darwin.apple_sdk.frameworks) Security;
   };
 
+  cryptolyzer = callPackage ../development/python-modules/cryptolyzer { };
+
+  cryptoparser = callPackage ../development/python-modules/cryptoparser { };
+
   crytic-compile = callPackage ../development/python-modules/crytic-compile { };
 
   csrmesh  = callPackage ../development/python-modules/csrmesh { };
@@ -2218,6 +2254,8 @@ in {
 
   debugpy = callPackage ../development/python-modules/debugpy { };
 
+  debuglater = callPackage ../development/python-modules/debuglater { };
+
   decli = callPackage ../development/python-modules/decli { };
 
   decorator = callPackage ../development/python-modules/decorator { };
@@ -2382,7 +2420,7 @@ in {
 
   django_compat = callPackage ../development/python-modules/django-compat { };
 
-  django_compressor = callPackage ../development/python-modules/django_compressor { };
+  django-compressor = callPackage ../development/python-modules/django-compressor { };
 
   django-configurations = callPackage ../development/python-modules/django-configurations { };
 
@@ -2609,6 +2647,8 @@ in {
 
   doit = callPackage ../development/python-modules/doit { };
 
+  doit-py = callPackage ../development/python-modules/doit-py { };
+
   dominate = callPackage ../development/python-modules/dominate { };
 
   doorbirdpy = callPackage ../development/python-modules/doorbirdpy { };
@@ -2697,6 +2737,8 @@ in {
 
   dvc-render = callPackage ../development/python-modules/dvc-render {  };
 
+  dvc-task = callPackage ../development/python-modules/dvc-task {  };
+
   dvclive = callPackage ../development/python-modules/dvclive {  };
 
   dwdwfsapi = callPackage ../development/python-modules/dwdwfsapi { };
@@ -2896,6 +2938,8 @@ in {
 
   eth-utils = callPackage ../development/python-modules/eth-utils { };
 
+  etils = callPackage ../development/python-modules/etils { };
+
   etuples = callPackage ../development/python-modules/etuples { };
 
   et_xmlfile = callPackage ../development/python-modules/et_xmlfile { };
@@ -2988,6 +3032,11 @@ in {
 
   factory_boy = callPackage ../development/python-modules/factory_boy { };
 
+  faiss = toPythonModule (pkgs.faiss.override {
+    pythonSupport = true;
+    pythonPackages = self;
+  });
+
   fake-useragent = callPackage ../development/python-modules/fake-useragent { };
 
   faker = callPackage ../development/python-modules/faker { };
@@ -3420,6 +3469,8 @@ in {
     pythonPackages = self;
   });
 
+  galois = callPackage ../development/python-modules/galois { };
+
   gamble = callPackage ../development/python-modules/gamble { };
 
   gaphas = callPackage ../development/python-modules/gaphas { };
@@ -3754,10 +3805,14 @@ in {
 
   gorilla = callPackage ../development/python-modules/gorilla { };
 
+  govee-ble = callPackage ../development/python-modules/govee-ble { };
+
   goveelights = callPackage ../development/python-modules/goveelights { };
 
   gpapi = callPackage ../development/python-modules/gpapi { };
 
+  gpiozero = callPackage ../development/python-modules/gpiozero { };
+
   gplaycli = callPackage ../development/python-modules/gplaycli { };
 
   gpgme = toPythonModule (pkgs.gpgme.override {
@@ -4054,6 +4109,8 @@ in {
 
   holoviews = callPackage ../development/python-modules/holoviews { };
 
+  home-assistant-bluetooth = callPackage ../development/python-modules/home-assistant-bluetooth { };
+
   homeassistant-pyozw = callPackage ../development/python-modules/homeassistant-pyozw { };
 
   homeconnect = callPackage ../development/python-modules/homeconnect { };
@@ -4272,8 +4329,6 @@ in {
 
   imbalanced-learn = callPackage ../development/python-modules/imbalanced-learn { };
 
-  imdbpy = callPackage ../development/python-modules/imdbpy { };
-
   img2pdf = callPackage ../development/python-modules/img2pdf { };
 
   imgaug = callPackage ../development/python-modules/imgaug { };
@@ -4328,6 +4383,8 @@ in {
 
   injector = callPackage ../development/python-modules/injector { };
 
+  inkbird-ble = callPackage ../development/python-modules/inkbird-ble { };
+
   inkex = callPackage ../development/python-modules/inkex { };
 
   inotify = callPackage ../development/python-modules/inotify { };
@@ -4713,6 +4770,8 @@ in {
 
   justbytes = callPackage ../development/python-modules/justbytes { };
 
+  justnimbus = callPackage ../development/python-modules/justnimbus { };
+
   jwcrypto = callPackage ../development/python-modules/jwcrypto { };
 
   jxmlease = callPackage ../development/python-modules/jxmlease { };
@@ -5095,6 +5154,8 @@ in {
 
   line_profiler = callPackage ../development/python-modules/line_profiler { };
 
+  lingua = callPackage ../development/python-modules/lingua { };
+
   linkify-it-py = callPackage ../development/python-modules/linkify-it-py { };
 
   linode-api = callPackage ../development/python-modules/linode-api { };
@@ -5416,6 +5477,8 @@ in {
 
   mergedeep = callPackage ../development/python-modules/mergedeep { };
 
+  mergedict = callPackage ../development/python-modules/mergedict { };
+
   merkletools = callPackage ../development/python-modules/merkletools { };
 
   meross-iot = callPackage ../development/python-modules/meross-iot { };
@@ -5443,6 +5506,8 @@ in {
 
   meteoalertapi = callPackage ../development/python-modules/meteoalertapi { };
 
+  meteocalc = callPackage ../development/python-modules/meteocalc { };
+
   meteofrance-api = callPackage ../development/python-modules/meteofrance-api { };
 
   mezzanine = callPackage ../development/python-modules/mezzanine { };
@@ -5545,6 +5610,8 @@ in {
 
   mnist = callPackage ../development/python-modules/mnist { };
 
+  moat-ble = callPackage ../development/python-modules/moat-ble { };
+
   mocket = callPackage ../development/python-modules/mocket { };
 
   mock = callPackage ../development/python-modules/mock { };
@@ -5872,6 +5939,8 @@ in {
 
   nextcord = callPackage ../development/python-modules/nextcord { };
 
+  nextdns = callPackage ../development/python-modules/nextdns { };
+
   nftables = toPythonModule (pkgs.nftables.override {
     python3 = python;
     withPython = true;
@@ -6733,6 +6802,8 @@ in {
 
   python-ecobee-api = callPackage ../development/python-modules/python-ecobee-api { };
 
+  python-flirt = callPackage ../development/python-modules/python-flirt { };
+
   python-glanceclient = callPackage ../development/python-modules/python-glanceclient { };
 
   python-google-nest = callPackage ../development/python-modules/python-google-nest { };
@@ -7101,6 +7172,8 @@ in {
 
   py-tes = callPackage ../development/python-modules/py-tes { };
 
+  py-tree-sitter = callPackage ../development/python-modules/py-tree-sitter { };
+
   py-ubjson = callPackage ../development/python-modules/py-ubjson { };
 
   py-zabbix = callPackage ../development/python-modules/py-zabbix { };
@@ -7147,6 +7220,8 @@ in {
 
   pyarlo = callPackage ../development/python-modules/pyarlo { };
 
+  pyarr = callPackage ../development/python-modules/pyarr { };
+
   pyarrow = callPackage ../development/python-modules/pyarrow {
     inherit (pkgs) arrow-cpp cmake;
   };
@@ -7345,6 +7420,8 @@ in {
 
   pydevccu = callPackage ../development/python-modules/pydevccu { };
 
+  pydevd = callPackage ../development/python-modules/pydevd { };
+
   pydexcom = callPackage ../development/python-modules/pydexcom { };
 
   pydicom = callPackage ../development/python-modules/pydicom { };
@@ -7638,6 +7715,8 @@ in {
 
   pykoplenti = callPackage ../development/python-modules/pykoplenti { };
 
+  pykostalpiko = callPackage ../development/python-modules/pykostalpiko { };
+
   pykulersky = callPackage ../development/python-modules/pykulersky { };
 
   pykwalify = callPackage ../development/python-modules/pykwalify { };
@@ -7770,6 +7849,8 @@ in {
 
   pymetno = callPackage ../development/python-modules/pymetno { };
 
+  pymicrobot = callPackage ../development/python-modules/pymicrobot { };
+
   pymitv = callPackage ../development/python-modules/pymitv { };
 
   pymfy = callPackage ../development/python-modules/pymfy { };
@@ -8170,6 +8251,12 @@ in {
 
   pysigma = callPackage ../development/python-modules/pysigma { };
 
+  pysigma-backend-elasticsearch = callPackage ../development/python-modules/pysigma-backend-elasticsearch { };
+
+  pysigma-backend-opensearch = callPackage ../development/python-modules/pysigma-backend-opensearch { };
+
+  pysigma-backend-qradar = callPackage ../development/python-modules/pysigma-backend-qradar { };
+
   pysigma-backend-splunk = callPackage ../development/python-modules/pysigma-backend-splunk { };
 
   pysigma-backend-insightidr = callPackage ../development/python-modules/pysigma-backend-insightidr { };
@@ -8636,8 +8723,6 @@ in {
 
   python_keyczar = callPackage ../development/python-modules/python_keyczar { };
 
-  python-language-server = callPackage ../development/python-modules/python-language-server { };
-
   python-ldap-test = callPackage ../development/python-modules/python-ldap-test { };
 
   python-Levenshtein = callPackage ../development/python-modules/python-levenshtein { };
@@ -8783,6 +8868,8 @@ in {
 
   python-stdnum = callPackage ../development/python-modules/python-stdnum { };
 
+  python-telegram = callPackage ../development/python-modules/python-telegram { };
+
   python-telegram-bot = callPackage ../development/python-modules/python-telegram-bot { };
 
   python-toolbox = callPackage ../development/python-modules/python-toolbox { };
@@ -9058,6 +9145,8 @@ in {
 
   qimage2ndarray = callPackage ../development/python-modules/qimage2ndarray { };
 
+  qingping-ble = callPackage ../development/python-modules/qingping-ble { };
+
   qiskit = callPackage ../development/python-modules/qiskit { };
 
   qiskit-aer = callPackage ../development/python-modules/qiskit-aer { };
@@ -9681,6 +9770,10 @@ in {
 
   sense-energy = callPackage ../development/python-modules/sense-energy { };
 
+  sensor-state-data = callPackage ../development/python-modules/sensor-state-data { };
+
+  sensorpush-ble = callPackage ../development/python-modules/sensorpush-ble { };
+
   sentencepiece = callPackage ../development/python-modules/sentencepiece {
     inherit (pkgs) sentencepiece;
   };
@@ -10054,6 +10147,8 @@ in {
 
   sphinx-external-toc = callPackage ../development/python-modules/sphinx-external-toc { };
 
+  sphinx-fortran = callPackage ../development/python-modules/sphinx-fortran { };
+
   sphinx-jupyterbook-latex = callPackage ../development/python-modules/sphinx-jupyterbook-latex { };
 
   sphinx-multitoc-numbering = callPackage ../development/python-modules/sphinx-multitoc-numbering { };
@@ -10144,7 +10239,7 @@ in {
 
   sphinx_pypi_upload = callPackage ../development/python-modules/sphinx_pypi_upload { };
 
-  sphinx_rtd_theme = callPackage ../development/python-modules/sphinx_rtd_theme { };
+  sphinx-rtd-theme = callPackage ../development/python-modules/sphinx-rtd-theme { };
 
   sphinx-serve = callPackage ../development/python-modules/sphinx-serve { };
 
@@ -10508,6 +10603,8 @@ in {
 
   tensorly = callPackage ../development/python-modules/tensorly { };
 
+  tensorrt = callPackage ../development/python-modules/tensorrt { };
+
   tellduslive = callPackage ../development/python-modules/tellduslive { };
 
   termcolor = callPackage ../development/python-modules/termcolor { };
@@ -11367,6 +11464,8 @@ in {
 
   wget = callPackage ../development/python-modules/wget { };
 
+  whatthepatch = callPackage ../development/python-modules/whatthepatch { };
+
   wheel = callPackage ../development/python-modules/wheel { };
 
   wheel-filename = callPackage ../development/python-modules/wheel-filename { };
@@ -11474,7 +11573,7 @@ in {
 
   xapp = callPackage ../development/python-modules/xapp {
     inherit (pkgs) gtk3 gobject-introspection polkit;
-    inherit (pkgs.cinnamon) xapps;
+    inherit (pkgs.cinnamon) xapp;
   };
 
   xarray = callPackage ../development/python-modules/xarray { };
@@ -11503,6 +11602,8 @@ in {
 
   xhtml2pdf = callPackage ../development/python-modules/xhtml2pdf { };
 
+  xiaomi-ble = callPackage ../development/python-modules/xiaomi-ble { };
+
   xkbcommon = callPackage ../development/python-modules/xkbcommon { };
 
   xkcdpass = callPackage ../development/python-modules/xkcdpass { };
@@ -11579,6 +11680,8 @@ in {
 
   yalexs = callPackage ../development/python-modules/yalexs { };
 
+  yalexs-ble = callPackage ../development/python-modules/yalexs-ble { };
+
   yamale = callPackage ../development/python-modules/yamale { };
 
   yamlfix = callPackage ../development/python-modules/yamlfix { };
@@ -11667,6 +11770,8 @@ in {
     inherit python;
   })).python;
 
+  zadnegoale = callPackage ../development/python-modules/zadnegoale { };
+
   zake = callPackage ../development/python-modules/zake { };
 
   zarr = callPackage ../development/python-modules/zarr { };
diff --git a/pkgs/top-level/release-haskell.nix b/pkgs/top-level/release-haskell.nix
index 6ab31c74747..ef82c54dda9 100644
--- a/pkgs/top-level/release-haskell.nix
+++ b/pkgs/top-level/release-haskell.nix
@@ -52,7 +52,7 @@ let
     ghc884
     ghc8107
     ghc902
-    ghc923
+    ghc924
   ];
 
   # packagePlatforms applied to `haskell.packages.*`
@@ -331,8 +331,8 @@ let
               ;
             };
 
-            haskell.packages.native-bignum.ghc923 = {
-              inherit (packagePlatforms pkgs.pkgsStatic.haskell.packages.native-bignum.ghc923)
+            haskell.packages.native-bignum.ghc924 = {
+              inherit (packagePlatforms pkgs.pkgsStatic.haskell.packages.native-bignum.ghc924)
                 hello
                 lens
                 random
@@ -382,7 +382,7 @@ let
       weeder = [
         compilerNames.ghc8107
         compilerNames.ghc902
-        compilerNames.ghc923
+        compilerNames.ghc924
       ];
       purescript-cst = [
         compilerNames.ghc8107
@@ -456,11 +456,11 @@ let
           jobs.pkgsMusl.haskell.compiler.ghc884
           jobs.pkgsMusl.haskell.compiler.ghc8107
           jobs.pkgsMusl.haskell.compiler.ghc902
-          jobs.pkgsMusl.haskell.compiler.ghc923
+          jobs.pkgsMusl.haskell.compiler.ghc924
           jobs.pkgsMusl.haskell.compiler.ghcHEAD
           jobs.pkgsMusl.haskell.compiler.integer-simple.ghc8107
           jobs.pkgsMusl.haskell.compiler.native-bignum.ghc902
-          jobs.pkgsMusl.haskell.compiler.native-bignum.ghc923
+          jobs.pkgsMusl.haskell.compiler.native-bignum.ghc924
           jobs.pkgsMusl.haskell.compiler.native-bignum.ghcHEAD
         ];
       };
@@ -476,7 +476,7 @@ let
         };
         constituents = accumulateDerivations [
           jobs.pkgsStatic.haskellPackages
-          jobs.pkgsStatic.haskell.packages.native-bignum.ghc923
+          jobs.pkgsStatic.haskell.packages.native-bignum.ghc924
         ];
       };
     }